:root{
  --ink:#2B2350;--muted:#6B6488;--bg:#FFFBF5;--alt:#F4F1FF;
  --pink:#FF6B8B;--yellow:#FFC94D;--blue:#4CC9F0;--green:#5ED3A3;--purple:#7B5CFF;
  --radius:22px;--shadow:0 10px 30px rgba(43,35,80,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:"Noto Sans TC","PingFang HK","Microsoft JhengHei",system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,svg{display:block}
.container{width:100%;max-width:1160px;margin:0 auto;padding:0 24px}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,251,245,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:box-shadow .3s}
.nav.scrolled{box-shadow:0 4px 20px rgba(43,35,80,.08)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:1.2rem;letter-spacing:.3px}
.logo-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(135deg,var(--pink),var(--yellow));box-shadow:0 4px 12px rgba(255,107,139,.35);transform:rotate(-6deg)}
.logo-text b{color:var(--purple)}
.menu{display:flex;gap:6px;align-items:center}
.menu a{padding:8px 14px;border-radius:999px;font-weight:500;transition:background .2s,color .2s}
.menu a:hover,.menu a.active{background:var(--alt);color:var(--purple)}
.menu a.menu-cta{background:var(--ink);color:#fff}
.menu a.menu-cta:hover,.menu a.menu-cta.active{background:var(--purple);color:#fff}
.menu-btn{display:none;width:44px;height:44px;border:0;background:var(--alt);border-radius:12px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.menu-btn span{width:20px;height:2px;background:var(--ink);border-radius:2px;transition:.3s}
.menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn.open span:nth-child(2){opacity:0}
.menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:999px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--pink),#FF8E6B);color:#fff;box-shadow:0 8px 20px rgba(255,107,139,.35)}
.btn-ghost{background:#fff;color:var(--ink);border:2px solid var(--ink)}
.btn-sm{padding:10px 20px;font-size:.95rem;background:var(--ink);color:#fff}
.btn-sm:hover{background:var(--purple)}

/* HERO */
.hero{position:relative;overflow:hidden;padding:72px 0 96px}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.45;z-index:0}
.b1{width:420px;height:420px;background:var(--yellow);top:-120px;right:-80px}
.b2{width:360px;height:360px;background:var(--blue);bottom:-140px;left:-120px;opacity:.3}
.b3{width:260px;height:260px;background:var(--pink);top:40%;left:45%;opacity:.2}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.pill{display:inline-block;padding:6px 14px;border-radius:999px;background:#fff;box-shadow:var(--shadow);font-size:.9rem;font-weight:500;margin-bottom:20px}
.hero h1{font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.3;font-weight:900;letter-spacing:.5px;margin-bottom:20px}
.hl{position:relative;color:var(--purple);white-space:nowrap}
.hl::after{content:"";position:absolute;left:-2px;right:-2px;bottom:.08em;height:.32em;background:var(--yellow);opacity:.55;z-index:-1;border-radius:6px}
.hl2{color:var(--pink)}
.hl2::after{background:var(--blue);opacity:.35}
.lead{font-size:1.1rem;color:var(--muted);max-width:560px;margin-bottom:28px}
.lead strong{color:var(--ink)}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px}
.hero-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.hero-tags li{background:#fff;border:1px dashed #D9D2F5;padding:4px 12px;border-radius:999px;font-size:.88rem;color:var(--muted)}
.hero-art{position:relative;height:440px;display:grid;place-items:center}
.art-card.main{width:300px;background:#fff;border-radius:32px;padding:28px 24px 24px;box-shadow:0 24px 60px rgba(43,35,80,.16);text-align:center;transform:rotate(3deg);animation:bob 6s ease-in-out infinite}
.art-face{width:200px;height:200px;margin:0 auto 14px}
.art-title{font-weight:900;font-size:1.3rem}
.art-sub{color:var(--muted);font-size:.85rem;letter-spacing:1px}
.float{position:absolute;width:64px;height:64px;border-radius:20px;background:#fff;display:grid;place-items:center;font-size:30px;box-shadow:var(--shadow);animation:bob 5s ease-in-out infinite}
.f1{top:10px;left:20px;animation-delay:-1s}
.f2{top:40px;right:0;animation-delay:-2s}
.f3{bottom:40px;left:0;animation-delay:-3s}
.f4{bottom:10px;right:30px;animation-delay:-4s}
.chip{position:absolute;background:var(--ink);color:#fff;padding:8px 14px;border-radius:14px;font-size:.85rem;box-shadow:var(--shadow)}
.chip b{color:var(--yellow);font-size:1rem}
.c1{top:46%;left:-20px;transform:rotate(-6deg)}
.c2{top:52%;right:-14px;background:var(--pink);transform:rotate(5deg)}
@keyframes bob{0%,100%{translate:0 0}50%{translate:0 -10px}}

/* SECTIONS */
.section{padding:96px 0}
.section.alt{background:var(--alt)}
.sec-head{text-align:center;max-width:640px;margin:0 auto 52px}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--pink);margin-bottom:6px}
.sec-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:900;margin-bottom:10px}
.sec-head p{color:var(--muted)}
.sub-title{font-size:1.5rem;font-weight:900;text-align:center;margin:72px 0 28px}

/* LETTERS */
.letters{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:18px}
.letter{border-radius:var(--radius);padding:28px 20px;text-align:center;color:#fff;box-shadow:var(--shadow);transition:transform .25s}
.letter:hover{transform:translateY(-6px) rotate(-1deg)}
.ltr{font-size:3.6rem;font-weight:900;line-height:1.1;margin-bottom:8px;text-shadow:0 4px 0 rgba(0,0,0,.08)}
.l-h .ltr{font-size:2.6rem;line-height:1.55}
.letter h3{font-size:1.15rem;font-weight:700}
.letter p{opacity:.95;font-size:.95rem}
.l-h{background:linear-gradient(135deg,#2B2350,#4B3D8F)}
.l-c{background:linear-gradient(135deg,#FF6B8B,#FF9A7A)}
.l-a{background:linear-gradient(135deg,#4CC9F0,#4A8CF7)}
.l-d{background:linear-gradient(135deg,#FFB833,#FFD166);color:var(--ink)}
.l-i{background:linear-gradient(135deg,#5ED3A3,#2FB38A)}

/* NUMBER */
.number-band{margin-top:32px;display:flex;align-items:center;gap:32px;background:#fff;border-radius:var(--radius);padding:28px 36px;box-shadow:var(--shadow);border:2px solid #F1ECFF}
.digits{display:flex;gap:10px}
.digits span{width:64px;height:76px;display:grid;place-items:center;font-size:2.4rem;font-weight:900;border-radius:16px;background:var(--ink);color:var(--yellow);box-shadow:inset 0 -6px 0 rgba(0,0,0,.2)}
.number-text h3{font-size:1.3rem;font-weight:900}
.number-text p{color:var(--muted);font-size:1.1rem}
.number-text strong{color:var(--pink)}

/* CONTENT */
.content-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.c-card{background:#fff;border-radius:var(--radius);padding:26px 18px;text-align:center;box-shadow:var(--shadow);transition:transform .25s}
.c-card:hover{transform:translateY(-6px)}
.c-emoji{font-size:2.4rem;height:64px;display:grid;place-items:center;margin-bottom:8px}
.c-card h4{font-size:1.05rem;font-weight:900;margin-bottom:6px;line-height:1.4}
.c-card p{font-size:.9rem;color:var(--muted)}

/* MISSION */
.mission-wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:56px}
.mission{display:flex;gap:18px;align-items:flex-start;padding:32px;border-radius:var(--radius);background:linear-gradient(135deg,var(--purple),#A08BFF);color:#fff;box-shadow:var(--shadow)}
.mission.bg{background:#fff;color:var(--ink);border:2px solid #F1ECFF}
.m-icon{font-size:2.2rem;flex-shrink:0;width:60px;height:60px;border-radius:18px;background:rgba(255,255,255,.2);display:grid;place-items:center}
.mission.bg .m-icon{background:var(--alt)}
.mission h3{font-size:1.2rem;font-weight:900;margin-bottom:6px}
.mission .big{font-size:1.3rem;font-weight:700;line-height:1.6;text-wrap:balance}
.mission.bg strong{color:var(--purple)}

/* COURSES */
.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.course{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.course:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(43,35,80,.16)}
.course-top{height:130px;display:grid;place-items:center;font-size:3.4rem}
.t1{background:linear-gradient(135deg,#BDEBFF,#8FD3FF)}
.t2{background:linear-gradient(135deg,#FFD9E2,#FFB3C4)}
.t3{background:linear-gradient(135deg,#E3DBFF,#C3B3FF)}
.t4{background:linear-gradient(135deg,#FFF0C2,#FFDB80)}
.course-body{padding:22px;display:flex;flex-direction:column;flex:1}
.badge{align-self:flex-start;font-size:.78rem;font-weight:700;padding:3px 10px;border-radius:999px;background:#FFF0F3;color:var(--pink);margin-bottom:10px}
.course h3{font-size:1.15rem;font-weight:900;margin-bottom:8px;line-height:1.4}
.course p{font-size:.93rem;color:var(--muted);margin-bottom:14px;flex:1}
.tags{list-style:none;display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.tags li{font-size:.75rem;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--alt);color:var(--purple)}
.course .btn-sm{align-self:flex-start}
.note{text-align:center;margin-top:32px;color:var(--muted);font-size:.92rem}
.note a{color:var(--purple);font-weight:700;text-decoration:underline}

/* CHANNELS */
.channel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.channel{display:flex;align-items:center;gap:16px;padding:24px;border-radius:var(--radius);color:#fff;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s}
.channel:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 18px 40px rgba(43,35,80,.2)}
.ch-icon{width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.2);display:grid;place-items:center;flex-shrink:0}
.ch-icon svg{width:30px;height:30px}
.ch-text{display:flex;flex-direction:column;flex:1;line-height:1.4}
.ch-text b{font-size:1.2rem}
.ch-text small{opacity:.9;font-size:.9rem}
.ch-arrow{font-size:1.5rem;font-weight:700}
.yt{background:linear-gradient(135deg,#FF0033,#FF5A5F)}
.fb{background:linear-gradient(135deg,#1877F2,#4C9BFF)}
.ig{background:linear-gradient(135deg,#F58529,#DD2A7B 50%,#8134AF)}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:960px;margin:0 auto}
.contact-card{background:#fff;border-radius:var(--radius);padding:32px 22px;text-align:center;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:4px;border:2px solid transparent;transition:transform .25s,border-color .25s}
.contact-card:hover{transform:translateY(-4px);border-color:var(--purple)}
.cc-icon{font-size:2rem;width:64px;height:64px;border-radius:20px;background:var(--alt);display:grid;place-items:center;margin-bottom:8px}
.contact-card.wa .cc-icon{background:#DDF8E8}
.cc-label{font-size:.85rem;color:var(--muted);font-weight:700;letter-spacing:1px}
.cc-value{font-size:1.1rem;font-weight:900;word-break:break-all}

/* FOOTER */
.footer{background:var(--ink);color:#CFC8F0;padding:44px 0;text-align:center}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:8px}
.logo.light{color:#fff}
.logo.light .logo-text b{color:var(--yellow)}
.copy{font-size:.85rem;opacity:.8}

/* RESPONSIVE */
@media (max-width:1024px){
  .letters{grid-template-columns:repeat(3,1fr)}
  .l-h{grid-column:span 3}
  .content-grid{grid-template-columns:repeat(3,1fr)}
  .course-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .menu-btn{display:flex}
  .menu{position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;gap:4px;padding:12px 20px 20px;background:var(--bg);box-shadow:0 12px 24px rgba(43,35,80,.1);transform:translateY(-8px);opacity:0;pointer-events:none;transition:.25s}
  .menu.open{transform:none;opacity:1;pointer-events:auto}
  .menu a{padding:12px 16px;text-align:center}
  .hero{padding:48px 0 64px}
  .hero-inner{grid-template-columns:1fr;gap:24px;text-align:center}
  .lead{margin-left:auto;margin-right:auto}
  .hero-cta,.hero-tags{justify-content:center}
  .hero-art{height:380px}
  .channel-grid,.contact-grid{grid-template-columns:1fr}
  .mission-wrap{grid-template-columns:1fr}
  .number-band{flex-direction:column;text-align:center;gap:18px;padding:28px 20px}
  .section{padding:72px 0}
}
@media (max-width:560px){
  .container{padding:0 18px}
  .hl{white-space:normal}
  .letters{grid-template-columns:repeat(2,1fr);gap:14px}
  .l-h{grid-column:span 2}
  .ltr{font-size:3rem}
  .content-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .content-grid .c-card:last-child{grid-column:span 2}
  .course-grid{grid-template-columns:1fr}
  .digits span{width:54px;height:66px;font-size:2rem}
  .hero-art{height:340px}
  .art-card.main{width:240px;padding:22px 18px 18px}
  .art-face{width:150px;height:150px}
  .float{width:52px;height:52px;font-size:24px;border-radius:16px}
  .c1{left:0}.c2{right:0}
  .mission{padding:24px;flex-direction:column}
  .mission .big{font-size:1.15rem}
  .btn{padding:13px 22px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* text balance polish */
.sec-head p,.c-card p,.number-text h3,.mission p,.lead{text-wrap:balance}
.course p{text-wrap:pretty}
@media (max-width:560px){
  .art-sub{font-size:.72rem;letter-spacing:.3px;white-space:nowrap}
  .number-text h3{font-size:1.15rem}
}

/* ===== IMAGES (v2) ===== */
.logo-mark{background:#fff;padding:2px;overflow:hidden;transform:rotate(-6deg);box-shadow:0 4px 12px rgba(43,35,80,.18)}
.logo-mark img{width:100%;height:100%;object-fit:contain}
.footer .logo-mark{width:46px;height:46px}
.art-face.duo{position:relative;width:240px;height:220px;display:flex;align-items:flex-end;justify-content:center;gap:0;background:radial-gradient(circle at 50% 60%,#FFE7A8 0,#FFD1DC 55%,transparent 72%)}
.art-face.duo img{height:200px;width:auto;filter:drop-shadow(0 8px 10px rgba(43,35,80,.15))}
.art-face.duo .duo-a{height:182px;margin-right:-8px;z-index:2}
.ai-tag{position:absolute;top:4px;right:6px;background:var(--blue);color:#fff;font-weight:700;font-size:.8rem;padding:2px 9px;border-radius:8px;transform:rotate(15deg)}
.c-img{height:64px;display:flex;align-items:flex-end;justify-content:center;gap:4px;margin-bottom:8px}
.c-img img{height:64px;width:auto}
.c-img img+img{height:60px}
.mission.bg>div{flex:1;min-width:0}
.founders{display:flex;gap:14px;margin-top:16px}
.founders figure{flex:1;max-width:150px;background:linear-gradient(160deg,var(--alt),#FFF0F3);border-radius:18px;padding:12px 8px 8px;text-align:center}
.founders img{height:130px;width:auto;margin:0 auto;object-fit:contain}
.founders figcaption{font-weight:900;font-size:.95rem;margin-top:4px}
.course-top.has-img{position:relative}
.course-top.has-img img{height:112px;width:auto;filter:drop-shadow(0 6px 8px rgba(43,35,80,.15))}
.ct-emoji{position:absolute;right:12px;bottom:8px;font-size:1.6rem}
.channel{flex-wrap:wrap;align-content:flex-start;overflow:hidden}
.ch-banner{flex:0 0 calc(100% + 48px);margin:-24px -24px 8px;aspect-ratio:16/9;background:#F9F9F7;display:grid;place-items:center;overflow:hidden}
.ch-banner img{width:100%;height:100%;object-fit:contain}
.ig .ch-banner{background:#fff}
.ig .ch-banner img{width:auto;height:100%}
@media (max-width:860px){.channel-grid{max-width:520px;margin:0 auto}}
@media (max-width:560px){
  .art-face.duo{width:180px;height:165px}
  .art-face.duo img{height:150px}
  .art-face.duo .duo-a{height:136px}
  .founders img{height:110px}
}
.ig .ch-banner img{width:100%;height:100%;object-fit:contain;padding:10px 0}
.fb .ch-banner{background:#FBFBF9}
.fb .ch-banner img{object-position:center bottom}
.mission:not(.bg){align-items:center}
@media (min-width:861px){.founders img{height:110px}}
.ch-banner{position:relative}
.ch-banner img{position:absolute;inset:0}

/* ===== v3: COURSES ===== */
.cr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.cr-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);display:grid;grid-template-columns:42% 1fr;overflow:hidden;transition:transform .25s,box-shadow .25s}
.cr-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(43,35,80,.16)}
.cr-poster{border:0;padding:0;margin:0;cursor:pointer;background:#FFFBF5;display:block;align-self:stretch}
.cr-poster img{width:100%;height:100%;object-fit:cover;object-position:top}
.cr-body{padding:22px 22px 20px;display:flex;flex-direction:column;min-width:0}
.cr-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.cr-badges .badge{margin:0}
.price-badge{background:var(--ink)!important;color:var(--yellow)!important}
.price-badge.free{background:var(--green)!important;color:#fff!important}
.st-badge.open{background:#DDF8E8;color:#16865C}
.st-badge.locked{background:#FFF0F3;color:var(--pink)}
.cr-card h3{font-size:1.2rem;font-weight:900;line-height:1.4;margin-bottom:8px}
.cr-card .tags{margin-bottom:12px}
.lessons{list-style:none;display:grid;gap:6px;margin-bottom:14px;counter-reset:l}
.lesson-btn{width:100%;display:flex;align-items:center;gap:8px;text-align:left;font:inherit;font-size:.9rem;background:var(--bg);border:1px solid #EEE8FF;border-radius:12px;padding:7px 10px;cursor:pointer;color:var(--ink);transition:background .2s,border-color .2s}
.lesson-btn:hover{background:var(--alt);border-color:var(--purple)}
.lesson-btn .l-name{flex:1;font-weight:700;min-width:0}
.lesson-btn small{font-size:.72rem;color:var(--muted);white-space:nowrap}
.lesson-btn.is-locked{color:var(--muted)}
.perks{list-style:none;display:grid;gap:6px;margin-bottom:14px;font-size:.92rem;font-weight:700}
.perks li{background:#FFF7DD;border-radius:12px;padding:7px 12px}
.cr-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cr-actions .btn-sm,.cm-locked-actions .btn-sm{border:0;cursor:pointer;font:inherit;font-weight:700;font-size:.92rem}
.btn-buy{background:linear-gradient(135deg,var(--pink),#FF8E6B)!important;color:#fff}
.btn-ghost-sm{background:#fff!important;color:var(--ink)!important;border:2px solid var(--ink)!important}
@media (max-width:1024px){.cr-grid{grid-template-columns:1fr;max-width:720px;margin:0 auto}}
@media (max-width:560px){
  .cr-card{grid-template-columns:1fr}
  .cr-poster img{height:auto;aspect-ratio:4/5}
}

/* v3 course layout: vertical poster cards */
.cr-grid{grid-template-columns:repeat(4,1fr);gap:20px;max-width:none}
.cr-card{grid-template-columns:1fr;grid-template-rows:auto 1fr}
.cr-poster img{height:auto;aspect-ratio:4/5;object-fit:cover}
.cr-body{padding:18px 18px 20px}
.cr-card h3{font-size:1.1rem}
.lesson-btn{padding:6px 9px;font-size:.86rem}
.lesson-btn small{font-size:.68rem}
.cr-actions .btn-sm{padding:9px 16px;font-size:.88rem}
@media (max-width:1180px){.cr-grid{grid-template-columns:repeat(2,1fr);max-width:760px;margin:0 auto}}
@media (max-width:600px){.cr-grid{grid-template-columns:1fr;max-width:440px}}

/* ===== v4: PROGRAM ===== */
.program{display:grid;grid-template-columns:340px 1fr;gap:36px;background:#fff;border-radius:32px;padding:32px;box-shadow:var(--shadow);border:2px solid #EEE8FF;align-items:start}
.program-poster img{width:100%;height:auto;border-radius:22px;box-shadow:0 18px 40px rgba(43,35,80,.16);transform:rotate(-1.5deg)}
.program-collab{display:inline-block;margin:4px 0 8px 10px;background:var(--ink);color:#fff;font-weight:900;padding:4px 14px;border-radius:999px;font-size:.9rem}
.program-collab i{font-style:normal;color:var(--yellow)}
.program-title{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:900;line-height:1.3;margin-bottom:14px}
.program-intro p{color:var(--muted);margin-bottom:10px;font-size:.98rem}
.program-sub{font-size:1.05rem;font-weight:900;margin:18px 0 10px}
.tool-cloud,.topic-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.tool-cloud li{background:var(--alt);color:var(--purple);font-weight:700;padding:5px 14px;border-radius:999px;border:2px solid #E3DBFF;font-size:.92rem}
.tool-cloud li.main-tool{background:linear-gradient(135deg,var(--pink),#FFB833);color:#fff;border:0;font-size:1.05rem;padding:6px 18px;box-shadow:0 6px 16px rgba(255,107,139,.3)}
.tool-cloud li.main-tool span{font-size:.72rem;background:rgba(255,255,255,.25);padding:1px 8px;border-radius:999px;margin-right:6px}
.topic-chips li{background:#FFF7DD;color:var(--ink);font-weight:700;padding:4px 12px;border-radius:12px;font-size:.88rem;border:1px dashed #FFB833}
.course-list-title{margin:48px 0 6px}
.course-list-note{text-align:center;color:var(--muted);margin-bottom:22px}
.cr-grid.single{grid-template-columns:1fr;max-width:none}
.cr-grid.single .cr-card{grid-template-columns:1fr}
.cr-grid.single .cr-poster{display:none}
.cr-grid.single .cr-body{padding:26px}
.cr-grid.single .lessons{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.program{grid-template-columns:1fr;padding:22px}.program-poster{max-width:360px;margin:0 auto}.cr-grid.single .lessons{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cr-grid.single .lessons{grid-template-columns:1fr}.cr-grid.single .cr-body{padding:18px}}
/* v5: 4 lessons */
.cr-grid.single .lessons{grid-template-columns:repeat(2,1fr)}
.cr-grid.single .lesson-btn{align-items:flex-start;padding:10px 12px}
.cr-grid.single .lesson-btn .l-name{white-space:normal;line-height:1.5}
@media (max-width:560px){.cr-grid.single .lessons{grid-template-columns:1fr}.cr-grid.single .lesson-btn{flex-wrap:wrap}.cr-grid.single .lesson-btn small{width:100%;padding-left:26px}}

/* ===== PROD: course outline + enrol ===== */
.lessons.outline .outline-item{display:flex;align-items:flex-start;gap:8px;font-size:.9rem;background:var(--bg);border:1px solid #EEE8FF;border-radius:12px;padding:10px 12px;color:var(--ink)}
.outline-item .l-name{flex:1;font-weight:700;min-width:0;line-height:1.5}
.outline-item small{font-size:.72rem;color:var(--muted);white-space:nowrap}
.cr-grid.single .cr-card{grid-template-rows:auto}
.cr-actions .enroll-btn{border:0;cursor:pointer;font:inherit;font-weight:700}
.enroll-msg{margin-top:12px;background:#FFF0F3;border-radius:14px;padding:10px 14px;font-weight:700;color:var(--ink)}
.enroll-msg a,.enroll a:not(.btn){color:var(--purple);text-decoration:underline;font-weight:700}
.enroll{margin:40px auto 0;max-width:960px;display:flex;align-items:center;gap:28px;background:linear-gradient(135deg,#FFF7DD,#FFE7EE);border:2px dashed #FFB3C4;border-radius:28px;padding:28px 32px;box-shadow:var(--shadow)}
.enroll-art{width:190px;height:auto;flex-shrink:0;filter:drop-shadow(0 10px 12px rgba(43,35,80,.15))}
.enroll-main{flex:1;min-width:0}
.enroll h3{font-size:1.5rem;font-weight:900;margin-bottom:4px}
.enroll p{color:var(--muted)}
.enroll-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.btn-wa{background:#25D366;color:#fff;box-shadow:0 8px 20px rgba(37,211,102,.3)}
@media (max-width:640px){.enroll{flex-direction:column;text-align:center;padding:24px 18px}.enroll-art{width:150px}.enroll-actions{justify-content:center}.enroll-actions .btn{width:100%;justify-content:center}}
@media (max-width:560px){.outline-item{flex-wrap:wrap}.outline-item small{width:100%;padding-left:26px}}
