/* ============================================================
   Public inner pages — dark + light-band theme
   /curriculum · /course-content · /day/N · /credibility · /inquiry
   Loaded after public-theme.css (tokens, nav, buttons, footer, form).
   Scoped to body.lp2. Presentation only — no markup/logic change.
   Dark bands use glass surfaces; `.x-light` bands remap tokens so the same
   components render as white cards. Per-week colours come from --wk-* vars.
   ============================================================ */

body.lp2 { --wk: #6f9bff; --wk-soft: rgba(111, 155, 255, .14); --wk-line: rgba(111, 155, 255, .42); --wk-ink: #6f9bff; }

/* ===== generated: per-week colour variables (dark bands = bright, light bands = strong/ink) ===== */
body.lp2 .tl-item { --wk: #6f9bff; --wk-soft: rgba(111,155,255,.14); --wk-line: rgba(111,155,255,.42); --wk-ink: #6f9bff; }
body.lp2 .tl-item:nth-child(n+4) { --wk: #ff9a5c; --wk-soft: rgba(255,154,92,.16); --wk-line: rgba(255,154,92,.42); --wk-ink: #ff9a5c; }
body.lp2 .tl-item:nth-child(n+7) { --wk: #a08bff; --wk-soft: rgba(160,139,255,.16); --wk-line: rgba(160,139,255,.42); --wk-ink: #a08bff; }
body.lp2 .tl-item:nth-child(n+10) { --wk: #ff7aa8; --wk-soft: rgba(255,122,168,.16); --wk-line: rgba(255,122,168,.42); --wk-ink: #ff7aa8; }
body.lp2 .x-light .tl-item { --wk: #2563eb; --wk-soft: #eaf1ff; --wk-line: #bcd0fb; --wk-ink: #1d4ed8; }
body.lp2 .x-light .tl-item:nth-child(n+4) { --wk: #ea580c; --wk-soft: #fff1e6; --wk-line: #f7c9a6; --wk-ink: #9a3412; }
body.lp2 .x-light .tl-item:nth-child(n+7) { --wk: #7c3aed; --wk-soft: #f2ecff; --wk-line: #d6c4fa; --wk-ink: #6d28d9; }
body.lp2 .x-light .tl-item:nth-child(n+10) { --wk: #be185d; --wk-soft: #fde8f1; --wk-line: #f6b9d4; --wk-ink: #9d174d; }
body.lp2 .cc-day { --wk: #6f9bff; --wk-soft: rgba(111,155,255,.14); --wk-line: rgba(111,155,255,.42); --wk-ink: #6f9bff; }
body.lp2 .cc-day:nth-of-type(n+4) { --wk: #ff9a5c; --wk-soft: rgba(255,154,92,.16); --wk-line: rgba(255,154,92,.42); --wk-ink: #ff9a5c; }
body.lp2 .cc-day:nth-of-type(n+7) { --wk: #a08bff; --wk-soft: rgba(160,139,255,.16); --wk-line: rgba(160,139,255,.42); --wk-ink: #a08bff; }
body.lp2 .cc-day:nth-of-type(n+10) { --wk: #ff7aa8; --wk-soft: rgba(255,122,168,.16); --wk-line: rgba(255,122,168,.42); --wk-ink: #ff7aa8; }
body.lp2 .x-light .cc-day { --wk: #2563eb; --wk-soft: #eaf1ff; --wk-line: #bcd0fb; --wk-ink: #1d4ed8; }
body.lp2 .x-light .cc-day:nth-of-type(n+4) { --wk: #ea580c; --wk-soft: #fff1e6; --wk-line: #f7c9a6; --wk-ink: #9a3412; }
body.lp2 .x-light .cc-day:nth-of-type(n+7) { --wk: #7c3aed; --wk-soft: #f2ecff; --wk-line: #d6c4fa; --wk-ink: #6d28d9; }
body.lp2 .x-light .cc-day:nth-of-type(n+10) { --wk: #be185d; --wk-soft: #fde8f1; --wk-line: #f6b9d4; --wk-ink: #9d174d; }
body.lp2 .grid-3 > .card:nth-child(1) { --wk: #6f9bff; --wk-soft: rgba(111,155,255,.14); --wk-line: rgba(111,155,255,.42); --wk-ink: #6f9bff; }
body.lp2 .grid-3 > .card:nth-child(2) { --wk: #ff9a5c; --wk-soft: rgba(255,154,92,.16); --wk-line: rgba(255,154,92,.42); --wk-ink: #ff9a5c; }
body.lp2 .grid-3 > .card:nth-child(3) { --wk: #a08bff; --wk-soft: rgba(160,139,255,.16); --wk-line: rgba(160,139,255,.42); --wk-ink: #a08bff; }
body.lp2 .x-light .grid-3 > .card:nth-child(1) { --wk: #2563eb; --wk-soft: #eaf1ff; --wk-line: #bcd0fb; --wk-ink: #1d4ed8; }
body.lp2 .x-light .grid-3 > .card:nth-child(2) { --wk: #ea580c; --wk-soft: #fff1e6; --wk-line: #f7c9a6; --wk-ink: #9a3412; }
body.lp2 .x-light .grid-3 > .card:nth-child(3) { --wk: #7c3aed; --wk-soft: #f2ecff; --wk-line: #d6c4fa; --wk-ink: #6d28d9; }
body.lp2 .grid-2 > .biz-card:nth-child(1) { --wk: #6f9bff; --wk-soft: rgba(111,155,255,.14); --wk-line: rgba(111,155,255,.42); --wk-ink: #6f9bff; }
body.lp2 .grid-2 > .biz-card:nth-child(2) { --wk: #ff9a5c; --wk-soft: rgba(255,154,92,.16); --wk-line: rgba(255,154,92,.42); --wk-ink: #ff9a5c; }
body.lp2 .grid-2 > .biz-card:nth-child(3) { --wk: #a08bff; --wk-soft: rgba(160,139,255,.16); --wk-line: rgba(160,139,255,.42); --wk-ink: #a08bff; }
body.lp2 .grid-2 > .biz-card:nth-child(4) { --wk: #ff7aa8; --wk-soft: rgba(255,122,168,.16); --wk-line: rgba(255,122,168,.42); --wk-ink: #ff7aa8; }
body.lp2 .x-light .grid-2 > .biz-card:nth-child(1) { --wk: #2563eb; --wk-soft: #eaf1ff; --wk-line: #bcd0fb; --wk-ink: #1d4ed8; }
body.lp2 .x-light .grid-2 > .biz-card:nth-child(2) { --wk: #ea580c; --wk-soft: #fff1e6; --wk-line: #f7c9a6; --wk-ink: #9a3412; }
body.lp2 .x-light .grid-2 > .biz-card:nth-child(3) { --wk: #7c3aed; --wk-soft: #f2ecff; --wk-line: #d6c4fa; --wk-ink: #6d28d9; }
body.lp2 .x-light .grid-2 > .biz-card:nth-child(4) { --wk: #be185d; --wk-soft: #fde8f1; --wk-line: #f6b9d4; --wk-ink: #9d174d; }
body.lp2 .wk-1 { --wk: #6f9bff; --wk-soft: rgba(111,155,255,.14); --wk-line: rgba(111,155,255,.42); --wk-ink: #6f9bff; }
body.lp2 .wk-2 { --wk: #ff9a5c; --wk-soft: rgba(255,154,92,.16); --wk-line: rgba(255,154,92,.42); --wk-ink: #ff9a5c; }
body.lp2 .wk-3 { --wk: #a08bff; --wk-soft: rgba(160,139,255,.16); --wk-line: rgba(160,139,255,.42); --wk-ink: #a08bff; }
body.lp2 .wk-4 { --wk: #ff7aa8; --wk-soft: rgba(255,122,168,.16); --wk-line: rgba(255,122,168,.42); --wk-ink: #ff7aa8; }
body.lp2 .x-light.wk-1 { --wk: #2563eb; --wk-soft: #eaf1ff; --wk-line: #bcd0fb; --wk-ink: #1d4ed8; }
body.lp2 .x-light.wk-2 { --wk: #ea580c; --wk-soft: #fff1e6; --wk-line: #f7c9a6; --wk-ink: #9a3412; }
body.lp2 .x-light.wk-3 { --wk: #7c3aed; --wk-soft: #f2ecff; --wk-line: #d6c4fa; --wk-ink: #6d28d9; }
body.lp2 .x-light.wk-4 { --wk: #be185d; --wk-soft: #fde8f1; --wk-line: #f6b9d4; --wk-ink: #9d174d; }

/* ---------- page head (dark, with soft mesh + grid) ---------- */
body.lp2 .page-head, body.lp2 .cred-hero { position: relative; overflow: hidden; isolation: isolate; padding: calc(var(--nav-h) + clamp(30px, 5vw, 64px)) 0 clamp(32px, 4.5vw, 56px); border: 0; background: none; }
body.lp2 .page-head::before, body.lp2 .cred-hero::before { content: ""; position: absolute; inset: 0; z-index: -2;
  background: radial-gradient(560px 300px at 90% -20%, rgba(79, 124, 255, .38), transparent 70%), radial-gradient(460px 280px at 4% 0%, rgba(232, 116, 59, .2), transparent 70%); }
body.lp2 .page-head.wk-2::before { background: radial-gradient(560px 300px at 90% -20%, rgba(255, 154, 92, .32), transparent 70%), radial-gradient(460px 280px at 4% 0%, rgba(79, 124, 255, .2), transparent 70%); }
body.lp2 .page-head.wk-3::before { background: radial-gradient(560px 300px at 90% -20%, rgba(160, 139, 255, .38), transparent 70%), radial-gradient(460px 280px at 4% 0%, rgba(79, 124, 255, .2), transparent 70%); }
body.lp2 .page-head.wk-4::before { background: radial-gradient(560px 300px at 90% -20%, rgba(255, 122, 168, .32), transparent 70%), radial-gradient(460px 280px at 4% 0%, rgba(160, 139, 255, .2), transparent 70%); }
body.lp2 .page-head::after, body.lp2 .cred-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(rgba(148, 163, 184, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(148, 163, 184, .07) 1px, transparent 1px);
  background-size: 56px 56px; mask-image: radial-gradient(ellipse 75% 70% at 50% 20%, #000 20%, transparent 80%); }
body.lp2 .page-head h1, body.lp2 .cred-hero h1 { font-size: clamp(2.1rem, 4.8vw, 3.5rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.1; color: #fff; margin: 0 0 12px; }
body.lp2 .cred-hero h1 { max-width: 20ch; }
body.lp2 .page-head .lead, body.lp2 .cred-hero .sub { color: var(--muted); font-size: 1.12rem; max-width: 66ch; }
body.lp2 .cred-hero .sub { margin-bottom: 34px; }

body.lp2 .crumbs { font-family: var(--font); font-size: .84rem; font-weight: 500; color: var(--faint); margin-bottom: 20px; gap: 6px; }
body.lp2 .crumbs a { color: var(--muted); padding: 2px 6px; border-radius: 8px; }
body.lp2 .crumbs a:hover { color: #fff; background: rgba(255, 255, 255, .08); text-decoration: none; }
body.lp2 .crumbs .sep { opacity: .4; }
body.lp2 .crumbs span:last-child { color: #fff; font-weight: 600; }

/* ---------- section scaffolding ---------- */
body.lp2 .section { padding: clamp(60px, 8vw, 104px) 0; }
body.lp2 .section.tight { padding: clamp(52px, 7vw, 88px) 0; }
body.lp2 .section-head { margin-bottom: clamp(26px, 4vw, 44px); }
body.lp2 .section-head h2 { font-size: clamp(1.7rem, 3.3vw, 2.5rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.2; }
body.lp2 .section-head p { color: var(--muted); font-size: 1.05rem; max-width: 64ch; }
body.lp2 .cred-disc { color: var(--faint); }

/* ---------- stat strips (cc-stats / cred-stats) ---------- */
body.lp2 .stats, body.lp2 .cred-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0; border: 1px solid var(--border-strong); border-radius: 22px; overflow: hidden; background: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02)); backdrop-filter: blur(10px); }
body.lp2 .cc-stats { margin-top: 30px; }
body.lp2 .stats .stat, body.lp2 .cred-stats .stat { background: none; border: 0; border-left: 1px solid var(--border); border-radius: 0; padding: 24px 26px; }
body.lp2 .stats .stat:first-child, body.lp2 .cred-stats .stat:first-child { border-left: 0; }
body.lp2 .stat .n { font-family: var(--display); font-size: clamp(2rem, 3.6vw, 2.7rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.05; margin: 0; background: linear-gradient(120deg, #fff, #8fb0ff); -webkit-background-clip: text; background-clip: text; color: transparent; font-variant-numeric: tabular-nums; }
body.lp2 .stat:nth-child(2) .n { background-image: linear-gradient(120deg, #fff, #ff9a5c); }
body.lp2 .stat:nth-child(3) .n { background-image: linear-gradient(120deg, #fff, #b49bff); }
body.lp2 .stat:nth-child(4) .n { background-image: linear-gradient(120deg, #fff, #ff7aa8); }
body.lp2 .stat .l { margin: 8px 0 0; font-size: .9rem; line-height: 1.5; color: var(--muted); }

/* ---------- cards & blocks (token-driven: glass on dark, white on light) ---------- */
body.lp2 .block, body.lp2 .phil, body.lp2 .card, body.lp2 .next-item, body.lp2 .mentor-card, body.lp2 .biz-card, body.lp2 .pf-card, body.lp2 .pn a, body.lp2 .inq-mini-contact, body.lp2 .inq-success {
  background: var(--x-card-bg); border: 1px solid var(--x-card-bd); box-shadow: var(--x-card-sh); border-radius: 22px; color: var(--text);
}
body.lp2 .block { padding: 28px 30px; margin-bottom: 20px; }
body.lp2 .block > .b-title { font-family: var(--font); font-size: 1.05rem; font-weight: 700; color: var(--x-heading); margin-bottom: 16px; flex-wrap: wrap; }
body.lp2 .block > .b-title .tag2 { font-family: var(--font); font-size: .7rem; font-weight: 600; letter-spacing: .06em; color: var(--x-chip-fg); background: var(--x-chip-bg); border-radius: 999px; padding: .25em .75em; }
body.lp2 .block > .b-title .b-ico { background: var(--x-chip-bg); border: 1px solid var(--x-chip-bd); color: var(--x-chip-fg); border-radius: 11px; }
body.lp2 .card { padding: 28px; transition: transform .25s ease, box-shadow .25s, border-color .25s; }
body.lp2 .card:hover { transform: translateY(-4px); box-shadow: var(--x-hover-sh); border-color: var(--wk-line); background: var(--x-card-bg); }
body.lp2 .card h3, body.lp2 .phil h4, body.lp2 .next-item h4, body.lp2 .biz-card h3 { color: var(--x-heading); }
body.lp2 .card p, body.lp2 .phil p, body.lp2 .next-item p, body.lp2 .biz-card p { color: var(--muted); }
body.lp2 .card .ico { background: var(--wk-soft); border: 1px solid var(--wk-line); color: var(--wk-ink); border-radius: 16px; }
body.lp2 .card .link { color: var(--wk-ink); min-height: 32px; font-weight: 600; }
body.lp2 .card .link:hover { text-decoration: none; }
body.lp2 .card .link .arw { transition: transform .2s; }
body.lp2 .card .link:hover .arw { transform: translateX(4px); }

body.lp2 .check li { color: var(--text); }
body.lp2 .check li::before { background: var(--x-chip-bg); border: 1px solid var(--x-chip-bd); color: var(--x-chip-fg); }
body.lp2 .olist li::before { background: var(--wk); box-shadow: 0 0 0 3px var(--wk-soft); }
body.lp2 .clist li { color: var(--muted); }
body.lp2 .clist li strong, body.lp2 .lab li strong { color: var(--x-heading); }
body.lp2 .clist li::before { color: var(--wk-ink); }
body.lp2 .lab li { background: var(--x-row-hover); border: 1px solid var(--x-card-bd); border-radius: 14px; padding: 14px 16px 14px 56px; color: var(--muted); }
body.lp2 .lab li::before { left: 14px; top: 12px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--wk-soft); color: var(--wk-ink); font-family: var(--font); font-size: .74rem; font-weight: 700; }
body.lp2 code { background: var(--x-code-bg); }
body.lp2 .tbl th { font-family: var(--font); color: var(--faint); font-weight: 700; letter-spacing: .06em; }
body.lp2 .tbl td { color: var(--muted); }
body.lp2 .tbl td .k { color: var(--x-heading); }
body.lp2 .tbl tr:hover td { background: var(--x-row-hover); }

/* philosophy cards: week-coloured numbers */
body.lp2 .phil { padding: 24px 26px; }
body.lp2 .phil h4 .b { font-family: var(--font); font-size: .8rem; font-weight: 700; color: var(--x-chip-fg); background: var(--x-chip-bg); border-radius: 9px; padding: .25em .6em; }
body.lp2 .phil:nth-child(2) h4 .b { color: #ff9a5c; background: rgba(255, 154, 92, .14); }
body.lp2 .phil:nth-child(3) h4 .b { color: #b49bff; background: rgba(160, 139, 255, .14); }
body.lp2 .phil:nth-child(4) h4 .b { color: #ff7aa8; background: rgba(255, 122, 168, .14); }
body.lp2 .x-light .phil:nth-child(2) h4 .b { color: #9a3412; background: #fff1e6; }
body.lp2 .x-light .phil:nth-child(3) h4 .b { color: #6d28d9; background: #f2ecff; }
body.lp2 .x-light .phil:nth-child(4) h4 .b { color: #9d174d; background: #fde8f1; }

/* next-list */
body.lp2 .next-item .n { background: var(--x-chip-bg); border: 1px solid var(--x-chip-bd); color: var(--x-chip-fg); font-family: var(--font); }

/* big picture block (curriculum) */
body.lp2 .bigpic { background: var(--x-code-bg); border: 1px solid var(--x-card-bd); border-radius: 22px; box-shadow: var(--x-card-sh); padding: 0; overflow: hidden; }
body.lp2 .bigpic pre { color: #b8c6e0; padding: 24px 26px; margin: 0; overflow-x: auto; }
body.lp2 .x-light .bigpic { background: #0a1020; border-color: #1e2a4a; box-shadow: 0 30px 60px -34px rgba(15, 23, 42, .55); }
body.lp2 .bigpic .cap { margin: 0; padding: 16px 26px; border-top: 1px dashed var(--border-strong); color: #a6b3c8; }

/* ---------- curriculum timeline ---------- */
body.lp2 .timeline::before { background: linear-gradient(180deg, #6f9bff, #a08bff 55%, #ff7aa8); opacity: .45; transform-origin: top; transform: scaleY(var(--tl, 1)); }
body.lp2 .x-light .timeline::before { opacity: .5; }
body.lp2 .tl-node { background: var(--wk-soft); border: 1px solid var(--wk-line); color: var(--wk-ink); font-family: var(--mono); font-weight: 700; box-shadow: 0 0 0 6px var(--bg); }
body.lp2 .x-light .tl-node { box-shadow: 0 0 0 6px #f4f6fb; }
body.lp2 .tl-body { background: var(--x-card-bg); border: 1px solid var(--x-card-bd); border-radius: 20px; box-shadow: var(--x-card-sh); }
body.lp2 .tl-body:hover { border-color: var(--wk-line); box-shadow: var(--x-hover-sh); transform: translateX(4px); }
body.lp2 .tl-top .d { font-family: var(--font); font-weight: 700; letter-spacing: .06em; color: var(--wk-ink); }
body.lp2 .tl-top h3 { color: var(--x-heading); }
body.lp2 .tl-body .desc { color: var(--muted); }
body.lp2 .tl-body .go { color: var(--wk-ink); min-height: 32px; }
body.lp2 .tl-body .go:hover { text-decoration: none; }

/* ---------- course content: deck library ---------- */
body.lp2 .cc-overview { background: linear-gradient(135deg, #0f1a33, #1a1745); border: 1px solid #26305a; border-radius: 24px; color: #e8eefb; box-shadow: 0 30px 60px -34px rgba(15, 23, 42, .6); transition: transform .25s ease, box-shadow .25s; }
body.lp2 .cc-overview:hover { transform: translateY(-3px); box-shadow: 0 36px 70px -30px rgba(79, 124, 255, .55); border-color: #4f7cff; text-decoration: none; }
body.lp2 .cc-ov-ico { background: rgba(111, 155, 255, .16); border: 1px solid rgba(111, 155, 255, .4); color: #9fbcff; }
body.lp2 .cc-ov-body h3 { color: #fff; }
body.lp2 .cc-ov-body p { color: #b7c3da; }
body.lp2 .cc-ov-badge { font-family: var(--font); font-weight: 700; letter-spacing: .04em; color: #cfe0ff; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; padding: .15em .7em; }
body.lp2 .cc-overview .t-open { color: #9fbcff; }
body.lp2 .cc-day { border-top: 1px solid var(--x-card-bd); }
body.lp2 .cc-node { background: var(--wk-soft); border: 1px solid var(--wk-line); color: var(--wk-ink); font-family: var(--mono); font-weight: 700; }
body.lp2 .cc-node-final { background: rgba(255, 122, 168, .16); border-color: rgba(255, 122, 168, .42); color: #ff7aa8; }
body.lp2 .x-light .cc-node-final { background: #fde8f1; border-color: #f6b9d4; color: #9d174d; }
body.lp2 .cc-day-head h3 { color: var(--x-heading); }
body.lp2 .cc-sub { font-family: var(--font); color: var(--faint); letter-spacing: 0; }
body.lp2 .topic { position: relative; overflow: hidden; background: var(--x-card-bg); border: 1px solid var(--x-card-bd); border-top: 0; border-radius: 20px; box-shadow: inset 0 3px 0 var(--wk), var(--x-card-sh); color: var(--text); min-height: 44px; transition: transform .25s ease, box-shadow .25s, border-color .25s; }
body.lp2 .topic::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .25s; background: radial-gradient(240px circle at var(--mx, 50%) var(--my, 0%), var(--wk-soft), transparent 70%); }
body.lp2 .topic:hover { background: var(--x-card-bg); border-color: var(--wk-line); box-shadow: inset 0 3px 0 var(--wk), var(--x-hover-sh); text-decoration: none; transform: translateY(-4px); }
body.lp2 .topic:hover::after { opacity: 1; }
body.lp2 .topic:hover h4 { color: var(--wk-ink); }
body.lp2 .t-num { font-family: var(--mono); color: var(--wk-ink); background: var(--wk-soft); border-radius: 9px; padding: .15em .6em; }
body.lp2 .t-count { font-family: var(--font); color: var(--faint); }
body.lp2 .topic h4 { color: var(--x-heading); position: relative; }
body.lp2 .topic p { color: var(--muted); position: relative; }
body.lp2 .t-open { color: var(--wk-ink); position: relative; }
body.lp2 .cc-final-note { background: rgba(255, 122, 168, .1); border: 1px solid rgba(255, 122, 168, .35); color: var(--muted); border-radius: 18px; }
body.lp2 .x-light .cc-final-note { background: #fde8f1; border-color: #f6b9d4; }
body.lp2 .cc-final-note strong { color: var(--x-heading); }

/* ---------- day page (LMS) ---------- */
body.lp2 .day-kicker { font-family: var(--font); font-weight: 600; letter-spacing: .04em; color: var(--wk-ink); gap: 10px; margin-bottom: 14px; }
body.lp2 .day-kicker .num { background: var(--wk-soft); border: 1px solid var(--wk-line); color: var(--wk-ink); font-size: .85rem; padding: .3em .85em; }
body.lp2 .day-kicker .muted { color: var(--faint); font-weight: 500; letter-spacing: 0; text-transform: none; }
body.lp2 .day-head h1 { font-size: clamp(2rem, 4.6vw, 3.2rem); }
body.lp2 .day-head .tag { color: var(--muted); font-size: 1.12rem; max-width: 62ch; }
.lms-progress { height: 8px; max-width: 420px; margin-top: 20px; background: rgba(255, 255, 255, .12); border-radius: 999px; overflow: hidden; }
.lms-progress span { display: block; height: 100%; border-radius: 999px; background: var(--wk); transform-origin: left; }
body.lp2 .x-daybody { padding: clamp(28px, 4vw, 48px) 0 clamp(40px, 6vw, 72px); }
.lms { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 36px; align-items: start; }
.lms-side { position: sticky; top: 84px; max-height: calc(100vh - 104px); overflow-y: auto; background: var(--x-card-bg); border: 1px solid var(--x-card-bd); border-radius: 22px; padding: 16px 12px; box-shadow: var(--x-card-sh); }
.lms-side-h { font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--faint); padding: 2px 10px 10px; }
.lms-days { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.lms-days a { display: flex; align-items: center; gap: 10px; padding: .55em .7em; border-radius: 12px; color: var(--muted); font-size: .92rem; line-height: 1.35; min-height: 40px; transition: background .15s, color .15s; }
.lms-days a:hover { background: var(--x-row-hover); color: var(--x-heading); text-decoration: none; }
.lms-days .n { flex: 0 0 auto; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: .72rem; font-weight: 500; color: var(--faint); background: var(--x-row-hover); border: 1px solid var(--x-card-bd); border-radius: 8px; padding: .2em .5em; }
.lms-days a.on { background: var(--wk-soft); color: var(--wk-ink); font-weight: 600; box-shadow: inset 3px 0 0 var(--wk); }
.lms-days a.on .n { color: #fff; background: var(--wk-ink); border-color: var(--wk-ink); }
.lms-main { min-width: 0; }
body.lp2 .deliv { background: linear-gradient(135deg, #0f1a33, #1a1745); border: 1px solid #26305a; border-left: 4px solid var(--wk); border-radius: 22px; color: #e8eefb; box-shadow: 0 30px 60px -34px rgba(15, 23, 42, .6); }
body.lp2 .deliv .k { font-family: var(--font); font-weight: 700; font-size: .74rem; letter-spacing: .06em; color: #9fbcff; }
body.lp2 .deliv p { color: #fff; }
body.lp2 .hook { background: rgba(160, 139, 255, .1); border-left: 4px solid #a08bff; border-radius: 0 18px 18px 0; }
body.lp2 .x-light .hook { background: #f2ecff; }
body.lp2 .hook .k { font-family: var(--font); font-weight: 700; letter-spacing: .06em; color: #b49bff; }
body.lp2 .x-light .hook .k { color: #6d28d9; }
body.lp2 .hook p { color: var(--muted); }
body.lp2 .pn a { padding: 18px 22px; min-height: 44px; transition: box-shadow .25s, transform .2s, border-color .25s; }
body.lp2 .pn a:hover { border-color: var(--wk-line); box-shadow: var(--x-hover-sh); transform: translateY(-3px); text-decoration: none; }
body.lp2 .pn .dir { font-family: var(--font); font-weight: 600; letter-spacing: .04em; color: var(--wk-ink); }
body.lp2 .pn .t { color: var(--x-heading); }
body.lp2 .pn .spacer { visibility: visible; opacity: .8; }

/* ---------- credibility ---------- */
body.lp2 .mentor-card { padding: 34px; border-radius: 26px; }
body.lp2 .mentor-avatar { background: linear-gradient(145deg, #2f5fe6, #7a4df0); color: #fff; border: 0; box-shadow: 0 16px 32px -14px rgba(79, 124, 255, .7); }
body.lp2 .mentor-name { color: var(--x-heading); font-family: var(--display); }
body.lp2 .mentor-title { color: #ff9a5c; }
body.lp2 .x-light .mentor-title { color: #c2410c; }
body.lp2 .mentor-bio { color: var(--muted); }
body.lp2 .mc-h { font-family: var(--font); font-weight: 700; letter-spacing: .06em; color: var(--faint); }
body.lp2 .cred-pills li { background: var(--x-chip-bg); border: 1px solid var(--x-chip-bd); color: var(--x-chip-fg); font-weight: 500; }
body.lp2 .mentor-src { color: var(--faint); border-top-color: var(--x-card-bd); }
body.lp2 .guest-card { text-align: center; padding: 30px 24px; }
body.lp2 .guest-avatar { background: rgba(255, 154, 92, .16); border: 1px solid rgba(255, 154, 92, .42); color: #ff9a5c; }
body.lp2 .x-light .guest-avatar { background: #fff1e6; border-color: #f7c9a6; color: #c2410c; }
body.lp2 .guest-org { color: #ff9a5c; }
body.lp2 .x-light .guest-org { color: #c2410c; }
body.lp2 .guest-note { font-family: var(--font); color: var(--faint); }
body.lp2 .biz-card { padding: 24px; }
body.lp2 .biz-ico { background: var(--wk-soft); border: 1px solid var(--wk-line); color: var(--wk-ink); font-family: var(--font); }
body.lp2 .pf-card { overflow: hidden; border-radius: 22px; }
body.lp2 .pf-card:hover { border-color: var(--wk-line); box-shadow: var(--x-hover-sh); }
body.lp2 .pf-view { background: var(--x-code-bg); border-bottom-color: var(--x-card-bd); }
body.lp2 .pf-name { color: var(--x-heading); }
body.lp2 .pf-sector { font-family: var(--font); color: var(--faint); }
body.lp2 .pf-open { border-color: var(--border-strong); color: var(--x-chip-fg); min-width: 44px; min-height: 44px; }
body.lp2 .pf-open:hover { background: var(--x-chip-bg); }

/* ---------- gradient CTA band (course-content + credibility contact) ---------- */
body.lp2 .cta-band { position: relative; overflow: hidden; border: 0; border-radius: 28px; color: #fff; padding: clamp(36px, 6vw, 64px) clamp(22px, 5vw, 44px);
  background: linear-gradient(120deg, #2754e0, #4b46e5 35%, #7b43ea 65%, #c2410c 130%); background-size: 220% 220%; animation: x-shift 14s ease-in-out infinite; box-shadow: 0 40px 90px -36px rgba(91, 63, 224, .8); }
body.lp2 .cta-band::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .16) 1px, transparent 1px); background-size: 22px 22px; mask-image: radial-gradient(ellipse at 50% 0%, #000 0%, transparent 70%); pointer-events: none; }
body.lp2 .cta-band > * { position: relative; }
body.lp2 .cta-band .eyebrow { color: #fff; }
body.lp2 .cta-band .eyebrow::before { background: #ffd3b0; }
body.lp2 .cta-band h2 { color: #fff; }
body.lp2 .cta-band p, body.lp2 .cta-band .faint { color: #fff; opacity: .94; }
body.lp2 .cta-band .btn-primary { background: #fff; color: #1d2d8a; border: 0; box-shadow: 0 16px 36px -14px rgba(0, 0, 0, .55); }
body.lp2 .cta-band .btn-primary:hover { background: #f1f5ff; color: #1d2d8a; }
body.lp2 .cta-band .btn-primary::after { display: none; }
body.lp2 .cta-band .btn-ghost { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .6); }
body.lp2 .cta-band .btn-ghost:hover { background: rgba(255, 255, 255, .14); border-color: #fff; }
body.lp2 .contact-item { background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .28); }
body.lp2 .ci-k { font-family: var(--font); font-weight: 600; font-size: .76rem; letter-spacing: .06em; color: #fff; opacity: 1; }
body.lp2 .ci-v, body.lp2 a.ci-v { color: #fff; }
body.lp2 a.ci-v { text-decoration: underline; text-underline-offset: 3px; }
@keyframes x-shift { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }

/* ---------- inquiry page ---------- */
body.lp2 .x-apply { padding: clamp(48px, 7vw, 96px) 0; }
body.lp2 main > .x-apply:first-child { padding-top: calc(var(--nav-h) + clamp(36px, 5vw, 72px)); }
body.lp2 .inq-side h1 { font-family: var(--display); font-size: clamp(1.9rem, 3.8vw, 2.7rem) !important; letter-spacing: -.03em; color: #0f172a; }
body.lp2 .inq-success { padding: 44px; text-align: center; border-radius: 26px; }
body.lp2 .inq-success-ico { background: var(--x-chip-bg); border: 1px solid var(--x-chip-bd); color: var(--x-chip-fg); }
body.lp2 .inq-success p { color: var(--muted); }
body.lp2 .inq-mini-contact span { color: var(--faint); }
body.lp2 .p-flash div { background: #fef2f2; border: 1px solid #fecaca; border-left: 4px solid #dc2626; color: #7f1d1d; border-radius: 12px; padding: 12px 14px; font-size: .94rem; }
body.lp2 .p-flash div.ok, body.lp2 .p-flash div.success { background: #ecfdf5; border-color: #a7f3d0; border-left-color: #059669; color: #064e3b; }

body.lp2 .grid-2 > .block { align-self: start; }

/* ---------- entrance start-states (only while <html>.js-anim; GSAP adds .is-in when done) ---------- */
.js-anim :is(.section-head, .phil, .block, .card, .tl-item, .topic, .cc-overview, .cc-day-head, .next-item, .biz-card, .guest-card, .pf-card, .mentor-card, .cta-band, .cc-final-note, .pn a, .deliv, .hook, .inq-form, .inq-side, .stats, .cred-stats, .inq-success):not(.is-in):not(.page-head *):not(.cred-hero *) { opacity: 0; transform: translateY(26px); filter: blur(5px); }
.js-anim :is(.page-head, .cred-hero) .container > *:not(.is-in) { opacity: 0; transform: translateY(22px); }
.js-anim :is(.section-head, .phil, .block, .card, .tl-item, .topic, .cc-overview, .cc-day-head, .next-item, .biz-card, .guest-card, .pf-card, .mentor-card, .cta-band, .cc-final-note, .pn a, .deliv, .hook, .inq-form, .inq-side, .stats, .cred-stats, .inq-success):not(.is-in):not(.page-head *):not(.cred-hero *) { transition: none !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1100px) {
  .lms { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .lms-side { position: static; max-height: none; overflow: visible; background: none; border: 0; box-shadow: none; padding: 0; margin: 0 0 18px; }
  .lms-side-h { padding: 0 2px 8px; }
  .lms-days { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 10px; -webkit-overflow-scrolling: touch; }
  .lms-days li { flex: 0 0 auto; }
  .lms-days a { background: var(--x-card-bg); border: 1px solid var(--x-card-bd); box-shadow: var(--x-card-sh); min-height: 44px; white-space: nowrap; }
  .lms-days a.on { border-color: var(--wk); box-shadow: inset 0 0 0 1px var(--wk); }
}
@media (max-width: 900px) {
  body.lp2 .stats, body.lp2 .cred-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.lp2 .stats .stat:nth-child(3), body.lp2 .cred-stats .stat:nth-child(3) { border-left: 0; }
  body.lp2 .stats .stat:nth-child(n+3), body.lp2 .cred-stats .stat:nth-child(n+3) { border-top: 1px solid var(--border); }
  body.lp2 .tl-body .go { min-height: 44px; }
  body.lp2 a.ci-v, body.lp2 .inq-mini-contact a, body.lp2 .x-daybody .block > .muted a { display: inline-block; padding: 10px 0; }
  body.lp2 .crumbs a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 6px; }
  body.lp2 .card .link { min-height: 44px; }
  body.lp2 .inq-side { position: static; }
}
@media (max-width: 560px) {
  body.lp2 .block { padding: 22px 18px; }
  body.lp2 .lab li { padding: 14px 14px 14px 52px; }
  body.lp2 .mentor-card { padding: 24px 18px; }
  body.lp2 .card { padding: 24px; }
  body.lp2 .stats .stat, body.lp2 .cred-stats .stat { padding: 16px; }
  body.lp2 .stat .n { font-size: 1.8rem; }
  body.lp2 .cc-overview { padding: 16px; flex-direction: column; align-items: flex-start; gap: 12px; }
  .lms-progress { max-width: none; }
  body.lp2 .inq-success { padding: 28px 18px; }
}
@media (max-width: 360px) {
  body.lp2 .stats, body.lp2 .cred-stats { grid-template-columns: minmax(0, 1fr); }
  body.lp2 .stats .stat, body.lp2 .cred-stats .stat { border-left: 0; border-top: 1px solid var(--border); }
  body.lp2 .stats .stat:first-child, body.lp2 .cred-stats .stat:first-child { border-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  body.lp2 .cta-band { animation: none !important; }
}
.mentor-card + .mentor-card { margin-top: 24px; }

/* real photos instead of the initial-letter avatars */
body.lp2 img.mentor-avatar.photo, body.lp2 img.guest-avatar.photo { object-fit: cover; padding: 0; background: #e2e8f0; display: block; }
body.lp2 img.mentor-avatar.photo { border-radius: 26px; }
body.lp2 img.guest-avatar.photo { border-radius: 50%; border: 2px solid #fff; box-shadow: 0 8px 18px -10px rgba(15, 23, 42, .5); }
/* guest speakers: text only wraps when the line really runs out of room */
body.lp2 .section-head.wide, body.lp2 .section-head.wide p { max-width: none; }
body.lp2 .section-head.wide h2 { max-width: none; }
body.lp2 .guest-card ~ * , body.lp2 .cred-disc { max-width: none; }
/* contact band: left column reads as one left-aligned block */
body.lp2 .cta-contact p, body.lp2 .cta-contact .faint { margin: 12px 0 0; padding: 0; max-width: 46ch; text-align: left; }
body.lp2 .cta-contact .hero-cta { justify-content: flex-start; }
