/* ===== hero title (clean, professional) ===== */
.hero3 h1.hero-title { font-size:clamp(2.3rem,4.6vw,3.6rem); line-height:1.12; font-weight:800; letter-spacing:-.02em; color:#fff; max-width:13em; margin:20px 0 18px; animation:titleIn .9s cubic-bezier(.2,.8,.2,1) both; }
.hero-title .hl { position:relative; display:inline-block; color:#fbbf24; white-space:nowrap; }
.hero-title .hl-line { position:absolute; left:0; bottom:-.14em; width:100%; height:.2em; overflow:visible; }
.hero-title .hl-line path { stroke-dasharray:230; stroke-dashoffset:230; animation:drawLine 1.1s .7s ease forwards; }
@keyframes titleIn { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
@keyframes drawLine { to { stroke-dashoffset:0; } }
@media (prefers-reduced-motion:reduce) { .hero3 h1.hero-title, .hero-title .hl-line path { animation:none; stroke-dashoffset:0; } }

/* ===== hero: name + heading centred on top, big slides, search underneath ===== */
.hs-hero { position:relative; color:#fff; padding:46px 0 120px; overflow:hidden; background:linear-gradient(135deg,#0b1535,#14286b 50%,#3730a3); }
.hs-hero .hero2-bg { position:absolute; inset:0; background:radial-gradient(520px 320px at 85% 20%,rgba(249,115,22,.28),transparent 70%), radial-gradient(480px 300px at 0% 100%,rgba(56,189,248,.22),transparent 70%), radial-gradient(rgba(255,255,255,.07) 1.5px,transparent 1.5px) 0 0/26px 26px; }
.hs-wrap { position:relative; text-align:center; }
.hs-name { display:inline-flex; align-items:center; gap:10px; padding:8px 22px; border-radius:99px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.3); font-weight:700; font-size:.82rem; letter-spacing:.16em; text-transform:uppercase; backdrop-filter:blur(6px); animation:fadeUpIn .8s both; }
.hs-hero h1.hero-title { font-size:clamp(2.2rem,5.2vw,4rem); line-height:1.12; font-weight:800; letter-spacing:-.02em; color:#fff; max-width:15em; margin:20px auto 14px; animation:titleIn .9s .1s cubic-bezier(.2,.8,.2,1) both; }
.hs-hero .hero-title .hl { position:relative; display:inline-block; color:#fbbf24; white-space:nowrap; }
.hs-hero .hl-line { position:absolute; left:0; bottom:-.14em; width:100%; height:.2em; overflow:visible; }
.hs-hero .hl-line path { stroke-dasharray:230; stroke-dashoffset:230; animation:drawLine 1.1s .8s ease forwards; }
.hs-lead { max-width:44em; margin:0 auto 30px; color:#cfd8ff; font-size:1.12rem; animation:fadeUpIn .9s .35s both; }
@keyframes fadeUpIn { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes titleIn { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
@keyframes drawLine { to { stroke-dashoffset:0; } }

.hs-slider { position:relative; aspect-ratio:2 / 1; max-height:640px; border-radius:28px; overflow:hidden; background:#0b1535; border:4px solid rgba(255,255,255,.2); box-shadow:0 34px 80px rgba(0,0,0,.55), 0 0 60px rgba(99,102,241,.25); animation:fadeUpIn 1s .5s both; }
.hs-track { position:absolute; inset:0; }
.hs-slide { position:absolute; inset:0; margin:0; opacity:0; visibility:hidden; transition:opacity .9s ease, visibility .9s; }
.hs-slide.on { opacity:1; visibility:visible; }
.hs-slide img { display:block; width:100%; height:100%; object-fit:cover; object-position:var(--ox,50%) var(--oy,50%); scale:var(--z,1); transform-origin:var(--ox,50%) var(--oy,50%); }
.hs-slide.on img { animation:hsZoom 8s ease-out forwards; }
@keyframes hsZoom { from { transform:scale(1); } to { transform:scale(1.09); } }
.hs-slide::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,16,48,0) 38%,rgba(8,16,48,.9) 100%), linear-gradient(90deg,rgba(8,16,48,.55),transparent 55%); pointer-events:none; }
.hs-slide figcaption { position:absolute; left:38px; right:90px; bottom:44px; z-index:2; max-width:660px; text-align:left; }
.hs-slide figcaption .k { display:inline-block; padding:4px 14px; border-radius:99px; background:#f97316; color:#fff; font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.hs-slide figcaption b { display:block; margin:12px 0 6px; font-size:clamp(1.3rem,3.2vw,2.4rem); line-height:1.15; text-shadow:0 4px 18px rgba(0,0,0,.5); }
.hs-slide figcaption p { margin:0; color:#e0e7ff; font-size:1.02rem; }
.hs-slide figcaption > * { opacity:0; transform:translateY(22px); }
.hs-slide.on figcaption > * { animation:capIn .7s cubic-bezier(.2,.8,.2,1) forwards; }
.hs-slide.on figcaption > *:nth-child(1) { animation-delay:.35s; } .hs-slide.on figcaption > *:nth-child(2) { animation-delay:.5s; } .hs-slide.on figcaption > *:nth-child(3) { animation-delay:.65s; }
@keyframes capIn { to { opacity:1; transform:none; } }
.hs-nav { position:absolute; top:50%; z-index:5; width:52px; height:52px; margin-top:-26px; border:0; border-radius:50%; background:rgba(255,255,255,.18); color:#fff; font-size:2.2rem; line-height:1; cursor:pointer; backdrop-filter:blur(6px); transition:background .2s, transform .2s; }
.hs-nav:hover { background:rgba(255,255,255,.34); transform:scale(1.08); }
.hs-prev { left:18px; } .hs-next { right:18px; }
.hs-dots { position:absolute; right:26px; bottom:22px; z-index:5; display:flex; gap:8px; }
.hs-dots button { width:12px; height:12px; padding:0; border:0; border-radius:99px; background:rgba(255,255,255,.4); cursor:pointer; transition:width .3s, background .3s; }
.hs-dots button.on { width:34px; background:#f97316; }
.hs-bar { position:absolute; left:0; right:0; bottom:0; z-index:5; height:4px; background:rgba(255,255,255,.15); }
.hs-bar i { display:block; height:100%; width:0; background:linear-gradient(90deg,#f97316,#fbbf24); }
@keyframes hsBar { from { width:0; } to { width:100%; } }

.hs-search { display:flex; gap:8px; max-width:880px; margin:30px auto 14px; padding:9px; border-radius:20px; background:#fff; box-shadow:0 22px 50px rgba(0,0,0,.35); animation:fadeUpIn 1s .7s both; }
.hs-search input { flex:1; min-width:0; border:0; outline:0; padding:15px 18px; font:inherit; font-size:1.05rem; color:#1e293b; background:transparent; }
.hs-search .btn { padding:0 34px; font-size:1.05rem; border-radius:14px; }
.hs-popular { margin:0 0 24px; color:#a9b8f0; font-size:.9rem; }
.hs-popular a { display:inline-block; margin:2px 4px; padding:2px 13px; border-radius:99px; background:rgba(255,255,255,.1); color:#e0e7ff; text-decoration:none; } .hs-popular a:hover { background:rgba(255,255,255,.22); color:#fff; }
.hs-stats { display:flex; justify-content:center; flex-wrap:wrap; gap:14px 54px; padding-top:22px; border-top:1px solid rgba(255,255,255,.16); max-width:880px; margin:0 auto; }
.hs-stats b { display:block; font-size:1.8rem; line-height:1.1; color:#fff; } .hs-stats span { font-size:.82rem; color:#a9b8f0; }
@media (max-width:760px) {
  .hs-slider { aspect-ratio:4 / 3; border-radius:20px; } .hs-slide figcaption { left:18px; right:18px; bottom:34px; } .hs-slide figcaption p { display:none; }
  .hs-slide img { scale:calc(var(--z,1) * .85); } .hs-nav { width:40px; height:40px; margin-top:-20px; font-size:1.7rem; } .hs-dots { right:14px; bottom:14px; }
  .hs-search { flex-direction:column; } .hs-search .btn { padding:14px; width:100%; }
}
@media (prefers-reduced-motion:reduce) { .hs-slide.on img, .hs-name, .hs-hero h1.hero-title, .hs-lead, .hs-slider, .hs-search { animation:none !important; } .hs-slide figcaption > * { opacity:1; transform:none; animation:none !important; } .hs-hero .hl-line path { animation:none; stroke-dashoffset:0; } }

/* ===== hero as a full-screen background slideshow (slides behind the name, heading and search) ===== */
.hs-hero { padding:0; min-height:clamp(600px,90vh,820px); display:flex; align-items:center; background:#0b1535; }
.hs-hero .hero2-bg, .hs-hero .orb { display:none; }
.hs-hero .hs-slider { position:absolute; inset:0; aspect-ratio:auto; max-height:none; border:0; border-radius:0; box-shadow:none; animation:none; background:#0b1535; }
.hs-hero .hs-slide::after { background:linear-gradient(180deg,rgba(8,16,48,.78) 0%,rgba(8,16,48,.55) 42%,rgba(8,16,48,.9) 100%), radial-gradient(900px 420px at 50% 42%,rgba(8,16,48,.4),transparent 72%); }
.hs-hero .hs-slide figcaption { display:none; }
.hs-hero .hs-wrap { position:relative; z-index:3; width:100%; padding-top:64px; padding-bottom:128px; }
.hs-hero h1.hero-title { text-shadow:0 6px 30px rgba(0,0,0,.55); }
.hs-hero .hs-lead { text-shadow:0 2px 14px rgba(0,0,0,.5); color:#e3e9ff; }
.hs-hero .hs-nav { z-index:6; }
.hs-hero .hs-dots { left:50%; right:auto; bottom:74px; transform:translateX(-50%); }
.hs-hero .hs-bar { top:0; bottom:auto; height:3px; }
.hs-hero .hero2-wave { z-index:5; }
.hs-hero .hs-stats { display:inline-flex; max-width:none; margin-top:6px; padding:16px 38px; border:1px solid rgba(255,255,255,.2); border-radius:18px; background:rgba(8,16,48,.5); backdrop-filter:blur(10px); gap:12px 44px; }
.hs-hero .hs-popular { text-shadow:0 2px 10px rgba(0,0,0,.5); }
@media (max-width:760px) {
  .hs-hero { min-height:0; } .hs-hero .hs-wrap { padding-top:44px; padding-bottom:100px; }
  .hs-hero .hs-slider { aspect-ratio:auto; } .hs-hero .hs-nav { display:none; } .hs-hero .hs-stats { padding:12px 18px; gap:10px 24px; }
}

/* ===== big academy name in the hero + stylish menu bar on the slides ===== */
.hs-brand { display:flex; flex-direction:column; align-items:center; gap:6px; animation:fadeUpIn .8s both; }
.hs-cap { width:72px; height:72px; border-radius:22px; display:grid; place-items:center; font-size:2.3rem; background:linear-gradient(135deg,#f97316,#fbbf24); box-shadow:0 14px 34px rgba(249,115,22,.5), inset 0 1px 0 rgba(255,255,255,.5); animation:capFloat 4s ease-in-out infinite; }
@keyframes capFloat { 0%,100% { transform:translateY(0) rotate(-3deg); } 50% { transform:translateY(-8px) rotate(3deg); } }
.hs-brandname { display:flex; align-items:center; justify-content:center; gap:18px; width:100%; margin-top:6px; }
.hs-brandname span { font-size:clamp(1.7rem,4.4vw,3.3rem); line-height:1.1; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#fff; text-shadow:0 6px 28px rgba(0,0,0,.6); background:linear-gradient(180deg,#fff 40%,#ffe6b0); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; filter:drop-shadow(0 4px 14px rgba(0,0,0,.5)); }
.hs-brandname i { flex:1; max-width:150px; height:3px; border-radius:3px; background:linear-gradient(90deg,transparent,#fbbf24,transparent); }
.hs-brand small { color:#fcd9a0; letter-spacing:.16em; text-transform:uppercase; font-size:.78rem; font-weight:600; text-shadow:0 2px 10px rgba(0,0,0,.6); }
.hs-hero h1.hero-title { font-size:clamp(1.7rem,3.6vw,2.7rem); margin:16px auto 10px; }
.hs-hero .hs-lead { font-size:1.05rem; margin-bottom:24px; }
.hs-hero .hs-wrap { padding-bottom:176px; }

.hs-menu-slot { position:absolute; left:0; right:0; bottom:66px; z-index:6; display:flex; justify-content:center; padding:0 16px; pointer-events:none; }
.nav2.on-slide { pointer-events:auto; display:flex; align-items:center; gap:6px; padding:8px; border-radius:99px; background:rgba(8,16,48,.58); border:1px solid rgba(255,255,255,.28); backdrop-filter:blur(14px); box-shadow:0 18px 44px rgba(0,0,0,.45); animation:fadeUpIn .9s .9s both; position:static; width:auto; flex-direction:row; }
.nav2.on-slide a { color:#fff; padding:11px 22px; border-radius:99px; font-weight:600; letter-spacing:.02em; transition:background .25s, transform .25s, color .25s; }
.nav2.on-slide a:not(.btn):hover { background:rgba(255,255,255,.18); color:#fff; transform:translateY(-2px); }
.nav2.on-slide .nav-cta { margin:0 0 0 8px; padding:11px 24px; color:#fff; box-shadow:0 8px 22px rgba(249,115,22,.5); }
.hs-hero .hs-dots { right:26px; left:auto; bottom:26px; transform:none; }
@media (max-width:900px) { .hs-menu-slot { display:none; } .hs-hero .hs-wrap { padding-bottom:110px; } .hs-cap { width:58px; height:58px; font-size:1.8rem; } }
@media (prefers-reduced-motion:reduce) { .hs-cap, .hs-brand, .nav2.on-slide { animation:none !important; } }

/* ===== categories on the slides (colourful) + course filter as one centred row ===== */
@property --ang { syntax:'<angle>'; inherits:false; initial-value:0deg; }
@keyframes angSpin { to { --ang:360deg; } }
.hs-hero { flex-direction:column; justify-content:center; }
.hs-hero .hs-wrap { padding-bottom:26px; }
.hs-cats-wrap { position:relative; z-index:3; width:100%; padding-bottom:112px; }
.hs-cats { text-align:center; }
.hs-cats h2 { color:#fff; font-size:clamp(1.4rem,2.6vw,2rem); margin:4px 0 16px; text-shadow:0 4px 18px rgba(0,0,0,.5); }
.hs-cats .kicker.light { color:#fbbf24; text-shadow:0 2px 10px rgba(0,0,0,.5); }
.hs-cats .cats { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; overflow:visible; padding:0; margin:0; }
.hs-cats .cat-chip { --cc:linear-gradient(135deg,#2563eb,#1d4ed8); border:0; color:#fff; font-weight:700; padding:12px 22px; border-radius:99px; background:var(--cc); box-shadow:0 12px 26px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.35); transition:transform .25s, box-shadow .25s; }
.hs-cats .cat-chip small { padding:1px 10px; border-radius:99px; background:rgba(255,255,255,.28); opacity:1; font-weight:700; }
.hs-cats .cat-chip:hover { transform:translateY(-5px) scale(1.05); box-shadow:0 18px 34px rgba(0,0,0,.5); color:#fff; background:var(--cc); }
.hs-cats .cat-chip.on { outline:3px solid #fff; outline-offset:2px; }
.hs-cats .cat-chip:nth-child(8n+1) { --cc:linear-gradient(135deg,#475569,#1e293b); }
.hs-cats .cat-chip:nth-child(8n+2) { --cc:linear-gradient(135deg,#3b82f6,#1d4ed8); }
.hs-cats .cat-chip:nth-child(8n+3) { --cc:linear-gradient(135deg,#fb923c,#ea580c); }
.hs-cats .cat-chip:nth-child(8n+4) { --cc:linear-gradient(135deg,#22c55e,#15803d); }
.hs-cats .cat-chip:nth-child(8n+5) { --cc:linear-gradient(135deg,#ec4899,#be185d); }
.hs-cats .cat-chip:nth-child(8n+6) { --cc:linear-gradient(135deg,#06b6d4,#0e7490); }
.hs-cats .cat-chip:nth-child(8n+7) { --cc:linear-gradient(135deg,#8b5cf6,#6d28d9); }
.hs-cats .cat-chip:nth-child(8n+8) { --cc:linear-gradient(135deg,#f59e0b,#b45309); }

.catalog { display:block; margin-top:34px; }
.filters { position:static; top:auto; max-width:1180px; margin:0 auto 32px; padding:12px 14px 14px; border:3px solid transparent; border-radius:24px;
    background:linear-gradient(#fff,#fff) padding-box, conic-gradient(from var(--ang),#2563eb,#f97316,#16a34a,#ec4899,#2563eb) border-box; box-shadow:0 20px 48px rgba(15,31,75,.14); animation:angSpin 8s linear infinite; }
.filters h3 { display:flex; justify-content:center; align-items:baseline; gap:14px; margin:2px 0 10px; font-size:1.05rem; }
.filters > div { display:flex; flex-wrap:wrap; align-items:flex-end; gap:10px 0; }
.filters > div > h3 { flex:0 0 100%; }
.filters .f-group { flex:1 1 150px; min-width:0; padding:4px 12px; border:0; border-right:1px solid #e2e8f0; }
.filters .f-group:last-of-type { border-right:0; }
.filters .f-group:nth-child(6) { flex:1.4 1 220px; }
.filters .f-group label.lbl, .filters .f-group .lbl { display:block; margin-bottom:4px; font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#64748b; }
.filters select, .filters input[type=text], .filters input[type=number] { height:46px; padding:0 12px; border:1.5px solid #dbe3ef; border-radius:12px; background:#f8fafc; font:inherit; width:100%; }
.filters .range { display:flex; gap:6px; } .filters .range input { min-width:0; }
.filters .f-group p { display:none; }
.filters .btn-block { width:auto; flex:0 0 auto; display:inline-flex; margin:0 4px 0 auto; padding:0 36px; height:46px; align-items:center; }
@media (max-width:900px) { .filters .f-group { flex:1 1 45%; border-right:0; } .filters .btn-block { flex:1 1 100%; justify-content:center; margin:8px 0 0; } .hs-cats-wrap { padding-bottom:96px; } }
@media (prefers-reduced-motion:reduce) { .filters { animation:none; } }

/* ===== brand bar (academy name, centred) + menu bar that sticks to the top ===== */
.brandbar { position:relative; text-align:center; padding:16px 0 12px; background:radial-gradient(600px 120px at 50% 0,rgba(99,102,241,.1),transparent 70%), linear-gradient(180deg,#fff,#f3f6ff); border-bottom:1px solid #e2e8f0; }
.brandlink { display:inline-flex; flex-direction:column; align-items:center; gap:5px; text-decoration:none !important; }
.bn-row { display:flex; align-items:center; justify-content:center; gap:16px; }
.bn-mark { width:58px; height:58px; border-radius:18px; display:grid; place-items:center; font-size:1.9rem; color:#fff; background:linear-gradient(135deg,#2563eb,#7c3aed); box-shadow:0 12px 26px rgba(79,70,229,.4), inset 0 1px 0 rgba(255,255,255,.4); }
.bn-name { font-size:clamp(1.35rem,3.2vw,2.35rem); line-height:1.1; font-weight:800; letter-spacing:.08em; text-transform:uppercase; background:linear-gradient(90deg,#0f1f4b 10%,#2563eb 55%,#7c3aed 95%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.bn-sub { display:flex; align-items:center; gap:14px; font-size:.7rem; font-weight:700; letter-spacing:.34em; text-transform:uppercase; color:#64748b; }
.bn-sub i { display:block; width:56px; height:2px; border-radius:2px; background:linear-gradient(90deg,transparent,#f97316); } .bn-sub i:last-child { background:linear-gradient(90deg,#f97316,transparent); }
.header2 { box-shadow:0 6px 20px rgba(15,31,75,.08); }
.header2 .hd { justify-content:center; padding-top:6px; padding-bottom:6px; }
.nav2 { gap:4px; }
.nav2 a:not(.btn) { padding:12px 20px; font-weight:600; position:relative; }
.nav2 a:not(.btn)::after { content:""; position:absolute; left:20px; right:20px; bottom:5px; height:3px; border-radius:3px; background:linear-gradient(90deg,#f97316,#fbbf24); transform:scaleX(0); transition:transform .25s; }
.nav2 a:not(.btn):hover::after { transform:scaleX(1); }
.hs-hero .hs-wrap { padding-bottom:128px; }
.hs-hero .hs-dots { bottom:74px; }
.burger span { font-size:.9rem; font-weight:700; margin-left:4px; }
@media (max-width:900px) { .header2 .hd { justify-content:space-between; } .bn-mark { width:46px; height:46px; font-size:1.5rem; } .bn-sub { letter-spacing:.2em; } .bn-sub i { width:28px; } }

/* ===== 24/7 operation: animated watch at the top right ===== */
.watch { position:relative; flex:none; display:block; width:1em; height:1em; font-size:92px; border-radius:50%; border:.05em solid #e0b25c; background:radial-gradient(circle at 35% 28%,#fffef9,#efe0bd 70%,#e3cf9f); box-shadow:0 0 .32em rgba(224,178,92,.7), 0 .1em .22em rgba(0,0,0,.45), inset 0 0 .12em rgba(0,0,0,.22); animation:watchGlow 3.2s ease-in-out infinite; }
@keyframes watchGlow { 0%,100% { box-shadow:0 0 .26em rgba(224,178,92,.55), 0 .1em .22em rgba(0,0,0,.45), inset 0 0 .12em rgba(0,0,0,.22); } 50% { box-shadow:0 0 .5em rgba(255,214,120,.95), 0 .1em .22em rgba(0,0,0,.45), inset 0 0 .12em rgba(0,0,0,.22); } }
.watch::before { content:""; position:absolute; inset:.03em; border-radius:50%; background:repeating-conic-gradient(from -1.2deg,#3a1f10 0 2.4deg,transparent 2.4deg 30deg); -webkit-mask:radial-gradient(circle,transparent 0 66%,#000 67% 84%,transparent 85%); mask:radial-gradient(circle,transparent 0 66%,#000 67% 84%,transparent 85%); }
.watch::after { content:""; position:absolute; left:50%; top:50%; width:.085em; height:.085em; margin:-.0425em 0 0 -.0425em; border-radius:50%; background:#d62839; z-index:3; }
.watch i { position:absolute; left:50%; bottom:50%; transform-origin:50% 100%; border-radius:.02em; background:#3a1f10; z-index:2; }
.watch .wh { width:.04em; height:.2em; margin-left:-.02em; animation:tick 120s linear infinite; }
.watch .wm { width:.028em; height:.3em; margin-left:-.014em; animation:tick 12s linear infinite; }
.watch .wd { width:.014em; height:.34em; margin-left:-.007em; background:#d62839; animation:tick 4s linear infinite; }
.watch.sm { font-size:38px; }
@keyframes tick { to { transform:rotate(360deg); } }
.t247 { display:inline-flex; align-items:center; gap:10px; margin-left:6px; padding:3px 16px 3px 5px; border-radius:99px; background:linear-gradient(135deg,rgba(251,191,36,.25),rgba(249,115,22,.2)); border:1px solid rgba(251,191,36,.6); color:#fff; box-shadow:0 0 18px rgba(251,191,36,.25); }
.t247-text { display:flex; flex-direction:column; line-height:1.05; }
.t247-text b { font-size:1.05rem; letter-spacing:.04em; color:#fde68a; }
.t247-text small { font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:#e0e7ff; }
.topbar2 .wrap { padding-top:5px; padding-bottom:5px; }
@media (max-width:560px) { .t247-text small { display:none; } .tb-right a { display:none; } }
@media (prefers-reduced-motion:reduce) { .watch, .watch i { animation:none !important; } }

/* ===== professional enrolment form ===== */
.enr-hero { position:relative; color:#fff; padding:38px 0 70px; background:radial-gradient(500px 240px at 90% 0,rgba(249,115,22,.4),transparent 70%),linear-gradient(135deg,#0b1535,#14286b 55%,#3730a3); }
.enr-hero h1 { color:#fff; font-size:clamp(1.7rem,3.4vw,2.5rem); margin:6px 0 6px; } .enr-hero p { color:#cfd8ff; margin:0 0 22px; } .enr-hero .crumbs, .enr-hero .crumbs a { color:#b9c6f2; }
.enr-steps { list-style:none; margin:0; padding:0; display:flex; gap:0; flex-wrap:wrap; max-width:760px; }
.enr-steps li { position:relative; flex:1; min-width:130px; display:flex; align-items:center; gap:10px; color:#8fa0d6; font-weight:600; font-size:.88rem; }
.enr-steps li::after { content:""; flex:1; height:2px; margin:0 12px; background:rgba(255,255,255,.2); border-radius:2px; }
.enr-steps li:last-child { flex:none; } .enr-steps li:last-child::after { display:none; }
.enr-steps i { flex:none; width:34px; height:34px; border-radius:50%; display:grid; place-items:center; font-style:normal; font-weight:800; background:rgba(255,255,255,.14); border:2px solid rgba(255,255,255,.25); }
.enr-steps li.on { color:#fff; } .enr-steps li.on i { background:linear-gradient(135deg,#f97316,#fb923c); border-color:#fff; box-shadow:0 6px 16px rgba(249,115,22,.5); }

.enr-wrap { display:grid; grid-template-columns:1.7fr 1fr; gap:26px; align-items:start; margin-top:-40px; position:relative; padding-bottom:50px; }
.enr-card { background:#fff; border:1.5px solid var(--line); border-radius:20px; padding:26px 28px 14px; margin-bottom:20px; box-shadow:0 14px 34px rgba(15,31,75,.08); }
.enr-card > header { display:flex; align-items:center; gap:14px; margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.enr-card > header .num { flex:none; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; font-weight:800; color:#fff; background:linear-gradient(135deg,#2563eb,#7c3aed); box-shadow:0 8px 18px rgba(79,70,229,.35); }
.enr-card > header h3 { margin:0; font-size:1.12rem; } .enr-card > header p { margin:2px 0 0; color:var(--muted); font-size:.86rem; }
.enr-card .lbl em { color:#dc2626; font-style:normal; } .enr-card .lbl small { color:var(--muted); font-weight:500; }
.enr-card .field input[type=text], .enr-card .field input[type=email], .enr-card .field select { height:48px; padding:0 14px; border:1.5px solid #dbe3ef; border-radius:12px; background:#f8fafc; font:inherit; color:#1e293b; width:100%; transition:border-color .15s, box-shadow .15s, background .15s; }
.enr-card .field input:hover, .enr-card .field select:hover { border-color:#b6c4dc; }
.enr-card .field input:focus, .enr-card .field select:focus { outline:none; background:#fff; border-color:#2563eb; box-shadow:0 0 0 4px rgba(37,99,235,.14); }
.enr-card .field input::placeholder { color:#9aa8c0; }

.methods { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.methods input { position:absolute; opacity:0; pointer-events:none; width:1px; height:1px; }
.methods br { display:none; }
.methods label { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:104px; padding:14px 8px; text-align:center; font-weight:700; font-size:.92rem; color:var(--navy); background:#f8fafc; border:2px solid #dbe3ef; border-radius:16px; cursor:pointer; transition:all .15s; margin:0; }
.methods label::before { content:""; width:46px; height:46px; border-radius:14px; display:grid; place-items:center; color:#fff; font-weight:800; font-size:.85rem; background:#64748b; }
.methods input[value="JazzCash"] + label::before { content:"JC"; background:linear-gradient(135deg,#ef4444,#b91c1c); }
.methods input[value="Easypaisa"] + label::before { content:"EP"; background:linear-gradient(135deg,#16a34a,#15803d); }
.methods input[value="Bank Transfer"] + label::before { content:"\1F3E6"; background:linear-gradient(135deg,#2563eb,#1e3a8a); font-size:1.4rem; }
.methods label:hover { border-color:#93c5fd; background:#fff; transform:translateY(-2px); }
.methods input:checked + label { border-color:#2563eb; background:#eff6ff; box-shadow:0 0 0 4px rgba(37,99,235,.14), 0 10px 22px rgba(37,99,235,.15); }
.methods input:checked + label::after { content:"\2713\00a0Selected"; font-size:.72rem; font-weight:700; color:#2563eb; }
.methods input:focus-visible + label { outline:3px solid #93c5fd; outline-offset:2px; }

.enr-submit { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:6px 2px 0; } .enr-submit p { flex-basis:100%; margin:4px 0 0; }
.enr-side { position:sticky; top:96px; display:grid; gap:18px; }
.enr-summary { color:#fff; border-radius:20px; padding:24px; background:radial-gradient(300px 160px at 100% 0,rgba(249,115,22,.5),transparent 70%),linear-gradient(135deg,#0f1f4b,#2563eb 75%,#7c3aed); box-shadow:0 18px 40px rgba(37,99,235,.3); }
.es-k { font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:#fbbf24; font-weight:700; }
.enr-summary h3 { color:#fff; font-size:1.1rem; line-height:1.35; margin:8px 0 14px; }
.es-fee { display:flex; justify-content:space-between; align-items:baseline; padding:12px 0; border-block:1px dashed rgba(255,255,255,.3); } .es-fee small { color:#c7d2fe; } .es-fee b { font-size:1.6rem; }
.es-list { list-style:none; margin:14px 0 0; padding:0; display:grid; gap:8px; font-size:.86rem; color:#e0e7ff; }
.enr-side .fee-card { margin:0; }
.enr-side .paybox { margin-top:0; padding-top:0; border:0; }
@media (max-width:980px) { .enr-wrap { grid-template-columns:1fr; margin-top:-30px; } .enr-side { position:static; } }
@media (max-width:640px) { .methods { grid-template-columns:1fr; } .methods label { flex-direction:row; min-height:0; justify-content:flex-start; padding:12px 14px; } .enr-card { padding:20px 16px 8px; } .enr-steps li span { display:none; } .enr-steps li { min-width:0; } }

/* ===== enrolment, payment options, WhatsApp ===== */
.btn-wa { background:#25a244; color:#fff; box-shadow:0 6px 16px rgba(37,162,68,.3); } .btn-wa:hover { background:#1e8a39; color:#fff; }
.wa-float { position:fixed; right:18px; bottom:18px; z-index:70; display:flex; align-items:center; gap:8px; background:#25a244; color:#fff; padding:12px 18px; border-radius:99px; font-weight:600; text-decoration:none; box-shadow:0 10px 26px rgba(0,0,0,.3); font-size:1.05rem; }
.wa-float span { font-size:.88rem; } .wa-float:hover { background:#1e8a39; color:#fff; }
@media (max-width:560px) { .wa-float span { display:none; } .wa-float { padding:14px; font-size:1.3rem; } }

.btn-lg { padding:14px 28px; font-size:1.02rem; }
.card-btns { display:flex; gap:8px; }
.course-foot { flex-wrap:wrap; }
.ws-btns { display:flex; gap:10px; flex-wrap:wrap; }
.prog-cta .btn-wa, .ws-btns .btn-wa { color:#fff; }

/* payment box */
.paybox { margin-top:18px; padding-top:18px; border-top:1px dashed var(--line); }
.paybox h4 { margin:0 0 6px; }
.pm { display:flex; align-items:center; gap:12px; padding:10px 12px; margin-top:10px; border:1.5px solid var(--line); border-radius:12px; background:#fff; }
.pm-ic { flex:none; width:44px; height:44px; border-radius:12px; display:grid; place-items:center; font-weight:800; font-size:.8rem; color:#fff; }
.pm-ic.jc { background:linear-gradient(135deg,#ef4444,#b91c1c); } .pm-ic.ep { background:linear-gradient(135deg,#16a34a,#15803d); } .pm-ic.bk { background:linear-gradient(135deg,#2563eb,#1e3a8a); font-size:1.3rem; }
.pm-t { flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.3; } .pm-t b { color:var(--navy); font-size:.92rem; } .pm-t span { font-size:.9rem; color:#1e293b; word-break:break-all; font-weight:600; } .pm-t small { color:var(--muted); font-size:.74rem; }
.copy { flex:none; border:1.5px solid var(--line); background:#f6f8fc; border-radius:8px; padding:5px 12px; font:600 .78rem 'Poppins',sans-serif; cursor:pointer; color:var(--navy); } .copy:hover { border-color:#2563eb; color:#2563eb; }

/* enrol page */
.page-top { background:linear-gradient(135deg,#0f1f4b,#1e3a8a 60%,#3730a3); color:#fff; padding:36px 0 40px; } .page-top h1 { color:#fff; margin:6px 0; } .page-top p { color:#cfd8ff; margin:0; max-width:640px; } .page-top .crumbs a { color:#cfd8ff; }
.enroll-grid { display:grid; grid-template-columns:1.6fr 1fr; gap:26px; align-items:start; }
.block h3 { font-size:1.08rem; margin-bottom:12px; }
.methods { display:grid; gap:10px; }
.methods input { accent-color:#2563eb; width:18px; height:18px; margin-right:8px; vertical-align:middle; }
.methods label { display:inline-block; font-weight:600; vertical-align:middle; }
.methods span { display:flex; align-items:center; padding:12px 14px; border:1.5px solid var(--line); border-radius:12px; background:#fff; }
.methods span:hover { border-color:#93c5fd; }
.form-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:8px; align-items:center; }
.done-card { max-width:880px; margin:0 auto; background:#fff; border:1.5px solid var(--line); border-radius:24px; padding:36px; text-align:center; box-shadow:0 20px 44px rgba(15,31,75,.1); }
.done-ic { width:70px; height:70px; margin:0 auto 12px; border-radius:50%; display:grid; place-items:center; font-size:2rem; color:#fff; background:linear-gradient(135deg,#16a34a,#047857); box-shadow:0 12px 24px rgba(22,163,74,.35); }
.ref { background:#eef2ff; color:#4338ca; padding:2px 12px; border-radius:8px; letter-spacing:.06em; }
.done-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; text-align:left; margin:24px 0; } .done-sum, .done-grid > div { background:#f6f8fc; border:1.5px solid var(--line); border-radius:16px; padding:18px; }
.done-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* admin enrolments */
.pill.st-Pending { background:#fef3c7; color:#92400e; } .pill.st-Paid { background:#dbeafe; color:#1d4ed8; } .pill.st-Confirmed { background:#dcfce7; color:#166534; } .pill.st-Cancelled { background:#e2e8f0; color:#475569; }

@media (max-width:900px) { .enroll-grid, .done-grid { grid-template-columns:1fr; } .done-card { padding:24px 18px; } }

/* ===== Academy master page: top bar, header, footer ===== */
.topbar2 { background:#0b1535; color:#b9c6f2; font-size:.82rem; }
.topbar2 .wrap { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding-top:8px; padding-bottom:8px; }
.tb-left, .tb-right { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.topbar2 a { color:#e0e7ff; text-decoration:none; } .topbar2 a:hover { color:#fff; text-decoration:underline; }
.tb-tag { color:#fbbf24; font-weight:600; }

.header2 { position:sticky; top:0; z-index:60; background:rgba(255,255,255,.96); backdrop-filter:blur(8px); border-bottom:1px solid #e2e8f0; box-shadow:0 6px 24px rgba(15,31,75,.07); }
.hd { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:12px; padding-bottom:12px; }
.brand2 { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand2 .bm { width:46px; height:46px; border-radius:14px; display:grid; place-items:center; font-size:1.5rem; color:#fff; background:linear-gradient(135deg,#2563eb,#7c3aed); box-shadow:0 8px 18px rgba(79,70,229,.35); }
.brand2 .bt { display:flex; flex-direction:column; line-height:1.15; } .brand2 .bt b { font-size:1.2rem; color:#0f1f4b; font-weight:800; } .brand2 .bt small { font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:#64748b; font-weight:600; }
.brand2.light .bt b { color:#fff; } .brand2.light .bt small { color:#93a5dd; }
.nav2 { display:flex; align-items:center; gap:6px; }
.nav2 a { text-decoration:none; color:#1e293b; font-weight:500; padding:9px 14px; border-radius:10px; transition:background .15s, color .15s; }
.nav2 a:not(.btn):hover { background:#eef2ff; color:#2563eb; }
.nav2 .nav-cta { margin-left:10px; color:#fff; }

.footer2 { margin-top:40px; background:linear-gradient(180deg,#0f1f4b,#0b1535); color:#b9c6f2; }
.f-cta { position:relative; top:-34px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; padding:28px 34px; border-radius:20px; color:#fff; background:radial-gradient(360px 160px at 90% 0,rgba(249,115,22,.55),transparent 70%),linear-gradient(120deg,#2563eb,#7c3aed); box-shadow:0 18px 40px rgba(37,99,235,.35); }
.f-cta h3 { color:#fff; margin:0 0 4px; font-size:1.4rem; } .f-cta p { margin:0; color:#e0e7ff; }
.f-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.3fr; gap:34px; padding:6px 0 34px; }
.footer2 h4 { color:#fff; font-size:1rem; margin:0 0 14px; letter-spacing:.02em; }
.footer2 ul { list-style:none; margin:0; padding:0; } .footer2 li { margin-bottom:9px; }
.footer2 a { color:#b9c6f2; text-decoration:none; } .footer2 a:hover { color:#fff; }
.f-about p { margin:14px 0 0; }
.fi { display:flex; gap:10px; margin:0 0 10px; } .fi i { font-style:normal; width:30px; height:30px; flex:none; border-radius:9px; display:grid; place-items:center; background:rgba(255,255,255,.1); }
.f-bottom { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:18px 0; border-top:1px solid rgba(255,255,255,.12); font-size:.85rem; color:#8fa0d6; }

@media (max-width:900px) {
  .burger { display:block; }
  .nav2 { display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; background:#fff; padding:12px 20px 18px; border-bottom:1px solid #e2e8f0; box-shadow:0 14px 24px rgba(15,31,75,.12); }
  .nav2.open { display:flex; } .nav2 .nav-cta { margin:8px 0 0; text-align:center; }
  .f-grid { grid-template-columns:1fr 1fr; } .tb-right a { display:none; }
}
@media (max-width:560px) { .f-grid { grid-template-columns:1fr; } .tb-left span:nth-child(2) { display:none; } .f-cta { padding:22px; } }

/* ===== Academy home page - enterprise look ===== */
.hero2 { position:relative; color:#fff; padding:64px 0 110px; overflow:hidden; background:linear-gradient(135deg,#0b1535,#14286b 50%,#3730a3); }
.hero2-bg { position:absolute; inset:0; background:
    radial-gradient(520px 320px at 85% 20%, rgba(249,115,22,.28), transparent 70%),
    radial-gradient(480px 300px at 0% 100%, rgba(56,189,248,.22), transparent 70%),
    radial-gradient(rgba(255,255,255,.07) 1.5px, transparent 1.5px) 0 0/26px 26px; }
.hero2-grid { position:relative; display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:center; }
.pill-badge { display:inline-block; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28); border-radius:999px; padding:6px 16px; font-size:.85rem; font-weight:600; letter-spacing:.02em; }
.hero2 h1 { color:#fff; font-size:clamp(2.2rem,4.6vw,3.5rem); line-height:1.12; margin:18px 0 16px; font-weight:800; }
.hero2 h1 span { background:linear-gradient(90deg,#fbbf24,#f97316); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero2-lead { color:#cfd8ff; font-size:1.1rem; max-width:34em; }
.hero2 .searchbox { display:flex; gap:8px; background:#fff; padding:7px; border-radius:16px; max-width:600px; box-shadow:0 18px 40px rgba(0,0,0,.28); margin:24px 0 12px; }
.hero2 .searchbox input { flex:1; min-width:0; border:0; outline:0; padding:12px 14px; font:inherit; color:#1e293b; background:transparent; }
.popular { font-size:.88rem; color:#a9b8f0; margin:0 0 26px; } .popular a { display:inline-block; margin:2px 4px; padding:2px 12px; border-radius:99px; background:rgba(255,255,255,.1); color:#e0e7ff; text-decoration:none; } .popular a:hover { background:rgba(255,255,255,.22); color:#fff; }
.hero2-stats { display:grid; grid-template-columns:repeat(4,auto); gap:12px 30px; justify-content:start; padding-top:22px; border-top:1px solid rgba(255,255,255,.18); }
.hero2-stats b { display:block; font-size:1.7rem; line-height:1.1; color:#fff; } .hero2-stats span { font-size:.8rem; color:#a9b8f0; }
.hero2-art { position:relative; } .hero2-art svg { width:100%; height:auto; filter:drop-shadow(0 24px 40px rgba(0,0,0,.35)); }
.fc { position:absolute; display:flex; align-items:center; gap:10px; background:#fff; color:#1e293b; border-radius:14px; padding:10px 16px 10px 12px; box-shadow:0 14px 30px rgba(0,0,0,.28); animation:floaty 5s ease-in-out infinite; }
.fc i { font-style:normal; font-size:1.4rem; width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:#eef2ff; } .fc b { display:block; font-size:.88rem; color:#0f1f4b; line-height:1.2; } .fc span { font-size:.74rem; color:#64748b; }
.fc1 { left:-4%; top:12%; } .fc2 { right:-2%; top:44%; animation-delay:-1.6s; } .fc2 i { background:#fff7ed; } .fc3 { left:6%; bottom:2%; animation-delay:-3s; } .fc3 i { background:#ecfdf5; }
@keyframes floaty { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } }
.hero2-wave { position:absolute; left:0; bottom:-1px; width:100%; height:60px; display:block; }

.trust { margin-top:-28px; position:relative; z-index:2; }
.trust .wrap { display:grid; grid-template-columns:repeat(5,1fr); gap:0; background:#fff; border-radius:18px; box-shadow:0 14px 34px rgba(15,31,75,.12); border:1.5px solid var(--line); }
.trust .wrap > div { display:flex; align-items:center; gap:10px; justify-content:center; padding:18px 10px; border-right:1px solid var(--line); font-weight:600; font-size:.88rem; color:var(--navy); } .trust .wrap > div:last-child { border:0; }
.trust i { font-style:normal; font-size:1.4rem; }

.sec-title { text-align:center; margin:56px auto 24px; max-width:640px; } .sec-title h2 { font-size:clamp(1.6rem,3vw,2.2rem); margin:.2em 0 .3em; } .sec-title p { margin:0; }
.kicker { display:inline-block; font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#f97316; }

/* how it works */
.how { background:linear-gradient(180deg,#f6f8fc,#eef2ff); margin-top:40px; }
.how .sec-title { margin-top:0; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; position:relative; }
.step { position:relative; background:#fff; border-radius:20px; padding:30px 22px 24px; text-align:center; border:1.5px solid var(--line); box-shadow:0 8px 22px rgba(15,31,75,.06); transition:transform .2s, box-shadow .2s; }
.step:hover { transform:translateY(-6px); box-shadow:0 16px 34px rgba(15,31,75,.14); }
.step i { display:grid; place-items:center; width:70px; height:70px; margin:0 auto 14px; border-radius:20px; font-style:normal; font-size:2rem; color:#fff; }
.step .num { position:absolute; top:14px; left:16px; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; font-weight:800; font-size:.85rem; background:#eef2ff; color:#4338ca; }
.step h3 { font-size:1.05rem; margin-bottom:.3em; } .step p { color:var(--muted); font-size:.9rem; margin:0; }
.s1 i { background:linear-gradient(135deg,#2563eb,#4338ca); } .s2 i { background:linear-gradient(135deg,#f59e0b,#ea580c); } .s3 i { background:linear-gradient(135deg,#ec4899,#be185d); } .s4 i { background:linear-gradient(135deg,#16a34a,#047857); }

/* split block */
.split { display:grid; grid-template-columns:1.05fr 1fr; gap:50px; align-items:center; }
.classroom svg { width:100%; height:auto; border-radius:26px; box-shadow:0 24px 50px rgba(15,31,75,.25); }
.split-text h2 { font-size:clamp(1.6rem,3vw,2.2rem); margin:.2em 0 .5em; }
.ticks { list-style:none; margin:18px 0 24px; padding:0; display:grid; gap:10px; } .ticks li { padding-left:34px; position:relative; font-weight:500; } .ticks li::before { content:'\2713'; position:absolute; left:0; top:-1px; width:24px; height:24px; border-radius:50%; background:#dcfce7; color:#16a34a; display:grid; place-items:center; font-weight:800; font-size:.85rem; }

/* why */
.why { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.why-card { background:#fff; border:1.5px solid var(--line); border-radius:18px; padding:26px; position:relative; overflow:hidden; transition:transform .2s, box-shadow .2s; }
.why-card:hover { transform:translateY(-5px); box-shadow:0 16px 34px rgba(15,31,75,.12); }
.why-card::after { content:""; position:absolute; right:-26px; top:-26px; width:90px; height:90px; border-radius:50%; opacity:.12; background:currentColor; }
.why-card i { display:grid; place-items:center; width:54px; height:54px; border-radius:16px; font-style:normal; font-size:1.6rem; margin-bottom:14px; background:currentColor; }
.why-card i { color:inherit; }
.why-card h3 { font-size:1.05rem; } .why-card p { color:var(--muted); margin:0; font-size:.92rem; }
.w1 { color:#2563eb; } .w2 { color:#7c3aed; } .w3 { color:#f97316; } .w4 { color:#16a34a; } .w5 { color:#ec4899; } .w6 { color:#0891b2; }
.why-card h3, .why-card p { color:var(--navy); } .why-card p { color:var(--muted); }
.why-card i { -webkit-text-fill-color:initial; box-shadow:0 8px 18px rgba(15,31,75,.15); filter:none; }

/* faq */
.narrow-faq { max-width:820px; } .narrow-faq .sec-title { margin-top:0; }
.faq { background:#fff; border:1.5px solid var(--line); border-radius:14px; margin-bottom:12px; overflow:hidden; }
.faq summary { cursor:pointer; padding:16px 20px; font-weight:600; color:var(--navy); list-style:none; display:flex; justify-content:space-between; gap:12px; } .faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; font-size:1.4rem; color:#2563eb; line-height:1; } .faq[open] summary::after { content:'\2212'; } .faq[open] { border-color:#93c5fd; box-shadow:0 8px 20px rgba(37,99,235,.08); }
.faq p { margin:0; padding:0 20px 18px; color:var(--muted); }

/* cta */
.cta2 { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; text-align:left; padding:44px 48px; background:radial-gradient(400px 200px at 90% 0,rgba(249,115,22,.5),transparent 70%),linear-gradient(120deg,#0f1f4b,#2563eb 70%,#7c3aed); }
.cta2 h2 { color:#fff; margin-bottom:.2em; } .cta2 p { color:#dbe4ff; margin:0; }

@media (max-width:1000px) {
  .hero2-grid, .split { grid-template-columns:1fr; } .hero2-art { max-width:520px; margin:0 auto; }
  .steps { grid-template-columns:1fr 1fr; } .why { grid-template-columns:1fr 1fr; } .trust .wrap { grid-template-columns:1fr 1fr; } .trust .wrap > div { border-bottom:1px solid var(--line); }
}
@media (max-width:640px) {
  .hero2 { padding:44px 0 90px; } .hero2-stats { grid-template-columns:1fr 1fr; } .fc { display:none; }
  .steps, .why { grid-template-columns:1fr; } .trust .wrap { grid-template-columns:1fr; } .cta2 { padding:30px 24px; }
  .hero2 .searchbox { flex-direction:column; } .hero2 .searchbox .btn { width:100%; }
}

/* ===== student photos / avatars (home page) ===== */
.live-dot { display:inline-block; width:9px; height:9px; border-radius:50%; background:#ef4444; box-shadow:0 0 0 0 rgba(239,68,68,.7); animation:pulse 1.6s infinite; vertical-align:middle; margin-right:4px; }
@keyframes pulse { 0% { box-shadow:0 0 0 0 rgba(239,68,68,.6); } 70% { box-shadow:0 0 0 9px rgba(239,68,68,0); } 100% { box-shadow:0 0 0 0 rgba(239,68,68,0); } }

/* every photo tile: gradient + illustrated student underneath, real photo (if the file exists) on top */
.pt, .mt { position:relative; margin:0; overflow:hidden; background:linear-gradient(145deg,var(--bg1,#1e3a8a),var(--bg2,#4f46e5)); }
.pt svg, .mt svg { position:absolute; inset:0; width:100%; height:100%; }
.pt img, .mt img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.pt figcaption, .mt figcaption { position:absolute; left:10px; bottom:10px; z-index:2; background:rgba(11,21,53,.72); color:#fff; font-size:.78rem; font-weight:600; padding:4px 11px; border-radius:99px; backdrop-filter:blur(4px); }

/* hero collage */
.collage { position:relative; display:grid; grid-template-columns:1.25fr 1fr; grid-template-rows:1fr 1fr; gap:14px; height:470px; }
.collage .pt { border-radius:22px; border:4px solid rgba(255,255,255,.9); box-shadow:0 22px 44px rgba(0,0,0,.35); }
.pt-main { grid-row:1 / span 2; border-radius:26px !important; }
.pt-a { transform:rotate(1.5deg); } .pt-b { transform:rotate(-1.5deg); }
.collage .fc1 { left:-26px; top:14%; } .collage .fc2 { right:-14px; bottom:12%; }

/* live classroom section */
.room-sec { background:radial-gradient(600px 300px at 90% 0,rgba(249,115,22,.22),transparent 70%),linear-gradient(135deg,#0b1535,#14286b 60%,#312e81); color:#fff; padding:70px 0; }
.room-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:50px; align-items:center; }
.room-text h2 { color:#fff; font-size:clamp(1.7rem,3.2vw,2.4rem); margin:.2em 0 .5em; } .room-text p { color:#cfd8ff; }
.kicker.light { color:#fbbf24; }
.ticks.light li { color:#e0e7ff; } .ticks.light li::before { background:rgba(74,222,128,.2); color:#4ade80; }
.meet { background:#0a1230; border:1px solid rgba(255,255,255,.14); border-radius:22px; padding:14px; box-shadow:0 30px 60px rgba(0,0,0,.45); }
.meet-bar { display:flex; align-items:center; gap:14px; padding:2px 6px 12px; color:#cfd8ff; font-size:.85rem; }
.meet-bar b { flex:1; } .dots { display:flex; gap:6px; } .dots i { width:10px; height:10px; border-radius:50%; background:#f87171; } .dots i:nth-child(2) { background:#fbbf24; } .dots i:nth-child(3) { background:#4ade80; }
.rec { background:rgba(239,68,68,.18); color:#fecaca; border-radius:99px; padding:2px 12px; font-weight:700; font-size:.75rem; }
.meet-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:150px; gap:10px; }
.mt { border-radius:14px; } .mt.big { grid-column:span 2; grid-row:span 2; }
.mt.speaking { outline:3px solid #22c55e; outline-offset:-3px; }
.mic { font-size:.8rem; opacity:.85; } .mic.on { color:#4ade80; opacity:1; }
.meet-ctrl { display:flex; justify-content:center; gap:12px; padding-top:14px; } .meet-ctrl span { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.12); font-size:1.1rem; } .meet-ctrl .end { background:#ef4444; }

@media (max-width:1000px) { .room-grid { grid-template-columns:1fr; } .collage { max-width:560px; margin:10px auto 0; } }
@media (max-width:640px) { .collage { height:360px; } .collage .fc { display:none; } .meet-grid { grid-auto-rows:110px; } .room-sec { padding:46px 0; } }

/* ===== Academy front page: photo-led design (hero, program, workshop, gallery) ===== */

/* crop helper: shows just a region of a larger picture. Variables come from the markup:
   --ar = region width/height, --w = picture width relative to region, --l / --t = offset of the region */
.crop { position:relative; overflow:hidden; aspect-ratio:var(--ar,1.5); background:#0f1f4b; }
.crop img { position:absolute; display:block; max-width:none; height:auto; width:var(--w,100%); left:var(--l,0); top:var(--t,0); }

/* ---------- hero ---------- */
.hero3 { position:relative; color:#fff; padding:60px 0 120px; overflow:hidden; background:linear-gradient(135deg,#0b1535,#14286b 50%,#3730a3); }
.hero3 .hero2-bg { position:absolute; inset:0; }
.orb { position:absolute; border-radius:50%; filter:blur(60px); opacity:.55; animation:drift 14s ease-in-out infinite; }
.o1 { width:340px; height:340px; background:#f97316; right:-80px; top:-60px; } .o2 { width:300px; height:300px; background:#06b6d4; left:-90px; bottom:-60px; animation-delay:-6s; }
@keyframes drift { 0%,100% { transform:translate(0,0); } 50% { transform:translate(30px,24px); } }
.hero3-grid { position:relative; display:grid; grid-template-columns:1fr 1.05fr; gap:44px; align-items:center; }
.hero3 h1 { color:#fff; font-size:clamp(2.2rem,4.4vw,3.4rem); line-height:1.14; font-weight:800; margin:18px 0 16px; }

/* animated heading */
.anim-h .w { display:inline-block; opacity:0; transform:translateY(28px) scale(.96); animation:rise .75s cubic-bezier(.2,.8,.2,1) forwards; animation-delay:var(--d,0s); }
@keyframes rise { to { opacity:1; transform:none; } }
.rotor { display:inline-grid; vertical-align:bottom; overflow:hidden; height:1.2em; }
.rotor b { grid-area:1/1; background:linear-gradient(90deg,#fbbf24,#f97316,#ec4899); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; opacity:0; transform:translateY(100%); animation:swap 9s infinite, shimmer 3s linear infinite; }
.rotor b:nth-child(1) { animation-delay:1.3s,0s; } .rotor b:nth-child(2) { animation-delay:4.3s,0s; } .rotor b:nth-child(3) { animation-delay:7.3s,0s; }
@keyframes swap { 0% { opacity:0; transform:translateY(100%); } 4%,30% { opacity:1; transform:none; } 34%,100% { opacity:0; transform:translateY(-100%); } }
@keyframes shimmer { to { background-position:-200% 0; } }
.fade-in { opacity:0; animation:rise .8s ease forwards; animation-delay:var(--d,.8s); }
@media (prefers-reduced-motion:reduce) { .anim-h .w, .fade-in { animation:none; opacity:1; transform:none; } .rotor b { animation:none; opacity:0; } .rotor b:first-child { opacity:1; transform:none; } .orb, .fc, .live-dot { animation:none; } }

/* ---------- hero photo collage ---------- */
.collage3 { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:6px 10px 20px; }
.ph { position:relative; border-radius:22px; overflow:hidden; border:4px solid rgba(255,255,255,.92); box-shadow:0 24px 46px rgba(0,0,0,.4); background:#fff; }
.ph .crop { display:block; }
.ph-main { grid-column:1 / span 2; border-radius:26px; transform:rotate(-1deg); }
.ph-a { transform:rotate(1.2deg); } .ph-b { transform:rotate(-1.2deg); margin-top:-22px; }
.ph img { transition:transform .6s; } .ph:hover img { transform:scale(1.05); }
.tag-chip { position:absolute; left:12px; bottom:12px; background:rgba(11,21,53,.78); color:#fff; font-size:.78rem; font-weight:600; padding:5px 13px; border-radius:99px; backdrop-filter:blur(5px); }
.collage3 .fc1 { left:-22px; top:10%; } .collage3 .fc2 { right:-10px; top:46%; }

/* ---------- featured program ---------- */
.prog { background:#fff; border-block:1.5px solid var(--line); }
.prog-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:56px; align-items:center; }
.prog-photo { position:relative; padding:0 0 26px 26px; }
.prog-photo .frame { border-radius:28px; overflow:hidden; border:6px solid #fff; box-shadow:0 28px 56px rgba(15,31,75,.28); transform:rotate(-1.5deg); }
.prog-photo::before { content:""; position:absolute; left:0; bottom:0; width:70%; height:70%; border-radius:28px; background:linear-gradient(135deg,#f97316,#ec4899); z-index:0; }
.prog-photo .frame { position:relative; z-index:1; }
.seal { position:absolute; right:-8px; top:18px; z-index:2; width:128px; height:128px; border-radius:50%; background:linear-gradient(135deg,#0f1f4b,#312e81); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:4px solid #fbbf24; box-shadow:0 12px 26px rgba(15,31,75,.4); line-height:1.15; }
.seal span { font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:#fbbf24; } .seal b { font-size:1.15rem; } .seal small { font-size:.7rem; color:#c7d2fe; }
.prog-text h2 { font-size:clamp(1.7rem,3.2vw,2.4rem); margin:.2em 0 .4em; } .grad { background:linear-gradient(90deg,#f97316,#ec4899); -webkit-background-clip:text; background-clip:text; color:transparent; }
.facts3 { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:20px 0; }
.facts3 div { background:#f6f8fc; border:1.5px solid var(--line); border-radius:14px; padding:12px 8px; text-align:center; } .facts3 i { display:block; font-style:normal; font-size:1.4rem; } .facts3 b { display:block; font-size:.95rem; color:var(--navy); } .facts3 span { font-size:.75rem; color:var(--muted); }
.modules { list-style:none; margin:0 0 22px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; counter-reset:m; }
.modules li { counter-increment:m; position:relative; display:flex; flex-direction:column; padding:10px 14px 10px 54px; border-radius:12px; background:#fff; border:1.5px solid var(--line); }
.modules li::before { content:"0" counter(m); position:absolute; left:8px; top:50%; transform:translateY(-50%); width:36px; height:36px; border-radius:10px; display:grid; place-items:center; color:#fff; font-weight:800; font-size:.9rem; background:var(--mc,#2563eb); }
.modules b { font-size:.9rem; color:var(--navy); } .modules span { font-size:.76rem; color:var(--muted); }
.m1 { --mc:#2563eb; } .m2 { --mc:#16a34a; } .m3 { --mc:#f97316; } .m4 { --mc:#7c3aed; } .m5 { --mc:#0ea5e9; } .m6 { --mc:#ec4899; }
.prog-cta { display:flex; gap:12px; flex-wrap:wrap; }

/* ---------- workshop ---------- */
.workshop { background:linear-gradient(180deg,#f6f8fc,#eef2ff); }
.ws-hero { position:relative; border-radius:28px; overflow:hidden; box-shadow:0 28px 56px rgba(15,31,75,.3); margin-bottom:10px; }
.ws-img { --ar:2.92; width:100%; }
.ws-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(11,21,53,.94) 0%,rgba(11,21,53,.8) 42%,rgba(11,21,53,.1) 100%); }
.ws-overlay { position:absolute; z-index:2; inset:0; padding:clamp(20px,4vw,48px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; color:#fff; max-width:640px; }
.ws-overlay h2 { color:#fff; font-size:clamp(1.8rem,4vw,3rem); line-height:1.08; margin:.2em 0 .3em; } .ws-overlay h2 .o { color:#fb923c; }
.ws-overlay p { color:#dbe4ff; max-width:34em; }
.ws-info { display:flex; flex-wrap:wrap; gap:10px; margin:6px 0 18px; }
.ws-info div { background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.25); backdrop-filter:blur(6px); border-radius:14px; padding:9px 16px; display:grid; grid-template-columns:auto 1fr; column-gap:10px; align-items:center; }
.ws-info i { grid-row:span 2; font-style:normal; font-size:1.4rem; } .ws-info b { line-height:1.2; } .ws-info span { font-size:.78rem; color:#c7d2fe; }
.sec-title.tight { margin-top:46px; }
.agenda { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.agenda li { position:relative; background:#fff; border:1.5px solid var(--line); border-radius:16px; padding:46px 14px 16px; text-align:center; transition:transform .2s, box-shadow .2s; }
.agenda li:hover { transform:translateY(-5px); box-shadow:0 14px 30px rgba(15,31,75,.14); }
.agenda time { position:absolute; left:50%; top:-1px; transform:translateX(-50%); white-space:nowrap; font-size:.74rem; font-weight:700; color:#fff; padding:5px 14px; border-radius:0 0 12px 12px; background:var(--ac,#2563eb); }
.agenda i { display:grid; place-items:center; width:54px; height:54px; margin:0 auto 10px; border-radius:50%; font-style:normal; font-size:1.5rem; background:color-mix(in srgb, var(--ac,#2563eb) 14%, white); }
.agenda b { display:block; font-size:.88rem; color:var(--navy); line-height:1.25; margin-bottom:4px; } .agenda span { font-size:.76rem; color:var(--muted); line-height:1.3; display:block; }
.a1 { --ac:#0f1f4b; } .a2 { --ac:#f97316; } .a3 { --ac:#16a34a; } .a4 { --ac:#7c3aed; } .a5 { --ac:#2563eb; } .a6 { --ac:#ec4899; }
.ws-badges { list-style:none; margin:22px 0 0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.ws-badges li { background:#fff; border:1.5px solid var(--line); border-radius:99px; padding:7px 18px; font-weight:600; font-size:.86rem; color:var(--navy); box-shadow:0 4px 12px rgba(15,31,75,.06); }

/* ---------- gallery ---------- */
.gallery { background:#fff; }
.gal { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.gal figure { margin:0; position:relative; border-radius:20px; overflow:hidden; box-shadow:0 12px 28px rgba(15,31,75,.16); }
.gal figure:nth-child(even) { transform:translateY(18px); }
.gal img { transition:transform .6s; } .gal figure:hover img { transform:scale(1.08); }
.gal figcaption { position:absolute; left:0; right:0; bottom:0; padding:30px 14px 12px; color:#fff; font-weight:600; font-size:.88rem; background:linear-gradient(180deg,transparent,rgba(11,21,53,.85)); }

/* ---------- CTA with photo ---------- */
.cta3 { display:grid; grid-template-columns:1.3fr 1fr; gap:30px; align-items:center; text-align:left; padding:0; overflow:hidden; background:radial-gradient(400px 200px at 30% 0,rgba(249,115,22,.45),transparent 70%),linear-gradient(120deg,#0f1f4b,#2563eb 70%,#7c3aed); }
.cta3-text { padding:48px 0 48px 48px; } .cta3-text h2 { color:#fff; } .cta3-text p { color:#dbe4ff; }
.cta3-photo { align-self:stretch; display:flex; } .cta3-photo .crop { width:100%; --ar:1.119; border-radius:0; }

@media (max-width:1100px) { .agenda { grid-template-columns:repeat(3,1fr); } .agenda li { padding-top:44px; } }
@media (max-width:1000px) {
  .hero3-grid, .prog-grid { grid-template-columns:1fr; } .collage3 { max-width:560px; margin:6px auto 0; }
  .gal { grid-template-columns:1fr 1fr; } .cta3 { grid-template-columns:1fr; } .cta3-text { padding:34px 28px 10px; } .cta3-photo .crop { --ar:1.8; }
  .ws-img { --ar:1.4; } .ws-hero::after { background:linear-gradient(180deg,rgba(11,21,53,.9),rgba(11,21,53,.82)); } .ws-overlay { position:relative; max-width:none; } .ws-hero { background:#0b1535; }
  .ws-img { position:absolute; inset:0; height:100%; aspect-ratio:auto; } .ws-img img { width:100%; left:0; top:0; height:100%; object-fit:cover; }
}
@media (max-width:640px) { .hero3 { padding:40px 0 90px; } .collage3 .fc { display:none; } .facts3 { grid-template-columns:1fr 1fr; } .modules { grid-template-columns:1fr; } .agenda { grid-template-columns:1fr 1fr; } .gal { gap:10px; } .gal figure:nth-child(even) { transform:none; } .seal { width:100px; height:100px; } }

/* ===== compact hero (categories visible without scrolling), one-line heading, 24/7 watch on the right of the menu, big filter ===== */
.header2 .hd { position:relative; }
.header2 .t247 { position:absolute; right:20px; top:50%; transform:translateY(-50%); margin:0; }
.hs-hero { min-height:0; }
.hs-hero .hs-brand { display:none; }
.hs-hero .hs-wrap { padding-top:30px; padding-bottom:6px; }
.hs-hero h1.hero-title { white-space:nowrap; font-size:clamp(1.25rem,3.6vw,2.7rem); margin:0 auto 8px; max-width:none; }
.hs-hero .hs-lead { margin-bottom:16px; font-size:1rem; }
.hs-search { margin-top:14px; margin-bottom:10px; padding:7px; }
.hs-search input { padding:12px 18px; }
.hs-hero .hs-popular { margin-bottom:14px; }
.hs-hero .hs-stats { padding:10px 30px; gap:6px 40px; margin-top:0; }
.hs-hero .hs-stats b { font-size:1.35rem; }
.hs-cats-wrap { padding-top:16px; padding-bottom:84px; }
.hs-cats h2 { margin:2px 0 12px; font-size:clamp(1.2rem,2.2vw,1.65rem); }
.hs-hero .hs-dots { bottom:60px; }
@media (max-height:860px) { .hs-hero .hs-lead { display:none; } }
@media (max-height:760px) { .hs-hero .hs-popular { display:none; } }
@media (max-width:760px) { .hs-hero h1.hero-title { white-space:normal; } .header2 .t247 { right:10px; } }
@media (max-width:900px) { .header2 .t247 { position:static; transform:none; order:3; } }

/* the filter: big, dark gradient card with white fields */
.filters { max-width:1200px; padding:26px 28px 26px; border:0; border-radius:28px; animation:none;
    background:radial-gradient(520px 260px at 92% -10%,rgba(249,115,22,.45),transparent 70%), radial-gradient(480px 260px at 0% 110%,rgba(56,189,248,.3),transparent 70%), radial-gradient(rgba(255,255,255,.07) 1.5px,transparent 1.5px) 0 0/24px 24px, linear-gradient(135deg,#0f1f4b,#1e3a8a 55%,#3730a3); box-shadow:0 28px 64px rgba(15,31,75,.35); }
.filters h3 { margin:0 0 18px; font-size:1.55rem; color:#fff; justify-content:center; gap:16px; }
.filters h3 a { font-size:.85rem; padding:4px 14px; border-radius:99px; background:rgba(255,255,255,.16); color:#e0e7ff; text-decoration:none; } .filters h3 a:hover { background:rgba(255,255,255,.3); }
.filters .f-group { padding:4px 8px; border-right:0; }
.filters .f-group label.lbl, .filters .f-group .lbl { color:#c7d2fe; font-size:.74rem; }
.filters select, .filters input[type=text], .filters input[type=number] { height:54px; border:0; border-radius:14px; background:#fff; font-size:1rem; box-shadow:0 6px 16px rgba(0,0,0,.22); }
.filters .btn-block { height:54px; padding:0 40px; font-size:1.05rem; border-radius:14px; box-shadow:0 10px 24px rgba(249,115,22,.5); }
.filters .btn-block::before { content:"\1F50D  "; }

/* ===== v21: filter widths, 6-up gallery, bigger headings, social icons, footer ===== */
.filters { max-width:1400px; }
.filters .f-group.f-cat { flex:2 1 320px; }
.filters .f-group.f-level { flex:1.4 1 240px; }
.filters .f-group:nth-child(6) { flex:1 1 200px; }
.filters .btn-block { margin:0 0 0 auto; }
.gal { grid-template-columns:repeat(6,1fr); gap:14px; }
.gal figcaption { font-size:.8rem; padding:26px 10px 10px; }
@media (max-width:1000px) { .gal { grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px) { .gal { grid-template-columns:repeat(2,1fr); } }
.kicker { font-size:1.12rem; letter-spacing:.16em; }
.sec-title h2 { font-size:clamp(2rem,3.8vw,2.9rem); }
.hs-cats h2 { font-size:clamp(1.6rem,3vw,2.3rem); }
.sec-title p { font-size:1.08rem; }
.footer2 h4 { font-size:1.2rem; }
.f-grid { padding-top:40px; }
/* social icons */
.soc { display:flex; gap:10px; align-items:center; }
.soc-a { position:relative; display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:#fff; box-shadow:0 4px 12px rgba(0,0,0,.18); transition:transform .2s, box-shadow .2s; }
.soc-a svg { width:21px; height:21px; }
.soc-a:hover { transform:translateY(-3px) scale(1.08); box-shadow:0 8px 18px rgba(0,0,0,.28); }
.soc-a.fb svg { fill:#1877F2; }
.soc-a.wa svg { fill:#25D366; }
.soc-a.call svg { fill:#f97316; }
.soc-a.call::after { content:attr(data-tip); position:absolute; bottom:calc(100% + 10px); left:50%; transform:translateX(-50%) scale(.9); white-space:nowrap; padding:6px 12px; border-radius:8px; background:#0f1f4b; color:#fbbf24; font-size:.85rem; font-weight:700; opacity:0; pointer-events:none; transition:.18s; }
.soc-a.call:hover::after, .soc-a.call:focus::after { opacity:1; transform:translateX(-50%) scale(1); }
.header2 .hd-soc { position:absolute; right:20px; top:50%; transform:translateY(-50%); margin:0; }
.header2 .t247 { right:auto; left:20px; }
.foot-soc { margin-top:14px; }
.header2 .hd { gap:14px; }
@media (max-width:1100px) { .header2 .hd-soc { right:10px; } .header2 .t247 { left:10px; } .header2 .hd-soc .soc-a { width:34px; height:34px; } }
@media (max-width:900px) { .header2 .hd-soc { position:static; transform:none; order:2; } .header2 .hd { justify-content:space-between; } }
/* footer bottom centred */
.f-bottom { flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:6px; }
.f-bottom .dev b { color:#fbbf24; }
.f-bottom .totop { color:#c7d2fe; }

/* ===== v24: "Our students" gallery - larger, framed, professional ===== */
.gallery { background:linear-gradient(180deg,#fff,#f3f6fd 60%,#fff); padding-bottom:64px; }
.gallery > .wrap { max-width:1560px; }
.gal { gap:18px; padding:6px 0 26px; align-items:start; }
.gal figure { padding:8px; border-radius:22px; background:#fff; border:1px solid #e5eaf5; box-shadow:0 18px 40px rgba(15,31,75,.14); overflow:visible; transition:transform .35s, box-shadow .35s; }
.gal figure .crop { border-radius:16px; }
.gal figure::before { content:""; position:absolute; left:22px; right:22px; top:-1px; height:4px; border-radius:0 0 6px 6px; background:linear-gradient(90deg,#f97316,#fbbf24); z-index:2; }
.gal figure:nth-child(even) { transform:translateY(22px); }
.gal figure:hover { transform:translateY(-8px); box-shadow:0 26px 50px rgba(15,31,75,.24); }
.gal figure:nth-child(even):hover { transform:translateY(14px); }
.gal figcaption { left:8px; right:8px; bottom:8px; border-radius:0 0 16px 16px; padding:34px 12px 12px; font-size:.92rem; font-weight:700; text-align:center; letter-spacing:.01em; background:linear-gradient(180deg,transparent,rgba(11,21,53,.88)); }
@media (max-width:1000px) { .gal figure:nth-child(even) { transform:none; } .gal figure:nth-child(even):hover { transform:translateY(-8px); } }

/* ===== v25: "Start learning in 4 easy steps" - coloured step cards with arrows ===== */
.how { background:radial-gradient(700px 300px at 10% 0,rgba(37,99,235,.08),transparent 70%), radial-gradient(700px 300px at 90% 100%,rgba(249,115,22,.09),transparent 70%), linear-gradient(180deg,#f6f8fc,#eef2ff); padding-bottom:64px; }
.how .sec-title h2 { position:relative; padding-bottom:16px; }
.how .sec-title h2::after { content:""; position:absolute; left:50%; bottom:0; width:84px; height:4px; margin-left:-42px; border-radius:4px; background:linear-gradient(90deg,#2563eb,#7c3aed,#f97316); }
.steps { gap:46px; margin-top:34px; }
.steps .step { --c1:#2563eb; --c2:#38bdf8; padding:0; text-align:center; border:0; border-radius:22px; overflow:visible; background:#fff; box-shadow:0 16px 36px rgba(15,31,75,.12); }
.steps .step.s2 { --c1:#7c3aed; --c2:#c084fc; }
.steps .step.s3 { --c1:#ea580c; --c2:#fbbf24; }
.steps .step.s4 { --c1:#059669; --c2:#34d399; }
.steps .step:hover { transform:translateY(-8px); box-shadow:0 24px 46px rgba(15,31,75,.2); }
.steps .st-head { position:relative; padding:20px 18px 40px; border-radius:22px 22px 0 0; background:linear-gradient(135deg,var(--c1),var(--c2)); color:#fff; }
.steps .st-no { display:inline-block; padding:5px 16px; border-radius:99px; background:rgba(255,255,255,.22); border:1px solid rgba(255,255,255,.45); font-weight:800; font-size:.9rem; letter-spacing:.14em; text-transform:uppercase; }
.steps .st-head i { position:absolute; left:50%; bottom:-34px; transform:translateX(-50%); width:68px; height:68px; margin:0; display:grid; place-items:center; border-radius:50%; background:#fff; font-size:1.9rem; box-shadow:0 10px 22px rgba(15,31,75,.22); border:4px solid var(--c1); }
.steps .st-body { padding:50px 20px 26px; border-radius:0 0 22px 22px; background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--c1) 7%,#fff)); }
.steps .st-body h3 { font-size:1.2rem; color:#0f1f4b; margin:0 0 .4em; }
.steps .st-body p { font-size:.95rem; line-height:1.6; color:#475569; margin:0; }
.steps .step:not(:last-child)::after { content:"\2192"; position:absolute; right:-36px; top:46px; z-index:3; width:30px; height:30px; margin-right:-4px; display:grid; place-items:center; border-radius:50%; background:#fff; color:var(--c1); font-weight:800; font-size:1.15rem; box-shadow:0 6px 14px rgba(15,31,75,.2); border:2px solid var(--c1); }
@media (max-width:1000px) { .steps { gap:48px 30px; } .steps .step:nth-child(2n)::after { display:none; } }
@media (max-width:640px) { .steps { gap:46px; } .steps .step:not(:last-child)::after { content:"\2193"; display:grid; right:auto; left:50%; top:auto; bottom:-40px; margin:0 0 0 -15px; } }

/* ===== v26: "Why choose us" - colourful professional cards, larger text ===== */
.why { gap:26px; margin-top:34px; }
.why .why-card { --c1:#2563eb; --c2:#38bdf8; --t:#eff6ff; padding:32px 28px 30px; border:0; border-radius:22px; text-align:left;
    background:linear-gradient(160deg,var(--t),#fff 70%); box-shadow:0 14px 34px rgba(15,31,75,.1); }
.why .why-card.w2 { --c1:#7c3aed; --c2:#c084fc; --t:#f5f3ff; }
.why .why-card.w3 { --c1:#ea580c; --c2:#fbbf24; --t:#fff7ed; }
.why .why-card.w4 { --c1:#059669; --c2:#34d399; --t:#ecfdf5; }
.why .why-card.w5 { --c1:#db2777; --c2:#f472b6; --t:#fdf2f8; }
.why .why-card.w6 { --c1:#0891b2; --c2:#22d3ee; --t:#ecfeff; }
.why .why-card::before { content:""; position:absolute; left:0; right:0; top:0; height:6px; background:linear-gradient(90deg,var(--c1),var(--c2)); }
.why .why-card::after { right:-34px; top:-34px; width:130px; height:130px; opacity:.14; background:linear-gradient(135deg,var(--c1),var(--c2)); }
.why .why-card:hover { transform:translateY(-8px); box-shadow:0 24px 46px rgba(15,31,75,.2); }
.why .why-card i { width:72px; height:72px; margin-bottom:18px; border-radius:20px; font-size:2.1rem; background:linear-gradient(135deg,var(--c1),var(--c2)); box-shadow:0 12px 24px rgba(15,31,75,.22); transition:transform .25s; }
.why .why-card:hover i { transform:scale(1.08) rotate(-4deg); }
.why .why-card h3 { font-size:1.4rem; font-weight:800; margin:0 0 .45em; color:var(--c1); }
.why .why-card p { font-size:1.08rem; line-height:1.65; color:#334155; }

/* ===== v27: featured program + workshop agenda - professional look ===== */
.prog { background:radial-gradient(640px 320px at 100% 0,rgba(249,115,22,.1),transparent 70%), radial-gradient(640px 320px at 0 100%,rgba(37,99,235,.1),transparent 70%), linear-gradient(180deg,#f8faff,#fff); padding:72px 0; }
.prog-grid { gap:48px; }
.prog-text { background:#fff; border-radius:28px; padding:36px 38px 34px; box-shadow:0 24px 54px rgba(15,31,75,.12); border:1px solid #e5eaf5; position:relative; }
.prog-text::before { content:""; position:absolute; left:38px; right:38px; top:0; height:5px; border-radius:0 0 8px 8px; background:linear-gradient(90deg,#2563eb,#7c3aed,#f97316); }
.prog-text .kicker { display:inline-block; padding:6px 16px; border-radius:99px; background:#fff1e6; font-size:.95rem; letter-spacing:.12em; }
.prog-text h2 { font-size:clamp(2rem,3.6vw,2.8rem); line-height:1.12; margin:.3em 0 .45em; color:#0f1f4b; }
.prog-text > p { font-size:1.08rem; line-height:1.7; color:#475569; }
.facts3 { gap:12px; margin:24px 0; }
.facts3 div { border:0; border-radius:16px; padding:16px 8px; color:#fff; box-shadow:0 10px 22px rgba(15,31,75,.16); background:linear-gradient(135deg,#2563eb,#38bdf8); }
.facts3 div:nth-child(2) { background:linear-gradient(135deg,#7c3aed,#c084fc); }
.facts3 div:nth-child(3) { background:linear-gradient(135deg,#ea580c,#fbbf24); }
.facts3 div:nth-child(4) { background:linear-gradient(135deg,#059669,#34d399); }
.facts3 i { font-size:1.7rem; margin-bottom:4px; }
.facts3 b { color:#fff; font-size:1.08rem; }
.facts3 span { color:rgba(255,255,255,.9); font-size:.82rem; font-weight:600; }
.modules { gap:12px; margin-bottom:26px; }
.modules li { padding:13px 14px 13px 62px; border:0; border-radius:14px; background:linear-gradient(120deg,color-mix(in srgb,var(--mc) 12%,#fff),#fff 85%); box-shadow:0 6px 16px rgba(15,31,75,.07); border-left:4px solid var(--mc); transition:transform .2s, box-shadow .2s; }
.modules li:hover { transform:translateY(-3px); box-shadow:0 12px 24px rgba(15,31,75,.14); }
.modules li::before { left:12px; width:40px; height:40px; border-radius:12px; font-size:1rem; box-shadow:0 6px 12px rgba(15,31,75,.2); }
.modules b { font-size:1.02rem; } .modules span { font-size:.84rem; font-weight:600; color:var(--mc); }
.prog-cta .btn-lg { padding-left:30px; padding-right:30px; }
@media (max-width:640px) { .prog-text { padding:28px 20px; } .prog-text::before { left:20px; right:20px; } }
/* agenda: 3 x 2 coloured cards, numbered */
.a1 { --ac:#2563eb; } .a5 { --ac:#db2777; } .a6 { --ac:#0891b2; }
.workshop .sec-title h2 { position:relative; padding-bottom:16px; }
.workshop .sec-title h2::after { content:""; position:absolute; left:50%; bottom:0; width:84px; height:4px; margin-left:-42px; border-radius:4px; background:linear-gradient(90deg,#2563eb,#7c3aed,#f97316); }
.agenda { grid-template-columns:repeat(3,1fr); gap:34px 24px; margin-top:34px; counter-reset:ag; }
.agenda li { counter-increment:ag; padding:54px 22px 26px; border:0; border-radius:22px; text-align:center; background:linear-gradient(170deg,color-mix(in srgb,var(--ac) 11%,#fff),#fff 72%); box-shadow:0 14px 32px rgba(15,31,75,.1); }
.agenda li::before { content:counter(ag); position:absolute; right:16px; top:12px; font-size:3.2rem; font-weight:800; line-height:1; color:var(--ac); opacity:.14; }
.agenda li:hover { transform:translateY(-8px); box-shadow:0 24px 44px rgba(15,31,75,.18); }
.agenda time { top:-18px; font-size:.95rem; letter-spacing:.04em; padding:9px 22px; border-radius:99px; background:linear-gradient(135deg,var(--ac),color-mix(in srgb,var(--ac) 65%,#fff)); box-shadow:0 8px 18px rgba(15,31,75,.25); }
.agenda i { width:70px; height:70px; font-size:2rem; background:#fff; border:3px solid var(--ac); box-shadow:0 8px 18px rgba(15,31,75,.14); margin-bottom:14px; }
.agenda b { font-size:1.2rem; margin-bottom:6px; } .agenda span { font-size:.98rem; line-height:1.5; color:#475569; }
.ws-badges { gap:12px; margin-top:34px; }
.ws-badges li { padding:10px 22px; font-size:.98rem; border:0; background:linear-gradient(135deg,#fff,#eef2ff); box-shadow:0 8px 18px rgba(15,31,75,.1); }
@media (max-width:1000px) { .agenda { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { .agenda { grid-template-columns:1fr; } }

/* ===== v28: featured program as ONE card - photo panel + content, aligned ===== */
.prog-grid { grid-template-columns:.85fr 1.15fr; gap:0; align-items:stretch; background:#fff; border-radius:32px; overflow:hidden; border:1px solid #e5eaf5; box-shadow:0 30px 64px rgba(15,31,75,.16); padding:0; }
.prog-photo { position:relative; padding:44px 36px; display:flex; align-items:center; justify-content:center;
    background:radial-gradient(360px 220px at 90% 0,rgba(249,115,22,.5),transparent 70%), radial-gradient(320px 220px at 0 100%,rgba(56,189,248,.35),transparent 70%), linear-gradient(150deg,#0f1f4b,#1e3a8a 60%,#4338ca); }
.prog-photo::before { display:none; }
.prog-photo .frame { width:100%; border:6px solid #fff; border-radius:24px; transform:none; box-shadow:0 22px 44px rgba(0,0,0,.4); }
.prog-photo .seal { right:18px; top:18px; width:116px; height:116px; }
.prog-text { background:transparent; border:0; border-radius:0; box-shadow:none; padding:44px 46px 40px; }
.prog-text::before { display:none; }
.prog-text h2 { font-size:clamp(2rem,3.4vw,2.7rem); line-height:1.15; margin:.35em 0 .5em; color:#0f1f4b; }
.prog-text h2 .grad { display:block; font-size:1.1em; margin-top:.1em; }
.prog-text h2 .grad::after { content:""; display:block; width:84px; height:4px; margin-top:12px; border-radius:4px; background:linear-gradient(90deg,#f97316,#ec4899); }
@media (max-width:900px) { .prog-grid { grid-template-columns:1fr; } .prog-photo { padding:34px 24px; } .prog-text { padding:30px 22px; } }

/* ===== v30: course cards - restrained, corporate look (navy + one accent) ===== */
.catalog .toolbar { padding:14px 4px 14px; margin-bottom:24px; border-bottom:2px solid #e2e8f0; font-size:1.05rem; color:#475569; }
.catalog .toolbar b { font-size:1.35rem; color:#0f1f4b; font-weight:700; }
.catalog .toolbar label { font-weight:600; color:#475569; }
.catalog .grid { gap:28px 24px; }
.grid .course { position:relative; border:1px solid #dde3ee; border-radius:10px; background:#fff; box-shadow:0 1px 3px rgba(15,31,75,.06); transition:box-shadow .2s, border-color .2s, transform .2s; }
.grid .course:hover { transform:translateY(-3px); border-color:#b6c3dc; box-shadow:0 14px 30px rgba(15,31,75,.12); }
.grid .course .course-img { border-radius:0; }
.grid .course .flag { background:#0f1f4b; color:#fff; border-radius:4px; padding:4px 10px; font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; top:12px; left:12px; }
.grid .course .off { background:#b91c1c; border-radius:4px; padding:4px 10px; font-size:.78rem; top:12px; right:12px; }
.grid .course .course-body { padding:20px 22px 20px; gap:10px; }
.grid .course .cat { align-self:flex-start; padding:0; border-radius:0; background:none; font-size:.76rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#475569; }
.grid .course h3 { font-size:1.28rem; line-height:1.3; font-weight:700; letter-spacing:-.005em; }
.grid .course h3 a { color:#0f1f4b; }
.grid .course h3 a:hover { color:#1d4ed8; }
.grid .course .clamp { font-size:.96rem; line-height:1.6; color:#475569; }
.grid .course .meta { gap:6px 18px; margin-top:4px; padding:10px 0 0; border-top:1px solid #eef1f6; font-size:.86rem; color:#475569; }
/* v35: professional footer bottom line */
.footer2 .f-bottom { padding:24px 0 26px; gap:10px; border-top:1px solid rgba(255,255,255,.14); }
.footer2 .f-bottom .f-copy { font-size:.95rem; letter-spacing:.01em; color:#c7d2fe; background:none; border:0; padding:0; margin:0; cursor:default; }
.footer2 .f-bottom .f-copy b { color:#fff; font-weight:600; }
.footer2 .f-bottom .dev-sep { display:block; width:48px; height:2px; border-radius:2px; background:linear-gradient(90deg,transparent,#fbbf24,transparent); }
.footer2 .f-bottom .dev { font-size:.88rem; letter-spacing:.06em; text-transform:uppercase; color:#94a3d8; }
.footer2 .f-bottom .dev a { margin-left:4px; font-weight:700; color:#fbbf24; text-decoration:none; border-bottom:1px solid rgba(251,191,36,.5); padding-bottom:1px; transition:color .2s, border-color .2s; }
.footer2 .f-bottom .dev a:hover { color:#fff; border-color:#fff; }

/* v33: 24/7 helpdesk watch, top right corner of the brand bar */
.hs-top { position:relative; }
.helpdesk { display:inline-flex; align-items:center; gap:14px; padding:8px 22px 8px 8px; border-radius:99px; text-align:left; background:rgba(8,16,48,.62); border:1px solid rgba(251,191,36,.55); box-shadow:0 12px 30px rgba(0,0,0,.35); backdrop-filter:blur(10px); }
.helpdesk .watch { font-size:58px; }
.helpdesk .hd-text { display:flex; flex-direction:column; line-height:1.15; }
.helpdesk .hd-text b { font-size:1.5rem; font-weight:800; letter-spacing:.04em; color:#fde68a; }
.helpdesk .hd-text span { font-size:.95rem; font-weight:700; color:#fff; }
.helpdesk .hd-text small { font-size:.76rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#c7d2fe; }
/* hero: top right corner, level with the "Hands on learning" block */
.hero-help { position:absolute; right:0; top:4px; z-index:5; }
.foot-help { margin-top:18px; }
@media (max-width:1180px) { .hero-help { position:static; margin:0 auto 18px; } }

/* v32: featured program heading - solid colours (gradient text could vanish), larger */
.prog-text h2 { font-size:clamp(2.2rem,4vw,3.1rem); font-weight:800; line-height:1.15; color:#0f1f4b; text-shadow:none; }
.prog-text h2 .grad { display:block; margin-top:.12em; font-size:1em; background:none; -webkit-background-clip:border-box; background-clip:border-box; -webkit-text-fill-color:#c2410c; color:#c2410c; }
.prog-text h2 .grad::after { content:""; display:block; width:90px; height:4px; margin-top:12px; border-radius:4px; background:#c2410c; }
.grid .course h3 { font-size:1.4rem; }
.grid .course .meta { gap:10px 22px; padding-top:14px; font-size:1.02rem; font-weight:600; color:#1e293b; }
.grid .course .meta li { display:inline-flex; align-items:center; gap:8px; }
.grid .course .meta .mi { flex:0 0 20px; color:#1d4ed8; }
.grid .course .course-foot { padding-top:16px; border-top:1px solid #e5e9f2; }
.grid .course .price .now { font-size:1.35rem; font-weight:700; color:#0f1f4b; }
.grid .course .course-foot .btn { padding:10px 20px; border:1.5px solid #0f1f4b; border-radius:6px; background:#0f1f4b; color:#fff; font-weight:600; letter-spacing:.02em; box-shadow:none; transition:background .2s, border-color .2s; }
.grid .course .course-foot .btn:hover { background:#1d4ed8; border-color:#1d4ed8; }

/* v36 (final): helpdesk badge - compact; far right corner of hero, level with "Get in touch" in footer */
.helpdesk { gap:10px; padding:6px 16px 6px 6px; }
.helpdesk .watch { font-size:44px; }
.helpdesk .hd-text b { font-size:1.12rem; }
.helpdesk .hd-text span { font-size:.8rem; }
.helpdesk .hd-text small { font-size:.64rem; letter-spacing:.09em; }
.hero-help { position:absolute; right:calc(50% - 50vw + 22px); top:-8px; }
.f-grid > div:last-child { position:relative; }
.foot-help { position:absolute; right:0; top:-6px; margin:0; padding:5px 12px 5px 5px; gap:8px; }
.foot-help .watch { font-size:38px; }
.foot-help .hd-text b { font-size:1rem; }
.foot-help .hd-text span { font-size:.72rem; }
.foot-help .hd-text small { font-size:.58rem; }
@media (max-width:1180px) { .hero-help { position:static; margin:0 auto 18px; } }
@media (max-width:900px) { .foot-help { position:static; margin-top:16px; } }

/* ===== v38: footer - corporate layout ===== */
.footer2 { margin-top:56px; position:relative; border-top:4px solid #fbbf24; background:radial-gradient(700px 300px at 0 0,rgba(37,99,235,.18),transparent 70%), linear-gradient(180deg,#0f1f4b,#0a1330); }
.footer2 .f-grid { grid-template-columns:1.7fr 1fr 1.1fr 1.3fr; gap:0; padding:56px 0 44px; }
.footer2 .f-grid > div { padding:0 34px; border-left:1px solid rgba(255,255,255,.1); }
.footer2 .f-grid > div:first-child { padding-left:0; border-left:0; }
.footer2 .f-grid > div:last-child { padding-right:0; }
.footer2 h4 { position:relative; margin:0 0 22px; padding-bottom:14px; font-size:1rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#fff; }
.footer2 h4::after { content:""; position:absolute; left:0; bottom:0; width:38px; height:3px; border-radius:3px; background:#fbbf24; }
.footer2 .f-about p { margin:16px 0 0; font-size:1.02rem; line-height:1.65; color:#d5ddf7; font-weight:500; }
.footer2 .f-about p.small { font-size:.95rem; color:#9fb0e0; font-weight:400; }
.footer2 ul li { margin:0; border-bottom:1px solid rgba(255,255,255,.07); }
.footer2 ul li:last-child { border-bottom:0; }
.footer2 ul a { position:relative; display:block; padding:10px 0 10px 20px; font-size:1.02rem; color:#c7d2fe; transition:color .2s, padding-left .2s; }
.footer2 ul a::before { content:"\203A"; position:absolute; left:0; top:50%; transform:translateY(-52%); font-size:1.35rem; font-weight:700; color:#fbbf24; }
.footer2 ul a:hover { color:#fff; padding-left:26px; }
.footer2 .fi { align-items:center; gap:14px; margin:0 0 14px; font-size:1.02rem; color:#d5ddf7; }
.footer2 .fi i { width:38px; height:38px; border-radius:10px; font-size:1.05rem; background:rgba(251,191,36,.14); border:1px solid rgba(251,191,36,.35); }
.footer2 .foot-soc { margin-top:22px; }
.footer2 .f-bottom { padding:22px 0 26px; }
@media (max-width:1000px) {
  .footer2 .f-grid { grid-template-columns:1fr 1fr; gap:36px 0; padding:44px 0 30px; }
  .footer2 .f-grid > div:nth-child(odd) { padding-left:0; border-left:0; }
  .footer2 .f-grid > div:nth-child(even) { padding-right:0; }
}
@media (max-width:560px) {
  .footer2 .f-grid { grid-template-columns:1fr; }
  .footer2 .f-grid > div { padding:0; border-left:0; }
}

/* ===== v39: hero lead + worldwide / flexible-time message ===== */
.hs-hero .hs-lead { display:block !important; font-size:1.3rem; line-height:1.6; font-weight:500; max-width:46em; margin:0 auto 22px; }
.hs-global { display:flex; justify-content:center; gap:0; max-width:900px; margin:0 auto 26px; border-radius:16px; background:rgba(8,16,48,.58); border:1px solid rgba(255,255,255,.22); backdrop-filter:blur(10px); box-shadow:0 16px 38px rgba(0,0,0,.35); overflow:hidden; text-align:left; }
.hs-global .g-item { flex:1 1 0; display:flex; align-items:center; gap:16px; padding:16px 24px; }
.hs-global .g-item + .g-item { border-left:1px solid rgba(255,255,255,.18); }
.hs-global .g-ico { flex:none; width:50px; height:50px; display:grid; place-items:center; border-radius:14px; color:#fbbf24; background:rgba(251,191,36,.14); border:1px solid rgba(251,191,36,.5); }
.hs-global .g-txt { display:flex; flex-direction:column; gap:3px; }
.hs-global .g-txt b { font-size:1.1rem; font-weight:700; color:#fff; line-height:1.25; }
.hs-global .g-txt span { font-size:.95rem; color:#cfd8ff; line-height:1.45; }
@media (max-width:760px) { .hs-global { flex-direction:column; } .hs-global .g-item + .g-item { border-left:0; border-top:1px solid rgba(255,255,255,.18); } .hs-hero .hs-lead { font-size:1.1rem; } }

/* ===== v39: "Learning, together" gallery - corporate dark band, aligned photos ===== */
.gallery { background:radial-gradient(700px 320px at 15% 0,rgba(37,99,235,.28),transparent 70%), radial-gradient(600px 300px at 95% 100%,rgba(249,115,22,.18),transparent 70%), linear-gradient(180deg,#0f1f4b,#0a1330); padding:72px 0 80px; }
.gallery .sec-title { margin-top:0; }
.gallery .sec-title .kicker { color:#fbbf24; padding:6px 18px; border:1px solid rgba(251,191,36,.5); border-radius:99px; background:rgba(251,191,36,.1); font-size:.95rem; }
.gallery .sec-title h2 { color:#fff; position:relative; padding-bottom:18px; }
.gallery .sec-title h2::after { content:""; position:absolute; left:50%; bottom:0; width:70px; height:3px; margin-left:-35px; border-radius:3px; background:#fbbf24; }
.gallery .sec-title p { color:#b9c6f2; }
.gallery .gal { gap:20px; padding:10px 0 0; align-items:stretch; }
.gallery .gal figure, .gallery .gal figure:nth-child(even) { transform:none; padding:8px 8px 0; background:#fff; border:0; border-radius:14px; box-shadow:0 18px 40px rgba(0,0,0,.38); overflow:hidden; display:flex; flex-direction:column; }
.gallery .gal figure:hover, .gallery .gal figure:nth-child(even):hover { transform:translateY(-6px); box-shadow:0 26px 54px rgba(0,0,0,.5); }
.gallery .gal figure::before { left:0; right:0; top:0; height:4px; border-radius:0; background:#fbbf24; }
.gallery .gal figure .crop { border-radius:8px; margin-top:4px; }
.gallery .gal figcaption { position:static; padding:12px 6px 14px; text-align:center; font-size:.92rem; font-weight:700; letter-spacing:.02em; color:#0f1f4b; background:none; }

/* ===== v40: counselling CTA - corporate panel ===== */
.cta.cta3 { grid-template-columns:1.15fr 1fr; gap:0; align-items:stretch; border-radius:24px; overflow:hidden; text-align:left; border-top:4px solid #fbbf24;
    background:radial-gradient(520px 260px at 0 0,rgba(37,99,235,.35),transparent 70%), linear-gradient(135deg,#0f1f4b,#0a1330); box-shadow:0 30px 64px rgba(15,31,75,.35); }
.cta3-text { padding:52px 52px 52px 56px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.cta-kicker { display:inline-block; margin-bottom:16px; padding:6px 16px; border-radius:99px; border:1px solid rgba(251,191,36,.55); background:rgba(251,191,36,.1); color:#fbbf24; font-size:.85rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.cta3-text h2 { font-size:clamp(1.9rem,3.2vw,2.6rem); line-height:1.18; font-weight:800; color:#fff; margin:0 0 12px; }
.cta3-text p { font-size:1.12rem; color:#c7d2fe; margin:0 0 20px; }
.cta-points { list-style:none; margin:0 0 30px; padding:0; display:grid; gap:12px; }
.cta-points li { position:relative; padding-left:34px; font-size:1.02rem; color:#e3e9ff; line-height:1.45; }
.cta-points li::before { content:"\2713"; position:absolute; left:0; top:-1px; width:24px; height:24px; display:grid; place-items:center; border-radius:50%; background:#fbbf24; color:#0f1f4b; font-weight:800; font-size:.85rem; }
.cta3-text .cta-btn { padding:15px 34px; border:0; border-radius:10px; background:#fbbf24; color:#0f1f4b; font-weight:800; font-size:1.05rem; letter-spacing:.01em; box-shadow:0 12px 26px rgba(251,191,36,.35); transition:transform .2s, box-shadow .2s, background .2s; }
.cta3-text .cta-btn:hover { background:#fff; transform:translateY(-2px); box-shadow:0 16px 32px rgba(0,0,0,.35); }
.cta3-photo { padding:34px 40px 34px 0; align-items:center; }
.cta3-photo .crop { border-radius:18px; border:6px solid #fff; box-shadow:0 22px 44px rgba(0,0,0,.45); width:100%; }
@media (max-width:900px) { .cta.cta3 { grid-template-columns:1fr; } .cta3-text { padding:36px 26px 20px; } .cta3-photo { padding:0 26px 30px; } }

/* ===== v43: country / currency selector ===== */
.ccy-pick label { display:flex; align-items:center; gap:10px; font-size:.95rem; font-weight:700; color:#0f1f4b; }
.ccy-pick label span { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.ccy-pick label span::before { content:"\1F30D"; font-size:1.1rem; }
.ccy-pick select { height:44px; min-width:230px; padding:0 14px; border:1.5px solid #cfd8e8; border-radius:8px; background:#fff; font:inherit; font-weight:600; color:#0f1f4b; cursor:pointer; }
.ccy-pick select:focus { outline:2px solid #1d4ed8; outline-offset:1px; }
.catalog .toolbar { gap:14px 28px; }
.catalog .toolbar .ccy-pick { margin-left:auto; }
.side .ccy-pick, .fee-box .ccy-pick { margin-bottom:14px; }
.side .ccy-pick select, .fee-box .ccy-pick select { width:100%; min-width:0; }
.money { white-space:nowrap; }

/* ===== v42: worldwide / flexible-time band (right under the hero) ===== */
.reach { padding:54px 0 46px; background:linear-gradient(180deg,#fff,#f4f7fd); border-bottom:1px solid #e2e8f0; }
.reach-head { text-align:center; margin-bottom:30px; }
.reach-head .kicker { font-size:1rem; }
.reach-head h2 { position:relative; margin:.25em 0 0; padding-bottom:16px; font-size:clamp(1.8rem,3.2vw,2.5rem); font-weight:800; color:#0f1f4b; }
.reach-head h2::after { content:""; position:absolute; left:50%; bottom:0; width:70px; height:3px; margin-left:-35px; border-radius:3px; background:#fbbf24; }
.reach-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; max-width:1000px; margin:0 auto; }
.reach-card { display:flex; align-items:center; gap:22px; padding:28px 30px; border-radius:16px; background:#fff; border:1px solid #dde3ee; border-left:5px solid #fbbf24; box-shadow:0 16px 38px rgba(15,31,75,.1); transition:transform .25s, box-shadow .25s; }
.reach-card:hover { transform:translateY(-4px); box-shadow:0 22px 46px rgba(15,31,75,.16); }
.reach-ico { flex:none; width:72px; height:72px; display:grid; place-items:center; border-radius:18px; color:#fbbf24; background:linear-gradient(135deg,#0f1f4b,#1e3a8a); box-shadow:0 10px 22px rgba(15,31,75,.28); }
.reach-card h3 { margin:0 0 6px; font-size:1.3rem; font-weight:800; color:#0f1f4b; line-height:1.25; }
.reach-card p { margin:0; font-size:1.05rem; line-height:1.55; color:#475569; }
@media (max-width:800px) { .reach-grid { grid-template-columns:1fr; } .reach-card { padding:22px; } }

/* ===== v41: course catalogue - one full-width professional panel ===== */
.wrap.catalog { max-width:1380px; padding-bottom:64px; }
.catalog > section { background:#fff; border:1px solid #dde3ee; border-top:4px solid #0f1f4b; border-radius:16px; padding:0 34px 34px; box-shadow:0 20px 48px rgba(15,31,75,.1); }
.catalog .toolbar { margin:0 -34px 28px; padding:22px 34px; border-bottom:1px solid #e5e9f2; background:linear-gradient(180deg,#f8faff,#fff); border-radius:12px 12px 0 0; }
.catalog .toolbar .tb-title { display:flex; flex-direction:column; gap:2px; }
.catalog .toolbar .tb-title h2 { margin:0; font-size:1.6rem; font-weight:800; letter-spacing:-.01em; color:#0f1f4b; }
.catalog .toolbar .tb-count { font-size:1rem; color:#64748b; font-weight:500; }
.catalog .toolbar .tb-count b { font-size:1rem; color:#1d4ed8; font-weight:800; }
.catalog .toolbar label { display:flex; align-items:center; gap:10px; font-size:.95rem; font-weight:600; color:#334155; }
.catalog .toolbar select { height:44px; min-width:190px; padding:0 14px; border:1.5px solid #cfd8e8; border-radius:8px; background:#fff; font-weight:600; color:#0f1f4b; }
.catalog .grid { gap:30px 28px; }
.catalog .grid .course { height:100%; }
.catalog .pager, .catalog nav.pager { margin-top:34px; }
@media (max-width:700px) { .catalog > section { padding:0 16px 20px; } .catalog .toolbar { margin:0 -16px 20px; padding:16px; } }

/* ===== v44: toolbar fields (Your country / Sort by) - labelled, consistent ===== */
.catalog .toolbar { align-items:center; }
.catalog .toolbar .ccy-pick { margin-left:auto; }
.catalog .toolbar .tb-field, .ccy-pick .tb-field { display:flex; flex-direction:column; align-items:stretch; gap:6px; margin:0; }
.tb-cap { display:inline-flex; align-items:center; gap:7px; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#64748b; }
.tb-cap::before { font-size:.95rem; letter-spacing:0; color:#1d4ed8; }
.ccy-pick label span.tb-cap::before, .tb-cap-ccy::before { content:"\1F30D"; }
.tb-cap-sort::before { content:"\21C5"; font-weight:800; }
.catalog .toolbar select, .ccy-pick select { -webkit-appearance:none; appearance:none; height:48px; min-width:230px; padding:0 44px 0 16px; border:1.5px solid #cfd8e8; border-radius:10px; font:inherit; font-size:.98rem; font-weight:600; color:#0f1f4b; cursor:pointer;
    background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230f1f4b' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;
    box-shadow:0 2px 6px rgba(15,31,75,.06); transition:border-color .2s, box-shadow .2s; }
.catalog .toolbar select:hover, .ccy-pick select:hover { border-color:#8fa3c8; }
.catalog .toolbar select:focus, .ccy-pick select:focus { outline:0; border-color:#1d4ed8; box-shadow:0 0 0 3px rgba(29,78,216,.18); }
#results { transition:opacity .2s; }
#results.is-loading { opacity:.4; pointer-events:none; }
@media (max-width:700px) { .catalog .toolbar .ccy-pick { margin-left:0; } .catalog .toolbar .tb-field, .catalog .toolbar select { width:100%; } }

/* ===== v45: 24/7 helpdesk watch - header, left corner (on every page) ===== */
.header2 .hd-help { position:absolute; left:20px; top:50%; transform:translateY(-50%); right:auto; margin:0; gap:12px; padding:5px 18px 5px 5px; border-radius:12px; text-decoration:none;
    background:#fff; border:1px solid #dbe3f1; box-shadow:0 4px 14px rgba(15,31,75,.1); backdrop-filter:none; transition:box-shadow .2s, border-color .2s, transform .2s; }
.header2 .hd-help:hover { border-color:#b6c3dc; box-shadow:0 8px 20px rgba(15,31,75,.18); transform:translateY(-52%); }
.header2 .hd-help .watch { font-size:40px; }
.header2 .hd-help .hd-text { line-height:1.15; }
.header2 .hd-help .hd-text b { font-size:1.15rem; font-weight:800; letter-spacing:.04em; color:#0f1f4b; }
.header2 .hd-help .hd-text span { font-size:.78rem; font-weight:700; color:#1d4ed8; }
.header2 .hd-help .hd-text small { font-size:.6rem; font-weight:600; letter-spacing:.1em; color:#64748b; }
@media (max-width:1180px) { .header2 .hd-help { left:10px; padding-right:12px; } .header2 .hd-help .hd-text span, .header2 .hd-help .hd-text small { display:none; } }
@media (max-width:900px) { .header2 .hd-help { position:static; transform:none; order:1; } .header2 .hd-help:hover { transform:none; } }

/* ===== v48: 24/7 helpdesk - back in the hero's right corner, larger and clearly readable ===== */
.helpdesk.hero-help { position:absolute; right:calc(50% - 50vw + 22px); top:-6px; z-index:5; gap:18px; padding:10px 30px 10px 10px; border-radius:20px; text-decoration:none;
    background:linear-gradient(135deg,rgba(8,16,48,.82),rgba(15,31,75,.74)); border:1.5px solid rgba(251,191,36,.7); box-shadow:0 18px 40px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.12); backdrop-filter:blur(12px); transition:transform .25s, box-shadow .25s; }
.helpdesk.hero-help:hover { transform:translateY(-3px); box-shadow:0 24px 48px rgba(0,0,0,.55); }
.helpdesk.hero-help .watch { font-size:84px; }
.helpdesk.hero-help .hd-text { line-height:1.2; }
.helpdesk.hero-help .hd-text b { font-size:2.3rem; font-weight:800; letter-spacing:.04em; color:#fde68a; line-height:1; }
.helpdesk.hero-help .hd-text span { margin-top:4px; font-size:1.15rem; font-weight:700; color:#fff; }
.helpdesk.hero-help .hd-text small { margin-top:3px; font-size:.82rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#c7d2fe; }
/* counselling panel picture: clean portrait frame */
.cta3-photo { justify-content:center; padding:36px 48px 36px 0; }
.cta3-photo .cta-fig { position:relative; margin:0; width:100%; max-width:400px; border-radius:20px; overflow:hidden; border:1px solid rgba(255,255,255,.35); box-shadow:0 26px 54px rgba(0,0,0,.5), 0 0 0 7px rgba(255,255,255,.1); }
.cta3-photo .cta-fig .crop { width:100%; border:0; border-radius:0; box-shadow:none; }
.cta3-photo .cta-fig::after { content:""; position:absolute; left:0; right:0; bottom:0; height:46%; background:linear-gradient(180deg,transparent,rgba(8,16,48,.88)); pointer-events:none; }
.cta3-photo .cta-fig figcaption { position:absolute; z-index:2; left:18px; bottom:16px; display:inline-flex; align-items:center; gap:9px; padding:8px 16px; border-radius:99px; background:rgba(255,255,255,.95); color:#0f1f4b; font-size:.9rem; font-weight:700; letter-spacing:.02em; box-shadow:0 8px 18px rgba(0,0,0,.3); }
.cta3-photo .cta-fig .dot { width:9px; height:9px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 4px rgba(34,197,94,.25); }
@media (max-width:900px) { .cta3-photo { padding:0 26px 30px; } .cta3-photo .cta-fig { max-width:360px; } }

@media (max-width:1180px) { .helpdesk.hero-help { position:static; margin:0 auto 20px; display:inline-flex; } }
@media (max-width:560px) { .helpdesk.hero-help .watch { font-size:64px; } .helpdesk.hero-help .hd-text b { font-size:1.8rem; } }

/* ===== v50: About page - corporate layout ===== */
.ab-hero { position:relative; padding:64px 0 70px; color:#fff; border-bottom:4px solid #fbbf24;
    background:radial-gradient(640px 300px at 88% 0,rgba(37,99,235,.45),transparent 70%), radial-gradient(520px 260px at 0 100%,rgba(249,115,22,.2),transparent 70%), linear-gradient(135deg,#0f1f4b,#0a1330); }
.ab-crumbs { display:flex; gap:10px; align-items:center; margin-bottom:22px; font-size:.92rem; color:#9fb0e0; }
.ab-crumbs a { color:#c7d2fe; text-decoration:none; } .ab-crumbs a:hover { color:#fff; } .ab-crumbs b { color:#fbbf24; font-weight:600; }
.ab-kicker { display:inline-block; padding:6px 16px; border-radius:99px; border:1px solid rgba(251,191,36,.55); background:rgba(251,191,36,.1); color:#fbbf24; font-size:.85rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.ab-hero h1 { margin:18px 0 12px; font-size:clamp(2.2rem,4.6vw,3.4rem); line-height:1.1; font-weight:800; letter-spacing:-.02em; color:#fff; }
.ab-hero p { max-width:40em; margin:0; font-size:1.25rem; line-height:1.6; color:#d5ddf7; }
.ab-strip { margin-top:-34px; position:relative; z-index:2; }
.ab-strip .wrap { display:grid; grid-template-columns:repeat(4,1fr); background:#fff; border:1px solid #dde3ee; border-radius:16px; box-shadow:0 20px 44px rgba(15,31,75,.14); overflow:hidden; }
.ab-strip .wrap > div { display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:24px 26px; border-left:1px solid #e5e9f2; }
.ab-strip .wrap > div:first-child { border-left:0; }
.ab-strip i { font-style:normal; width:44px; height:44px; display:grid; place-items:center; margin-bottom:8px; border-radius:12px; font-size:1.4rem; background:#eaf0ff; }
.ab-strip b { font-size:1.15rem; color:#0f1f4b; } .ab-strip span { font-size:.95rem; color:#64748b; line-height:1.4; }
.ab-mission { padding:76px 0 56px; }
.ab-two { display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center; }
.ab-text .kicker { font-size:.95rem; }
.ab-text h2 { margin:.3em 0 .5em; font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.2; font-weight:800; color:#0f1f4b; }
.ab-text p { font-size:1.12rem; line-height:1.75; color:#475569; }
.ab-checks { list-style:none; margin:22px 0 0; padding:0; display:grid; gap:12px; }
.ab-checks li { position:relative; padding-left:36px; font-size:1.05rem; font-weight:600; color:#1e293b; }
.ab-checks li::before { content:"\2713"; position:absolute; left:0; top:-1px; width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:#0f1f4b; color:#fbbf24; font-size:.85rem; font-weight:800; }
.ab-card { border-radius:20px; background:#fff; border:1px solid #dde3ee; border-top:4px solid #fbbf24; box-shadow:0 22px 48px rgba(15,31,75,.13); overflow:hidden; }
.ab-card-head { display:flex; align-items:center; gap:14px; padding:20px 26px; background:linear-gradient(135deg,#0f1f4b,#1e3a8a); color:#fff; }
.ab-card-head > span { width:48px; height:48px; display:grid; place-items:center; border-radius:12px; font-size:1.5rem; background:rgba(255,255,255,.14); }
.ab-card-head b { display:block; font-size:1.2rem; } .ab-card-head small { color:#c7d2fe; font-size:.9rem; }
.ab-steps { list-style:none; margin:0; padding:10px 26px 14px; counter-reset:ab; }
.ab-steps li { counter-increment:ab; position:relative; padding:16px 0 16px 56px; border-bottom:1px solid #eef1f6; }
.ab-steps li:last-child { border-bottom:0; }
.ab-steps li::before { content:counter(ab); position:absolute; left:0; top:16px; width:38px; height:38px; display:grid; place-items:center; border-radius:10px; background:#eaf0ff; color:#1d4ed8; font-weight:800; font-size:1.05rem; }
.ab-steps b { display:block; font-size:1.1rem; color:#0f1f4b; } .ab-steps span { font-size:1rem; color:#475569; line-height:1.5; }
.ab-approach { padding:20px 0 70px; background:linear-gradient(180deg,#fff,#f4f7fd); }
.ab-approach .sec-title { margin-top:20px; }
.ab-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:30px; }
.ab-feat { padding:30px 26px; border-radius:16px; background:#fff; border:1px solid #dde3ee; box-shadow:0 10px 26px rgba(15,31,75,.07); transition:transform .25s, box-shadow .25s, border-color .25s; }
.ab-feat:hover { transform:translateY(-6px); border-color:#b6c3dc; box-shadow:0 20px 40px rgba(15,31,75,.15); }
.ab-ic { width:60px; height:60px; display:grid; place-items:center; margin-bottom:18px; border-radius:16px; font-size:1.8rem; background:linear-gradient(135deg,#0f1f4b,#1e3a8a); box-shadow:0 10px 20px rgba(15,31,75,.25); }
.ab-feat h3 { margin:0 0 8px; font-size:1.25rem; font-weight:800; color:#0f1f4b; }
.ab-feat p { margin:0; font-size:1.02rem; line-height:1.6; color:#475569; }
.ab-cta-wrap { padding:20px 0 70px; }
.ab-cta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; padding:40px 48px; border-radius:22px; border-top:4px solid #fbbf24; color:#fff; background:radial-gradient(500px 240px at 0 0,rgba(37,99,235,.35),transparent 70%), linear-gradient(135deg,#0f1f4b,#0a1330); box-shadow:0 26px 56px rgba(15,31,75,.32); }
.ab-cta h2 { margin:0 0 6px; font-size:clamp(1.6rem,2.8vw,2.1rem); color:#fff; }
.ab-cta p { margin:0; font-size:1.1rem; color:#c7d2fe; }
.ab-cta-btns { display:flex; flex-wrap:wrap; gap:12px; }
.ab-btn-gold { border:0; border-radius:10px; background:#fbbf24; color:#0f1f4b; font-weight:800; box-shadow:0 12px 26px rgba(251,191,36,.3); }
.ab-btn-gold:hover { background:#fff; }
.ab-btn-line { border:1.5px solid rgba(255,255,255,.55); border-radius:10px; background:transparent; color:#fff; font-weight:700; }
.ab-btn-line:hover { background:rgba(255,255,255,.12); border-color:#fff; color:#fff; }
@media (max-width:1000px) { .ab-strip .wrap { grid-template-columns:1fr 1fr; } .ab-strip .wrap > div:nth-child(3) { border-left:0; } .ab-strip .wrap > div:nth-child(n+3) { border-top:1px solid #e5e9f2; } .ab-two { grid-template-columns:1fr; gap:36px; } .ab-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .ab-strip .wrap, .ab-grid { grid-template-columns:1fr; } .ab-strip .wrap > div { border-left:0; border-top:1px solid #e5e9f2; } .ab-strip .wrap > div:first-child { border-top:0; } .ab-cta { padding:28px 22px; } }

/* ===== v51: Contact page ===== */
.ct-hero { padding-bottom:90px; }
.ct-cards { margin-top:-56px; position:relative; z-index:2; }
.ct-cards .wrap { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ct-card { --cc:#2563eb; display:flex; flex-direction:column; gap:4px; padding:26px 24px; border-radius:16px; background:#fff; border:1px solid #dde3ee; border-top:5px solid var(--cc); box-shadow:0 16px 36px rgba(15,31,75,.12); text-decoration:none; transition:transform .25s, box-shadow .25s; }
a.ct-card:hover { transform:translateY(-6px); box-shadow:0 24px 46px rgba(15,31,75,.2); }
.c-mail { --cc:#2563eb; } .c-call { --cc:#7c3aed; } .c-wa { --cc:#16a34a; } .c-loc { --cc:#ea580c; }
.ct-ic { width:56px; height:56px; display:grid; place-items:center; margin-bottom:10px; border-radius:14px; font-size:1.6rem; color:#fff; background:var(--cc); box-shadow:0 10px 20px rgba(15,31,75,.2); }
.ct-t { font-size:.82rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#64748b; }
.ct-card b { font-size:1.15rem; line-height:1.35; color:#0f1f4b; word-break:break-word; }
.ct-card small { font-size:.92rem; color:#64748b; }
.ct-main { padding:60px 0 80px; }
.ct-grid { display:grid; grid-template-columns:1.6fr 1fr; gap:34px; align-items:start; }
.ct-form { padding:36px 38px 38px; border-radius:20px; background:#fff; border:1px solid #dde3ee; border-top:5px solid #fbbf24; box-shadow:0 22px 48px rgba(15,31,75,.12); }
.ct-form-head { margin-bottom:22px; padding-bottom:18px; border-bottom:1px solid #e5e9f2; }
.ct-form-head h2 { margin:0 0 6px; font-size:1.9rem; font-weight:800; color:#0f1f4b; }
.ct-form-head p { margin:0; font-size:1.05rem; color:#64748b; }
.ct-form .lbl { font-size:.95rem; font-weight:700; color:#0f1f4b; }
.ct-form input[type=text], .ct-form input[type=email], .ct-form textarea { width:100%; padding:14px 16px; border:1.5px solid #cfd8e8; border-radius:10px; background:#f8faff; font:inherit; font-size:1.02rem; color:#0f1f4b; transition:border-color .2s, box-shadow .2s, background .2s; }
.ct-form input:focus, .ct-form textarea:focus { outline:0; border-color:#1d4ed8; background:#fff; box-shadow:0 0 0 3px rgba(29,78,216,.15); }
.ct-form .ct-send { margin-top:8px; padding:15px 38px; border:0; border-radius:10px; background:#0f1f4b; color:#fff; font-weight:700; font-size:1.05rem; box-shadow:0 12px 26px rgba(15,31,75,.3); }
.ct-form .ct-send:hover { background:#1d4ed8; }
.ct-side { display:grid; gap:20px; }
.ct-box { padding:26px 26px 24px; border-radius:16px; background:#fff; border:1px solid #dde3ee; box-shadow:0 10px 26px rgba(15,31,75,.08); }
.ct-box h3 { margin:0 0 12px; font-size:1.25rem; font-weight:800; color:#0f1f4b; }
.ct-box p { font-size:1.02rem; line-height:1.6; color:#475569; }
.ct-help { color:#fff; border:0; border-top:5px solid #fbbf24; background:radial-gradient(400px 200px at 100% 0,rgba(37,99,235,.4),transparent 70%), linear-gradient(135deg,#0f1f4b,#0a1330); }
.ct-help h3 { color:#fff; } .ct-help p { color:#c7d2fe; }
.ct-help .ct-ic { --cc:#fbbf24; color:#0f1f4b; }
.ct-btn-gold { border:0; border-radius:10px; background:#fbbf24; color:#0f1f4b; font-weight:800; }
.ct-btn-gold:hover { background:#fff; }
.ct-box .ab-checks { margin-top:4px; }
.ct-box .ab-checks li { font-size:1rem; }
.ct-box .soc-a { box-shadow:0 4px 12px rgba(15,31,75,.2); border:1px solid #e5e9f2; }
@media (max-width:1000px) { .ct-cards .wrap { grid-template-columns:1fr 1fr; } .ct-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .ct-cards .wrap { grid-template-columns:1fr; } .ct-form { padding:26px 20px; } }

/* ===== v46: toolbar field headings (Your country / Sort by) - larger ===== */
.catalog .toolbar .tb-field, .ccy-pick .tb-field { gap:8px; }
.tb-cap { gap:9px; font-size:1.05rem; font-weight:800; letter-spacing:.02em; text-transform:none; color:#0f1f4b; }
.tb-cap::before { display:grid; place-items:center; width:30px; height:30px; border-radius:8px; font-size:1.05rem; background:#eaf0ff; color:#1d4ed8; }
.catalog .toolbar select, .ccy-pick select { height:52px; min-width:250px; font-size:1.05rem; }

/* ===== v47: toolbar = ONE panel (title | country | sort), label beside its dropdown, flags ===== */
.catalog .toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px 32px; padding:20px 34px; background:linear-gradient(180deg,#f6f8fd,#fff); border-bottom:1px solid #dde3ee; }
.catalog .toolbar .tb-controls { display:flex; flex-wrap:wrap; align-items:center; gap:14px 0; margin-left:auto; padding:10px 14px; background:#fff; border:1px solid #dde3ee; border-radius:14px; box-shadow:0 6px 16px rgba(15,31,75,.07); }
.catalog .toolbar .tb-controls .ccy-pick { margin:0; padding-right:22px; border-right:1px solid #e2e8f0; }
.catalog .toolbar .tb-controls .tb-field + *, .catalog .toolbar .tb-controls > label { padding-left:22px; }
.catalog .toolbar .tb-field { flex-direction:row; align-items:center; gap:12px; }
.catalog .toolbar .tb-cap { white-space:nowrap; }
.catalog .toolbar .tb-controls select { min-width:220px; height:50px; }
/* flag dropdown */
.ccy-dd { position:relative; }
.ccy-btn { display:flex; align-items:center; gap:11px; height:50px; min-width:280px; padding:0 14px; border:1.5px solid #cfd8e8; border-radius:10px; background:#fff; font:inherit; font-size:1.02rem; font-weight:600; color:#0f1f4b; cursor:pointer; box-shadow:0 2px 6px rgba(15,31,75,.06); transition:border-color .2s, box-shadow .2s; }
.ccy-btn:hover { border-color:#8fa3c8; }
.ccy-btn:focus-visible, .ccy-dd.open .ccy-btn { outline:0; border-color:#1d4ed8; box-shadow:0 0 0 3px rgba(29,78,216,.18); }
.ccy-flag { flex:none; width:28px; height:21px; object-fit:cover; border-radius:3px; box-shadow:0 0 0 1px rgba(15,31,75,.18); }
.ccy-name { flex:1; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ccy-btn small, .ccy-menu small { font-size:.8rem; font-weight:700; letter-spacing:.06em; color:#64748b; }
.ccy-chev { flex:none; width:9px; height:9px; margin:-4px 2px 0 4px; border-right:2.5px solid #0f1f4b; border-bottom:2.5px solid #0f1f4b; transform:rotate(45deg); transition:transform .2s; }
.ccy-dd.open .ccy-chev { transform:rotate(-135deg); margin-top:4px; }
.ccy-menu { display:none; position:absolute; z-index:60; top:calc(100% + 8px); left:0; min-width:100%; max-height:340px; overflow:auto; margin:0; padding:6px; list-style:none; background:#fff; border:1px solid #cfd8e8; border-radius:12px; box-shadow:0 22px 48px rgba(15,31,75,.25); }
.ccy-dd.open .ccy-menu { display:block; }
.ccy-menu li { display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:8px; font-size:1rem; font-weight:600; color:#0f1f4b; cursor:pointer; outline:0; }
.ccy-menu li:hover, .ccy-menu li:focus { background:#eef3ff; }
.ccy-menu li[aria-selected="true"] { background:#e2ebff; color:#1d4ed8; }
.side .ccy-dd .ccy-btn, .fee-box .ccy-dd .ccy-btn { min-width:0; width:100%; }
.side .tb-field, .fee-box .tb-field { flex-direction:column; align-items:stretch; gap:8px; }
@media (max-width:900px) {
  .catalog .toolbar .tb-controls { width:100%; margin-left:0; }
  .catalog .toolbar .tb-controls .ccy-pick { padding-right:0; border-right:0; width:100%; }
  .catalog .toolbar .tb-controls > label { padding-left:0; width:100%; }
  .catalog .toolbar .tb-field { flex-direction:column; align-items:stretch; }
  .ccy-btn, .catalog .toolbar .tb-controls select { min-width:0; width:100%; }
}

