/* کدیفای 1.0.3 bundled front-end styles. Source files are retained for development. */

/* ===== main.css ===== */

:root {
  --bg: #0b0f17;
  --bg-soft: #0e1420;
  --surface: #111827;
  --surface-2: #162033;
  --surface-3: #1b273b;
  --text: #f8fafc;
  --muted: #9aa8bc;
  --muted-2: #6f7d92;
  --line: rgba(148, 163, 184, .16);
  --line-strong: rgba(148, 163, 184, .27);
  --primary: #8b5cf6;
  --primary-2: #a78bfa;
  --cyan: #22d3ee;
  --lime: #a3e635;
  --success: #34d399;
  --warning: #fbbf24;
  --danger: #fb7185;
  --container: 1180px;
  --radius-sm: 12px;
  --radius: 20px;
  --radius-lg: 30px;
  --shadow: 0 24px 70px rgba(0, 0, 0, .28);
  --font: IRANYekanX, "Vazirmatn", Tahoma, Arial, sans-serif;
  --ease: cubic-bezier(.2, .8, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; color-scheme: dark; }
body {
  margin: 0;
  direction: rtl;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.85;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}
body.modal-open, body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; vertical-align: middle; }
a { color: inherit; text-decoration: none; transition: color .25s var(--ease), opacity .25s var(--ease), transform .25s var(--ease); }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: rgba(139, 92, 246, .45); color: #fff; }
:focus-visible { outline: 3px solid rgba(34, 211, 238, .58); outline-offset: 3px; }

.site-shell { min-height: 100vh; position: relative; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.narrow-container { width: min(calc(100% - 40px), 800px); margin-inline: auto; }
.site-main { min-height: 60vh; }
.section { padding: 104px 0; position: relative; }
.full-span { grid-column: 1 / -1; }

.screen-reader-text, .skip-link:not(:focus) {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px;
  overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.skip-link:focus { position: fixed; top: 12px; right: 12px; z-index: 10000; background: #fff; color: #111; padding: 10px 15px; border-radius: 10px; }
.codify-icon { flex: 0 0 auto; }

/* Header */
.site-header {
  position: fixed; inset: 18px 0 auto; z-index: 1000; transition: transform .35s var(--ease), background .3s, box-shadow .3s;
}
.site-header.is-scrolled .header-inner {
  background: rgba(11, 15, 23, .88); border-color: rgba(148, 163, 184, .22); box-shadow: 0 16px 42px rgba(0,0,0,.26);
}
.site-header.is-hidden { transform: translateY(-130%); }
.header-inner {
  height: 72px; padding: 0 14px 0 12px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px;
  background: rgba(14, 20, 32, .72); border: 1px solid var(--line); border-radius: 22px; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}
.brand, .custom-logo-link { display: inline-flex; align-items: center; gap: 11px; min-width: max-content; }
.custom-logo { max-height: 44px; width: auto; }
.brand-mark { width: 42px; height: 42px; filter: drop-shadow(0 8px 18px rgba(139,92,246,.3)); }
.brand-copy { display: grid; line-height: 1.25; }
.brand-copy strong { font-size: 17px; font-weight: 900; letter-spacing: -.3px; }
.brand-copy small { color: var(--muted); font-size: 10px; margin-top: 4px; }
.primary-nav { justify-self: center; }
.nav-list { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.nav-list > li { position: relative; }
.nav-list > li > a { display: flex; align-items: center; padding: 10px 13px; color: #d8dfeb; border-radius: 11px; font-size: 14px; font-weight: 600; }
.nav-list > li > a:hover, .nav-list > .current-menu-item > a, .nav-list > .current_page_item > a { color: #fff; background: rgba(255,255,255,.06); }
.nav-list .sub-menu { position: absolute; top: calc(100% + 10px); right: 0; min-width: 210px; margin: 0; padding: 9px; list-style: none; background: rgba(17,24,39,.96); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .25s var(--ease); }
.nav-list li:hover > .sub-menu, .nav-list li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.nav-list .sub-menu a { display: block; padding: 9px 10px; border-radius: 9px; font-size: 13px; color: var(--muted); }
.nav-list .sub-menu a:hover { background: rgba(255,255,255,.05); color: #fff; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.icon-button { width: 43px; height: 43px; padding: 0; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.035); cursor: pointer; transition: .25s var(--ease); }
.icon-button:hover { background: rgba(255,255,255,.09); border-color: var(--line-strong); transform: translateY(-1px); }
.menu-toggle { display: none; }
.menu-icon-close { display: none; }
.menu-open .menu-icon-open { display: none; }
.menu-open .menu-icon-close { display: inline-flex; }

/* Buttons */
.button { min-height: 44px; padding: 10px 17px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid transparent; border-radius: 13px; font-weight: 750; font-size: 14px; cursor: pointer; transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s, border-color .25s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #fff; background: linear-gradient(135deg, var(--primary), #6d45e3); box-shadow: 0 11px 28px rgba(139,92,246,.24), inset 0 1px 0 rgba(255,255,255,.22); }
.button-primary:hover { box-shadow: 0 16px 34px rgba(139,92,246,.35), inset 0 1px 0 rgba(255,255,255,.25); }
.button-ghost { color: #e7ebf2; background: rgba(255,255,255,.045); border-color: var(--line); }
.button-ghost:hover { background: rgba(255,255,255,.085); border-color: var(--line-strong); }
.button-light { color: #151022; background: #fff; box-shadow: 0 16px 35px rgba(15, 23, 42, .22); }
.button-light:hover { background: #f3efff; }
.button-large { min-height: 52px; padding-inline: 22px; border-radius: 15px; }
.button-block { width: 100%; }
.round-link { width: 42px; height: 42px; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.045); }
.round-link:hover { background: var(--primary); border-color: var(--primary); transform: translateX(-3px); }
.text-link { display: inline-flex; align-items: center; gap: 7px; color: #c8b8ff; font-weight: 700; font-size: 14px; }
.text-link:hover { color: var(--cyan); gap: 11px; }

/* Hero */
.hero-section { min-height: 840px; padding: 190px 0 100px; position: relative; display: grid; align-items: center; overflow: hidden; background: radial-gradient(circle at 75% 20%, rgba(139,92,246,.12), transparent 36%), radial-gradient(circle at 20% 76%, rgba(34,211,238,.07), transparent 30%); }
.hero-grid-bg, .cta-grid-bg { position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(148,163,184,.045) 1px, transparent 1px), linear-gradient(90deg,rgba(148,163,184,.045) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom, black, transparent 88%); }
.hero-grid-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,var(--bg),transparent 18%,transparent 82%,var(--bg)); }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(1px); opacity: .55; pointer-events: none; }
.hero-orb-one { width: 420px; height: 420px; left: -240px; top: 110px; border: 1px solid rgba(34,211,238,.18); box-shadow: inset 0 0 80px rgba(34,211,238,.04); }
.hero-orb-two { width: 310px; height: 310px; right: 48%; bottom: -230px; border: 1px solid rgba(139,92,246,.22); }
.hero-layout { position: relative; z-index: 2; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 74px; }
.hero-copy h1 { max-width: 680px; margin: 20px 0 22px; font-size: clamp(2.35rem, 4.9vw, 4.45rem); line-height: 1.24; letter-spacing: -2px; font-weight: 950; text-wrap: balance; }
.hero-copy h1::selection { color: #fff; }
.hero-copy p { max-width: 650px; margin: 0; color: #b1bdce; font-size: clamp(1rem, 1.4vw, 1.13rem); line-height: 2; }
.hero-kicker, .eyebrow { display: inline-flex; align-items: center; gap: 8px; color: #c9bcff; font-size: 12px; font-weight: 800; letter-spacing: .1px; }
.hero-kicker { padding: 8px 11px; border: 1px solid rgba(139,92,246,.25); border-radius: 999px; background: rgba(139,92,246,.08); }
.live-dot, .success-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 5px rgba(52,211,153,.11); animation: pulse 2.4s infinite; }
.hero-kicker-arrow { color: var(--cyan); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.hero-trust { display: flex; align-items: center; gap: 13px; margin-top: 42px; color: var(--muted); }
.hero-trust > div:not(.avatar-stack) { display: grid; line-height: 1.35; }
.hero-trust strong { color: #fff; font-size: 14px; }
.hero-trust small { font-size: 11px; }
.avatar-stack { display: flex; flex-direction: row-reverse; }
.avatar-stack span { width: 31px; height: 31px; margin-left: -8px; display: grid; place-items: center; border: 2px solid var(--bg); border-radius: 50%; background: linear-gradient(135deg,#34425b,#1c2638); color: #dfe7f3; font-size: 10px; font-weight: 800; }
.avatar-stack span:last-child { background: var(--primary); }
.trust-score { padding-right: 15px; margin-right: 4px; border-right: 1px solid var(--line); }
.trust-score span { color: var(--warning); font-size: 11px; letter-spacing: 1px; direction: ltr; }
.hero-visual { min-height: 480px; position: relative; display: grid; place-items: center; perspective: 1000px; }
.code-window { width: min(100%, 540px); position: relative; overflow: hidden; background: linear-gradient(145deg,rgba(22,32,51,.96),rgba(10,15,24,.98)); border: 1px solid rgba(167,139,250,.23); border-radius: 25px; box-shadow: 0 45px 100px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.025) inset, 0 0 70px rgba(139,92,246,.08); transform: rotateY(-5deg) rotateX(2deg); }
.window-bar { height: 52px; display: flex; align-items: center; gap: 7px; padding: 0 18px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.025); direction: ltr; }
.window-bar span { width: 9px; height: 9px; border-radius: 50%; background: #fb7185; }
.window-bar span:nth-child(2) { background: #fbbf24; }
.window-bar span:nth-child(3) { background: #34d399; }
.window-bar em { margin-left: auto; margin-right: auto; color: var(--muted-2); font: 500 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace; }
.code-lines { padding: 34px 20px 32px; direction: ltr; font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; font-size: 14px; line-height: 2.15; }
.code-lines > div { display: flex; gap: 18px; min-height: 30px; white-space: nowrap; }
.code-lines b { width: 20px; color: #48556a; font-weight: 500; text-align: right; }
.code-lines code { color: #cad5e5; }
.code-lines i { color: #d8b4fe; font-style: normal; }
.code-lines u { color: #67e8f9; text-decoration: none; }
.code-lines strong { color: #a3e635; font-weight: 500; }
.code-lines q { color: #fcd34d; quotes: none; }
.typing-line code span { display: inline-block; width: 8px; height: 18px; background: var(--cyan); animation: blink .9s steps(1) infinite; vertical-align: middle; }
.terminal-status { height: 49px; padding: 0 19px; display: flex; align-items: center; gap: 10px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; direction: rtl; }
.terminal-status b { margin-right: auto; color: var(--success); font: 500 10px/1 ui-monospace,monospace; }
.terminal-status .success-dot { width: 6px; height: 6px; box-shadow: 0 0 0 4px rgba(52,211,153,.09); }
.mini-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: 11px; padding: 12px 14px; background: rgba(17,24,39,.88); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 20px 45px rgba(0,0,0,.3); backdrop-filter: blur(13px); animation: float 6s var(--ease) infinite; }
.mini-card > span:first-child { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #ddd2ff; background: rgba(139,92,246,.16); }
.mini-card div { display: grid; line-height: 1.35; }
.mini-card strong { font-size: 12px; }
.mini-card small { color: var(--muted); font-size: 9px; }
.ai-card { top: 35px; left: -20px; }
.ai-card i { width: 8px; height: 8px; margin-right: 10px; border-radius: 50%; background: var(--success); }
.progress-card { bottom: 18px; right: -12px; animation-delay: -2.5s; }
.progress-ring { width: 48px; height: 48px; display: grid !important; place-items: center; border-radius: 50%; background: conic-gradient(var(--cyan) 86%,rgba(255,255,255,.08) 0); position: relative; }
.progress-ring::after { content:""; position:absolute; inset:5px; border-radius:50%; background:#111827; }
.progress-ring span { position: relative; z-index: 1; color: #d8fbff; font-size: 9px; font-weight: 800; }
.tech-chip { width: 42px; height: 42px; position: absolute; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 13px; background: rgba(17,24,39,.8); box-shadow: 0 14px 30px rgba(0,0,0,.2); font: 800 12px/1 ui-monospace,monospace; }
.chip-wp { right: 2px; top: 35px; color: #6ee7ff; transform: rotate(9deg); }
.chip-js { left: 50px; bottom: 54px; color: #fde047; transform: rotate(-7deg); }
.chip-ai { right: 34px; bottom: 106px; color: #c4b5fd; transform: rotate(6deg); }

/* Stats */
.stats-strip { position: relative; z-index: 3; border-block: 1px solid var(--line); background: rgba(255,255,255,.018); }
.stats-grid { min-height: 118px; display: grid; grid-template-columns: repeat(4,1fr); align-items: center; }
.stats-grid > div { min-height: 55px; display: grid; place-content: center; text-align: center; position: relative; }
.stats-grid > div:not(:last-child)::after { content:""; position:absolute; left:0; top:10%; height:80%; width:1px; background:var(--line); }
.stats-grid strong { font-size: 27px; font-weight: 900; letter-spacing: -.8px; }
.stats-grid strong::after { content:"+"; color:var(--primary-2); font-size:14px; margin-right:3px; }
.stats-grid > div:last-child strong::after { content:"٪"; }
.stats-grid span { color: var(--muted); font-size: 12px; }

/* Section headings */
.section-heading { margin-bottom: 38px; display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.section-heading > div { max-width: 700px; }
.section-heading h2, .why-copy h2, .faq-copy h2, .course-content-block h2, .about-story-copy h2, .mission-card h2 { margin: 10px 0 8px; font-size: clamp(1.65rem, 3vw, 2.55rem); line-height: 1.4; letter-spacing: -.8px; font-weight: 900; text-wrap: balance; }
.section-heading p, .why-copy > p, .faq-copy > p { margin: 0; color: var(--muted); max-width: 620px; }
.section-heading-center { justify-content: center; text-align: center; }
.section-heading-center > div { display: grid; justify-items: center; }
.section-link { margin-bottom: 8px; }

/* Cards */
.cards-grid { display: grid; gap: 22px; }
.courses-grid, .posts-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.course-card, .post-card { min-width: 0; overflow: hidden; background: linear-gradient(150deg,rgba(22,32,51,.72),rgba(13,19,30,.9)); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 15px 45px rgba(0,0,0,.12); transition: transform .35s var(--ease), border-color .35s, box-shadow .35s; }
.course-card:hover, .post-card:hover { transform: translateY(-7px); border-color: rgba(167,139,250,.35); box-shadow: 0 28px 65px rgba(0,0,0,.28); }
.course-card-media, .post-card-media { aspect-ratio: 1.57; position: relative; display: block; overflow: hidden; background: #101827; }
.course-card-media img, .post-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.course-card:hover img, .post-card:hover img { transform: scale(1.045); }
.course-card-overlay { position: absolute; inset: 0; background: linear-gradient(to top,rgba(7,10,16,.68),transparent 52%); pointer-events:none; }
.course-placeholder, .post-placeholder { width:100%; height:100%; display:grid; place-items:center; position:relative; color:#c4b5fd; background: radial-gradient(circle at 40% 35%,rgba(139,92,246,.22),transparent 34%), linear-gradient(145deg,#19243a,#0e1523); overflow:hidden; }
.course-placeholder::before, .course-placeholder::after { content:""; position:absolute; inset:18px; border:1px solid rgba(255,255,255,.06); border-radius:17px; transform:rotate(5deg); }
.course-placeholder::after { inset:35px; transform:rotate(-7deg); }
.course-placeholder > span { position:relative; z-index:2; font:800 32px/1 ui-monospace,monospace; }
.course-placeholder .codify-icon { width:52px; height:52px; position:relative; z-index:2; }
.course-placeholder i { width:100px; height:1px; position:absolute; background:rgba(34,211,238,.2); transform:rotate(-23deg); }
.post-placeholder { color:rgba(196,181,253,.7); }
.course-badge, .course-status, .post-card-date { position:absolute; z-index:2; top:14px; padding:6px 9px; border-radius:9px; font-size:10px; font-weight:800; backdrop-filter:blur(8px); }
.course-badge { right:14px; color:#1a102a; background:#e9ddff; }
.course-status { left:14px; color:#d8f8ff; background:rgba(15,23,42,.78); border:1px solid rgba(255,255,255,.1); }
.status-recording::before, .status-completed::before, .status-preparing::before { content:""; width:6px; height:6px; display:inline-block; margin-left:6px; border-radius:50%; background:var(--warning); }
.status-completed::before { background:var(--success); }
.status-preparing::before { background:var(--primary-2); }
.course-card-body, .post-card-body { padding: 20px; }
.course-card-taxonomy, .post-card-meta { display:flex; align-items:center; gap:8px; color:#a99ac9; font-size:10px; font-weight:700; }
.course-card-taxonomy a:hover { color:var(--cyan); }
.course-card h3, .post-card h3 { margin:9px 0 8px; font-size:17px; line-height:1.65; font-weight:850; }
.course-card h3 a:hover, .post-card h3 a:hover { color:#c8b8ff; }
.course-card-body > p, .post-card-body > p { min-height:55px; margin:0; color:var(--muted); font-size:12px; line-height:1.85; }
.course-card-meta { display:flex; flex-wrap:wrap; gap:15px; padding:15px 0 0; margin-top:15px; border-top:1px solid var(--line); color:#8795a9; font-size:10px; }
.course-card-meta span { display:flex; align-items:center; gap:5px; }
.course-card-footer { min-height:54px; margin-top:12px; display:flex; align-items:end; justify-content:space-between; gap:12px; }
.course-price { display:grid; }
.course-price del { color:var(--muted-2); font-size:10px; }
.course-price strong { font-size:15px; color:#fff; }
.course-card-empty .course-card-footer > strong { color:var(--muted); font-size:11px; }
.post-card-date { right:14px; color:#e5e7eb; background:rgba(11,15,23,.75); border:1px solid var(--line); }
.post-card-meta { justify-content:space-between; }
.post-card-meta span:first-child { color:#c8b8ff; }
.post-card .text-link { margin-top:16px; }

/* Learning paths */
.learning-paths { background: radial-gradient(circle at 50% 15%,rgba(139,92,246,.08),transparent 36%); }
.path-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.path-card { min-height:300px; padding:28px; position:relative; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:linear-gradient(155deg,rgba(26,38,59,.8),rgba(12,18,29,.92)); transition:.35s var(--ease); }
.path-card::before { content:""; width:180px; height:180px; position:absolute; left:-80px; bottom:-90px; border-radius:50%; background:var(--card-accent,rgba(139,92,246,.12)); filter:blur(4px); }
.path-card:hover { transform:translateY(-7px); border-color:rgba(255,255,255,.22); }
.path-card > .codify-icon { position:absolute; left:25px; bottom:25px; color:var(--muted-2); transition:.3s; }
.path-card:hover > .codify-icon { color:#fff; transform:translate(-4px,-4px); }
.path-number { position:absolute; top:24px; left:25px; color:#536077; font:700 11px/1 ui-monospace,monospace; }
.path-icon { width:58px; height:58px; display:grid; place-items:center; border-radius:17px; background:rgba(139,92,246,.12); color:#c4b5fd; }
.path-web { --card-accent:rgba(34,211,238,.13); }
.path-web .path-icon { color:#67e8f9; background:rgba(34,211,238,.1); }
.path-code { --card-accent:rgba(163,230,53,.1); }
.path-code .path-icon { color:#bef264; background:rgba(163,230,53,.09); }
.path-ai { --card-accent:rgba(139,92,246,.15); }
.path-card h3 { margin:24px 0 8px; font-size:21px; }
.path-card p { margin:0; color:var(--muted); font-size:13px; }
.path-tags { margin-top:20px; display:flex; flex-wrap:wrap; gap:7px; }
.path-tags span { padding:5px 8px; border:1px solid var(--line); border-radius:8px; color:#8998ad; font:600 9px/1.3 ui-monospace,monospace; direction:ltr; }

/* Why */
.why-section { background:linear-gradient(180deg,rgba(255,255,255,.016),transparent); }
.why-layout { display:grid; grid-template-columns:1fr 1fr; gap:85px; align-items:center; }
.why-visual { min-height:490px; position:relative; display:grid; place-items:center; }
.dashboard-mock { width:100%; max-width:520px; height:345px; display:grid; grid-template-columns:68px 1fr; overflow:hidden; border:1px solid var(--line); border-radius:26px; background:linear-gradient(145deg,#151f31,#0d1421); box-shadow:var(--shadow); transform:perspective(1000px) rotateY(5deg) rotateX(2deg); }
.dash-sidebar { padding:17px 14px; display:flex; flex-direction:column; align-items:center; gap:17px; border-left:1px solid var(--line); background:rgba(255,255,255,.025); }
.dash-sidebar span { width:28px; height:7px; border-radius:5px; background:rgba(148,163,184,.15); }
.dash-sidebar span:nth-of-type(1) { margin-top:10px; background:rgba(139,92,246,.45); }
.dash-content { padding:32px; }
.dash-title { display:flex; justify-content:space-between; }
.dash-title span { width:145px; height:13px; border-radius:7px; background:rgba(255,255,255,.1); }
.dash-title i { width:40px; height:13px; border-radius:7px; background:rgba(34,211,238,.14); }
.dash-progress { margin-top:32px; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.dash-progress > div { height:72px; padding:13px; border:1px solid var(--line); border-radius:13px; }
.dash-progress b { width:28px; height:28px; display:block; border-radius:9px; background:rgba(139,92,246,.18); }
.dash-progress div:nth-child(2) b { background:rgba(34,211,238,.15); }
.dash-progress div:nth-child(3) b { background:rgba(163,230,53,.12); }
.dash-progress span { width:80%; height:6px; display:block; margin-top:10px; border-radius:4px; background:rgba(255,255,255,.08); }
.dash-chart { height:135px; margin-top:23px; padding:15px; border:1px solid var(--line); border-radius:15px; color:var(--primary-2); }
.dash-chart svg { width:100%; height:100%; }
.floating-badge { position:absolute; display:flex; align-items:center; gap:10px; padding:13px 15px; border:1px solid var(--line); border-radius:16px; background:rgba(17,24,39,.88); box-shadow:0 20px 40px rgba(0,0,0,.28); backdrop-filter:blur(12px); }
.badge-project { right:-14px; bottom:35px; color:var(--success); }
.floating-badge div { display:grid; line-height:1.3; }
.floating-badge strong { color:#fff; font-size:11px; }
.floating-badge small { color:var(--muted); font-size:9px; }
.feature-list { margin-top:30px; display:grid; gap:18px; }
.feature-list > div { display:grid; grid-template-columns:45px 1fr; gap:13px; }
.feature-list > div > span { width:45px; height:45px; display:grid; place-items:center; border:1px solid rgba(139,92,246,.2); border-radius:14px; color:#c4b5fd; background:rgba(139,92,246,.08); }
.feature-list h3 { margin:0 0 3px; font-size:14px; }
.feature-list p { margin:0; color:var(--muted); font-size:12px; }

/* Testimonials */
.testimonials-section { background:radial-gradient(circle at 20% 20%,rgba(34,211,238,.04),transparent 30%),radial-gradient(circle at 80% 70%,rgba(139,92,246,.06),transparent 35%); }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:center; }
.testimonial-card { min-height:255px; padding:27px; border:1px solid var(--line); border-radius:22px; background:linear-gradient(145deg,rgba(22,32,51,.64),rgba(12,18,29,.9)); }
.testimonial-card.featured { transform:translateY(-13px); border-color:rgba(139,92,246,.3); box-shadow:0 25px 60px rgba(0,0,0,.24); }
.testimonial-card > .codify-icon { color:#71628e; }
.testimonial-card > p { min-height:115px; margin:17px 0 24px; color:#c1cbd9; font-size:13px; line-height:2.05; }
.testimonial-card > div { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:10px; }
.testimonial-card > div > span { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:linear-gradient(135deg,#4c3a72,#26334b); font-weight:800; }
.testimonial-card > div div { display:grid; line-height:1.35; }
.testimonial-card strong { font-size:11px; }
.testimonial-card small { color:var(--muted); font-size:9px; }
.testimonial-card em { color:var(--warning); font-size:9px; font-style:normal; letter-spacing:.4px; }

/* FAQ */
.faq-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:85px; align-items:start; }
.faq-copy { position:sticky; top:130px; }
.faq-copy .button { margin-top:26px; }
.accordion-list { display:grid; gap:10px; }
.accordion-list details { overflow:hidden; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.025); transition:border-color .25s; }
.accordion-list details[open] { border-color:rgba(139,92,246,.28); background:rgba(139,92,246,.035); }
.accordion-list summary { min-height:65px; padding:18px 19px; display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; cursor:pointer; font-weight:750; font-size:13px; }
.accordion-list summary::-webkit-details-marker { display:none; }
.accordion-list summary .codify-icon { color:var(--muted); transition:transform .3s; }
.accordion-list details[open] summary .codify-icon { transform:rotate(180deg); color:var(--primary-2); }
.accordion-list details p { margin:0; padding:0 19px 20px; color:var(--muted); font-size:12px; line-height:2; }

/* CTA */
.final-cta { padding-top:50px; }
.cta-box { min-height:240px; padding:45px 52px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:45px; border-radius:30px; background:linear-gradient(125deg,#6d42db,#8b5cf6 50%,#4e35b2); box-shadow:0 35px 85px rgba(109,66,219,.22); }
.cta-box::before { content:""; width:340px; height:340px; position:absolute; left:-130px; top:-160px; border:1px solid rgba(255,255,255,.14); border-radius:50%; }
.cta-box .cta-grid-bg { opacity:.22; mask-image:none; }
.cta-box > *:not(.cta-grid-bg) { position:relative; z-index:2; }
.cta-box .eyebrow { color:#e6ddff; }
.cta-box h2 { max-width:720px; margin:8px 0 6px; font-size:clamp(1.55rem,2.6vw,2.3rem); line-height:1.5; }
.cta-box p { margin:0; color:rgba(255,255,255,.72); }

/* Footer */
.site-footer { padding:105px 0 25px; position:relative; overflow:hidden; border-top:1px solid var(--line); background:#080c13; }
.footer-glow { width:500px; height:300px; position:absolute; right:30%; top:-250px; border-radius:50%; background:rgba(139,92,246,.09); filter:blur(60px); }
.footer-main { position:relative; display:grid; grid-template-columns:1.4fr .75fr .85fr 1.1fr; gap:55px; }
.footer-brand-col > p { max-width:330px; margin:21px 0; color:var(--muted); font-size:12px; }
.social-links { display:flex; gap:8px; }
.social-links a { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:11px; color:var(--muted); }
.social-links a:hover { color:#fff; border-color:rgba(139,92,246,.4); background:rgba(139,92,246,.1); transform:translateY(-2px); }
.footer-main h3 { margin:7px 0 18px; font-size:13px; }
.footer-menu { margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.footer-menu a { color:var(--muted); font-size:11px; }
.footer-menu a:hover { color:#fff; padding-right:4px; }
.footer-contact-col { display:grid; align-content:start; gap:12px; }
.footer-contact-col > a, .footer-contact-col > div { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:10px; }
.footer-contact-col .codify-icon { color:#77679b; }
.footer-bottom { margin-top:65px; padding-top:22px; display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid var(--line); color:var(--muted-2); font-size:10px; }
.back-to-top { display:flex; align-items:center; gap:7px; }
.back-to-top:hover { color:#fff; }

/* Page heroes and archives */
.page-hero { min-height:440px; padding:180px 0 75px; position:relative; overflow:hidden; display:grid; align-items:center; text-align:center; background:radial-gradient(circle at 50% 10%,rgba(139,92,246,.12),transparent 45%); }
.page-hero .container { position:relative; z-index:2; }
.page-hero h1 { max-width:900px; margin:10px auto 12px; font-size:clamp(2rem,4.2vw,3.65rem); line-height:1.35; letter-spacing:-1.2px; font-weight:950; text-wrap:balance; }
.page-hero p, .archive-description { max-width:720px; margin:0 auto; color:var(--muted); font-size:14px; }
.compact-hero { min-height:350px; padding-bottom:55px; }
.compact-hero h1 { font-size:clamp(1.9rem,3.5vw,3rem); }
.blog-hero, .courses-archive-hero { min-height:560px; }
.hero-search { width:min(100%,650px); min-height:58px; margin:30px auto 0; padding:6px 7px 6px 16px; display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:17px; background:rgba(17,24,39,.75); backdrop-filter:blur(12px); text-align:right; }
.hero-search .codify-icon { color:var(--muted); }
.hero-search input { flex:1; min-width:0; border:0; outline:0; color:#fff; background:transparent; }
.hero-search input::placeholder { color:#65738a; }
.hero-search .button { min-width:100px; }
.archive-filter { position:sticky; top:103px; z-index:20; border-block:1px solid var(--line); background:rgba(11,15,23,.88); backdrop-filter:blur(16px); }
.filter-scroll { min-height:64px; display:flex; align-items:center; justify-content:center; gap:7px; overflow:auto; scrollbar-width:none; }
.filter-scroll::-webkit-scrollbar { display:none; }
.filter-scroll a { flex:0 0 auto; padding:7px 12px; border:1px solid transparent; border-radius:10px; color:var(--muted); font-size:11px; font-weight:650; }
.filter-scroll a:hover, .filter-scroll a.is-active { color:#fff; background:rgba(139,92,246,.1); border-color:rgba(139,92,246,.2); }
.archive-quick-stats { margin-top:34px; display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.archive-quick-stats span { min-width:132px; padding:11px 15px; display:grid; border:1px solid var(--line); border-radius:13px; background:rgba(255,255,255,.025); }
.archive-quick-stats strong { font-size:14px; }
.archive-quick-stats span { color:var(--muted); font-size:9px; }
.archive-toolbar { margin-bottom:28px; display:flex; align-items:end; justify-content:space-between; gap:20px; }
.archive-toolbar h2 { margin:0; font-size:22px; }
.archive-toolbar p { margin:3px 0 0; color:var(--muted); font-size:11px; }
.empty-state { min-height:260px; padding:40px; display:grid; place-items:center; align-content:center; gap:8px; text-align:center; border:1px dashed var(--line-strong); border-radius:20px; background:rgba(255,255,255,.018); }
.empty-state > span, .empty-state > .codify-icon { color:#756593; }
.empty-state h2, .empty-state h3 { margin:6px 0 0; }
.empty-state p { margin:0 0 10px; color:var(--muted); font-size:12px; }
.pagination { margin-top:45px; }
.pagination-list { display:flex; align-items:center; justify-content:center; gap:7px; }
.pagination .page-numbers { min-width:40px; height:40px; padding:0 10px; display:grid; place-items:center; border:1px solid var(--line); border-radius:11px; color:var(--muted); font-size:11px; }
.pagination .page-numbers:hover, .pagination .current { color:#fff; border-color:rgba(139,92,246,.4); background:rgba(139,92,246,.13); }
.pagination .next .codify-icon { transform:rotate(180deg); }

/* Search page */
.search-result-count { margin-bottom:20px; color:var(--muted); font-size:12px; }
.search-results-list { display:grid; gap:12px; }
.search-result-item { min-height:145px; padding:14px; display:grid; grid-template-columns:116px 1fr auto; align-items:center; gap:20px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.025); }
.search-result-thumb { width:116px; height:116px; overflow:hidden; display:grid; place-items:center; border-radius:13px; background:#141e2f; color:#7a6a97; }
.search-result-thumb img { width:100%; height:100%; object-fit:cover; }
.search-result-type { color:#a99ac9; font-size:9px; font-weight:800; }
.search-result-item h2 { margin:3px 0 5px; font-size:17px; }
.search-result-item p { margin:0; color:var(--muted); font-size:11px; }

/* Single article */
.single-post-hero { padding:175px 0 60px; text-align:center; background:radial-gradient(circle at 50% 0,rgba(139,92,246,.1),transparent 48%); }
.post-breadcrumb { margin-bottom:25px; display:flex; align-items:center; justify-content:center; gap:8px; color:var(--muted-2); font-size:10px; }
.post-breadcrumb a:hover { color:#fff; }
.single-post-category a { padding:6px 10px; border:1px solid rgba(139,92,246,.22); border-radius:9px; color:#c5b5ff; background:rgba(139,92,246,.07); font-size:10px; font-weight:750; }
.single-post-hero h1 { max-width:850px; margin:18px auto 13px; font-size:clamp(2rem,4.2vw,3.5rem); line-height:1.4; letter-spacing:-1px; text-wrap:balance; }
.single-post-excerpt { max-width:700px; margin:0 auto; color:var(--muted); font-size:14px; }
.single-post-meta { margin-top:35px; padding-top:22px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--line); }
.author-meta { display:flex; align-items:center; gap:10px; text-align:right; }
.author-meta img { border-radius:14px; }
.author-meta div { display:grid; line-height:1.4; }
.author-meta strong { font-size:11px; }
.author-meta small { color:var(--muted); font-size:9px; }
.post-info-meta { display:flex; gap:16px; color:var(--muted); font-size:10px; }
.post-info-meta span { display:flex; align-items:center; gap:5px; }
.single-featured-image { margin-top:20px; }
.single-featured-image img { width:100%; max-height:630px; object-fit:cover; border:1px solid var(--line); border-radius:26px; }
.article-layout { padding:70px 0; display:grid; grid-template-columns:60px minmax(0,760px); justify-content:center; gap:25px; }
.article-share { position:sticky; top:130px; height:max-content; display:grid; justify-items:center; gap:8px; }
.article-share > span { margin-bottom:4px; color:var(--muted-2); font-size:9px; writing-mode:vertical-rl; }
.article-share a { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--line); border-radius:10px; color:var(--muted); }
.article-share a:hover { color:#fff; background:rgba(139,92,246,.12); }
.entry-content { color:#c7d0dd; font-size:15px; }
.entry-content > *:first-child { margin-top:0; }
.entry-content h2 { margin:2.2em 0 .7em; color:#fff; font-size:1.7em; line-height:1.55; }
.entry-content h3 { margin:1.8em 0 .6em; color:#fff; font-size:1.3em; }
.entry-content p { margin:0 0 1.45em; }
.entry-content a { color:#bfa8ff; text-decoration:underline; text-underline-offset:4px; }
.entry-content blockquote { margin:2em 0; padding:22px 25px; border-right:3px solid var(--primary); border-radius:14px; background:rgba(139,92,246,.07); color:#ddd5ed; }
.entry-content pre { max-width:100%; padding:22px; overflow:auto; direction:ltr; text-align:left; border:1px solid var(--line); border-radius:15px; background:#080c13; }
.entry-content code { direction:ltr; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; }
.entry-content img { border-radius:17px; }
.entry-content ul, .entry-content ol { padding-right:1.4em; }
.entry-content li { margin-bottom:.5em; }
.post-tags { margin-top:40px; padding-top:20px; display:flex; flex-wrap:wrap; gap:8px; border-top:1px solid var(--line); }
.post-tags > span { color:var(--muted); font-size:10px; }
.post-tags a { padding:5px 8px; border:1px solid var(--line); border-radius:8px; color:var(--muted); font-size:9px; text-decoration:none; }
.post-author-box { max-width:820px; margin-bottom:65px; padding:24px; display:grid; grid-template-columns:72px 1fr; gap:17px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.025); }
.post-author-box img { border-radius:18px; }
.post-author-box span { color:#a99ac9; font-size:9px; }
.post-author-box h3 { margin:2px 0 4px; font-size:15px; }
.post-author-box p { margin:0; color:var(--muted); font-size:11px; }
.related-section { border-top:1px solid var(--line); }

/* Comments */
.comments-area { padding:0 0 90px; }
.comments-title, .comment-reply-title { margin:0 0 25px; font-size:20px; }
.comment-list { list-style:none; padding:0; display:grid; gap:12px; }
.comment-body { padding:20px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.02); }
.comment-meta { display:flex; align-items:center; gap:10px; }
.comment-author img { border-radius:12px; margin-left:8px; }
.comment-metadata { margin-right:auto; color:var(--muted-2); font-size:9px; }
.comment-content { margin-top:12px; color:var(--muted); font-size:12px; }
.reply { margin-top:10px; font-size:10px; color:#bfa8ff; }
.comment-respond { margin-top:35px; padding:25px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.018); }
.comment-form { display:grid; gap:12px; }
.comment-form p { margin:0; }
.comment-form label { display:block; margin-bottom:5px; color:var(--muted); font-size:10px; }
.comment-form input:not([type=submit]):not([type=checkbox]), .comment-form textarea { width:100%; padding:12px 13px; border:1px solid var(--line); border-radius:11px; outline:0; background:#0e1522; color:#fff; }

/* Course single */
.course-hero { padding:170px 0 75px; position:relative; overflow:hidden; background:radial-gradient(circle at 22% 30%,rgba(139,92,246,.13),transparent 34%); }
.course-hero-layout { position:relative; z-index:2; display:grid; grid-template-columns:1.04fr .96fr; gap:65px; align-items:center; }
.course-hero .post-breadcrumb { justify-content:flex-start; margin-bottom:20px; }
.course-hero-labels { display:flex; align-items:center; gap:9px; }
.course-hero-labels .course-status { position:static; }
.course-hero-labels > a { padding:5px 9px; border:1px solid var(--line); border-radius:8px; color:var(--muted); font-size:9px; }
.course-hero-copy h1 { margin:18px 0 13px; font-size:clamp(2rem,4.3vw,3.8rem); line-height:1.35; letter-spacing:-1.2px; }
.course-hero-copy > p { max-width:680px; margin:0; color:var(--muted); font-size:14px; }
.course-hero-meta { margin-top:34px; display:flex; flex-wrap:wrap; gap:10px; }
.course-hero-meta > span { min-width:130px; padding:11px 13px; display:grid; grid-template-columns:24px 1fr; grid-template-rows:auto auto; align-items:center; border:1px solid var(--line); border-radius:13px; background:rgba(255,255,255,.025); }
.course-hero-meta .codify-icon { grid-row:1/3; color:#9680c5; }
.course-hero-meta b { font-size:11px; }
.course-hero-meta small { color:var(--muted); font-size:8px; }
.course-hero-media { aspect-ratio:1.42; position:relative; overflow:hidden; border:1px solid var(--line); border-radius:25px; box-shadow:var(--shadow); }
.course-hero-media > img { width:100%; height:100%; object-fit:cover; }
.course-cover-placeholder { width:100%; height:100%; display:grid; place-items:center; align-content:center; gap:18px; background:radial-gradient(circle at 50% 40%,rgba(139,92,246,.24),transparent 35%),linear-gradient(145deg,#1a263c,#0d1421); }
.course-cover-placeholder span { color:#708096; font:600 11px/1 ui-monospace,monospace; direction:ltr; }
.course-play { width:66px; height:66px; position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); display:grid; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:50%; background:rgba(10,15,24,.72); backdrop-filter:blur(10px); cursor:pointer; }
.course-play:hover { background:var(--primary); }
.course-nav-wrap { position:sticky; top:102px; z-index:18; border-block:1px solid var(--line); background:rgba(11,15,23,.9); backdrop-filter:blur(15px); }
.course-nav { min-height:62px; display:flex; align-items:center; gap:25px; overflow:auto; scrollbar-width:none; }
.course-nav a { flex:0 0 auto; color:var(--muted); font-size:11px; font-weight:650; }
.course-nav a:hover { color:#fff; }
.course-content-section { padding-top:70px; }
.course-content-layout { display:grid; grid-template-columns:minmax(0,1fr) 335px; gap:48px; align-items:start; }
.course-main-content { min-width:0; display:grid; gap:62px; }
.course-content-block { scroll-margin-top:185px; }
.course-content-block > h2 { margin-bottom:20px; }
.course-feature-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.course-feature-grid > div { padding:18px; display:grid; grid-template-columns:38px 1fr; gap:11px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.023); }
.course-feature-grid > div > span { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; color:var(--success); background:rgba(52,211,153,.08); }
.course-feature-grid h3 { margin:1px 0 3px; font-size:12px; }
.course-feature-grid p { margin:0; color:var(--muted); font-size:10px; }
.curriculum-heading { margin-bottom:20px; display:flex; align-items:end; justify-content:space-between; gap:20px; }
.curriculum-heading h2 { margin-bottom:0; }
.curriculum-heading > div:last-child { display:flex; gap:7px; }
.curriculum-heading > div:last-child span { padding:6px 9px; border:1px solid var(--line); border-radius:8px; color:var(--muted); font-size:9px; }
.curriculum-list { display:grid; gap:10px; }
.curriculum-list details { border:1px solid var(--line); border-radius:17px; background:rgba(255,255,255,.022); overflow:hidden; }
.curriculum-list details[open] { border-color:rgba(139,92,246,.25); }
.curriculum-list summary { min-height:78px; padding:15px 17px; display:grid; grid-template-columns:38px 1fr auto 20px; align-items:center; gap:13px; list-style:none; cursor:pointer; }
.curriculum-list summary::-webkit-details-marker { display:none; }
.chapter-count { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; color:#c9bcff; background:rgba(139,92,246,.1); font-size:11px; font-weight:850; }
.curriculum-list summary h3 { margin:0; font-size:13px; }
.curriculum-list summary p { margin:2px 0 0; color:var(--muted); font-size:9px; }
.lesson-count { color:var(--muted); font-size:9px; }
.curriculum-list summary > .codify-icon { color:var(--muted); transition:transform .25s; }
.curriculum-list details[open] summary > .codify-icon { transform:rotate(180deg); }
.lesson-list { padding:0 17px 14px; display:grid; gap:6px; }
.lesson-item { min-height:50px; padding:8px 11px; display:grid; grid-template-columns:30px 1fr auto auto; align-items:center; gap:9px; border:1px solid rgba(148,163,184,.1); border-radius:11px; background:rgba(8,12,19,.45); font-size:10px; }
.lesson-play { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; color:#9d8bc6; background:rgba(139,92,246,.07); }
.lesson-item b { color:var(--muted-2); }
.lesson-item em { padding:4px 7px; border-radius:7px; color:#b8f7df; background:rgba(52,211,153,.07); font-size:8px; font-style:normal; }
.lesson-item small { color:var(--muted); font-size:8px; }
.course-sidebar { position:sticky; top:184px; }
.course-enroll-card { padding:24px; border:1px solid rgba(139,92,246,.24); border-radius:22px; background:linear-gradient(150deg,rgba(24,34,53,.95),rgba(12,18,29,.98)); box-shadow:0 25px 65px rgba(0,0,0,.22); }
.course-enroll-price { margin-bottom:18px; display:grid; }
.course-enroll-price > span { color:var(--muted); font-size:9px; }
.course-enroll-price strong { font-size:24px; font-weight:900; }
.course-enroll-price del { color:var(--muted-2); font-size:10px; }
.course-enroll-card ul { margin:22px 0 0; padding:18px 0 0; list-style:none; display:grid; gap:12px; border-top:1px solid var(--line); }
.course-enroll-card li { display:grid; grid-template-columns:20px 1fr auto; align-items:center; gap:8px; color:var(--muted); font-size:9px; }
.course-enroll-card li .codify-icon { color:#8b77b7; }
.course-enroll-card li b { max-width:135px; color:#dfe6ef; font-size:9px; text-align:left; }
.secure-note { margin-top:17px; padding:9px; display:flex; align-items:center; justify-content:center; gap:7px; border-radius:10px; color:#9ee8ca; background:rgba(52,211,153,.055); font-size:8px; }

/* About/contact/default */
.about-hero { text-align:right; }
.about-hero-layout { display:grid; grid-template-columns:1fr .65fr; align-items:center; gap:60px; }
.about-hero h1, .about-hero p { margin-right:0; }
.about-symbol { min-height:240px; display:grid; place-items:center; align-content:center; gap:16px; border:1px solid var(--line); border-radius:28px; background:radial-gradient(circle,rgba(139,92,246,.14),transparent 58%); }
.about-symbol span { color:var(--muted); font:600 10px/1 ui-monospace,monospace; direction:ltr; }
.about-story-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; }
.about-values { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.about-values > div { min-height:190px; padding:21px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.022); }
.about-values strong { color:#76658f; font:800 11px/1 ui-monospace,monospace; }
.about-values h3 { margin:19px 0 6px; font-size:15px; }
.about-values p { margin:0; color:var(--muted); font-size:10px; }
.about-mission { padding-top:30px; }
.mission-card { padding:50px; display:grid; grid-template-columns:1fr .7fr; gap:60px; align-items:center; border:1px solid var(--line); border-radius:28px; background:radial-gradient(circle at 85% 30%,rgba(34,211,238,.06),transparent 35%),linear-gradient(145deg,rgba(22,32,51,.72),rgba(12,18,29,.95)); }
.mission-card p { color:var(--muted); }
.mission-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.mission-metrics span { min-height:100px; display:grid; place-content:center; text-align:center; border:1px solid var(--line); border-radius:15px; color:var(--muted); font-size:9px; }
.mission-metrics strong { color:#fff; font-size:20px; }
.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:start; }
.contact-info .entry-content { margin-bottom:28px; }
.contact-cards { display:grid; gap:10px; }
.contact-cards > a, .contact-cards > div { min-height:73px; padding:13px; display:grid; grid-template-columns:44px 1fr; align-items:center; gap:12px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.022); }
.contact-cards > * > span { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; color:#c4b5fd; background:rgba(139,92,246,.09); }
.contact-cards > * > div { display:grid; }
.contact-cards small { color:var(--muted); font-size:8px; }
.contact-cards strong { font-size:11px; }
.contact-hours { margin-top:18px; padding:15px; display:flex; align-items:flex-start; gap:12px; border-radius:14px; background:rgba(52,211,153,.045); }
.contact-hours p { margin:0; color:var(--muted); font-size:10px; }
.contact-hours strong { color:#d7f9ea; }
.contact-form-card, .page-content-card { padding:35px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(145deg,rgba(22,32,51,.65),rgba(12,18,29,.92)); }
.contact-form-card h2 { margin:7px 0; font-size:25px; }
.contact-form-card > p { margin:0 0 24px; color:var(--muted); font-size:10px; }
.demo-contact-form { display:grid; gap:14px; }
.codify-honeypot { position:absolute !important; inline-size:1px !important; block-size:1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; white-space:nowrap !important; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.demo-contact-form label, .auth-form label { display:grid; gap:6px; }
.demo-contact-form label > span, .auth-form label > span { color:#b2bdcb; font-size:10px; font-weight:650; }
.demo-contact-form input, .demo-contact-form textarea, .demo-contact-form select, .auth-form input { width:100%; padding:12px 13px; border:1px solid var(--line); border-radius:11px; outline:0; background:#0c131f; color:#fff; transition:border-color .2s,box-shadow .2s; }
.demo-contact-form input:focus, .demo-contact-form textarea:focus, .demo-contact-form select:focus, .auth-form input:focus { border-color:rgba(139,92,246,.55); box-shadow:0 0 0 3px rgba(139,92,246,.08); }
.form-message { min-height:20px; color:var(--muted); font-size:10px; text-align:center; }
.form-message.is-error { color:#fda4af; }
.form-message.is-success { color:#6ee7b7; }
.default-page-main .page-content-card { min-height:300px; }
.fullwidth-page { padding-top:110px; }

/* 404 */
.error-section { min-height:770px; padding:170px 0 80px; position:relative; overflow:hidden; display:grid; place-items:center; text-align:center; }
.error-layout { position:relative; z-index:2; display:grid; justify-items:center; }
.error-code { display:flex; align-items:center; justify-content:center; gap:7px; color:#202c42; font:950 clamp(6rem,16vw,11rem)/1 var(--font); letter-spacing:-10px; }
.error-code > div { width:clamp(100px,14vw,155px); height:clamp(100px,14vw,155px); position:relative; display:grid; place-items:center; border:1px solid rgba(139,92,246,.2); border-radius:50%; background:radial-gradient(circle,rgba(139,92,246,.13),transparent 65%); }
.error-code img { width:65%; height:65%; }
.error-code i { width:12px; height:12px; position:absolute; right:4px; top:15%; border-radius:50%; background:var(--cyan); box-shadow:0 0 20px var(--cyan); }
.error-layout h1 { margin:17px 0 8px; font-size:clamp(1.8rem,3.4vw,2.8rem); }
.error-layout > p { max-width:600px; margin:0; color:var(--muted); }
.error-actions { margin-top:28px; display:flex; gap:11px; flex-wrap:wrap; justify-content:center; }

/* Modals */
.modal[hidden] { display:none; }
.modal { position:fixed; inset:0; z-index:5000; display:grid; place-items:center; padding:20px; }
.modal-backdrop { position:absolute; inset:0; background:rgba(3,6,11,.78); backdrop-filter:blur(8px); animation:fadeIn .2s both; }
.modal-panel { width:min(100%,850px); max-height:min(90vh,760px); position:relative; z-index:2; overflow:auto; border:1px solid rgba(148,163,184,.22); border-radius:25px; background:linear-gradient(145deg,#151f31,#0c131f); box-shadow:0 45px 120px rgba(0,0,0,.58); animation:modalIn .3s var(--ease) both; }
.search-panel { width:min(100%,760px); padding:28px; }
.modal-head { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.modal-head h2 { margin:6px 0 0; font-size:24px; }
.live-search-form { margin-top:25px; }
.search-input-wrap { min-height:64px; padding:0 16px; display:flex; align-items:center; gap:11px; border:1px solid var(--line); border-radius:16px; background:#0b111c; }
.search-input-wrap > .codify-icon { color:#75658f; }
.search-input-wrap input { flex:1; min-width:0; height:60px; border:0; outline:0; background:transparent; color:#fff; font-size:15px; }
.search-input-wrap kbd { padding:4px 7px; border:1px solid var(--line); border-radius:7px; color:var(--muted-2); background:rgba(255,255,255,.025); font:600 9px/1 ui-monospace,monospace; }
.search-suggestions { margin-top:12px; display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.search-suggestions > span { color:var(--muted-2); font-size:9px; }
.search-suggestions button { padding:4px 8px; border:1px solid var(--line); border-radius:8px; background:transparent; color:var(--muted); font-size:9px; cursor:pointer; }
.search-suggestions button:hover { color:#fff; border-color:rgba(139,92,246,.35); }
.live-search-results { min-height:170px; margin-top:22px; }
.search-empty-state { min-height:170px; display:grid; place-items:center; align-content:center; gap:10px; color:#75658f; text-align:center; }
.search-empty-state p { max-width:380px; margin:0; color:var(--muted); font-size:10px; }
.live-result-list { display:grid; gap:7px; }
.live-result-item { padding:9px; display:grid; grid-template-columns:54px 1fr auto; align-items:center; gap:11px; border:1px solid transparent; border-radius:12px; }
.live-result-item:hover { border-color:var(--line); background:rgba(255,255,255,.025); }
.live-result-thumb { width:54px; height:54px; display:grid; place-items:center; overflow:hidden; border-radius:10px; background:#182235; color:#75658f; }
.live-result-thumb img { width:100%; height:100%; object-fit:cover; }
.live-result-copy { display:grid; }
.live-result-copy small { color:#a48fc7; font-size:8px; }
.live-result-copy strong { font-size:11px; }
.live-result-copy span { color:var(--muted); font-size:8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.live-result-item > .codify-icon { color:var(--muted-2); }
.live-results-all { margin-top:10px; }
.auth-panel { width:min(100%,900px); display:grid; grid-template-columns:.9fr 1.1fr; overflow:hidden; }
.modal-close { position:absolute; top:14px; left:14px; z-index:4; }
.auth-visual { min-height:570px; padding:48px 40px; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; background:radial-gradient(circle at 30% 20%,rgba(34,211,238,.1),transparent 35%),linear-gradient(145deg,#1f2d49,#111827); }
.auth-visual::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:38px 38px; mask-image:linear-gradient(to bottom,black,transparent); }
.auth-visual > * { position:relative; z-index:2; }
.auth-visual > img { margin-bottom:25px; }
.auth-visual h2 { margin:10px 0 25px; font-size:29px; line-height:1.55; }
.auth-visual ul { margin:0; padding:0; list-style:none; display:grid; gap:13px; }
.auth-visual li { display:flex; align-items:center; gap:8px; color:#b8c3d2; font-size:11px; }
.auth-visual li .codify-icon { color:var(--success); }
.auth-forms { padding:45px 38px; display:flex; flex-direction:column; justify-content:center; }
.auth-tabs { margin-bottom:25px; padding:4px; display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-radius:12px; background:#0b111c; }
.auth-tabs button { min-height:38px; border:0; border-radius:9px; background:transparent; color:var(--muted); cursor:pointer; font-size:11px; font-weight:750; }
.auth-tabs button.is-active { color:#fff; background:rgba(139,92,246,.17); }
.auth-form { display:none; gap:13px; }
.auth-form.is-active { display:grid; }
.auth-row { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--muted); font-size:9px; }
.checkbox-label { display:flex !important; grid-template-columns:auto 1fr; align-items:center; gap:6px !important; }
.checkbox-label input { width:auto; }
.auth-row a:hover { color:#fff; }
.auth-terms { margin:0; color:var(--muted-2); font-size:8px; text-align:center; }

/* Widgets/forms */
.search-form { position:relative; display:flex; }
.search-form label { flex:1; }
.search-field { width:100%; min-height:44px; padding:9px 12px 9px 45px; border:1px solid var(--line); border-radius:12px; background:#0e1522; color:#fff; }
.search-submit { width:40px; position:absolute; left:3px; top:2px; bottom:2px; border:0; background:transparent; color:var(--muted); cursor:pointer; }

/* Reveal/animations */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease),transform .7s var(--ease); }
.reveal.is-visible { opacity:1; transform:none; }
@keyframes blink { 50% { opacity:0; } }
@keyframes pulse { 0%,100% { transform:scale(1); opacity:1; } 50% { transform:scale(.78); opacity:.65; } }
@keyframes float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-9px); } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes modalIn { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:none; } }

/* Responsive */
@media (max-width: 1100px) {
  .header-inner { gap:14px; }
  .nav-list > li > a { padding-inline:9px; font-size:12px; }
  .header-account span { display:none; }
  .header-account { width:43px; padding:0; }
  .hero-layout { gap:40px; }
  .hero-copy h1 { font-size:clamp(2.2rem,4.7vw,3.65rem); }
  .ai-card { left:0; }
  .footer-main { grid-template-columns:1.25fr .8fr .8fr; }
  .footer-contact-col { grid-column:1/-1; grid-template-columns:repeat(3,1fr); }
  .footer-contact-col h3 { grid-column:1/-1; }
  .why-layout { gap:55px; }
  .course-content-layout { grid-template-columns:minmax(0,1fr) 310px; gap:30px; }
}

@media (max-width: 900px) {
  .site-header { inset:10px 0 auto; }
  .header-inner { height:64px; grid-template-columns:auto 1fr; border-radius:17px; }
  .primary-nav { width:min(360px,calc(100vw - 24px)); position:fixed; top:82px; right:12px; bottom:12px; padding:20px; overflow:auto; justify-self:auto; border:1px solid var(--line); border-radius:20px; background:rgba(11,15,23,.97); box-shadow:var(--shadow); transform:translateX(115%); visibility:hidden; transition:.3s var(--ease); }
  .menu-open .primary-nav { transform:translateX(0); visibility:visible; }
  .nav-list { display:grid; align-content:start; gap:3px; }
  .nav-list > li > a { min-height:46px; padding:10px 13px; font-size:14px; }
  .nav-list .sub-menu { position:static; min-width:0; padding:4px 12px 8px; opacity:1; visibility:visible; transform:none; box-shadow:none; background:transparent; border:0; }
  .header-actions { justify-self:end; }
  .menu-toggle { display:inline-grid; }
  .hero-section { min-height:auto; padding:145px 0 85px; }
  .hero-layout, .why-layout, .course-hero-layout, .about-hero-layout { grid-template-columns:1fr; }
  .hero-copy { text-align:center; }
  .hero-copy h1, .hero-copy p { margin-inline:auto; }
  .hero-kicker { justify-self:center; }
  .hero-actions, .hero-trust { justify-content:center; }
  .hero-visual { width:min(100%,600px); min-height:470px; margin-inline:auto; }
  .code-window { transform:none; }
  .courses-grid, .posts-grid, .path-grid, .testimonial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .testimonial-card.featured { transform:none; }
  .faq-layout { grid-template-columns:1fr; gap:35px; }
  .faq-copy { position:static; }
  .footer-main { grid-template-columns:1.3fr 1fr 1fr; gap:35px; }
  .footer-brand-col { grid-column:1/-1; }
  .course-hero-copy { text-align:center; }
  .course-hero .post-breadcrumb { justify-content:center; }
  .course-hero-labels, .course-hero-meta { justify-content:center; }
  .course-content-layout { grid-template-columns:1fr; }
  .course-sidebar { position:static; order:-1; }
  .course-enroll-card { display:grid; grid-template-columns:1fr 1fr; gap:15px 25px; }
  .course-enroll-price, .course-enroll-card .button { align-self:center; margin:0; }
  .course-enroll-card ul, .secure-note { grid-column:1/-1; }
  .about-story-grid, .contact-layout { grid-template-columns:1fr; gap:45px; }
  .about-story-copy { text-align:center; }
  .mission-card { grid-template-columns:1fr; }
  .archive-filter, .course-nav-wrap { top:84px; }
  .article-layout { grid-template-columns:1fr; }
  .article-share { position:static; display:flex; justify-content:center; }
  .article-share > span { writing-mode:initial; }
}

@media (max-width: 640px) {
  .container, .narrow-container { width:min(calc(100% - 24px),var(--container)); }
  .section { padding:72px 0; }
  .site-header .container { width:calc(100% - 16px); }
  .header-inner { padding:0 9px; }
  .brand-copy small { display:none; }
  .brand-copy strong { font-size:14px; }
  .brand-mark { width:38px; height:38px; }
  .header-actions { gap:5px; }
  .header-account { display:none; }
  .icon-button { width:40px; height:40px; border-radius:11px; }
  .hero-section { padding-top:125px; }
  .hero-copy h1 { font-size:clamp(2rem,10.3vw,3rem); letter-spacing:-1.2px; }
  .hero-copy p { font-size:14px; }
  .hero-actions { display:grid; }
  .hero-actions .button { width:100%; }
  .hero-trust { flex-wrap:wrap; }
  .trust-score { width:100%; padding:12px 0 0; margin:0; border-right:0; border-top:1px solid var(--line); }
  .hero-visual { min-height:370px; }
  .code-window { border-radius:19px; }
  .code-lines { padding:22px 12px; font-size:10px; }
  .code-lines > div { gap:10px; }
  .window-bar { height:44px; }
  .mini-card { transform:scale(.88); }
  .ai-card { top:5px; left:-15px; }
  .progress-card { bottom:-5px; right:-8px; }
  .tech-chip { width:34px; height:34px; font-size:9px; }
  .chip-wp { top:12px; }
  .chip-js { left:20px; bottom:43px; }
  .chip-ai { display:none; }
  .stats-grid { grid-template-columns:repeat(2,1fr); padding:12px 0; }
  .stats-grid > div { min-height:78px; }
  .stats-grid > div:nth-child(2)::after { display:none; }
  .stats-grid > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .stats-grid strong { font-size:23px; }
  .section-heading { align-items:start; }
  .section-heading h2, .why-copy h2, .faq-copy h2, .course-content-block h2 { font-size:1.65rem; }
  .section-link { display:none; }
  .courses-grid, .posts-grid, .path-grid, .testimonial-grid { grid-template-columns:1fr; }
  .course-card-body, .post-card-body { padding:17px; }
  .why-layout { gap:35px; }
  .why-visual { min-height:350px; }
  .dashboard-mock { height:280px; grid-template-columns:50px 1fr; }
  .dash-sidebar { padding:13px 9px; }
  .dash-content { padding:20px; }
  .dash-progress { grid-template-columns:repeat(3,1fr); gap:6px; }
  .dash-progress > div { padding:8px; }
  .badge-project { right:0; bottom:8px; }
  .cta-box { min-height:auto; padding:34px 25px; display:grid; text-align:center; justify-items:center; border-radius:23px; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-brand-col, .footer-contact-col { grid-column:1/-1; }
  .footer-contact-col { display:grid; grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .page-hero { min-height:390px; padding:135px 0 55px; }
  .page-hero h1 { font-size:2rem; }
  .blog-hero, .courses-archive-hero { min-height:500px; }
  .hero-search { min-height:54px; }
  .hero-search .button { min-width:75px; padding-inline:11px; }
  .archive-filter, .course-nav-wrap { top:75px; }
  .archive-toolbar { align-items:start; }
  .archive-toolbar .button { width:42px; padding:0; font-size:0; }
  .search-result-item { grid-template-columns:78px 1fr; gap:13px; }
  .search-result-thumb { width:78px; height:78px; }
  .search-result-item > .round-link { display:none; }
  .search-result-item h2 { font-size:14px; }
  .search-result-item p { display:none; }
  .single-post-hero { padding-top:135px; }
  .single-post-hero h1 { font-size:2rem; }
  .single-post-meta { align-items:flex-start; }
  .post-info-meta { display:grid; gap:5px; }
  .article-layout { padding:50px 0; }
  .entry-content { font-size:14px; }
  .post-author-box { grid-template-columns:56px 1fr; }
  .post-author-box img { width:56px; height:56px; }
  .course-hero { padding-top:130px; }
  .course-hero-copy h1 { font-size:2.1rem; }
  .course-hero-meta > span { min-width:calc(50% - 6px); }
  .course-nav { gap:18px; }
  .course-enroll-card { display:block; }
  .course-enroll-card .button { margin-top:15px; }
  .course-feature-grid { grid-template-columns:1fr; }
  .curriculum-heading { align-items:start; }
  .curriculum-heading > div:last-child { display:none; }
  .curriculum-list summary { grid-template-columns:36px 1fr 18px; }
  .lesson-count { display:none; }
  .lesson-item { grid-template-columns:28px 1fr auto; }
  .lesson-item em { display:none; }
  .lesson-item small { grid-column:3; }
  .about-values { grid-template-columns:1fr; }
  .mission-card { padding:28px; }
  .mission-metrics { grid-template-columns:1fr; }
  .form-grid { grid-template-columns:1fr; }
  .contact-form-card, .page-content-card { padding:23px; }
  .auth-panel { display:block; }
  .auth-visual { display:none; }
  .auth-forms { padding:58px 22px 28px; }
  .search-panel { padding:20px; }
  .modal-head h2 { font-size:20px; }
  .live-result-item { grid-template-columns:46px 1fr auto; }
  .live-result-thumb { width:46px; height:46px; }
  .live-result-copy span { display:none; }
  .error-code { letter-spacing:-6px; }
  .error-actions { display:grid; width:100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .reveal { opacity:1; transform:none; }
}


/* ===== v101.css ===== */

/* Codify 1.0.1 visual and compatibility layer */
:root{--bg:#101827;--bg-soft:#172235;--surface:#172235;--surface-2:#1d2a40;--primary:#8b5cf6;--secondary:#22d3ee;--text:#f7f9fc;--muted:#b7c2d1;--line:rgba(226,232,240,.11);--radius:22px;--container:1180px;--codify-header-offset:22px;--codify-logo-height:50px}
html{scroll-padding-top:150px}body{background:radial-gradient(circle at 85% -5%,rgba(139,92,246,.1),transparent 26%),linear-gradient(180deg,var(--bg),#0e1725 48%,#111a28);font-size:15px;line-height:1.85}.container{max-width:var(--container)}.site-main{min-height:60vh}.site-shell{overflow:clip}.entry-content{font-size:15.5px;line-height:2.05;color:#dce4ef}.entry-content p,.entry-content li{font-size:inherit}.entry-content h2{font-size:clamp(1.55rem,2.3vw,2.05rem);line-height:1.55}.entry-content h3{font-size:clamp(1.25rem,1.8vw,1.55rem);line-height:1.65}.eyebrow{font-size:12.5px;letter-spacing:0}.button{font-size:13px;min-height:44px}.button-large{min-height:50px;font-size:13.5px}.text-link{font-size:13px}
/* Floating header: room for WordPress admin bar and a clearer logo. */
.site-header{position:fixed;top:var(--codify-header-offset);right:0;left:0;inset-inline:0;z-index:999;transition:transform .35s ease,top .2s ease}.admin-bar .site-header{top:calc(var(--codify-header-offset) + 32px)}.header-inner{min-height:80px;padding:9px 14px;border-radius:22px;background:rgba(18,29,47,.82);border:1px solid rgba(226,232,240,.12);box-shadow:0 18px 55px rgba(2,6,23,.24);backdrop-filter:blur(20px) saturate(135%)}.site-header.is-scrolled .header-inner{background:rgba(18,29,47,.94);box-shadow:0 20px 65px rgba(2,6,23,.34)}.header-brand{display:flex;align-items:center;min-width:62px}.brand,.custom-logo-link{gap:0}.brand-copy{display:none!important}.brand-mark{width:var(--codify-logo-height);height:var(--codify-logo-height);filter:drop-shadow(0 9px 19px rgba(124,92,246,.32))}.custom-logo{width:auto!important;max-width:210px!important;height:var(--codify-logo-height)!important;object-fit:contain}.brand-custom{display:flex}.nav-list{gap:6px}.nav-list>li>a{padding:10px 11px;font-size:13px;font-weight:700}.icon-button{width:44px;height:44px}.header-account{min-height:44px;padding-inline:16px}
/* Hero typography and visual density. */
.hero-section{min-height:min(830px,92vh);padding-top:158px;padding-bottom:82px}.hero-layout{gap:52px}.hero-copy h1{max-width:620px;margin:18px 0 18px;font-size:clamp(2.05rem,4vw,3.48rem);line-height:1.34;letter-spacing:-1.1px;font-weight:950}.hero-title-main,.hero-title-accent{display:block}.hero-title-accent{width:max-content;max-width:100%;margin-top:5px;padding:0 .12em;background:linear-gradient(100deg,#c4b5fd 5%,#8b5cf6 44%,#22d3ee 92%);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative}.hero-title-accent:after{content:"";position:absolute;right:0;bottom:.03em;width:100%;height:.16em;border-radius:999px;background:linear-gradient(90deg,rgba(139,92,246,.72),rgba(34,211,238,.68));filter:blur(.5px);opacity:.55;transform:rotate(-1deg)}.hero-copy>p{max-width:610px;font-size:15px;line-height:1.95}.hero-kicker{font-size:12.5px}.hero-trust strong{font-size:14px}.hero-trust small{font-size:11.5px}.hero-visual{isolation:isolate}.hero-vector-orbit{position:absolute;inset:-17% -16% -12% -12%;z-index:-1;opacity:.18;filter:saturate(1.2);pointer-events:none}.hero-vector-orbit img{width:100%;height:100%;object-fit:contain;animation:codify-breathe 7s ease-in-out infinite}.code-window{box-shadow:0 35px 90px rgba(2,6,23,.36),0 0 0 1px rgba(255,255,255,.04)}.tech-chip,.mini-card{box-shadow:0 18px 45px rgba(2,6,23,.28)}
/* Standard headings throughout the site. */
.section{padding-block:86px}.section-heading h2,.why-copy h2,.faq-copy h2,.course-content-block h2,.about-story-copy h2,.mission-card h2{font-size:clamp(1.55rem,2.6vw,2.22rem);line-height:1.52;letter-spacing:-.45px}.section-heading p,.why-copy>p,.faq-copy>p{font-size:14px;line-height:1.9}.page-hero{min-height:410px;padding:165px 0 68px}.page-hero h1{font-size:clamp(1.9rem,3.4vw,2.95rem);line-height:1.45;letter-spacing:-.65px}.page-hero p,.archive-description{font-size:14px;line-height:1.9}.page-vector,.archive-vector{position:absolute;z-index:1;pointer-events:none}.page-vector-ticket{top:115px;right:10%;display:grid;place-items:center;width:88px;height:88px;border:1px solid rgba(34,211,238,.2);border-radius:30px;color:#67e8f9;background:rgba(34,211,238,.08);transform:rotate(8deg);animation:codify-float 5s ease-in-out infinite}.archive-vector{width:340px;height:310px;left:-40px;bottom:-85px;opacity:.13}.archive-vector img{width:100%;height:100%;object-fit:contain}
/* Cards: readable metadata, richer depth, full cover images. */
.course-card,.post-card{position:relative;background:linear-gradient(155deg,rgba(30,43,66,.94),rgba(18,28,45,.96));border-color:rgba(226,232,240,.12);box-shadow:0 18px 48px rgba(2,6,23,.18);transform-style:preserve-3d;will-change:transform}.course-card:before,.post-card:before{content:"";position:absolute;z-index:3;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(125deg,transparent 22%,rgba(167,139,250,.34),transparent 62%,rgba(34,211,238,.18));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s;pointer-events:none}.course-card:after,.post-card:after{content:"";position:absolute;z-index:2;top:-90%;left:-55%;width:42%;height:260%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:rotate(20deg);transition:left .7s ease;pointer-events:none}.course-card:hover:before,.post-card:hover:before{opacity:1}.course-card:hover:after,.post-card:hover:after{left:130%}.course-card:hover,.post-card:hover{transform:translateY(-6px);box-shadow:0 30px 75px rgba(2,6,23,.34)}.course-card-media,.post-card-media{aspect-ratio:1.58;background:#101a2a}.course-card-media img,.post-card-media img,.single-featured-image img,.course-hero-media>img{width:100%;height:100%;object-fit:cover;object-position:center}.course-badge,.course-status,.post-card-date{top:14px;padding:7px 10px;font-size:12px;line-height:1.2}.course-card-body,.post-card-body{padding:21px}.course-card-taxonomy,.post-card-meta{font-size:12.5px;line-height:1.6}.course-card h3,.post-card h3{margin:10px 0 7px;font-size:17px;line-height:1.65}.course-card-body>p,.post-card-body>p{min-height:60px;font-size:13.5px;line-height:1.9}.course-card-meta{font-size:12.5px;line-height:1.6;color:#b3bfd0}.course-card-meta .codify-icon{width:18px;height:18px;color:#a78bfa}.course-price del{font-size:11.5px}.course-price strong{font-size:14px}.round-link{width:42px;height:42px}.post-card .text-link{font-size:12.5px}
/* Archive detail sizes. */
.archive-quick-stats strong{font-size:16px}.archive-quick-stats span{font-size:11.5px;line-height:1.65}.archive-toolbar h2{font-size:22px}.archive-toolbar p,.archive-filter a{font-size:12.5px}.filter-scroll{min-height:62px}
/* Article page. */
.reading-progress{position:fixed;z-index:1002;top:0;right:0;left:0;height:3px;background:transparent}.reading-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));box-shadow:0 0 12px rgba(34,211,238,.5)}.single-post-hero{position:relative;overflow:hidden;padding:165px 0 64px;background:radial-gradient(circle at 50% 0,rgba(139,92,246,.14),transparent 52%)}.single-post-hero h1{max-width:850px;margin:17px auto 12px;font-size:clamp(1.9rem,3.4vw,2.95rem);line-height:1.52;letter-spacing:-.6px}.single-post-category{display:inline-flex;padding:7px 12px;border:1px solid rgba(167,139,250,.24);border-radius:999px;background:rgba(139,92,246,.09);font-size:12px}.single-post-excerpt{font-size:14.5px;line-height:1.95}.single-post-meta{margin-top:28px}.author-meta strong{font-size:13.5px}.author-meta small,.post-info-meta{font-size:12px}.post-info-meta span{gap:7px}.article-orbit{position:absolute;top:130px;left:9%;display:grid;place-items:center;width:76px;height:76px;border:1px solid rgba(167,139,250,.2);border-radius:26px;background:rgba(139,92,246,.07);color:#c4b5fd;animation:codify-float 5.5s ease-in-out infinite}.single-featured-image{position:relative;aspect-ratio:16/8.8;max-height:620px;margin-top:42px;overflow:hidden;border:1px solid rgba(226,232,240,.12);border-radius:28px;box-shadow:0 32px 85px rgba(2,6,23,.28)}.single-featured-image .image-accent{position:absolute;inset:auto 8% -1px;width:84%;height:2px;background:linear-gradient(90deg,transparent,var(--primary),var(--secondary),transparent)}.article-layout{grid-template-columns:72px minmax(0,820px);justify-content:center;gap:30px}.article-content{padding:42px 46px;border:1px solid rgba(226,232,240,.1);border-radius:25px;background:linear-gradient(155deg,rgba(25,37,58,.78),rgba(17,27,43,.76));box-shadow:0 24px 60px rgba(2,6,23,.16)}.article-share{top:160px}.article-share>span{font-size:11px}.article-share a,.article-share button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--muted);cursor:pointer}.article-share a:hover,.article-share button:hover{color:#fff;border-color:rgba(139,92,246,.45)}.post-author-box{padding:25px 28px;background:linear-gradient(145deg,rgba(30,43,66,.75),rgba(18,28,45,.8))}.post-author-box span{font-size:11.5px}.post-author-box h3{font-size:17px}.post-author-box p{font-size:13px;line-height:1.9}
/* Course detail page. */
.course-hero{padding:165px 0 74px;background:radial-gradient(circle at 18% 30%,rgba(139,92,246,.16),transparent 36%),radial-gradient(circle at 88% 28%,rgba(34,211,238,.08),transparent 28%)}.course-hero-layout{gap:56px}.course-hero-copy h1{margin:16px 0 12px;font-size:clamp(1.95rem,3.6vw,3.12rem);line-height:1.47;letter-spacing:-.7px}.course-hero-copy>p{font-size:14.5px;line-height:1.95}.course-hero-labels>*,.course-hero-labels>a{font-size:11.5px;padding:7px 10px}.course-hero-meta>span{min-width:135px;padding:13px 14px;background:rgba(255,255,255,.035)}.course-hero-meta b{font-size:13px}.course-hero-meta small{font-size:11px}.course-hero-media{aspect-ratio:1.5;border-radius:28px;box-shadow:0 38px 95px rgba(2,6,23,.34)}.course-hero-vector{position:absolute;left:-120px;top:70px;width:400px;height:400px;opacity:.1;pointer-events:none}.course-hero-vector img{width:100%;height:100%;object-fit:contain}.course-play{display:grid;place-items:center}.course-nav-wrap{top:calc(var(--codify-header-offset) + 96px);background:rgba(16,24,39,.9)}.admin-bar .course-nav-wrap{top:calc(var(--codify-header-offset) + 128px)}.course-nav a{font-size:12.5px}.course-content-layout{grid-template-columns:minmax(0,1fr) 350px;gap:42px}.course-content-block{padding:31px;border:1px solid rgba(226,232,240,.1);border-radius:24px;background:rgba(25,37,58,.58)}.course-content-block+.course-content-block{margin-top:22px}.course-content-block>h2{font-size:clamp(1.5rem,2.25vw,2rem)}.course-feature-grid>div,.course-feature-item{padding:19px;border-color:rgba(226,232,240,.1);background:rgba(255,255,255,.025)}.course-feature-grid h3{font-size:14px}.course-feature-grid p{font-size:12.5px;line-height:1.8}.course-feature-item>span{width:42px;height:42px}.curriculum-heading>div:last-child span{font-size:11.5px;padding:7px 10px}.curriculum-list details{background:rgba(12,20,33,.58)}.curriculum-list summary{min-height:82px;padding:16px 18px}.curriculum-list summary h3{font-size:14px}.curriculum-list summary p{font-size:11.5px;line-height:1.7}.lesson-count{font-size:11.5px}.lesson-item{font-size:12.5px;min-height:54px}.lesson-item small,.lesson-item em{font-size:11px}.course-enroll-card{padding:24px;border-radius:24px;background:linear-gradient(150deg,rgba(31,45,69,.96),rgba(18,28,45,.98));box-shadow:0 26px 70px rgba(2,6,23,.25)}.enroll-card-top{display:flex;align-items:center;gap:9px;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid var(--line);color:#a5f3fc}.enroll-card-top small{font-size:12px}.course-enroll-price>span{font-size:12px}.course-enroll-price strong{font-size:22px}.course-enroll-card li{font-size:12.5px}.course-enroll-card li b{font-size:12.5px;max-width:48%}.secure-note{font-size:11.5px}.accordion-list summary{font-size:13.5px}.accordion-list p{font-size:13px;line-height:1.9}
/* Contact and ticket form. */
.contact-form-card,.page-content-card{padding:34px;background:linear-gradient(145deg,rgba(30,43,66,.8),rgba(18,28,45,.94))}.contact-form-card h2{font-size:24px}.contact-form-card>p{font-size:13px;line-height:1.9}.demo-contact-form label>span,.auth-form label>span{font-size:12.5px}.demo-contact-form input,.demo-contact-form textarea,.demo-contact-form select,.auth-form input{min-height:47px;padding:12px 14px;background:#111c2e;font-size:14px}.demo-contact-form textarea{min-height:150px}.contact-cards small{font-size:11.5px}.contact-cards strong{font-size:13px}.contact-hours{font-size:13px}
/* Footer rebuilt with readable type and an upper CTA. */
.site-footer{padding:44px 0 26px;background:linear-gradient(180deg,#0d1624,#0a111c);border-top-color:rgba(226,232,240,.1)}.footer-cta-mini{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-bottom:55px;padding:22px 24px;border:1px solid rgba(167,139,250,.18);border-radius:22px;background:linear-gradient(110deg,rgba(139,92,246,.12),rgba(34,211,238,.06));overflow:hidden}.footer-cta-mini:after{content:"";position:absolute;left:-30px;top:-55px;width:140px;height:140px;border-radius:50%;background:rgba(34,211,238,.08);filter:blur(5px)}.footer-cta-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:rgba(139,92,246,.16);color:#c4b5fd}.footer-cta-mini strong{display:block;font-size:15px}.footer-cta-mini span{display:block;margin-top:3px;color:var(--muted);font-size:12.5px}.footer-main{grid-template-columns:1.3fr .8fr .8fr 1.15fr;gap:42px}.footer-brand-col>p{font-size:13px;line-height:1.9}.footer-main h3{font-size:14px}.footer-menu a,.footer-contact-col a,.footer-contact-col>div{font-size:12.5px;line-height:1.8}.footer-bottom p,.back-to-top,.footer-version{font-size:11.5px}.footer-version{color:#7e8ba0}
/* Elementor integration. */
.elementor-page-main{padding-top:calc(var(--codify-header-offset) + 108px)}.elementor-page-main>.elementor{min-height:60vh}.codify-elementor-page .elementor-section-wrap,.codify-elementor-page .e-con{--container-max-width:var(--container)}.codify-elementor-hero{margin-top:calc((var(--codify-header-offset) + 108px) * -1)}.codify-vector-stage{position:relative;display:grid;place-items:center;max-width:600px;margin:auto}.codify-vector-stage>img{width:100%;filter:drop-shadow(0 28px 55px rgba(2,6,23,.28))}.vector-chip{position:absolute;display:grid;place-items:center;width:55px;height:55px;border:1px solid rgba(226,232,240,.14);border-radius:18px;background:rgba(24,37,58,.9);box-shadow:0 18px 45px rgba(2,6,23,.25);color:#c4b5fd;animation:codify-float 5s ease-in-out infinite}.vc-code{top:18%;right:4%}.vc-ai{top:12%;left:9%;animation-delay:-1.4s;color:#67e8f9}.vc-web{bottom:14%;right:10%;animation-delay:-2.6s}.codify-elementor-grid .cards-grid{margin-top:24px}
/* Motion */
@keyframes codify-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(2deg)}}@keyframes codify-breathe{0%,100%{transform:scale(.98) rotate(-1deg)}50%{transform:scale(1.03) rotate(1deg)}}
@media(max-width:900px){.admin-bar .site-header{top:calc(var(--codify-header-offset) + 46px)}.header-inner{min-height:72px}.hero-section{padding-top:145px}.hero-copy h1{font-size:clamp(2rem,7vw,2.85rem);max-width:720px}.hero-title-accent{margin-inline:auto}.hero-vector-orbit{inset:-8%}.article-layout{grid-template-columns:1fr}.article-share{position:static;flex-direction:row;justify-content:center}.course-content-layout{grid-template-columns:1fr}.course-sidebar{position:static}.course-nav-wrap,.admin-bar .course-nav-wrap{top:calc(var(--codify-header-offset) + 82px)}.footer-main{grid-template-columns:1fr 1fr}.footer-brand-col,.footer-contact-col{grid-column:1/-1}.footer-cta-mini{grid-template-columns:auto 1fr}.footer-cta-mini .button{grid-column:1/-1}.archive-vector,.course-hero-vector{opacity:.06}}
@media(max-width:782px){.admin-bar .site-header{top:calc(var(--codify-header-offset) + 46px)}}
@media(max-width:680px){:root{--codify-header-offset:10px}.site-header{top:var(--codify-header-offset)}.admin-bar .site-header{top:calc(var(--codify-header-offset) + 46px)}.site-header .container{width:calc(100% - 16px)}.header-inner{min-height:68px;padding:7px 9px;border-radius:18px}.brand-mark{width:44px;height:44px}.custom-logo{height:44px!important;max-width:150px!important}.header-account span{display:none}.header-account{width:44px;padding:0}.hero-section{min-height:auto;padding:128px 0 62px}.hero-copy h1{font-size:clamp(1.9rem,9vw,2.55rem);line-height:1.42;letter-spacing:-.6px}.hero-copy>p{font-size:14px}.hero-trust{font-size:12px}.section{padding-block:64px}.section-heading h2,.why-copy h2,.faq-copy h2,.course-content-block h2{font-size:1.55rem}.page-hero{min-height:350px;padding:130px 0 50px}.page-hero h1{font-size:1.9rem}.page-vector-ticket{display:none}.course-card-body,.post-card-body{padding:18px}.course-card-body>p,.post-card-body>p{font-size:13px}.single-post-hero{padding:132px 0 45px}.single-post-hero h1{font-size:1.9rem}.single-post-excerpt{font-size:13.5px}.single-featured-image{margin-top:25px;border-radius:20px;aspect-ratio:16/10}.article-content{padding:25px 20px}.course-hero{padding:132px 0 55px}.course-hero-copy h1{font-size:2rem}.course-hero-meta>span{min-width:calc(50% - 6px)}.course-content-block{padding:22px 18px}.curriculum-list summary{grid-template-columns:36px 1fr 18px}.curriculum-list .lesson-count{display:none}.footer-main{grid-template-columns:1fr}.footer-brand-col,.footer-contact-col{grid-column:auto}.footer-cta-mini{grid-template-columns:1fr;text-align:center}.footer-cta-icon{margin:auto}.contact-form-card,.page-content-card{padding:23px}.form-grid{grid-template-columns:1fr}.elementor-page-main{padding-top:100px}}
@media(prefers-reduced-motion:reduce){.hero-vector-orbit img,.page-vector-ticket,.article-orbit,.vector-chip{animation:none!important}.course-card,.post-card{transform:none!important}.course-card:after,.post-card:after{display:none}}

/* ===== 1.0.1 visual refinement patch ===== */
:root{
  --line: rgba(226,232,240,.09);
  --line-strong: rgba(167,139,250,.2);
  --soft-panel: linear-gradient(155deg,rgba(27,39,60,.9),rgba(16,24,39,.92));
}
body{font-size:16.5px;line-height:1.95;background:radial-gradient(circle at 50% -10%,rgba(139,92,246,.12),transparent 28%),var(--bg)}
p,li,label,input,textarea,select,.entry-content,.footer-menu a,.footer-contact-col a,.footer-contact-col>div{font-size:15px}
.section-heading h2,.why-copy h2,.faq-copy h2,.course-content-block>h2,.single-post-hero h1{letter-spacing:-.6px;text-wrap:balance}
.section-heading h2,.why-copy h2,.faq-copy h2{font-size:clamp(1.7rem,2.4vw,2.45rem);line-height:1.5}
.eyebrow{gap:10px;padding:8px 12px;border-radius:999px;background:rgba(139,92,246,.08);border:1px solid rgba(139,92,246,.16)}
.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 0 0 6px rgba(139,92,246,.08)}

/* Header and hero */
.site-header{inset:22px 0 auto}
.header-inner{min-height:78px;padding:0 16px 0 14px;border-radius:24px;border-color:rgba(226,232,240,.08);background:rgba(14,20,32,.76);box-shadow:0 18px 44px rgba(2,6,23,.18)}
.brand-mark{width:48px;height:48px}
.custom-logo{max-height:50px}
.nav-list>li>a{padding:11px 14px;font-size:14.5px}
.icon-button,.header-account{min-height:46px}
.hero-copy h1{max-width:760px;font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.45;letter-spacing:-.85px}
.hero-title-main,.hero-title-accent{display:inline}
.hero-title-main{margin-inline-start:0}
.hero-title-accent{display:inline-flex;align-items:center;gap:8px;width:auto;margin-top:0;padding:.1em .38em;border-radius:.45em;background:linear-gradient(115deg,rgba(139,92,246,.18),rgba(34,211,238,.14));box-shadow:inset 0 0 0 1px rgba(167,139,250,.14)}
.hero-title-accent:after{display:none}
.hero-copy>p{font-size:15.5px;line-height:2;color:#bcc7d6}
.hero-trust{gap:16px}
.hero-trust strong{font-size:15px}
.hero-trust small{font-size:12px}

/* Softer borders and panels */
.course-content-block,.contact-form-card,.page-content-card,.article-content,.post-author-box,.course-enroll-card,.course-card,.post-card,.testimonial-card,.path-card,.accordion-list details,.curriculum-list details,.archive-quick-stats span,.course-hero-meta>span{border-color:rgba(226,232,240,.08)!important;box-shadow:0 20px 60px rgba(2,6,23,.14)}
.course-content-block,.article-content,.contact-form-card,.page-content-card,.course-enroll-card{background:var(--soft-panel)}

/* Home stats strip redesign */
.stats-strip{position:relative;padding:26px 0 34px;background:transparent;border:none}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.stat-card{position:relative;padding:22px 18px 18px;border:1px solid rgba(226,232,240,.09);border-radius:24px;background:linear-gradient(155deg,rgba(23,35,56,.86),rgba(14,22,36,.92));overflow:hidden;isolation:isolate}
.stat-card:before{content:"";position:absolute;inset:auto auto -40% -12%;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.12),transparent 65%);z-index:-1}
.stat-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 34%);pointer-events:none}
.stat-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:16px;border-radius:16px;background:rgba(139,92,246,.12);color:#c7b8ff;box-shadow:inset 0 0 0 1px rgba(167,139,250,.14)}
.stat-card strong{display:block;font-size:2rem;line-height:1.2;color:#fff}
.stat-card>span:last-of-type{display:block;margin-top:6px;font-size:15px;font-weight:700;color:#edf2fa}
.stat-card small{display:block;margin-top:6px;color:#95a6bd;font-size:13px;line-height:1.8}

/* Why section animated vector */
.why-visual{position:relative}
.dashboard-mock{position:relative;overflow:visible}
.badge-live{position:absolute;left:0;bottom:18%;animation:codify-float 6s ease-in-out infinite -1.2s}
.orbit-dots{position:absolute;inset:-24px -20px auto auto;width:160px;height:160px;border-radius:50%;border:1px dashed rgba(34,211,238,.18);animation:spin 20s linear infinite}
.orbit-dots span{position:absolute;top:50%;left:50%;width:12px;height:12px;margin:-6px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 0 0 8px rgba(139,92,246,.08)}
.orbit-dots span:nth-child(1){transform:translate(-70px,-10px)}
.orbit-dots span:nth-child(2){transform:translate(58px,-36px);background:linear-gradient(135deg,#67e8f9,#8b5cf6)}
.orbit-dots span:nth-child(3){transform:translate(4px,68px);background:linear-gradient(135deg,#22d3ee,#06b6d4)}
@keyframes spin{to{transform:rotate(360deg)}}

/* Cards with uncropped images */
.course-card,.post-card{border-radius:30px;overflow:hidden}
.course-card-media,.post-card-media{aspect-ratio:1.48;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(15,23,42,.08))}
.course-card-media img,.post-card-media img{object-fit:contain!important;padding:14px;background:linear-gradient(160deg,rgba(15,23,42,.18),rgba(255,255,255,.02))}
.course-card-overlay{background:linear-gradient(180deg,transparent 34%,rgba(8,14,24,.08) 60%,rgba(8,14,24,.18) 100%)}
.course-badge,.course-status,.post-card-date{top:16px;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px)}
.course-card-taxonomy,.post-card-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.course-card-taxonomy a,.course-card-taxonomy span,.post-card-meta span:first-child{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:rgba(139,92,246,.09);border:1px solid rgba(139,92,246,.14);color:#d9ccff;font-size:12.5px;font-weight:700}
.course-card h3,.post-card h3{font-size:1.34rem;line-height:1.7;margin:14px 0 9px}
.course-card-body>p,.post-card-body>p{min-height:unset;font-size:14.2px;line-height:1.95;color:#b7c2d1}
.course-card-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding-top:4px}
.course-card-meta span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:13px;background:rgba(255,255,255,.03);font-size:13.5px}
.course-card-footer{align-items:flex-end;padding-top:16px;margin-top:18px;border-top:1px solid rgba(226,232,240,.08)}
.course-price strong{font-size:18px}
.course-price del{display:block;margin-bottom:3px;font-size:12.5px}
.round-link{width:48px;height:48px;border-color:rgba(255,255,255,.09)}
.post-card .text-link{margin-top:10px;font-size:13.5px}
.post-card-body{padding:22px 22px 24px}
.post-card-date{left:16px;right:auto;background:rgba(13,19,32,.76)}

/* Single article improvement */
.single-post-hero{padding:156px 0 60px;background:radial-gradient(circle at 50% 0,rgba(139,92,246,.16),transparent 42%)}
.single-post-hero h1{font-size:clamp(2rem,3.8vw,3.28rem);line-height:1.55;margin:22px auto 16px;max-width:920px}
.single-post-excerpt{max-width:820px;font-size:15.5px;line-height:2;color:#b7c2d1}
.single-post-meta{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-top:34px;padding-top:26px;border-top:1px solid rgba(226,232,240,.08)}
.author-meta{padding:12px 16px;border-radius:20px;background:rgba(255,255,255,.035);border:1px solid rgba(226,232,240,.08)}
.post-info-meta{display:flex;flex-wrap:wrap;gap:12px}
.post-info-meta span{display:inline-flex;align-items:center;gap:8px;padding:11px 13px;border-radius:15px;background:rgba(255,255,255,.03);border:1px solid rgba(226,232,240,.07);font-size:13.5px}
.single-featured-image{margin-top:34px;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015))}
.single-featured-image img{object-fit:contain!important;padding:16px}
.article-layout{grid-template-columns:82px minmax(0,860px);gap:34px}
.article-content{font-size:16px;line-height:2.05}
.article-content h2{font-size:1.7rem;line-height:1.6;margin-top:1.8em}
.article-content h3{font-size:1.32rem;line-height:1.7;margin-top:1.5em}
.article-content p,.article-content li{font-size:15.6px}
.article-share a,.article-share button{width:46px;height:46px;border-radius:14px}
.post-author-box{display:grid;grid-template-columns:76px 1fr;gap:18px;align-items:center;border-radius:24px}
.post-author-box p{font-size:14.2px}

/* Course hero and meta */
.course-hero{padding:152px 0 66px}
.course-hero-layout{align-items:start;gap:42px}
.course-hero-copy h1{font-size:clamp(1.95rem,3vw,2.65rem);line-height:1.6;margin:16px 0 14px;max-width:740px}
.course-hero-copy>p{font-size:15px;line-height:2;color:#b9c4d4;max-width:700px}
.course-hero-labels{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.course-hero-labels>*,.course-hero-labels>a{font-size:12.5px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.035)}
.course-hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}
.course-hero-meta>span{position:relative;display:flex;align-items:center;gap:12px;min-width:0;padding:16px 18px;border-radius:20px;background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.02));overflow:hidden}
.course-hero-meta>span:before{content:"";position:absolute;inset:auto auto 0 0;width:100%;height:2px;background:linear-gradient(90deg,var(--primary),var(--secondary));opacity:.5}
.course-hero-meta .codify-icon{flex:0 0 auto;color:#baa5ff;width:22px;height:22px}
.course-hero-meta b{display:block;font-size:1rem;color:#fff;line-height:1.4}
.course-hero-meta small{display:block;margin-top:2px;font-size:12.5px;color:#95a6bd}
.course-hero-media{aspect-ratio:1.42;border:1px solid rgba(226,232,240,.08);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.02))}
.course-hero-media>img{object-fit:contain!important;padding:16px}

/* Course section nav as non-sticky chips */
.course-nav-wrap{position:relative;top:auto!important;z-index:1;margin-top:-8px;margin-bottom:4px;border:none;background:transparent;backdrop-filter:none}
.admin-bar .course-nav-wrap{top:auto!important}
.course-nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:12px 0 0}
.course-nav a{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(226,232,240,.08);font-size:13px;color:#dce4ef}
.course-nav a:hover{background:rgba(139,92,246,.12);border-color:rgba(139,92,246,.18);color:#fff}

/* Course content blocks */
.course-content-layout{grid-template-columns:minmax(0,1fr) 360px;gap:34px}
.course-content-block{padding:34px;border-radius:28px}
.course-content-block>h2{font-size:clamp(1.46rem,2vw,1.95rem);line-height:1.55;margin:16px 0 14px}
.course-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.course-feature-item{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:20px;background:rgba(255,255,255,.03)}
.course-feature-item>span{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:rgba(139,92,246,.12);color:#c8b8ff}
.course-feature-grid h3{font-size:15px;margin:0 0 4px}
.course-feature-grid p{font-size:13.5px;line-height:1.9}
.curriculum-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;flex-wrap:wrap;margin-bottom:20px}
.curriculum-heading>div:last-child{display:flex;gap:10px;flex-wrap:wrap}
.curriculum-heading>div:last-child span{font-size:12.5px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.035);border:1px solid rgba(226,232,240,.08)}
.curriculum-list{gap:14px}
.curriculum-list details{border-radius:22px;background:linear-gradient(155deg,rgba(14,22,36,.92),rgba(19,30,47,.95));overflow:hidden}
.curriculum-list details[open]{box-shadow:0 18px 52px rgba(2,6,23,.18)}
.curriculum-list summary{min-height:92px;padding:18px 20px;grid-template-columns:44px 1fr auto 24px;gap:16px}
.chapter-count{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,rgba(139,92,246,.22),rgba(34,211,238,.16));border:1px solid rgba(167,139,250,.2);font-size:14px;font-weight:800;color:#fff}
.curriculum-list summary h3{font-size:15.6px;line-height:1.75}
.curriculum-list summary p{margin-top:4px;font-size:13px;line-height:1.8;color:#9fb0c7}
.lesson-count{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.035);font-size:12.5px;color:#dce4ef}
.lesson-list{padding:0 20px 18px;display:grid;gap:10px}
.lesson-item{display:grid;grid-template-columns:26px 1fr auto auto;gap:12px;align-items:center;min-height:62px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.025);font-size:14px;color:#e7edf6}
.lesson-play{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:rgba(139,92,246,.12);color:#c7b8ff}
.lesson-item div{line-height:1.9}
.lesson-item small,.lesson-item em{font-size:12.5px;color:#95a6bd}
.lesson-item em{padding:5px 9px;border-radius:999px;background:rgba(34,211,238,.1);color:#a5f3fc;font-style:normal}

/* FAQ section */
.course-faq-list,.accordion-list{display:grid;gap:12px}
.accordion-list details{border-radius:20px;background:rgba(255,255,255,.03)}
.accordion-list summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;font-size:15px;font-weight:700;line-height:1.8}
.accordion-list p{padding:0 20px 18px;font-size:14px;line-height:2;color:#b8c4d5}

/* Course enroll box redesign */
.course-sidebar{position:sticky;top:calc(var(--codify-header-offset) + 92px)}
.course-enroll-card{position:relative;padding:28px;border-radius:28px;overflow:hidden;background:linear-gradient(155deg,rgba(27,39,60,.98),rgba(15,23,38,.98));box-shadow:0 28px 72px rgba(2,6,23,.26)}
.course-enroll-card:before{content:"";position:absolute;inset:0 0 auto 0;height:180px;background:radial-gradient(circle at top left,rgba(139,92,246,.18),transparent 58%),radial-gradient(circle at top right,rgba(34,211,238,.1),transparent 46%);pointer-events:none}
.enroll-card-top{position:relative;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid rgba(226,232,240,.08)}
.enroll-card-top span{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:rgba(34,211,238,.1);color:#b9f7ff}
.enroll-card-top small{display:block;margin-top:10px;font-size:14px;font-weight:700;color:#bff4ff}
.course-enroll-price{position:relative;display:grid;gap:7px;margin-bottom:20px}
.course-enroll-price span{font-size:13px;color:#95a6bd}
.course-enroll-price strong{font-size:2rem;line-height:1.2;color:#fff}
.course-enroll-price del{font-size:13px;color:#9fb0c7}
.course-enroll-card .button{min-height:54px;font-size:15px;border-radius:16px}
.course-enroll-card ul{margin:22px 0 0;padding:18px 0 0;gap:14px;border-top:1px solid rgba(226,232,240,.08)}
.course-enroll-card li{grid-template-columns:22px 1fr auto;gap:10px;font-size:14px;color:#b7c2d1}
.course-enroll-card li .codify-icon{width:18px;height:18px;color:#c6b6ff}
.course-enroll-card li span{font-size:14px}
.course-enroll-card li b{max-width:none;font-size:14px;color:#fff;text-align:left}

/* Footer and CTA */
.instagram-cta{position:relative;display:grid;grid-template-columns:1.2fr auto;gap:24px;align-items:center;overflow:hidden}
.instagram-cta-vectors{position:absolute;inset:0;pointer-events:none}
.ig-orb{position:absolute;border-radius:50%;filter:blur(2px);animation:codify-float 7s ease-in-out infinite}
.ig-orb-1{width:220px;height:220px;left:-36px;top:-50px;background:radial-gradient(circle,rgba(139,92,246,.28),transparent 68%)}
.ig-orb-2{width:180px;height:180px;right:10%;bottom:-70px;background:radial-gradient(circle,rgba(34,211,238,.18),transparent 68%);animation-delay:-1.4s}
.ig-tag{position:absolute;top:18%;left:10%;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(226,232,240,.12);font-size:13px;color:#fff;box-shadow:0 16px 40px rgba(2,6,23,.22)}
.ig-tag-alt{top:auto;bottom:18%;left:auto;right:10%;animation:codify-float 6.5s ease-in-out infinite -1.1s}
.instagram-cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.footer-cta-mini{border-radius:24px;padding:24px 26px}
.footer-cta-mini strong{font-size:16px}
.footer-cta-mini span{font-size:13.5px;line-height:1.8}
.footer-main h3{font-size:15px}
.footer-brand-col>p{font-size:14px}
.footer-menu a,.footer-contact-col a,.footer-contact-col>div{font-size:14px;line-height:2}
.footer-bottom p,.back-to-top,.footer-version{font-size:12.5px}
.footer-contact-col a,.footer-contact-col>div{display:flex;align-items:flex-start;gap:10px}
.social-links a{width:42px;height:42px}

/* Smaller screens */
@media(max-width:1100px){
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-content-layout{grid-template-columns:1fr}
  .course-sidebar{position:static}
  .instagram-cta{grid-template-columns:1fr}
  .instagram-cta-actions{justify-content:flex-start}
}
@media(max-width:900px){
  .hero-copy h1{font-size:clamp(1.9rem,6.5vw,2.9rem)}
  .single-post-meta{grid-template-columns:1fr}
  .article-layout{grid-template-columns:1fr}
  .course-hero-meta{grid-template-columns:1fr}
  .course-feature-grid{grid-template-columns:1fr}
  .course-nav{justify-content:flex-start;overflow:auto;padding-bottom:6px}
  .course-nav a{white-space:nowrap}
}
@media(max-width:680px){
  body{font-size:16px}
  .header-inner{min-height:70px}
  .hero-copy h1{font-size:clamp(1.78rem,8vw,2.35rem);line-height:1.55}
  .hero-title-main,.hero-title-accent{display:block}
  .hero-title-accent{margin-top:8px}
  .stats-grid{grid-template-columns:1fr}
  .stat-card strong{font-size:1.75rem}
  .course-card h3,.post-card h3{font-size:1.18rem}
  .single-post-hero h1{font-size:1.95rem}
  .single-featured-image img,.course-card-media img,.post-card-media img,.course-hero-media>img{padding:10px}
  .course-content-block{padding:24px 18px}
  .curriculum-list summary{grid-template-columns:40px 1fr 20px;gap:12px}
  .lesson-count{display:none}
  .lesson-list{padding:0 14px 14px}
  .lesson-item{grid-template-columns:24px 1fr;gap:10px}
  .lesson-item small,.lesson-item em{grid-column:2}
  .course-enroll-card{padding:22px 18px}
  .course-enroll-price strong{font-size:1.72rem}
  .footer-cta-mini{padding:20px}
}
@media(prefers-reduced-motion:reduce){
  .orbit-dots,.ig-orb,.ig-tag-alt,.badge-live{animation:none!important}
}


/* ===== v102.css ===== */

/* کدیفای 1.0.3 — layout, Elementor, responsive and component refinements */
:root{
  --section-space:96px;
  --mobile-gutter:18px;
  --card-radius:26px;
  --soft-line:rgba(226,232,240,.085);
  --soft-line-hover:rgba(167,139,250,.25);
  --glass:linear-gradient(155deg,rgba(28,41,64,.91),rgba(15,24,39,.95));
}
html{scroll-padding-top:110px}
body{font-size:16px;line-height:1.95}
.container{width:min(calc(100% - 40px),var(--container))}
.section{padding:var(--section-space) 0}
.entry-content,.article-content,.course-content-block,.comments-area{font-size:15.5px}
.entry-content p,.entry-content li,.article-content p,.article-content li{font-size:15.5px;line-height:2.05}
.post-breadcrumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#a8b6ca;font-size:13px;line-height:1.8}
.post-breadcrumb a{padding:5px 8px;border-radius:9px}
.post-breadcrumb a:hover{color:#fff;background:rgba(255,255,255,.05)}

/* Hero title: solid fallback first, creative accent second. */
.hero-copy h1{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:.22em .28em;max-width:760px;margin:22px 0 22px;font-size:clamp(2rem,4vw,3.45rem);line-height:1.45;letter-spacing:-1px;color:#fff;overflow:visible}
.hero-title-main{display:inline;color:#fff!important;background:none!important;-webkit-text-fill-color:currentColor!important}
.hero-title-accent{position:relative;display:inline-flex!important;align-items:center;gap:.2em;max-width:100%;padding:.08em .34em .12em;border:1px solid rgba(167,139,250,.22);border-radius:.48em;background:linear-gradient(115deg,rgba(139,92,246,.19),rgba(34,211,238,.12));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 16px 42px rgba(2,6,23,.16);color:#ddd6fe!important;-webkit-text-fill-color:currentColor!important}
.hero-title-accent span{display:inline;color:#ddd6fe!important;-webkit-text-fill-color:#ddd6fe!important;background:none!important}
.hero-title-accent b{display:inline-flex;align-items:center;justify-content:center;padding:.18em .32em;border-radius:.35em;background:rgba(34,211,238,.1);color:#8eeeff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.38em;letter-spacing:0}
.hero-title-accent:before{content:"";position:absolute;right:8%;bottom:-10px;width:62%;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--secondary));filter:blur(2px);opacity:.48;transform:rotate(-1deg)}
.hero-title-accent:after{display:none!important}
.hero-title-doodle{position:absolute;left:1%;top:-18px;display:flex;gap:6px;transform:rotate(-8deg)}
.hero-title-doodle i{display:block;width:6px;height:6px;border-radius:50%;background:var(--secondary);box-shadow:0 0 0 5px rgba(34,211,238,.08)}
.hero-title-doodle i:nth-child(2){width:24px;height:3px;margin-top:2px;border-radius:3px;background:var(--primary);box-shadow:none}
.hero-title-doodle i:nth-child(3){background:#c4b5fd}

/* Stats alignment and halo. */
.stats-strip{padding:34px 0;background:transparent;border:0}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.stat-card{display:grid;justify-items:center;align-content:start;text-align:center;min-height:218px;padding:24px 18px;border:1px solid var(--soft-line);border-radius:24px;background:linear-gradient(155deg,rgba(25,38,60,.9),rgba(15,24,39,.94));box-shadow:0 22px 54px rgba(2,6,23,.16);overflow:hidden}
.stat-icon{position:relative;display:grid!important;place-items:center;width:52px;height:52px;margin:0 auto 16px;border:1px solid rgba(167,139,250,.18);border-radius:17px;background:linear-gradient(145deg,rgba(139,92,246,.17),rgba(34,211,238,.07));color:#d4c8ff}
.stat-icon:after{content:"";position:absolute;inset:-16px;border-radius:25px;background:radial-gradient(circle,rgba(139,92,246,.14),transparent 68%);z-index:-1}
.stat-icon .codify-icon{display:block;margin:0!important;transform:none!important}
.stat-card strong{margin:0;font-size:2rem;line-height:1.2}
.stat-card>span:last-of-type{margin-top:9px;font-size:15px;font-weight:800;color:#eef3fa}
.stat-card small{margin-top:7px;font-size:13px;line-height:1.75;color:#95a7bd}

/* Reusable card grids. */
.cards-grid{align-items:stretch}
.courses-grid,.course-grid,.posts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.course-card,.post-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--soft-line)!important;border-radius:var(--card-radius)!important;background:var(--glass)!important;box-shadow:0 22px 58px rgba(2,6,23,.18)!important;overflow:hidden;isolation:isolate}
.course-card:hover,.post-card:hover{border-color:var(--soft-line-hover)!important;box-shadow:0 34px 82px rgba(2,6,23,.3)!important}
.course-card-media,.post-card-media{position:relative;display:grid;place-items:center;aspect-ratio:16/10;min-height:220px;padding:14px;overflow:hidden;background:#0e1726}
.card-media-backdrop{position:absolute;inset:-20px;background-position:center;background-size:cover;filter:blur(24px) saturate(.82);opacity:.38;transform:scale(1.16)}
.card-media-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,15,26,.08),rgba(9,15,26,.42))}
.card-media-image{position:relative;z-index:2;width:100%!important;height:100%!important;max-height:290px;object-fit:contain!important;object-position:center;border-radius:17px;padding:0!important;background:transparent!important;filter:drop-shadow(0 18px 32px rgba(2,6,23,.22))}
.card-media-arrow{position:absolute;z-index:5;left:16px;bottom:16px;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(11,18,30,.62);color:#fff;backdrop-filter:blur(12px);transform:translateY(8px);opacity:0;transition:.3s var(--ease)}
.course-card:hover .card-media-arrow{opacity:1;transform:translateY(0)}
.course-status{position:absolute;z-index:6;top:16px;right:16px;left:auto;padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(11,18,30,.68);backdrop-filter:blur(12px);font-size:12px;font-weight:800;color:#fff}
.course-badge{display:none!important}
.course-card-body,.post-card-body{display:flex;flex:1;flex-direction:column;padding:23px 23px 24px}
.course-card-taxonomy{display:inline-flex!important;align-items:center;gap:7px;align-self:flex-start;width:auto;padding:7px 11px;border:1px solid rgba(139,92,246,.17);border-radius:999px;background:rgba(139,92,246,.09);color:#d8ccff;font-size:12.5px;font-weight:800}
.course-card h3,.post-card h3{margin:14px 0 9px;font-size:1.25rem;line-height:1.75;letter-spacing:-.25px}
.course-card-body>p,.post-card-body>p{margin:0 0 17px;font-size:14px;line-height:1.95;color:#b4c1d2}
.course-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:auto}
.course-card-meta>span{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:3px 8px;padding:12px;border:1px solid rgba(226,232,240,.065);border-radius:16px;background:rgba(255,255,255,.025)}
.course-card-meta .codify-icon{grid-row:1/3;color:#baa6ff}
.course-card-meta b{font-size:13.5px;color:#fff;line-height:1.4}
.course-card-meta small{font-size:11.5px;color:#8799b0;line-height:1.35}
.course-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(226,232,240,.075)}
.course-price{display:grid;gap:3px}
.course-price strong{font-size:16px;color:#fff}
.course-price del{font-size:12px;color:#8392a8}
.course-card-button{min-height:42px;padding:8px 13px;font-size:12.5px;border-radius:13px}

/* Post cards: same height and footer position. */
.post-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12.5px}
.post-card-meta a,.post-card-meta>span:first-child{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(34,211,238,.075);border:1px solid rgba(34,211,238,.13);color:#a5f3fc;font-weight:700}
.post-card-meta>span:last-child{display:inline-flex;align-items:center;gap:6px;color:#9fb0c5}
.post-card-date{position:absolute;z-index:5;top:16px;left:16px;right:auto;display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(11,18,30,.7);backdrop-filter:blur(12px);font-size:11.5px;color:#fff}
.post-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:17px;border-top:1px solid rgba(226,232,240,.075)}
.post-card-footer>span{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:rgba(139,92,246,.09);color:#baa6ff}
.post-card .text-link{margin:0;font-size:13.5px}

/* Network canvas visual. */
.codefy-network-stage{position:relative;min-height:470px;border:1px solid rgba(226,232,240,.085);border-radius:34px;background:radial-gradient(circle at 50% 45%,rgba(139,92,246,.13),transparent 42%),linear-gradient(145deg,rgba(20,31,50,.94),rgba(10,17,29,.97));box-shadow:0 34px 90px rgba(2,6,23,.3);overflow:hidden;isolation:isolate}
.codefy-network-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.045) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(circle at center,#000,transparent 78%)}
.codefy-network-stage canvas{position:absolute;inset:0;width:100%;height:100%}
.network-core{position:absolute;z-index:3;top:50%;left:50%;display:grid;place-items:center;width:108px;height:108px;border:1px solid rgba(167,139,250,.24);border-radius:32px;background:linear-gradient(145deg,rgba(139,92,246,.24),rgba(34,211,238,.1));color:#fff;transform:translate(-50%,-50%);box-shadow:0 0 0 16px rgba(139,92,246,.045),0 26px 60px rgba(2,6,23,.28)}
.network-core span{display:grid;place-items:center;width:58px;height:58px;border-radius:20px;background:rgba(7,13,23,.62)}
.network-core i,.network-core b{position:absolute;inset:-28px;border:1px dashed rgba(167,139,250,.18);border-radius:42px;animation:codefy-spin 18s linear infinite}
.network-core b{inset:-60px;border-color:rgba(34,211,238,.12);animation-direction:reverse;animation-duration:25s}
.network-chip{position:absolute;z-index:4;display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid rgba(226,232,240,.1);border-radius:15px;background:rgba(18,28,45,.78);color:#eaf0f8;font-size:12.5px;font-weight:700;backdrop-filter:blur(12px);box-shadow:0 18px 44px rgba(2,6,23,.24);animation:codify-float 6s ease-in-out infinite}
.network-chip-web{right:8%;top:16%}.network-chip-ai{left:7%;top:26%;animation-delay:-1.6s}.network-chip-project{right:18%;bottom:12%;animation-delay:-3s;color:#a5f3fc}
.network-doodle{position:absolute;left:12%;bottom:13%;display:flex;gap:7px;transform:rotate(-14deg)}
.network-doodle i{width:34px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--primary),var(--secondary))}
.network-doodle i:nth-child(2){width:12px}.network-doodle i:nth-child(3){width:5px;height:5px;border-radius:50%}
@keyframes codefy-spin{to{transform:rotate(360deg)}}

/* Instagram section before footer. */
.instagram-cta-section{padding-top:72px;padding-bottom:72px}
.instagram-cta{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:36px;min-height:330px;padding:48px 52px;border:1px solid rgba(167,139,250,.17);border-radius:36px;background:radial-gradient(circle at 12% 10%,rgba(139,92,246,.23),transparent 35%),radial-gradient(circle at 82% 95%,rgba(34,211,238,.14),transparent 32%),linear-gradient(135deg,rgba(27,37,63,.97),rgba(13,23,38,.98));box-shadow:0 38px 100px rgba(2,6,23,.28);overflow:hidden}
.instagram-cta>div:not(.cta-grid-bg):not(.instagram-cta-vectors){position:relative;z-index:3}
.instagram-cta h2{max-width:720px;margin:17px 0 10px;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.55}
.instagram-cta p{max-width:680px;margin:0;color:#b8c5d6;font-size:15px;line-height:2}
.instagram-cta-actions{display:flex;flex-direction:column;gap:11px;min-width:190px}
.instagram-cta-vectors{position:absolute;inset:0;z-index:1;pointer-events:none}
.ig-tag{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.055);font-size:12px;color:#fff;backdrop-filter:blur(10px);animation:codify-float 6.5s ease-in-out infinite}
.ig-tag:first-of-type{left:8%;top:17%}.ig-tag-alt{right:45%;bottom:12%;animation-delay:-1.8s}
.ig-orb{position:absolute;border-radius:50%;filter:blur(1px)}
.ig-orb-1{width:240px;height:240px;left:-80px;top:-80px;border:1px solid rgba(167,139,250,.18);box-shadow:inset 0 0 70px rgba(139,92,246,.08)}
.ig-orb-2{width:160px;height:160px;right:12%;bottom:-70px;border:1px dashed rgba(34,211,238,.18);animation:codefy-spin 24s linear infinite}

/* Course page and curriculum. */
.course-hero-copy h1{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.62;letter-spacing:-.6px}
.course-hero-meta>span{min-height:76px}
.course-hero-media{position:relative;display:grid;place-items:center;overflow:hidden;background:#0d1726}
.course-hero-backdrop{position:absolute;inset:-24px;background-position:center;background-size:cover;filter:blur(26px) saturate(.8);opacity:.4;transform:scale(1.14)}
.course-hero-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,15,25,.05),rgba(9,15,25,.44))}
.course-hero-image{position:relative;z-index:2;width:100%;height:100%;object-fit:contain!important;padding:16px;border-radius:27px;filter:drop-shadow(0 22px 36px rgba(2,6,23,.28))}
.course-nav-wrap,.archive-filter{position:relative!important;top:auto!important;z-index:2;background:transparent!important;border:0!important;backdrop-filter:none!important}
.course-nav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:14px 0}
.course-nav a{padding:10px 14px;border:1px solid var(--soft-line);border-radius:999px;background:rgba(255,255,255,.03);font-size:13px}
.course-nav a:hover{border-color:var(--soft-line-hover);background:rgba(139,92,246,.1)}
.course-content-block{border-color:var(--soft-line)!important;border-radius:28px!important}
.curriculum-list summary{grid-template-columns:44px minmax(0,1fr) auto 22px!important;gap:15px}
.chapter-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.chapter-meta>span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.035);font-size:12px;color:#c7d2e1}
.chapter-duration{font-variant-numeric:tabular-nums;direction:ltr}
.lesson-item small{font-variant-numeric:tabular-nums;direction:ltr}

/* Comments across posts and courses. */
.course-comments-section{padding-top:30px}
.comments-area{padding:34px;border:1px solid var(--soft-line);border-radius:30px;background:var(--glass);box-shadow:0 24px 66px rgba(2,6,23,.18)}
.comments-title,.comment-reply-title{margin:0 0 24px;font-size:1.55rem;line-height:1.55}
.comment-list{display:grid;gap:14px;margin:0 0 28px;padding:0;list-style:none}
.comment-list .comment{padding:20px;border:1px solid rgba(226,232,240,.075);border-radius:20px;background:rgba(255,255,255,.025)}
.comment-list .children{display:grid;gap:12px;margin:15px 30px 0 0;padding:0;list-style:none}
.comment-author{display:flex;align-items:center;gap:11px}
.comment-author .avatar{border-radius:15px}
.comment-author .fn{font-size:14px;font-style:normal;font-weight:800;color:#fff}
.comment-metadata{margin:7px 58px 12px;font-size:12px;color:#8fa0b7}
.comment-content p{font-size:14px;line-height:1.95;color:#c0cbda}
.reply a{display:inline-flex;padding:6px 10px;border-radius:10px;background:rgba(139,92,246,.09);color:#cbbdff;font-size:12px}
.comment-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.comment-form-comment,.comment-form-cookies-consent,.form-submit,.logged-in-as,.comment-notes{grid-column:1/-1}
.comment-form label{display:block;margin-bottom:6px;font-size:13px;font-weight:700}
.comment-form input:not([type=checkbox]),.comment-form textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid rgba(226,232,240,.1);border-radius:14px;background:#101b2c;color:#fff;box-shadow:none}
.comment-form textarea{min-height:150px;resize:vertical}
.comment-form input:focus,.comment-form textarea:focus{border-color:rgba(139,92,246,.5);outline:0;box-shadow:0 0 0 3px rgba(139,92,246,.1)}

/* Archive and pagination. */
.archive-filter{margin-top:18px}
.filter-scroll{display:flex;align-items:center;justify-content:center;gap:9px;min-height:0;padding:12px;overflow:auto;scrollbar-width:thin}
.archive-filter a{flex:0 0 auto;padding:9px 13px;border:1px solid var(--soft-line);border-radius:999px;background:rgba(255,255,255,.028);font-size:13px;color:#afbdd0}
.archive-filter a.is-active,.archive-filter a:hover{border-color:rgba(139,92,246,.24);background:rgba(139,92,246,.11);color:#fff}
.pagination{margin-top:42px}
.pagination-list{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{display:grid;place-items:center;min-width:43px;height:43px;padding:0 11px;border:1px solid var(--soft-line);border-radius:13px;background:rgba(255,255,255,.028);font-size:13px;color:#bdc8d7}
.pagination .current,.pagination .page-numbers:hover{border-color:rgba(139,92,246,.28);background:linear-gradient(135deg,var(--primary),#6950d8);color:#fff;box-shadow:0 12px 28px rgba(139,92,246,.2)}

/* Footer alignment/readability. */
.site-footer{padding:62px 0 28px}
.footer-main{align-items:start}
.footer-main h3{font-size:15.5px;margin:0 0 18px}
.footer-brand-col>p{font-size:14px;line-height:2}
.footer-menu{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.footer-menu a,.footer-contact-col a,.footer-contact-col>div{font-size:14px;line-height:1.9}
.footer-contact-col{display:grid;align-content:start;gap:12px}
.footer-contact-col a,.footer-contact-col>div{display:flex;align-items:flex-start;gap:10px}
.footer-contact-col .codify-icon{margin-top:4px;flex:0 0 auto}
.footer-bottom{gap:18px;flex-wrap:wrap}

/* Mobile offcanvas */
.mobile-offcanvas,.mobile-nav-backdrop{display:none}
@media(max-width:900px){
  .primary-nav-desktop{display:none!important}
  .menu-toggle{display:inline-grid!important}
  .mobile-nav-backdrop{display:block;position:fixed;inset:0;z-index:1090;background:rgba(3,8,16,.68);backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:.32s var(--ease)}
  .mobile-offcanvas{display:flex;position:fixed;z-index:1100;top:0;right:0;bottom:0;flex-direction:column;width:min(88vw,390px);padding:18px;background:linear-gradient(180deg,#152137,#0c1524);border-left:1px solid rgba(226,232,240,.1);box-shadow:-30px 0 80px rgba(2,6,23,.42);transform:translateX(105%);visibility:hidden;transition:transform .38s var(--ease),visibility .38s;overflow:auto}
  .menu-open .mobile-nav-backdrop{opacity:1;visibility:visible}
  .menu-open .mobile-offcanvas{transform:translateX(0);visibility:visible}
  .mobile-offcanvas-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:16px;border-bottom:1px solid rgba(226,232,240,.08)}
  .mobile-offcanvas-intro{display:flex;gap:11px;align-items:flex-start;margin:17px 0;padding:15px;border:1px solid rgba(139,92,246,.15);border-radius:18px;background:rgba(139,92,246,.08)}
  .mobile-offcanvas-intro>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:13px;background:rgba(139,92,246,.14);color:#c7b8ff}
  .mobile-offcanvas-intro strong{display:block;font-size:14px;line-height:1.75}
  .mobile-offcanvas-intro small{display:block;margin-top:3px;font-size:12px;color:#9dadc2}
  .mobile-nav-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}
  .mobile-nav-list>li>a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:10px 13px;border:1px solid transparent;border-radius:14px;font-size:14px;font-weight:750;color:#e6ecf4}
  .mobile-nav-list>li>a:before{content:"";width:7px;height:7px;margin-left:9px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 0 0 5px rgba(139,92,246,.07)}
  .mobile-nav-list>li>a:hover,.mobile-nav-list>.current-menu-item>a{border-color:rgba(139,92,246,.14);background:rgba(139,92,246,.08)}
  .mobile-nav-list .sub-menu{display:none;margin:5px 14px 8px 0;padding:7px;border-right:1px solid rgba(139,92,246,.18);list-style:none}
  .mobile-nav-list .submenu-open>.sub-menu{display:grid;gap:4px}
  .mobile-nav-list .sub-menu a{display:block;padding:8px 10px;border-radius:10px;font-size:13px;color:#aebbd0}
  .mobile-offcanvas-actions{display:grid;gap:10px;margin-top:auto;padding-top:18px}
  .mobile-offcanvas-doodle{display:flex;gap:5px;justify-content:center;margin:18px auto 0}
  .mobile-offcanvas-doodle i{display:block;width:34px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--primary),var(--secondary))}
  .mobile-offcanvas-doodle i:nth-child(2){width:12px}.mobile-offcanvas-doodle i:nth-child(3){width:5px;height:5px;border-radius:50%}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .courses-grid,.course-grid,.posts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .instagram-cta{grid-template-columns:1fr;padding:42px 34px}
  .instagram-cta-actions{flex-direction:row;min-width:0}
  .ig-tag{display:none}
}

/* Elementor integration and default spacing. */
.codefy-elementor-layout .elementor-page-main{padding-top:calc(var(--codify-header-offset) + 105px)}
.codefy-elementor-layout .elementor>.e-con,.codefy-elementor-layout .elementor-section>.elementor-container{max-width:var(--container);margin-inline:auto}
.codefy-elementor-layout .elementor-section.elementor-section-boxed>.elementor-container{width:min(calc(100% - 40px),var(--container))}
.codefy-elementor-layout .e-con{--container-max-width:var(--container)}
.codefy-elementor-layout .elementor-widget-button .elementor-button{min-height:46px;padding:11px 18px;border-radius:14px;background:linear-gradient(135deg,var(--primary),#6950d8);box-shadow:0 13px 30px rgba(139,92,246,.22);font-family:var(--font);font-weight:750;transition:.25s var(--ease)}
.codefy-elementor-layout .elementor-widget-button .elementor-button:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(139,92,246,.32)}
.codefy-elementor-layout .elementor-heading-title{font-family:var(--font);line-height:1.55;color:var(--text)}
.codefy-elementor-layout .elementor-widget-text-editor{color:var(--muted);font-family:var(--font);line-height:2}
.codefy-elementor-layout .elementor-widget-image img{border-radius:20px}
.codefy-elementor-section-title{position:relative;max-width:760px}
.codefy-elementor-section-title.align-center{margin-inline:auto;text-align:center}.codefy-elementor-section-title.align-left{text-align:left}
.codefy-elementor-section-title h2{margin:16px 0 8px;font-size:clamp(1.7rem,2.5vw,2.5rem);line-height:1.55}
.codefy-elementor-section-title p{margin:0;color:var(--muted);font-size:15px;line-height:2}
.codefy-title-doodle{display:block;width:88px;height:5px;margin-top:16px;border-radius:5px;background:linear-gradient(90deg,var(--primary),var(--secondary));opacity:.55}
.align-center .codefy-title-doodle{margin-inline:auto}
.codefy-elementor-button-wrap{display:flex}
.codefy-elementor-icon-card{position:relative;display:flex;gap:15px;align-items:flex-start;height:100%;padding:21px;border:1px solid var(--soft-line);border-radius:22px;background:var(--glass);color:inherit;overflow:hidden;transition:.3s var(--ease)}
.codefy-elementor-icon-card:hover{transform:translateY(-5px);border-color:var(--soft-line-hover);box-shadow:0 25px 60px rgba(2,6,23,.24)}
.codefy-elementor-icon-card>span{display:grid;place-items:center;width:50px;height:50px;flex:0 0 auto;border-radius:16px;background:rgba(139,92,246,.12);color:#c7b8ff}
.codefy-elementor-icon-card h3{margin:0 0 6px;font-size:16px}.codefy-elementor-icon-card p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.9}
.codefy-elementor-icon-card>i{position:absolute;left:-22px;bottom:-32px;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.09),transparent 66%)}

/* Baghlava imported template classes */
.codefy-baghlava-landing,.codefy-baghlava-section{font-family:var(--font);color:var(--text)}
.codefy-baghlava-landing{position:relative;border-radius:0 0 38px 38px;background:radial-gradient(circle at 15% 5%,rgba(139,92,246,.24),transparent 32%),radial-gradient(circle at 86% 72%,rgba(34,211,238,.12),transparent 28%),#101827!important;overflow:hidden}
.codefy-baghlava-section{margin:22px auto!important;padding:44px!important;border:1px solid rgba(226,232,240,.08)!important;border-radius:28px;background:linear-gradient(150deg,rgba(27,40,63,.91),rgba(14,23,38,.96))!important;box-shadow:0 22px 60px rgba(2,6,23,.18)}
.codefy-baghlava-landing .elementor-heading-title,.codefy-baghlava-section .elementor-heading-title{color:#fff!important}
.codefy-baghlava-landing .elementor-widget-text-editor,.codefy-baghlava-section .elementor-widget-text-editor{color:#b8c5d6!important}
.codefy-baghlava-section .elementor-button{background:linear-gradient(135deg,var(--primary),#6c4de0)!important;color:#fff!important;border-radius:14px!important}
.codefy-baghlava-section .elementor-icon-list-item{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.027)}
.codefy-baghlava-section .elementor-divider-separator{border-color:rgba(167,139,250,.25)!important}

@media(max-width:680px){
  html{scroll-padding-top:88px}
  .container,.narrow-container{width:calc(100% - (var(--mobile-gutter) * 2))!important}
  .section{padding:64px 0}
  .site-header .container{width:calc(100% - 16px)!important}
  .hero-section{padding:126px 0 64px}
  .hero-layout{gap:38px}
  .hero-copy h1{display:block;font-size:clamp(1.8rem,8.4vw,2.35rem);line-height:1.58;letter-spacing:-.55px}
  .hero-title-main,.hero-title-accent{display:block!important;width:fit-content}
  .hero-title-accent{margin-top:9px;padding:.08em .28em .13em}
  .hero-title-doodle{display:none}
  .hero-copy>p{font-size:14px;line-height:2}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-actions .button{width:100%}
  .stats-grid,.courses-grid,.course-grid,.posts-grid{grid-template-columns:1fr;gap:18px}
  .stat-card{min-height:0;padding:22px}
  .course-card,.post-card{border-radius:22px!important}
  .course-card-media,.post-card-media{min-height:200px;padding:10px}
  .course-card-body,.post-card-body{padding:19px}
  .course-card h3,.post-card h3{font-size:1.15rem}
  .course-card-meta{grid-template-columns:1fr 1fr}
  .course-card-footer{align-items:center}
  .course-card-button{padding:8px 11px}
  .codefy-network-stage{min-height:390px;border-radius:25px}
  .network-chip{font-size:11px;padding:9px 10px}.network-chip-web{right:5%;top:12%}.network-chip-ai{left:4%;top:26%}.network-chip-project{right:10%;bottom:10%}
  .instagram-cta-section{padding:52px 0}
  .instagram-cta{min-height:0;padding:30px 22px;border-radius:25px;text-align:right}
  .instagram-cta h2{font-size:1.75rem}
  .instagram-cta p{font-size:14px}
  .instagram-cta-actions{display:grid;grid-template-columns:1fr;width:100%}
  .course-hero{padding:126px 0 52px}
  .course-hero-copy h1{font-size:1.85rem;line-height:1.65}
  .course-hero-meta{grid-template-columns:1fr}
  .course-hero-media{border-radius:22px}
  .course-nav{justify-content:flex-start;flex-wrap:nowrap;overflow:auto;padding:12px var(--mobile-gutter)}
  .course-nav a{white-space:nowrap}
  .course-content-layout{gap:22px}
  .course-content-block{padding:23px 17px!important;border-radius:22px!important}
  .curriculum-heading{align-items:flex-start}
  .curriculum-list summary{grid-template-columns:38px minmax(0,1fr) 20px!important;padding:16px 13px!important}
  .chapter-count{width:38px;height:38px}
  .chapter-meta{grid-column:2;justify-content:flex-start}
  .curriculum-list summary>.codify-icon{grid-column:3;grid-row:1}
  .lesson-list{padding:0 12px 12px}
  .lesson-item{grid-template-columns:25px 1fr!important;padding:13px!important}
  .lesson-item em,.lesson-item small{grid-column:2}
  .comments-area{padding:22px 16px;border-radius:22px}
  .comment-form{grid-template-columns:1fr}
  .comment-form>*{grid-column:1!important}
  .comment-list .children{margin-right:10px}
  .filter-scroll{justify-content:flex-start;width:calc(100% - (var(--mobile-gutter) * 2));padding-inline:0}
  .page-hero{padding:126px 0 48px}
  .page-hero h1{font-size:1.85rem;line-height:1.6}
  .footer-main{gap:32px}
  .footer-brand-col,.footer-nav-col,.footer-contact-col{padding-inline:4px;text-align:right}
  .footer-menu{gap:7px}.footer-menu a{display:inline-block;padding:4px 0}
  .footer-bottom{align-items:flex-start;flex-direction:column}
  .codefy-elementor-layout .elementor-page-main{padding-top:98px}
  .codefy-elementor-layout .elementor-section.elementor-section-boxed>.elementor-container,.codefy-elementor-layout .elementor>.e-con{width:calc(100% - (var(--mobile-gutter) * 2))!important}
  .codefy-baghlava-section{margin:16px var(--mobile-gutter)!important;padding:24px 17px!important;border-radius:22px}
}

@media(prefers-reduced-motion:reduce){.network-core i,.network-core b,.network-chip,.ig-orb-2{animation:none!important}.course-card,.post-card,.codefy-elementor-icon-card{transform:none!important}}
.codefy-baghlava-orb{position:relative;width:190px;height:190px;margin:0 auto 10px;border:1px solid rgba(167,139,250,.2);border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.2),transparent 62%);animation:codify-breathe 7s ease-in-out infinite}.codefy-baghlava-orb:before,.codefy-baghlava-orb:after{content:"";position:absolute;inset:18px;border:1px dashed rgba(34,211,238,.2);border-radius:50%;animation:codefy-spin 18s linear infinite}.codefy-baghlava-orb:after{inset:43px;animation-direction:reverse;animation-duration:12s}.codefy-baghlava-orb span{position:absolute;z-index:2;width:13px;height:13px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 0 0 7px rgba(139,92,246,.08)}.codefy-baghlava-orb span:nth-child(1){right:12px;top:72px}.codefy-baghlava-orb span:nth-child(2){left:28px;top:30px}.codefy-baghlava-orb span:nth-child(3){left:44px;bottom:20px}.codefy-baghlava-orb i{position:absolute;z-index:3;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;border-radius:22px;background:rgba(12,20,34,.82);color:#d9ccff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px;font-style:normal;box-shadow:0 18px 42px rgba(2,6,23,.3)}

/* ===== کدیفای 1.0.3 final refinement build ===== */
/* Hero: remove doodle underline and keep the title intentionally compact. */
.hero-copy h1{max-width:700px;font-size:clamp(1.9rem,3.45vw,3.08rem);line-height:1.5;gap:.2em .25em;margin-bottom:20px}
.hero-title-accent{padding:.05em .3em .1em;border-color:rgba(167,139,250,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 13px 34px rgba(2,6,23,.12)}
.hero-title-accent:before,.hero-title-accent:after,.hero-title-doodle{display:none!important;content:none!important}
.hero-title-accent b{display:none!important}

/* Course thumbnails: use the complete media frame with no empty internal padding. */
.course-card-media{aspect-ratio:16/9;min-height:0;padding:0;background:#0b1422}
.course-card-media .card-media-backdrop{display:none!important}
.course-card-media .card-media-image{position:absolute;inset:0;width:100%!important;height:100%!important;max-height:none!important;padding:0!important;border-radius:0!important;background:#0b1422!important;object-fit:cover!important;object-position:center!important;filter:none!important;transition:transform .7s var(--ease),filter .35s var(--ease)}
.course-card:hover .course-card-media .card-media-image{transform:scale(1.035);filter:saturate(1.06) contrast(1.02)!important}
.course-card-media:after{content:"";position:absolute;z-index:3;inset:42% 0 0;background:linear-gradient(180deg,transparent,rgba(8,14,24,.18));pointer-events:none}
.course-card-body{padding:22px 22px 23px}
.course-card h3{min-height:3.45em;margin:13px 0 8px;font-size:1.2rem;line-height:1.72}
.course-card-body>p{min-height:5.8em;margin-bottom:15px;font-size:13.8px;line-height:1.92}
.course-card-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:auto}
.course-card-meta>span{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;min-height:72px;padding:10px 11px;border-radius:15px}
.course-card-meta .codify-icon{grid-column:1;grid-row:1/3;justify-self:center;width:20px;height:20px;margin:0;color:#c3b1ff}
.course-card-meta b{grid-column:2;grid-row:1;font-size:13.8px;line-height:1.45;white-space:normal}
.course-card-meta small{grid-column:2;grid-row:2;font-size:11.8px;line-height:1.4}
.course-card-footer{margin-top:16px;padding-top:16px}
.course-card-button{flex:0 0 auto}

/* The featured image on the course page follows the same frame behavior. */
.course-hero-media{aspect-ratio:16/9;min-height:0;padding:0;border-radius:28px;background:#0b1422}
.course-hero-backdrop{display:none!important}
.course-hero-image{position:absolute!important;inset:0;width:100%!important;height:100%!important;padding:0!important;border-radius:0!important;object-fit:cover!important;object-position:center!important;filter:none!important}
.course-play{z-index:4}
.course-hero-meta{gap:11px}
.course-hero-meta>span{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;min-height:82px;padding:13px 14px}
.course-hero-meta .codify-icon{grid-column:1;grid-row:1/3;justify-self:center;margin:0}
.course-hero-meta b{grid-column:2;grid-row:1;font-size:14.5px}
.course-hero-meta small{grid-column:2;grid-row:2;font-size:12.3px}

/* Why کدیفای: guaranteed visual fallback plus canvas enhancement. */
.why-visual{width:100%;min-width:0}
.codefy-network-stage{width:100%;max-width:620px;min-height:500px;margin-inline:auto;border-color:rgba(167,139,250,.14);background:linear-gradient(145deg,rgba(18,29,48,.94),rgba(9,17,29,.98))}
.network-vector-illustration{position:absolute;z-index:1;inset:50% auto auto 50%;width:112%;max-width:none;height:auto;transform:translate(-50%,-50%);opacity:.98;pointer-events:none;filter:drop-shadow(0 30px 55px rgba(2,6,23,.32))}
.codefy-network-stage canvas{z-index:2;opacity:.5;mix-blend-mode:screen}
.network-chip{z-index:5;background:rgba(15,25,42,.8)}
.network-chip-web{right:6%;top:13%}.network-chip-ai{left:5%;top:24%}.network-chip-project{right:12%;bottom:9%}
.network-core,.network-doodle{display:none!important}

/* New pre-footer roadmap section. */
.roadmap-cta-section{padding-top:68px;padding-bottom:72px}
.roadmap-cta{position:relative;display:grid;grid-template-columns:260px minmax(0,1fr) auto;align-items:center;gap:34px;min-height:300px;padding:40px 44px;border:1px solid rgba(167,139,250,.15);border-radius:34px;background:radial-gradient(circle at 8% 20%,rgba(139,92,246,.2),transparent 31%),radial-gradient(circle at 92% 86%,rgba(34,211,238,.1),transparent 28%),linear-gradient(135deg,rgba(24,36,59,.97),rgba(11,20,34,.98));box-shadow:0 36px 96px rgba(2,6,23,.25);overflow:hidden;isolation:isolate}
.roadmap-cta:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.035) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,#000,transparent 70%);z-index:-1}
.roadmap-visual{position:relative;min-height:218px}
.roadmap-orbit{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:112px;height:112px;border:1px solid rgba(167,139,250,.24);border-radius:34px;background:linear-gradient(145deg,rgba(139,92,246,.22),rgba(34,211,238,.09));transform:translate(-50%,-50%);color:#fff;box-shadow:0 0 0 18px rgba(139,92,246,.045),0 24px 55px rgba(2,6,23,.3)}
.roadmap-orbit>span{display:grid;place-items:center;width:60px;height:60px;border-radius:20px;background:rgba(7,14,25,.62)}
.roadmap-orbit i,.roadmap-orbit b{position:absolute;inset:-38px;border:1px dashed rgba(167,139,250,.18);border-radius:50%;animation:codefy-spin 19s linear infinite}
.roadmap-orbit b{inset:-70px;border-color:rgba(34,211,238,.13);animation-direction:reverse;animation-duration:28s}
.roadmap-step{position:absolute;z-index:3;display:grid;place-items:center;min-width:74px;padding:9px 11px;border:1px solid rgba(226,232,240,.1);border-radius:15px;background:rgba(15,25,42,.84);box-shadow:0 15px 38px rgba(2,6,23,.24);font:800 13px/1.2 var(--font);color:#fff;animation:codify-float 6s ease-in-out infinite}
.roadmap-step small{margin-top:5px;font-size:10.5px;font-weight:600;color:#91a5bd}
.step-one{right:0;top:15px}.step-two{left:3px;top:74px;animation-delay:-1.7s}.step-three{right:22px;bottom:3px;animation-delay:-3.1s;color:#a5f3fc}
.roadmap-content{position:relative;z-index:2}
.roadmap-content h2{max-width:680px;margin:15px 0 9px;font-size:clamp(1.7rem,2.55vw,2.38rem);line-height:1.58}
.roadmap-content>p{max-width:690px;margin:0;color:#b8c5d6;font-size:14.6px;line-height:2}
.roadmap-points{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:18px}
.roadmap-points span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.035);border:1px solid rgba(226,232,240,.07);font-size:11.8px;color:#dce5ef}
.roadmap-points .codify-icon{color:#6ee7b7}
.roadmap-actions{position:relative;z-index:2;display:grid;gap:10px;min-width:188px}
.roadmap-actions .button{white-space:nowrap}

/* Compact Instagram CTA restored inside the footer. */
.footer-social-cta{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:17px;margin-bottom:48px;padding:20px 22px;border:1px solid rgba(167,139,250,.14);border-radius:22px;background:linear-gradient(110deg,rgba(139,92,246,.11),rgba(34,211,238,.055));overflow:hidden}
.footer-social-cta:after{content:"";position:absolute;left:-45px;top:-75px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.1),transparent 68%);pointer-events:none}
.footer-social-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:rgba(139,92,246,.14);color:#d5c8ff;box-shadow:inset 0 0 0 1px rgba(167,139,250,.13)}
.footer-social-cta strong{display:block;font-size:15px;line-height:1.7}
.footer-social-cta span{display:block;margin-top:3px;color:#9fb0c4;font-size:12.8px;line-height:1.8}
.footer-social-cta .button{position:relative;z-index:2;white-space:nowrap}

/* Footer columns and mobile alignment. */
.footer-main{grid-template-columns:1.3fr .8fr .8fr 1.1fr;gap:38px}
.footer-brand-col,.footer-nav-col,.footer-contact-col{min-width:0}

/* Admin options visual system. */
.codify-options-wrap,.codify-options-wrap *{font-family:Vazirmatn,"Vazir Text",Tahoma,Arial,sans-serif}

@media(max-width:1080px){
  .roadmap-cta{grid-template-columns:210px minmax(0,1fr)}
  .roadmap-actions{grid-column:1/-1;display:flex;justify-content:center;min-width:0}
}
@media(max-width:900px){
  .hero-copy h1{max-width:760px;font-size:clamp(1.85rem,6.1vw,2.72rem)}
  .codefy-network-stage{min-height:460px;max-width:620px}
  .roadmap-cta{grid-template-columns:1fr;padding:34px}
  .roadmap-visual{min-height:220px;max-width:320px;width:100%;margin-inline:auto}
  .roadmap-content{text-align:center}
  .roadmap-content h2,.roadmap-content>p{margin-inline:auto}
  .roadmap-points{justify-content:center}
  .roadmap-actions{justify-content:center}
  .footer-main{grid-template-columns:1fr 1fr}
  .footer-brand-col,.footer-contact-col{grid-column:1/-1}
}
@media(max-width:680px){
  .hero-copy{text-align:center}
  .hero-copy h1{max-width:100%;margin-inline:auto;font-size:clamp(1.65rem,7.5vw,2.08rem);line-height:1.62;justify-content:center;text-align:center}
  .hero-title-main,.hero-title-accent{width:auto!important;max-width:100%;margin-inline:auto}
  .hero-copy>p{margin-inline:auto;text-align:center}
  .hero-actions,.hero-trust{justify-content:center}
  .course-card-media{aspect-ratio:16/9}
  .course-card h3{min-height:0;font-size:1.12rem}
  .course-card-body>p{min-height:0;font-size:13.5px}
  .course-card-meta{grid-template-columns:1fr 1fr}
  .course-card-meta>span{grid-template-columns:36px minmax(0,1fr);min-height:68px;padding:9px}
  .course-card-footer{align-items:center;gap:10px}
  .course-price strong{font-size:14.5px}
  .course-card-button{padding-inline:10px;font-size:11.8px}
  .course-hero-media{aspect-ratio:16/10}
  .course-hero-meta>span{grid-template-columns:40px minmax(0,1fr);min-height:76px;padding:11px}
  .codefy-network-stage{min-height:360px;border-radius:24px}
  .network-vector-illustration{width:126%}
  .network-chip{font-size:10.5px;padding:8px 9px}
  .network-chip-web{right:3%;top:9%}.network-chip-ai{left:3%;top:21%}.network-chip-project{right:7%;bottom:6%}
  .roadmap-cta-section{padding:50px 0}
  .roadmap-cta{padding:28px 18px;border-radius:24px}
  .roadmap-visual{min-height:200px}
  .roadmap-content h2{font-size:1.6rem}
  .roadmap-content>p{font-size:13.8px}
  .roadmap-points{display:grid;grid-template-columns:1fr;width:100%}
  .roadmap-points span{justify-content:center}
  .roadmap-actions{display:grid;grid-template-columns:1fr;width:100%}
  .footer-social-cta{grid-template-columns:1fr;text-align:center;padding:20px}
  .footer-social-icon{margin-inline:auto}
  .footer-social-cta .button{width:100%}
  .footer-main{grid-template-columns:1fr;gap:28px;text-align:center}
  .footer-brand-col,.footer-contact-col{grid-column:auto}
  .footer-brand-col .brand,.footer-brand-col .social-links{justify-content:center;margin-inline:auto}
  .footer-nav-col,.footer-contact-col{padding-inline:12px!important;text-align:center!important}
  .footer-menu{justify-items:center}
  .footer-contact-col a,.footer-contact-col>div{justify-content:center;text-align:center}
  .footer-bottom{align-items:center!important;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .roadmap-orbit i,.roadmap-orbit b,.roadmap-step{animation:none!important}
}


/* ===== v103.css ===== */

/* کدیفای 1.0.3 — refined course cards, tickets, access, FAQ and motion */
:root{--v103-line:rgba(226,232,240,.075);--v103-glow:rgba(139,92,246,.22)}

/* Hero keyword treatment inspired by modern highlighted typography. */
.hero-copy h1{font-size:clamp(1.92rem,3.72vw,3.18rem);gap:.18em .25em;line-height:1.5}
.hero-title-accent{padding:.08em .38em .14em!important;border:1px solid rgba(167,139,250,.25)!important;border-radius:.42em!important;background:linear-gradient(110deg,rgba(139,92,246,.28),rgba(34,211,238,.16))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 14px 36px rgba(2,6,23,.18)!important;color:#eeeaff!important}
.hero-title-accent:before,.hero-title-accent:after,.hero-title-doodle{display:none!important}
.hero-title-accent span{color:#eeeaff!important;-webkit-text-fill-color:#eeeaff!important}

/* Real portrait stack. */
.avatar-stack{display:flex;flex-direction:row-reverse;align-items:center;padding-left:6px}
.avatar-stack span{display:grid;place-items:center;width:39px;height:39px;margin-left:-10px;border:3px solid #121c2d;border-radius:50%;overflow:hidden;background:#1b2a42;box-shadow:0 8px 24px rgba(2,6,23,.28)}
.avatar-stack span img{display:block;width:100%;height:100%;object-fit:cover}
.avatar-stack .avatar-more{position:relative;z-index:4;background:linear-gradient(135deg,var(--primary),#6d45e3);font-size:18px;font-weight:900;color:#fff}
.hero-trust>div:not(.avatar-stack){min-width:max-content}

/* Course cards: full-cover thumbnail, compact metadata, one status badge beside category. */
.course-card{border-radius:28px!important}
.course-card-media{aspect-ratio:16/9!important;min-height:0!important;padding:0!important;background:#0a1320!important}
.course-card-media .card-media-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;padding:0!important;border-radius:0!important;object-fit:cover!important;object-position:center!important;background:#0a1320!important;filter:none!important;transition:transform .65s var(--ease),filter .35s var(--ease)!important}
.course-card:hover .card-media-image{transform:scale(1.035);filter:saturate(1.04) contrast(1.02)!important}
.course-card-media:after{content:"";position:absolute;z-index:2;inset:55% 0 0;background:linear-gradient(180deg,transparent,rgba(5,10,18,.22));pointer-events:none}
.course-card-media>.course-status{display:none!important}
.course-card-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.course-card-topline .course-status{position:static!important;display:inline-flex!important;align-items:center;width:auto;padding:7px 10px;border:1px solid rgba(34,211,238,.15);border-radius:999px;background:rgba(34,211,238,.075);backdrop-filter:none;font-size:11.5px;line-height:1.4;color:#b6f5ff}
.course-card-taxonomy{margin:0!important}
.course-card-body{padding:22px 22px 23px!important}
.course-card h3{min-height:3.35em;margin:13px 0 7px;font-size:1.19rem;line-height:1.7}
.course-card-body>p{min-height:5.55em;margin:0 0 14px;font-size:13.8px;line-height:1.92}
.course-card-meta{display:flex!important;align-items:center;gap:9px;margin-top:auto!important;padding:0!important;border-top:0!important}
.course-card-meta>span{display:inline-flex!important;grid-template-columns:none!important;align-items:center;gap:8px;min-height:0!important;padding:9px 11px!important;border:1px solid var(--v103-line)!important;border-radius:13px!important;background:rgba(255,255,255,.025)!important;color:#e6edf7}
.course-card-meta .codify-icon{grid-row:auto!important;grid-column:auto!important;width:18px;height:18px;margin:0!important;color:#c4b5fd}
.course-card-meta b{grid-column:auto!important;grid-row:auto!important;font-size:13px!important;font-weight:750;line-height:1.4;white-space:nowrap}
.course-card-meta small{display:none!important}
.course-card-footer{margin-top:14px!important;padding-top:0!important;border-top:0!important;align-items:center!important}
.course-card-button{min-height:41px}

/* Course detail cover uses the complete frame without letterboxing. */
.course-hero-media{overflow:hidden;background:#0a1320!important}
.course-hero-media>.course-hero-image{position:absolute;inset:0;width:100%!important;height:100%!important;padding:0!important;object-fit:cover!important;object-position:center!important;background:#0a1320!important}
.course-hero-media:after{content:"";position:absolute;inset:52% 0 0;background:linear-gradient(180deg,transparent,rgba(4,9,17,.16));pointer-events:none}
.course-play{z-index:3}

/* Stable, lightweight animated SVG for the benefits section. */
.codefy-network-stage,.network-vector-illustration,.network-chip{display:none!important}
.codefy-orbit-stage{position:relative;width:100%;max-width:690px;margin-inline:auto;padding:10px;border-radius:34px;background:radial-gradient(circle at 50% 50%,rgba(139,92,246,.09),transparent 62%)}
.codefy-orbit-stage img{display:block;width:100%;height:auto;filter:drop-shadow(0 34px 58px rgba(2,6,23,.27));transform:translateZ(0)}
.why-layout{align-items:center}

/* Course access / SpotPlayer section. */
.course-access-section{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;align-items:center;overflow:hidden}
.course-access-visual{position:relative;display:grid;place-items:center;min-height:190px;border:1px solid var(--v103-line);border-radius:28px;background:radial-gradient(circle,rgba(139,92,246,.18),transparent 66%),rgba(255,255,255,.02)}
.access-brand{position:relative;z-index:2;display:grid;place-items:center;width:86px;height:86px;border:1px solid rgba(167,139,250,.25);border-radius:27px;background:linear-gradient(145deg,rgba(139,92,246,.27),rgba(34,211,238,.11));color:#fff;box-shadow:0 20px 48px rgba(2,6,23,.3)}
.access-orbit,.access-orbit i,.access-orbit b{position:absolute;border-radius:50%}
.access-orbit{width:132px;height:132px;border:1px dashed rgba(167,139,250,.24);animation:codefy-v103-spin 18s linear infinite}
.access-orbit i{top:-5px;left:58px;width:11px;height:11px;background:#67e8f9;box-shadow:0 0 0 7px rgba(34,211,238,.08)}
.access-orbit b{right:-6px;bottom:24px;width:12px;height:12px;background:#a78bfa;box-shadow:0 0 0 7px rgba(139,92,246,.08)}
.course-access-copy h2{margin:14px 0 8px;font-size:clamp(1.45rem,2.15vw,1.95rem);line-height:1.6}
.course-access-copy>p{margin:0;color:#b7c3d4;font-size:14.3px;line-height:2}
.access-steps{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}
.access-steps span{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid var(--v103-line);border-radius:999px;background:rgba(255,255,255,.026);font-size:12.3px;color:#dce6f2}
.access-steps .codify-icon{color:#a5f3fc}
@keyframes codefy-v103-spin{to{transform:rotate(360deg)}}

/* FAQ single-open behavior and soft transition. */
.accordion-list details{overflow:hidden;transition:border-color .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease)}
.accordion-list details[open]{border-color:rgba(139,92,246,.22)!important;background:rgba(139,92,246,.045)!important;box-shadow:0 16px 42px rgba(2,6,23,.14)}
.accordion-list details[open]>p,.accordion-list details[open]>.lesson-list{animation:codefy-faq-in .3s var(--ease) both}
@keyframes codefy-faq-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}

/* User ticket panel. */
.user-ticket-panel{width:min(100%,var(--container));margin-inline:auto;padding:30px;border:1px solid var(--v103-line);border-radius:30px;background:linear-gradient(155deg,rgba(27,40,62,.93),rgba(13,22,36,.97));box-shadow:0 28px 80px rgba(2,6,23,.22)}
.user-ticket-panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.user-ticket-panel-head h2{margin:12px 0 0;font-size:clamp(1.65rem,2.4vw,2.2rem)}
.user-ticket-list{display:grid;gap:13px}
.user-ticket-item{border:1px solid var(--v103-line);border-radius:20px;background:rgba(255,255,255,.025);overflow:hidden}
.user-ticket-item summary{display:grid;grid-template-columns:minmax(0,1fr) auto 22px;gap:14px;align-items:center;padding:18px 20px;cursor:pointer;list-style:none}
.user-ticket-item summary::-webkit-details-marker{display:none}
.user-ticket-item summary strong{display:block;font-size:15px;line-height:1.7}
.user-ticket-item summary small{display:block;margin-top:4px;color:#8fa2b9;font-size:12px}
.ticket-status{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:11.5px;font-weight:800;background:rgba(255,255,255,.05)}
.ticket-status.status-answered{background:rgba(52,211,153,.1);color:#a7f3d0}.ticket-status.status-new{background:rgba(251,191,36,.1);color:#fde68a}.ticket-status.status-open{background:rgba(34,211,238,.1);color:#a5f3fc}.ticket-status.status-closed{color:#aab7c8}
.user-ticket-conversation{display:grid;gap:12px;padding:0 20px 20px}
.ticket-message{padding:16px 17px;border-radius:17px;background:rgba(255,255,255,.03)}
.ticket-message span{font-size:11.5px;font-weight:800;color:#a89aff}.ticket-message p{margin:7px 0 0;font-size:14px;line-height:2;color:#d9e2ee}
.ticket-message-admin{border:1px solid rgba(34,211,238,.12);background:rgba(34,211,238,.045)}
.ticket-message-admin span{color:#9cecff}.ticket-waiting{display:flex;align-items:center;gap:8px;color:#9fb0c4;font-size:13px}
.account-login-notice{text-align:center;padding:44px 24px;border:1px solid var(--v103-line);border-radius:28px;background:rgba(255,255,255,.025)}

/* Elementor consistency. */
.elementor-page-main{padding-inline:0}
.codefy-elementor-layout .elementor-section.elementor-section-boxed>.elementor-container,.codefy-elementor-layout .e-con.e-con-boxed>.e-con-inner{width:min(calc(100% - 40px),var(--container));max-width:var(--container);margin-inline:auto}
.codefy-elementor-layout .elementor-widget-container{font-family:var(--font)}

/* Off-screen rendering optimization without removing visuals. */
@supports(content-visibility:auto){.courses-section,.learning-paths,.why-section,.articles-section,.testimonials-section,.roadmap-cta-section,.home-faq{content-visibility:auto;contain-intrinsic-size:1px 780px}}

@media(max-width:900px){
  .course-access-section{grid-template-columns:1fr}.course-access-visual{min-height:165px}
  .hero-trust{justify-content:center;flex-wrap:wrap}
}
@media(max-width:680px){
  .hero-copy h1{font-size:clamp(1.72rem,8vw,2.18rem);line-height:1.58;text-align:center;justify-content:center}
  .hero-title-main,.hero-title-accent{display:block!important;width:max-content!important;max-width:100%;margin-inline:auto}
  .hero-title-accent{margin-top:7px!important}
  .hero-trust{gap:12px;text-align:center}
  .avatar-stack{justify-content:center}
  .course-card-body{padding:19px!important}.course-card h3{min-height:0;font-size:1.08rem}.course-card-body>p{min-height:0;font-size:13.4px}
  .course-card-meta{flex-wrap:wrap}.course-card-meta>span{padding:8px 10px!important}.course-card-footer{gap:8px}.course-card-button{padding-inline:10px;font-size:11.8px}
  .codefy-orbit-stage{padding:4px;border-radius:22px}
  .course-access-section{padding:22px 18px}.access-steps{display:grid;grid-template-columns:1fr}.access-steps span{justify-content:center}
  .user-ticket-panel{padding:20px 15px;border-radius:23px}.user-ticket-panel-head{align-items:stretch;flex-direction:column}.user-ticket-item summary{grid-template-columns:1fr auto 18px;padding:15px}.ticket-status{font-size:10.5px}.user-ticket-conversation{padding:0 14px 14px}
  .codefy-elementor-layout .elementor-section.elementor-section-boxed>.elementor-container,.codefy-elementor-layout .e-con.e-con-boxed>.e-con-inner{width:calc(100% - (var(--mobile-gutter) * 2))}
}
@media(prefers-reduced-motion:reduce){.access-orbit{animation:none!important}.accordion-list details[open]>p{animation:none!important}}
.fullwidth-page{padding:calc(var(--codify-header-offset) + 120px) var(--mobile-gutter) 86px}
.fullwidth-page>.entry-content{max-width:var(--container);margin-inline:auto}
.contact-info{align-content:start}
.contact-info .entry-content:empty{display:none}
@media(max-width:680px){.fullwidth-page{padding-top:108px;padding-inline:var(--mobile-gutter)}}

/* ===== کدیفای 1.0.4 — student dashboard, checkout and final refinements ===== */
html,body,button,input,textarea,select,.elementor,.elementor-widget,.elementor-heading-title{
  font-family:IRANYekanX,"IranYekanX","IRANYekan","Vazirmatn",Tahoma,Arial,sans-serif!important;
}
body{font-size:16px}

/* Text-based orbit: Persian typography now inherits the site font. */
.codefy-orbit-stage{position:relative;min-height:640px;width:min(100%,680px);margin-inline:auto;display:grid;place-items:center;isolation:isolate;overflow:visible}
.codefy-orbit-stage:before{content:"";position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(116,93,246,.2),rgba(31,42,74,.12) 52%,transparent 72%);filter:blur(1px);z-index:-2}
.codefy-orbit-rings{position:absolute;inset:12%;border-radius:50%;animation:codifyOrbitSpin 30s linear infinite}
.codefy-orbit-rings i{position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(139,92,246,.45)}
.codefy-orbit-rings i:nth-child(2){inset:13%;border-color:rgba(34,211,238,.34);animation:codifyOrbitSpinReverse 22s linear infinite}
.codefy-orbit-rings i:nth-child(3){inset:27%;border-style:solid;border-color:rgba(167,139,250,.28)}
.codefy-orbit-rings b{position:absolute;width:18px;height:18px;border-radius:50%;background:#8b5cf6;box-shadow:0 0 22px rgba(139,92,246,.55)}
.codefy-orbit-rings b:nth-of-type(1){top:13%;left:19%}.codefy-orbit-rings b:nth-of-type(2){right:8%;top:51%;background:#22d3ee}.codefy-orbit-rings b:nth-of-type(3){bottom:8%;left:50%;background:#67e8f9}
.codefy-orbit-core{position:relative;width:188px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#0e1930,#18294c);border:1px solid rgba(103,232,249,.52);box-shadow:0 0 0 24px rgba(139,92,246,.09),0 0 0 52px rgba(139,92,246,.05),0 28px 70px rgba(2,6,23,.42);z-index:3;animation:codifyCoreFloat 5.5s ease-in-out infinite}
.codefy-orbit-core span{width:132px;aspect-ratio:1;display:grid;place-items:center;border-radius:34px;background:linear-gradient(145deg,#172552,#202e68);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.codefy-orbit-core svg{width:76px;height:76px}
.orbit-info-card{position:absolute;z-index:4;min-width:250px;display:flex;align-items:center;gap:14px;padding:20px 22px;border:1px solid rgba(167,139,250,.38);border-radius:24px;background:linear-gradient(145deg,rgba(24,34,65,.96),rgba(13,25,48,.94));box-shadow:0 22px 50px rgba(2,6,23,.34);backdrop-filter:blur(12px);animation:codifyCardFloat 6s ease-in-out infinite}
.orbit-info-card>span{width:58px;height:58px;display:grid;place-items:center;flex:0 0 auto;border-radius:17px;background:rgba(139,92,246,.18);color:#cabdff}
.orbit-info-card strong{display:block;font-size:20px;line-height:1.55;color:#fff}.orbit-info-card small{display:block;margin-top:3px;font-size:13.5px;line-height:1.8;color:#aebcd1}
.orbit-card-web{top:13%;right:-1%;animation-delay:-1s}.orbit-card-ai{top:10%;left:-3%;border-color:rgba(34,211,238,.38);animation-delay:-2.7s}.orbit-card-ai>span,.orbit-card-market>span{background:rgba(34,211,238,.14);color:#7eeaff}.orbit-card-project{bottom:11%;right:3%;animation-delay:-3.8s}.orbit-card-market{bottom:12%;left:0;animation-delay:-1.9s}
@keyframes codifyOrbitSpin{to{transform:rotate(360deg)}}@keyframes codifyOrbitSpinReverse{to{transform:rotate(-360deg)}}@keyframes codifyCoreFloat{50%{transform:translateY(-10px) scale(1.02)}}@keyframes codifyCardFloat{50%{transform:translateY(-8px)}}

/* Article thumbnails and featured media must fill their frame. */
.post-card-media{aspect-ratio:16/10;background:#101827;overflow:hidden}
.post-card-media img,.single-featured-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;padding:0!important;background:transparent!important}
.post-card-media img{transition:transform .65s cubic-bezier(.2,.8,.2,1)}.post-card:hover .post-card-media img{transform:scale(1.045)}
.single-featured-image{aspect-ratio:16/8.7;overflow:hidden;background:#0f1726}
.single-featured-image img{display:block}
.article-content img{width:auto;max-width:100%;height:auto;border-radius:18px}

/* Elementor spacing and width in all new pages. */
.elementor-page-main,.elementor-page .site-main{width:100%}
.elementor-page .elementor>.e-con,.elementor-page .elementor>.elementor-section>.elementor-container{width:min(calc(100% - 40px),var(--container));max-width:var(--container);margin-inline:auto}
.elementor-page .e-con.e-con-full,.elementor-page .elementor-section.elementor-section-full_width>.elementor-container{width:100%;max-width:none}

/* Student dashboard */
.student-dashboard-page{position:relative;min-height:100vh;padding:150px 0 90px;background:radial-gradient(circle at 88% 12%,rgba(139,92,246,.12),transparent 28%),radial-gradient(circle at 8% 90%,rgba(34,211,238,.07),transparent 26%),#0d1523;overflow:hidden}
.dashboard-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px)}.dashboard-orb-one{width:420px;height:420px;top:5%;right:-240px;border:1px solid rgba(139,92,246,.18)}.dashboard-orb-two{width:320px;height:320px;left:-190px;bottom:3%;border:1px solid rgba(34,211,238,.12)}
.student-dashboard-shell{position:relative;display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:start}
.student-sidebar{position:sticky;top:115px;display:flex;flex-direction:column;min-height:680px;padding:22px;border:1px solid rgba(226,232,240,.09);border-radius:28px;background:linear-gradient(155deg,rgba(26,39,61,.96),rgba(14,23,38,.98));box-shadow:0 28px 80px rgba(2,6,23,.26)}
.student-profile-mini{display:flex;align-items:center;gap:13px;padding:5px 3px 22px;border-bottom:1px solid rgba(226,232,240,.08)}
.student-avatar-wrap{position:relative;flex:0 0 auto}.student-avatar-wrap img{width:62px;height:62px;object-fit:cover;border-radius:20px;border:2px solid rgba(167,139,250,.42)}.student-online-dot{position:absolute;left:-2px;bottom:-2px;width:15px;height:15px;border:3px solid #172235;border-radius:50%;background:#34d399}
.student-profile-mini strong{display:block;font-size:15px}.student-profile-mini small{display:block;margin-top:4px;color:#96a7bd;font-size:12.5px}
.student-nav{display:grid;gap:7px;margin-top:20px}.student-nav a{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:11px;padding:13px 14px;border-radius:15px;color:#aebbd0;font-size:14px;font-weight:700}.student-nav a:hover,.student-nav a.is-active{color:#fff;background:linear-gradient(135deg,rgba(139,92,246,.22),rgba(34,211,238,.08));box-shadow:inset 0 0 0 1px rgba(167,139,250,.14)}.student-nav a svg{color:#b7a7ff}.student-nav a b{min-width:25px;height:25px;display:grid;place-items:center;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.07);font-size:11px}
.student-logout{display:flex;align-items:center;gap:10px;margin-top:auto;padding:13px 14px;border-radius:15px;color:#fda4af;background:rgba(251,113,133,.07);font-size:14px;font-weight:700}.student-logout:hover{background:rgba(251,113,133,.13);color:#fecdd3}
.student-main-panel{min-width:0}.student-panel-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:0 4px}.student-panel-header h1{margin:12px 0 0;font-size:clamp(1.65rem,2.7vw,2.45rem);line-height:1.55}
.student-welcome-card{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:25px;padding:30px 32px;border:1px solid rgba(167,139,250,.18);border-radius:28px;background:linear-gradient(120deg,rgba(92,65,184,.3),rgba(28,42,68,.92) 54%,rgba(13,49,62,.72));overflow:hidden;box-shadow:0 26px 70px rgba(2,6,23,.18)}.student-welcome-card:after{content:"";position:absolute;left:-80px;top:-100px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.16),transparent 68%)}.student-welcome-card>div:first-child{position:relative;z-index:1}.student-welcome-card span{color:#b8a7ff;font-size:13px;font-weight:800}.student-welcome-card h2{margin:10px 0 8px;font-size:1.65rem;line-height:1.6}.student-welcome-card p{margin:0;color:#b9c5d5;font-size:14px}
.profile-progress-ring{--value:calc(var(--progress)*3.6deg);width:128px;aspect-ratio:1;display:grid;place-items:center;align-content:center;border-radius:50%;background:radial-gradient(circle at center,#192640 59%,transparent 60%),conic-gradient(#8b5cf6 var(--value),rgba(255,255,255,.08) 0);box-shadow:0 15px 40px rgba(2,6,23,.24);z-index:2}.profile-progress-ring strong{font-size:22px}.profile-progress-ring small{margin-top:3px;color:#aab7c9;font-size:11.5px}
.student-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:20px 0}.student-stat-grid>div{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:3px 13px;padding:19px;border:1px solid rgba(226,232,240,.08);border-radius:22px;background:linear-gradient(155deg,rgba(25,38,59,.92),rgba(15,24,39,.96));transition:.3s}.student-stat-grid>div:hover{transform:translateY(-4px);border-color:rgba(139,92,246,.24)}.student-stat-grid span{grid-row:1/3;width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:rgba(139,92,246,.12);color:#c7b9ff}.student-stat-grid strong{font-size:22px;line-height:1.2}.student-stat-grid small{font-size:12px;color:#9cacbf}
.student-dashboard-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.student-panel-card{padding:24px;border:1px solid rgba(226,232,240,.08);border-radius:26px;background:linear-gradient(155deg,rgba(25,38,59,.94),rgba(14,23,38,.97));box-shadow:0 22px 60px rgba(2,6,23,.16)}.student-panel-wide{padding:28px}.student-card-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.student-card-head h2{margin:10px 0 0;font-size:1.4rem}.student-card-head>a:not(.button){color:#bdafff;font-size:13px;font-weight:700}
.student-course-list{display:grid;gap:13px}.student-course-list.is-full{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.student-course-item{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:13px;border:1px solid rgba(226,232,240,.07);border-radius:20px;background:rgba(255,255,255,.025);transition:.3s}.student-course-list.is-full .student-course-item{grid-template-columns:1fr}.student-course-item:hover{transform:translateY(-3px);border-color:rgba(139,92,246,.2)}.student-course-thumb{aspect-ratio:1.45;overflow:hidden;border-radius:15px;background:#101928}.student-course-thumb img{width:100%;height:100%;object-fit:cover}.student-course-copy>span{font-size:11.5px;color:#a99aff}.student-course-copy h3{margin:5px 0;font-size:14.5px;line-height:1.7}.student-course-copy p{margin:0;color:#9fadc1;font-size:12.5px;line-height:1.8}.student-course-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:11px}.student-course-actions .button{min-height:37px;padding:7px 11px;font-size:11.5px}.student-license{display:block;margin-top:10px;padding:9px 11px;border-radius:11px;background:#0b1424;color:#80eaff;white-space:pre-wrap;word-break:break-all}.student-access-note{margin-top:10px;padding:12px;border-radius:12px;background:rgba(34,211,238,.055);color:#b8c5d7;font-size:12.5px;line-height:1.9}.access-pending{display:inline-flex!important;align-items:center;gap:6px;color:#fde68a!important}
.student-ticket-summary{display:grid;gap:9px}.student-ticket-summary>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border-radius:15px;background:rgba(255,255,255,.025)}.student-ticket-summary strong{display:block;font-size:13px}.student-ticket-summary small{display:block;margin-top:4px;color:#8fa0b6;font-size:11px}
.student-empty-state{display:grid;place-items:center;text-align:center;min-height:220px;padding:25px}.student-empty-state svg{color:#a99aff}.student-empty-state h3{margin:12px 0 6px}.student-empty-state p{max-width:480px;margin:0 0 15px;color:#9eacc0;font-size:13px}.student-empty-state.compact{min-height:140px}
.student-transaction-table{display:grid;overflow:hidden;border:1px solid rgba(226,232,240,.08);border-radius:18px}.transaction-row{display:grid;grid-template-columns:1.5fr 1fr .8fr .9fr .9fr .8fr;align-items:center;gap:10px;padding:15px 16px;border-bottom:1px solid rgba(226,232,240,.07);font-size:12.8px}.transaction-row:last-child{border-bottom:0}.transaction-head{background:rgba(255,255,255,.04);color:#96a5b9;font-size:11.5px;font-weight:800}.transaction-row a{font-weight:700}.transaction-row code{color:#8eeeff}.order-status,.ticket-status{display:inline-flex;width:max-content;padding:6px 9px;border-radius:999px;font-size:10.5px;background:rgba(251,191,36,.12);color:#fde68a}.order-status.status-paid,.ticket-status.status-answered{background:rgba(52,211,153,.12);color:#86efac}.order-status.status-failed,.order-status.status-cancelled{background:rgba(251,113,133,.12);color:#fda4af}.ticket-status.status-closed{background:rgba(148,163,184,.12);color:#cbd5e1}
.student-ticket-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}.hosting-ticket-list{display:grid;gap:12px}.hosting-ticket{border:1px solid rgba(226,232,240,.08);border-radius:19px;background:rgba(255,255,255,.025);overflow:hidden}.hosting-ticket summary{display:grid;grid-template-columns:44px 1fr auto 20px;align-items:center;gap:12px;padding:15px;cursor:pointer;list-style:none}.hosting-ticket summary::-webkit-details-marker{display:none}.hosting-ticket-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:rgba(139,92,246,.12);color:#c7b9ff}.hosting-ticket summary strong{display:block;font-size:13.5px}.hosting-ticket summary small{display:block;margin-top:4px;color:#92a1b7;font-size:11px}.hosting-ticket summary>svg{color:#8ea0b7;transition:.3s}.hosting-ticket[open] summary>svg{transform:rotate(180deg)}.hosting-ticket-body{padding:0 15px 15px}.ticket-chat-thread{display:grid;gap:10px;max-height:500px;overflow:auto;padding:15px;border-radius:15px;background:#0e1829}.ticket-chat-message{max-width:82%;padding:13px 15px;border-radius:17px;background:#1a2942;border:1px solid rgba(226,232,240,.07)}.ticket-chat-message.actor-admin{margin-right:auto;background:linear-gradient(145deg,rgba(91,63,177,.32),rgba(25,39,65,.94));border-color:rgba(167,139,250,.22)}.ticket-chat-message>div{display:flex;justify-content:space-between;gap:12px}.ticket-chat-message b{font-size:11.5px;color:#cabdff}.ticket-chat-message time{font-size:10px;color:#718198}.ticket-chat-message p{margin:7px 0 0;font-size:13px;line-height:1.95}.ticket-reply-form{display:grid;gap:10px;margin-top:12px;padding:14px;border-radius:15px;background:rgba(255,255,255,.025)}.ticket-reply-form label,.new-ticket-card form label{display:grid;gap:7px;font-size:12px;font-weight:700}.ticket-reply-form textarea,.new-ticket-card input,.new-ticket-card textarea,.student-profile-form input{width:100%;border:1px solid rgba(226,232,240,.1);border-radius:13px;background:#101b2d;color:#f8fafc;padding:12px 13px;outline:0}.ticket-reply-form textarea:focus,.new-ticket-card input:focus,.new-ticket-card textarea:focus,.student-profile-form input:focus{border-color:rgba(139,92,246,.55);box-shadow:0 0 0 4px rgba(139,92,246,.08)}.ticket-closed-note{margin-top:12px;padding:12px;text-align:center;color:#9cabc0}.new-ticket-card{position:sticky;top:115px;height:max-content}.new-ticket-card h2{font-size:1.3rem}.new-ticket-card>p{color:#9fadc1;font-size:13px}.new-ticket-card form{display:grid;gap:13px}.form-message.is-success{color:#86efac}.form-message.is-error{color:#fda4af}.form-message.is-loading{color:#fde68a}
.student-profile-form{display:grid;gap:24px}.profile-avatar-editor{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:18px;border:1px solid rgba(226,232,240,.08);border-radius:20px;background:rgba(255,255,255,.025)}.profile-avatar-editor img{width:92px;height:92px;object-fit:cover;border-radius:24px}.profile-avatar-editor small{color:#8f9fb4;font-size:11px}.student-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.student-form-grid label{display:grid;gap:8px;font-size:12.5px;font-weight:700}.student-profile-form input{min-height:48px}.student-profile-form input:disabled{opacity:.55}.profile-security-box{display:grid;grid-template-columns:.7fr 1.3fr;gap:20px;padding:20px;border-radius:20px;background:rgba(139,92,246,.055);border:1px solid rgba(139,92,246,.12)}.profile-security-box h3{margin:0 0 5px}.profile-security-box p{margin:0;color:#97a6ba;font-size:12.5px}.dashboard-notice{margin-bottom:18px;padding:14px 16px;border-radius:14px}.dashboard-notice.is-success{background:rgba(52,211,153,.1);color:#a7f3d0}.dashboard-notice.is-error{background:rgba(251,113,133,.1);color:#fecdd3}

/* Checkout and payment result */
.checkout-page{background:#0d1523}.checkout-hero{position:relative;padding:155px 0 58px;text-align:center;background:radial-gradient(circle at 50% 0,rgba(139,92,246,.15),transparent 48%)}.checkout-hero h1{max-width:800px;margin:16px auto 10px;font-size:clamp(1.9rem,3.5vw,2.9rem)}.checkout-hero p{max-width:720px;margin:auto;color:#aebbd0}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}.checkout-main-card,.checkout-summary-card,.payment-result-card{border:1px solid rgba(226,232,240,.08);border-radius:28px;background:linear-gradient(155deg,rgba(25,38,59,.96),rgba(14,23,38,.98));box-shadow:0 28px 80px rgba(2,6,23,.22)}.checkout-main-card{padding:26px}.checkout-summary-card{position:sticky;top:115px;padding:24px}.checkout-course-card{display:grid;grid-template-columns:210px 1fr;gap:20px;padding-bottom:22px;border-bottom:1px solid rgba(226,232,240,.08)}.checkout-course-image{aspect-ratio:1.45;overflow:hidden;border-radius:19px}.checkout-course-image img{width:100%;height:100%;object-fit:cover}.checkout-course-card span{color:#b4a4ff;font-size:12px}.checkout-course-card h2{margin:7px 0;font-size:1.45rem}.checkout-course-card p{margin:0;color:#a8b5c8;font-size:13px}.checkout-user-box{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:13px;margin:20px 0;padding:15px;border-radius:18px;background:rgba(255,255,255,.025)}.checkout-user-box img{width:60px;height:60px;object-fit:cover;border-radius:18px}.checkout-user-box small,.checkout-user-box strong,.checkout-user-box em{display:block}.checkout-user-box small{font-size:10.5px;color:#8f9fb5}.checkout-user-box strong{font-size:14px}.checkout-user-box em{font-size:11.5px;color:#9fadc1;font-style:normal}.checkout-user-box>a{font-size:11.5px;color:#c3b5ff}.checkout-error{margin:15px 0;padding:13px;border-radius:13px;background:rgba(251,113,133,.1);color:#fecdd3}.checkout-form{display:grid;gap:18px}.checkout-gateway-list{display:grid;gap:10px}.checkout-gateway-list h3{font-size:1rem}.checkout-gateway-list label{display:grid;grid-template-columns:24px 48px 1fr 20px;align-items:center;gap:12px;padding:14px;border:1px solid rgba(226,232,240,.08);border-radius:17px;background:rgba(255,255,255,.022);cursor:pointer;transition:.25s}.checkout-gateway-list label:hover,.checkout-gateway-list label:has(input:checked){border-color:rgba(139,92,246,.36);background:rgba(139,92,246,.07)}.checkout-gateway-list input{accent-color:#8b5cf6}.gateway-radio-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:rgba(139,92,246,.12);color:#c8bbff}.checkout-gateway-list strong,.checkout-gateway-list small{display:block}.checkout-gateway-list strong{font-size:13.5px}.checkout-gateway-list small{margin-top:3px;color:#8f9fb5;font-size:11px}.checkout-gateway-list label>i{width:12px;height:12px;border:2px solid #64748b;border-radius:50%}.checkout-gateway-list label:has(input:checked)>i{border:3px solid #8b5cf6;box-shadow:0 0 0 4px rgba(139,92,246,.12)}.checkout-terms{display:flex;align-items:flex-start;gap:9px;color:#aab7c9;font-size:12px}.checkout-terms input{margin-top:5px;accent-color:#8b5cf6}.checkout-summary-card>div{display:flex;justify-content:space-between;gap:15px;margin-top:18px}.checkout-summary-card>div span{color:#9eacc0;font-size:12px}.checkout-summary-card>div strong{font-size:13px}.checkout-summary-card hr{margin:19px 0;border:0;border-top:1px solid rgba(226,232,240,.08)}.checkout-summary-card .checkout-total strong{font-size:20px;color:#fff}.checkout-summary-card ul{display:grid;gap:10px;margin:22px 0 0;padding:18px 0 0;list-style:none;border-top:1px solid rgba(226,232,240,.08)}.checkout-summary-card li{display:flex;gap:9px;align-items:center;color:#aab7c9;font-size:12px}.checkout-summary-card li svg{color:#8eeaff}
.payment-result-page{min-height:80vh;padding:150px 0 80px;background:radial-gradient(circle at 50% 20%,rgba(139,92,246,.14),transparent 34%),#0d1523}.payment-result-card{max-width:760px;margin:auto;padding:42px;text-align:center}.payment-result-icon{width:86px;height:86px;display:grid;place-items:center;margin:0 auto 20px;border-radius:28px;background:rgba(52,211,153,.12);color:#6ee7b7;border:1px solid rgba(52,211,153,.22)}.payment-result-card.is-failed .payment-result-icon{background:rgba(251,113,133,.1);color:#fda4af;border-color:rgba(251,113,133,.2)}.payment-result-card h1{margin:16px 0 10px;font-size:2rem}.payment-result-card>p{max-width:600px;margin:0 auto;color:#aab7ca}.payment-result-info{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.payment-result-info span{display:grid;gap:5px;padding:15px;border-radius:16px;background:rgba(255,255,255,.025)}.payment-result-info small{color:#8fa0b6;font-size:10.5px}.payment-result-info strong{font-size:13px}.payment-result-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

@media(max-width:1100px){.student-dashboard-shell{grid-template-columns:230px minmax(0,1fr)}.student-stat-grid{grid-template-columns:repeat(2,1fr)}.student-dashboard-grid{grid-template-columns:1fr}.student-ticket-layout{grid-template-columns:1fr}.new-ticket-card{position:static}.checkout-layout{grid-template-columns:1fr}.checkout-summary-card{position:static}.codefy-orbit-stage{min-height:590px}.orbit-info-card{min-width:220px;padding:17px}.orbit-card-web{right:0}.orbit-card-ai{left:0}}
@media(max-width:900px){.student-dashboard-page{padding-top:125px}.student-dashboard-shell{grid-template-columns:1fr}.student-sidebar{position:static;min-height:auto}.student-profile-mini{justify-content:center}.student-nav{display:flex;overflow:auto;padding-bottom:4px}.student-nav a{min-width:max-content}.student-logout{margin-top:14px;justify-content:center}.student-panel-header{align-items:flex-start}.student-course-list.is-full{grid-template-columns:1fr}.profile-security-box{grid-template-columns:1fr}.codefy-orbit-stage{transform:scale(.9);margin-block:-25px}.single-featured-image{aspect-ratio:16/9}}
@media(max-width:680px){.student-dashboard-page{padding:112px 0 60px}.student-dashboard-shell{width:calc(100% - (var(--mobile-gutter)*2));gap:16px}.student-sidebar,.student-panel-card,.student-welcome-card,.checkout-main-card,.checkout-summary-card,.payment-result-card{border-radius:22px}.student-sidebar{padding:16px}.student-profile-mini{justify-content:flex-start}.student-nav a{padding:11px 12px}.student-panel-header{display:grid}.student-panel-header h1{font-size:1.7rem}.student-panel-header .button{width:100%}.student-welcome-card{grid-template-columns:1fr;padding:23px;text-align:center}.profile-progress-ring{margin:auto}.student-welcome-card h2{font-size:1.35rem}.student-stat-grid{grid-template-columns:1fr 1fr;gap:10px}.student-stat-grid>div{grid-template-columns:40px 1fr;padding:14px}.student-stat-grid span{width:40px;height:40px}.student-stat-grid strong{font-size:18px}.student-panel-card,.student-panel-wide{padding:18px}.student-card-head{align-items:flex-start;flex-wrap:wrap}.student-course-item{grid-template-columns:1fr}.student-course-thumb{aspect-ratio:16/9}.transaction-head{display:none}.transaction-row{grid-template-columns:1fr;gap:7px;padding:14px}.transaction-row>span{display:flex;justify-content:space-between;gap:12px}.transaction-row>span:before{content:attr(data-label);color:#8393aa;font-size:11px}.hosting-ticket summary{grid-template-columns:40px 1fr 18px}.hosting-ticket summary>.ticket-status{grid-column:2}.ticket-chat-message{max-width:94%}.student-form-grid{grid-template-columns:1fr}.profile-avatar-editor{justify-content:center;text-align:center}.checkout-hero{padding:125px 0 45px}.checkout-section{padding-top:35px}.checkout-main-card,.checkout-summary-card{padding:18px}.checkout-course-card{grid-template-columns:1fr}.checkout-user-box{grid-template-columns:55px 1fr}.checkout-user-box>a{grid-column:2}.checkout-gateway-list label{grid-template-columns:20px 42px 1fr 14px;padding:12px}.payment-result-page{padding-top:120px}.payment-result-card{padding:28px 18px}.payment-result-card h1{font-size:1.65rem}.payment-result-info{grid-template-columns:1fr}.codefy-orbit-stage{min-height:510px;transform:none;overflow:hidden}.codefy-orbit-core{width:140px}.codefy-orbit-core span{width:96px;border-radius:25px}.codefy-orbit-core svg{width:56px;height:56px}.codefy-orbit-rings{inset:20%}.orbit-info-card{min-width:0;width:190px;padding:12px 13px;border-radius:18px}.orbit-info-card>span{width:43px;height:43px;border-radius:13px}.orbit-info-card strong{font-size:15px}.orbit-info-card small{font-size:10.5px}.orbit-card-web{top:9%;right:2%}.orbit-card-ai{top:24%;left:0}.orbit-card-project{bottom:18%;right:1%}.orbit-card-market{bottom:5%;left:1%}.post-card-media{aspect-ratio:16/10}.single-featured-image{width:calc(100% - (var(--mobile-gutter)*2));aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){.codefy-orbit-rings,.codefy-orbit-rings i,.codefy-orbit-core,.orbit-info-card{animation:none!important}.student-stat-grid>div,.student-course-item{transition:none}}
@font-face{font-family:IRANYekanX;src:local("IRANYekanX"),local("IRANYekanX Regular"),local("Iran Yekan X");font-weight:100 1000;font-style:normal;font-display:swap}

/* ===== کدیفای 1.0.5: typography, tickets and SpotPlayer access ===== */
html,body{font-family:var(--font)!important}
body,.elementor,.elementor-widget-container,button,input,textarea,select{font-family:var(--font)!important}
h1,h2{font-weight:900}h3,h4,h5,h6{font-weight:800}.button,.nav-list a,strong,b,label{font-weight:700}.eyebrow,small{font-weight:500}

/* Public pages stay visible; protected account pages are isolated by their templates only. */
.site-main:not(.student-dashboard-page){visibility:visible!important;opacity:1!important}

/* Student licenses and SpotPlayer tools */
.student-license-box{display:grid;gap:8px;margin-top:15px;padding:15px;border:1px solid rgba(139,92,246,.18);border-radius:17px;background:rgba(139,92,246,.065)}
.student-license-box>span{font-size:12px;color:#b9a9ff;font-weight:700}.student-license-box code,.course-license-row code{display:block;padding:11px 13px;border-radius:12px;background:#0b1422;color:#c9f7ff;white-space:normal;overflow-wrap:anywhere;font:700 13px/1.8 ui-monospace,SFMono-Regular,Menlo,monospace}.student-license-box small{color:#8696ac;font-size:10px}.spotplayer-content-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:#8eeaff;font-size:13px;font-weight:700}.spotplayer-dashboard-tools{margin-top:18px;padding-top:16px;border-top:1px solid rgba(226,232,240,.07)}.spotplayer-dashboard-tools h4{margin:0 0 11px;font-size:14px}
.spotplayer-downloads{margin-top:22px;padding:19px;border:1px solid rgba(34,211,238,.14);border-radius:22px;background:linear-gradient(150deg,rgba(34,211,238,.045),rgba(139,92,246,.055))}.spotplayer-downloads-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.spotplayer-downloads-head h3{margin:0;font-size:16px}.spotplayer-downloads-head p{margin:4px 0 0;color:#9eacc0;font-size:12.5px}.spotplayer-downloads-head>svg{color:#75e7f7}.spotplayer-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.spotplayer-download-grid.compact{grid-template-columns:1fr}.spotplayer-download-card{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;min-height:68px;padding:11px 13px;border:1px solid rgba(226,232,240,.075);border-radius:16px;background:rgba(12,21,35,.72);transition:transform .25s var(--ease),border-color .25s,background .25s}.spotplayer-download-card:hover{transform:translateY(-3px);border-color:rgba(34,211,238,.28);background:rgba(20,34,53,.9)}.spotplayer-download-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(34,211,238,.1);color:#90f2ff;font-size:23px}.spotplayer-download-icon img{width:26px;height:26px;object-fit:contain}.spotplayer-download-card strong,.spotplayer-download-card small{display:block}.spotplayer-download-card strong{font-size:12.5px}.spotplayer-download-card small{margin-top:3px;color:#8192aa;font-size:10.5px}.spotplayer-download-arrow{color:#a997ee}.spotplayer-download-loading{grid-column:1/-1;padding:13px;color:#91a2b8;text-align:center;font-size:12px}
.spotplayer-guide{margin-top:13px;border:1px solid rgba(226,232,240,.08);border-radius:18px;background:rgba(255,255,255,.025);overflow:hidden}.spotplayer-guide summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;cursor:pointer;list-style:none;font-size:13.5px;font-weight:700}.spotplayer-guide summary::-webkit-details-marker{display:none}.spotplayer-guide summary>span{display:flex;align-items:center;gap:9px}.spotplayer-guide summary>svg{transition:transform .25s}.spotplayer-guide[open] summary>svg{transform:rotate(180deg)}.spotplayer-guide>div{padding:0 18px 16px;color:#a9b6c8}.spotplayer-guide ol{margin:0;padding-right:20px}.spotplayer-guide li{padding:4px 0;font-size:13px;line-height:1.95}.course-student-access{display:grid;gap:12px;margin-top:16px;padding:16px;border-radius:18px;background:rgba(52,211,153,.07);border:1px solid rgba(52,211,153,.16)}.course-student-access>strong{display:flex;align-items:center;gap:8px;color:#a7f3d0;font-size:14px}.course-license-row{display:grid;grid-template-columns:1fr auto;gap:8px}.course-student-access>a{display:inline-flex;align-items:center;gap:7px;color:#8eeaff;font-size:12.5px;font-weight:700}.button-student-enrolled{color:#d1fae5;background:linear-gradient(135deg,rgba(16,185,129,.24),rgba(5,150,105,.18));border:1px solid rgba(52,211,153,.28);box-shadow:0 12px 30px rgba(16,185,129,.12)}

/* Advanced two-way ticket attachments */
.ticket-upload-field{display:grid;gap:8px;padding:13px 14px;border:1px dashed rgba(167,139,250,.24);border-radius:15px;background:rgba(139,92,246,.04)}.ticket-upload-field>span{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#d7ccff}.ticket-upload-field input[type=file]{width:100%;padding:8px;border-radius:10px;background:rgba(255,255,255,.025);font-size:11.5px}.ticket-upload-field small{color:#8495ab;font-size:10.5px}.ticket-message-attachment{display:block;width:min(100%,360px);margin-top:12px;padding:6px;border:1px solid rgba(226,232,240,.09);border-radius:15px;background:rgba(255,255,255,.025);overflow:hidden}.ticket-message-attachment img{display:block;width:100%;max-height:260px;object-fit:contain;border-radius:10px;background:#0b1422}.ticket-chat-message{animation:ticketMessageIn .28s ease both}@keyframes ticketMessageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* Performance: defer rendering of below-the-fold sections while retaining visuals. */
@supports(content-visibility:auto){.site-main>.section:not(:first-child),.related-section,.course-comments-section{content-visibility:auto;contain-intrinsic-size:1px 760px}}
img[loading=lazy]{content-visibility:auto}

@media(max-width:680px){
  .spotplayer-download-grid{grid-template-columns:1fr}.spotplayer-downloads{padding:14px}.spotplayer-downloads-head{align-items:flex-start}.course-license-row{grid-template-columns:1fr}.course-license-row .button{width:100%}.spotplayer-download-card{grid-template-columns:40px 1fr auto}.ticket-message-attachment{width:100%}
}
@media(prefers-reduced-motion:reduce){.ticket-chat-message,.spotplayer-download-card{animation:none;transition:none}}

/* ===== Codefy 1.0.6 ===== */
body.codify-v106{font-family:var(--font)!important}
.codify-v106 h1,.codify-v106 h2{font-weight:900}.codify-v106 h3{font-weight:800}.codify-v106 strong,.codify-v106 b{font-weight:700}.codify-v106 small{font-weight:300}

/* Student course library: cleaner, minimal and consistent. */
.student-course-list.is-full{grid-template-columns:repeat(2,minmax(0,1fr))}
.student-course-minimal{grid-template-columns:150px minmax(0,1fr);align-items:center;padding:14px;border-radius:22px;background:linear-gradient(145deg,rgba(27,40,62,.82),rgba(14,23,38,.9));box-shadow:0 18px 45px rgba(2,6,23,.14)}
.student-course-list.is-full .student-course-minimal{grid-template-columns:160px minmax(0,1fr)}
.student-course-minimal .student-course-thumb{aspect-ratio:16/10;border-radius:17px}
.student-course-minimal .student-course-copy>span{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(52,211,153,.08);color:#9ef2d0;font-size:11.5px;font-weight:600}
.student-course-minimal .student-course-copy h3{margin:8px 0 5px;font-size:16px;line-height:1.75}
.student-course-minimal .student-course-copy p{font-size:13px;line-height:1.85}
.student-course-minimal .student-course-actions{margin-top:12px}
.student-course-minimal .student-course-actions .button{min-height:39px;font-size:12px}

/* Dedicated SpotPlayer panel. */
.student-spotplayer-list{display:grid;gap:18px}
.student-spotplayer-card{position:relative;padding:24px;border:1px solid rgba(167,139,250,.14);border-radius:25px;background:linear-gradient(150deg,rgba(26,39,61,.92),rgba(14,23,38,.96));box-shadow:0 24px 60px rgba(2,6,23,.18);overflow:hidden}
.student-spotplayer-card:before{content:"";position:absolute;inset:0 0 auto;height:150px;background:radial-gradient(circle at top right,rgba(139,92,246,.15),transparent 58%),radial-gradient(circle at top left,rgba(34,211,238,.08),transparent 50%);pointer-events:none}
.student-spotplayer-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid rgba(226,232,240,.07)}
.student-spotplayer-head>svg{color:#bdaaff}
.student-spotplayer-head span{font-size:12px;color:#a99aff}.student-spotplayer-head h3{margin:5px 0 0;font-size:18px}
.student-spotplayer-card .student-license-box{grid-template-columns:1fr auto;align-items:end;gap:10px;margin-top:18px}
.student-spotplayer-card .student-license-box>span{grid-column:1/-1}.student-spotplayer-card .student-license-box code{margin:0}
.student-license-help{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:15px;border-radius:16px;background:rgba(251,191,36,.06);color:#f5d98a}
.student-license-help p{margin:0;font-size:13px;line-height:1.9}
.student-spotplayer-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.telegram-support-link{color:#a9f2ff!important}

/* Scheduled notices. */
.student-notice-list{display:grid;gap:14px}
.student-notice-item{display:grid;grid-template-columns:54px 1fr;gap:15px;padding:20px;border:1px solid rgba(226,232,240,.08);border-radius:21px;background:rgba(255,255,255,.025);transition:transform .25s ease,border-color .25s ease}
.student-notice-item:hover{transform:translateY(-2px);border-color:rgba(139,92,246,.22)}
.student-notice-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:rgba(139,92,246,.12);color:#c9baff}
.student-notice-item.notice-important .student-notice-icon{background:rgba(251,191,36,.12);color:#fde68a}
.student-notice-item.notice-success .student-notice-icon{background:rgba(52,211,153,.11);color:#9ef2d0}
.student-notice-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#8190a7;font-size:11.5px}
.student-notice-meta span{padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.04)}
.student-notice-item h3{margin:8px 0 6px;font-size:16px}.student-notice-content p{margin:0;color:#b5c1d1;font-size:13.5px;line-height:1.95}

/* Article images: stable aspect ratio and no distortion. */
.post-card-media{aspect-ratio:5/3!important;min-height:0!important;padding:0!important;background:#101827!important}
.post-card-media .card-media-backdrop{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(18px) saturate(.8);opacity:.22;transform:scale(1.08)}
.post-card-media .card-media-image{position:relative;z-index:1;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;padding:0!important}
.single-featured-image{aspect-ratio:16/9!important;max-height:none!important;background:#101827!important}
.single-featured-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;padding:0!important}

/* Course access placement and features. */
.course-access-section{margin-top:22px}.course-feature-grid{margin-top:18px}

@media(max-width:900px){
 .student-course-list.is-full,.student-course-list{grid-template-columns:1fr}
 .student-course-list.is-full .student-course-minimal,.student-course-minimal{grid-template-columns:140px minmax(0,1fr)}
}
@media(max-width:680px){
 .student-course-list.is-full .student-course-minimal,.student-course-minimal{grid-template-columns:1fr;padding:12px}
 .student-course-minimal .student-course-thumb{aspect-ratio:16/9}
 .student-course-minimal .student-course-copy{padding:4px 4px 8px}
 .student-course-minimal .student-course-actions .button{flex:1}
 .student-spotplayer-card{padding:18px}.student-spotplayer-card .student-license-box{grid-template-columns:1fr}.student-spotplayer-card .student-license-box>span{grid-column:auto}
 .student-notice-item{grid-template-columns:44px 1fr;padding:16px}.student-notice-icon{width:44px;height:44px;border-radius:14px}
 .single-featured-image{aspect-ratio:16/10!important}
}
.student-dashboard-notices{margin-bottom:18px}.student-dashboard-notices .student-notice-item{padding:16px}.student-dashboard-notices .student-notice-content{display:none}

/* ===== کدیفای 1.0.7: student dashboard architecture and typography ===== */
.codify-v107 .student-main-panel{display:grid;gap:22px}
.codify-v107 .student-panel-header{margin-bottom:0}
.codify-v107 .profile-completion-card{margin:0}
.codify-v107 .student-stat-grid{margin:0}
.codify-v107 .student-dashboard-notices{margin:0;padding:26px;border-color:rgba(139,92,246,.2);background:linear-gradient(140deg,rgba(36,38,78,.96),rgba(18,30,49,.98) 56%,rgba(10,51,61,.72));overflow:hidden;isolation:isolate}
.codify-v107 .student-dashboard-notices:before{content:"";position:absolute;inset:-90px auto auto -60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.13),transparent 68%);z-index:-1}
.codify-v107 .student-dashboard-notices .student-notice-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.codify-v107 .student-dashboard-notices .student-notice-item{padding:17px;background:rgba(13,23,39,.54);backdrop-filter:blur(12px)}
.codify-v107 .student-dashboard-notices .student-notice-content{display:block}
.codify-v107 .student-dashboard-notices .student-notice-content p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.codify-v107 .student-dashboard-grid{margin:0}

/* Nested ticket menu. */
.student-nav-group{padding:5px;border-radius:17px;background:rgba(255,255,255,.02)}
.student-nav-group-label{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:11px;padding:11px 10px;color:#c7d1df;font-size:14px;font-weight:700}
.student-nav-group-label svg{color:#b7a7ff}.student-nav-group-label b{min-width:25px;height:25px;display:grid;place-items:center;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.07);font-size:11px}
.student-nav-submenu{display:grid;gap:5px;padding:0 28px 5px 0}
.student-nav-submenu a{grid-template-columns:20px 1fr!important;padding:9px 11px!important;font-size:12.5px!important;border-radius:12px!important}
.student-nav-submenu a:before{content:"";position:absolute;right:-13px;width:7px;height:7px;border-radius:50%;background:rgba(167,139,250,.45)}
.student-nav-submenu a{position:relative}

/* Horizontal course library. */
.student-course-list.is-horizontal,.student-course-list.is-horizontal.is-full{display:grid;grid-template-columns:1fr;gap:15px}
.student-course-horizontal,.student-course-list.is-full .student-course-horizontal{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:center;gap:20px;padding:15px;border-radius:23px;background:linear-gradient(145deg,rgba(28,42,65,.9),rgba(14,23,38,.96));box-shadow:0 18px 45px rgba(2,6,23,.14)}
.student-course-horizontal .student-course-thumb{width:100%;aspect-ratio:16/10;border-radius:17px;overflow:hidden}
.student-course-horizontal .student-course-thumb img{width:100%;height:100%;object-fit:cover}
.student-course-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.student-course-topline>span{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(52,211,153,.08);color:#9ef2d0;font-size:11.5px;font-weight:600}
.student-course-topline small{display:inline-flex;align-items:center;gap:6px;color:#93dff0;font-size:11px}
.student-course-horizontal h3{margin:9px 0 6px;font-size:17px;line-height:1.7}
.student-course-horizontal p{margin:0;color:#9fadc1;font-size:13px;line-height:1.9}

/* Course support contacts. */
.student-support-list{display:grid;gap:10px}.student-support-item{display:grid;grid-template-columns:46px 1fr 20px;align-items:center;gap:12px;padding:13px;border:1px solid rgba(226,232,240,.075);border-radius:17px;background:rgba(255,255,255,.025);transition:transform .25s,border-color .25s}.student-support-item:hover{transform:translateY(-2px);border-color:rgba(34,211,238,.22)}.student-support-item>span{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(34,211,238,.1);color:#88ecfa}.student-support-item strong,.student-support-item small{display:block}.student-support-item strong{font-size:13.5px}.student-support-item small{margin-top:3px;color:#8ca0b8;font-size:11.5px}.student-support-item>svg{color:#a99aff}

/* License accordion. */
.student-licenses-panel{overflow:visible}.student-license-accordion{display:grid;gap:14px}.student-license-course{border:1px solid rgba(226,232,240,.08);border-radius:22px;background:linear-gradient(150deg,rgba(25,39,62,.92),rgba(13,22,37,.98));overflow:hidden;transition:border-color .25s,box-shadow .25s}.student-license-course[open]{border-color:rgba(139,92,246,.23);box-shadow:0 24px 60px rgba(2,6,23,.2)}.student-license-course summary{display:grid;grid-template-columns:62px minmax(0,1fr) auto 22px;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;list-style:none}.student-license-course summary::-webkit-details-marker{display:none}.license-course-thumb{width:62px;height:50px;border-radius:13px;overflow:hidden;background:#0d1727}.license-course-thumb img{width:100%;height:100%;object-fit:cover}.license-course-title small,.license-course-title strong{display:block}.license-course-title small{color:#a99aff;font-size:11px}.license-course-title strong{margin-top:4px;font-size:15px}.license-course-state{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:10.5px;font-weight:700}.license-course-state.is-active{background:rgba(52,211,153,.1);color:#9ef2d0}.license-course-state.is-empty{background:rgba(251,191,36,.1);color:#fde68a}.student-license-course summary>svg{color:#92a3ba;transition:transform .25s}.student-license-course[open] summary>svg{transform:rotate(180deg)}.student-license-course-body{display:grid;gap:17px;padding:0 18px 18px;border-top:1px solid rgba(226,232,240,.07)}.student-license-course-body>.student-license-box,.student-license-course-body>.student-license-help{margin-top:18px}.student-license-help{align-items:center;flex-wrap:wrap}.student-license-help .button{margin-right:auto}

/* Separate new ticket page. */
.new-ticket-page{max-width:900px}.new-ticket-form{display:grid;gap:17px}.new-ticket-form>label,.new-ticket-form .student-form-grid label{display:grid;gap:8px;font-size:12.5px;font-weight:700}.new-ticket-form input,.new-ticket-form textarea,.new-ticket-form select{width:100%;border:1px solid rgba(226,232,240,.1);border-radius:14px;background:#101b2d;color:#f8fafc;padding:13px 14px;outline:0}.new-ticket-form input:focus,.new-ticket-form textarea:focus,.new-ticket-form select:focus{border-color:rgba(139,92,246,.55);box-shadow:0 0 0 4px rgba(139,92,246,.08)}

/* Improve profile card flow. */
.profile-completion-card .button{margin-top:16px}.profile-completion-card h2{max-width:720px}

@media(max-width:900px){
 .student-nav-group{min-width:max-content}.student-nav-submenu{display:flex;padding:4px}.student-nav-group-label{padding:9px 10px}.student-nav-submenu a{min-width:max-content!important}.student-dashboard-notices .student-notice-list{grid-template-columns:1fr}.student-course-horizontal,.student-course-list.is-full .student-course-horizontal{grid-template-columns:180px minmax(0,1fr)}
}
@media(max-width:680px){
 .student-main-panel{gap:16px}.student-dashboard-notices{padding:18px}.student-dashboard-notices .student-card-head p{font-size:12.5px}.student-dashboard-notices .student-notice-content{display:none}.student-course-horizontal,.student-course-list.is-full .student-course-horizontal{grid-template-columns:1fr;padding:12px}.student-course-horizontal .student-course-thumb{aspect-ratio:16/9}.student-course-copy{padding:3px 4px 7px}.student-course-actions .button{flex:1}.student-license-course summary{grid-template-columns:52px minmax(0,1fr) 20px;padding:13px}.license-course-thumb{width:52px;height:45px}.license-course-state{grid-column:2;margin-top:5px;width:max-content}.student-license-course summary>svg{grid-column:3;grid-row:1/3}.student-license-course-body{padding:0 13px 13px}.student-license-box{grid-template-columns:1fr!important}.student-license-box>span{grid-column:auto!important}.student-support-item{grid-template-columns:42px 1fr 18px}.student-support-item>span{width:42px;height:42px}.new-ticket-page{padding:18px}.student-nav-group-label span{display:inline}.student-nav-submenu{padding-right:5px}
}

/* ===== 1.0.7 public-access and account UX hotfix ===== */
/* Typography hierarchy: use the real installed font weights consistently. */
body,.entry-content,p,li,input,textarea,select{font-weight:400!important}
.nav-list a,.mobile-nav-list a,.student-nav a,.student-nav-group-label,.button,label,.eyebrow{font-weight:600!important}
.course-card-meta,.post-card-meta,.course-hero-meta small,.student-course-copy p,.student-panel-card p{font-weight:400!important}
.course-card h3,.post-card h3,.student-card-head h2,.accordion-list summary,.footer-main h3{font-weight:800!important;font-variation-settings:"wght" 800}
.hero-copy h1,.hero-copy h1 *,.page-hero h1,.single-post-hero h1,.course-hero-copy h1,.student-panel-header h1,.account-login-visual h1{font-weight:900!important;font-variation-settings:"wght" 900}
.section-heading h2,.why-copy h2,.faq-copy h2,.course-content-block>h2,.about-story-copy h2,.mission-card h2{font-size:clamp(1.48rem,2.25vw,2rem)!important;font-weight:800!important;font-variation-settings:"wght" 800;line-height:1.58}

/* Collapsible ticket navigation and logout spacing. */
.student-nav-group{overflow:hidden;transition:background .25s var(--ease),box-shadow .25s var(--ease)}
.student-nav-group.is-open{background:rgba(139,92,246,.065);box-shadow:inset 0 0 0 1px rgba(139,92,246,.1)}
.student-nav-group-label{width:100%;border:0;background:transparent;text-align:right;cursor:pointer;grid-template-columns:24px 1fr auto 18px}
.student-nav-group-label>.codify-icon:last-child{transition:transform .25s var(--ease);color:#8798af}
.student-nav-group.is-open .student-nav-group-label>.codify-icon:last-child{transform:rotate(180deg)}
.student-nav-submenu{max-height:0;opacity:0;overflow:hidden;padding-block:0!important;transition:max-height .32s var(--ease),opacity .25s var(--ease),padding .25s var(--ease)}
.student-nav-group.is-open .student-nav-submenu{max-height:150px;opacity:1;padding-block:5px!important}
.student-logout{margin-top:22px!important;margin-bottom:4px}

/* Dedicated account login/register page. */
.account-login-page{position:relative;min-height:100vh;padding:155px 0 90px;overflow:hidden;background:radial-gradient(circle at 12% 12%,rgba(139,92,246,.15),transparent 34%),radial-gradient(circle at 88% 84%,rgba(34,211,238,.09),transparent 30%),var(--bg)}
.account-login-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(1px)}
.account-login-orb-one{width:420px;height:420px;right:-210px;top:80px;border:1px solid rgba(139,92,246,.16)}
.account-login-orb-two{width:310px;height:310px;left:-160px;bottom:30px;border:1px solid rgba(34,211,238,.13)}
.account-login-shell{position:relative;z-index:2;display:grid;grid-template-columns:1fr 480px;gap:32px;align-items:stretch}
.account-login-visual,.account-login-card{border:1px solid rgba(226,232,240,.09);border-radius:32px;background:linear-gradient(155deg,rgba(27,40,62,.94),rgba(14,23,38,.97));box-shadow:0 30px 90px rgba(2,6,23,.3)}
.account-login-visual{display:flex;flex-direction:column;justify-content:center;padding:48px}
.account-login-brand{display:flex;align-items:center;gap:17px}.account-login-brand img{filter:drop-shadow(0 16px 30px rgba(139,92,246,.24))}.account-login-brand span{display:block;color:#b9a9ff;font-size:13px;font-weight:700}.account-login-brand h1{margin:7px 0 0;font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.48}
.account-login-visual>p{max-width:680px;margin:25px 0;color:#afbdcf;font-size:15px;line-height:2}
.account-login-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.account-login-benefits>div{display:flex;align-items:flex-start;gap:11px;padding:17px;border:1px solid rgba(226,232,240,.075);border-radius:19px;background:rgba(255,255,255,.025)}.account-login-benefits>div>svg{flex:0 0 auto;color:#bcaaff}.account-login-benefits strong,.account-login-benefits small{display:block}.account-login-benefits strong{font-size:13.5px}.account-login-benefits small{margin-top:5px;color:#899bb2;font-size:11px;line-height:1.75}
.account-login-card{padding:30px}.account-page-auth-tabs{margin-bottom:22px}.account-login-card .auth-form{gap:15px}.account-login-card .auth-form input{min-height:50px;background:#111c2e}.account-login-card .button{min-height:52px}

/* Course introduction video. */
.course-intro-video{margin:22px 0 28px;padding:16px;border:1px solid rgba(139,92,246,.16);border-radius:25px;background:linear-gradient(150deg,rgba(139,92,246,.07),rgba(34,211,238,.035));box-shadow:0 22px 55px rgba(2,6,23,.18)}
.course-intro-video-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.course-intro-video-head>span{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,rgba(139,92,246,.2),rgba(34,211,238,.12));color:#d7ccff}.course-intro-video-head strong,.course-intro-video-head small{display:block}.course-intro-video-head strong{font-size:15px;font-weight:800}.course-intro-video-head small{margin-top:3px;color:#91a2b8;font-size:11.5px}
.course-intro-video-frame{position:relative;aspect-ratio:16/9;border-radius:19px;overflow:hidden;background:#08111e}.course-intro-video-frame iframe,.course-intro-video-frame video,.course-intro-video-frame .wp-video,.course-intro-video-frame .mejs-container{width:100%!important;height:100%!important}.course-intro-video-frame iframe{border:0}.course-intro-video-frame .wp-video{max-width:none!important}.course-intro-video-frame video{object-fit:cover}

@media(max-width:1000px){.account-login-shell{grid-template-columns:1fr}.account-login-visual{padding:34px}.account-login-benefits{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.student-nav-group{min-width:max-content}.student-nav-group-label{min-width:max-content}.student-nav-group.is-open .student-nav-submenu{display:flex;max-height:80px}.student-logout{margin-top:18px!important}}
@media(max-width:680px){
 .section-heading h2,.why-copy h2,.faq-copy h2,.course-content-block>h2{font-size:1.42rem!important}
 .account-login-page{padding:118px 0 55px}.account-login-shell{width:calc(100% - (var(--mobile-gutter)*2));gap:16px}.account-login-visual,.account-login-card{border-radius:23px}.account-login-visual{padding:23px}.account-login-brand{align-items:flex-start}.account-login-brand img{width:52px;height:52px}.account-login-brand h1{font-size:1.65rem}.account-login-benefits{grid-template-columns:1fr}.account-login-card{padding:20px 17px}
 .student-nav-group{min-width:210px}.student-nav-submenu{display:grid!important}.student-nav-group.is-open .student-nav-submenu{max-height:130px}.student-nav-submenu a{width:100%}
 .course-intro-video{padding:11px;border-radius:20px}.course-intro-video-frame{border-radius:15px}
}
.roadmap-content h2{font-weight:800!important;font-variation-settings:"wght" 800;white-space:nowrap;font-size:clamp(1.4rem,2.15vw,2rem)!important;letter-spacing:-.45px}
@media(max-width:680px){.roadmap-content h2{font-size:clamp(1.02rem,5.2vw,1.35rem)!important;letter-spacing:-.25px}}
@media(max-width:680px){
 .student-nav{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;overflow:visible!important;padding-bottom:0}
 .student-nav>a{min-width:0!important;width:100%;justify-content:flex-start;padding:11px 10px!important}
 .student-nav>a b{margin-right:auto}
 .student-nav-group{grid-column:1/-1;min-width:0!important;width:100%}
 .student-nav-group-label{min-width:0!important;width:100%;padding:11px 10px}
 .student-nav-submenu{grid-template-columns:1fr 1fr;gap:7px;padding-inline:5px!important}
 .student-nav-submenu a{min-width:0!important;width:100%;justify-content:center;text-align:center}
 .student-logout{margin-top:15px!important;padding-block:12px}
 .student-main-panel{min-width:0}.student-panel-header h1{font-size:1.55rem!important}.student-panel-card,.student-panel-wide{max-width:100%;overflow:hidden}
}

/* ===== کدیفای 1.0.8: visual polish, article UX, student mobile ===== */
/* Heavier, more intentional display typography. */
.codify-v108 .hero-copy h1,
.codify-v108 .hero-copy h1 *,
.codify-v108 .page-hero h1,
.codify-v108 .single-post-hero h1,
.codify-v108 .course-hero-copy h1{
  font-weight:1000!important;
  font-variation-settings:"wght" 1000!important;
  letter-spacing:-.75px;
}
.codify-v108 .course-hero-copy h1{
  max-width:720px;
  font-size:clamp(1.72rem,2.75vw,2.45rem)!important;
  line-height:1.62!important;
}
.codify-v108 .section-heading h2,
.codify-v108 .why-copy h2,
.codify-v108 .faq-copy h2,
.codify-v108 .roadmap-content h2,
.codify-v108 .footer-social-cta strong{
  font-weight:900!important;
  font-variation-settings:"wght" 900!important;
}
.codify-v108 .footer-social-cta strong{font-size:17px;line-height:1.75;color:#fff}

/* Blender-inspired 3D visual for the why section. */
.codefy-blender-stage{
  position:relative;
  width:min(100%,720px);
  min-height:640px;
  margin-inline:auto;
  display:grid;
  place-items:center;
  isolation:isolate;
  perspective:1200px;
}
.codefy-blender-stage:before{
  content:"";
  position:absolute;
  inset:8% 6%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(122,92,255,.18),rgba(30,211,238,.07) 42%,transparent 72%);
  filter:blur(34px);
  z-index:-2;
  animation:codefyPulseGlow 6s ease-in-out infinite;
}
.codefy-blender-stage:after{
  content:"";
  position:absolute;
  left:14%;right:14%;bottom:5%;height:72px;
  border-radius:50%;
  background:rgba(2,6,23,.52);
  filter:blur(28px);
  z-index:-1;
}
.codefy-blender-stage>img{
  width:100%;height:auto;display:block;
  transform:rotateX(1.5deg) rotateY(-1deg) translateZ(0);
  filter:drop-shadow(0 42px 70px rgba(2,6,23,.3));
  animation:codefyBlenderFloat 7s cubic-bezier(.42,0,.2,1) infinite;
  transform-origin:center 62%;
}
.codefy-blender-glow{
  position:absolute;width:150px;height:150px;right:11%;top:17%;border-radius:50%;
  background:radial-gradient(circle,rgba(45,222,244,.2),transparent 68%);
  filter:blur(8px);animation:codefyDrift 8s ease-in-out infinite alternate;
}
.blender-float-chip{
  position:absolute;z-index:3;display:inline-flex;align-items:center;gap:8px;
  padding:10px 14px;border:1px solid rgba(226,232,240,.11);border-radius:999px;
  background:rgba(13,24,42,.76);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  color:#edf4ff;font-size:12.5px;font-weight:700;box-shadow:0 18px 40px rgba(2,6,23,.25);
  animation:codify-float 5.8s ease-in-out infinite;
}
.blender-float-chip svg{color:#a995ff}.chip-build{right:4%;bottom:18%}.chip-growth{left:5%;top:17%;animation-delay:-2.3s}.chip-growth svg{color:#70e9f8}
@keyframes codefyBlenderFloat{0%,100%{transform:rotateX(1.5deg) rotateY(-1deg) translateY(0)}50%{transform:rotateX(-1deg) rotateY(1.2deg) translateY(-13px)}}
@keyframes codefyPulseGlow{0%,100%{transform:scale(.94);opacity:.72}50%{transform:scale(1.05);opacity:1}}
@keyframes codefyDrift{to{transform:translate(-26px,18px) scale(1.12)}}

/* Roadmap heading after removing the badge. */
.roadmap-content>h2{margin-top:0!important}

/* FAQ without redundant title. */
.course-faq-block>.eyebrow{margin-bottom:18px}
.course-faq-block>.accordion-list{margin-top:0}

/* Fixed SpotPlayer download block outside course accordions. */
.spotplayer-downloads-static{
  margin-top:22px;padding:22px;border:1px solid rgba(34,211,238,.14);border-radius:23px;
  background:linear-gradient(145deg,rgba(18,40,55,.74),rgba(18,27,46,.96));
  box-shadow:0 22px 55px rgba(2,6,23,.16);
}
.spotplayer-downloads-static .student-card-head{margin-bottom:15px}
.spotplayer-downloads-static .student-card-head>svg{color:#79e8f7;flex:0 0 auto}
.spotplayer-downloads-static h4{margin:6px 0 3px;font-size:17px;font-weight:800}
.spotplayer-downloads-static p{margin:0;color:#9caec3;font-size:13px;line-height:1.85}

/* More compact, balanced article header author row. */
.single-post-hero h1{font-size:clamp(1.95rem,3.25vw,2.9rem)!important;line-height:1.58!important}
.single-post-meta{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;
  margin-top:24px!important;padding-top:0!important;border-top:0!important;flex-wrap:wrap;
}
.author-meta{
  display:inline-flex!important;align-items:center;gap:9px;padding:8px 11px!important;
  border:1px solid rgba(226,232,240,.075);border-radius:15px;background:rgba(255,255,255,.025);
}
.author-meta img{width:38px!important;height:38px!important;border-radius:12px!important}
.author-meta strong{font-size:12.5px!important;font-weight:700!important}.author-meta small{font-size:10.5px!important}
.post-info-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.post-info-meta span{padding:9px 11px!important;border:1px solid rgba(226,232,240,.07);border-radius:13px;background:rgba(255,255,255,.024);font-size:11.5px!important}

/* A useful reading map between the cover and article. */
.article-reading-map{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;
  max-width:980px;margin:24px auto 0;padding:14px;border:1px solid rgba(226,232,240,.08);
  border-radius:22px;background:linear-gradient(145deg,rgba(25,38,60,.74),rgba(14,23,38,.82));
  box-shadow:0 18px 44px rgba(2,6,23,.13);
}
.article-reading-map>div{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.025)}
.article-reading-map>div>span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:rgba(139,92,246,.11);color:#c7b7ff}
.article-reading-map small,.article-reading-map strong{display:block}.article-reading-map small{font-size:10.5px;color:#8495ad}.article-reading-map strong{margin-top:2px;font-size:12.5px;color:#edf3fb}
.article-layout{margin-top:28px}
.article-content{font-size:16px;line-height:2.12}
.article-content ul,.article-content ol{display:grid;gap:10px;margin:24px 0;padding:0;list-style:none;counter-reset:article-list}
.article-content li{position:relative;padding:13px 48px 13px 15px;border:1px solid rgba(226,232,240,.075);border-radius:16px;background:rgba(255,255,255,.025);line-height:2}
.article-content ul>li:before{content:"";position:absolute;right:17px;top:22px;width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 0 0 6px rgba(139,92,246,.08)}
.article-content ol>li{counter-increment:article-list}
.article-content ol>li:before{content:counter(article-list);position:absolute;right:12px;top:13px;display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:rgba(139,92,246,.13);color:#d7cdff;font-size:12px;font-weight:800}
.article-content blockquote{position:relative;margin:30px 0;padding:24px 28px 24px 24px;border:1px solid rgba(34,211,238,.14);border-radius:20px;background:linear-gradient(135deg,rgba(34,211,238,.06),rgba(139,92,246,.055));font-size:15px}
.article-content blockquote:before{content:"“";position:absolute;right:18px;top:-8px;color:#78eafa;font-size:44px;font-weight:900;opacity:.6}
.post-author-box{max-width:980px;border-radius:22px;transition:transform .3s var(--ease),border-color .3s var(--ease)}
.post-author-box:hover{transform:translateY(-3px);border-color:rgba(139,92,246,.2)}

/* Student panel: true vertical mobile navigation. */
@media(max-width:900px){
  .student-dashboard-shell{width:min(calc(100% - 44px),var(--container));margin-inline:auto}
  .student-nav{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;overflow:visible!important;width:100%}
  .student-nav>a,.student-nav-group{width:100%!important;min-width:0!important}
  .student-nav>a{justify-content:flex-start!important;padding:12px 13px!important}
  .student-nav-group-label{width:100%!important;min-width:0!important;padding:12px 13px!important}
  .student-nav-submenu{display:grid!important;grid-template-columns:1fr!important;width:100%;padding:5px 30px 7px 6px!important}
  .student-nav-submenu a{width:100%!important;min-width:0!important;justify-content:flex-start!important;text-align:right!important}
  .student-nav-group.is-open .student-nav-submenu{max-height:180px!important}
  .student-logout{width:100%;justify-content:center}
}

/* More breathing room on mobile across the entire site. */
@media(max-width:680px){
  :root{--mobile-gutter:20px}
  .container,.narrow-container,.student-dashboard-shell,.article-reading-map{width:calc(100% - 40px)!important}
  .section{padding-inline:0}
  .hero-copy h1{font-size:clamp(1.62rem,7.1vw,2.02rem)!important;line-height:1.68!important}
  .course-hero-copy h1{font-size:1.68rem!important;line-height:1.72!important;text-align:center}
  .course-hero-copy>p,.course-hero-labels,.course-hero-meta{justify-content:center;text-align:center}
  .codefy-blender-stage{min-height:470px;width:calc(100% - 8px)}
  .blender-float-chip{font-size:10.5px;padding:8px 10px}.chip-growth{left:1%;top:13%}.chip-build{right:1%;bottom:14%}
  .article-reading-map{grid-template-columns:1fr;padding:10px;gap:8px}
  .article-reading-map>div{padding:10px 12px}
  .single-post-meta{gap:8px!important}.post-info-meta span{font-size:10.5px!important;padding:8px 9px!important}
  .article-content{padding:24px 18px!important}.article-content li{padding-right:43px}
  .student-dashboard-shell{gap:16px}
  .student-sidebar,.student-panel-card,.student-panel-wide{padding-inline:17px!important}
  .footer-main,.footer-bottom{padding-inline:4px}
}
@media(prefers-reduced-motion:reduce){.codefy-blender-stage>img,.codefy-blender-stage:before,.codefy-blender-glow,.blender-float-chip{animation:none!important}}

/* ===== کدیفای 1.0.9: refined typography, WebGL visual, article layout ===== */
/* Use only Bold and Black display weights; avoid Heavy/ExtraBlack aliases. */
.codify-v109 .hero-copy h1,
.codify-v109 .hero-copy h1 *,
.codify-v109 .page-hero h1,
.codify-v109 .single-post-hero h1,
.codify-v109 .course-hero-copy h1,
.codify-v109 .student-panel-header h1,
.codify-v109 .account-login-visual h1{
  font-weight:900!important;
  font-variation-settings:"wght" 900!important;
}
.codify-v109 .section-heading h2,
.codify-v109 .why-copy h2,
.codify-v109 .faq-copy h2,
.codify-v109 .roadmap-content h2,
.codify-v109 .course-content-block>h2,
.codify-v109 .about-story-copy h2,
.codify-v109 .mission-card h2{
  font-size:clamp(1.42rem,2vw,1.86rem)!important;
  font-weight:700!important;
  font-variation-settings:"wght" 700!important;
  line-height:1.62!important;
  letter-spacing:-.42px!important;
}
.codify-v109 .section-heading h3,
.codify-v109 .feature-list h3,
.codify-v109 .path-card h3,
.codify-v109 .course-card h3,
.codify-v109 .post-card h3{
  font-weight:700!important;
  font-variation-settings:"wght" 700!important;
}

/* Native WebGL scene inspired by modern Three.js landing visuals. */
.codefy-three-stage{
  position:relative;
  width:min(100%,720px);
  min-height:620px;
  margin-inline:auto;
  overflow:hidden;
  border:1px solid rgba(151,133,255,.16);
  border-radius:38px;
  background:
    radial-gradient(circle at 50% 48%,rgba(105,75,230,.15),transparent 34%),
    radial-gradient(circle at 78% 20%,rgba(34,211,238,.08),transparent 27%),
    linear-gradient(150deg,rgba(24,36,58,.74),rgba(10,18,31,.93));
  box-shadow:0 38px 90px rgba(2,6,23,.3),inset 0 1px 0 rgba(255,255,255,.035);
  isolation:isolate;
  transform:translateZ(0);
}
.codefy-three-stage:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:linear-gradient(rgba(148,163,184,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.035) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:radial-gradient(circle at center,#000 18%,transparent 76%);
}
.codefy-three-stage:after{
  content:"";
  position:absolute;
  left:16%;right:16%;bottom:8%;height:68px;
  z-index:0;
  border-radius:50%;
  background:rgba(2,6,23,.56);
  filter:blur(30px);
  pointer-events:none;
}
.codefy-three-canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;touch-action:pan-y}
.codefy-three-fallback{position:absolute;inset:0;z-index:1;display:grid;place-items:center}
.fallback-ring{position:absolute;border:1px solid rgba(139,92,246,.32);border-radius:50%;animation:codefyFallbackSpin 16s linear infinite}
.fallback-ring-one{width:54%;aspect-ratio:1}.fallback-ring-two{width:72%;aspect-ratio:1;border-style:dashed;animation-direction:reverse;animation-duration:22s}
.codefy-three-stage.is-webgl-ready .codefy-three-fallback{display:none}
.codefy-three-core{
  position:absolute;z-index:4;inset:50% auto auto 50%;translate:-50% -50%;
  width:132px;height:132px;display:grid;place-items:center;
  border:1px solid rgba(118,233,248,.4);border-radius:34px;
  background:linear-gradient(145deg,rgba(20,31,62,.94),rgba(11,20,37,.96));
  color:#f4f1ff;box-shadow:0 0 0 15px rgba(139,92,246,.08),0 30px 65px rgba(2,6,23,.38),inset 0 0 28px rgba(139,92,246,.14);
  transform:rotate(-2deg);pointer-events:none;
}
.codefy-three-core:before{content:"";position:absolute;inset:15px;border-radius:25px;background:linear-gradient(135deg,rgba(139,92,246,.24),rgba(34,211,238,.1));z-index:-1}
.codefy-three-core svg{filter:drop-shadow(0 9px 20px rgba(139,92,246,.32))}
.three-scene-chip{
  position:absolute;z-index:5;display:flex;align-items:center;gap:10px;min-width:170px;
  padding:12px 14px;border:1px solid rgba(226,232,240,.1);border-radius:20px;
  background:rgba(13,23,40,.77);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);
  color:#edf4ff;box-shadow:0 18px 42px rgba(2,6,23,.25);
  animation:codefySceneChip 6s ease-in-out infinite;pointer-events:none;
}
.three-scene-chip>svg{flex:0 0 auto;width:38px;height:38px;padding:9px;border-radius:12px;background:rgba(139,92,246,.13);color:#c7b7ff}
.three-scene-chip strong,.three-scene-chip small{display:block}.three-scene-chip strong{font-size:13px;font-weight:700}.three-scene-chip small{margin-top:3px;color:#8fa2bb;font-size:10.5px}
.three-chip-build{right:4%;bottom:10%}.three-chip-growth{left:4%;top:10%;animation-delay:-2s}.three-chip-growth>svg{background:rgba(34,211,238,.1);color:#78eafa}.three-chip-ai{right:5%;top:11%;animation-delay:-3.7s}.three-chip-ai>svg{background:rgba(52,211,153,.09);color:#9df0d2}
@keyframes codefySceneChip{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes codefyFallbackSpin{to{transform:rotate(360deg)}}

/* Split article hero: content on the right, balanced cover on the left. */
.single-post-hero-split{
  min-height:auto;
  padding:154px 0 70px!important;
  background:radial-gradient(circle at 70% 5%,rgba(139,92,246,.15),transparent 38%),radial-gradient(circle at 12% 72%,rgba(34,211,238,.07),transparent 30%);
}
.single-post-hero-grid{
  position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:48px;align-items:center;
}
.single-post-copy{text-align:right;min-width:0}
.single-post-copy .post-breadcrumb{justify-content:flex-start}
.single-post-copy .single-post-category{margin-top:22px}
.single-post-copy h1{
  max-width:760px!important;margin:18px 0 14px!important;font-size:clamp(1.92rem,3vw,2.75rem)!important;line-height:1.65!important;text-align:right!important;
}
.single-post-copy .single-post-excerpt{max-width:720px;margin:0;color:#b6c2d3;font-size:14.8px;line-height:2;text-align:right}
.single-post-meta-primary{justify-content:flex-start!important;margin-top:25px!important}
.single-post-cover{
  position:relative;aspect-ratio:16/11;overflow:hidden;border:1px solid rgba(226,232,240,.09);border-radius:30px;
  background:linear-gradient(145deg,rgba(28,42,66,.88),rgba(12,20,34,.96));box-shadow:0 32px 78px rgba(2,6,23,.3);
}
.single-post-cover img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.single-post-cover-glow{position:absolute;inset:auto 10% -1px;width:80%;height:2px;background:linear-gradient(90deg,transparent,var(--primary),var(--secondary),transparent);opacity:.7}
.single-post-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(7,13,24,.24));pointer-events:none}
.single-post-cover-placeholder{height:100%;display:grid;place-items:center;align-content:center;gap:13px;color:#c9bcff;background:radial-gradient(circle at 50% 42%,rgba(139,92,246,.18),transparent 44%)}
.single-post-cover-placeholder span{font-size:13px;font-weight:700}
.article-layout-refined{margin-top:58px!important}
.codify-article .post-author-box{margin-top:36px;margin-bottom:34px}
.codify-article .comments-area{margin-top:0;margin-bottom:96px}

/* Prevent orphaned bottom spacing after the related section was removed. */
.single-post-main{padding-bottom:1px}

@media(max-width:1000px){
  .single-post-hero-grid{grid-template-columns:1fr;gap:28px}
  .single-post-cover{grid-row:1;max-width:760px;width:100%;margin-inline:auto;aspect-ratio:16/9}
  .single-post-copy{grid-row:2;text-align:center}
  .single-post-copy .post-breadcrumb,.single-post-meta-primary{justify-content:center!important}
  .single-post-copy h1,.single-post-copy .single-post-excerpt{text-align:center!important;margin-inline:auto!important}
  .codefy-three-stage{min-height:560px}
}
@media(max-width:680px){
  .codify-v109 .section-heading h2,.codify-v109 .why-copy h2,.codify-v109 .faq-copy h2,.codify-v109 .roadmap-content h2{font-size:1.45rem!important;line-height:1.7!important}
  .single-post-hero-split{padding:128px 0 48px!important}
  .single-post-hero-grid{width:calc(100% - 40px)!important;gap:22px}
  .single-post-cover{border-radius:22px;aspect-ratio:16/10}
  .single-post-copy h1{font-size:1.76rem!important;line-height:1.75!important}
  .single-post-copy .single-post-excerpt{font-size:13.5px;line-height:1.95}
  .single-post-meta-primary{gap:8px!important}.single-post-meta-primary .author-meta{width:100%;justify-content:center}
  .article-layout-refined{margin-top:34px!important}
  .codefy-three-stage{min-height:480px;border-radius:28px}
  .codefy-three-core{width:104px;height:104px;border-radius:28px}.codefy-three-core svg{width:46px;height:46px}
  .three-scene-chip{min-width:142px;padding:9px 11px;border-radius:16px}.three-scene-chip>svg{width:32px;height:32px;padding:7px}.three-scene-chip strong{font-size:11.5px}.three-scene-chip small{font-size:9.5px}
  .three-chip-growth{left:2%;top:7%}.three-chip-ai{right:2%;top:10%}.three-chip-build{right:3%;bottom:7%}
  .codify-article .comments-area{margin-bottom:68px}
}
@media(prefers-reduced-motion:reduce){.three-scene-chip,.fallback-ring{animation:none!important}}

/* ===== کدیفای 1.0.10: final typography and illustration refinement ===== */
/* Hero title and subtitle use the true Black weight. */
.codify-v110 .hero-copy h1,
.codify-v110 .hero-copy h1 *,
.codify-v110 .hero-copy>p,
.codify-v110 .codify-elementor-hero h1,
.codify-v110 .codify-elementor-hero h1 *,
.codify-v110 .codify-elementor-hero .hero-copy>p{
  font-weight:900!important;
  font-variation-settings:"wght" 900!important;
}
.codify-v110 .hero-copy>p{letter-spacing:-.25px}

/* Section, single-page and card titles use ExtraBold. */
.codify-v110 .section-heading h2,
.codify-v110 .why-copy h2,
.codify-v110 .faq-copy h2,
.codify-v110 .roadmap-content h2,
.codify-v110 .course-content-block>h2,
.codify-v110 .about-story-copy h2,
.codify-v110 .mission-card h2,
.codify-v110 .single-post-copy h1,
.codify-v110 .single-post-main h2,
.codify-v110 .single-post-main h3,
.codify-v110 .course-hero-copy h1,
.codify-v110 .course-single-main h2,
.codify-v110 .course-single-main h3,
.codify-v110 .page-hero h1,
.codify-v110 .archive-toolbar h2,
.codify-v110 .course-card h3,
.codify-v110 .post-card h3,
.codify-v110 .path-card h3,
.codify-v110 .testimonial-card strong,
.codify-v110 .student-course-item h3,
.codify-v110 .student-panel-card h2,
.codify-v110 .student-panel-card h3{
  font-weight:800!important;
  font-variation-settings:"wght" 800!important;
}

/* Lightweight animated illustration replacing the noisy WebGL composition. */
.codefy-why-illustration{
  position:relative;
  width:min(100%,760px);
  margin-inline:auto;
  padding:10px;
  border:1px solid rgba(167,139,250,.12);
  border-radius:38px;
  background:radial-gradient(circle at 50% 44%,rgba(139,92,246,.1),transparent 48%),linear-gradient(150deg,rgba(20,32,52,.58),rgba(10,18,31,.78));
  box-shadow:0 34px 80px rgba(2,6,23,.24),inset 0 1px 0 rgba(255,255,255,.03);
  overflow:hidden;
  isolation:isolate;
}
.codefy-why-illustration:before{
  content:"";
  position:absolute;
  inset:8% 12%;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(34,211,238,.11),transparent 68%);
  filter:blur(26px);
  animation:codefyIllustrationGlow 7s ease-in-out infinite;
}
.codefy-why-illustration img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:760/620;
  object-fit:contain;
  filter:drop-shadow(0 25px 38px rgba(2,6,23,.24));
}
@keyframes codefyIllustrationGlow{0%,100%{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}

/* Keep roadmap badges clearly separated from the central icon. */
.codify-v110 .roadmap-orbit{width:96px;height:96px;border-radius:29px}
.codify-v110 .roadmap-orbit>span{width:52px;height:52px;border-radius:17px}
.codify-v110 .roadmap-orbit i{inset:-34px}.codify-v110 .roadmap-orbit b{inset:-62px}
.codify-v110 .roadmap-step{min-width:70px;padding:9px 10px}
.codify-v110 .step-one{right:0;top:0}
.codify-v110 .step-two{left:0;top:76px}
.codify-v110 .step-three{right:0;bottom:0}

/* Text-only author meta under the article title. */
.codify-v110 .author-meta-text-only{
  min-height:44px;
  padding:9px 13px!important;
  gap:0!important;
}
.codify-v110 .author-meta-text-only>div{display:grid;gap:2px}
.codify-v110 .author-meta-text-only strong{font-size:13px!important;font-weight:800!important}
.codify-v110 .author-meta-text-only small{font-size:10.5px!important}

/* Comments align with the article content instead of looking oversized. */
.codify-v110 .codify-article .comments-area{
  width:min(calc(100% - 40px),860px)!important;
  max-width:860px!important;
  margin:34px auto 86px!important;
  padding:30px 32px!important;
  border-radius:26px!important;
}
.codify-v110 .comments-heading{align-items:center;gap:13px;margin-bottom:22px}
.codify-v110 .comments-heading h2{font-size:1.35rem!important;line-height:1.65!important}
.codify-v110 .comments-icon{width:44px;height:44px;border-radius:14px}
.codify-v110 .comment-reply-title{font-size:1.2rem!important;margin-bottom:17px!important}
.codify-v110 .comment-form textarea{min-height:126px!important}
.codify-v110 .comment-list .comment{padding:17px!important;border-radius:18px!important}

@media(max-width:680px){
  .codefy-why-illustration{width:calc(100% - 4px);padding:4px;border-radius:27px}
  .codify-v110 .hero-copy>p{font-size:13.7px!important;line-height:1.95!important}
  .codify-v110 .roadmap-visual{max-width:300px}
  .codify-v110 .roadmap-step{min-width:66px;font-size:12px}
  .codify-v110 .roadmap-step small{font-size:9.5px}
  .codify-v110 .codify-article .comments-area{width:calc(100% - 36px)!important;padding:22px 17px!important;margin-bottom:64px!important}
  .codify-v110 .comment-form{grid-template-columns:1fr!important}
  .codify-v110 .comment-form-author,.codify-v110 .comment-form-email{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){.codefy-why-illustration:before{animation:none!important}}
