/* Dr. Elmancy V20 — public frontend rebuilt from scratch */
:root{
  --v20-white:#fff;
  --v20-bg:#f8fbfc;
  --v20-bg2:#eff8fb;
  --v20-sky:#38bce3;
  --v20-sky2:#83ddf1;
  --v20-sky-soft:#e9f8fc;
  --v20-navy:#0c2b44;
  --v20-navy2:#153b56;
  --v20-ink:#132e3d;
  --v20-muted:#647984;
  --v20-line:#dbe9ee;
  --v20-success:#168b64;
  --v20-radius:24px;
  --v20-shadow:0 18px 55px rgba(16,55,72,.08);
  --v20-shadow-lg:0 30px 90px rgba(16,55,72,.12);
  --v20-max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;overflow-x:hidden}
body.v20-public{margin:0;background:linear-gradient(180deg,#fff 0,#f8fcfd 42%,#fff 100%);color:var(--v20-ink);font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.65;overflow-x:hidden}
html[dir="rtl"] body.v20-public{font-family:Alexandria,system-ui,sans-serif}
body.v20-public a{color:inherit;text-decoration:none}
body.v20-public button,body.v20-public input,body.v20-public textarea,body.v20-public select{font:inherit}
body.v20-public img,body.v20-public svg{max-width:100%}
body.v20-public main{min-height:60vh;overflow:hidden}
.v20-shell{width:min(calc(100% - 48px),var(--v20-max));margin-inline:auto}
.v20-kicker,.v20-eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#159bc5}
html[dir="rtl"] .v20-kicker,html[dir="rtl"] .v20-eyebrow{letter-spacing:0;font-size:10.5px}
.v20-kicker{display:inline-block;margin-bottom:10px}
.v20-section{padding:92px 0;position:relative}
.v20-section:nth-of-type(even){background:linear-gradient(180deg,rgba(244,251,253,.4),rgba(255,255,255,0))}
.v20-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,430px);gap:48px;align-items:end;margin-bottom:38px}
.v20-section-head.center{display:block;text-align:center;max-width:760px;margin-inline:auto;margin-bottom:46px}
.v20-section-head.center p{margin-inline:auto;margin-top:14px}
.v20-section-head h2,.v20-flow-copy h2,.v20-free-copy h2,.v20-books-copy h2,.v20-final h2,.v20-course-about h2{margin:0;font-size:clamp(28px,3vw,42px);line-height:1.12;letter-spacing:-.045em;color:var(--v20-ink);font-weight:750}
html[dir="rtl"] .v20-section-head h2,html[dir="rtl"] .v20-flow-copy h2,html[dir="rtl"] .v20-free-copy h2,html[dir="rtl"] .v20-books-copy h2,html[dir="rtl"] .v20-final h2,html[dir="rtl"] .v20-course-about h2{font-size:clamp(24px,2.6vw,35px);line-height:1.46;letter-spacing:0;font-weight:650}
.v20-section-head h2 em,.v20-flow-copy h2 em,.v20-free-copy h2 em,.v20-books-copy h2 em,.v20-final h2 em,.v20-course-about h2 em,.v20-page-hero h1 em{font-style:normal;color:#1da8d1}
.v20-section-head p,.v20-flow-copy>p,.v20-free-copy>p,.v20-books-copy>p,.v20-final p,.v20-course-about>p,.v20-page-hero p{margin:0;color:var(--v20-muted);font-size:13px;line-height:1.85;max-width:540px}
html[dir="rtl"] .v20-section-head p,html[dir="rtl"] .v20-flow-copy>p,html[dir="rtl"] .v20-free-copy>p,html[dir="rtl"] .v20-books-copy>p,html[dir="rtl"] .v20-final p,html[dir="rtl"] .v20-course-about>p,html[dir="rtl"] .v20-page-hero p{font-size:12.5px;line-height:1.9}

/* Header */
.v20-header{position:sticky;top:0;z-index:1000;height:78px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(205,228,236,.66);transition:height .25s ease,box-shadow .25s ease,background .25s ease}
.v20-header.is-scrolled{height:68px;background:rgba(255,255,255,.97);box-shadow:0 10px 35px rgba(18,55,70,.07)}
.v20-header-inner{height:100%;width:min(calc(100% - 40px),1320px);margin-inline:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:34px}
.v20-brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content}
.v20-brand-logo{width:42px;height:42px;border-radius:50%;object-fit:contain;background:#fff}
.v20-brand>span{display:flex;flex-direction:column;line-height:1.08}
.v20-brand>span b{font-size:13px;letter-spacing:.06em;color:var(--v20-navy)}
.v20-brand>span small{font-size:7px;letter-spacing:.2em;color:#81919a;margin-top:4px}
.v20-nav{display:flex;align-items:center;justify-content:center;gap:27px}
.v20-nav a{position:relative;font-size:12px;font-weight:650;color:#4e626d;padding:28px 0 24px;transition:color .2s ease}
html[dir="rtl"] .v20-nav a{font-size:12px}
.v20-nav a:after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;border-radius:9px;background:var(--v20-sky);transform:scaleX(0);transition:transform .25s ease;transform-origin:center}
.v20-nav a:hover,.v20-nav a.is-active{color:var(--v20-navy)}
.v20-nav a:hover:after,.v20-nav a.is-active:after{transform:scaleX(1)}
.v20-head-actions{display:flex;align-items:center;gap:12px}
.v20-lang{width:40px;height:40px;border:1px solid var(--v20-line);border-radius:12px;display:grid;place-items:center;font-size:10px;font-weight:800;background:#fff;color:var(--v20-navy)}
.v20-login{font-size:11.5px;font-weight:750;color:var(--v20-navy);padding:8px}
.v20-menu-btn{display:none;width:42px;height:42px;border:1px solid var(--v20-line);border-radius:13px;background:#fff;color:var(--v20-navy);place-items:center;cursor:pointer}
.v20-menu-btn svg{width:20px;height:20px}

/* Buttons */
.v20-cta,.v20-ghost,.v20-text-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease,border-color .22s ease}
.v20-cta{min-height:48px;padding:0 20px;border:0;border-radius:14px;background:var(--v20-navy);color:#fff!important;font-size:12px;font-weight:800;box-shadow:0 12px 28px rgba(12,43,68,.16);cursor:pointer}
.v20-cta.small{min-height:42px;padding:0 15px;font-size:11px;border-radius:12px}
.v20-cta.full{width:100%}
.v20-cta svg,.v20-ghost svg,.v20-text-link svg{width:16px;height:16px;flex:0 0 auto}
.v20-cta:hover{transform:translateY(-2px);background:#123d5d;box-shadow:0 18px 36px rgba(12,43,68,.2)}
.v20-ghost{min-height:48px;padding:0 18px;border:1px solid #cfe3ea;border-radius:14px;background:#fff;color:var(--v20-navy)!important;font-size:12px;font-weight:750}
.v20-ghost:hover{transform:translateY(-2px);border-color:#8bd7e9;background:#f7fcfd}
.v20-text-link{color:var(--v20-navy)!important;font-size:12px;font-weight:800;justify-content:flex-start}
.v20-text-link:hover{gap:13px;color:#118eb8!important}

/* Mobile menu */
.v20-mobile-menu{position:fixed;inset:0;z-index:1200;background:#fff;display:flex;flex-direction:column;padding:calc(18px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));visibility:hidden;opacity:0;transform:translateY(-12px);transition:opacity .28s ease,transform .34s cubic-bezier(.2,.8,.2,1),visibility .28s;overflow-y:auto}
.v20-mobile-menu.is-open{visibility:visible;opacity:1;transform:none}
.v20-mobile-top{display:flex;align-items:center;justify-content:space-between}.v20-mobile-top button{width:44px;height:44px;border:1px solid var(--v20-line);border-radius:14px;background:#fff;display:grid;place-items:center;color:var(--v20-navy)}.v20-mobile-top button svg{width:20px}
.v20-mobile-copy{margin-top:46px;padding-bottom:20px;border-bottom:1px solid var(--v20-line);display:flex;flex-direction:column;gap:7px}.v20-mobile-copy small{font-size:9px;color:#199ec7;font-weight:800;letter-spacing:.12em}.v20-mobile-copy strong{font-size:21px;line-height:1.35;color:var(--v20-navy);font-weight:650}
.v20-mobile-links{display:grid;margin-top:12px}.v20-mobile-links a{display:grid;grid-template-columns:34px 1fr;align-items:center;padding:14px 0;border-bottom:1px solid #edf3f5;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}.v20-mobile-menu.is-open .v20-mobile-links a{opacity:1;transform:none}.v20-mobile-links a:nth-child(1){transition-delay:.05s}.v20-mobile-links a:nth-child(2){transition-delay:.09s}.v20-mobile-links a:nth-child(3){transition-delay:.13s}.v20-mobile-links a:nth-child(4){transition-delay:.17s}.v20-mobile-links a:nth-child(5){transition-delay:.21s}.v20-mobile-links i{font-style:normal;color:#94aab4;font-size:9px}.v20-mobile-links span{font-size:18px;color:var(--v20-navy);font-weight:650}
.v20-mobile-actions{margin-top:auto;padding-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center}.v20-mobile-actions>a:not(.v20-cta){min-height:44px;border:1px solid var(--v20-line);border-radius:13px;display:grid;place-items:center;font-size:11px;font-weight:750}.v20-mobile-actions .v20-cta{grid-column:1/-1}

/* Hero */
.v20-hero{position:relative;padding:60px 0 72px;background:linear-gradient(135deg,#fff 0%,#f6fbfd 46%,#eaf8fc 100%);border-bottom:1px solid #e4f0f3;min-height:calc(100svh - 78px);display:flex;align-items:center;overflow:hidden}
.v20-hero-glow{position:absolute;right:-8%;top:-25%;width:54vw;max-width:840px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(80,202,235,.17),rgba(80,202,235,0) 67%);pointer-events:none}
html[dir="rtl"] .v20-hero-glow{right:auto;left:-8%}
.v20-hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(440px,1.12fr);align-items:center;gap:42px;position:relative;z-index:2}
.v20-hero-copy{max-width:590px}
.v20-eyebrow{display:flex;align-items:center;gap:10px;color:#168fb7;margin-bottom:14px}.v20-eyebrow i{width:28px;height:2px;background:var(--v20-sky);border-radius:9px}
.v20-hero h1{font-size:clamp(39px,5vw,66px);line-height:1.02;letter-spacing:-.055em;margin:0;color:var(--v20-navy);font-weight:750;max-width:11ch}
html[dir="rtl"] .v20-hero h1{font-size:clamp(31px,4vw,49px);line-height:1.45;letter-spacing:0;font-weight:650;max-width:13ch}
.v20-hero-copy>p{font-size:13.5px;line-height:1.9;color:var(--v20-muted);max-width:540px;margin:18px 0 0}
html[dir="rtl"] .v20-hero-copy>p{font-size:12.5px;line-height:1.95}
.v20-hero-actions{display:flex;align-items:center;gap:12px;margin-top:25px}.v20-hero-meta{display:flex;flex-wrap:wrap;gap:8px 17px;margin-top:28px;color:#536a75;font-size:10px;font-weight:700}.v20-hero-meta span{display:inline-flex;align-items:center;gap:6px}.v20-hero-meta svg{width:13px;color:#20a9d0}
.v20-hero-art{position:relative;aspect-ratio:1.16;display:grid;place-items:center;max-width:680px;justify-self:end}.v20-art-back{position:absolute;inset:8% 2% 0 14%;border-radius:44% 56% 48% 52%/58% 42% 58% 42%;background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(221,246,251,.75));border:1px solid #d4eef4;box-shadow:var(--v20-shadow-lg);transform:rotate(-3deg)}html[dir="rtl"] .v20-art-back{inset:8% 14% 0 2%;transform:rotate(3deg)}
.v20-hero-art>img{position:relative;width:92%;height:92%;object-fit:contain;z-index:2;filter:drop-shadow(0 26px 28px rgba(19,59,77,.07))}
.v20-orbit{position:absolute;border-radius:50%;border:1px solid rgba(55,187,224,.38);z-index:1;animation:v20Orbit 12s linear infinite}.v20-orbit.o1{width:74%;aspect-ratio:1}.v20-orbit.o2{width:58%;aspect-ratio:1;border-style:dashed;animation-duration:18s;animation-direction:reverse}
.v20-art-badge{position:absolute;z-index:3;background:rgba(255,255,255,.93);border:1px solid #d9edf2;border-radius:15px;padding:11px 13px;box-shadow:0 14px 34px rgba(15,54,71,.09);display:flex;align-items:center;gap:9px}.v20-art-badge b{font-size:16px;color:var(--v20-navy)}.v20-art-badge small{font-size:9px;line-height:1.25;color:#68808a;font-weight:700}.v20-art-badge svg{width:17px;color:#1aa9d3}.v20-art-badge.b1{left:4%;top:21%}.v20-art-badge.b2{right:1%;bottom:18%}html[dir="rtl"] .v20-art-badge.b1{left:auto;right:4%}html[dir="rtl"] .v20-art-badge.b2{right:auto;left:1%}
.v20-scroll-cue{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;font-size:8px;font-weight:800;letter-spacing:.12em;color:#75909b;text-transform:uppercase}.v20-scroll-cue span{width:18px;height:30px;border:1px solid #b8d4dc;border-radius:10px;position:relative}.v20-scroll-cue span:after{content:"";position:absolute;top:6px;left:50%;width:3px;height:5px;border-radius:4px;background:var(--v20-sky);transform:translateX(-50%);animation:v20Scroll 1.6s ease-in-out infinite}

/* Ticker */
.v20-ticker{border-bottom:1px solid var(--v20-line);background:#fff;overflow:hidden;white-space:nowrap}.v20-ticker-track{display:flex;width:max-content;animation:v20Ticker 42s linear infinite}.v20-ticker-group{display:flex}.v20-ticker-group span{display:flex;align-items:center;gap:14px;padding:14px 23px;font-size:9px;letter-spacing:.08em;color:#3f5d6a}.v20-ticker-group span i{width:6px;height:6px;border-radius:50%;background:var(--v20-sky)}

/* Course cards */
.v20-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.v20-course-card,.v20-catalog-card{background:#fff;border:1px solid var(--v20-line);border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(16,55,72,.04);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease}.v20-course-card:hover,.v20-catalog-card:hover{transform:translateY(-7px);box-shadow:var(--v20-shadow);border-color:#b8e2ec}.v20-course-cover,.v20-catalog-cover{position:relative;aspect-ratio:1.66;background:linear-gradient(145deg,#eef9fc,#fff);overflow:hidden}.v20-course-cover img,.v20-catalog-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}.v20-course-card:hover img,.v20-catalog-card:hover img{transform:scale(1.035)}.v20-course-cover>span,.v20-catalog-cover>span{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.94);border:1px solid rgba(19,66,83,.1);border-radius:999px;padding:6px 9px;font-size:8px;font-weight:800;color:var(--v20-navy)}html[dir="rtl"] .v20-course-cover>span,html[dir="rtl"] .v20-catalog-cover>span{left:auto;right:12px}.v20-course-cover>i,.v20-catalog-cover>i{position:absolute;right:12px;bottom:12px;width:34px;height:34px;border-radius:11px;background:var(--v20-navy);color:#fff;display:grid;place-items:center;font-style:normal;transform:translateY(5px);opacity:0;transition:.3s ease}html[dir="rtl"] .v20-course-cover>i,html[dir="rtl"] .v20-catalog-cover>i{right:auto;left:12px}.v20-course-card:hover .v20-course-cover>i,.v20-catalog-card:hover .v20-catalog-cover>i{transform:none;opacity:1}.v20-course-cover>i svg,.v20-catalog-cover>i svg{width:15px}
.v20-course-copy,.v20-catalog-copy{padding:16px 17px 15px}.v20-course-copy>small,.v20-catalog-copy>small{font-size:9px;color:#179bc5;font-weight:800;letter-spacing:.08em}.v20-course-copy h3,.v20-catalog-copy h2{font-size:15px;line-height:1.35;color:var(--v20-navy);margin:6px 0 5px;font-weight:750}.v20-course-copy p,.v20-catalog-copy p{font-size:11.5px;line-height:1.65;color:#6b7f88;margin:0;min-height:38px}.v20-course-copy footer,.v20-catalog-copy footer{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid #edf3f5}.v20-course-copy footer strong,.v20-catalog-copy footer strong{font-size:10.5px;color:var(--v20-navy)}.v20-course-copy footer span,.v20-catalog-copy footer span{font-size:9px;color:#7b9099}.v20-center-action{text-align:center;margin-top:30px}.v20-center-action .v20-text-link{justify-content:center}

/* Learning flow */
.v20-flow{padding:92px 0;background:linear-gradient(180deg,#f5fbfd,#fff);border-block:1px solid #e3f0f3}.v20-flow-grid{display:grid;grid-template-columns:minmax(280px,.74fr) minmax(0,1.26fr);gap:64px;align-items:start}.v20-flow-copy{position:sticky;top:110px}.v20-flow-copy p{margin-top:14px}.v20-flow-steps{position:relative;display:grid;gap:12px}.v20-flow-line{position:absolute;left:25px;top:28px;bottom:28px;width:2px;background:#dcecf1;overflow:hidden}.v20-flow-line i{display:block;width:100%;height:0;background:linear-gradient(var(--v20-sky),#8adff1);transition:height .2s linear}html[dir="rtl"] .v20-flow-line{left:auto;right:25px}.v20-flow-steps article{position:relative;display:grid;grid-template-columns:52px 38px 1fr;gap:14px;align-items:center;padding:18px 20px;border:1px solid var(--v20-line);border-radius:18px;background:rgba(255,255,255,.9);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.v20-flow-steps article.is-active{transform:translateX(5px);border-color:#9bdceb;box-shadow:0 16px 38px rgba(22,87,111,.07)}html[dir="rtl"] .v20-flow-steps article.is-active{transform:translateX(-5px)}.v20-flow-steps article>span{width:46px;height:46px;border-radius:14px;background:var(--v20-sky-soft);color:#159ec8;display:grid;place-items:center;position:relative;z-index:2}.v20-flow-steps article>span svg{width:20px}.v20-flow-steps article>small{font-size:9px;font-weight:800;color:#9aaeB7}.v20-flow-steps article h3{font-size:14px;margin:0;color:var(--v20-navy)}.v20-flow-steps article p{grid-column:3;margin:3px 0 0;font-size:11.5px;line-height:1.65;color:#6c818a}

/* Free content feature */
.v20-free{padding:94px 0;background:#fff}.v20-free-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:58px;align-items:center;background:linear-gradient(135deg,#f8fdff,#eef9fc);border:1px solid #d9edf2;border-radius:30px;padding:48px;box-shadow:0 22px 70px rgba(16,55,72,.06)}.v20-free-art{position:relative;min-height:390px;display:grid;place-items:center}.v20-free-art img{width:94%;height:94%;object-fit:contain}.v20-preview-chip{position:absolute;bottom:20px;right:20px;background:#fff;border:1px solid #d7eaf0;border-radius:15px;padding:11px 13px;display:flex;align-items:center;gap:10px;box-shadow:0 14px 34px rgba(16,55,72,.08)}html[dir="rtl"] .v20-preview-chip{right:auto;left:20px}.v20-preview-chip>b{font-size:9px;color:#17a4ce;letter-spacing:.12em}.v20-preview-chip>span{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:750;color:var(--v20-navy)}.v20-preview-chip svg{width:14px}.v20-free-copy p{margin:14px 0 22px}

/* Books */
.v20-books{background:linear-gradient(180deg,#fff,#f9fcfd)}.v20-books-grid{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(340px,1fr);gap:52px;align-items:center}.v20-books-copy p{margin:14px 0 18px}.v20-books-art{min-height:390px;display:grid;place-items:center}.v20-books-art img{width:95%;height:95%;object-fit:contain}.v20-book-mini-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:4px}.v20-book-mini-grid>a{display:grid;grid-template-columns:84px 1fr;align-items:center;gap:14px;padding:12px;border:1px solid var(--v20-line);border-radius:16px;background:#fff;transition:.25s ease}.v20-book-mini-grid>a:hover{transform:translateY(-3px);border-color:#a7dce8;box-shadow:0 12px 34px rgba(16,55,72,.06)}.v20-book-mini-grid img{width:84px;aspect-ratio:3/4;object-fit:cover;border-radius:10px}.v20-book-mini-grid span{display:flex;flex-direction:column;gap:4px}.v20-book-mini-grid small{font-size:8px;color:#169cc5;font-weight:800}.v20-book-mini-grid b{font-size:12px;line-height:1.45;color:var(--v20-navy)}

/* Why */
.v20-why{padding:92px 0;background:#fff}.v20-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.v20-value-grid article{padding:22px 20px;border:1px solid var(--v20-line);border-radius:18px;background:#fff;transition:.3s ease}.v20-value-grid article:hover{transform:translateY(-5px);border-color:#a9dce8;box-shadow:var(--v20-shadow)}.v20-value-grid article>span{width:44px;height:44px;border-radius:14px;background:var(--v20-sky-soft);color:#159ec8;display:grid;place-items:center}.v20-value-grid article>span svg{width:20px}.v20-value-grid h3{font-size:13px;color:var(--v20-navy);margin:15px 0 6px}.v20-value-grid p{font-size:11px;line-height:1.65;color:#6b7f89;margin:0}

/* Final CTA */
.v20-final{padding:36px 0 88px;background:#fff}.v20-final-inner{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;padding:42px 46px;border:1px solid #cfe8ee;border-radius:28px;background:linear-gradient(135deg,#eaf8fc 0%,#f8fdff 52%,#fff 100%);overflow:hidden}.v20-final-inner>div:first-child{position:relative;z-index:2}.v20-final p{margin-top:12px}.v20-final .v20-cta{position:relative;z-index:2}.v20-final-mark{position:absolute;right:-40px;bottom:-80px;width:320px;height:230px;opacity:.34;pointer-events:none}.v20-final-mark span{position:absolute;border:1px solid #65cde7;border-radius:50%}.v20-final-mark span:nth-child(1){width:240px;height:240px;right:0;bottom:0}.v20-final-mark span:nth-child(2){width:180px;height:180px;right:30px;bottom:30px}.v20-final-mark span:nth-child(3){width:110px;height:110px;right:65px;bottom:65px;background:radial-gradient(circle,#bcebf6,transparent 68%)}html[dir="rtl"] .v20-final-mark{right:auto;left:-40px}

/* Page heroes */
.v20-page-hero{padding:48px 0 42px;background:#fff}.v20-page-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);align-items:center;gap:46px;padding:42px 48px;border:1px solid #d8ebf0;border-radius:28px;background:linear-gradient(135deg,#fff,#f2fbfd);box-shadow:0 18px 58px rgba(16,55,72,.06)}.v20-page-hero h1{font-size:clamp(34px,4vw,54px);line-height:1.04;letter-spacing:-.05em;margin:0;color:var(--v20-navy)}html[dir="rtl"] .v20-page-hero h1{font-size:clamp(28px,3.4vw,40px);line-height:1.45;letter-spacing:0;font-weight:650}.v20-page-hero p{margin-top:16px}.v20-page-abstract{height:300px;display:grid;place-items:center}.v20-page-abstract img{width:100%;height:100%;object-fit:contain}

/* Catalog */
.v20-catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.v20-filter-row{display:flex;gap:8px;flex-wrap:wrap}.v20-filter-row button{min-height:38px;padding:0 14px;border:1px solid var(--v20-line);border-radius:999px;background:#fff;color:#59707b;font-size:10px;font-weight:750;cursor:pointer;transition:.2s}.v20-filter-row button:hover,.v20-filter-row button.is-active{background:var(--v20-navy);border-color:var(--v20-navy);color:#fff}.v20-catalog-toolbar>span{font-size:10px;color:#82959e;font-weight:750}.v20-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.v20-catalog-card.is-hidden{display:none}

/* Single course */
.v20-course-hero{padding:48px 0 36px;background:#fff}.v20-course-hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(380px,1.12fr);align-items:center;gap:50px;padding:42px 48px;border:1px solid #d9ecf1;border-radius:28px;background:linear-gradient(135deg,#fff,#f1fafc)}.v20-back{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:750;color:#718791;margin-bottom:18px}.v20-back svg{width:14px}.v20-course-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:13px}.v20-course-tags span{padding:6px 9px;border:1px solid #cee6ec;border-radius:999px;background:#fff;color:#4d6874;font-size:8.5px;font-weight:750}.v20-course-hero h1{font-size:clamp(34px,4vw,52px);line-height:1.06;letter-spacing:-.05em;margin:0;color:var(--v20-navy)}html[dir="rtl"] .v20-course-hero h1{font-size:clamp(27px,3.3vw,39px);line-height:1.48;letter-spacing:0}.v20-course-hero-copy>p{font-size:12.5px;line-height:1.85;color:var(--v20-muted);margin:13px 0 0}.v20-course-cover-large{position:relative;aspect-ratio:1.55;border-radius:24px;overflow:hidden;background:#fff;border:1px solid #d7eaf0;box-shadow:var(--v20-shadow)}.v20-course-cover-large>img{width:100%;height:100%;object-fit:cover}.v20-course-cover-large>span{position:absolute;bottom:14px;right:14px;background:rgba(255,255,255,.95);border:1px solid #d9e9ed;border-radius:14px;padding:9px 12px;display:flex;align-items:baseline;gap:5px}html[dir="rtl"] .v20-course-cover-large>span{right:auto;left:14px}.v20-course-cover-large>span b{font-size:18px;color:var(--v20-navy)}.v20-course-cover-large>span small{font-size:8px;color:#728792}.v20-course-info{padding-top:66px}.v20-course-info-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:58px;align-items:start}.v20-course-about p{margin:14px 0 24px}.v20-feature-list{display:grid;gap:10px}.v20-feature-list>div{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:13px;border:1px solid #e1edf1;border-radius:14px;background:#fff}.v20-feature-list>div>svg{width:19px;color:#1ba4cc;margin:auto}.v20-feature-list span{display:flex;flex-direction:column;gap:2px}.v20-feature-list strong{font-size:11.5px;color:var(--v20-navy)}.v20-feature-list small{font-size:10.5px;color:#728791}.v20-buy-card{position:sticky;top:95px;padding:24px;border:1px solid #d9eaf0;border-radius:22px;background:#fff;box-shadow:var(--v20-shadow)}.v20-price{display:flex;align-items:baseline;gap:6px;margin:10px 0 17px}.v20-price strong{font-size:24px;line-height:1.2;color:var(--v20-navy)}.v20-price small{font-size:9px;color:#8598a1}.v20-buy-card ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px}.v20-buy-card li{display:flex;align-items:center;gap:8px;font-size:10.5px;color:#536b77}.v20-buy-card li svg{width:14px;color:#169fc8}.v20-price-note{font-size:10.5px;color:#71858e;line-height:1.65}.v20-resource-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.v20-resource-grid article>div{aspect-ratio:3/4;border:1px solid #dceaf0;border-radius:16px;overflow:hidden;background:#fff}.v20-resource-grid img{width:100%;height:100%;object-fit:cover}.v20-resource-grid article>small{display:block;margin-top:10px;font-size:8px;font-weight:800;color:#189fc8}.v20-resource-grid h3{font-size:13px;line-height:1.45;margin:5px 0;color:var(--v20-navy)}.v20-resource-grid p{font-size:10.5px;line-height:1.55;color:#748790;margin:0}.v20-counts{display:grid;grid-template-columns:auto auto auto auto;gap:5px 8px;align-items:baseline}.v20-counts strong{font-size:19px;color:var(--v20-navy)}.v20-counts span{font-size:9px;color:#82949d}.v20-chapters{display:grid;gap:9px}.v20-chapter{border:1px solid #dceaf0;border-radius:16px;background:#fff;overflow:hidden}.v20-chapter>button{width:100%;border:0;background:#fff;display:grid;grid-template-columns:1fr auto 24px;align-items:center;gap:16px;padding:17px 18px;text-align:start;color:var(--v20-navy);cursor:pointer}.v20-chapter>button>span{display:flex;flex-direction:column;gap:3px}.v20-chapter>button small{font-size:8px;color:#169fc8;font-weight:800}.v20-chapter>button strong{font-size:11.5px}.v20-chapter>button>b{font-size:9px;color:#8598a1}.v20-chapter>button>svg{width:17px;transition:transform .25s}.v20-chapter.is-open>button>svg{transform:rotate(45deg)}.v20-lessons{display:none;border-top:1px solid #edf3f5}.v20-chapter.is-open .v20-lessons{display:block}.v20-lessons>a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:12px 18px;border-bottom:1px solid #f0f4f6}.v20-lessons>a:last-child{border-bottom:0}.v20-lesson-play{width:34px;height:34px;border-radius:11px;background:var(--v20-sky-soft);color:#179fc8;display:grid;place-items:center}.v20-lesson-play svg{width:15px}.v20-lessons>a>span:nth-child(2){display:flex;flex-direction:column;gap:2px}.v20-lessons strong{font-size:10.5px}.v20-lessons small{font-size:8px;color:#8b9ca4}.v20-lessons em{font-size:8px;font-style:normal;color:#149e77;font-weight:800}.v20-lessons>a>b svg{width:13px;color:#8799a1}

/* Books page */
.v20-books-page-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.v20-book-card{display:block;min-width:0}.v20-book-cover{position:relative;aspect-ratio:3/4;border:1px solid #dceaf0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 36px rgba(16,55,72,.05);transition:.35s ease}.v20-book-cover img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.v20-book-cover>span{position:absolute;top:11px;right:11px;background:#fff;border:1px solid #dce8ec;border-radius:999px;padding:5px 8px;font-size:7.5px;font-weight:800;color:var(--v20-navy)}html[dir="rtl"] .v20-book-cover>span{right:auto;left:11px}.v20-book-card:hover .v20-book-cover{transform:translateY(-7px);box-shadow:var(--v20-shadow)}.v20-book-card:hover .v20-book-cover img{transform:scale(1.025)}.v20-book-copy{padding:12px 2px 0}.v20-book-copy>small{font-size:8px;color:#179fc8;font-weight:800}.v20-book-copy h2{font-size:13.5px;line-height:1.45;margin:5px 0;color:var(--v20-navy)}.v20-book-copy p{font-size:10.5px;line-height:1.6;color:#748892;margin:0 0 8px}.v20-book-copy>span{font-size:10px;font-weight:800;display:flex;align-items:center;gap:6px;color:var(--v20-navy)}.v20-book-copy svg{width:13px}

/* Free grid */
.v20-free-grid-page{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.v20-free-card{border:1px solid var(--v20-line);border-radius:18px;background:#fff;overflow:hidden;transition:.35s ease}.v20-free-card:hover{transform:translateY(-6px);box-shadow:var(--v20-shadow)}.v20-free-cover{position:relative;aspect-ratio:1.65;overflow:hidden;background:#eef8fb}.v20-free-cover>img{width:100%;height:100%;object-fit:cover;transition:.45s ease}.v20-free-card:hover img{transform:scale(1.035)}.v20-free-cover>span{position:absolute;top:11px;left:11px;background:#fff;color:#149f78;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900}html[dir="rtl"] .v20-free-cover>span{left:auto;right:11px}.v20-free-cover>b{position:absolute;right:12px;bottom:12px;width:40px;height:40px;border-radius:13px;background:var(--v20-navy);color:#fff;display:grid;place-items:center}html[dir="rtl"] .v20-free-cover>b{right:auto;left:12px}.v20-free-cover b svg{width:18px}.v20-free-card-copy{padding:14px}.v20-free-card-copy small{font-size:8px;color:#179fc8;font-weight:800}.v20-free-card-copy h2{font-size:13.5px;line-height:1.4;margin:5px 0;color:var(--v20-navy)}.v20-free-card-copy p{font-size:9px;color:#82969f;margin:0}

/* Auth */
.v20-auth-page{min-height:calc(100svh - 78px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);background:linear-gradient(135deg,#f7fcfd,#fff);padding:22px;gap:22px}.v20-auth-visual{position:relative;overflow:hidden;border:1px solid #d8ebf0;border-radius:28px;background:linear-gradient(135deg,#eef9fc,#fff);padding:28px;display:flex;flex-direction:column;min-height:640px}.v20-auth-logo>a{display:inline-flex;align-items:center;gap:10px}.v20-auth-logo .v20-brand-logo{width:42px;height:42px}.v20-auth-logo span{display:flex;flex-direction:column;line-height:1.05}.v20-auth-logo b{font-size:12px;color:var(--v20-navy)}.v20-auth-logo small{font-size:7px;color:#82959e;letter-spacing:.16em;margin-top:4px}.v20-auth-art{position:absolute;right:-1%;top:8%;width:72%;height:68%;display:grid;place-items:center;opacity:.94}.v20-auth-art img{width:100%;height:100%;object-fit:contain}html[dir="rtl"] .v20-auth-art{right:auto;left:-1%}.v20-auth-copy{position:relative;margin-top:auto;max-width:420px;z-index:2}.v20-auth-copy h1{font-size:clamp(31px,3.6vw,48px);line-height:1.05;letter-spacing:-.045em;color:var(--v20-navy);margin:0}.v20-auth-copy h1 em{font-style:normal;color:#1ba7d0}html[dir="rtl"] .v20-auth-copy h1{font-size:clamp(25px,3vw,36px);line-height:1.45;letter-spacing:0}.v20-auth-copy p{font-size:11.5px;line-height:1.8;color:#687e88;margin:11px 0 0}.v20-auth-form-wrap{display:grid;place-items:center;padding:40px 28px}.v20-auth-form{width:min(100%,500px)}.v20-auth-form h2,.v20-simple-card h1,.v20-checkout-main h1{font-size:clamp(28px,3vw,40px);line-height:1.1;letter-spacing:-.04em;color:var(--v20-navy);margin:0}.v20-auth-form>p,.v20-simple-card>p,.v20-checkout-main>p{font-size:11.5px;line-height:1.8;color:#70858e;margin:8px 0 0}.v20-auth-form form,.v20-simple-card form,.v20-payment-form{display:grid;gap:13px;margin-top:22px}.v20-auth-form label,.v20-simple-card label,.v20-payment-form>label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:750;color:#405964}.v20-auth-form input,.v20-simple-card input,.v20-payment-form input{width:100%;min-height:46px;border:1px solid #d8e8ed;border-radius:13px;background:#fff;padding:10px 12px;color:var(--v20-ink);outline:none}.v20-auth-form input:focus,.v20-simple-card input:focus,.v20-payment-form input:focus{border-color:#82d5e8;box-shadow:0 0 0 3px rgba(56,188,227,.1)}.v20-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v20-form-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.v20-check{flex-direction:row!important;align-items:center;gap:7px!important}.v20-check input{width:15px;height:15px;min-height:0}.v20-form-row a,.v20-form-switch a,.v20-legal-hint a{color:#159bc4;font-weight:800}.v20-form-switch{font-size:10.5px;color:#768a93;text-align:center;margin-top:16px}.v20-legal-hint{font-size:9px;line-height:1.65;color:#82949c}.v20-simple-auth{min-height:calc(100svh - 78px);display:grid;place-items:center;padding:60px 20px;background:linear-gradient(135deg,#f6fbfd,#fff)}.v20-simple-card{width:min(100%,520px);padding:28px;border:1px solid #d9eaf0;border-radius:22px;background:#fff;box-shadow:var(--v20-shadow)}.v20-simple-card>.v20-brand{margin-bottom:24px}.v20-simple-art{height:130px;margin:-2px 0 16px}.v20-simple-art img{width:100%;height:100%;object-fit:contain}.v20-simple-card h1{font-size:29px}.v20-simple-card>.v20-text-link{margin-top:18px}

/* Checkout */
.v20-checkout-page{padding:62px 0 86px;background:linear-gradient(180deg,#fff,#f7fbfc)}.v20-checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:52px;align-items:start}.v20-checkout-main{max-width:650px}.v20-notice{padding:16px;border:1px solid #cce8ef;border-radius:15px;background:var(--v20-sky-soft);margin:20px 0}.v20-notice strong{font-size:11px;color:var(--v20-navy)}.v20-notice p{font-size:10px;line-height:1.65;color:#657b86}.v20-notice a{font-size:10px;font-weight:800;color:#159bc4;display:inline-flex;gap:5px}.v20-notice svg{width:13px}.v20-payment-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.v20-payment-options label{position:relative;display:grid;grid-template-columns:38px 1fr 20px;align-items:center;gap:10px;border:1px solid #dce9ed;border-radius:14px;padding:12px;background:#fff;cursor:pointer}.v20-payment-options label>input{position:absolute;opacity:0}.v20-payment-options label:has(input:checked){border-color:#83d5e7;background:#f2fbfd}.v20-payment-options label>span{width:36px;height:36px;border-radius:10px;background:var(--v20-sky-soft);display:grid;place-items:center;font-size:9px;font-weight:900;color:#158fb7}.v20-payment-options label>div{display:flex;flex-direction:column}.v20-payment-options strong{font-size:10px;color:var(--v20-navy)}.v20-payment-options small{font-size:8px;color:#80949d}.v20-payment-options svg{width:14px;color:#179e77}.v20-upload{position:relative;min-height:130px;border:1px dashed #b7dce5!important;border-radius:16px;display:grid!important;place-items:center;text-align:center;padding:18px;background:#fbfeff;cursor:pointer}.v20-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.v20-upload>svg{width:24px;color:#169cc5}.v20-upload strong{font-size:10.5px;color:var(--v20-navy)}.v20-upload small{font-size:8px;color:#83959d}.v20-upload img{max-height:150px;border-radius:10px}.v20-order-card{position:sticky;top:95px;padding:20px;border:1px solid #d9eaf0;border-radius:20px;background:#fff;box-shadow:var(--v20-shadow)}.v20-order-card>img{width:100%;aspect-ratio:1.55;object-fit:cover;border-radius:14px;margin:10px 0}.v20-order-card h2{font-size:15px;color:var(--v20-navy);line-height:1.4}.v20-order-card>div{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#6c818a}.v20-order-card>div strong{font-size:14px;color:var(--v20-navy)}.v20-order-card hr{border:0;border-top:1px solid #e8f0f2;margin:12px 0}.v20-order-card>p{display:flex;gap:7px;font-size:9px;line-height:1.55;color:#768b94}.v20-order-card>p svg{width:13px;color:#169cc5}

/* Preview */
.v20-preview-page{padding:54px 0 90px;background:linear-gradient(180deg,#fff,#f8fcfd)}.v20-preview-head{max-width:760px;margin-bottom:24px}.v20-preview-head h1{font-size:clamp(29px,3.5vw,46px);line-height:1.1;color:var(--v20-navy);margin:0}html[dir="rtl"] .v20-preview-head h1{font-size:clamp(25px,3vw,35px);line-height:1.45}.v20-preview-head p{font-size:11px;color:#71858f}.v20-preview-player{aspect-ratio:16/9;border:1px solid #d9e8ed;border-radius:22px;background:#0a2032;overflow:hidden;box-shadow:var(--v20-shadow-lg)}.v20-preview-player video{width:100%;height:100%;object-fit:contain;background:#081a2a}.v20-preview-empty{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:12px;color:#d7e6ec}.v20-preview-empty svg{width:44px;color:#57c9e7}.v20-preview-empty strong{font-size:12px}.v20-preview-cta{margin-top:16px;padding:18px 20px;border:1px solid #d9e9ee;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:22px}.v20-preview-cta>div{display:flex;flex-direction:column;gap:3px}.v20-preview-cta span{font-size:9px;color:#7a8f98}.v20-preview-cta strong{font-size:12px;color:var(--v20-navy)}

/* Empty */
.v20-empty{grid-column:1/-1;padding:28px;border:1px dashed #cbe1e7;border-radius:18px;background:#fbfeff;text-align:center}.v20-empty>span{width:44px;height:44px;border-radius:14px;background:var(--v20-sky-soft);color:#159cc5;display:grid;place-items:center;margin:0 auto 10px}.v20-empty svg{width:20px}.v20-empty h3{font-size:13px;color:var(--v20-navy);margin:0}.v20-empty p{font-size:10.5px;color:#768b94;margin:5px 0 0}

/* Footer */
.v20-footer{border-top:1px solid #deebef;background:#fff;padding:54px 0 0}.v20-footer-top{width:min(calc(100% - 48px),var(--v20-max));margin-inline:auto;display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:50px;padding-bottom:38px}.v20-footer-brand p{font-size:10.5px;line-height:1.7;color:#738891;max-width:330px;margin:13px 0 16px}.v20-socials{display:flex;gap:7px}.v20-socials a{width:34px;height:34px;border:1px solid #dce9ed;border-radius:11px;display:grid;place-items:center;color:#486572;transition:.22s}.v20-socials a:hover{background:var(--v20-navy);border-color:var(--v20-navy);color:#fff;transform:translateY(-2px)}.v20-socials a.is-disabled{opacity:.32;pointer-events:none}.v20-socials svg{width:15px}.v20-footer-col{display:flex;flex-direction:column;gap:9px}.v20-footer-col strong{font-size:10px;color:var(--v20-navy);margin-bottom:4px}.v20-footer-col a{font-size:10px;color:#667b85}.v20-footer-col a:hover{color:#159bc5}.v20-footer-bottom{border-top:1px solid #e4edef;width:min(calc(100% - 48px),var(--v20-max));margin-inline:auto;padding:17px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;color:#7b8e97}.v20-footer-bottom a{font-weight:650}.v20-footer-bottom b{color:var(--v20-navy)}.v20-footer-bottom i{font-style:normal;color:#e43f48;display:inline-block;animation:v20Heart 1.6s ease-in-out infinite}

/* Scroll motion */
.v20-public.v20-motion-ready [data-v20-reveal]{opacity:0;will-change:transform,opacity,clip-path}.v20-public.v20-motion-ready [data-v20-reveal="text"]{transform:translateY(34px);clip-path:inset(0 0 28% 0)}.v20-public.v20-motion-ready [data-v20-reveal="card"]{transform:translateY(28px) scale(.985)}.v20-public.v20-motion-ready [data-v20-reveal="art"]{transform:translateY(24px) scale(.97);clip-path:inset(0 0 18% 0 round 20px)}.v20-public.v20-motion-ready [data-v20-reveal].is-in{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 0);transition:opacity .7s ease,transform .8s cubic-bezier(.18,.8,.18,1),clip-path .95s cubic-bezier(.2,.75,.18,1);transition-delay:calc(var(--i,0)*65ms)}
.v20-scene{position:relative}.v20-public.v20-motion-ready .v20-scene:before{content:"";position:absolute;z-index:20;pointer-events:none;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,transparent,var(--v20-sky),transparent);transform:scaleX(0);transform-origin:left;opacity:0}.v20-public.v20-motion-ready .v20-scene.is-scene-in:before{animation:v20SceneLine .85s cubic-bezier(.2,.8,.2,1) both}

/* Page transition */
.v20-transition{position:fixed;inset:0;z-index:3000;pointer-events:none;visibility:hidden}.v20-transition-panel{position:absolute;top:0;bottom:0;width:51%;background:#f1fafc;transform:scaleX(0);transition:transform .38s cubic-bezier(.75,0,.25,1)}.v20-transition .p1{left:0;transform-origin:left}.v20-transition .p2{right:0;transform-origin:right}.v20-transition-mark{position:absolute;top:50%;left:50%;width:58px;height:58px;border-radius:50%;background:#fff;border:1px solid #d5e8ed;display:grid;place-items:center;transform:translate(-50%,-50%) scale(.65);opacity:0;transition:.25s ease .16s;box-shadow:0 14px 38px rgba(16,55,72,.1)}.v20-transition-mark img{width:45px;height:45px;object-fit:contain}.v20-transition.is-entering,.v20-transition.is-leaving{visibility:visible}.v20-transition.is-leaving .v20-transition-panel{transform:scaleX(1)}.v20-transition.is-leaving .v20-transition-mark{opacity:1;transform:translate(-50%,-50%) scale(1)}.v20-transition.is-entering .v20-transition-panel{transform:scaleX(0)}

/* Legal pages under V20 */
.v20-public .legal-page{max-width:900px;margin:0 auto;padding:80px 22px}.v20-public .legal-wrap{background:#fff;border:1px solid var(--v20-line);border-radius:22px;padding:30px;box-shadow:var(--v20-shadow)}.v20-public .legal-page h1{font-size:34px;color:var(--v20-navy);letter-spacing:-.04em}.v20-public .legal-page h2{font-size:18px;color:var(--v20-navy)}.v20-public .legal-page p,.v20-public .legal-page li{font-size:11.5px;line-height:1.85;color:#667b85}

/* Animations */
@keyframes v20Orbit{to{transform:rotate(360deg)}}
@keyframes v20Scroll{0%,100%{transform:translate(-50%,0);opacity:.35}50%{transform:translate(-50%,9px);opacity:1}}
@keyframes v20Ticker{to{transform:translateX(-50%)}}
@keyframes v20Heart{0%,100%{transform:scale(1)}45%{transform:scale(1.15)}}
@keyframes v20SceneLine{0%{transform:scaleX(0);opacity:0}20%{opacity:1}62%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}

/* Tablet */
@media(max-width:1050px){
 .v20-nav{gap:18px}.v20-nav a{font-size:10.5px}.v20-head-actions{gap:8px}.v20-header-cta{display:none}
 .v20-hero-grid{grid-template-columns:minmax(0,1fr) minmax(380px,.95fr);gap:24px}.v20-art-badge.b1{left:0}.v20-art-badge.b2{right:0}
 .v20-course-grid,.v20-catalog-grid{grid-template-columns:repeat(2,1fr)}
 .v20-flow-grid{grid-template-columns:1fr;gap:34px}.v20-flow-copy{position:static;max-width:620px}.v20-flow-steps{grid-template-columns:repeat(2,1fr)}.v20-flow-line{display:none}.v20-flow-steps article{grid-template-columns:46px 30px 1fr}.v20-flow-steps article p{grid-column:3}
 .v20-free-grid{grid-template-columns:1fr 1fr;gap:28px;padding:34px}.v20-free-art{min-height:330px}
 .v20-books-grid{grid-template-columns:1fr 1fr;gap:30px}.v20-books-art{min-height:330px}
 .v20-value-grid{grid-template-columns:repeat(2,1fr)}
 .v20-page-hero-grid,.v20-course-hero-grid{grid-template-columns:1fr 360px;padding:34px}
 .v20-course-info-grid{grid-template-columns:1fr 320px;gap:32px}
 .v20-resource-grid{grid-template-columns:repeat(2,1fr)}
 .v20-books-page-grid{grid-template-columns:repeat(3,1fr)}
 .v20-free-grid-page{grid-template-columns:repeat(2,1fr)}
 .v20-footer-top{grid-template-columns:1.4fr 1fr 1fr}.v20-footer-col:last-child{grid-column:2/4}
}

/* Mobile */
@media(max-width:820px){
 html{scroll-padding-top:68px}
 .v20-shell{width:min(calc(100% - 32px),var(--v20-max))}
 .v20-section{padding:64px 0}
 .v20-header{height:66px}.v20-header.is-scrolled{height:62px}.v20-header-inner{width:calc(100% - 26px);grid-template-columns:1fr auto;gap:12px}.v20-nav,.v20-login,.v20-head-actions>.v20-cta{display:none}.v20-head-actions{grid-column:2;display:flex}.v20-menu-btn{display:grid}.v20-lang{width:38px;height:38px}.v20-brand-logo{width:38px;height:38px}.v20-brand>span b{font-size:11.5px}.v20-brand>span small{font-size:6px}
 .v20-section-head{display:block;margin-bottom:26px}.v20-section-head>p{margin-top:12px}.v20-section-head h2,.v20-flow-copy h2,.v20-free-copy h2,.v20-books-copy h2,.v20-final h2,.v20-course-about h2{font-size:27px}.v20-section-head p,.v20-flow-copy>p,.v20-free-copy>p,.v20-books-copy>p,.v20-final p,.v20-course-about>p,.v20-page-hero p{font-size:12px}
 html[dir="rtl"] .v20-section-head h2,html[dir="rtl"] .v20-flow-copy h2,html[dir="rtl"] .v20-free-copy h2,html[dir="rtl"] .v20-books-copy h2,html[dir="rtl"] .v20-final h2,html[dir="rtl"] .v20-course-about h2{font-size:23px;line-height:1.52}
 .v20-hero{min-height:0;padding:48px 0 58px}.v20-hero-grid{grid-template-columns:1fr;gap:24px}.v20-hero-copy{max-width:100%}.v20-hero h1{font-size:36px;max-width:13ch}.v20-hero-copy>p{font-size:12px;line-height:1.8}.v20-hero-art{width:100%;max-width:520px;justify-self:center;order:2}.v20-art-badge{padding:8px 10px}.v20-art-badge b{font-size:13px}.v20-art-badge small{font-size:8px}.v20-hero-actions{gap:8px}.v20-scroll-cue{display:none}
 html[dir="rtl"] .v20-hero h1{font-size:29px;line-height:1.52;max-width:14ch}
 .v20-ticker-group span{padding:11px 15px;font-size:8px}
 .v20-course-grid,.v20-catalog-grid{grid-template-columns:1fr;gap:13px}.v20-course-cover,.v20-catalog-cover{aspect-ratio:1.7}.v20-course-copy,.v20-catalog-copy{padding:14px}.v20-course-copy h3,.v20-catalog-copy h2{font-size:14px}.v20-course-copy p,.v20-catalog-copy p{font-size:11px;min-height:0}.v20-course-copy footer,.v20-catalog-copy footer{margin-top:11px;padding-top:10px}
 .v20-flow{padding:64px 0}.v20-flow-steps{grid-template-columns:1fr;gap:9px}.v20-flow-steps article{grid-template-columns:44px 28px 1fr;padding:14px}.v20-flow-steps article p{font-size:11px}
 .v20-free{padding:64px 0}.v20-free-grid{grid-template-columns:1fr;padding:22px;border-radius:22px;gap:14px}.v20-free-art{min-height:270px;order:2}.v20-free-copy{order:1}.v20-preview-chip{bottom:5px;right:5px}.v20-free-copy .v20-cta{width:100%}
 .v20-books-grid{grid-template-columns:1fr;gap:16px}.v20-books-art{min-height:280px;order:2}.v20-books-copy{order:1}.v20-book-mini-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding-inline:16px;gap:10px;scrollbar-width:none}.v20-book-mini-grid::-webkit-scrollbar{display:none}.v20-book-mini-grid>a{flex:0 0 78vw;max-width:310px;scroll-snap-align:start}
 .v20-value-grid{grid-template-columns:1fr;gap:10px}.v20-value-grid article{padding:18px}
 .v20-final{padding:20px 0 64px}.v20-final-inner{display:block;padding:28px 22px;border-radius:22px}.v20-final .v20-cta{margin-top:18px;width:100%}.v20-final-mark{width:210px;height:170px;opacity:.22}
 .v20-page-hero{padding:20px 0 28px}.v20-page-hero-grid{grid-template-columns:1fr;padding:27px 20px;gap:14px;border-radius:22px}.v20-page-hero h1{font-size:31px}.v20-page-abstract{height:230px;order:2}.v20-page-hero p{font-size:11.5px}
 html[dir="rtl"] .v20-page-hero h1{font-size:26px;line-height:1.5}
 .v20-catalog-toolbar{display:block}.v20-filter-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px;scrollbar-width:none;margin-bottom:10px}.v20-filter-row::-webkit-scrollbar{display:none}.v20-filter-row button{white-space:nowrap}.v20-catalog-toolbar>span{display:block}
 .v20-course-hero{padding:18px 0 28px}.v20-course-hero-grid{grid-template-columns:1fr;padding:24px 18px;gap:20px;border-radius:22px}.v20-course-hero-art{order:-1}.v20-course-hero h1{font-size:30px}.v20-course-hero-copy>p{font-size:11.5px}.v20-course-cover-large{border-radius:18px}.v20-hero-actions{flex-direction:column;align-items:stretch}.v20-hero-actions .v20-cta,.v20-hero-actions .v20-ghost{width:100%}
 html[dir="rtl"] .v20-course-hero h1{font-size:25px;line-height:1.5}
 .v20-course-info-grid{grid-template-columns:1fr;gap:24px}.v20-buy-card{position:static}.v20-resource-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding-inline:16px;gap:12px;scrollbar-width:none}.v20-resource-grid::-webkit-scrollbar{display:none}.v20-resource-grid article{flex:0 0 67vw;max-width:250px;scroll-snap-align:start}.v20-counts{margin-top:14px;justify-content:start}.v20-chapter>button{grid-template-columns:1fr 65px 20px;padding:14px}.v20-lessons>a{padding:11px 14px}
 .v20-books-page-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding-inline:16px;gap:12px;scrollbar-width:none}.v20-books-page-grid::-webkit-scrollbar{display:none}.v20-book-card{flex:0 0 72vw;max-width:270px;scroll-snap-align:start}
 .v20-free-grid-page{grid-template-columns:1fr;gap:12px}
 .v20-auth-page{min-height:0;grid-template-columns:1fr;padding:12px;gap:12px}.v20-auth-visual{min-height:310px;border-radius:22px;padding:18px}.v20-auth-art{width:55%;height:60%;top:5%;opacity:.55}.v20-auth-copy{max-width:70%}.v20-auth-copy h1{font-size:28px}.v20-auth-copy p{font-size:10.5px}.v20-auth-form-wrap{padding:22px 8px 34px}.v20-auth-form h2{font-size:28px}.v20-two-fields{grid-template-columns:1fr}.v20-auth-form input,.v20-simple-card input,.v20-payment-form input{font-size:16px}
 html[dir="rtl"] .v20-auth-copy h1{font-size:23px;line-height:1.48}.v20-auth-art{right:-8%}html[dir="rtl"] .v20-auth-art{left:-8%;right:auto}
 .v20-simple-auth{padding:30px 12px}.v20-simple-card{padding:22px;border-radius:18px}
 .v20-checkout-page{padding:34px 0 60px}.v20-checkout-grid{grid-template-columns:1fr;gap:20px}.v20-order-card{position:static;order:-1}.v20-payment-options{grid-template-columns:1fr}
 .v20-preview-page{padding:34px 0 64px}.v20-preview-head h1{font-size:27px}.v20-preview-player{border-radius:16px}.v20-preview-cta{display:block;padding:15px}.v20-preview-cta .v20-cta{width:100%;margin-top:12px}
 .v20-footer{padding-top:40px}.v20-footer-top{width:calc(100% - 32px);grid-template-columns:1fr 1fr;gap:28px 20px}.v20-footer-brand{grid-column:1/-1}.v20-footer-bottom{width:calc(100% - 32px);display:block;line-height:1.7}.v20-footer-bottom a{display:block;margin-top:5px}
 .v20-public.v20-motion-ready [data-v20-parallax]{transform:none!important}
}

@media(max-width:430px){
 .v20-shell{width:calc(100% - 28px)}
 .v20-header-inner{width:calc(100% - 22px)}
 .v20-brand>span{display:none}.v20-head-actions{gap:7px}.v20-lang{width:36px;height:36px}.v20-menu-btn{width:38px;height:38px}
 .v20-hero{padding-top:38px}.v20-hero h1{font-size:32px}.v20-hero-copy>p{font-size:11.5px}.v20-hero-meta{gap:7px 11px;font-size:8.5px}.v20-hero-art{max-width:390px}.v20-art-badge.b1{left:0;top:17%}.v20-art-badge.b2{right:0;bottom:16%}.v20-art-badge small{display:none}.v20-art-badge{width:42px;height:42px;padding:0;display:grid;place-items:center}.v20-art-badge b{font-size:12px}.v20-hero-actions .v20-cta,.v20-hero-actions .v20-ghost{min-height:45px;font-size:11px}
 html[dir="rtl"] .v20-hero h1{font-size:27px;line-height:1.55}
 .v20-section{padding:54px 0}.v20-section-head h2,.v20-flow-copy h2,.v20-free-copy h2,.v20-books-copy h2,.v20-final h2,.v20-course-about h2{font-size:24px}.v20-section-head p,.v20-flow-copy>p,.v20-free-copy>p,.v20-books-copy>p,.v20-final p,.v20-course-about>p,.v20-page-hero p{font-size:11.5px}
 html[dir="rtl"] .v20-section-head h2,html[dir="rtl"] .v20-flow-copy h2,html[dir="rtl"] .v20-free-copy h2,html[dir="rtl"] .v20-books-copy h2,html[dir="rtl"] .v20-final h2,html[dir="rtl"] .v20-course-about h2{font-size:21px}
 .v20-course-copy h3,.v20-catalog-copy h2{font-size:13.5px}.v20-course-copy p,.v20-catalog-copy p{font-size:10.5px}.v20-course-copy footer strong,.v20-catalog-copy footer strong{font-size:9.5px}.v20-course-copy footer span,.v20-catalog-copy footer span{font-size:8px}
 .v20-free-grid{padding:18px}.v20-free-art{min-height:230px}.v20-books-art{min-height:245px}.v20-book-mini-grid>a{flex-basis:82vw}.v20-value-grid h3{font-size:12.5px}.v20-value-grid p{font-size:10.5px}
 .v20-page-hero-grid{padding:22px 16px}.v20-page-hero h1{font-size:28px}.v20-page-abstract{height:190px}html[dir="rtl"] .v20-page-hero h1{font-size:24px}
 .v20-course-hero-grid{padding:20px 14px}.v20-course-hero h1{font-size:27px}html[dir="rtl"] .v20-course-hero h1{font-size:23px}.v20-course-tags span{font-size:7.5px}.v20-course-info{padding-top:44px}.v20-buy-card{padding:18px}.v20-price strong{font-size:21px}
 .v20-book-card{flex-basis:78vw}.v20-free-card-copy h2{font-size:13px}
 .v20-auth-visual{min-height:280px}.v20-auth-copy{max-width:76%}.v20-auth-copy h1{font-size:25px}.v20-auth-form h2{font-size:25px}.v20-auth-form>p{font-size:10.5px}
 .v20-footer-top{grid-template-columns:1fr}.v20-footer-brand{grid-column:auto}
}

@media(max-width:360px){
 .v20-hero h1{font-size:29px}.v20-hero-copy>p{font-size:11px}.v20-hero-art{max-width:340px}.v20-hero-meta span:last-child{display:none}
 html[dir="rtl"] .v20-hero h1{font-size:25px}.v20-section-head h2,.v20-flow-copy h2,.v20-free-copy h2,.v20-books-copy h2,.v20-final h2,.v20-course-about h2{font-size:22px}html[dir="rtl"] .v20-section-head h2,html[dir="rtl"] .v20-flow-copy h2,html[dir="rtl"] .v20-free-copy h2,html[dir="rtl"] .v20-books-copy h2,html[dir="rtl"] .v20-final h2,html[dir="rtl"] .v20-course-about h2{font-size:20px}.v20-mobile-links span{font-size:16px}.v20-auth-copy{max-width:82%}.v20-auth-art{opacity:.42}
}

@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
 .v20-public.v20-motion-ready [data-v20-reveal]{opacity:1!important;transform:none!important;clip-path:none!important}
 .v20-transition{display:none!important}
}

/* V21 targeted visual rebuild */
.v20-copy-tight{max-width:none!important}
.v20-hero-grid{grid-template-columns:minmax(340px,.95fr) minmax(0,1.05fr)}
.v20-hero-art{grid-column:1;position:relative;min-height:520px}
.v20-hero-copy{grid-column:2;justify-self:end}
html[dir="rtl"] .v20-hero-copy{text-align:right}
.v20-main-symbol{width:min(100%,450px)!important;height:auto!important;filter:drop-shadow(0 24px 48px rgba(12,43,68,.16));animation:v20FloatHero 6s ease-in-out infinite}
.v20-hero-art--symbol .v20-art-back{position:absolute;inset:7% 8%;border-radius:32px;background:radial-gradient(circle at 50% 38%,rgba(71,187,225,.16),rgba(71,187,225,0) 64%),linear-gradient(135deg,#ffffff 0,#eef9fc 100%);border:1px solid #d9edf2;box-shadow:var(--v20-shadow-lg)}
.v20-hero-art--symbol .v20-orbit{border-style:dashed;opacity:.4}
.v20-hero-art--symbol .v20-art-badge{backdrop-filter:blur(12px);animation:v20SoftPulse 4.6s ease-in-out infinite}
.v20-hero h1{max-width:12ch}
html[dir="rtl"] .v20-hero h1{font-size:clamp(22px,2.55vw,36px)!important;line-height:1.42;max-width:10ch}

.v20-section-head h2,.v20-flow-copy h2,.v20-free-copy h2,.v20-books-copy h2,.v20-final h2,.v20-course-about h2{max-width:15ch}
html[dir="rtl"] .v20-section-head h2,html[dir="rtl"] .v20-flow-copy h2,html[dir="rtl"] .v20-free-copy h2,html[dir="rtl"] .v20-books-copy h2,html[dir="rtl"] .v20-final h2,html[dir="rtl"] .v20-course-about h2{font-size:clamp(20px,2.1vw,28px)!important;line-height:1.38}

.v20-course-card,.v20-catalog-card,.v20-free-card,.v20-book-card article{position:relative}
.v20-course-card:before,.v20-catalog-card:before,.v20-free-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0,rgba(255,255,255,.0) 35%,rgba(255,255,255,.38) 50%,rgba(255,255,255,.0) 65%,transparent 100%);transform:translateX(-120%);transition:transform .9s ease;pointer-events:none;z-index:2}
.v20-course-card:hover:before,.v20-catalog-card:hover:before,.v20-free-card:hover:before{transform:translateX(120%)}
.v20-course-cover:after,.v20-catalog-cover:after,.v20-free-cover:after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(180deg,rgba(12,43,68,0),rgba(12,43,68,.16));pointer-events:none}

.v20-flow-grid--enhanced{grid-template-columns:minmax(0,1.02fr) minmax(320px,.86fr);gap:42px;align-items:start}
.v20-flow-steps{grid-column:1}
.v20-flow-side{grid-column:2;display:grid;gap:20px;align-content:start}
.v20-flow-copy{position:static;padding-top:8px}
.v20-flow-visual{min-height:320px;border:1px solid #d9edf2;border-radius:28px;background:linear-gradient(135deg,#fff,#eef9fc);display:grid;place-items:end center;padding:24px;overflow:hidden;box-shadow:var(--v20-shadow)}
.v20-flow-visual img{max-height:300px;object-fit:contain;filter:drop-shadow(0 20px 34px rgba(12,43,68,.12));animation:v20FloatHero 7s ease-in-out infinite}
.v20-flow-steps article{padding:22px 20px}
.v20-flow-steps article h3{font-size:15px}
.v20-flow-steps article p{font-size:12px}

.v20-free-art--motion img{animation:v20WiggleScreen 7.5s ease-in-out infinite;filter:drop-shadow(0 22px 38px rgba(12,43,68,.10))}
.v20-preview-chip{animation:v20FloatChip 4.8s ease-in-out infinite}
html[dir="rtl"] .v20-free-copy h2{max-width:11ch}

.v20-books-grid{grid-template-columns:minmax(380px,.95fr) minmax(0,1.05fr)}
.v20-books-art{grid-column:1}
.v20-books-copy{grid-column:2}
.v20-books-art--brand{border:1px solid #d9edf2;border-radius:30px;background:linear-gradient(135deg,#fff,#eef9fc);box-shadow:var(--v20-shadow);padding:34px;min-height:350px}
.v20-books-art--brand img{width:100%!important;max-width:540px;height:auto!important;animation:v20SlideGlow 7s ease-in-out infinite;filter:drop-shadow(0 20px 34px rgba(12,43,68,.12))}
.v20-book-mini-grid>a{position:relative;overflow:hidden}
.v20-book-mini-grid>a:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(56,188,227,.14),transparent 45%);opacity:0;transition:opacity .35s ease}
.v20-book-mini-grid>a:hover:before{opacity:1}
.v20-book-mini-grid img{box-shadow:0 12px 26px rgba(12,43,68,.14)}

.v20-value-grid article{padding:16px 16px 18px}
.v20-value-thumb{height:120px;border:1px solid #dcecf1;border-radius:18px;background:linear-gradient(135deg,#fff,#f1fbfd);display:grid;place-items:center;overflow:hidden;margin-bottom:14px}
.v20-value-thumb img{max-width:82%;max-height:94px;object-fit:contain;filter:drop-shadow(0 15px 24px rgba(12,43,68,.10));transition:transform .45s ease}
.v20-value-grid article:hover .v20-value-thumb img{transform:scale(1.04) translateY(-2px)}
.v20-value-grid h3{margin-top:0;font-size:13.5px}

.v20-page-hero-grid--banner{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr)}
.v20-page-abstract--brand{height:320px;border:1px solid #d9edf2;border-radius:28px;background:linear-gradient(135deg,#fff,#eef9fc);padding:26px;box-shadow:var(--v20-shadow);overflow:hidden}
.v20-page-abstract--brand img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 36px rgba(12,43,68,.14));animation:v20FloatHero 7s ease-in-out infinite}
.v20-page-abstract--wide img{transform:scale(1.06)}
html[dir="rtl"] .v20-page-hero h1{font-size:clamp(20px,2.35vw,31px)!important;line-height:1.38}

.v20-free-grid-page .v20-free-card:nth-child(odd) .v20-free-cover b{animation:v20PulseButton 4s ease-in-out infinite}
.v20-books-page-grid .v20-book-card:nth-child(odd) .v20-book-cover{animation:v20BookLift 6s ease-in-out infinite}
.v20-book-cover{overflow:hidden;background:linear-gradient(180deg,#fff,#f7fcfd)}

.v20-auth-page--pro{grid-template-columns:minmax(0,.95fr) minmax(460px,1.05fr);background:linear-gradient(135deg,#f7fcfd,#fff)}
.v20-auth-page--pro .v20-auth-visual{min-height:650px;padding:30px;box-shadow:var(--v20-shadow)}
.v20-auth-art--brand{right:2%;top:6%;width:68%;height:62%;opacity:.95}
html[dir="rtl"] .v20-auth-art--brand{left:2%;right:auto}
.v20-auth-art--brand img{filter:drop-shadow(0 22px 36px rgba(12,43,68,.16));animation:v20FloatHero 7s ease-in-out infinite}
.v20-auth-float{position:absolute;z-index:2;background:rgba(255,255,255,.86);border:1px solid #d8ebf0;border-radius:999px;padding:10px 14px;font-size:10px;font-weight:800;color:var(--v20-navy);backdrop-filter:blur(12px);box-shadow:0 14px 28px rgba(12,43,68,.08)}
.v20-auth-float--1{top:84px;left:28px;animation:v20FloatChip 4.6s ease-in-out infinite}
.v20-auth-float--2{bottom:118px;right:30px;animation:v20FloatChip 5.2s ease-in-out infinite .4s}
html[dir="rtl"] .v20-auth-float--1{left:auto;right:28px}
html[dir="rtl"] .v20-auth-float--2{right:auto;left:30px}
html[dir="rtl"] .v20-auth-copy h1{font-size:clamp(19px,2.2vw,29px)!important;line-height:1.42}
.v20-auth-form h2{font-size:clamp(24px,2.2vw,32px)!important}
.v20-auth-form-wrap{padding:26px}
.v20-auth-form{width:min(100%,520px);padding:28px;border:1px solid #dbeaf0;border-radius:26px;background:#fff;box-shadow:var(--v20-shadow)}

@keyframes v20FloatHero{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes v20SoftPulse{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.03)}}
@keyframes v20FloatChip{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes v20WiggleScreen{0%,100%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-8px) rotate(-1.1deg)}50%{transform:translateY(0) rotate(.8deg)}75%{transform:translateY(-5px) rotate(-.6deg)}}
@keyframes v20SlideGlow{0%,100%{transform:translateX(0)}50%{transform:translateX(-10px)}}
@keyframes v20PulseButton{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes v20BookLift{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

@media(max-width:1180px){
  .v20-hero-grid,.v20-books-grid,.v20-page-hero-grid--banner,.v20-auth-page--pro{grid-template-columns:1fr 1fr}
  .v20-hero-art{min-height:420px}
  .v20-flow-grid--enhanced{grid-template-columns:1fr;gap:24px}
  .v20-flow-steps,.v20-flow-side{grid-column:auto}
}
@media(max-width:820px){
  .v20-hero{min-height:auto;padding:34px 0 52px}
  .v20-hero-grid{grid-template-columns:1fr;gap:16px}
  .v20-hero-art{grid-column:auto;order:1;min-height:290px;padding:16px}
  .v20-hero-copy{grid-column:auto;order:2;justify-self:auto}
  html[dir="rtl"] .v20-hero h1{font-size:24px!important;max-width:9ch}
  .v20-main-symbol{max-height:245px;width:auto!important}
  .v20-flow-grid--enhanced{grid-template-columns:1fr}
  .v20-flow-side{gap:14px}
  .v20-flow-visual{min-height:220px;padding:14px}
  .v20-flow-visual img{max-height:185px}
  .v20-books-grid{grid-template-columns:1fr}
  .v20-books-art,.v20-books-copy{grid-column:auto}
  .v20-books-art--brand{min-height:220px;padding:18px}
  .v20-page-hero-grid--banner{grid-template-columns:1fr;gap:14px;padding:20px}
  .v20-page-abstract--brand{height:220px;padding:16px}
  html[dir="rtl"] .v20-page-hero h1{font-size:22px!important}
  .v20-value-thumb{height:94px}
  .v20-value-thumb img{max-height:66px}
  .v20-auth-page--pro{grid-template-columns:1fr;padding:12px}
  .v20-auth-page--pro .v20-auth-visual{min-height:340px;padding:18px}
  .v20-auth-art--brand{width:56%;height:56%;top:10%;opacity:.78}
  .v20-auth-float{font-size:9px;padding:8px 11px}
  .v20-auth-float--1{top:72px}
  .v20-auth-float--2{bottom:90px}
  .v20-auth-copy{max-width:78%}
  html[dir="rtl"] .v20-auth-copy h1{font-size:22px!important}
  .v20-auth-form{padding:20px;border-radius:22px}
}
@media(max-width:560px){
  .v20-shell{width:min(calc(100% - 26px),var(--v20-max))}
  .v20-hero-art--symbol .v20-art-back{inset:4%}
  .v20-art-badge{transform:scale(.92)}
  .v20-page-abstract--brand{height:190px}
  .v20-auth-copy{max-width:84%}
  .v20-auth-float{display:none}
  .v20-book-mini-grid>a{flex-basis:84vw}
}

/* V22 — frameless artwork system */
/* Decorative artwork must live directly on the page, never inside a visible picture frame. */
.v20-hero-art--symbol .v20-art-back{display:none!important}
.v20-hero-art--symbol{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.v20-main-symbol{width:min(96%,520px)!important;max-height:560px!important;object-fit:contain!important;filter:drop-shadow(0 24px 34px rgba(12,43,68,.12))!important}
.v20-flow-visual,
.v20-books-art--brand,
.v20-page-abstract--brand{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  padding:0!important;
}
.v20-flow-visual img,
.v20-books-art--brand img,
.v20-page-abstract--brand img,
.v20-auth-art--brand img{
  filter:drop-shadow(0 20px 28px rgba(12,43,68,.10))!important;
}
.v20-flow-visual{min-height:300px!important;place-items:center!important}
.v20-flow-visual img{width:min(100%,660px)!important;max-height:300px!important}
.v20-books-art--brand{min-height:330px!important;display:grid!important;place-items:center!important}
.v20-books-art--brand img{max-width:650px!important;max-height:360px!important;object-fit:contain!important}
.v20-page-abstract--brand{height:300px!important;display:grid!important;place-items:center!important}
.v20-page-abstract--brand img{width:min(100%,620px)!important;height:100%!important;object-fit:contain!important}
.v20-page-abstract--wide img{transform:none!important;max-width:700px!important}
/* Auth illustration itself stays frameless. The page layout can remain structured. */
.v20-auth-art--brand{overflow:visible!important}
/* Remove visible rounded image wells on mobile too. */
@media(max-width:820px){
  .v20-main-symbol{max-height:270px!important;width:min(92%,340px)!important}
  .v20-flow-visual{min-height:190px!important}
  .v20-flow-visual img{max-height:190px!important;width:min(100%,500px)!important}
  .v20-books-art--brand{min-height:200px!important}
  .v20-books-art--brand img{max-height:220px!important;max-width:95%!important}
  .v20-page-abstract--brand{height:200px!important}
  .v20-page-abstract--brand img{max-height:200px!important;max-width:95%!important}
}
@media(max-width:560px){
  .v20-page-abstract--brand{height:175px!important}
  .v20-page-abstract--brand img{max-height:175px!important}
}
/* V22 auth artwork is also unframed */
.v20-auth-page--pro .v20-auth-visual{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* V23 — animated artwork must never be clipped by section/container bounds */
/* Keep only page-level horizontal clipping to prevent accidental horizontal scroll. */
html, body.v20-public{overflow-x:hidden!important}
body.v20-public main{overflow:visible!important}

/* Sections that contain moving illustrations must allow vertical / spatial overflow. */
.v20-hero,
.v20-section,
.v20-flow,
.v20-free,
.v20-books,
.v20-page-hero,
.v20-course-hero,
.v20-auth-page,
.v20-auth-visual,
.v20-scene,
.v20-hero-grid,
.v20-flow-grid,
.v20-flow-grid--enhanced,
.v20-flow-side,
.v20-free-grid,
.v20-books-grid,
.v20-page-hero-grid,
.v20-page-hero-grid--banner,
.v20-course-hero-grid{
  overflow:visible!important;
}

/* Remove visual cut-lines around animated artwork sections. */
.v20-hero{border-bottom:0!important}
.v20-public.v20-motion-ready .v20-scene:before{display:none!important}

/* Every decorative/moving artwork wrapper is frameless and overflow-visible. */
.v20-hero-art,
.v20-hero-art--symbol,
.v20-flow-visual,
.v20-free-art,
.v20-free-art--motion,
.v20-books-art,
.v20-books-art--brand,
.v20-page-abstract,
.v20-page-abstract--brand,
.v20-page-abstract--wide,
.v20-auth-art,
.v20-auth-art--brand,
.v20-simple-art{
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Moving artwork itself stays fully visible while translated/rotated. */
.v20-hero-art img,
.v20-flow-visual img,
.v20-free-art img,
.v20-books-art img,
.v20-page-abstract img,
.v20-auth-art img,
.v20-simple-art img{
  overflow:visible!important;
  clip-path:none!important;
}

/* Give animated images a little breathing room so their motion doesn't hit layout edges. */
.v20-hero-art{padding-block:22px!important}
.v20-flow-visual{padding-block:18px!important}
.v20-free-art{padding-block:16px!important}
.v20-books-art{padding-block:18px!important}
.v20-page-abstract{padding-block:14px!important}
.v20-auth-art{padding:10px!important}

/* Content covers intentionally remain clipped inside their cards; only decorative artwork floats freely. */
.v20-course-cover,
.v20-catalog-cover,
.v20-book-cover,
.v20-free-cover,
.v20-course-cover-large,
.v20-preview-player{
  overflow:hidden;
}

@media(max-width:820px){
  .v20-hero-art{padding-block:14px!important}
  .v20-flow-visual,.v20-free-art,.v20-books-art,.v20-page-abstract{padding-block:10px!important}
  .v20-auth-art{padding:6px!important}
}

/* V24 — eliminate apparent clipping around animated decorative artwork */
.v20-hero,
.v20-flow,
.v20-free,
.v20-books,
.v20-page-hero,
.v20-auth-page{
  position:relative;
  z-index:2;
}
.v20-ticker,
.v20-section:not(.v20-flow):not(.v20-free):not(.v20-books),
.v20-catalog{
  position:relative;
  z-index:1;
}

/* Hero gets real physical breathing room, rather than relying on overflow. */
.v20-hero{
  padding-bottom:118px!important;
}
.v20-hero-grid{
  align-items:center!important;
  overflow:visible!important;
}
.v20-hero-art{
  aspect-ratio:auto!important;
  min-height:0!important;
  height:auto!important;
  padding:28px 18px 42px!important;
  align-self:center!important;
  z-index:5!important;
}
.v20-main-symbol{
  display:block!important;
  width:min(88%,470px)!important;
  max-width:470px!important;
  max-height:none!important;
  height:auto!important;
  margin:0 auto!important;
  transform-origin:center center!important;
}

/* Decorative artwork never depends on a fixed clipping box. */
.v20-flow-visual,
.v20-free-art,
.v20-books-art,
.v20-page-abstract,
.v20-auth-art,
.v20-simple-art{
  min-height:0!important;
  height:auto!important;
  aspect-ratio:auto!important;
  position:relative!important;
  z-index:4!important;
  overflow:visible!important;
}
.v20-flow-visual img,
.v20-free-art img,
.v20-books-art img,
.v20-page-abstract img,
.v20-auth-art img,
.v20-simple-art img{
  display:block!important;
  width:auto!important;
  max-width:92%!important;
  height:auto!important;
  max-height:none!important;
  margin-inline:auto!important;
}

/* Give motion room inside each scene so translated artwork never hits an edge. */
.v20-flow-visual{padding:34px 20px 54px!important}
.v20-free-art{padding:28px 20px 52px!important}
.v20-books-art{padding:30px 20px 52px!important}
.v20-page-abstract{padding:28px 20px 48px!important}
.v20-auth-art{padding:20px 14px 36px!important}

/* Remove the last decorative circles/edges that can read as a frame. */
.v20-hero-art--symbol .v20-orbit,
.v20-hero-art--symbol .v20-art-back{
  display:none!important;
}

@media(max-width:820px){
  .v20-hero{padding-bottom:74px!important}
  .v20-hero-art{padding:16px 10px 30px!important}
  .v20-main-symbol{width:min(82%,300px)!important;max-width:300px!important}
  .v20-flow-visual{padding:22px 12px 34px!important}
  .v20-free-art,.v20-books-art,.v20-page-abstract{padding:18px 10px 34px!important}
  .v20-auth-art{padding:12px 8px 26px!important}
  .v20-flow-visual img,.v20-free-art img,.v20-books-art img,.v20-page-abstract img,.v20-auth-art img{max-width:88%!important}
}

@media(max-width:430px){
  .v20-hero{padding-bottom:62px!important}
  .v20-main-symbol{width:min(80%,270px)!important;max-width:270px!important}
}

/* V25 — cinematic homepage hero */
.v25-hero{
  position:relative;
  min-height:calc(100svh - 78px);
  display:grid;
  align-items:center;
  isolation:isolate;
  overflow:hidden;
  background:
    radial-gradient(circle at 13% 43%,rgba(72,191,229,.16),transparent 34%),
    radial-gradient(circle at 80% 22%,rgba(128,216,240,.10),transparent 24%),
    linear-gradient(135deg,#fafdff 0%,#eef9fd 44%,#ffffff 100%);
}
.v25-hero:after{
  content:"";position:absolute;inset:auto -6vw -26vh -5vw;height:44vh;
  background:linear-gradient(100deg,rgba(24,160,210,.04),rgba(73,193,230,.15),rgba(255,255,255,0));
  border-radius:50% 50% 0 0/100% 100% 0 0;transform:rotate(-3deg);z-index:-1;pointer-events:none;
}
.v25-hero-grid{display:grid;grid-template-columns:minmax(340px,.96fr) minmax(0,1.04fr);gap:clamp(36px,6vw,96px);align-items:center;padding-block:clamp(48px,7vw,92px);position:relative;z-index:3}
.v25-hero-art{position:relative;min-height:clamp(480px,64vh,700px);display:grid;place-items:center;overflow:visible;transform:translate3d(-56px,20px,0) scale(.93);opacity:0;filter:blur(8px);transition:transform 1.15s cubic-bezier(.16,1,.3,1) .32s,opacity .72s ease .32s,filter .9s ease .32s}
html[dir="rtl"] .v25-hero-art{grid-column:1}
.v25-hero.is-loaded .v25-hero-art{transform:translate3d(0,0,0) scale(1);opacity:1;filter:none}
.v25-hero-art>img{display:block;width:min(94%,560px);height:auto;max-height:70vh;object-fit:contain;position:relative;z-index:3;filter:drop-shadow(0 30px 55px rgba(8,39,72,.14));animation:v25HeroDrift 7s ease-in-out 1.6s infinite;transform-origin:50% 58%}
.v25-image-aura{position:absolute;width:min(86%,520px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(63,187,226,.20),rgba(63,187,226,.06) 44%,transparent 72%);filter:blur(2px);transform:scale(.75);opacity:0;transition:transform 1.4s cubic-bezier(.16,1,.3,1) .48s,opacity 1s ease .48s;z-index:1}
.v25-hero.is-loaded .v25-image-aura{transform:scale(1);opacity:1}
.v25-pulse{position:absolute;z-index:4;width:min(82%,420px);right:-2%;top:43%;overflow:visible;filter:drop-shadow(0 6px 10px rgba(20,164,215,.12));opacity:0;transform:translateX(-20px);transition:opacity .5s ease 1.02s,transform .7s ease 1.02s}
html[dir="rtl"] .v25-pulse{right:-2%;left:auto}
.v25-hero.is-loaded .v25-pulse{opacity:1;transform:none}
.v25-pulse path{fill:none;stroke:#35b9e1;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:560;stroke-dashoffset:560;animation:v25PulseDraw 1.35s ease 1.1s forwards}
.v25-hero-copy{justify-self:end;text-align:right;max-width:640px;position:relative;z-index:5}
html[dir="ltr"] .v25-hero-copy{text-align:left;justify-self:start}
.v25-brand-kicker{display:block;color:#1fa8d3;font-size:11px;font-weight:800;letter-spacing:.14em;margin-bottom:18px;opacity:0;transform:translateY(12px);transition:.65s ease .65s}
html[dir="rtl"] .v25-brand-kicker{letter-spacing:0;font-size:11px}
.v25-hero h1{margin:0;color:#082f4c;font-family:"Alexandria","Manrope",sans-serif;font-size:clamp(43px,5.2vw,76px);font-weight:700;line-height:1.08;letter-spacing:-.055em;clip-path:inset(0 100% 0 0);transform:translateY(24px);transition:clip-path 1.05s cubic-bezier(.16,1,.3,1) .58s,transform 1.05s cubic-bezier(.16,1,.3,1) .58s}
html[dir="rtl"] .v25-hero h1{font-size:clamp(34px,4.2vw,58px);line-height:1.32;letter-spacing:0;clip-path:inset(0 0 0 100%)}
.v25-hero p{margin:18px 0 0;color:#607985;font-size:clamp(16px,1.45vw,20px);font-weight:500;line-height:1.8;opacity:0;transform:translateY(16px);transition:opacity .72s ease .92s,transform .72s ease .92s}
html[dir="rtl"] .v25-hero p{font-size:clamp(14px,1.25vw,17px)}
.v25-signature-line{display:flex;align-items:center;gap:9px;margin-top:24px;justify-content:flex-end;opacity:0;transform:translateY(10px);transition:.65s ease 1.12s}
html[dir="ltr"] .v25-signature-line{justify-content:flex-start}
.v25-signature-line i{display:block;width:66px;height:2px;background:linear-gradient(90deg,transparent,#3bc0e5);border-radius:2px}
.v25-signature-line span{display:block;width:7px;height:7px;border:2px solid #40c4e7;border-radius:50%}
.v25-hero.is-loaded .v25-brand-kicker,.v25-hero.is-loaded .v25-hero p,.v25-hero.is-loaded .v25-signature-line{opacity:1;transform:none}
.v25-hero.is-loaded h1{clip-path:inset(0);transform:none}
.v25-hero-bg{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.v25-ring{position:absolute;border:1px solid rgba(46,174,214,.17);border-radius:50%;animation:v25Ring 14s linear infinite}
.v25-ring.r1{width:620px;height:620px;left:-130px;top:5%}.v25-ring.r2{width:410px;height:410px;left:5%;top:18%;border-style:dashed;animation-duration:20s;animation-direction:reverse}
.v25-dot{position:absolute;width:8px;height:8px;background:#4cc8e7;border-radius:50%;box-shadow:0 0 0 9px rgba(76,200,231,.07);animation:v25Dot 5s ease-in-out infinite}.v25-dot.d1{left:8%;top:26%}.v25-dot.d2{left:38%;bottom:17%;animation-delay:-2s}
.v25-hero-intro{position:absolute;inset:0;z-index:20;pointer-events:none;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.v25-hero-intro i,.v25-hero-intro b{display:block;background:#062d49;transform:scaleX(1);transition:transform .9s cubic-bezier(.76,0,.24,1) .12s}
.v25-hero-intro i{transform-origin:left}.v25-hero-intro b{transform-origin:right}
.v25-hero.is-loaded .v25-hero-intro i,.v25-hero.is-loaded .v25-hero-intro b{transform:scaleX(0)}
.v25-scroll{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:7;width:28px;height:44px;border:1px solid rgba(16,68,91,.2);border-radius:99px;display:grid;place-items:start center;padding-top:8px}
.v25-scroll span{width:4px;height:8px;background:#2fb9df;border-radius:4px;animation:v25Scroll 1.8s ease-in-out infinite}
@keyframes v25HeroDrift{0%,100%{transform:translate3d(0,0,0) rotate(0deg)}50%{transform:translate3d(0,-10px,0) rotate(.35deg)}}
@keyframes v25PulseDraw{to{stroke-dashoffset:0}}
@keyframes v25Ring{to{transform:rotate(360deg)}}
@keyframes v25Dot{0%,100%{transform:translateY(0);opacity:.65}50%{transform:translateY(-12px);opacity:1}}
@keyframes v25Scroll{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(14px);opacity:1}}
@media(max-width:900px){.v25-hero{min-height:auto}.v25-hero-grid{grid-template-columns:1fr;padding-block:44px 72px;gap:10px}.v25-hero-copy{order:1;justify-self:stretch;text-align:center!important;margin-inline:auto}.v25-hero-art{order:2;min-height:360px}.v25-hero-art>img{width:min(82%,390px);max-height:none}.v25-pulse{width:min(70%,300px);right:3%;top:48%}.v25-hero h1,html[dir="rtl"] .v25-hero h1{font-size:34px;line-height:1.32}.v25-hero p,html[dir="rtl"] .v25-hero p{font-size:14px}.v25-signature-line{justify-content:center!important}.v25-ring.r1{width:440px;height:440px;left:-190px}.v25-ring.r2{width:280px;height:280px;left:-50px}}
@media(max-width:430px){.v25-hero-grid{width:min(calc(100% - 26px),var(--v20-max));padding-top:32px}.v25-hero h1,html[dir="rtl"] .v25-hero h1{font-size:28px}.v25-hero p,html[dir="rtl"] .v25-hero p{font-size:13px;margin-top:10px}.v25-brand-kicker{font-size:9px;margin-bottom:10px}.v25-hero-art{min-height:300px}.v25-hero-art>img{width:min(86%,320px)}.v25-pulse{width:235px;right:0}.v25-scroll{bottom:14px}.v25-hero-intro{grid-template-columns:1fr}.v25-hero-intro b{display:none}.v25-hero-intro i{transform-origin:top;transform:scaleY(1);transition-property:transform}.v25-hero.is-loaded .v25-hero-intro i{transform:scaleY(0)}}
@media(prefers-reduced-motion:reduce){.v25-hero-intro{display:none}.v25-hero-art,.v25-brand-kicker,.v25-hero p,.v25-signature-line{opacity:1!important;transform:none!important;filter:none!important}.v25-hero h1{clip-path:none!important;transform:none!important}.v25-pulse{opacity:1!important;transform:none!important}.v25-pulse path{stroke-dashoffset:0!important;animation:none!important}.v25-hero-art>img,.v25-ring,.v25-dot,.v25-scroll span{animation:none!important}}

/* V26 — hero visibility, mobile rebuild and tighter vertical rhythm */
.v25-hero{
  min-height:min(720px,calc(100svh - 76px))!important;
  padding:0!important;
  overflow:visible!important;
}
.v25-hero-grid{
  grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr)!important;
  grid-template-areas:"copy art";
  direction:ltr;
  gap:clamp(24px,4.6vw,72px)!important;
  padding-block:clamp(36px,5vw,64px)!important;
  min-height:min(700px,calc(100svh - 84px));
}
.v25-hero-copy{
  grid-area:copy!important;
  justify-self:center!important;
  align-self:center!important;
  width:min(100%,560px);
  text-align:center!important;
  direction:ltr;
  max-width:none!important;
  z-index:8!important;
}
html[dir="rtl"] .v25-hero-copy{direction:rtl;text-align:center!important}
.v25-hero-art{
  grid-area:art!important;
  grid-column:auto!important;
  justify-self:center!important;
  align-self:center!important;
  min-height:0!important;
  width:100%;
  padding:12px 0 22px!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  animation:v26HeroArtIn 1s cubic-bezier(.16,1,.3,1) .12s both;
}
.v25-hero-art>img{
  width:min(92%,570px)!important;
  max-height:620px!important;
  opacity:1!important;
}
.v25-image-aura{opacity:.7!important;transform:scale(1)!important}
.v25-hero h1,
html[dir="rtl"] .v25-hero h1{
  clip-path:none!important;
  opacity:1!important;
  transform:none!important;
  margin:0!important;
  font-size:clamp(36px,4.25vw,61px)!important;
  line-height:1.22!important;
  letter-spacing:-.035em!important;
  max-width:none!important;
  animation:v26HeroTitleIn .82s cubic-bezier(.16,1,.3,1) .22s both;
}
html[dir="rtl"] .v25-hero h1{
  letter-spacing:0!important;
  font-size:clamp(31px,3.55vw,50px)!important;
  line-height:1.42!important;
}
.v25-hero p,
html[dir="rtl"] .v25-hero p{
  opacity:1!important;
  transform:none!important;
  margin:12px auto 0!important;
  max-width:420px!important;
  font-size:clamp(13px,1.1vw,16px)!important;
  line-height:1.7!important;
  animation:v26HeroSubIn .72s cubic-bezier(.16,1,.3,1) .42s both;
}
.v25-brand-kicker,.v25-signature-line{display:none!important}
.v25-pulse{opacity:1!important;transform:none!important;right:0!important;width:min(74%,420px)!important}
html[dir="rtl"] .v25-pulse{right:0!important}
.v25-pulse path{animation:v25PulseDraw 1.2s ease .6s forwards!important}
.v25-hero-intro i{animation:v26CurtainLeft .82s cubic-bezier(.76,0,.24,1) .06s forwards!important}
.v25-hero-intro b{animation:v26CurtainRight .82s cubic-bezier(.76,0,.24,1) .06s forwards!important}
.v25-hero.is-loaded .v25-hero-intro i,.v25-hero.is-loaded .v25-hero-intro b{transform:none}
.v25-scroll{bottom:12px!important}

/* Compact vertical rhythm: remove the large empty bands between homepage scenes. */
.v20-section,
.v20-flow,
.v20-free,
.v20-why{padding:58px 0!important}
.v20-books.v20-section{padding:58px 0!important}
.v20-final{padding:18px 0 54px!important}
.v20-section-head{margin-bottom:26px!important;gap:28px!important}
.v20-section-head.center{margin-bottom:30px!important}
.v20-flow-grid--enhanced{gap:30px!important}
.v20-flow-side{gap:14px!important}
.v20-free-grid{gap:30px!important;padding:30px!important}
.v20-books-grid{gap:30px!important}
.v20-books-art--brand{min-height:280px!important;padding:18px!important}
.v20-flow-visual{min-height:250px!important;padding:18px!important}
.v20-free-art{padding:16px!important}
.v20-book-mini-grid{margin-top:0!important}
.v20-value-grid{gap:12px!important}

@keyframes v26HeroArtIn{
  from{opacity:0;transform:translate3d(38px,16px,0) scale(.95);filter:blur(7px)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes v26HeroTitleIn{
  from{opacity:0;transform:translate3d(0,24px,0);filter:blur(5px)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes v26HeroSubIn{
  from{opacity:0;transform:translate3d(0,15px,0)}
  to{opacity:1;transform:none}
}
@keyframes v26CurtainLeft{to{transform:scaleX(0)}}
@keyframes v26CurtainRight{to{transform:scaleX(0)}}

@media(max-width:1050px){
  .v25-hero-grid{grid-template-columns:minmax(0,.82fr) minmax(360px,1.18fr)!important;gap:18px!important}
  .v25-hero-art>img{width:min(94%,500px)!important}
}

@media(max-width:820px){
  .v25-hero{
    min-height:auto!important;
    overflow:hidden!important;
  }
  .v25-hero-intro{display:none!important}
  .v25-hero-grid{
    grid-template-columns:1fr!important;
    grid-template-areas:"copy" "art"!important;
    min-height:0!important;
    gap:8px!important;
    padding:26px 0 32px!important;
    width:min(calc(100% - 28px),var(--v20-max))!important;
  }
  .v25-hero-copy{
    width:100%;
    max-width:440px!important;
    padding:4px 8px 2px;
  }
  .v25-hero h1,
  html[dir="rtl"] .v25-hero h1{
    font-size:clamp(25px,8vw,34px)!important;
    line-height:1.38!important;
  }
  .v25-hero p,
  html[dir="rtl"] .v25-hero p{
    font-size:12.5px!important;
    margin-top:7px!important;
  }
  .v25-hero-art{
    width:100%;
    min-height:0!important;
    padding:0 0 8px!important;
    animation:v26MobileArtIn .72s cubic-bezier(.16,1,.3,1) .22s both!important;
  }
  .v25-hero-art>img{
    display:block;
    width:min(82vw,350px)!important;
    max-height:none!important;
    margin:0 auto;
    animation:v25HeroDrift 7s ease-in-out 1.2s infinite!important;
  }
  .v25-image-aura{width:min(76vw,330px)!important}
  .v25-pulse{width:min(70vw,285px)!important;right:5%!important;top:44%!important}
  html[dir="rtl"] .v25-pulse{right:5%!important}
  .v25-ring.r1{width:300px!important;height:300px!important;left:-170px!important;top:14%!important}
  .v25-ring.r2{display:none!important}
  .v25-dot.d2{display:none!important}
  .v25-scroll{display:none!important}

  .v20-section,
  .v20-flow,
  .v20-free,
  .v20-books.v20-section,
  .v20-why{padding:40px 0!important}
  .v20-final{padding:12px 0 40px!important}
  .v20-section-head{margin-bottom:18px!important;gap:10px!important}
  .v20-section-head.center{margin-bottom:20px!important}
  .v20-flow-grid--enhanced,.v20-books-grid{gap:16px!important}
  .v20-flow-side{gap:10px!important}
  .v20-flow-steps{gap:8px!important}
  .v20-free-grid{padding:18px!important;gap:10px!important}
  .v20-flow-visual,.v20-books-art--brand{min-height:190px!important;padding:10px!important}
  .v20-free-art{min-height:190px!important;padding:8px!important}
  .v20-value-grid{gap:9px!important}
  .v20-book-mini-grid{margin-top:2px!important}
  .v20-ticker-group span{padding:9px 14px!important}

  /* Mobile motion: simple and reliable instead of large clip masks. */
  .v20-public.v20-motion-ready [data-v20-reveal="text"]{
    transform:translateY(16px)!important;
    clip-path:none!important;
  }
  .v20-public.v20-motion-ready [data-v20-reveal="art"]{
    transform:translateY(14px) scale(.985)!important;
    clip-path:none!important;
  }
  .v20-public.v20-motion-ready [data-v20-reveal="card"]{
    transform:translateY(14px)!important;
  }
  .v20-public.v20-motion-ready [data-v20-reveal].is-in{
    transform:none!important;
    opacity:1!important;
    transition-duration:.55s!important;
  }
}

@media(max-width:430px){
  .v25-hero-grid{padding-top:20px!important;padding-bottom:25px!important}
  .v25-hero h1,html[dir="rtl"] .v25-hero h1{font-size:27px!important}
  .v25-hero p,html[dir="rtl"] .v25-hero p{font-size:12px!important}
  .v25-hero-art>img{width:min(84vw,315px)!important}
  .v25-pulse{width:235px!important;right:2%!important}
  html[dir="rtl"] .v25-pulse{right:2%!important}
  .v20-section,.v20-flow,.v20-free,.v20-books.v20-section,.v20-why{padding:34px 0!important}
  .v20-final{padding-bottom:34px!important}
}

@keyframes v26MobileArtIn{
  from{opacity:0;transform:translate3d(0,14px,0) scale(.98)}
  to{opacity:1;transform:none}
}

@media(prefers-reduced-motion:reduce){
  .v25-hero-art,.v25-hero h1,.v25-hero p{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
}

/* V27 — true viewport mobile menu */
html.v20-menu-open,
body.v20-menu-open{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body.v20-menu-open{
  touch-action:none;
}
.v20-mobile-menu{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  min-height:100vh!important;
  z-index:2147483000!important;
  box-sizing:border-box!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fdff 58%,#eef9fc 100%)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
  isolation:isolate;
}
.v20-mobile-menu::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 85% 12%,rgba(61,190,226,.13),transparent 33%),
    radial-gradient(circle at 8% 88%,rgba(12,43,68,.055),transparent 36%);
}
.v20-mobile-menu.is-open{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
  pointer-events:auto!important;
}
.v20-mobile-top{
  flex:0 0 auto;
  position:relative;
  z-index:3;
}
.v20-mobile-copy,.v20-mobile-links,.v20-mobile-actions{
  position:relative;
  z-index:2;
}
.v20-mobile-links{
  flex:0 0 auto;
}
.v20-mobile-actions{
  margin-top:auto!important;
  padding-bottom:max(4px,env(safe-area-inset-bottom));
}
@media(max-width:820px){
  .v20-header{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .v20-mobile-menu{
    padding:calc(18px + env(safe-area-inset-top)) 20px calc(22px + env(safe-area-inset-bottom))!important;
  }
  .v20-mobile-copy{
    margin-top:28px!important;
  }
  .v20-mobile-copy strong{
    font-size:20px!important;
  }
  .v20-mobile-links a{
    min-height:52px;
    padding:10px 0!important;
  }
  .v20-mobile-links span{
    font-size:17px!important;
  }
}
@media(max-width:430px){
  .v20-mobile-menu{
    padding:calc(14px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom))!important;
  }
  .v20-mobile-copy{margin-top:22px!important}
  .v20-mobile-copy strong{font-size:18px!important}
  .v20-mobile-links span{font-size:16px!important}
  .v20-mobile-actions{gap:8px!important;padding-top:16px!important}
}

/* V28 — compact premium footer + smaller closing CTA */
.v20-footer{
  padding:38px 0 0!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fcfd 100%)!important;
  border-top:1px solid #e3eef1!important;
}
.v20-footer-top{
  width:min(calc(100% - 44px),var(--v20-max))!important;
  grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(110px,.62fr))!important;
  gap:30px!important;
  padding-bottom:26px!important;
  align-items:start!important;
}
.v20-footer-brand .v20-brand-logo{width:40px!important;height:40px!important}
.v20-footer-brand .v20-brand>span b{font-size:10.5px!important}
.v20-footer-brand .v20-brand>span small{font-size:5.5px!important}
.v20-footer-brand p{
  font-size:9.5px!important;
  line-height:1.75!important;
  max-width:310px!important;
  margin:10px 0 12px!important;
}
.v20-socials{gap:6px!important}
.v20-socials a{width:30px!important;height:30px!important;border-radius:9px!important}
.v20-socials svg{width:13px!important}
.v20-footer-col{gap:7px!important}
.v20-footer-col strong{font-size:9.5px!important;margin-bottom:3px!important}
.v20-footer-col a{font-size:9.2px!important;line-height:1.55!important}
.v20-footer-bottom{
  width:min(calc(100% - 44px),var(--v20-max))!important;
  padding:13px 0!important;
  font-size:8px!important;
  color:#8799a1!important;
}
.v20-footer-bottom a{font-size:8px!important}

/* Closing CTA is deliberately quieter than content headings. */
.v20-final-inner{padding:28px 34px!important}
.v20-final .v20-kicker{font-size:8.5px!important}
.v20-final h2,
html[dir="rtl"] .v20-final h2{
  font-size:clamp(19px,2vw,27px)!important;
  line-height:1.35!important;
  max-width:13ch!important;
}
.v20-final p,
html[dir="rtl"] .v20-final p{font-size:10.5px!important;line-height:1.7!important;margin-top:8px!important}
.v20-final .v20-cta{min-height:42px!important;font-size:10px!important;padding-inline:14px!important}

@media(max-width:820px){
  .v20-footer{padding-top:28px!important}
  .v20-footer-top{
    width:calc(100% - 30px)!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:20px 18px!important;
    padding-bottom:20px!important;
  }
  .v20-footer-brand{grid-column:1/-1!important}
  .v20-footer-brand p{max-width:360px!important;font-size:9.2px!important;margin:9px 0 11px!important}
  .v20-footer-col:last-child{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px 14px!important;border-top:1px solid #e8f0f2;padding-top:14px!important}
  .v20-footer-col:last-child strong{grid-column:1/-1!important}
  .v20-footer-col strong{font-size:9.2px!important}
  .v20-footer-col a{font-size:9px!important}
  .v20-socials a{width:29px!important;height:29px!important}
  .v20-footer-bottom{
    width:calc(100% - 30px)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:3px!important;
    padding:11px 0 13px!important;
    font-size:7.6px!important;
    line-height:1.55!important;
  }
  html[dir="rtl"] .v20-footer-bottom{align-items:flex-end!important}
  .v20-footer-bottom a{margin:0!important;font-size:7.6px!important}

  .v20-final{padding:10px 0 28px!important}
  .v20-final-inner{padding:20px 18px!important;border-radius:18px!important}
  .v20-final .v20-kicker{font-size:7.5px!important}
  .v20-final h2,
  html[dir="rtl"] .v20-final h2{font-size:18px!important;line-height:1.42!important;max-width:12ch!important}
  .v20-final p,
  html[dir="rtl"] .v20-final p{font-size:9.5px!important;line-height:1.65!important;margin-top:6px!important}
  .v20-final .v20-cta{min-height:40px!important;font-size:9.5px!important;margin-top:13px!important}
}

@media(max-width:430px){
  .v20-footer{padding-top:24px!important}
  .v20-footer-top{
    width:calc(100% - 26px)!important;
    grid-template-columns:1fr 1fr!important;
    gap:17px 14px!important;
  }
  .v20-footer-brand{grid-column:1/-1!important}
  .v20-footer-brand .v20-brand-logo{width:36px!important;height:36px!important}
  .v20-footer-brand p{font-size:8.6px!important;line-height:1.7!important;max-width:300px!important}
  .v20-socials a{width:28px!important;height:28px!important}
  .v20-footer-col{gap:6px!important}
  .v20-footer-col strong{font-size:8.8px!important}
  .v20-footer-col a{font-size:8.5px!important}
  .v20-footer-col:last-child{grid-template-columns:1fr!important;gap:6px!important}
  .v20-footer-col:last-child strong{grid-column:auto!important}
  .v20-footer-bottom{width:calc(100% - 26px)!important;font-size:7.1px!important}
  .v20-footer-bottom a{font-size:7.1px!important}

  .v20-final-inner{padding:17px 15px!important}
  .v20-final h2,
  html[dir="rtl"] .v20-final h2{font-size:16.5px!important;line-height:1.45!important}
  .v20-final p,
  html[dir="rtl"] .v20-final p{font-size:9px!important}
}

/* V29 hero ECG cleanup */
.v25-hero-art{isolation:isolate}
.v25-hero-art>img{position:relative;z-index:3}
.v25-pulse{z-index:1!important;top:50%!important;right:-7%!important;width:min(72%,380px)!important;opacity:.72!important;filter:none!important;pointer-events:none}
html[dir="rtl"] .v25-pulse{right:-7%!important;left:auto!important}
@media(max-width:900px){
  .v25-pulse{display:none!important}
}

/* V39 free-course start forms */
.inline-start-form{display:inline-flex;margin:0}
.v20-hero-actions .inline-start-form{align-items:stretch}
.v20-hero-actions .inline-start-form .v20-cta{height:100%}
@media(max-width:820px){.v20-hero-actions .inline-start-form{width:100%}.v20-hero-actions .inline-start-form .v20-cta{width:100%}}

/* V41 checkout discounts */
.v41-order-summary{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #d9e7ec;background:#fff;border-radius:18px;padding:12px 14px;margin:16px 0}.v41-order-summary img{width:74px;height:60px;object-fit:contain;border-radius:12px;background:#f4fafc}.v41-order-summary div{display:grid;gap:3px;min-width:0}.v41-order-summary small{font-size:11px;color:#6b7c86}.v41-order-summary strong{color:#102a3a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v41-order-summary>b{font-size:15px;color:#0c3148}.v41-coupon-box{border:1px dashed #9bc9d7;border-radius:16px;background:#f5fbfd;padding:14px;margin:14px 0}.v41-coupon-box label{display:grid;gap:7px}.v41-coupon-box label>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.v41-coupon-box input{min-height:46px;border:1px solid #c9dbe3;border-radius:12px;padding:0 13px;background:#fff}.v41-coupon-box button{border:0;border-radius:12px;background:#0c3148;color:#fff;font-weight:800;padding:0 18px}.v41-coupon-box p{margin:8px 0 0;font-size:12px;font-weight:700}.v41-coupon-box p.ok{color:#167551}.v41-coupon-box p.bad{color:#b54552}.v41-price-breakdown{display:grid;gap:8px;border:1px solid #dce6eb;border-radius:16px;padding:14px;margin:14px 0 18px;background:#fff}.v41-price-breakdown>div{display:flex;justify-content:space-between;gap:12px;color:#667983}.v41-price-breakdown b{color:#163244}.v41-price-breakdown .discount span,.v41-price-breakdown .discount b{color:#138559}.v41-price-breakdown .total{border-top:1px solid #e1e7eb;padding-top:10px;margin-top:2px;font-weight:800}.v41-price-breakdown .total b{font-size:18px;color:#0c3148}
@media(max-width:560px){.v41-order-summary{grid-template-columns:60px minmax(0,1fr)}.v41-order-summary img{width:60px;height:54px}.v41-order-summary>b{grid-column:2}.v41-coupon-box label>div{grid-template-columns:1fr}.v41-coupon-box button{min-height:44px}}

/* V43 two-step payment flow */
.v43-checkout,.v43-confirm-page{background:linear-gradient(180deg,#fff 0,#f4f9fb 100%)}
.v43-steps{display:grid;grid-template-columns:auto minmax(32px,1fr) auto minmax(32px,1fr) auto;align-items:center;gap:10px;max-width:760px;margin:0 auto 34px;color:#82939b;font-size:10px;font-weight:800}.v43-steps>span{display:flex;align-items:center;gap:8px;white-space:nowrap}.v43-steps>span b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e8f0f3;color:#6f858f;font-size:9px}.v43-steps>i{height:1px;background:#dce7eb}.v43-steps>span.is-active{color:#0c3148}.v43-steps>span.is-active b{background:#0c3148;color:#fff}.v43-steps>span.is-done{color:#158a68}.v43-steps>span.is-done b{background:#dff5ec;color:#158a68}
.v20-payment-options label em{font-style:normal;font-size:8px;color:#158a68;margin-top:3px}.v43-breakdown [data-v43-fee-row] span,.v43-breakdown [data-v43-fee-row] b{color:#9a6320}.v43-method-form{margin-top:16px}.v43-payment-card{width:min(100%,900px);margin:0 auto;background:#fff;border:1px solid #d7e4e9;border-radius:26px;padding:28px;box-shadow:0 18px 50px rgba(12,49,72,.08)}.v43-payment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding-bottom:22px;border-bottom:1px solid #e4ecef}.v43-payment-head h1{font-size:clamp(28px,4vw,44px);letter-spacing:.03em;margin:3px 0;color:#0c3148}.v43-payment-head p{font-size:11px;color:#6f818a;max-width:560px;line-height:1.65}.v43-copy{border:1px solid #cadce3;background:#fff;border-radius:12px;padding:11px 15px;color:#0c3148;font-weight:850;cursor:pointer}.v43-payment-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:20px 0}.v43-payment-summary>span{border:1px solid #dce7eb;border-radius:14px;padding:12px;background:#fbfdfe;display:flex;flex-direction:column;gap:4px;min-width:0}.v43-payment-summary small{font-size:8px;color:#70838c}.v43-payment-summary b{font-size:11px;color:#183645;white-space:normal}.v43-payment-summary .total{background:#0c3148;border-color:#0c3148}.v43-payment-summary .total small,.v43-payment-summary .total b{color:#fff}.v43-transfer-box{display:grid;gap:4px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#eaf8fc,#f8fdff);border:1px solid #c8e8f0;margin:20px 0}.v43-transfer-box>span{font-size:9px;color:#66808c}.v43-transfer-box>strong{font-size:24px;color:#0c3148;word-break:break-word}.v43-transfer-box>small{font-size:9px;color:#159bc4;font-weight:800}.v43-transfer-box p{font-size:10px;color:#627985;margin:8px 0 0}.v43-proof-form{max-width:650px}.v43-cancel-form{margin-top:12px}.v43-cancel-form button{border:0;background:transparent;color:#6e818a;text-decoration:underline;font-weight:750;cursor:pointer}.v43-state{padding:22px;border:1px solid #dce7eb;border-radius:18px;background:#f8fbfc;margin-top:20px}.v43-state b{font-size:17px;color:#0c3148}.v43-state p{font-size:11px;color:#687d87;line-height:1.7}.v43-state.pending{background:#fffaf0;border-color:#f0dfb6}.v43-state.approved{background:#f2fbf7;border-color:#c7e7d9}.v43-state.rejected{background:#fff5f6;border-color:#efcfd3}.v43-status-page{padding:70px 20px}.v43-status-card{max-width:620px}.v43-lookup-result{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid #e2ebee}.v43-lookup-result>div{border:1px solid #dce7eb;border-radius:14px;padding:12px;display:grid;gap:4px}.v43-lookup-result small{font-size:8px;color:#74868e}.v43-lookup-result b{font-size:11px;color:#153443}.v43-lookup-result p{grid-column:1/-1;color:#a6424e}
@media(max-width:820px){.v43-steps{grid-template-columns:1fr;gap:6px;margin-bottom:22px}.v43-steps>i{display:none}.v43-steps>span{font-size:9px}.v43-steps>span:not(.is-active):not(.is-done){opacity:.55}.v43-payment-card{padding:18px;border-radius:20px}.v43-payment-head{display:grid}.v43-payment-head h1{font-size:28px}.v43-payment-summary{grid-template-columns:1fr 1fr}.v43-payment-summary .total{grid-column:1/-1}.v43-transfer-box>strong{font-size:20px}.v43-lookup-result{grid-template-columns:1fr}}
@media(max-width:460px){.v43-payment-summary{grid-template-columns:1fr}.v43-payment-summary .total{grid-column:auto}.v43-payment-head p{font-size:10px}}


/* ===== V44 · Favorites on public catalog ===== */
.v20-catalog-card,.v20-book-card{position:relative}.v20-card-link{display:block;min-width:0}.v20-favorite-form{position:absolute;z-index:6;top:12px;right:12px;margin:0}.v20-favorite-form--book{right:auto;left:12px;top:11px}.v20-favorite-btn{width:36px;height:36px;border-radius:12px;border:1px solid rgba(15,58,78,.14);background:rgba(255,255,255,.95);color:#6f858f;display:grid;place-items:center;cursor:pointer;box-shadow:0 7px 18px rgba(13,45,58,.08);transition:.2s ease}.v20-favorite-btn:hover{transform:translateY(-2px);color:#0f6f95}.v20-favorite-btn .ui-icon{width:17px}.v20-favorite-btn.is-active{background:#eaf7fb;border-color:#b7dfea;color:#118bb3}.v20-favorite-btn.is-active .ui-icon{fill:currentColor}.v20-favorite-btn:disabled{opacity:.6;cursor:wait}.v20-course-favorite-form{display:inline-flex;margin:0}.v20-course-favorite{border:1px solid #d3e6ec;background:#fff;cursor:pointer}.v20-course-favorite.is-active{background:#eaf7fb;border-color:#b8dfe9;color:#118bb3}.v20-course-favorite.is-active .ui-icon{fill:currentColor}
html[dir="rtl"] .v20-favorite-form{right:auto;left:12px}html[dir="rtl"] .v20-favorite-form--book{left:auto;right:12px}
@media(max-width:640px){.v20-favorite-btn{width:34px;height:34px}.v20-favorite-form{top:10px;right:10px}.v20-favorite-form--book{right:auto;left:10px}html[dir="rtl"] .v20-favorite-form{right:auto;left:10px}html[dir="rtl"] .v20-favorite-form--book{left:auto;right:10px}}

/* ===== V45 · Medical gradient, Arabic typography, registration UX, desktop nav ===== */
body.v20-public{
  background:
    radial-gradient(circle at 8% 12%,rgba(71,190,229,.11),transparent 28%),
    radial-gradient(circle at 92% 34%,rgba(35,119,191,.07),transparent 30%),
    linear-gradient(155deg,#ffffff 0%,#eef9fd 36%,#fbfdff 67%,#f0f8fc 100%)!important;
}
html[dir="rtl"] body.v20-public,
html[dir="rtl"] body.v20-public input,
html[dir="rtl"] body.v20-public textarea,
html[dir="rtl"] body.v20-public select,
html[dir="rtl"] body.v20-public button{font-family:"Cairo","Alexandria",system-ui,sans-serif!important}
html[dir="rtl"] .v25-hero h1{font-family:"Cairo","Alexandria",system-ui,sans-serif!important;font-weight:750!important}

/* Desktop navigation: one calm container with clear active/hover states. */
@media(min-width:901px){
  .v20-nav{
    gap:4px!important;
    padding:5px!important;
    border:1px solid rgba(188,221,232,.88);
    border-radius:16px;
    background:linear-gradient(135deg,rgba(240,249,252,.96),rgba(255,255,255,.94));
    box-shadow:0 10px 28px rgba(12,43,68,.055),inset 0 1px 0 rgba(255,255,255,.9);
  }
  .v20-nav a{
    padding:9px 12px!important;
    border-radius:11px;
    color:#355463!important;
    transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease!important;
  }
  .v20-nav a:after{display:none!important}
  .v20-nav a:hover{
    color:#0b3651!important;
    background:rgba(255,255,255,.94);
    box-shadow:0 8px 18px rgba(12,43,68,.08);
    transform:translateY(-1px) scale(1.025);
  }
  .v20-nav a.is-active{
    color:#0b3651!important;
    background:#fff;
    box-shadow:0 7px 18px rgba(12,43,68,.075),inset 0 -2px 0 #35b9e1;
  }
}
@media(min-width:901px) and (max-width:1120px){
  .v20-header-inner{gap:14px!important}
  .v20-nav{gap:2px!important;padding:4px!important}
  .v20-nav a{font-size:11.5px!important;padding:8px 7px!important}
  .v20-head-actions{gap:7px!important}
  .v20-head-actions>.v20-cta.small{padding-inline:11px!important}
}

/* Use the mobile menu on narrow tablets too, avoiding a squeezed desktop navigation around 821–900px. */
@media(min-width:821px) and (max-width:900px){
  .v20-header-inner{width:calc(100% - 32px)!important;grid-template-columns:1fr auto!important;gap:12px!important}
  .v20-nav,.v20-login,.v20-head-actions>.v20-cta{display:none!important}
  .v20-head-actions{grid-column:2!important;display:flex!important}
  .v20-menu-btn{display:grid!important}
}

/* Homepage gradient: more separation between tones without reducing readability. */
.v25-hero{
  background:
    radial-gradient(circle at 9% 42%,rgba(55,185,225,.23),transparent 34%),
    radial-gradient(circle at 78% 18%,rgba(29,108,188,.10),transparent 27%),
    radial-gradient(circle at 67% 82%,rgba(125,220,241,.13),transparent 29%),
    linear-gradient(122deg,#fbfeff 0%,#e7f6fc 37%,#fafdff 66%,#edf8fd 100%)!important;
}
.v25-hero:after{background:linear-gradient(100deg,rgba(22,152,207,.055),rgba(65,190,229,.16),rgba(255,255,255,0))!important}
.v45-medical-field{position:absolute;inset:0;pointer-events:none;z-index:1}
.v45-med-icon{position:absolute;width:48px;height:48px;color:#187ea7;opacity:.105;filter:drop-shadow(0 7px 14px rgba(10,75,105,.08));animation:v45MedicalFloat 8s ease-in-out infinite}
.v45-med-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.v45-med-icon.m1{left:43%;top:15%;width:45px;animation-delay:-1.2s}
.v45-med-icon.m2{left:8%;bottom:13%;width:52px;animation-delay:-3.4s}
.v45-med-icon.m3{right:7%;top:13%;width:55px;animation-delay:-5.1s}
.v45-med-icon.m4{right:34%;bottom:9%;width:54px;animation-delay:-2.2s}
.v45-med-icon.m5{left:37%;top:60%;width:62px;animation-delay:-6.2s}
@keyframes v45MedicalFloat{0%,100%{transform:translate3d(0,0,0) rotate(-2deg)}50%{transform:translate3d(0,-12px,0) rotate(3deg)}}
.v25-hero .v25-hero-tagline{margin-top:12px!important}
.v25-hero .v45-hero-desc{
  max-width:525px!important;
  margin:8px auto 0!important;
  color:#496a79!important;
  font-size:clamp(13px,.96vw,14.5px)!important;
  line-height:1.8!important;
  font-weight:450!important;
  opacity:1!important;
  transform:none!important;
  animation:v26HeroSubIn .72s cubic-bezier(.16,1,.3,1) .54s both!important;
}
html[dir="rtl"] .v25-hero .v45-hero-desc{font-size:clamp(13px,1vw,14.5px)!important;line-height:1.95!important}

/* Registration card hierarchy and field styling. */
.v45-register-page{
  background:
    radial-gradient(circle at 15% 15%,rgba(55,186,225,.13),transparent 31%),
    radial-gradient(circle at 88% 84%,rgba(29,108,188,.075),transparent 31%),
    linear-gradient(135deg,#f4fbfe 0%,#ffffff 52%,#eef8fd 100%)!important;
}
.v45-register-form{width:min(100%,570px)!important}
.v45-auth-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #e8f1f4}
.v45-auth-meta .v20-back,.v45-auth-meta .v20-kicker{margin:0!important;white-space:nowrap}
.v45-auth-meta .v20-back{padding:7px 9px;border-radius:10px;background:#f5fafc;color:#486674;transition:.2s ease}
.v45-auth-meta .v20-back:hover{background:#eaf7fb;color:#0e6f94;transform:translateY(-1px)}
.v45-register-title{
  color:#0d5270!important;
  font-weight:800!important;
  letter-spacing:-.035em!important;
  position:relative;
  display:inline-block;
  padding-bottom:8px;
}
.v45-register-title:after{content:"";position:absolute;inset-inline-start:0;bottom:0;width:68px;height:3px;border-radius:99px;background:linear-gradient(90deg,#21afd8,#7bd9ee)}
html[dir="rtl"] .v45-register-title{letter-spacing:0!important;font-weight:800!important}
.v45-study-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v45-study-fields label>span b{color:#d85664;font-size:11px}
.v45-register-form select{
  width:100%;min-height:46px;border:1px solid #d8e8ed;border-radius:13px;background:#fff;padding:10px 38px 10px 12px;color:var(--v20-ink);outline:none;appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#6a8793 50%),linear-gradient(135deg,#6a8793 50%,transparent 50%);
  background-position:calc(100% - 17px) 20px,calc(100% - 12px) 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
html[dir="rtl"] .v45-register-form select{padding:10px 12px 10px 38px;background-position:17px 20px,12px 20px}
.v45-register-form select:focus{border-color:#82d5e8;box-shadow:0 0 0 3px rgba(56,188,227,.1)}
.v45-password-rules{margin-top:-2px;padding:13px 14px;border:1px solid #dcecf1;border-radius:15px;background:linear-gradient(135deg,#f8fcfd,#fff)}
.v45-password-rules>strong{display:block;margin-bottom:9px;color:#355461;font-size:11px}
.v45-rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px}
.v45-rule-grid>span{display:flex;align-items:flex-start;gap:7px;color:#7b9099;font-size:10.5px;line-height:1.55;transition:color .2s ease}
.v45-rule-grid>span i{width:17px;height:17px;flex:0 0 17px;margin-top:1px;border-radius:50%;display:grid;place-items:center;background:#edf3f5;color:#9dafb7;font-size:9px;font-style:normal;transition:.2s ease}
.v45-rule-grid>span.is-valid{color:#157656;font-weight:700}
.v45-rule-grid>span.is-valid i{background:#dff5ec;color:#11835f;box-shadow:0 0 0 2px rgba(23,155,111,.08)}

@media(max-width:820px){
  .v45-med-icon{opacity:.08;width:40px!important}
  .v45-med-icon.m4,.v45-med-icon.m5{display:none}
  .v45-med-icon.m1{left:8%;top:17%}.v45-med-icon.m2{left:auto;right:8%;bottom:10%}.v45-med-icon.m3{right:12%;top:42%}
  .v25-hero .v45-hero-desc,html[dir="rtl"] .v25-hero .v45-hero-desc{max-width:380px!important;font-size:12.5px!important;line-height:1.8!important;margin-top:7px!important;padding-inline:6px}
  .v45-register-page{padding:10px!important;gap:10px!important}
  .v45-register-page .v20-auth-form-wrap{padding:8px 0 16px!important}
  .v45-register-page .v20-auth-form{padding:19px!important;border-radius:21px!important}
  .v45-register-page .v20-auth-visual{min-height:270px!important;border-radius:22px!important}
  .v45-register-page .v20-auth-art--brand{width:45%!important;height:auto!important;top:6%!important}
  .v45-register-page .v20-auth-copy{max-width:66%!important}
  .v45-auth-meta{gap:9px;align-items:center}
  .v45-auth-meta .v20-back{font-size:9.5px!important}
  .v45-auth-meta .v20-kicker{font-size:9px!important}
  .v45-study-fields{grid-template-columns:1fr 1fr}
  .v45-register-form input,.v45-register-form select{font-size:16px!important;min-height:49px!important}
  .v45-password-rules>strong{font-size:11px}
  .v45-rule-grid>span{font-size:10.5px}
}
@media(max-width:560px){
  .v45-register-page .v20-auth-visual{min-height:225px!important;padding:14px!important}
  .v45-register-page .v20-auth-art--brand{width:42%!important;opacity:.7!important;top:4%!important}
  .v45-register-page .v20-auth-copy{max-width:72%!important}
  .v45-register-page .v20-auth-copy p{font-size:10px!important;line-height:1.7!important}
  .v45-register-page .v20-auth-form{padding:17px 14px!important}
  .v45-study-fields,.v45-password-fields,.v45-rule-grid{grid-template-columns:1fr!important}
  .v45-auth-meta{align-items:stretch;flex-direction:column-reverse;gap:7px}
  .v45-auth-meta .v20-back{align-self:flex-start}
  html[dir="rtl"] .v45-auth-meta .v20-back{align-self:flex-start}
  .v45-register-title{font-size:25px!important}
  .v45-register-form form{gap:12px!important}
  .v45-password-rules{padding:12px}
  .v45-rule-grid{gap:6px}
}
@media(max-width:430px){
  .v25-hero .v45-hero-desc,html[dir="rtl"] .v25-hero .v45-hero-desc{font-size:12px!important;line-height:1.8!important;max-width:330px!important}
  .v45-register-page{padding:7px!important}
  .v45-register-page .v20-auth-visual{min-height:205px!important}
  .v45-register-page .v20-auth-art--brand{width:39%!important}
  .v45-register-page .v20-auth-copy{max-width:76%!important}
  .v45-register-page .v20-auth-form{padding:15px 12px!important;border-radius:18px!important}
  .v45-register-title{font-size:23px!important}
  .v45-auth-meta{padding-bottom:8px;margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){.v45-med-icon{animation:none!important}.v20-nav a{transition:none!important}.v45-auth-meta .v20-back{transition:none!important}}

/* =========================================================
   V47 — clearer auth fields, inline errors and password reveal
   ========================================================= */
.v20-auth-shell .v20-auth-form label>span{
  color:#2f4f5d;
  font-size:11px;
  font-weight:800;
  line-height:1.45;
}
.v20-auth-shell .v20-auth-form input,
.v20-auth-shell .v45-register-form select{
  min-height:50px;
  border-color:#c9dee6;
  background:#fff;
  color:#102f43;
  font-size:14px;
  font-weight:650;
  line-height:1.35;
  box-shadow:0 1px 0 rgba(15,62,83,.015);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.v20-auth-shell .v20-auth-form input::placeholder{
  color:#78909a;
  opacity:.86;
  font-weight:600;
}
.v20-auth-shell .v20-auth-form input:focus,
.v20-auth-shell .v45-register-form select:focus{
  border-color:#43b8da;
  box-shadow:0 0 0 4px rgba(48,180,218,.12);
  background:#fff;
}
.v47-password-control{position:relative;display:block}
.v47-password-control input{padding-inline-end:52px!important}
.v47-password-toggle{
  position:absolute;
  inset-inline-end:7px;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  padding:0;
  border:0;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:transparent;
  color:#557582;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.v47-password-toggle:hover{background:#edf8fb;color:#168fb7}
.v47-password-toggle:focus-visible{outline:2px solid #47b9d9;outline-offset:1px}
.v47-password-toggle .ui-icon{width:20px;height:20px}
.v47-password-toggle.is-visible:after{
  content:"";
  position:absolute;
  width:22px;
  height:2px;
  border-radius:99px;
  background:currentColor;
  transform:rotate(-42deg);
  opacity:.88;
}
.v47-field{min-width:0}
.v47-field.is-invalid input,
.v47-field.is-invalid select,
.v47-field.has-client-error input,
.v47-field.has-client-error select{
  border-color:#d94f5e!important;
  background:#fffafb!important;
  box-shadow:0 0 0 3px rgba(217,79,94,.09)!important;
}
.v47-field.is-invalid>span,
.v47-field.has-client-error>span{color:#a93643!important}
.v47-field-error{
  display:flex;
  align-items:flex-start;
  gap:6px;
  margin-top:1px;
  color:#b23d49;
  font-size:10.5px;
  font-weight:750;
  line-height:1.55;
}
.v47-field-error:before{
  content:"!";
  width:16px;
  height:16px;
  flex:0 0 16px;
  margin-top:1px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f9dfe2;
  color:#aa3341;
  font-size:10px;
  font-weight:900;
}
.v47-auth-alert{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:start;
  margin:15px 0 2px;
  padding:12px 13px;
  border:1px solid #efc1c7;
  border-radius:14px;
  background:linear-gradient(135deg,#fff7f8,#fff);
  color:#8f2f3a;
  box-shadow:0 8px 22px rgba(142,47,58,.055);
}
.v47-auth-alert>span{
  width:34px;
  height:34px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#fbe3e6;
  color:#a7313e;
  font-size:16px;
  font-weight:900;
}
.v47-auth-alert strong{display:block;font-size:11px;line-height:1.45}
.v47-auth-alert p{margin:3px 0 0;font-size:10.5px;line-height:1.55;color:#9b4a54}
.v20-auth-shell .v45-password-rules{border-color:#d4e6ec;background:linear-gradient(135deg,#f8fcfd,#fff)}
.v20-auth-shell .v45-password-rules>strong{color:#274b59;font-size:11.5px}
.v20-auth-shell .v45-rule-grid>span{color:#667f89;font-size:10.7px;font-weight:600}
.v20-auth-shell .v45-rule-grid>span.is-valid{color:#137151;font-weight:800}

@media(max-width:820px){
  .v20-auth-shell .v20-auth-form input,.v20-auth-shell .v45-register-form select{font-size:16px!important;min-height:50px!important}
  .v20-auth-shell .v20-auth-form label>span{font-size:11.5px}
  .v47-field-error{font-size:11px}
  .v47-password-toggle{width:40px;height:40px;inset-inline-end:6px}
  .v47-password-control input{padding-inline-end:53px!important}
}
@media(max-width:560px){
  .v47-auth-alert{grid-template-columns:30px minmax(0,1fr);padding:11px;margin-top:12px}
  .v47-auth-alert>span{width:30px;height:30px;border-radius:9px}
  .v47-auth-alert strong{font-size:11.5px}
  .v47-auth-alert p{font-size:11px}
  .v20-auth-shell .v45-rule-grid{grid-template-columns:1fr!important}
}
@media(max-width:390px){
  .v20-auth-shell .v20-auth-form label>span{font-size:11px}
  .v47-password-toggle{width:38px;height:38px}
  .v47-auth-alert{gap:8px;padding:10px}
}
@media(prefers-reduced-motion:reduce){.v47-password-toggle{transition:none}}

/* =========================================================
   V48 — country-aware mobile number field
   ========================================================= */
.v48-phone-field{display:block;min-width:0}
.v48-field-label{
  display:block;
  margin:0 0 7px;
  color:#2f4f5d;
  font-size:11px;
  font-weight:800;
  line-height:1.45;
}
.v48-phone-row{
  display:grid;
  grid-template-columns:minmax(174px,.8fr) minmax(0,1.35fr);
  gap:9px;
  align-items:stretch;
}
.v48-country-picker,.v48-phone-number-wrap{position:relative;display:block;min-width:0;margin:0!important}
.v48-country-picker select{
  width:100%!important;
  min-height:50px!important;
  height:50px;
  margin:0!important;
  padding-block:10px!important;
  color:#18384a!important;
  font-size:12px!important;
  font-weight:750!important;
  direction:ltr;
  text-align:left;
  white-space:nowrap;
}
.v48-country-picker select optgroup{font-weight:800;color:#355461}
.v48-country-picker select option{font-weight:650;color:#18384a}
.v48-phone-number-wrap{direction:ltr}
.v48-phone-number-wrap input{
  width:100%!important;
  min-height:50px!important;
  height:50px;
  margin:0!important;
  padding-left:70px!important;
  padding-right:13px!important;
  direction:ltr!important;
  text-align:left!important;
  letter-spacing:.02em;
  font-variant-numeric:tabular-nums;
}
.v48-phone-prefix{
  position:absolute;
  z-index:2;
  left:1px;
  top:1px;
  bottom:1px;
  width:59px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  margin:0!important;
  border-right:1px solid #d7e7ed;
  border-radius:12px 0 0 12px;
  background:linear-gradient(135deg,#f3fbfd,#f9fcfd);
  color:#176f91!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1!important;
  pointer-events:none;
}
.v48-phone-feedback{
  display:block;
  min-height:17px;
  margin-top:6px;
  color:#6b838e;
  font-size:10.5px;
  font-weight:620;
  line-height:1.55;
}
.v48-phone-feedback.is-valid{color:#137151;font-weight:750}
.v48-phone-feedback.v47-field-error{display:flex;color:#b23d49;font-weight:750}
.v48-phone-field.is-invalid .v48-country-picker select,
.v48-phone-field.has-client-error .v48-country-picker select{
  border-color:#c9dee6!important;
  background:#fff!important;
  box-shadow:none!important;
}
.v48-phone-field.is-invalid .v48-phone-number-wrap input,
.v48-phone-field.has-client-error .v48-phone-number-wrap input{
  border-color:#d94f5e!important;
  background:#fffafb!important;
  box-shadow:0 0 0 3px rgba(217,79,94,.09)!important;
}
.v48-phone-field.is-invalid .v48-phone-prefix,
.v48-phone-field.has-client-error .v48-phone-prefix{border-right-color:#efc2c8;background:#fff3f4;color:#a93643!important}
.v48-phone-field.is-invalid>.v48-field-label,
.v48-phone-field.has-client-error>.v48-field-label{color:#a93643!important}
.v48-visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media(max-width:820px){
  .v48-field-label{font-size:11.5px}
  .v48-country-picker select,.v48-phone-number-wrap input{font-size:16px!important;min-height:50px!important;height:50px}
  .v48-country-picker select{font-weight:700!important}
  .v48-phone-prefix{font-size:12.5px!important}
  .v48-phone-feedback{font-size:11px}
}
@media(max-width:560px){
  .v48-phone-row{grid-template-columns:minmax(136px,.72fr) minmax(0,1.28fr);gap:7px}
  .v48-country-picker select{padding-inline-start:10px!important;padding-inline-end:30px!important}
}
@media(max-width:390px){
  .v48-phone-row{grid-template-columns:1fr;gap:7px}
  .v48-country-picker select{width:100%!important}
  .v48-phone-feedback{margin-top:5px}
}
