/* ==========================================================================
   INFOTICS Academy — public marketing site (area: site)
   Prefixes: pg- shared page blocks · hm- home · cr- courses · er- error pages
   ========================================================================== */

/* ---------- shared: page hero (x-site.page-hero) ---------- */
.pg-hero{position:relative}
.pg-hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%);pointer-events:none}
.pg-hero-glow{position:absolute;width:520px;height:520px;right:-140px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(33,198,215,.32),transparent 65%);pointer-events:none}
.pg-hero-grid{position:relative;z-index:2;display:grid;gap:40px;align-items:center}
.pg-hero-grid.has-aside{grid-template-columns:1.15fr .85fr}
.pg-hero-lead{max-width:680px;font-size:1.12rem}
.pg-hero-lead p:last-child{margin-bottom:0}
.pg-hero-actions{margin-top:26px}
.pg-hero .crumbs{margin-bottom:18px}
.pg-hero .crumbs a:hover{color:#fff}

/* ---------- shared: small building blocks ---------- */
.hm-white{background:#fff}
.hm-head-row{align-items:flex-end;margin-bottom:8px}
.hm-head-row .section-head{margin-bottom:0}
.pg-article-card{overflow:hidden;display:flex;flex-direction:column;height:100%}
.pg-article-cover{display:flex;align-items:flex-end;height:118px;padding:14px 18px;color:#fff;position:relative;overflow:hidden;text-decoration:none!important}
.pg-article-cover::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 12%,rgba(255,255,255,.3),transparent 45%),repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 2px,transparent 2px 14px)}
.pg-article-cover span{position:relative;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(7,17,31,.35);padding:4px 10px;border-radius:99px;backdrop-filter:blur(6px)}
.pg-article-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.pg-article-body h3{font-size:1.1rem;margin-bottom:.4em}
.pg-article-body h3 a{color:var(--ink)} .pg-article-body h3 a:hover{color:var(--brand-ink);text-decoration:none}
.pg-article-body .muted.xs{margin-top:auto}

/* ==========================================================================
   HOME
   ========================================================================== */
.hm-hero{padding:72px 0 96px}
.hm-hero h1{font-size:clamp(2.1rem,4vw,3.3rem);letter-spacing:-.022em}
a.hero-badge{text-decoration:none!important;transition:background .2s,border-color .2s}
a.hero-badge:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3);color:#fff}
.hm-hero .hero-stats{border-top:1px solid rgba(255,255,255,.1);padding-top:26px}
.hm-hero .hero-art{min-height:520px}
.hm-hero .hero-screen{inset:64px 34px 34px 16px;padding:18px 20px}
.hm-hero .fc-1{top:34px;left:-34px;right:auto;bottom:auto}
.hm-hero .fc-2{top:-2px;right:-6px;left:auto;bottom:auto}
.hm-hero .fc-3{bottom:-4px;right:-18px;left:auto;top:auto}
/* mock dashboard */
.hm-url{margin-left:10px;flex:1;height:20px;border-radius:7px;background:rgba(255,255,255,.07);font-size:.68rem;color:#8ea6c4;display:flex;align-items:center;padding:0 10px;overflow:hidden;white-space:nowrap}
.hero-screen .bar{align-items:center}
.hm-dash{display:grid;gap:16px}
.hm-dash-head{display:flex;justify-content:space-between;align-items:center;gap:14px}
.hm-dash-head small{display:block;color:#7fa0c7;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.hm-dash-head b{display:block;color:#fff;font:700 1.02rem var(--font-display);line-height:1.25;margin-top:2px}
.hm-ring{--p:0;flex-shrink:0;width:58px;height:58px;border-radius:50%;background:conic-gradient(#21c6d7 calc(var(--p)*1%),rgba(255,255,255,.12) 0);display:grid;place-items:center;position:relative}
.hm-ring::before{content:"";position:absolute;inset:6px;border-radius:50%;background:#0f2447}
.hm-ring b{position:relative;color:#fff;font-size:.78rem}
.hm-meters{display:grid;gap:11px}
.hm-meter{display:grid;grid-template-columns:1fr auto;gap:5px 10px;font-size:.78rem;color:#a9bfdc}
.hm-meter em{font-style:normal;color:#fff;font-weight:700}
.hm-track{grid-column:1/-1;height:6px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}
.hm-track i{display:block;height:100%;width:var(--w);border-radius:99px;background:var(--grad);transform-origin:left;animation:hmGrow 1.4s .3s cubic-bezier(.2,.7,.2,1) both}
@keyframes hmGrow{from{transform:scaleX(0)}to{transform:none}}
.hm-lessons{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.hm-lessons li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:11px;background:rgba(255,255,255,.05);font-size:.8rem;color:#b9cce6}
.hm-lessons li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hm-lessons li em{font-style:normal;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#7fa0c7}
.hm-lessons li.done svg{color:#34d399}
.hm-lessons li.now{background:rgba(10,102,255,.28);color:#fff;box-shadow:inset 0 0 0 1px rgba(90,176,255,.45)}
.hm-lessons li.now em{color:#7fd4ff}
.hm-illus{position:absolute;left:20px;bottom:10px;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#52709a}
.hm-fc-ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#fff;flex-shrink:0}
.hm-fc-ico.green{background:linear-gradient(135deg,#0d9d6b,#34d399)} .hm-fc-ico.blue{background:var(--grad)} .hm-fc-ico.violet{background:var(--grad-2)}
.hero-art .float-card{white-space:nowrap}

/* marquee strip */
.hm-strip{background:#fff;border-bottom:1px solid var(--line-2);padding:30px 0 22px}
.hm-strip-label{text-align:center;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-bottom:18px}
.hm-strip .marquee-item{color:#3d4f66}
.hm-strip .marquee-item svg{color:var(--brand-ink)}
.hm-strip-note{text-align:center;font-size:.76rem;color:var(--muted);margin:18px auto 0;max-width:720px}

/* journey */
.hm-journey{position:relative}
.hm-line{position:absolute;left:0;right:0;top:0;width:100%;height:64px;pointer-events:none;z-index:0}
.hm-line path{fill:none;stroke-width:3;stroke-linecap:round}
.hm-line .track{stroke:#d6e4f7;stroke-dasharray:.012 .014}
.hm-line .draw{stroke:url(#hmg);stroke-dasharray:1;stroke-dashoffset:1}
.hm-journey.in .draw{animation:drawline 2.6s .25s cubic-bezier(.4,0,.2,1) forwards}
.js-off .hm-line .draw{stroke-dashoffset:0}
.hm-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;position:relative;z-index:1}
.hm-step{position:relative;text-align:center;display:flex;flex-direction:column}
.hm-node{flex-shrink:0;position:relative;z-index:2;width:64px;height:64px;border-radius:20px;margin:0 auto;display:grid;place-items:center;color:#fff;background:var(--grad);box-shadow:0 0 0 8px var(--bg),0 14px 26px -10px rgba(10,102,255,.7)}
.hm-step:nth-child(2) .hm-node{background:linear-gradient(135deg,#0a66ff,#7c5cff)}
.hm-step:nth-child(3) .hm-node{background:var(--grad-2)}
.hm-step:nth-child(4) .hm-node{background:linear-gradient(135deg,#7c5cff,#ec4899)}
.hm-journey.in .hm-node{animation:hmPop .6s calc(.3s + var(--i)*.6s) cubic-bezier(.2,1.4,.4,1) both}
@keyframes hmPop{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.hm-step-card{margin-top:26px;text-align:center;flex:1}
.hm-step-card h3{margin-bottom:.35em}
.hm-step-card p{color:var(--muted);margin:0;font-size:.96rem}
.hm-step-n{position:absolute;top:12px;right:16px;font:800 1.5rem var(--font-display);color:#5b8def}
.hm-step-card{position:relative}
.hm-chips{justify-content:center}

/* upcoming batches */
.hm-batch{display:flex;align-items:center;gap:16px;padding:18px 20px;color:inherit;text-decoration:none!important}
.hm-batch>svg{color:var(--brand-ink);flex-shrink:0;transition:transform .2s}
.hm-batch:hover>svg{transform:translateX(4px)}
.hm-date{flex-shrink:0;width:58px;height:66px;border-radius:14px;background:var(--grad);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;box-shadow:0 10px 20px -10px rgba(10,102,255,.7)}
.hm-date b{font:800 1.55rem var(--font-display)} .hm-date span{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;margin-top:5px;opacity:.9}
.hm-batch-body{min-width:0;flex:1}
.hm-batch-body b{display:block;color:var(--ink);font:700 1rem var(--font-display);line-height:1.3}
.hm-batch-body small{display:block;color:var(--muted);margin:2px 0 8px}
.hm-batch-meta{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}

/* badge showcase */
.hm-badge-sec .split{gap:40px}
.hm-badge-stage{position:relative;min-height:470px;display:grid;place-items:center;padding-bottom:40px}
.hm-badge-glow{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(33,198,215,.5),rgba(10,102,255,.22) 45%,transparent 68%);filter:blur(10px)}
.hm-badge-main{position:relative;width:min(320px,72vw);height:auto;filter:drop-shadow(0 30px 50px rgba(0,0,0,.45));animation:float 7s ease-in-out infinite}
.hm-badge-orbit{position:absolute;width:92px;height:auto;filter:drop-shadow(0 12px 18px rgba(0,0,0,.4));animation:float 6s ease-in-out infinite}
.hm-badge-orbit.o1{left:4%;top:10%;animation-delay:-1s} .hm-badge-orbit.o2{right:2%;top:24%;width:78px;animation-delay:-3s} .hm-badge-orbit.o3{left:10%;bottom:20%;width:72px;animation-delay:-5s}
.hm-verify{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:12px 18px;white-space:nowrap;color:#fff}
.hm-verify b{display:block;font-size:.95rem} .hm-verify small{color:#a9bfdc;font-size:.78rem}
.hm-verify-ok{width:36px;height:36px;border-radius:50%;background:#12b981;display:grid;place-items:center;flex-shrink:0}
.hm-verify-steps{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:16px}
.hm-verify-steps li{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:start}
.hm-verify-steps li>span{width:34px;height:34px;border-radius:50%;background:var(--grad);color:#fff;font-weight:800;display:grid;place-items:center;font-family:var(--font-display)}
.hm-verify-steps b{color:#fff;display:block;font-family:var(--font-display)}
.hm-verify-steps p{margin:2px 0 0;color:#a9bfdc;font-size:.94rem}

/* exam mock */
.hm-exam{position:relative;padding:8px 0 70px}
.hm-exam-card{background:#fff;border-radius:20px;border:1px solid var(--line);box-shadow:var(--shadow-lg);overflow:hidden;max-width:480px}
.hm-exam-top{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--ink);color:#fff;padding:12px 18px}
.hm-exam-top b{font-family:var(--font-display);font-size:.95rem}
.hm-timer{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.12);padding:4px 11px;border-radius:9px;font:700 .86rem ui-monospace,Menlo,Consolas,monospace}
.hm-exam-body{padding:22px}
.hm-exam-body small{color:var(--muted);font-weight:600}
.hm-exam-body p{font:600 1.04rem/1.5 var(--font);color:var(--ink);margin:8px 0 16px}
.hm-opt{display:flex;align-items:center;gap:12px;padding:11px 14px;border:2px solid var(--line);border-radius:12px;margin-bottom:9px;font-size:.9rem;color:var(--text)}
.hm-opt i{width:26px;height:26px;border-radius:8px;background:#eef3fa;display:grid;place-items:center;font:800 .76rem var(--font);color:var(--muted);font-style:normal;flex-shrink:0}
.hm-opt.sel{border-color:var(--brand);background:var(--brand-50);color:var(--ink);font-weight:600}
.hm-opt.sel i{background:var(--brand);color:#fff}
.hm-pal{display:flex;gap:6px;margin-top:16px}
.hm-pal i{width:27px;height:27px;border-radius:8px;border:2px solid var(--line);display:grid;place-items:center;font:700 .72rem var(--font);color:var(--muted);font-style:normal}
.hm-pal i.a{background:var(--brand);border-color:var(--brand);color:#fff} .hm-pal i.f{border-color:var(--amber);color:#8a5a00} .hm-pal i.c{box-shadow:0 0 0 3px rgba(10,102,255,.3);border-color:var(--brand)}
.hm-result{position:absolute;right:-8px;bottom:0;width:232px;background:#fff;border-radius:16px;border:1px solid var(--line);padding:16px;box-shadow:var(--shadow-lg);animation:float 6s ease-in-out infinite}
.hm-result-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.hm-result-head b{font-family:var(--font-display);color:var(--ink)}
.hm-result-ico{width:30px;height:30px;border-radius:50%;background:#dcf7ea;color:#0b7a4b;display:grid;place-items:center}
.hm-dom{display:grid;grid-template-columns:78px 1fr;gap:10px;align-items:center;font-size:.76rem;color:var(--muted);margin-bottom:8px}
.hm-dom .hm-track{background:#e6edf6}
.hm-result small{display:block;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:10px}

/* careers */
.hm-jobcount{display:flex;align-items:baseline;gap:14px;margin:22px 0 18px}
.hm-jobcount b{font:800 3.2rem/1 var(--font-display);color:var(--brand-ink);letter-spacing:-.03em}
.hm-jobcount span{color:var(--muted);font-weight:600}
.hm-job{color:inherit;text-decoration:none!important;align-items:center}
.hm-job>svg{color:var(--brand-ink)}
.hm-job-title{display:block;color:var(--ink);font:700 1.05rem var(--font-display)}

/* trainers */
.hm-trainer{display:block;color:inherit;text-decoration:none!important}
.hm-trainer h3{margin-bottom:.15em}

/* faq / corporate */
.hm-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.hm-more{display:inline-flex;align-items:center;gap:8px;font-weight:700;margin-top:8px}
.hm-corp{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;padding:48px;align-items:center;background:linear-gradient(135deg,#fff 0%,#f0f6ff 100%)}
.hm-corp-copy .lead{margin-bottom:22px}
.hm-corp-list{margin:0}
.hm-corp-list li{padding:9px 0;border-bottom:1px dashed var(--line)}
.hm-corp-list li:last-child{border-bottom:0}
.cta-band .blob.b2{right:-60px;bottom:-120px}
.cta-band>*{position:relative}
.cta-band .lead{color:#b3c3d8}

/* ---------- responsive: home ---------- */
@media (max-width:1080px){
  .pg-hero-grid.has-aside{grid-template-columns:1fr}
  .hm-line{display:none}
  .hm-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}
  .hm-faq,.hm-corp{grid-template-columns:1fr;gap:30px}
  .hm-badge-stage{min-height:420px}
  .hm-exam{max-width:520px;margin:0 auto;width:100%}
}
@media (max-width:680px){
  .hm-hero{padding:44px 0 56px}
  .hm-chip-more{display:none}
  .hm-steps{grid-template-columns:1fr}
  .hm-corp{padding:28px 22px}
  .hm-badge-stage{min-height:380px}
  .hm-badge-orbit{display:none}
  .hm-verify{white-space:normal;width:calc(100% - 20px)}
  .hm-result{position:static;width:auto;margin-top:16px;animation:none}
  .hm-exam{padding-bottom:0}
  .hm-head-row .btn{display:none}
  .hm-jobcount b{font-size:2.6rem}
}

.clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.course-foot .price{white-space:nowrap}

/* ==========================================================================
   COURSES
   ========================================================================== */
.course-card .price{font-size:1.05rem}
.course-foot{flex-wrap:wrap}
.cr-hero-search{display:flex;gap:10px;flex-wrap:wrap;width:100%;max-width:640px}
.cr-hero-search .searchbox{flex:1;min-width:0}.cr-hero-search .btn{flex-shrink:0}
.cr-hero-search .input{background:rgba(255,255,255,.96);border-color:transparent}
.cr-filterbar{display:flex;justify-content:space-between;align-items:center;gap:14px 24px;flex-wrap:wrap;margin-bottom:26px}
.cr-selects .select{width:auto;min-width:150px;padding-top:9px;padding-bottom:9px}
.cr-grid{grid-template-columns:repeat(auto-fill,minmax(262px,1fr))}
.cr-grid>div{display:flex}.cr-grid>div>.course-card{flex:1}

/* course detail */
.cr-hero-card{position:relative;overflow:hidden;border-radius:22px;padding:28px;color:#fff;box-shadow:var(--shadow-lg);isolation:isolate}
.cr-hero-card::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 85% 12%,rgba(255,255,255,.28),transparent 45%),repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 2px,transparent 2px 14px)}
.cr-hero-ico{position:absolute;right:-24px;top:-22px;opacity:.2;transform:rotate(12deg);z-index:-1}
.cr-hero-vendor{font:800 1.7rem var(--font-display);letter-spacing:.01em;text-shadow:0 2px 14px rgba(0,0,0,.25);margin-bottom:60px}
.cr-hero-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin:0;padding:16px 18px;border-radius:16px;background:rgba(7,17,31,.32);backdrop-filter:blur(8px)}
.cr-hero-facts dt{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;opacity:.8;font-weight:700}
.cr-hero-facts dd{margin:2px 0 0;font-weight:700;font-size:.95rem;line-height:1.35}
.cr-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:44px;align-items:start;padding-top:52px;padding-bottom:64px}
.cr-block{margin-bottom:56px;scroll-margin-top:96px}
.cr-block h2{font-size:clamp(1.4rem,2.2vw,1.85rem)}
.cr-answer{font-size:1.08rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:14px;padding:18px 22px;box-shadow:var(--shadow-sm)}
.cr-glance th{width:38%;text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--muted);background:#f8fbff;font-weight:600}
.cr-glance td{font-weight:600;color:var(--ink)}
.cr-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:4px 28px}
.cr-mini-ico,.cr-inc-ico{width:44px;height:44px;border-radius:12px;background:var(--brand-50);color:var(--brand-ink);display:grid;place-items:center;flex-shrink:0;margin-bottom:12px}
.cr-inc-ico{margin-bottom:0}
.cr-mod-n{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-ink);font-weight:800;margin-right:8px}
.cr-mod-desc{margin:0;padding:0 20px 12px;color:var(--muted);font-size:.92rem}
.acc-module summary::-webkit-details-marker{display:none}
.acc-module[open]{border-color:#bcd3f5}
.acc-module .lessons li svg{color:var(--brand-ink)}
.cr-included{gap:26px 30px}
.cr-inc{display:flex;gap:14px}.cr-inc b{color:var(--ink);font-family:var(--font-display)}.cr-inc p{margin:2px 0 0;color:var(--muted);font-size:.93rem}
.cr-link-card{display:block;color:inherit;text-decoration:none!important}
.cr-link-card h3{color:var(--ink);margin-bottom:.3em}
.cr-link-card .bold{color:var(--brand-ink);display:inline-flex;gap:6px;align-items:center}
.cr-badge-card{display:flex;gap:18px;align-items:center}
.cr-badge-card img{flex-shrink:0;height:auto}
.cr-trainer{display:flex;gap:16px;align-items:center;color:inherit;text-decoration:none!important}
.cr-trainer .avatar-lg{width:72px;height:72px;font-size:1.3rem}
.cr-trainer b{color:var(--ink);font-family:var(--font-display)}
.cr-batches td,.cr-batches th{vertical-align:top}
.cr-batches .actions{vertical-align:middle}
.cr-nobatch{display:flex;gap:18px;align-items:flex-start}
.cr-aside{position:relative}
.cr-enrol{padding:24px}
.cr-enrol-price b{display:block;font:800 2.1rem/1.1 var(--font-display);color:var(--ink);letter-spacing:-.02em}
.cr-enrol-next{display:flex;gap:14px;align-items:center;padding:14px;margin:16px 0;border-radius:14px;background:var(--brand-50);border:1px solid #d6e5fb}
.cr-enrol-next b{display:block;color:var(--ink);font-size:.92rem;line-height:1.3}.cr-enrol-next small{display:block}
.cr-enrol-cta{margin-bottom:12px}
.cr-enrol-cta form{display:block}
.cr-enrol-list{margin:0}.cr-enrol-list li{padding:4px 0;align-items:center}.cr-enrol-list li svg{margin-top:0}
.cr-mobile-bar{display:none}

@media (max-width:1080px){
  .cr-layout{grid-template-columns:minmax(0,1fr);gap:28px}
  .cr-aside{order:-1}
  .sticky-card{position:static}
  .cr-hero-vendor{margin-bottom:24px}
  .cr-mobile-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;border-top:1px solid var(--line);padding:10px 16px;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 -10px 30px -12px rgba(7,17,31,.25)}
  .cr-mobile-bar b{display:block;font:800 1.1rem var(--font-display);color:var(--ink)}.cr-mobile-bar small{color:var(--muted)}
  body:has(.cr-mobile-bar){padding-bottom:68px}
  body:has(.cr-mobile-bar) .wa-float{bottom:84px}
}
@media (max-width:680px){
  .cr-outcomes{grid-template-columns:1fr}
  .cr-nobatch{flex-direction:column}
  .cr-badge-card{flex-direction:column;align-items:flex-start}
}
.table-wrap{position:relative}
.cr-batches{min-width:680px}.cr-sched{min-width:190px}

/* ==========================================================================
   ERROR PAGES
   ========================================================================== */
.er-wrap{position:relative;overflow:hidden;padding:72px 0 40px}
.er-dark{background:var(--grad-dark);color:#c9d6e6;min-height:calc(100vh - 150px);display:flex;align-items:center}
.er-dark h1{color:#fff}.er-dark .lead{color:#b3c3d8}
.er-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.er-kicker{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--brand-ink);margin-bottom:12px}
.er-dark .er-kicker{color:var(--cyan)}
.er-copy h1{font-size:clamp(2rem,4vw,3.1rem)}
.er-actions{margin:26px 0 22px}
.er-note{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.94rem;margin-top:8px}.er-dark .er-note{color:#93a8c3}
.er-contact{font-size:.9rem;color:#93a8c3}.er-contact a{color:#cfe0f5;text-decoration:underline}
.er-search{display:flex;gap:10px;max-width:520px}.er-search .searchbox{min-width:0}
.er-art{position:relative;min-height:320px;display:grid;place-items:center}
.er-hex{position:relative;z-index:2;width:170px;height:190px;display:grid;place-items:center;color:#fff;background:var(--grad);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);filter:drop-shadow(0 24px 30px rgba(10,102,255,.35));animation:float 6s ease-in-out infinite}
.er-num{position:absolute;bottom:6px;font:800 clamp(4rem,10vw,7rem)/1 var(--font-display);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:2px rgba(10,102,255,.28);z-index:1;opacity:.9}
.er-dark .er-num{-webkit-text-stroke-color:rgba(120,190,255,.35)}
.er-ring{position:absolute;border-radius:50%;border:1.5px dashed rgba(10,102,255,.3);animation:spin 40s linear infinite}
.er-ring.r1{width:270px;height:270px}.er-ring.r2{width:370px;height:370px;animation-direction:reverse;animation-duration:60s;opacity:.6}
.er-dark .er-ring{border-color:rgba(120,190,255,.3)}
.er-links{position:relative;z-index:2;margin-top:34px}
.er-links-title{font-weight:700;color:var(--ink);margin-bottom:12px}
.er-link{display:flex;align-items:center;gap:14px;padding:14px 16px;color:var(--ink);text-decoration:none!important}
.er-link .cr-inc-ico{margin-bottom:0}.er-link b{flex:1}.er-link>svg{color:var(--brand-ink)}
.er-head{background:transparent;position:absolute;left:0;right:0;top:0;z-index:5;padding:18px 0}
.er-head .brand b{color:#fff}.er-head .brand small{color:#9fb3cc}
.er-standalone{background:var(--ink)}
.er-foot{background:var(--ink);color:#7f93ab;font-size:.85rem;padding:18px 0;text-align:center;border-top:1px solid rgba(255,255,255,.08)}
@media (max-width:860px){
  .er-grid{grid-template-columns:1fr;gap:20px}
  .er-art{order:-1;min-height:150px}.er-hex{width:84px;height:96px}.er-hex svg{width:54px;height:54px}
  .er-ring.r1{width:200px;height:200px}.er-ring.r2{width:270px;height:270px}
  .er-wrap{padding:52px 0 32px}.er-dark{padding-top:96px}
}

/* ==========================================================================
   CONTENT PAGES (about, faq, contact, corporate, legal, gallery, events, calendar, trainers, articles)
   ========================================================================== */
.pg-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.pg-flow{display:grid;gap:14px;position:relative}
.pg-flow::before{content:"";position:absolute;left:31px;top:34px;bottom:34px;width:2px;background:linear-gradient(180deg,var(--brand),var(--violet));opacity:.35}
.pg-flow-step{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow-sm);position:relative}
.pg-flow-step b{font:700 1.05rem var(--font-display);color:var(--ink)}.pg-flow-step p{margin:2px 0 0;color:var(--muted);font-size:.93rem}
.pg-flow-ico{width:46px;height:46px;border-radius:14px;background:var(--grad);color:#fff;display:grid;place-items:center;flex-shrink:0;box-shadow:0 8px 18px -8px rgba(10,102,255,.8)}
.pg-flow-step:nth-child(2) .pg-flow-ico{background:linear-gradient(135deg,#0a66ff,#7c5cff)}.pg-flow-step:nth-child(3) .pg-flow-ico{background:var(--grad-2)}.pg-flow-step:nth-child(4) .pg-flow-ico{background:linear-gradient(135deg,#7c5cff,#ec4899)}
.pg-values{gap:26px 34px}.pg-value{display:flex;gap:16px}.pg-value .cr-inc-ico{margin:0}.pg-value h3{margin-bottom:.2em}

/* faq */
.pg-faq-search{width:100%;max-width:560px}.pg-faq-search .input{background:rgba(255,255,255,.96);border-color:transparent}
.pg-faq-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:44px;align-items:start}
.pg-faq-nav{position:sticky;top:96px;display:grid;gap:4px}
.pg-faq-nav a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;color:var(--text);font-weight:600;font-size:.94rem}
.pg-faq-nav a:hover{background:var(--brand-50);color:var(--brand-ink);text-decoration:none}
.pg-faq-group{margin-bottom:36px;scroll-margin-top:96px}.pg-faq-group h2{font-size:1.5rem;margin-bottom:14px}
.pg-faq-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:linear-gradient(135deg,#fff,#f0f6ff)}

/* contact */
.pg-contact{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:32px;align-items:start}
.pg-contact-form{padding:34px}.pg-contact-form h2{font-size:1.6rem}
.pg-contact-side{display:grid;gap:14px;position:sticky;top:96px}
.pg-cline{display:flex;align-items:center;gap:14px;padding:16px 18px;color:inherit;text-decoration:none!important}
.pg-cline small{display:block;color:var(--muted);font-size:.78rem;font-weight:600}.pg-cline b{color:var(--ink);font-size:.98rem;word-break:break-word}
.pg-cico{width:46px;height:46px;border-radius:14px;background:var(--brand-50);color:var(--brand-ink);display:grid;place-items:center;flex-shrink:0}.pg-cico.wa{background:#dcf8e8;color:#128c4a}
.pg-map{overflow:hidden}.pg-map-art{height:150px;background:#e9f1fb}.pg-map-art svg{width:100%;height:100%;display:block}
.pg-map-body{padding:18px 20px}.pg-map-body b{display:block;color:var(--ink);font-family:var(--font-display)}

/* corporate */
.pg-corp{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px;align-items:start}
.steps .step h3{margin-top:22px}

/* legal + article prose */
.pg-legal{display:grid;grid-template-columns:260px minmax(0,1fr);gap:36px;align-items:start}
.pg-toc{position:sticky;top:96px;display:grid;gap:6px;font-size:.92rem}
.pg-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.pg-toc li a,.pg-toc-other{display:block;padding:7px 10px;border-radius:9px;color:var(--text);font-weight:500;line-height:1.35}
.pg-toc li.sub a{padding-left:24px;font-size:.88rem;color:var(--muted)}
.pg-toc li a:hover,.pg-toc-other:hover{background:var(--brand-50);color:var(--brand-ink);text-decoration:none}
.pg-toc hr{margin:10px 0}
.pg-toc summary{cursor:pointer;list-style:none;font-weight:700;font-size:.78rem;color:var(--muted);margin-bottom:6px;padding:0 10px}.pg-toc summary::-webkit-details-marker{display:none}
.pg-toc summary{display:flex;justify-content:space-between;align-items:center}.pg-toc summary::after{content:"+";font-size:1.1rem;color:var(--brand-ink)}.pg-toc details[open]>summary::after{content:"\2212"}
.pg-prose{color:var(--text);font-size:1.02rem;line-height:1.75}
.pg-prose section{margin-bottom:34px;scroll-margin-top:96px}
.pg-prose h2{font-size:1.4rem;margin:2.1em 0 .6em;scroll-margin-top:96px}.pg-prose section:first-child h2{margin-top:0}
.pg-prose h3{font-size:1.15rem;margin:1.7em 0 .5em;scroll-margin-top:96px}
.pg-prose ul,.pg-prose ol{padding-left:1.4rem}.pg-prose li{margin-bottom:.4em}
.pg-prose a{text-decoration:underline;text-underline-offset:3px}
.pg-prose blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:4px solid var(--brand);color:var(--muted)}
.pg-prose code{background:#eef3fa;padding:2px 6px;border-radius:6px;font-size:.92em}
.pg-prose pre{background:var(--ink-2);color:#dbe8f7;padding:16px 18px;border-radius:14px;overflow:auto}.pg-prose pre code{background:none;padding:0;color:inherit}
.pg-prose table{border-collapse:collapse;width:100%;font-size:.94rem;display:block;overflow-x:auto}.pg-prose th,.pg-prose td{border:1px solid var(--line);padding:9px 12px;text-align:left}.pg-prose th{background:#f3f7fc}
.pg-prose img{border-radius:12px}

/* articles */
.pg-feature-article{display:grid;grid-template-columns:1fr 1.1fr;overflow:hidden}
.pg-feature-article .pg-article-cover{height:auto;min-height:280px;border-radius:0}
.pg-feature-article .pg-article-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pg-feature-body{padding:36px}.pg-feature-body h2{font-size:1.7rem}.pg-feature-body h2 a{color:var(--ink)}.pg-feature-body h2 a:hover{color:var(--brand-ink);text-decoration:none}
.pg-article-layout{display:grid;grid-template-columns:230px minmax(0,760px);gap:48px;justify-content:center;align-items:start}
.pg-article-side{position:sticky;top:96px;display:grid;gap:22px}
.pg-share{display:grid;gap:8px}
.pg-article-img{width:100%;height:auto;border-radius:18px;margin-bottom:28px}
.pg-article-body-text{font-size:1.06rem}
.pg-article-body-text h2{font-size:1.55rem}
.pg-article-cta{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-top:40px;background:linear-gradient(135deg,#fff,#f0f6ff)}
.pg-byline{display:flex;align-items:center;gap:12px;color:#c9d6e6}.pg-byline b{display:block;color:#fff}.pg-byline small{color:#93a8c3}
.pg-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:90;pointer-events:none}
.pg-progress i{display:block;height:100%;background:var(--grad);transform:scaleX(0);transform-origin:left}

/* events, calendar, trainers */
.pg-event{display:flex;gap:18px;padding:24px}.pg-event h3{margin-bottom:.35em}
.pg-event-meta{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--muted);font-size:.86rem;margin-bottom:10px}.pg-event-meta span{display:inline-flex;align-items:center;gap:6px}
.pg-cal-month{margin-bottom:38px;scroll-margin-top:96px}.pg-cal-month h2{font-size:1.5rem;display:flex;gap:12px;align-items:center;margin-bottom:16px}
.pg-cal-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:22px;align-items:center;padding:18px 22px}
.pg-cal-title{font:700 1.08rem var(--font-display);color:var(--ink)}.pg-cal-title:hover{color:var(--brand-ink);text-decoration:none}
.pg-cal-fee{text-align:right}.pg-cal-fee b{display:block;font:800 1.1rem var(--font-display);color:var(--ink);white-space:nowrap}
.pg-trainer{padding:26px;display:flex;flex-direction:column}
.pg-trainer-head{display:flex;gap:16px;align-items:center;color:inherit;text-decoration:none!important;margin-bottom:14px}
.pg-trainer-head b{display:block;font:700 1.1rem var(--font-display);color:var(--ink)}.pg-trainer-head small{color:var(--muted)}
.pg-trainer-skills{margin-top:auto}
.pg-trainer-portrait{display:grid;place-items:center}.pg-trainer-portrait .avatar{width:200px;height:200px;font-size:3.6rem;box-shadow:0 0 0 8px rgba(255,255,255,.08),var(--shadow-lg)}
.pg-trainer-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:44px;align-items:start}
.pg-lead-text{font-size:1.1rem;color:var(--text)}
.pg-skill{display:grid;grid-template-columns:minmax(120px,220px) 1fr 90px;gap:14px;align-items:center;padding:8px 0}.pg-skill em{font-style:normal;color:var(--muted);font-size:.84rem;text-align:right}
.pg-mini-batch{display:block;padding:12px 0;border-bottom:1px solid var(--line-2);color:inherit;text-decoration:none!important}.pg-mini-batch b{display:block;color:var(--ink);line-height:1.3}
.pg-mini-batch:hover b{color:var(--brand-ink)}
.pg-sitemap ul{list-style:none;padding-left:0}.pg-sitemap ul ul{padding-left:16px;margin-top:6px;border-left:2px solid var(--line-2)}.pg-sitemap li{padding:3px 0}
.pg-sitemap h2{font-size:1.15rem}

/* gallery + lightbox */
.pg-gallery{columns:4 240px;column-gap:16px}
.pg-shot{break-inside:avoid;margin:0 0 16px;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.pg-shot a{display:block;overflow:hidden}.pg-shot img{display:block;width:100%;height:auto;transition:transform .5s}.pg-shot a:hover img{transform:scale(1.05)}
.pg-shot figcaption{padding:12px 14px;font-size:.88rem}.pg-shot figcaption b{display:block;color:var(--ink)}.pg-shot figcaption span{color:var(--muted)}
.pg-lightbox{position:fixed;inset:0;z-index:150;background:rgba(7,17,31,.92);display:flex;align-items:center;justify-content:center;padding:24px}
.pg-lightbox[hidden]{display:none}
.pg-lightbox figure{margin:0;max-width:min(1100px,86vw);text-align:center}
.pg-lightbox img{max-width:100%;max-height:78vh;border-radius:12px;box-shadow:var(--shadow-lg)}
.pg-lightbox figcaption{color:#cfe0f5;margin-top:12px;font-size:.95rem}
.pg-lb-btn{position:absolute;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:1.9rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.pg-lb-btn:hover{background:rgba(255,255,255,.24)}
.pg-lb-close{top:20px;right:20px}.pg-lb-prev{left:20px;top:50%;margin-top:-24px}.pg-lb-next{right:20px;top:50%;margin-top:-24px}

@media (max-width:1080px){
  .pg-faq-layout,.pg-legal,.pg-contact,.pg-corp,.pg-trainer-layout,.pg-article-layout{grid-template-columns:1fr;gap:28px}
  .pg-faq-nav,.pg-toc,.pg-contact-side,.pg-article-side{position:static}
  .pg-faq-nav{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding-bottom:6px}.pg-faq-nav>b{display:none}
  .pg-feature-article{grid-template-columns:1fr}
  .pg-article-side{order:-1}
  .pg-toc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
}
@media (max-width:680px){
  .pg-cal-row{grid-template-columns:auto 1fr;gap:14px}.pg-cal-fee{text-align:left;grid-column:1/-1}.pg-cal-cta{grid-column:1/-1}.pg-cal-cta .btn{width:100%}
  .pg-skill{grid-template-columns:1fr auto}.pg-skill .progress{grid-column:1/-1;order:3}
  .pg-event{flex-direction:column}
  .pg-contact-form{padding:22px}
  .pg-gallery{columns:2 140px;column-gap:10px}
  .pg-lb-prev{left:8px}.pg-lb-next{right:8px}
  .pg-trainer-portrait .avatar{width:140px;height:140px;font-size:2.6rem}
}
.hm-badge-sec .blob{opacity:.3}
@media (max-width:680px){.hm-courses>div:nth-child(n+7){display:none}}

/* footer brand lockup keeps its row layout (overrides .footer a{display:block}) */
.footer .brand{display:flex;padding:0}
.cr-mail-me summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;color:var(--brand-ink);list-style:none}
.cr-mail-me summary::-webkit-details-marker{display:none}
.cr-mail-form{display:grid;gap:8px;margin-top:12px}
.cr-exam-notice{margin:0 0 28px}
.cr-rating{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.cr-rating b{font:800 1.8rem/1 var(--font-display);color:var(--ink)}.cr-stars{color:#f5a524;letter-spacing:2px}
.cr-quote{margin:0}.cr-quote blockquote{margin:0 0 10px;font-style:italic;color:var(--text)}
.promo-hero{padding:72px 0 56px;color:#fff;background:var(--grad-dark);background-size:cover;background-position:center}
.promo-hero h1{color:#fff;font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.1;margin:14px 0 10px}
.promo-hero .lead{color:#cfdcf1}
.promo-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:center}
.promo-form{color:var(--text)}
.promo-detail{max-width:900px}
.d-block{display:block}
@media (max-width:900px){.promo-grid{grid-template-columns:1fr}}
.hm-spot{padding:28px 0 4px;background:var(--bg-soft,#f5f8fd)}
.hm-spot-card{display:flex;align-items:center;gap:22px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 26px;box-shadow:0 10px 30px -18px rgba(11,18,32,.35);position:relative;overflow:hidden}
.hm-spot-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--grad)}
.hm-spot-ico{flex:none;width:60px;height:60px;border-radius:16px;display:grid;place-items:center;background:var(--grad);color:#fff}
.hm-spot-body{flex:1;min-width:0}
.hm-spot-eyebrow{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-ink)}
.hm-spot-body h2{font-size:1.35rem;margin:4px 0 6px}
.hm-spot-body p{margin:0 0 10px;color:var(--muted)}
.hm-spot-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.86rem;color:var(--ink-2,#334155)}
.hm-spot-meta span{display:inline-flex;align-items:center;gap:6px}.hm-spot-meta .warn{color:#b45309;font-weight:700}
@media (max-width:760px){.hm-spot-card{flex-direction:column;align-items:flex-start;padding:20px}.hm-spot-card .btn{width:100%;justify-content:center}}
/* complaints & feedback */
.cp-steps{margin:0;padding-left:20px;display:grid;gap:12px}.cp-steps li b{display:block}.cp-steps li span{color:var(--muted);font-size:.9rem}
.cp-track{list-style:none;display:flex;gap:6px;padding:0;margin:0 0 16px;counter-reset:s}
.cp-track li{flex:1;display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--muted);padding:10px 12px;border-radius:10px;background:#fff;border:1px solid var(--line)}
.cp-track li span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--line-2,#eef2f7);font-weight:800;font-size:.75rem;flex:none}
.cp-track li.done{color:var(--ink)}.cp-track li.done span{background:var(--grad);color:#fff}.cp-track li.now{border-color:var(--brand,#0a66ff);box-shadow:0 0 0 3px rgba(10,102,255,.1)}
.cp-thread{display:flex;flex-direction:column;gap:10px}
.cp-msg{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;max-width:88%}
.cp-msg.customer{align-self:flex-start}.cp-msg.staff{align-self:flex-end;background:#eef5ff;border-color:#cfe0ff}
.cp-msg.system{align-self:center;background:transparent;border:0;color:var(--muted);font-size:.82rem;padding:2px}
.cp-msg.resolution{background:#ecfdf3;border-color:#bbf0d0}
.cp-meta{font-size:.75rem;color:var(--muted);margin-bottom:4px;font-weight:600}
.fb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 16px}.op-stars.sm label{font-size:1.5rem}
@media (max-width:760px){.cp-track{flex-direction:column}.cp-msg{max-width:100%}.fb-grid{grid-template-columns:1fr}}
.cp-msg.internal{background:#fffbea;border-color:#f3e3a3}
/* vendor / client logos */
.marquee-item.lg-item img{height:34px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.marquee-item.lg-item:hover img{filter:none;opacity:1}
.lg-strip{padding:34px 0;background:#fff;border-bottom:1px solid var(--line-2,#eef2f7)}
.lg-strip-label{text-align:center;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}
.lg-row{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:22px 42px}
.lg-row img{height:42px;width:auto;max-width:160px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .2s,opacity .2s}
.lg-row a:hover img,.lg-row li:hover img{filter:none;opacity:1}
@media (max-width:760px){.lg-row{gap:16px 26px}.lg-row img{height:32px;max-width:120px}}
.es-pad{position:relative;border:1.5px dashed var(--line);border-radius:12px;background:#fff;touch-action:none}
.es-pad canvas{display:block;width:100%;height:140px;cursor:crosshair;border-radius:12px}
.es-clear{position:absolute;top:6px;right:6px}
/* mobile: keep the utility bar to one short line of links (the tagline is repeated in the hero) */
@media (max-width:680px){.topbar .container>div:first-child{display:none}.topbar .container{padding-top:6px;padding-bottom:6px}.topbar a{margin:0 9px}}
/* cookie banner */
.ck-bar{position:fixed;left:16px;bottom:16px;z-index:84;max-width:520px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:16px 18px;display:grid;gap:12px}
.ck-bar[hidden]{display:none}
.ck-bar p{margin:0;font-size:.88rem;color:var(--text);line-height:1.5}
.ck-bar b{color:var(--ink)}
.ck-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.ck-nojs{position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff8e6;color:#6e4b00;padding:10px 16px;text-align:center;font-size:.9rem}
@media (max-width:520px){.ck-bar{left:10px;right:84px;bottom:10px;padding:12px 14px}.ck-actions .btn{flex:1}}
@media print{.ck-bar{display:none}}
/* uploaded logo (Admin → Settings → Logo) */
.brand-logo{display:block;height:48px;width:auto;max-width:240px;object-fit:contain}
@media (max-width:680px){.brand-logo{height:40px;max-width:190px}}
.brand-logo-pill{background:#fff;border-radius:10px;padding:4px 8px;height:44px}
.brand .brand-sub{display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;opacity:.9;margin-left:8px}
.sidebar .brand .brand-sub{color:#a9bad0;opacity:1}
/* admission form sections */
.ap-steps{display:flex;gap:6px;list-style:none;padding:0;margin:6px 0 22px;counter-reset:ap;flex-wrap:wrap}
.ap-steps li{flex:1;min-width:110px;counter-increment:ap;font-size:.78rem;font-weight:700;color:var(--muted);padding-top:8px;border-top:3px solid var(--line)}
.ap-steps li::before{content:counter(ap) ". "}
.ap-steps li:first-child{color:var(--brand-ink);border-top-color:var(--brand)}
.ap-sec{border:0;padding:0;margin:0 0 26px}
.ap-sec legend{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.08rem;margin-bottom:14px;color:var(--ink)}
.ap-sec legend span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;font-size:.85rem}
.ap-more{margin:14px 0;border:1px dashed var(--line);border-radius:12px;padding:12px 16px;background:var(--bg-soft,#f7f9fc)}
.ap-more summary{cursor:pointer;font-weight:700;color:var(--brand-ink)}
.ap-more summary small{font-weight:500;color:var(--muted);margin-left:6px}
.ap-more[open] summary{margin-bottom:14px}
.ap-ticks{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ap-ticks li{position:relative;padding-left:24px}
.ap-ticks li::before{content:"";position:absolute;left:0;top:4px;width:14px;height:14px;border-radius:50%;background:#1baf7a;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat}
@media (max-width:640px){.ap-steps li{min-width:70px}.ap-more summary small{display:block;margin:2px 0 0}}
/* feedback agreement scale */
.fb-agree{display:grid;gap:10px}
.fb-agree-row{border:0;padding:0;margin:0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fb-agree-row legend{float:left;font-size:.92rem;max-width:60%;padding:0}
.fb-scale{display:flex;gap:6px}
.fb-scale label{cursor:pointer}
.fb-scale input{position:absolute;opacity:0;width:1px;height:1px}
.fb-scale span{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--line);font-weight:700;background:#fff}
.fb-scale input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}
.fb-scale input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
@media (max-width:640px){.fb-agree-row legend{max-width:100%;float:none;margin-bottom:4px}}
.tr-syllabus{margin:0;padding-left:20px;columns:2;column-gap:28px}.tr-syllabus li{break-inside:avoid;margin:0 0 6px}
.tr-kv dt{min-width:130px}
.tr-earn{border:1px solid #cfe1fb;background:linear-gradient(180deg,#f3f8ff,#fff)}
@media (max-width:640px){.tr-syllabus{columns:1}}
/* why INFOTICS */
.hm-why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.hm-why-item{display:flex;gap:14px;align-items:flex-start;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}
.hm-why-item h3{font-size:1rem;margin:0 0 6px}
.hm-why-item p{margin:0;font-size:.88rem;color:var(--muted);line-height:1.55}
.hm-why-ico{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--brand-50);color:var(--brand)}
.hm-why-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.hm-quote{margin:0}.hm-quote blockquote{margin:0 0 14px;font-size:1rem;line-height:1.6;color:var(--ink)}
.hm-quote figcaption b{display:block}.hm-quote figcaption span{font-size:.85rem;color:var(--muted)}
@media (max-width:1024px){.hm-why{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.hm-why{grid-template-columns:1fr}}
/* mobile sticky call-to-action */
.m-cta{display:none}
@media (max-width:760px){
  .m-cta{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(7,17,31,.08);backdrop-filter:blur(8px)}
  .m-cta a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:46px;border-radius:12px;font-weight:700;text-decoration:none}
  .m-cta-wa{background:#e9fbf3;color:#0b5f3c;border:1px solid #b9ecd7}
  .m-cta-apply{flex:1.4!important;background:linear-gradient(90deg,var(--brand),#21c6d7);color:#fff}
  body:has(.m-cta) .footer{padding-bottom:84px}
  body:has(.m-cta) .chw:not(.is-open){bottom:78px}
  body:has(.chw.is-open) .m-cta{display:none}
}
/* credential showcase (course pages) */
.cs-wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:24px;align-items:center;margin-top:12px}
.cs-cert{position:relative;background:#fff;border:1px solid #e3e8f0;border-radius:10px;box-shadow:0 18px 40px rgba(7,17,31,.12);overflow:hidden;aspect-ratio:1.414/1;display:flex;flex-direction:column;transform:rotate(-1deg)}
.cs-stripe{display:block;height:5px;background:linear-gradient(90deg,#0a66ff 0 62%,#21c6d7 62% 85%,#7c5cff 85%)}
.cs-top{flex:1;display:flex;justify-content:space-between;gap:12px;padding:18px 20px 8px}
.cs-cert p{margin:0}
.cs-cert-by{font-weight:800;font-size:.82rem;color:#0b1b33}
.cs-cert-name{font-weight:800;font-size:1.65rem;color:#0a55e0;margin:6px 0 4px!important;line-height:1.1}
.cs-cert-stmt{font-size:.66rem;color:#33445a}
.cs-cert-course{font-weight:800;font-size:.95rem;color:#0a55e0;margin-top:6px!important;line-height:1.2}
.cs-cert-badge{flex:none;width:84px;height:auto;align-self:flex-start;filter:drop-shadow(0 6px 10px rgba(7,17,31,.2))}
.cs-band{display:flex;align-items:center;gap:10px;background:#eef1f5;border-top:1px solid #dfe5ee;padding:10px 20px}
.cs-qr{flex:none;width:34px;height:34px;background:repeating-conic-gradient(#0b1b33 0 25%,#fff 0 50%) 0 0/8px 8px;border:3px solid #fff;outline:1px solid #dfe5ee}
.cs-meta{flex:1;font-size:.56rem;line-height:1.5;color:#33445a;border-left:1px solid #9aa9bc;padding-left:10px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cs-logo{flex:none;height:22px;width:auto}
.cs-points{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.cs-points li{display:flex;gap:12px;align-items:flex-start}
.cs-points svg{flex:none;color:var(--brand);margin-top:2px}
.cs-points b{display:block}.cs-points span{font-size:.88rem;color:var(--muted)}
@media (max-width:760px){.cs-wrap{grid-template-columns:1fr}.cs-cert{transform:none}.cs-cert-name{font-size:1.3rem}}
.cr-h3{font-size:1.1rem;margin:28px 0 4px}
/* dual certification programs */
.pg-strip{background:linear-gradient(180deg,#f3f8ff,#fff)}
.pg-strip-head{max-width:760px;margin-bottom:22px}.pg-strip-head h2{margin:6px 0 8px}
.pg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.pg-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:20px;color:#fff;background:radial-gradient(120% 140% at 100% 0,#1d4ed8 0,#0b1d3e 55%,#081630 100%);box-shadow:0 22px 44px rgba(7,17,31,.22);overflow:hidden}
.pg-card::after{content:"";position:absolute;inset:auto -60px -80px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#21c6d733,transparent 70%)}
.pg-label{align-self:flex-start;font-size:.72rem;font-weight:800;letter-spacing:.16em;color:#0b1d3e;background:linear-gradient(90deg,#fcd34d,#f59e0b);padding:5px 10px;border-radius:999px}
.pg-card h3{margin:0;font-size:1.3rem;line-height:1.25}.pg-card h3 a{color:#fff;text-decoration:none}
.pg-exams{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
.pg-exam{flex:1;min-width:140px;display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;text-decoration:none}
.pg-exam b{font-size:1.15rem;letter-spacing:.02em}.pg-exam small{color:#b9c8e2;font-size:.78rem}
.pg-exam:hover{background:rgba(255,255,255,.14)}
.pg-plus{align-self:center;font-size:1.6rem;font-weight:800;color:#21c6d7}
.pg-points{margin:0;padding-left:18px;color:#d5e1f5;font-size:.9rem;display:grid;gap:4px}
.pg-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;position:relative;z-index:1}
.pg-price{font-size:1.5rem;font-weight:800}.pg-price small{display:block;font-size:.78rem;font-weight:600;color:#fcd34d}
.pg-cta{display:flex;gap:8px}
.btn-ghost-light{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff}.btn-ghost-light:hover{background:rgba(255,255,255,.12);color:#fff}
.course-ribbon{position:absolute;right:12px;top:12px;font-size:.66rem;font-weight:800;letter-spacing:.12em;color:#0b1d3e;background:linear-gradient(90deg,#fcd34d,#f59e0b);padding:4px 8px;border-radius:999px}
.cr-program{border:1px solid #cfe1fb;border-radius:18px;padding:22px;background:linear-gradient(180deg,#f3f8ff,#fff)}
.cr-program-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.cr-upsell{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:18px 20px;border-radius:16px;color:#fff;background:linear-gradient(110deg,#0b1d3e,#1d4ed8)}
.cr-upsell b{display:block;font-size:1.05rem}.cr-upsell span{color:#d5e1f5;font-size:.9rem}
@media (max-width:860px){.pg-grid,.cr-program-items{grid-template-columns:1fr}}

/* corporate: results flow + HR report illustration */
.corp-step h3{font-size:1.1rem}
.corp-mock{max-width:640px;margin:28px auto 0;background:#fff;border:1px solid #e3e9f3;border-radius:16px;box-shadow:0 18px 40px rgba(10,40,90,.12);padding:14px 18px;transform:perspective(900px) rotateX(4deg);transition:transform .4s ease}
.corp-mock:hover{transform:none}
.corp-mock-bar{display:flex;gap:6px;align-items:center;margin-bottom:12px}
.corp-mock-bar span{width:9px;height:9px;border-radius:50%;background:#e2e8f0}
.corp-mock-bar span:first-child{background:#f87171}.corp-mock-bar span:nth-child(2){background:#fbbf24}.corp-mock-bar span:nth-child(3){background:#34d399}
.corp-mock-bar b{margin-left:8px;font-size:.85rem;color:#0B1B33}
.corp-mock-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:8px}
.corp-mock-kpis div{background:#f5f8fd;border-radius:10px;padding:10px}
.corp-mock-kpis small{display:block;font-size:.68rem;color:#5b6b82}
.corp-mock-kpis b{font-size:1.25rem;color:#0B1B33}
@media (max-width:560px){.corp-mock-kpis{grid-template-columns:repeat(2,1fr)}}

/* outcomes, alumni wall, guarantee */
.oc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.oc-tile{padding:22px;display:flex;flex-direction:column;gap:4px}
.oc-num{font-size:2.4rem;line-height:1.05;color:var(--primary,#0A66FF);font-variant-numeric:tabular-nums}
.oc-label{font-weight:700}
.oc-bar-row{display:grid;grid-template-columns:1fr 160px 48px 90px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid #edf1f7}
.oc-bar-row:last-child{border-bottom:0}
.oc-meter{max-width:none}
.oc-guarantee{display:flex;gap:22px;align-items:flex-start;background:linear-gradient(110deg,rgba(31,185,129,.08),rgba(10,102,255,.06))}
.oc-shield{flex:none;display:grid;place-items:center;width:68px;height:68px;border-radius:18px;background:#1FB981;color:#fff}
.oc-alumni{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.oc-alum{display:flex;gap:12px;align-items:flex-start;padding:16px}
.oc-alum .grow{display:flex;flex-direction:column;gap:2px;min-width:0}
.oc-badges{display:flex;gap:6px;margin-top:6px}
.oc-li{color:#0A66C2}
@media (max-width:640px){.oc-bar-row{grid-template-columns:1fr 60px}.oc-bar-row .cr-meter,.oc-bar-row .xs{display:none}.oc-guarantee{flex-direction:column}}
/* career paths */
.cp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.cp-card{padding:22px;display:flex;flex-direction:column;gap:8px;color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s}
.cp-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md,0 8px 24px rgba(0,0,0,.08))}
.cp-ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--brand-50,#eef4ff);color:var(--brand,#0A66FF)}
.cp-bar{height:8px;border-radius:99px;background:var(--line,#e5e7eb);overflow:hidden}
.cp-bar i{display:block;height:100%;background:var(--success,#1FB981);border-radius:inherit}
.cp-detail{max-width:860px;display:flex;flex-direction:column;gap:18px}
.cp-progress{display:flex;flex-direction:column;gap:10px}
.cp-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.cp-step{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px 18px}
.cp-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--line,#e5e7eb)}
.cp-step.is-done .cp-num{background:var(--success,#1FB981);color:#fff}
.cp-badge{display:flex;gap:14px;align-items:flex-start;color:var(--brand,#0A66FF)}
.cp-badge div{color:var(--ink,inherit)}
@media (max-width:560px){.cp-step{grid-template-columns:auto 1fr}.cp-step .btn{grid-column:1/-1}}
.sp-card{margin-top:16px;display:flex;flex-direction:column;gap:2px}
.sp-price{font-family:var(--font-display);font-size:1.35rem;color:var(--ink)}
.cp-card h2{font-size:1.18rem;line-height:1.3;margin:6px 0 2px;letter-spacing:-.01em}.cp-card h2 a{color:inherit}
.hm-labs{background:#0b1f3a;color:#dbe7f5}.hm-labs h2{color:#fff;margin:6px 0 8px;font-size:clamp(1.3rem,2.4vw,1.8rem)}.hm-labs .muted{color:#b9c9de}.hm-labs .eyebrow{color:#7cc4ff}.hm-labs-in{display:grid;grid-template-columns:minmax(0,1.6fr) auto;gap:22px;align-items:center}.hm-labs-cta{display:flex;gap:10px;flex-wrap:wrap}.hm-labs .btn-ghost{color:#fff}@media (max-width:820px){.hm-labs-in{grid-template-columns:1fr}}
.hp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:26px}.hp-head h2{margin:6px 0 0;max-width:640px}
.hp-logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.hp-logos li{display:grid;place-items:center;height:96px;padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:#fff}
.hp-logos img{max-height:52px;max-width:100%;width:auto;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.hp-logos li:hover img{filter:none;opacity:1}
.hp-quotes{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.hp-quote{margin:0;display:flex;flex-direction:column;gap:14px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}
.hp-qmark{width:28px;height:22px;color:var(--brand)}
.hp-quote blockquote{margin:0;font-size:1.02rem;line-height:1.6;color:var(--ink-2);flex:1}
.hp-quote figcaption{display:flex;gap:12px;align-items:center}.hp-quote figcaption b{display:block;color:var(--ink)}.hp-quote figcaption small{display:block;color:var(--muted);font-size:.84rem}
.hp-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none}
.hp-initials{display:grid;place-items:center;background:var(--brand-100);color:var(--brand-ink);font-weight:800;font-size:.9rem}
.hp-course{align-self:flex-start;font-size:.78rem;font-weight:700;padding:5px 10px;border-radius:8px;background:var(--surface-2);color:var(--brand-ink);text-decoration:none}
.hp-empty{padding:14px 18px;border:2px dashed var(--line);border-radius:12px;color:var(--muted);font-size:.9rem;background:#fff}
@media (max-width:600px){.hp-logos{grid-template-columns:repeat(2,1fr)}.hp-logos li{height:76px}}
.cta-band .eyebrow{color:#9fd0ff}
