:root{
  --accent:#1F8FE0;
  --accent-dark:#0E5FA3;
  --accent-darker:#0A4677;
  --accent-soft:#EAF4FE;
  --accent-ring:rgba(31,143,224,.16);

  --bg:#FFFFFF;
  --bg-soft:#F6F8FA;
  --bg-card:#FFFFFF;
  --bg-input:#F1F3F5;

  --text:#0F1B2D;
  --text-secondary:#54606F;
  --text-muted:#96A0AB;

  --border:#E7EBEF;
  --border-strong:#D6DCE2;

  --shadow-sm:0 2px 12px rgba(15,27,45,.05);
  --shadow-md:0 16px 40px rgba(15,27,45,.08);
  --shadow-lg:0 32px 72px rgba(15,27,45,.13);
  --shadow-accent:0 14px 32px rgba(31,143,224,.30);

  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:26px;
  --radius-xl:34px;
  --radius-full:9999px;

  --font-display:'IBM Plex Sans Arabic','Tajawal','Cairo',sans-serif;
  --font-body:'IBM Plex Sans Arabic','Tajawal','Cairo',sans-serif;

  --ease:cubic-bezier(.16,1,.3,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --t:.32s var(--ease);
  --t-slow:.7s var(--ease);

  --glow-rgb:31,143,224;
}

[data-theme="dark"]{
  --accent:#4EB4F2;
  --accent-dark:#1F8FE0;
  --accent-darker:#EAF4FE;
  --accent-soft:rgba(31,143,224,.14);
  --accent-ring:rgba(78,180,242,.22);

  --bg:#08090C;
  --bg-soft:#101216;
  --bg-card:#15171C;
  --bg-input:#1C1F25;

  --text:#F3F5F7;
  --text-secondary:#A2AAB4;
  --text-muted:#666E79;

  --border:#22252B;
  --border-strong:#2E323A;

  --shadow-sm:0 2px 12px rgba(0,0,0,.4);
  --shadow-md:0 16px 40px rgba(0,0,0,.5);
  --shadow-lg:0 32px 72px rgba(0,0,0,.6);
  --shadow-accent:0 14px 32px rgba(31,143,224,.4);

  --glow-rgb:78,180,242;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
html,body{overflow-x:hidden;width:100%;position:relative;}
*{max-width:100%;}
img{max-width:100%;}
body{
  font-family:var(--font-body);background:var(--bg);color:var(--text);
  line-height:1.68;transition:background var(--t-slow),color var(--t-slow);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit;}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.16;color:var(--text);letter-spacing:-.015em;}
h1{font-size:clamp(2.3rem,5.4vw,3.9rem);font-weight:800;}
h2{font-size:clamp(1.8rem,3.7vw,2.65rem);font-weight:800;}
h3{font-size:1.12rem;font-weight:700;}
em{font-style:normal;color:var(--accent-dark);}
[data-theme="dark"] em{color:var(--accent);}
p{color:var(--text-secondary);}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}

html[lang="en"] body{font-family:'Inter',var(--font-body),sans-serif;}
html[lang="en"] h1,html[lang="en"] h2,html[lang="en"] h3,html[lang="en"] h4{font-family:'Poppins',var(--font-display),sans-serif;}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

.site-loader{
  position:fixed;inset:0;z-index:99999;
  display:flex;align-items:center;justify-content:center;
  background:#FFFFFF;
  transition:opacity .55s var(--ease),visibility .55s var(--ease);
}
.site-loader.loader-hide{opacity:0;visibility:hidden;pointer-events:none;}
.loader-logo-wrap{
  position:relative;width:112px;height:112px;
  display:flex;align-items:center;justify-content:center;
  border-radius:30px;
}
.loader-logo{
  width:86px;height:86px;object-fit:contain;
  position:relative;z-index:2;
  animation:loaderFlash 1.1s ease-in-out infinite, loaderPop .65s var(--ease-spring);
}
.loader-logo-wrap::before{
  content:'';position:absolute;inset:-16px;border-radius:34px;
  background:radial-gradient(circle,rgba(31,143,224,.32),transparent 70%);
  filter:blur(8px);
  animation:loaderGlow 1.1s ease-in-out infinite;
  z-index:1;
}
@keyframes loaderFlash{
  0%,100%{opacity:1;filter:drop-shadow(0 0 0 rgba(31,143,224,0));}
  50%{opacity:.4;filter:drop-shadow(0 0 20px rgba(31,143,224,.5));}
}
@keyframes loaderGlow{
  0%,100%{opacity:.32;transform:scale(1);}
  50%{opacity:.8;transform:scale(1.14);}
}
@keyframes loaderPop{
  0%{opacity:0;transform:scale(.72);}
  100%{opacity:1;transform:scale(1);}
}
@media (prefers-reduced-motion: reduce){
  .loader-logo,.loader-logo-wrap::before{animation:none;}
}

.section-container{max-width:1200px;margin:0 auto;padding:128px 20px;}
.section-header{text-align:center;margin-bottom:68px;max-width:660px;margin-inline:auto;}
.section-header h2{margin:16px 0 16px;}
.section-header p{font-size:1.05rem;}
.section-tag{
  display:inline-flex;align-items:center;gap:8px;background:var(--accent-soft);color:var(--accent-dark);
  padding:7px 18px;border-radius:var(--radius-full);font-size:.75rem;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;border:1px solid transparent;
}
[data-theme="dark"] .section-tag{color:var(--accent);}

.reveal-up{opacity:0;transform:translateY(40px) scale(.99);filter:blur(6px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease);}
.reveal-left{opacity:0;transform:translateX(-46px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.reveal-right{opacity:0;transform:translateX(46px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.reveal-up.visible,.reveal-left.visible,.reveal-right.visible{opacity:1;transform:none;filter:blur(0);}

.btn-primary{
  position:relative;overflow:hidden;isolation:isolate;
  display:inline-flex;align-items:center;gap:9px;padding:15px 30px;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
  color:#fff;font-weight:700;font-size:.95rem;font-family:var(--font-display);
  border-radius:var(--radius-full);box-shadow:var(--shadow-accent);
  transition:transform .4s var(--ease-spring),box-shadow .4s var(--ease);white-space:nowrap;
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(31,143,224,.4);}
.btn-primary:active{transform:translateY(-1px) scale(.98);}
.btn-outline{
  display:inline-flex;align-items:center;gap:9px;padding:15px 30px;
  border:1.5px solid var(--border-strong);color:var(--text);font-weight:700;font-size:.95rem;font-family:var(--font-display);
  border-radius:var(--radius-full);background:var(--bg-card);transition:var(--t);white-space:nowrap;
}
.btn-outline:hover{border-color:var(--accent);color:var(--accent-dark);transform:translateY(-3px);box-shadow:var(--shadow-sm);}
[data-theme="dark"] .btn-outline:hover{color:var(--accent);}
.btn-lg{padding:17px 34px;font-size:1.02rem;}
.btn-white{background:#fff !important;color:var(--accent-dark) !important;box-shadow:0 12px 32px rgba(0,0,0,.2) !important;}
.btn-white:hover{background:var(--text) !important;color:#fff !important;}

.btn-ripple{position:relative;overflow:hidden;}
.ripple-el{position:absolute;border-radius:50%;background:rgba(255,255,255,.5);transform:scale(0);animation:rippleAnim .65s ease-out forwards;pointer-events:none;}
@keyframes rippleAnim{to{transform:scale(2.6);opacity:0;}}

/* Logo (يُستخدم في الفوتر) */
.logo{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.logo-mark{width:58px;height:58px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.logo-mark img{width:100%;height:100%;object-fit:contain;}
.logo-mark svg{width:58px;height:58px;}
.logo-text-wrap{display:flex;flex-direction:column;line-height:1;gap:4px;}
.logo-name{font-family:var(--font-display);font-size:1.34rem;font-weight:900;letter-spacing:-.02em;color:var(--text);direction:ltr;display:inline-block;}
.logo-name span{color:var(--accent);}
.logo-sub{display:inline-flex;align-items:center;gap:5px;font-size:.55rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);width:fit-content;}
.logo-sub::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--accent);flex-shrink:0;}

/* ===================== MedSky Floating Navbar (.msn) ===================== */
.msn,.msn-sheet{
  --msn-hover:rgba(15,27,45,.05);
  --msn-line:rgba(15,27,45,.08);
  --msn-active-bg:rgba(31,143,224,.09);
  --msn-ease:cubic-bezier(.16,1,.3,1);
}
[data-theme="dark"] .msn,[data-theme="dark"] .msn-sheet{
  --msn-hover:rgba(255,255,255,.07);
  --msn-line:rgba(255,255,255,.09);
  --msn-active-bg:rgba(78,180,242,.12);
}

.msn{
  --msn-h:64px;
  position:fixed;top:14px;inset-inline:0;margin-inline:auto;
  width:min(1120px,calc(100% - 32px));z-index:1000;
  border-radius:20px;
  background:rgba(255,255,255,.62);
  -webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);
  border:1px solid var(--msn-line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 30px rgba(15,27,45,.06);
  transition:top .3s var(--msn-ease),background .3s ease,box-shadow .3s ease,border-color .3s ease;
}
[data-theme="dark"] .msn{
  background:rgba(9,10,13,.6);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 34px rgba(0,0,0,.5);
}
.msn.scrolled{
  --msn-h:56px;top:10px;
  background:rgba(255,255,255,.84);
  -webkit-backdrop-filter:blur(24px) saturate(190%);backdrop-filter:blur(24px) saturate(190%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 12px 36px rgba(15,27,45,.09);
}
[data-theme="dark"] .msn.scrolled{
  background:rgba(5,6,8,.84);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 14px 40px rgba(0,0,0,.6);
}

.msn-bar{
  display:flex;align-items:center;gap:6px;
  height:var(--msn-h);padding-inline:16px 12px;
  transition:height .3s var(--msn-ease);
}

.msn-logo{display:flex;flex-shrink:0;width:38px;height:38px;margin-inline-end:10px;transition:transform .35s var(--msn-ease);}
.msn-logo:hover{transform:scale(1.06);}
.msn-logo img{width:100%;height:100%;object-fit:contain;}

.msn-links{display:flex;align-items:center;gap:2px;}
.msn-link{
  position:relative;padding:10px 14px;border-radius:12px;
  font-size:.875rem;font-weight:500;line-height:1;white-space:nowrap;
  color:var(--text-secondary);
  transition:color .2s ease,background .2s ease;
}
html[lang="en"] .msn-link{letter-spacing:.01em;}
.msn-link::after{
  content:'';position:absolute;bottom:3px;inset-inline:0;margin-inline:auto;
  width:16px;height:2px;border-radius:2px;background:var(--accent);
  transform:scaleX(0);opacity:0;
  transition:transform .3s var(--msn-ease),opacity .2s ease;
}
.msn-link:hover{color:var(--text);background:var(--msn-hover);}
.msn-link:hover::after{transform:scaleX(.5);opacity:.55;}
.msn-link[aria-current="page"]{color:var(--accent-dark);background:var(--msn-active-bg);}
[data-theme="dark"] .msn-link[aria-current="page"]{color:var(--accent);}
.msn-link[aria-current="page"]::after{transform:scaleX(1);opacity:1;}

.msn-tools{display:flex;align-items:center;gap:2px;margin-inline-start:auto;}
.msn-icon{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:12px;color:var(--text-secondary);
  transition:color .2s ease,background .2s ease;
}
.msn-icon:hover,.msn-lang.open .msn-icon{color:var(--text);background:var(--msn-hover);}
.msn-icon svg,.msn-login svg,.msn-close svg{
  width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
}

.msn-swap{position:relative;display:block;width:18px;height:18px;}
.msn-swap svg{position:absolute;inset:0;width:100%;height:100%;transition:opacity .3s ease,transform .45s var(--msn-ease);}
.msn-swap .ic-moon{opacity:0;transform:rotate(-70deg) scale(.5);}
[data-theme="dark"] .msn-swap .ic-sun{opacity:0;transform:rotate(70deg) scale(.5);}
[data-theme="dark"] .msn-swap .ic-moon{opacity:1;transform:none;}

.msn-sep{width:1px;height:18px;margin-inline:8px 4px;background:var(--msn-line);}

.msn-login{
  display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;
  font-size:.8125rem;font-weight:400;line-height:1;white-space:nowrap;color:var(--text-secondary);
  transition:color .2s ease;
}
.msn-login svg{width:15px;height:15px;stroke-width:1.7;opacity:.8;}
.msn-login:hover{color:var(--text);}

.msn-cta{
  margin-inline-start:6px;padding:10px 16px;border-radius:12px;
  font-size:.8125rem;font-weight:600;line-height:1;white-space:nowrap;color:#fff;
  background:linear-gradient(135deg,#1F8FE0,#0E5FA3);
  box-shadow:0 4px 12px rgba(31,143,224,.22);
  transition:transform .3s var(--msn-ease),box-shadow .3s ease;
}
.msn-cta:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(31,143,224,.3);}

.msn-lang{position:relative;}
.msn-menu{
  position:absolute;top:calc(100% + 12px);inset-inline-end:0;min-width:160px;padding:6px;
  display:flex;flex-direction:column;gap:2px;border-radius:16px;
  background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);
  border:1px solid var(--msn-line);box-shadow:0 18px 44px rgba(15,27,45,.12);
  opacity:0;visibility:hidden;transform:translateY(-6px) scale(.97);transform-origin:top;
  transition:opacity .2s ease,transform .28s var(--msn-ease),visibility 0s .28s;
}
[data-theme="dark"] .msn-menu{background:rgba(14,15,19,.96);box-shadow:0 18px 44px rgba(0,0,0,.6);}
.msn-lang.open .msn-menu{opacity:1;visibility:visible;transform:none;transition-delay:0s;}
.msn-menu button{
  display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;
  padding:10px 12px;border-radius:10px;text-align:start;
  font-size:.84rem;font-weight:500;color:var(--text-secondary);
  transition:background .2s ease,color .2s ease;
}
.msn-menu button:hover{background:var(--msn-hover);color:var(--text);}
.msn-menu button.active{color:var(--text);}
.msn-menu button.active::after{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);}

.msn-burger{
  display:none;position:relative;width:40px;height:40px;margin-inline-start:auto;
  border-radius:12px;color:var(--text);transition:background .2s ease;
}
.msn-burger:hover{background:var(--msn-hover);}
.msn-burger span{
  position:absolute;left:50%;top:50%;width:18px;height:1.8px;border-radius:2px;background:currentColor;
  transition:transform .35s var(--msn-ease);
}
.msn-burger span:nth-child(1){transform:translate(-50%,-4px);}
.msn-burger span:nth-child(2){transform:translate(-50%,4px);}
.msn-burger.active span:nth-child(1){transform:translate(-50%,0) rotate(45deg);}
.msn-burger.active span:nth-child(2){transform:translate(-50%,0) rotate(-45deg);}

.msn-sheet{
  position:fixed;inset:0;z-index:1001;
  visibility:hidden;opacity:0;pointer-events:none;
  transition:opacity .25s ease,visibility 0s .3s;
}
.msn-sheet.open{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;}
.msn-backdrop{position:absolute;inset:0;background:rgba(10,14,22,.3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.msn-panel{
  position:absolute;top:10px;inset-inline:0;margin-inline:auto;width:calc(100% - 24px);
  max-height:calc(100dvh - 20px);overflow-y:auto;padding:10px 12px 16px;border-radius:22px;
  background:rgba(255,255,255,.9);
  -webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%);
  border:1px solid var(--msn-line);box-shadow:0 24px 60px rgba(15,27,45,.18);
  transform:translateY(-10px) scale(.98);transform-origin:top;
  transition:transform .4s var(--msn-ease);
}
[data-theme="dark"] .msn-panel{background:rgba(9,10,13,.92);box-shadow:0 24px 60px rgba(0,0,0,.65);}
.msn-sheet.open .msn-panel{transform:none;}

.msn-panel-head{display:flex;align-items:center;justify-content:space-between;height:48px;padding-inline:4px;}
.msn-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;color:var(--text);transition:background .2s ease;}
.msn-close:hover{background:var(--msn-hover);}

.msn-mlinks{display:flex;flex-direction:column;gap:2px;margin:6px 0 10px;padding:0;}
.msn-mlink{
  display:flex;align-items:center;justify-content:space-between;padding:14px 14px;border-radius:14px;
  font-size:1rem;font-weight:500;color:var(--text);transition:background .2s ease,color .2s ease;
}
.msn-mlink:hover{background:var(--msn-hover);}
.msn-mlink[aria-current="page"]{background:var(--msn-active-bg);color:var(--accent-dark);}
[data-theme="dark"] .msn-mlink[aria-current="page"]{color:var(--accent);}
.msn-mlink[aria-current="page"]::after{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);}

.msn-mrow{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 14px;border-top:1px solid var(--msn-line);
  font-size:.9rem;font-weight:500;color:var(--text-secondary);
}
button.msn-mrow{width:100%;text-align:start;}
.msn-mrow .msn-row-end{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;color:var(--text);}
.msn-seg{display:inline-flex;padding:3px;border-radius:12px;background:var(--msn-hover);}
.msn-seg button{padding:7px 14px;border-radius:9px;font-size:.82rem;font-weight:500;color:var(--text-secondary);transition:background .2s ease,color .2s ease;}
.msn-seg button.active{background:var(--bg-card);color:var(--text);box-shadow:0 1px 4px rgba(15,27,45,.12);}

.msn-mactions{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:14px 4px 0;border-top:1px solid var(--msn-line);}
.msn-mactions .msn-cta{margin:0;padding:14px 16px;text-align:center;font-size:.92rem;border-radius:14px;}
.msn-mactions .msn-login{justify-content:center;padding:12px;font-size:.875rem;}

@media(max-width:1080px){
  .msn-link{padding:10px 10px;}
  .msn-bar{padding-inline:12px 10px;}
}
@media(max-width:960px){
  .msn{top:10px;width:calc(100% - 24px);border-radius:18px;}
  .msn-links,.msn-tools{display:none;}
  .msn-burger{display:inline-block;}
}
@media(max-width:480px){
  .msn{width:calc(100% - 16px);}
  .msn-panel{width:calc(100% - 16px);}
}
@media (prefers-reduced-motion: reduce){
  .msn,.msn *,.msn-sheet,.msn-sheet *{transition-duration:.001ms !important;}
}

/* ===================== Hero ===================== */
.hero-bg{position:absolute;inset:0;pointer-events:none;z-index:0;}

.hero-glow{
  position:absolute;
  top:-8%;
  left:50%;
  transform:translateX(-50%);
  width:min(1100px,92%);
  height:78%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 55% 42% at 50% 0%,
      rgba(var(--glow-rgb),.30) 0%,
      rgba(var(--glow-rgb),.16) 30%,
      rgba(var(--glow-rgb),.07) 55%,
      rgba(var(--glow-rgb),0) 78%);
  filter:blur(46px);
  opacity:.9;
  transition:opacity .6s var(--ease),background .6s var(--ease);
  animation:glowBreathe 9s ease-in-out infinite;
}
.hero-glow::after{
  content:'';
  position:absolute;
  top:6%;
  left:50%;
  transform:translateX(-50%);
  width:38%;
  height:34%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(var(--glow-rgb),.24) 0%, rgba(var(--glow-rgb),0) 72%);
  filter:blur(30px);
}
[data-theme="dark"] .hero-glow{opacity:.75;mix-blend-mode:screen;}
@keyframes glowBreathe{
  0%,100%{opacity:.85;}
  50%{opacity:1;}
}
@media(max-width:768px){
  .hero-glow{top:-4%;height:62%;filter:blur(34px);}
}
@media (prefers-reduced-motion: reduce){
  .hero-glow{animation:none;}
}

@keyframes orbFloat{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-32px) scale(1.06);}}
@keyframes dotPulse{0%,100%{box-shadow:0 0 0 0 rgba(31,143,224,.45);}50%{box-shadow:0 0 0 8px rgba(31,143,224,0);}}

/* ===================== Footer ===================== */
.footer{background:var(--bg-soft);border-top:1px solid var(--border);}
.footer-top{max-width:1220px;margin:0 auto;padding:80px 20px 54px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.4fr;gap:46px;text-align:center;}
.footer-brand .logo{margin-bottom:15px;justify-content:center;}
.footer-brand p{font-size:.88rem;max-width:280px;margin:16px auto;text-align:center;}
.social-links{display:flex;justify-content:center;align-items:center;gap:16px;margin:21px 0 0;flex-wrap:wrap;}
.social-links a{width:35px;height:35px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);display:grid;place-items:center;font-size:.8rem;color:var(--text-secondary);transition:var(--t);}
.social-links a:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-2px);}
.footer-links-group h4,.footer-contact h4{font-family:var(--font-display);font-size:.8rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--text);margin-bottom:19px;}
.footer-links-group ul,.footer-contact ul{display:flex;flex-direction:column;gap:11px;align-items:center;}
.footer-links-group a{font-size:.88rem;color:var(--text-secondary);transition:var(--t);}
.footer-links-group a:hover{color:var(--accent-dark);}
[data-theme="dark"] .footer-links-group a:hover{color:var(--accent);}
.footer-contact ul li{display:flex;align-items:flex-start;gap:8px;font-size:.88rem;color:var(--text-secondary);}
.footer-contact ul li i{color:var(--accent);margin-top:2px;flex-shrink:0;width:13px;}
.footer-contact ul li a{color:var(--text-secondary);transition:var(--t);}
.footer-contact ul li a:hover{color:var(--accent-dark);}
[data-theme="dark"] .footer-contact ul li a:hover{color:var(--accent);}
.footer-bottom{max-width:1220px;margin:0 auto;padding:23px 20px;border-top:1px solid var(--border);text-align:center;}
.footer-bottom p{font-size:.82rem;color:var(--text-muted);}

.back-to-top{
  position:fixed;bottom:28px;right:28px;width:46px;height:46px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);color:#fff;
  border-radius:50%;display:grid;place-items:center;font-size:.9rem;box-shadow:var(--shadow-accent);
  opacity:0;pointer-events:none;transform:translateY(14px);transition:var(--t);z-index:999;
}
.back-to-top.show{opacity:1;pointer-events:auto;}
.back-to-top:hover{transform:translateY(-4px) scale(1.07);}

.footer-modal-overlay{position:fixed;inset:0;z-index:2000;background:rgba(8,10,14,.6);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .35s var(--ease);}
.footer-modal-overlay.open{opacity:1;pointer-events:auto;}
.footer-modal-box{
  position:relative;width:100%;max-width:570px;max-height:82vh;overflow-y:auto;background:rgba(255,255,255,.92);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:42px 36px 36px;
  transform:translateY(26px) scale(.97);opacity:0;transition:transform .4s var(--ease),opacity .4s var(--ease);
}
[data-theme="dark"] .footer-modal-box{background:rgba(21,23,28,.94);}
.footer-modal-overlay.open .footer-modal-box{transform:translateY(0) scale(1);opacity:1;}
.footer-modal-close{position:absolute;top:16px;left:16px;width:37px;height:37px;border-radius:50%;background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:var(--t);}
.footer-modal-close:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:rotate(90deg);}
.footer-modal-icon{width:56px;height:56px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.38rem;margin-bottom:19px;box-shadow:var(--shadow-accent);}
.footer-modal-title{margin-bottom:17px;font-size:1.26rem;}
.footer-modal-body{font-size:.92rem;line-height:1.88;color:var(--text-secondary);}
.footer-modal-body p{margin-bottom:12px;font-size:.92rem;line-height:1.88;}
.footer-modal-body ul{display:flex;flex-direction:column;gap:10px;margin:6px 0 14px;}
.footer-modal-body ul li{display:flex;align-items:flex-start;gap:10px;background:var(--bg-soft);border-radius:var(--radius-sm);padding:12px 15px;font-size:.88rem;}
.footer-modal-body ul li i{color:var(--accent);margin-top:2px;flex-shrink:0;}
.footer-modal-body ul li strong{color:var(--text);}
.footer-modal-body h4{font-size:.95rem;color:var(--text);margin:18px 0 8px;}
.footer-modal-body h4:first-child{margin-top:0;}
.footer-modal-badge{display:inline-flex;align-items:center;gap:6px;background:var(--accent-soft);color:var(--accent-dark);font-size:.76rem;font-weight:700;padding:4px 12px;border-radius:var(--radius-full);margin-bottom:14px;}
[data-theme="dark"] .footer-modal-badge{color:var(--accent);}
.footer-modal-actions{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap;}
.footer-modal-actions a{display:inline-flex;align-items:center;gap:8px;padding:12px 23px;border-radius:var(--radius-full);font-weight:700;font-size:.85rem;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);color:#fff;box-shadow:var(--shadow-accent);transition:var(--t);}
.footer-modal-actions a:hover{transform:translateY(-2px);}
.footer-modal-actions a.secondary{background:var(--bg-input);color:var(--text);box-shadow:none;border:1px solid var(--border);}
.footer-modal-actions a.secondary:hover{border-color:var(--accent);color:var(--accent-dark);}
[data-theme="dark"] .footer-modal-actions a.secondary:hover{color:var(--accent);}

@media(max-width:1100px){
  .footer-top{grid-template-columns:1fr 1fr 1fr;}
  .footer-brand{grid-column:1/-1;}
}
@media(max-width:768px){
  .section-container{padding:80px 16px;}
  .footer-top{grid-template-columns:1fr;gap:28px;}
  .logo-name{font-size:1.13rem;}
}

/* ===================== Page Hero ===================== */
.page-hero{min-height:auto;display:flex;align-items:center;position:relative;overflow:hidden;padding:158px 20px 84px;}
.page-hero .hero-bg{position:absolute;inset:0;pointer-events:none;z-index:0;}

.ph-inner{position:relative;z-index:1;max-width:960px;margin:0 auto;width:100%;display:flex;flex-direction:column;align-items:center;gap:52px;}
.ph-text{text-align:center;display:flex;flex-direction:column;align-items:center;}
.ph-text h1{margin-bottom:20px;}
.ph-text p{font-size:1.05rem;line-height:1.9;max-width:560px;margin:0 auto 34px;}
.ph-cta{display:flex;gap:13px;flex-wrap:wrap;justify-content:center;}

.ph-kicker{
  display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid var(--border);padding:9px 19px;border-radius:var(--radius-full);font-size:.8rem;font-weight:700;color:var(--accent-dark);
  margin-bottom:22px;box-shadow:var(--shadow-sm);
}
[data-theme="dark"] .ph-kicker{background:rgba(21,23,28,.7);color:var(--accent);}
.ph-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:dotPulse 2.2s ease-in-out infinite;flex-shrink:0;}
.ph-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.5;}
.ph-orb-1{width:480px;height:480px;background:radial-gradient(circle,rgba(31,143,224,.17),transparent 70%);top:-190px;right:-140px;animation:orbFloat 13s ease-in-out infinite;}
.ph-orb-2{width:380px;height:380px;background:radial-gradient(circle,rgba(31,143,224,.11),transparent 70%);bottom:-160px;left:-120px;animation:orbFloat 16s ease-in-out infinite reverse;}
.ph-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:58px 58px;opacity:.5;
  mask-image:radial-gradient(circle at 60% 30%, black 0%, transparent 65%);
}

.page-hero .btn-p,.page-hero .btn-wa{position:relative;isolation:isolate;}
.page-hero .btn-p::after,.page-hero .btn-wa::after{
  content:'';position:absolute;inset:-1px;border-radius:inherit;z-index:-1;opacity:0;
  background:inherit;filter:blur(16px);transition:opacity .4s var(--ease);
}
.page-hero .btn-p:hover::after,.page-hero .btn-wa:hover::after{opacity:.65;}
.page-hero .btn-p:active,.page-hero .btn-wa:active{transform:translateY(-1px) scale(.97);}

.ph-visual{position:relative;width:100%;max-width:1000px;}

.tabs-nav{background:var(--bg-card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:900;backdrop-filter:blur(16px);}
.tabs-inner{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;overflow-x:auto;scrollbar-width:none;}
.tabs-inner::-webkit-scrollbar{display:none;}
.tab-btn{padding:18px 22px;font-size:.87rem;font-weight:700;font-family:var(--font-display);
  color:var(--text-muted);white-space:nowrap;border-bottom:3px solid transparent;transition:var(--t);flex-shrink:0;}
.tab-btn:hover{color:var(--accent-dark);}
[data-theme="dark"] .tab-btn:hover{color:var(--accent);}
.tab-btn.active{color:var(--accent-dark);border-bottom-color:var(--accent);}
[data-theme="dark"] .tab-btn.active{color:var(--accent);}
.tab-btn i{margin-left:6px;}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

.sec{padding:96px 20px;}
.sec:nth-of-type(even){background:var(--bg-soft);}
.wrap{max-width:1200px;margin:0 auto;}
.sec-head{text-align:center;max-width:680px;margin:0 auto 52px;}
.sec-head h2{margin:16px 0 16px;}
.sec-head p{font-size:1.02rem;}
.tag{
  display:inline-flex;align-items:center;gap:8px;background:var(--accent-soft);color:var(--accent-dark);
  padding:7px 18px;border-radius:var(--radius-full);font-size:.78rem;font-weight:800;letter-spacing:.03em;
}
[data-theme="dark"] .tag{color:var(--accent);}

.diplomas-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;max-width:900px;margin-inline:auto;}

.diploma-card{
  display:flex;flex-direction:column;flex:1 1 380px;max-width:420px;
  background:var(--bg-card);border:1px solid var(--border);border-radius:18px;overflow:hidden;
  transition:transform .38s var(--ease-spring),box-shadow .38s var(--ease),border-color .38s var(--ease);
}
.diploma-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--border-strong);}

.dc-img{position:relative;height:170px;overflow:hidden;flex-shrink:0;}
.dc-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.diploma-card:hover .dc-img img{transform:scale(1.08);}
.dc-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.28),transparent 55%);}

.dc-ribbon{
  position:absolute;top:8px;left:8px;padding:3px 10px;border-radius:var(--radius-full);
  font-size:.58rem;font-weight:800;color:#fff;letter-spacing:.02em;box-shadow:0 4px 10px rgba(0,0,0,.18);z-index:1;
}
.dc-ribbon.rib-g{background:linear-gradient(135deg,#10b981,#34d399);}
.dc-ribbon.rib-b{background:linear-gradient(135deg,var(--accent),var(--accent-dark));}

.dc-body{padding:20px;display:flex;flex-direction:column;flex:1;}
.dc-cat{display:inline-flex;align-items:center;gap:5px;font-size:.62rem;font-weight:800;letter-spacing:.02em;color:var(--accent-dark);margin-bottom:5px;}
[data-theme="dark"] .dc-cat{color:var(--accent);}
.dc-body h3{font-size:1.1rem;font-weight:700;line-height:1.3;margin-bottom:5px;}
.dc-body>p{font-size:.9rem;line-height:1.5;color:var(--text-secondary);margin-bottom:10px;}

.dc-metas{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:11px;}
.dc-m{
  display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;color:var(--text-secondary);
  background:var(--bg-soft);border:1px solid var(--border);padding:6px 10px;border-radius:var(--radius-full);
}
.dc-m i{color:var(--accent);font-size:.6rem;}

.dc-foot{display:flex;align-items:center;justify-content:space-between;padding-top:10px;margin-top:auto;border-top:1px solid var(--border);}
.dc-rating{display:flex;align-items:center;gap:2px;color:var(--accent);font-size:.66rem;}
.dc-rating span{color:var(--text-muted);margin-right:3px;font-size:.64rem;}

.btn-enroll{
  display:inline-flex;align-items:center;gap:5px;padding:6px 12px;font-size:.68rem;font-weight:800;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;border-radius:var(--radius-full);
  box-shadow:0 6px 16px rgba(31,143,224,.28);transition:transform .35s var(--ease-spring),box-shadow .35s var(--ease);
}
.btn-enroll:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(31,143,224,.38);}

.path-div{display:flex;align-items:center;gap:14px;margin-bottom:44px;}
.pd-line{flex:1;height:1px;background:var(--border);}
.pd-badge{display:flex;align-items:center;gap:9px;background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  color:#fff;padding:11px 21px;border-radius:var(--radius-full);font-weight:700;font-size:.875rem;
  box-shadow:var(--shadow-accent);white-space:nowrap;}

.lv-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:30px;margin-bottom:22px;transition:var(--t);}
.lv-card:hover{box-shadow:var(--shadow-md);}
.lv-head{display:flex;align-items:center;gap:13px;margin-bottom:18px;}
.lv-num{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  display:grid;place-items:center;color:#fff;font-weight:800;font-size:.95rem;flex-shrink:0;box-shadow:var(--shadow-accent);}
.lv-title h3{font-size:1.04rem;margin-bottom:3px;}
.lv-title span{font-size:.78rem;color:var(--text-muted);}
.lv-desc{font-size:.9rem;margin-bottom:16px;padding:13px 16px;background:var(--bg-soft);
  border-radius:var(--radius-md);border-right:3px solid var(--accent);color:var(--text-secondary);}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;}
.ll{display:flex;flex-direction:column;gap:9px;}
.ll .li{display:flex;align-items:flex-start;gap:9px;font-size:.875rem;color:var(--text-secondary);}
.ll .li i{color:var(--accent);font-size:.7rem;margin-top:5px;flex-shrink:0;}

.grad-top-bar{background:var(--accent-soft);border-color:var(--accent);}

.files-g{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.fc{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;transition:var(--t);}
.fc:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--accent);}
.fc-ico{width:46px;height:46px;border-radius:var(--radius-md);display:grid;place-items:center;font-size:1.1rem;color:#fff;margin-bottom:12px;background:linear-gradient(135deg,var(--accent),var(--accent-dark));}
.fc-ico.i1{background:linear-gradient(135deg,#0A85C2,#00B4D8);}
.fc-ico.i2{background:linear-gradient(135deg,#023E8A,#0096C7);}
.fc-ico.i3{background:linear-gradient(135deg,#7c3aed,#a78bfa);}
.fc-ico.i4{background:linear-gradient(135deg,#10b981,#34d399);}
.fc-ico.i5{background:linear-gradient(135deg,#f59e0b,#fbbf24);}
.fc-ico.i6{background:linear-gradient(135deg,#0e5fa3,#1f8fe0);}
.fc h4{font-size:.92rem;margin-bottom:5px;color:var(--text);}
.fc p{font-size:.82rem;}
.fc .ftag{display:inline-block;margin-top:9px;padding:3px 11px;background:var(--accent-soft);color:var(--accent-dark);
  border-radius:var(--radius-full);font-size:.7rem;font-weight:700;}
[data-theme="dark"] .fc .ftag{color:var(--accent);}

.adv-c{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px;
  margin-bottom:18px;display:flex;gap:18px;align-items:flex-start;transition:var(--t);}
.adv-c:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.adv-num{width:42px;height:42px;background:linear-gradient(135deg,var(--accent),var(--accent-dark));border-radius:50%;
  display:grid;place-items:center;color:#fff;font-weight:800;font-size:.9rem;flex-shrink:0;}
.adv-body h4{font-size:.97rem;margin-bottom:7px;color:var(--text);}
.adv-body p{font-size:.875rem;}

.ben-strip{background:linear-gradient(135deg,var(--accent),var(--accent-dark));border-radius:var(--radius-xl);
  padding:36px 44px;margin-top:38px;position:relative;overflow:hidden;}
.ben-strip h3{color:#fff;font-size:1.1rem;margin-bottom:22px;position:relative;z-index:1;}
.ben-g{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;position:relative;z-index:1;}
.ben-i{display:flex;align-items:flex-start;gap:11px;}
.ben-ico{width:36px;height:36px;background:rgba(255,255,255,.16);border-radius:9px;display:grid;place-items:center;color:#fff;flex-shrink:0;}
.ben-i strong{display:block;color:#fff;font-size:.87rem;margin-bottom:2px;}
.ben-i span{font-size:.78rem;color:rgba(255,255,255,.78);}

.sys-g{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.sys-c{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px;transition:var(--t);}
.sys-c:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.sys-ico{width:50px;height:50px;border-radius:var(--radius-md);display:grid;place-items:center;font-size:1.15rem;color:#fff;margin-bottom:14px;}
.sys-c h4{font-size:.97rem;margin-bottom:9px;color:var(--text);}
.sys-l{display:flex;flex-direction:column;gap:7px;margin-top:7px;}
.sys-l li{display:flex;align-items:flex-start;gap:7px;font-size:.855rem;color:var(--text-secondary);}
.sys-l li i{color:var(--accent);margin-top:3px;flex-shrink:0;}

.specs-g{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.sp-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;text-align:center;transition:var(--t);}
.sp-box:hover{border-color:var(--accent);transform:translateY(-3px);}
.sp-box i{font-size:1.5rem;color:var(--accent);margin-bottom:9px;display:block;}
.sp-box strong{display:block;font-size:1.05rem;font-weight:800;color:var(--text);margin-bottom:3px;}
.sp-box span{font-size:.78rem;color:var(--text-muted);}

.axis-c{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px;margin-bottom:22px;}
.axis-h{display:flex;align-items:center;gap:13px;margin-bottom:16px;}
.axis-ico{width:46px;height:46px;border-radius:var(--radius-md);display:grid;place-items:center;font-size:1.05rem;color:#fff;flex-shrink:0;}
.axis-h h3{font-size:1.02rem;margin-bottom:3px;}
.axis-h span{font-size:.78rem;color:var(--text-muted);}

.gift-c{background:linear-gradient(135deg,rgba(245,158,11,.09),rgba(251,191,36,.05));border:1.5px solid rgba(245,158,11,.28);
  border-radius:var(--radius-xl);padding:36px 44px;}
.gift-h{display:flex;align-items:center;gap:14px;margin-bottom:24px;}
.gift-ico{width:52px;height:52px;background:linear-gradient(135deg,#f59e0b,#fbbf24);border-radius:var(--radius-md);
  display:grid;place-items:center;font-size:1.3rem;color:#fff;flex-shrink:0;}
.gift-h h3{font-size:1.2rem;color:var(--text);}
.gift-h p{font-size:.85rem;color:var(--text-muted);}
.gift-g{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.gl{display:flex;align-items:flex-start;gap:10px;background:var(--bg-card);border-radius:var(--radius-md);padding:14px;}
.gl i{color:#f59e0b;font-size:.95rem;flex-shrink:0;margin-top:2px;}
.gl h4{font-size:.87rem;color:var(--text);margin-bottom:2px;}
.gl p{font-size:.8rem;}

.req-g{display:flex;gap:18px;flex-wrap:wrap;}
.req-i{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:14px 18px;flex:1;min-width:160px;}
.req-i .ri-ico{width:34px;height:34px;background:var(--accent-soft);color:var(--accent-dark);border-radius:9px;
  display:grid;place-items:center;font-size:.88rem;flex-shrink:0;}
[data-theme="dark"] .req-i .ri-ico{color:var(--accent);}
.req-i strong{display:block;font-size:.85rem;color:var(--text);}
.req-i span{font-size:.78rem;color:var(--text-muted);}

.cert-g{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.cert-g-center{grid-template-columns:minmax(0,360px);justify-content:center;}
.cert-c{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:26px;text-align:center;transition:var(--t);}
.cert-c:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.cert-ico{width:60px;height:60px;background:linear-gradient(135deg,var(--accent),var(--accent-dark));border-radius:50%;
  display:grid;place-items:center;font-size:1.4rem;color:#fff;margin:0 auto 14px;box-shadow:var(--shadow-accent);}
.cert-c h4{font-size:.97rem;margin-bottom:7px;}
.cert-c p{font-size:.85rem;}

.mentor-embed{background:linear-gradient(135deg,var(--accent-soft),rgba(0,180,216,.05));border:1.5px solid var(--border);
  border-radius:var(--radius-xl);padding:40px;margin-top:8px;}
.mentor-embed-head{display:flex;align-items:center;gap:16px;margin-bottom:28px;}
.me-ico{width:58px;height:58px;background:linear-gradient(135deg,#f59e0b,#fbbf24);border-radius:var(--radius-md);
  display:grid;place-items:center;font-size:1.4rem;color:#fff;flex-shrink:0;box-shadow:0 6px 18px rgba(245,158,11,.3);}
.me-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,rgba(245,158,11,.16),rgba(251,191,36,.09));
  color:#d97706;border:1px solid rgba(245,158,11,.26);padding:4px 12px;border-radius:var(--radius-full);font-size:.73rem;font-weight:700;margin-bottom:6px;}
.mentor-embed-head h3{font-size:1.25rem;}
.mentor-embed-head p{font-size:.87rem;color:var(--text-muted);}
.mt-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.mt-i{display:flex;align-items:flex-start;gap:13px;}
.mt-ico{width:40px;height:40px;background:var(--accent-soft);border-radius:var(--radius-sm);display:grid;place-items:center;
  color:var(--accent-dark);font-size:.95rem;flex-shrink:0;transition:var(--t);}
[data-theme="dark"] .mt-ico{color:var(--accent);}
.mt-i:hover .mt-ico{background:var(--accent);color:#fff;transform:scale(1.1) rotate(-5deg);}
.mt-i h4{font-size:.9rem;color:var(--text);margin-bottom:2px;}
.mt-i p{font-size:.83rem;}

.vid-prev{display:flex;align-items:center;gap:14px;margin-top:26px;padding:18px 22px;background:var(--bg-soft);
  border-radius:var(--radius-lg);border:1px solid var(--border);}
.vp-play{width:50px;height:50px;background:linear-gradient(135deg,var(--accent),var(--accent-dark));border-radius:50%;
  display:grid;place-items:center;color:#fff;font-size:1.05rem;flex-shrink:0;box-shadow:var(--shadow-accent);transition:var(--t);}
.vp-play:hover{transform:scale(1.1);}
.vid-prev strong{display:block;font-size:.92rem;color:var(--text);}
.vid-prev span{font-size:.8rem;color:var(--text-muted);}
.vid-prev .va-link{margin-right:auto;font-size:.82rem;font-weight:700;color:var(--accent-dark);}
[data-theme="dark"] .vid-prev .va-link{color:var(--accent);}
.vid-prev .va-link:hover{text-decoration:underline;}

.btn-whatsapp,.btn-wa,.btn-cta-wa{display:inline-flex;align-items:center;gap:8px;padding:15px 30px;background:linear-gradient(135deg,#25D366,#128C7E);
  color:#fff;font-weight:700;font-size:.95rem;font-family:var(--font-display);border-radius:var(--radius-full);
  box-shadow:0 14px 32px rgba(37,211,102,.3);transition:transform .4s var(--ease-spring),box-shadow .35s var(--ease);white-space:nowrap;}
.btn-whatsapp:hover,.btn-wa:hover,.btn-cta-wa:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(37,211,102,.42);}

.btn-p{
  display:inline-flex;align-items:center;gap:9px;padding:15px 30px;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
  color:#fff;font-weight:700;font-size:.95rem;font-family:var(--font-display);
  border-radius:var(--radius-full);box-shadow:var(--shadow-accent);
  transition:transform .4s var(--ease-spring),box-shadow .4s var(--ease);white-space:nowrap;
}
.btn-p:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(31,143,224,.4);}

.cta-b{
  max-width:820px;margin:60px auto 0;background:linear-gradient(135deg,var(--text) 0%,#182739 100%);
  border-radius:var(--radius-xl);padding:60px 44px;text-align:center;position:relative;overflow:hidden;
}
[data-theme="dark"] .cta-b{background:linear-gradient(135deg,var(--accent-dark) 0%,var(--accent-darker) 100%);}
.cta-b::before{
  content:'';position:absolute;width:420px;height:420px;background:rgba(31,143,224,.3);border-radius:50%;
  filter:blur(90px);top:-210px;left:50%;transform:translateX(-50%);pointer-events:none;
}
.cta-b h2{color:#fff;margin-bottom:12px;position:relative;z-index:1;}
.cta-b p{color:rgba(255,255,255,.8);max-width:480px;margin:0 auto 30px;position:relative;z-index:1;}
.cta-b-btns{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;position:relative;z-index:1;}

@media(max-width:1024px){
  .specs-g{grid-template-columns:repeat(2,1fr);}
  .ben-g{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:860px){
  .ph-inner{gap:74px;}
  .two-col{grid-template-columns:1fr;}
  .files-g{grid-template-columns:1fr;}
  .sys-g{grid-template-columns:1fr;}
  .gift-g{grid-template-columns:1fr;}
  .cert-g{grid-template-columns:1fr;}
  .ben-g{grid-template-columns:1fr;}
  .mt-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .specs-g{grid-template-columns:1fr 1fr;}
  .req-g{flex-direction:column;}
  .vid-prev{flex-wrap:wrap;gap:10px;}
  .vid-prev .va-link{margin-right:0;width:100%;text-align:center;}
  .ben-strip{padding:26px 20px;}
  .page-hero{padding:130px 16px 50px;}
  .sec{padding:70px 16px;}
  .cta-b{padding:44px 24px;}
}
@media(max-width:480px){
  .specs-g{grid-template-columns:1fr;}
  .tabs-inner{gap:0;}
  .tab-btn{padding:14px 14px;font-size:.8rem;}
  .path-div{flex-direction:column;gap:10px;text-align:center;}
  .pd-line{width:60px;height:1px;}
  .gift-c{padding:24px 18px;}
  .mentor-embed{padding:26px 18px;}
  .diplomas-grid{max-width:300px;}
  .diploma-card{max-width:100%;flex:1 1 100%;}
}

/* ===================== Dashboard (msky) ===================== */
.msky-dash{
  position:relative;
  padding:44px 40px 36px;
  border-radius:var(--radius-xl);
  background:linear-gradient(165deg,rgba(255,255,255,.72),rgba(255,255,255,.32));
  border:1px solid rgba(255,255,255,.6);
  box-shadow:var(--shadow-lg);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  overflow:hidden;
  isolation:isolate;
}
[data-theme="dark"] .msky-dash{
  background:linear-gradient(165deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  border-color:rgba(255,255,255,.09);
}

.msky-dash-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;border-radius:inherit;}
.msky-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;}
.msky-blob-1{width:340px;height:340px;background:radial-gradient(circle,rgba(31,143,224,.30),transparent 70%);top:-140px;right:-90px;animation:mskyFloat 12s ease-in-out infinite;}
.msky-blob-2{width:280px;height:280px;background:radial-gradient(circle,rgba(31,143,224,.16),transparent 70%);bottom:-120px;left:-80px;animation:mskyFloat 15s ease-in-out infinite reverse;}
@keyframes mskyFloat{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-26px) scale(1.07);}}

.msky-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:46px 46px;opacity:.4;
  mask-image:radial-gradient(circle at 50% 20%, black 0%, transparent 68%);
}

.msky-shape{position:absolute;border:1.5px solid var(--accent);opacity:.22;}
.msky-shape-1{width:26px;height:26px;border-radius:8px;top:16%;left:8%;transform:rotate(18deg);animation:mskySpin 14s linear infinite;}
.msky-shape-2{width:16px;height:16px;border-radius:50%;bottom:22%;right:10%;animation:mskyFloat 9s ease-in-out infinite;}
.msky-shape-3{width:20px;height:20px;border-radius:6px;top:60%;left:4%;transform:rotate(-12deg);animation:mskySpin 18s linear infinite reverse;}
@keyframes mskySpin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}

.msky-anim{opacity:0;transform:translateY(26px) scale(.98);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.msky-dash.in-view .msky-anim{opacity:1;transform:none;}

.msky-head{position:relative;z-index:1;text-align:center;margin-bottom:34px;}
.msky-badge{
  display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.7);
  border:1px solid var(--border);color:var(--accent-dark);font-weight:700;font-size:.76rem;
  padding:7px 16px;border-radius:var(--radius-full);margin-bottom:14px;box-shadow:var(--shadow-sm);
}
[data-theme="dark"] .msky-badge{background:rgba(21,23,28,.7);color:var(--accent);}
.msky-title{font-size:clamp(1.25rem,2.6vw,1.55rem);margin-bottom:8px;}
.msky-sub{font-size:.86rem;max-width:420px;margin:0 auto;line-height:1.75;}

.msky-body{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.35fr;gap:20px;margin-bottom:22px;}

.msky-ring-card{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;
  padding:26px 20px;border-radius:var(--radius-lg);
  background:linear-gradient(165deg,rgba(255,255,255,.82),rgba(255,255,255,.5));
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 4px 18px rgba(15,27,45,.05);
  transition:transform .45s var(--ease-spring),box-shadow .45s var(--ease);
}
[data-theme="dark"] .msky-ring-card{
  background:linear-gradient(165deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  border-color:rgba(255,255,255,.08);
}
.msky-ring-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}

.msky-ring-wrap{position:relative;width:150px;height:150px;flex-shrink:0;}
.msky-ring{width:100%;height:100%;transform:rotate(-90deg);}
.msky-ring-track{fill:none;stroke:var(--border-strong);stroke-width:10;}
.msky-ring-fill{
  fill:none;stroke:url(#mskyRingGrad);stroke-width:10;stroke-linecap:round;
  stroke-dasharray:439.8;stroke-dashoffset:439.8;
  transition:stroke-dashoffset 1.6s var(--ease);
}
.msky-ring-center{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  flex-direction:row;gap:2px;font-family:var(--font-display);
}
.msky-ring-num{font-size:2.1rem;font-weight:800;color:var(--text);}
.msky-ring-pct{font-size:1.1rem;font-weight:800;color:var(--accent-dark);align-self:flex-start;margin-top:6px;}
[data-theme="dark"] .msky-ring-pct{color:var(--accent);}

.msky-ring-info{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;}
.msky-ring-stage{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:700;color:var(--text-secondary);}
.msky-ring-stage i{color:var(--accent);}

.msky-btn-continue{
  position:relative;overflow:hidden;isolation:isolate;
  display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-size:.8rem;font-weight:700;
  font-family:var(--font-display);color:#fff;border-radius:var(--radius-full);
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
  box-shadow:0 10px 24px rgba(31,143,224,.3);
  transition:transform .4s var(--ease-spring),box-shadow .35s var(--ease);
}
.msky-btn-continue:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(31,143,224,.4);}
.msky-btn-continue:active{transform:translateY(0) scale(.97);}

.msky-stages-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.msky-stage-card{
  position:relative;padding:18px;border-radius:var(--radius-md);
  background:linear-gradient(165deg,rgba(255,255,255,.82),rgba(255,255,255,.5));
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 4px 18px rgba(15,27,45,.05);
  transition:transform .4s var(--ease-spring),box-shadow .4s var(--ease),border-color .4s var(--ease);
}
[data-theme="dark"] .msky-stage-card{
  background:linear-gradient(165deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  border-color:rgba(255,255,255,.08);
}
.msky-stage-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}

.msky-stage-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;}
.msky-stage-ico{
  width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  font-size:1.15rem;background:var(--bg-soft);border:1px solid var(--border);
  transition:transform .4s var(--ease-spring);
}
.msky-stage-card:hover .msky-stage-ico{transform:scale(1.1) rotate(-4deg);}

.msky-stage-badge{
  display:inline-flex;align-items:center;gap:5px;font-size:.65rem;font-weight:800;
  padding:4px 10px;border-radius:var(--radius-full);white-space:nowrap;
}
.badge-completed{background:rgba(16,185,129,.14);color:#0d9668;}
[data-theme="dark"] .badge-completed{color:#34d399;}
.badge-current{background:var(--accent-soft);color:var(--accent-dark);position:relative;}
[data-theme="dark"] .badge-current{color:var(--accent);}
.badge-current::before{
  content:'';position:absolute;inset:0;border-radius:inherit;border:1.5px solid var(--accent);
  animation:mskyPulse 1.8s ease-in-out infinite;
}
@keyframes mskyPulse{0%,100%{opacity:.6;transform:scale(1);}50%{opacity:0;transform:scale(1.18);}}
.badge-locked{background:var(--bg-input);color:var(--text-muted);}

.msky-stage-card h4{font-size:.94rem;margin-bottom:5px;color:var(--text);}
.msky-stage-card p{font-size:.78rem;line-height:1.6;color:var(--text-muted);}

.msky-stage-card.is-locked{opacity:.62;}
.msky-stage-card.is-locked:hover{transform:translateY(-2px);}
.msky-stage-card.is-current{border-color:rgba(31,143,224,.4);box-shadow:0 4px 22px rgba(31,143,224,.14);}

.msky-progress-card{
  position:relative;z-index:1;padding:20px 24px;border-radius:var(--radius-lg);
  background:linear-gradient(165deg,rgba(255,255,255,.82),rgba(255,255,255,.5));
  border:1px solid rgba(255,255,255,.65);box-shadow:0 4px 18px rgba(15,27,45,.05);
  margin-bottom:18px;
}
[data-theme="dark"] .msky-progress-card{
  background:linear-gradient(165deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  border-color:rgba(255,255,255,.08);
}
.msky-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap;}
.msky-progress-label{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:700;color:var(--text);}
.msky-progress-label i{color:var(--accent);}
.msky-progress-value{font-size:.82rem;color:var(--text-secondary);}
.msky-progress-value strong{color:var(--accent-dark);font-size:.95rem;}
[data-theme="dark"] .msky-progress-value strong{color:var(--accent);}

.msky-progress-bar{position:relative;width:100%;height:10px;border-radius:var(--radius-full);background:var(--bg-input);overflow:hidden;}
.msky-progress-fill{
  position:relative;height:100%;width:0%;border-radius:inherit;
  background:linear-gradient(90deg,var(--accent),var(--accent-dark));
  transition:width 1.6s var(--ease);overflow:hidden;
}
.msky-progress-fill::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);
  background-size:200% 100%;animation:mskyShimmer 2.4s ease-in-out infinite;
}
@keyframes mskyShimmer{0%{background-position:150% 0;}100%{background-position:-50% 0;}}

.msky-stats-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.msky-stat{
  text-align:center;padding:16px 8px;border-radius:var(--radius-md);
  background:linear-gradient(165deg,rgba(255,255,255,.9),rgba(255,255,255,.72));
  border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-sm);
  transition:transform .4s var(--ease-spring),box-shadow .4s var(--ease);
}
[data-theme="dark"] .msky-stat{background:linear-gradient(165deg,rgba(30,32,38,.9),rgba(21,23,28,.82));border-color:rgba(255,255,255,.08);}
.msky-stat:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.msky-stat-ico{width:32px;height:32px;margin:0 auto 8px;border-radius:9px;background:var(--accent-soft);color:var(--accent-dark);display:grid;place-items:center;font-size:.85rem;}
[data-theme="dark"] .msky-stat-ico{color:var(--accent);}
.msky-stat strong{display:block;font-size:.98rem;font-weight:800;color:var(--text);font-family:var(--font-display);}
.msky-stat span{font-size:.66rem;color:var(--text-muted);}

.msky-ripple-el{position:absolute;border-radius:50%;background:rgba(255,255,255,.55);transform:scale(0);animation:mskyRippleAnim .65s ease-out forwards;pointer-events:none;}
@keyframes mskyRippleAnim{to{transform:scale(2.6);opacity:0;}}

@media(max-width:900px){
  .msky-body{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .msky-dash{padding:32px 20px 26px;}
  .msky-stages-grid{grid-template-columns:1fr;}
  .msky-stats-row{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:420px){
  .msky-ring-wrap{width:130px;height:130px;}
  .msky-ring-num{font-size:1.75rem;}
}

@media (prefers-reduced-motion: reduce){
  .msky-blob,.msky-shape,.badge-current::before,.msky-progress-fill::after{animation:none;}
  .msky-anim{transition:opacity .01ms,transform .01ms;}
}

.gp{display:flex;flex-direction:column;gap:18px;}

.gp-frame{
  position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:0;
  border-radius:28px;overflow:hidden;
  background:var(--bg-card);border:1px solid var(--border);
  box-shadow:0 24px 60px rgba(15,27,45,.08);
}
[data-theme="dark"] .gp-frame{box-shadow:0 24px 60px rgba(0,0,0,.45);}

.gp-spot{
  position:relative;padding:40px 34px;
  background:linear-gradient(155deg,var(--accent) 0%,var(--accent-dark) 100%);
  color:#fff;display:flex;flex-direction:column;gap:14px;overflow:hidden;
}
.gp-spot::before{
  content:'';position:absolute;width:280px;height:280px;border-radius:50%;
  background:rgba(255,255,255,.08);top:-120px;left:-90px;filter:blur(10px);
  animation:gpDrift 10s ease-in-out infinite;
}
.gp-spot::after{
  content:'';position:absolute;width:200px;height:200px;border-radius:50%;
  background:rgba(255,255,255,.06);bottom:-90px;right:-60px;filter:blur(10px);
  animation:gpDrift 13s ease-in-out infinite reverse;
}
@keyframes gpDrift{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-16px) scale(1.08);}}

.gp-spot-tag{
  position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;width:fit-content;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);
  padding:6px 14px;border-radius:var(--radius-full);font-size:.72rem;font-weight:700;
  backdrop-filter:blur(6px);
}
.gp-spot-num{position:relative;z-index:1;font-family:var(--font-display);font-size:3.2rem;font-weight:800;line-height:1;opacity:.9;}
.gp-spot-title{position:relative;z-index:1;font-size:1.3rem;color:#fff;margin:0;}
.gp-spot-desc{position:relative;z-index:1;font-size:.86rem;color:rgba(255,255,255,.82);line-height:1.75;max-width:320px;}

.gp-spot-bar{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-top:6px;}
.gp-spot-bar-track{flex:1;height:7px;border-radius:var(--radius-full);background:rgba(255,255,255,.22);overflow:hidden;}
.gp-spot-bar-fill{position:relative;height:100%;width:0%;border-radius:inherit;background:#fff;transition:width 1.5s var(--ease);}
.gp-spot-bar-num{font-size:.82rem;font-weight:800;white-space:nowrap;}

.gp-spot-btn{
  position:relative;z-index:1;margin-top:8px;align-self:flex-start;
  display:inline-flex;align-items:center;gap:8px;padding:12px 22px;font-size:.83rem;font-weight:700;
  font-family:var(--font-display);color:var(--accent-dark);background:#fff;border-radius:var(--radius-full);
  box-shadow:0 12px 26px rgba(0,0,0,.16);transition:transform .4s var(--ease-spring),box-shadow .35s var(--ease);
}
.gp-spot-btn:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(0,0,0,.22);}
.gp-spot-btn:active{transform:translateY(-1px) scale(.97);}

.gp-steps{display:flex;flex-direction:column;padding:14px 10px;}
.gp-step{
  display:flex;align-items:center;gap:14px;padding:14px 20px;border-radius:16px;
  opacity:0;transform:translateX(24px);transition:background .3s var(--ease),transform .3s var(--ease);
  cursor:default;
}
.gp.in-view .gp-step{animation:gpStepIn .7s var(--ease) both;animation-delay:calc(var(--i) * .12s);}
@keyframes gpStepIn{to{opacity:1;transform:none;}}
.gp-step:hover{background:var(--bg-soft);}

.gp-step-mark{
  width:34px;height:34px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;
  font-size:.72rem;background:var(--bg-soft);border:1px solid var(--border);color:var(--text-muted);
  transition:all .4s var(--ease-spring);
}
.gp-step.is-done .gp-step-mark{background:var(--accent-soft);border-color:transparent;color:var(--accent-dark);}
[data-theme="dark"] .gp-step.is-done .gp-step-mark{color:var(--accent);}
.gp-step.is-active .gp-step-mark{background:linear-gradient(135deg,var(--accent),var(--accent-dark));border-color:transparent;color:#fff;box-shadow:0 6px 16px rgba(31,143,224,.35);}
.gp-step.is-locked .gp-step-mark{opacity:.55;}

.gp-step-body{display:flex;flex-direction:column;gap:2px;}
.gp-step-eyebrow{font-size:.66rem;font-weight:700;letter-spacing:.03em;color:var(--text-muted);}
.gp-step.is-active .gp-step-eyebrow{color:var(--accent-dark);}
[data-theme="dark"] .gp-step.is-active .gp-step-eyebrow{color:var(--accent);}
.gp-step h4{font-size:.92rem;color:var(--text);margin:0;}
.gp-step.is-locked h4,.gp-step.is-locked .gp-step-eyebrow{opacity:.55;}

.gp-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--border);border-radius:18px;overflow:hidden;border:1px solid var(--border);
}
.gp-stat{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:16px 8px;background:var(--bg-card);text-align:center;
  transition:background .3s var(--ease);
}
.gp-stat:hover{background:var(--bg-soft);}
.gp-stat strong{font-family:var(--font-display);font-size:1.15rem;font-weight:800;color:var(--text);}
.gp-stat span{font-size:.68rem;color:var(--text-muted);}

@media(max-width:900px){
  .gp-frame{grid-template-columns:1fr;}
  .gp-spot{padding:32px 26px;}
}
@media(max-width:640px){
  .gp-stats{grid-template-columns:repeat(2,1fr);}
  .gp-spot-num{font-size:2.6rem;}
  .gp-step{padding:12px 14px;}
}
@media (prefers-reduced-motion: reduce){
  .gp-spot::before,.gp-spot::after{animation:none;}
  .gp-step{transition:none;animation:none !important;opacity:1;transform:none;}
}

.dpc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}

.dpc-card{
  display:flex;flex-direction:column;gap:12px;
  background:var(--bg-card);border:1px solid var(--border);border-radius:18px;
  padding:20px;transition:transform .38s var(--ease-spring),box-shadow .38s var(--ease),border-color .38s var(--ease);
}
.dpc-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--border-strong);}

.dpc-top{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.dpc-ico{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:1rem;color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));flex-shrink:0;
  transition:transform .45s var(--ease-spring);
}
.dpc-ico-b{background:linear-gradient(135deg,#0077B6,#00B4D8);}
.dpc-card:hover .dpc-ico{transform:rotate(-6deg) scale(1.08);}

.dpc-pill{padding:4px 11px;border-radius:var(--radius-full);font-size:.62rem;font-weight:800;color:#fff;white-space:nowrap;}
.dpc-pill-a{background:linear-gradient(135deg,#10b981,#34d399);}
.dpc-pill-b{background:linear-gradient(135deg,var(--accent),var(--accent-dark));}

.dpc-title{font-size:.94rem;font-weight:700;line-height:1.4;color:var(--text);}
.dpc-desc{font-size:.79rem;line-height:1.6;color:var(--text-secondary);}

.dpc-meta{display:flex;flex-wrap:wrap;gap:6px;}
.dpc-meta span{
  display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:600;color:var(--text-secondary);
  background:var(--bg-soft);border:1px solid var(--border);padding:4px 10px;border-radius:var(--radius-full);
}
.dpc-meta i{color:var(--accent);font-size:.65rem;}

.dpc-foot{display:flex;align-items:center;justify-content:space-between;padding-top:10px;margin-top:auto;border-top:1px solid var(--border);}
.dpc-rating{display:flex;align-items:center;gap:5px;font-size:.78rem;font-weight:700;color:var(--text);}
.dpc-rating i{color:var(--accent);font-size:.7rem;}
.dpc-link{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:var(--accent-dark);transition:gap .3s var(--ease);}
[data-theme="dark"] .dpc-link{color:var(--accent);}
.dpc-card:hover .dpc-link{gap:9px;}

@media(max-width:768px){
  .dpc-grid{grid-template-columns:1fr;}
}

/* ===================== Certificate modal ===================== */
.cert-view{
  background:linear-gradient(135deg,var(--accent-soft),rgba(0,180,216,.04));
  border:1.5px solid rgba(31,143,224,.22);
  border-radius:var(--radius-xl);padding:30px 34px;
}
.cert-view-inner{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.cert-view-ico{
  width:56px;height:56px;border-radius:var(--radius-md);flex-shrink:0;
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;
  display:grid;place-items:center;font-size:1.35rem;box-shadow:var(--shadow-accent);
}
.cert-view-text{flex:1;min-width:200px;}
.cert-view-text h3{font-size:1.02rem;margin-bottom:5px;color:var(--text);}
.cert-view-text p{font-size:.85rem;color:var(--text-secondary);}

.cert-view-btn{
  display:inline-flex;align-items:center;gap:9px;padding:13px 26px;font-size:.85rem;font-weight:700;
  font-family:var(--font-display);color:#fff;border-radius:var(--radius-full);flex-shrink:0;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
  box-shadow:0 12px 26px rgba(31,143,224,.3);
  transition:transform .4s var(--ease-spring),box-shadow .35s var(--ease);
}
.cert-view-btn:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(31,143,224,.4);}
.cert-view-btn:active{transform:translateY(-1px) scale(.98);}

@media(max-width:640px){
  .cert-view{padding:24px 20px;}
  .cert-view-inner{flex-direction:column;text-align:center;}
  .cert-view-btn{width:100%;justify-content:center;}
}

.cert-view-trigger{
  margin-top:15px;display:inline-flex;align-items:center;gap:7px;
  padding:9px 19px;border-radius:var(--radius-full);font-size:.78rem;font-weight:700;
  font-family:var(--font-display);color:#fff;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
  box-shadow:0 8px 20px rgba(31,143,224,.28);
  transition:transform .3s var(--ease-spring),box-shadow .3s var(--ease);
}
.cert-view-trigger:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(31,143,224,.38);}
.cert-view-trigger:active{transform:translateY(0) scale(.97);}
.cert-view-trigger i{font-size:.75rem;}

.cert-modal-overlay{
  position:fixed;inset:0;z-index:2100;background:rgba(8,10,14,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;pointer-events:none;transition:opacity .3s var(--ease);
}
.cert-modal-overlay.open{opacity:1;pointer-events:auto;}

.cert-modal-box{
  position:relative;width:100%;max-width:760px;max-height:90vh;overflow:hidden;
  background:rgba(255,255,255,.96);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);
  display:flex;flex-direction:column;
  transform:translateY(24px) scale(.9);opacity:0;filter:blur(4px);
  transition:transform .3s var(--ease),opacity .3s var(--ease),filter .3s var(--ease);
}
[data-theme="dark"] .cert-modal-box{background:rgba(21,23,28,.97);}
.cert-modal-overlay.open .cert-modal-box{transform:translateY(0) scale(1);opacity:1;filter:blur(0);}

.cert-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 12px;border-bottom:1px solid var(--border);}
.cert-modal-head h3{font-size:1.02rem;}
.cert-modal-subtitle{display:block;font-size:.8rem;font-weight:700;color:var(--accent-dark);margin-top:4px;}
[data-theme="dark"] .cert-modal-subtitle{color:var(--accent);}
.cert-modal-close{width:36px;height:36px;border-radius:50%;background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:var(--t);flex-shrink:0;}
.cert-modal-close:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:rotate(90deg);}

.cert-modal-body{flex:1;overflow:hidden;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;min-height:220px;}
.cert-zoom-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:grab;touch-action:none;padding:22px;}
.cert-zoom-wrap.is-zoomed{cursor:grab;}
.cert-zoom-wrap.is-dragging{cursor:grabbing;}
.cert-zoom-wrap img{max-width:100%;max-height:56vh;object-fit:contain;border-radius:10px;box-shadow:var(--shadow-md);user-select:none;-webkit-user-drag:none;transition:transform .25s var(--ease);will-change:transform;}

.cert-modal-desc{padding:14px 22px 0;font-size:.85rem;line-height:1.75;color:var(--text-secondary);}

.cert-modal-actions{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 22px 20px;border-top:1px solid var(--border);flex-wrap:wrap;margin-top:12px;}
.cert-zoom-btn{width:38px;height:38px;border-radius:50%;background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:var(--t);}
.cert-zoom-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-2px);}

.cert-download-btn{
  display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-full);
  font-size:.8rem;font-weight:700;font-family:var(--font-display);color:#fff;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);
  box-shadow:0 10px 22px rgba(31,143,224,.3);
  transition:transform .3s var(--ease-spring),box-shadow .3s var(--ease);
  margin-inline-start:8px;
}
.cert-download-btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(31,143,224,.4);}
.cert-download-btn:active{transform:translateY(0) scale(.97);}

@media(max-width:640px){
  .cert-modal-box{max-height:92vh;}
  .cert-zoom-wrap img{max-height:46vh;}
  .cert-modal-actions{justify-content:center;}
  .cert-download-btn{width:100%;justify-content:center;margin-inline-start:0;}
}