/* ==========================================================================
   Sakhi AI — Home redesign (mint-green concept), polished staging scale.
   Scoped under .hz so it never touches shared chrome or other pages.
   Neutrals lean on --ui-*; the mint accent + scale are local. Font: Poppins.
   ========================================================================== */
.hz{
  --g:#0FA47F; --gd:#0A7D64; --g-soft:#22C4A6;
  --mint:#E7F8F3; --mint2:#F2FCF9; --mint3:#D3EFE6;
  --ink:var(--ui-text-primary,#17242C); --sub:var(--ui-text-secondary,#66737D);
  --line:var(--ui-border,#E4EBE8); --bg:#FFFFFF; --bg2:#F6FAF9; --card:#FFFFFF;
  --warn:#F6A623; --star:#F6A623; --ok:#1EAA78;
  --r-card:20px; --r-btn:14px;
  --sh:0 10px 30px rgba(15,36,44,.06); --sh-lg:0 22px 55px rgba(15,36,44,.11);
  --sh-g:0 14px 30px rgba(15,164,127,.28);
  --ct:1280px; --pad:64px;
  color:var(--ink);
  font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
.hz *{box-sizing:border-box}
.hz-ct{max-width:var(--ct);margin:0 auto;padding:0 var(--pad)}
.hz section{scroll-margin-top:96px}
.hz h1,.hz h2,.hz h3,.hz h4{margin:0;line-height:1.12;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.hz p{margin:0}
.hz a{text-decoration:none;color:inherit}
.hz img{max-width:100%;display:block}
.hz .grn{color:var(--g)}
.hz-sronly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* buttons */
/* Buttons — precise, consistent box model. Every variant keeps the same 1.8px
   border (transparent on filled) so filled + outline pairs match to the pixel. */
.hz-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:1rem;
  letter-spacing:-.01em;line-height:1;height:52px;padding:0 26px;border-radius:var(--r-btn);
  border:1.8px solid transparent;cursor:pointer;white-space:nowrap;font-family:inherit;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;-webkit-tap-highlight-color:transparent}
.hz-btn i{font-size:1.2em;line-height:1;display:inline-flex}
.hz-btn.pri{background:var(--g);color:#fff;box-shadow:0 10px 22px rgba(15,164,127,.30)}
.hz-btn.pri:hover{background:var(--gd);transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,164,127,.38)}
.hz-btn.pri:active{transform:translateY(0);box-shadow:0 6px 14px rgba(15,164,127,.30)}
.hz-btn.sec{background:var(--card);color:var(--ink);border-color:var(--line)}
.hz-btn.sec:hover{border-color:var(--g);color:var(--gd);background:var(--mint2);transform:translateY(-2px)}
.hz-btn.sec:active{transform:translateY(0)}
.hz-btn.ghost{background:var(--mint);color:var(--gd)}
.hz-btn.ghost:hover{background:var(--mint3)}
.hz-btn.lg{height:58px;padding:0 32px;font-size:1.06rem;border-radius:16px}
.hz-btn.sm{height:46px;padding:0 20px;font-size:.94rem;border-radius:12px}
.hz-btn.xs{height:40px;padding:0 16px;font-size:.9rem;border-radius:11px}
.hz-btn:focus-visible,.hz a:focus-visible,.hz button:focus-visible{outline:3px solid rgba(15,164,127,.45);outline-offset:2px}

/* section header + eyebrow + see-all */
.hz-sh{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:30px;flex-wrap:wrap}
.hz-sh h2{font-size:clamp(1.7rem,2.4vw,2.15rem);font-weight:800}
.hz-sh p{color:var(--sub);margin-top:9px;font-size:1rem;font-weight:500}
.hz-see{color:var(--g);font-weight:700;font-size:.95rem;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.hz-see:hover{color:var(--gd);gap:9px}
.hz-eye{display:inline-flex;align-items:center;gap:8px;background:var(--mint);color:var(--gd);
  font-weight:700;font-size:.86rem;padding:9px 16px;border-radius:100px;border:1px solid var(--mint3)}
.hz-band{padding:64px 0}
.hz-band.alt{background:var(--bg2)}
.hz-reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.hz-reveal.in{opacity:1;transform:none}

/* ── 1. Announcement ── */
.hz-anno{background:var(--mint);border-bottom:1px solid var(--mint3)}
.hz-anno .in{max-width:var(--ct);margin:0 auto;padding:0 var(--pad);min-height:44px;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:12px;font-size:.88rem;font-weight:600;color:var(--gd)}
.hz-anno .msg{grid-column:2;justify-self:center;min-width:0;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hz-anno .ctl{grid-column:3;justify-self:end;display:flex;align-items:center;gap:8px}
.hz-anno select,.hz-anno .x{height:30px;background:rgba(255,255,255,.55);border:1px solid var(--mint3);color:var(--gd);
  border-radius:9px;font-weight:600;font-size:.8rem;padding:0 10px;cursor:pointer;transition:.15s;display:inline-flex;align-items:center}
.hz-anno select:hover,.hz-anno .x:hover{background:#fff;border-color:var(--g)}
.hz-anno .x{width:30px;justify-content:center;padding:0;font-size:.95rem;line-height:1}

/* ── 2. Navigation ── */
.hz-nav{position:sticky;top:0;z-index:1000;background:color-mix(in srgb,var(--bg) 88%,transparent);
  -webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--line);transition:box-shadow .25s,background .25s}
.hz-nav.scrolled{box-shadow:0 8px 26px rgba(15,36,44,.08)}
.hz-nav .in{max-width:var(--ct);margin:0 auto;padding:0 var(--pad);height:80px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:26px}
.hz-brand{display:inline-flex;align-items:center;gap:13px}
.hz-brand .mk{width:52px;height:52px;border-radius:15px;flex:none;display:grid;place-items:center;
  background:linear-gradient(150deg,var(--mint),var(--mint3));box-shadow:inset 0 0 0 1px rgba(15,164,127,.14)}
.hz-brand .mk svg{width:auto;height:40px;display:block}
.hz-brand .brand-logo-img{height:44px;width:auto;max-width:200px;object-fit:contain;flex:none;display:block}
.hz-brand .wd{display:flex;flex-direction:column;line-height:1}
.hz-brand .wd b{font-size:1.3rem;font-weight:800;color:var(--ink);letter-spacing:-.03em}
.hz-brand .wd small{font-size:.72rem;color:var(--sub);font-weight:600;margin-top:4px}
.hz-links{grid-column:2;justify-self:center;display:flex;align-items:center;gap:4px}
.hz-nl{display:inline-flex;align-items:center;height:42px;padding:0 17px;border-radius:100px;font-weight:600;font-size:.98rem;color:var(--sub);transition:.16s;white-space:nowrap}
.hz-nl:hover{color:var(--ink);background:var(--mint2)}
.hz-nl.on{background:var(--mint);color:var(--gd);font-weight:700}
.hz-nav-act{grid-column:3;justify-self:end;display:inline-flex;align-items:center;gap:11px}
.hz-icobtn{width:46px;height:46px;border-radius:13px;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);font-size:1.25rem;background:var(--card);transition:.16s}
.hz-icobtn:hover{border-color:var(--g);color:var(--g);background:var(--mint2)}
.hz-signin-lnk{display:inline-flex;align-items:center;height:46px;padding:0 8px;font-weight:700;font-size:.98rem;color:var(--ink);white-space:nowrap}
.hz-signin-lnk:hover{color:var(--gd)}
.hz-nav-act .hz-btn.sm{height:46px}
.hz-burger{display:none;width:46px;height:46px;border-radius:13px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:1.3rem;cursor:pointer;align-items:center;justify-content:center}
.hz-burger:hover{border-color:var(--g);color:var(--g)}
/* signed-in profile chip + cart badge */
.hz-icobtn{position:relative}
.hz-cart-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:100px;
  background:var(--g);color:#fff;font-size:.68rem;font-weight:800;display:grid;place-items:center;line-height:1;box-shadow:0 0 0 2px var(--card)}
.hz-profile{display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 14px 0 6px;border-radius:100px;
  border:1px solid var(--line);background:var(--card);transition:.16s}
.hz-profile:hover{border-color:var(--g)}
.hz-profile .av{width:34px;height:34px;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.92rem}
.hz-profile .nm{font-weight:700;font-size:.94rem;color:var(--ink);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Shared breadcrumbs (below the header on inner pages) */
.hz-breadcrumbs{background:var(--bg);border-bottom:1px solid var(--line)}
.hz-breadcrumbs .in{max-width:var(--ct);margin:0 auto;padding:14px var(--pad);display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.88rem;font-weight:600}
.hz-breadcrumbs a{color:var(--sub);display:inline-flex;align-items:center;gap:8px}
.hz-breadcrumbs a:hover{color:var(--g)}
.hz-breadcrumbs .sep{color:var(--sub);opacity:.6;font-size:.8rem}
.hz-breadcrumbs .cur{color:var(--ink);max-width:60ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Simplified authentication chrome (logo + Back to Home; no nav/announcement/FAB) */
.hz-authnav{position:sticky;top:0;z-index:1000;background:color-mix(in srgb,var(--bg) 90%,transparent);
  -webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}
.hz-authnav .in{max-width:var(--ct);margin:0 auto;padding:0 var(--pad);height:74px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.hz-back{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.94rem;color:var(--sub);height:44px;padding:0 16px;border-radius:100px;border:1px solid var(--line);background:var(--card);transition:.16s}
.hz-back:hover{border-color:var(--g);color:var(--gd)}
.hz-authfoot{background:var(--bg);border-top:1px solid var(--line);padding:22px 0}
.hz-authfoot .hz-ct{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--sub);font-size:.85rem;font-weight:500}
.hz-authfoot .lg{display:flex;gap:18px}
.hz-authfoot a{color:var(--sub)}.hz-authfoot a:hover{color:var(--g)}
@media(max-width:560px){.hz-authnav .in{height:64px}.hz-authnav .hz-brand .wd small{display:none}}

.hz-nav-overlay{position:fixed;inset:0;background:rgba(15,24,26,.45);z-index:1099}
.hz-nav-overlay[hidden]{display:none}
.hz-drawer{position:fixed;top:0;right:0;height:100%;width:min(340px,88vw);background:var(--bg);z-index:1100;
  transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column;box-shadow:-12px 0 44px rgba(0,0,0,.2)}
.hz-drawer.open{transform:none}
.hz-drawer .hd{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid var(--line)}
.hz-dclose{width:42px;height:42px;border:0;background:var(--mint2);border-radius:11px;color:var(--ink);font-size:1.15rem;cursor:pointer}
.hz-drawer .bd{display:flex;flex-direction:column;padding:12px;gap:3px;overflow-y:auto;flex:1}
.hz-drawer .bd a{display:flex;align-items:center;justify-content:space-between;padding:15px 15px;border-radius:12px;font-weight:600;font-size:1.02rem;color:var(--ink)}
.hz-drawer .bd a:hover,.hz-drawer .bd a.on{background:var(--mint);color:var(--gd)}
.hz-drawer .ft{padding:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:11px}
.hz-drawer .ft .hz-btn{width:100%}

/* ── 3. Hero ── */
.hz-hero{background:linear-gradient(180deg,var(--mint2),var(--bg) 74%);padding:76px 0 66px}
.hz-hero .grid{display:grid;grid-template-columns:1.06fr .94fr;gap:60px;align-items:center}
.hz-hero .hz-eye{font-size:.9rem;padding:10px 18px}
.hz-hero h1{font-size:clamp(2.1rem,1.05rem + 3.7vw,3.85rem);font-weight:800;line-height:1.05;letter-spacing:-.032em;margin:22px 0 0}
.hz-hero .lead{color:var(--sub);font-size:1.18rem;line-height:1.6;margin:20px 0 34px;max-width:37ch;font-weight:500}
.hz-hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}
.hz-hero .cta .hz-btn{min-width:198px}
.hz-feats{display:grid;grid-template-columns:1fr 1fr;gap:16px 26px;max-width:480px;list-style:none;padding:0;margin:0}
.hz-feat{display:flex;align-items:center;gap:13px;font-size:1rem;font-weight:600;color:var(--ink)}
.hz-feat i{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:12px;background:var(--mint);color:var(--g);font-size:1.25rem;box-shadow:inset 0 0 0 1px rgba(15,164,127,.10)}
.hz-visual{position:relative;display:grid;place-items:center;min-height:500px}
.hz-orb{position:absolute;width:min(98%,490px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 50% 40%,var(--mint),var(--mint3));z-index:0}
.hz-orb::after{content:"";position:absolute;inset:-5%;border-radius:50%;border:2px dashed color-mix(in srgb,var(--g) 38%,transparent);opacity:.5}
.hz-owl{position:relative;z-index:1;width:min(76%,362px);filter:drop-shadow(0 26px 44px rgba(10,125,100,.3))}
.hz-chip{position:absolute;z-index:2;background:var(--card);border:1px solid var(--line);box-shadow:0 10px 26px rgba(15,36,44,.10);
  border-radius:16px;padding:11px 15px;display:flex;align-items:center;gap:10px;font-size:.9rem;font-weight:700;animation:hzBob 5.5s ease-in-out infinite}
.hz-chip i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:1.1rem}
.hz-chip.a{top:5%;left:-1%}.hz-chip.a i{background:#E8F0FE;color:#2B5FD9}
.hz-chip.b{top:15%;right:-2%;animation-delay:-1.8s}.hz-chip.b i{background:var(--mint);color:var(--g)}
.hz-chip.c{bottom:23%;left:-4%;animation-delay:-3.4s}.hz-chip.c i{background:#FDECC8;color:#B8860B}
@keyframes hzBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hz-chatcard{position:absolute;z-index:3;bottom:1%;right:-3%;width:min(322px,88%);background:var(--card);border:1px solid var(--line);
  border-radius:22px;box-shadow:0 26px 54px rgba(15,36,44,.16);padding:18px 18px 16px}
.hz-chatcard .top{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.hz-chatcard .av{width:40px;height:40px;border-radius:50%;background:var(--mint);color:var(--g);display:grid;place-items:center;font-size:1.2rem}
.hz-chatcard b{font-size:.98rem}.hz-chatcard .sub{font-size:.8rem;color:var(--sub)}
.hz-chatcard form,.hz-chatcard .f{display:flex;gap:9px;margin-top:12px}
.hz-chatcard input{flex:1;min-width:0;border:1px solid var(--line);border-radius:11px;padding:11px 13px;font-size:.85rem;font-family:inherit;background:var(--bg);color:var(--ink)}
.hz-chatcard input:focus{outline:none;border-color:var(--g)}
.hz-chatcard .send{width:44px;flex:none;border:0;border-radius:11px;background:var(--g);color:#fff;display:grid;place-items:center;cursor:pointer;font-size:1.15rem}
.hz-chatcard .send:hover{background:var(--gd)}

/* ── 4. Stats ── */
.hz-stats{padding:8px 0 56px}
.hz-stats .grid{display:grid;grid-template-columns:2.4fr 1fr;gap:24px}
.hz-statbox{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--sh);padding:30px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.hz-stat{text-align:center}
.hz-stat i{width:58px;height:58px;margin:0 auto 14px;border-radius:16px;background:var(--mint);color:var(--g);display:grid;place-items:center;font-size:1.6rem}
.hz-stat b{display:block;font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.hz-stat span{font-size:.9rem;color:var(--sub);font-weight:600}
.hz-promo{background:linear-gradient(160deg,var(--g),var(--gd));color:#fff;border-radius:22px;padding:28px;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--sh-g)}
.hz-promo h3{color:#fff;font-size:1.32rem;font-weight:800}
.hz-promo p{color:rgba(255,255,255,.9);font-size:.94rem;margin:10px 0 20px;font-weight:500}
.hz-promo .hz-btn{background:#fff;color:var(--gd)}
.hz-promo .hz-btn:hover{background:var(--mint)}

/* ── 5. Categories ── */
.hz-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.hz-cat{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh);padding:24px;display:flex;align-items:center;gap:18px;transition:.18s}
.hz-cat:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:var(--mint3)}
.hz-cat .ico{width:60px;height:60px;flex:none;border-radius:16px;background:var(--mint);color:var(--g);display:grid;place-items:center;font-size:1.7rem}
.hz-cat .txt{flex:1;min-width:0}
.hz-cat b{display:block;font-size:1.08rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hz-cat small{color:var(--sub);font-weight:600;font-size:.88rem}
.hz-cat .arr{color:var(--sub);font-size:1.2rem;transition:.18s}
.hz-cat:hover .arr{color:var(--g);transform:translateX(3px)}

/* ── 6. Course cards (reusable across all course sections) ── */
.hz-crow{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.hz-course{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh);overflow:hidden;display:flex;flex-direction:column;transition:.18s}
.hz-course:hover{transform:translateY(-5px);box-shadow:var(--sh-lg)}
.hz-course .thumb{aspect-ratio:16/10;position:relative;display:grid;place-items:center;color:#fff;overflow:hidden}
.hz-course .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hz-course .thumb i{font-size:2.6rem;opacity:.9}
.hz-course .thumb .tag{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.94);color:var(--gd);font-weight:700;font-size:.72rem;padding:5px 11px;border-radius:100px;z-index:1}
.hz-course .thumb .lvl{position:absolute;top:12px;right:12px;background:rgba(23,36,44,.55);color:#fff;font-weight:600;font-size:.72rem;padding:5px 11px;border-radius:100px;z-index:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.hz-course .b{padding:16px 17px 18px;display:flex;flex-direction:column;gap:9px;flex:1}
.hz-course .cat-l{font-size:.74rem;font-weight:700;color:var(--g);text-transform:uppercase;letter-spacing:.03em}
.hz-course h4{font-size:1.06rem;font-weight:700;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hz-course .by{font-size:.85rem;color:var(--sub);font-weight:600;display:flex;align-items:center;gap:7px}
.hz-course .by .a{width:22px;height:22px;border-radius:50%;background:var(--mint3);color:var(--gd);display:grid;place-items:center;font-size:.65rem;font-weight:800;flex:none}
.hz-course .meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.82rem;color:var(--sub);font-weight:600}
.hz-course .meta span{display:inline-flex;align-items:center;gap:5px}
.hz-course .meta i{font-size:.95rem}
.hz-course .meta .rt{color:var(--ink)}.hz-course .meta .rt i{color:var(--star)}
.hz-course .foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:13px;border-top:1px solid var(--line)}
.hz-course .price b{font-size:1.15rem;font-weight:800}
.hz-course .price s{color:var(--sub);font-weight:600;font-size:.85rem;margin-left:5px}
.hz-course .price .free{color:var(--g);font-weight:800;font-size:1.05rem}

/* skeleton / empty (available for future lazy sections) */
.hz-skel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;height:300px}
.hz-skel .sh{background:linear-gradient(90deg,var(--mint2),var(--mint) 40%,var(--mint2) 80%);background-size:200% 100%;animation:hzShim 1.3s linear infinite}
.hz-skel .t{aspect-ratio:16/10}.hz-skel .l{height:14px;margin:14px 16px;border-radius:6px}
@keyframes hzShim{0%{background-position:200% 0}100%{background-position:-200% 0}}
.hz-empty{background:var(--mint2);border:1px dashed var(--mint3);border-radius:var(--r-card);padding:34px;text-align:center;color:var(--sub);font-weight:600}

/* ── Learning paths (goals) ── */
.hz-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.hz-path{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh);padding:22px;display:flex;align-items:flex-start;gap:16px;transition:.18s}
.hz-path:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:var(--mint3)}
.hz-path .ico{width:56px;height:56px;flex:none;border-radius:16px;display:grid;place-items:center;font-size:1.6rem;
  background:color-mix(in srgb,var(--pa,#0FA47F) 14%,#fff);color:var(--pa,#0FA47F)}
.hz-path .tx{flex:1;min-width:0}
.hz-path b{display:block;font-size:1.08rem;font-weight:700}
.hz-path small{display:block;color:var(--sub);font-size:.85rem;font-weight:500;margin:4px 0 8px;line-height:1.4}
.hz-path .cnt{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;color:var(--pa,#0FA47F)}
.hz-path .arr{color:var(--sub);font-size:1.2rem;align-self:center}
.hz-path:hover .arr{color:var(--pa,#0FA47F);transform:translateX(3px)}

/* ── 7. Continue learning ── */
.hz-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.hz-cl{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh);transition:.18s;display:flex;flex-direction:column}
.hz-cl:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.hz-cl .thumb{aspect-ratio:16/9;background:var(--mint);position:relative;overflow:hidden}
.hz-cl .thumb img{width:100%;height:100%;object-fit:cover}
.hz-cl .thumb .ph{width:100%;height:100%;display:grid;place-items:center;color:var(--g);font-size:2.2rem;font-weight:800}
.hz-cl .b{padding:18px;display:flex;flex-direction:column;gap:11px;flex:1}
.hz-cl .cat{font-size:.72rem;font-weight:700;color:var(--g);text-transform:uppercase;letter-spacing:.03em}
.hz-cl h4{font-size:1.06rem;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hz-bar{height:8px;background:var(--mint);border-radius:100px;overflow:hidden}
.hz-bar i{display:block;height:100%;background:var(--g);border-radius:100px}
.hz-cl .row{display:flex;align-items:center;justify-content:space-between;margin-top:auto}
.hz-cl .pct{font-size:.82rem;font-weight:700;color:var(--sub)}
.hz-cl .go{font-size:.88rem;font-weight:700;color:var(--g);display:inline-flex;align-items:center;gap:5px}
.hz-signin{background:var(--mint2);border:1px dashed var(--mint3);border-radius:24px;padding:44px;text-align:center;display:flex;flex-direction:column;align-items:center}
.hz-signin h2{font-size:1.5rem;font-weight:800}
.hz-signin p{color:var(--sub);font-size:1.02rem;margin:12px 0 22px;font-weight:500;max-width:46ch}

/* ── 8. Instructors (premium) ── */
.hz-instr{background:linear-gradient(180deg,var(--mint2),var(--bg));border:1px solid var(--mint3);border-radius:28px;
  box-shadow:var(--sh-lg);padding:40px clamp(22px,4vw,44px) 34px;position:relative;overflow:hidden}
.hz-instr::before{content:"";position:absolute;top:-70px;right:-70px;width:240px;height:240px;border-radius:50%;background:var(--mint);opacity:.5}
.hz-instr .hz-sh,.hz-instr .hz-carou,.hz-instr .carou-wrap{position:relative;z-index:1}
.hz-carou{position:relative}
.hz-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4*20px)/5);gap:20px;overflow-x:auto;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 16px;-ms-overflow-style:none;scrollbar-width:none}
.hz-track::-webkit-scrollbar{display:none}
.hz-ins{scroll-snap-align:start;background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);
  padding:24px 18px;text-align:center;transition:.18s;box-shadow:var(--sh);display:flex;flex-direction:column;align-items:center}
.hz-ins:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);border-color:var(--mint3)}
.hz-ins .av{width:92px;height:92px;border-radius:50%;overflow:hidden;background:var(--mint);color:var(--g);
  display:grid;place-items:center;font-size:2rem;font-weight:800;border:4px solid var(--card);box-shadow:0 8px 22px rgba(15,140,120,.2);margin-bottom:14px}
.hz-ins .av img{width:100%;height:100%;object-fit:cover}
.hz-ins .nm{font-size:1.05rem;font-weight:700;display:flex;align-items:center;gap:6px;justify-content:center}
.hz-ins .nm .vf{color:var(--g);font-size:1rem}
.hz-ins .sp{font-size:.85rem;color:var(--sub);font-weight:600;margin:4px 0 12px;min-height:1.1em}
.hz-ins .rt{display:inline-flex;align-items:center;gap:6px;background:var(--mint);color:var(--gd);font-weight:700;font-size:.85rem;padding:5px 12px;border-radius:100px;margin-bottom:14px}
.hz-ins .rt .star{color:var(--star)}
.hz-ins .meta{display:flex;gap:18px;border-top:1px solid var(--line);padding-top:14px;margin-top:auto;width:100%;justify-content:center}
.hz-ins .meta div{font-size:.76rem;color:var(--sub);font-weight:600}
.hz-ins .meta b{display:block;color:var(--ink);font-size:1rem;font-weight:800}
.hz-arrow{position:absolute;top:calc(50% + 12px);transform:translateY(-50%);width:46px;height:46px;border-radius:50%;
  background:var(--card);border:1px solid var(--line);box-shadow:var(--sh);color:var(--ink);cursor:pointer;
  display:grid;place-items:center;font-size:1.4rem;z-index:2;transition:.16s}
.hz-arrow:hover{background:var(--g);color:#fff;border-color:var(--g)}
.hz-arrow[disabled]{opacity:0;pointer-events:none}
.hz-arrow.prev{left:-12px}.hz-arrow.next{right:-12px}

/* ── 9. Testimonials ── */
.hz-tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hz-tcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r-card);padding:26px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:13px}
.hz-tcard .q{font-size:2.6rem;color:var(--g);line-height:.5;font-family:Georgia,'Times New Roman',serif}
.hz-tcard blockquote{margin:0;font-size:1rem;color:var(--ink);font-weight:500;line-height:1.55;flex:1}
.hz-tcard .stars{color:var(--star);font-size:.95rem;letter-spacing:2px}
.hz-tcard .who{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:15px}
.hz-tcard .who .av{width:46px;height:46px;border-radius:50%;overflow:hidden;background:var(--mint);color:var(--g);display:grid;place-items:center;font-weight:800}
.hz-tcard .who .av img{width:100%;height:100%;object-fit:cover}
.hz-tcard .who b{font-size:.95rem;display:block}.hz-tcard .who span{font-size:.8rem;color:var(--sub)}

/* ── 10. Why ── */
.hz-why{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.hz-wcard{background:var(--mint2);border:1px solid var(--mint3);border-radius:var(--r-card);padding:30px 26px;transition:.18s}
.hz-wcard:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.hz-wcard .ico{width:58px;height:58px;border-radius:16px;background:var(--card);color:var(--g);display:grid;place-items:center;font-size:1.6rem;box-shadow:var(--sh);margin-bottom:18px}
.hz-wcard h4{font-size:1.14rem;font-weight:700;margin-bottom:9px}
.hz-wcard p{font-size:.94rem;color:var(--sub);font-weight:500;line-height:1.5}

/* ── 11. App promo ── */
.hz-app{background:linear-gradient(150deg,var(--g),var(--gd));border-radius:28px;color:#fff;
  padding:clamp(30px,4vw,52px);display:grid;grid-template-columns:1.4fr .6fr;gap:34px;align-items:center;overflow:hidden;position:relative}
.hz-app h2{color:#fff;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800}
.hz-app .sub{color:rgba(255,255,255,.92);font-size:1.06rem;margin:14px 0 26px;font-weight:500;max-width:46ch}
.hz-app .stores{display:flex;gap:15px;flex-wrap:wrap}
.hz-store{display:inline-flex;align-items:center;gap:12px;background:#0c1c18;color:#fff;border-radius:14px;padding:12px 20px;border:1px solid rgba(255,255,255,.14);transition:.16s}
.hz-store:hover{background:#06110e;transform:translateY(-2px)}
.hz-store i{font-size:1.7rem}
.hz-store span{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.hz-store small{font-size:.66rem;opacity:.82}.hz-store b{font-size:1rem;font-weight:700}
.hz-app .art{display:grid;place-items:center}
.hz-app .art svg{width:min(72%,200px);filter:drop-shadow(0 16px 28px rgba(0,0,0,.3))}

/* ── 12. Newsletter ── */
.hz-news{background:var(--gd);border-radius:28px;color:#fff;padding:clamp(32px,4vw,56px);text-align:center}
.hz-news h2{color:#fff;font-size:clamp(1.7rem,3vw,2.3rem);font-weight:800}
.hz-news p{color:rgba(255,255,255,.9);margin:14px auto 26px;font-size:1.06rem;max-width:52ch;font-weight:500}
.hz-nform{display:flex;gap:13px;max-width:540px;margin:0 auto;flex-wrap:wrap}
.hz-nform input{flex:1;min-width:220px;border:0;border-radius:14px;padding:17px 20px;font-size:1rem;font-family:inherit}
.hz-nform input:focus{outline:3px solid rgba(255,255,255,.5)}
.hz-nform button{flex:none;background:#fff;color:var(--gd);border:0;border-radius:14px;padding:0 32px;height:56px;font-weight:700;cursor:pointer;font-size:1rem;font-family:inherit}
.hz-nform button:hover{background:var(--mint)}
.hz-nform button[disabled]{opacity:.7;cursor:default}
.hz-nmsg{margin-top:16px;font-size:.94rem;font-weight:600;min-height:1.2em}
.hz-nmsg.ok{color:#CFF6E7}.hz-nmsg.err{color:#FFD9D2}
.hz-consent{font-size:.78rem;color:rgba(255,255,255,.75);margin-top:14px}
.hz-consent a{color:#fff;text-decoration:underline}

/* ── Footer ── */
.hz-foot{background:var(--bg2);border-top:1px solid var(--line);padding:60px 0 30px;margin-top:6px}
.hz-foot .grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1fr;gap:36px}
.hz-foot .brand .hz-brand{margin-bottom:16px}
.hz-foot .blurb{color:var(--sub);font-size:.94rem;line-height:1.6;max-width:34ch;font-weight:500}
.hz-foot .soc{display:flex;gap:11px;margin-top:16px}
.hz-foot .soc a{width:40px;height:40px;border-radius:11px;border:1px solid var(--line);display:grid;place-items:center;color:var(--sub);background:var(--card);font-size:1.2rem}
.hz-foot .soc a:hover{background:var(--g);color:#fff;border-color:var(--g)}
.hz-foot .col h4{font-size:1rem;font-weight:800;margin-bottom:16px;color:var(--ink)}
.hz-foot .col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}
.hz-foot .col a{color:var(--sub);font-size:.92rem;font-weight:500}
.hz-foot .col a:hover{color:var(--g)}
.hz-foot .bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:44px;padding-top:24px;border-top:1px solid var(--line);color:var(--sub);font-size:.86rem;font-weight:500}
.hz-foot .legal{display:flex;gap:20px}
.hz-foot .legal a{color:var(--sub)}.hz-foot .legal a:hover{color:var(--g)}

/* ── 14. Floating chat ── */
.hz-fab{position:fixed;right:22px;bottom:calc(env(safe-area-inset-bottom,0px) + 92px);z-index:1200;
  display:inline-flex;align-items:center;gap:11px;background:var(--g);color:#fff;border:0;cursor:pointer;
  padding:13px 22px 13px 15px;border-radius:100px;box-shadow:var(--sh-g);font-weight:700;font-size:.95rem;font-family:inherit;
  animation:hzPop .4s ease .8s both}
.hz-fab:hover{background:var(--gd);transform:translateY(-2px)}
.hz-fab .ic{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:1.2rem}
@keyframes hzPop{from{opacity:0;transform:scale(.7) translateY(12px)}to{opacity:1;transform:none}}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media(max-width:1180px){
  .hz{--pad:44px}
  .hz-crow{grid-template-columns:repeat(3,1fr)}
  .hz-track{grid-auto-columns:calc((100% - 3*20px)/4)}
}
@media(max-width:1080px){
  .hz-links{display:none}
  .hz-burger{display:inline-flex}
  .hz-foot .grid{grid-template-columns:1fr 1fr;gap:28px}
  .hz-foot .brand{grid-column:1/-1}
}
@media(max-width:960px){
  .hz{--pad:34px}
  .hz-hero .grid{grid-template-columns:1fr;gap:36px}
  .hz-visual{min-height:380px}
  .hz-stats .grid{grid-template-columns:1fr}
  .hz-cats,.hz-crow,.hz-tgrid,.hz-paths{grid-template-columns:repeat(2,1fr)}
  .hz-why{grid-template-columns:repeat(2,1fr)}
  .hz-rail{grid-template-columns:repeat(2,1fr)}
  .hz-track{grid-auto-columns:calc((100% - 2*20px)/3)}
  .hz-app{grid-template-columns:1fr}.hz-app .art{display:none}
}
@media(max-width:720px){
  .hz{--pad:18px}
  .hz-band{padding:44px 0}
  .hz-hero{padding:36px 0 30px}
  .hz-nav .in{height:66px;column-gap:14px}
  .hz-brand .mk{width:46px;height:46px}.hz-brand .mk svg{height:34px}
  .hz-brand .brand-logo-img{height:36px;max-width:150px}
  .hz-brand .wd b{font-size:1.15rem}
  .hz-hero .cta .hz-btn{flex:1}
  .hz-feats{grid-template-columns:1fr;max-width:none}
  .hz-statbox{grid-template-columns:repeat(2,1fr);padding:20px}
  /* horizontal scroll rails on mobile for dense card rows */
  .hz-cats,.hz-crow,.hz-rail,.hz-tgrid,.hz-paths{display:grid;grid-auto-flow:column;grid-auto-columns:84%;
    overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:10px;-ms-overflow-style:none;scrollbar-width:none}
  .hz-cats::-webkit-scrollbar,.hz-crow::-webkit-scrollbar,.hz-rail::-webkit-scrollbar,.hz-tgrid::-webkit-scrollbar,.hz-paths::-webkit-scrollbar{display:none}
  .hz-cat,.hz-course,.hz-cl,.hz-tcard,.hz-path{scroll-snap-align:start}
  .hz-crow{grid-auto-columns:78%}
  .hz-track{grid-auto-columns:82%}
  .hz-why{grid-template-columns:1fr}
  .hz-arrow{display:none}
  .hz-news h2{font-size:1.5rem}
  .hz-nform button{flex:1}
  .hz-fab .lbl{display:none}.hz-fab{padding:13px}
  .hz-chatcard{position:relative;bottom:auto;right:auto;width:100%;margin-top:22px}
  .hz-chip{display:none}
  .hz-anno .msg{white-space:normal}
}
@media(max-width:560px){
  .hz-brand .wd small{display:none}
  .hz-signin-lnk{display:none}
  .hz-profile .nm{display:none}
  .hz-profile{padding:0;width:46px;justify-content:center}
  .hz-breadcrumbs .in{padding:12px 18px}
  .hz-foot .grid{grid-template-columns:1fr 1fr}
  .hz-foot .bottom{flex-direction:column;text-align:center}
  .hz-foot .legal{justify-content:center}
}
@media(min-width:1600px){ .hz{--ct:1320px} }

/* Accessibility: reduced motion */
@media(prefers-reduced-motion:reduce){
  .hz *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .hz-reveal{opacity:1;transform:none}
}

/* Public website is light-theme only (no dark mode). */
