/* Home-page specific styles */
.pillar-icon { width:48px;height:48px;border-radius:12px;background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.28);display:flex;align-items:center;justify-content:center;color:var(--cyan);margin-bottom:18px; }
.card h3 { margin-bottom:10px; }
.card p { font-size:.93rem; }

/* hero visual */
.hero-visual { min-height:380px; position:relative; }
.hero-visual svg { width:100%; height:100%; display:block; }

/* ---------- Hero: animated code editor + terminal ---------- */
.code-hero { position:relative; width:100%; padding:8px 0; }
.ch-glow { position:absolute; inset:-10% -6% -20% -6%; background:radial-gradient(60% 55% at 70% 20%, rgba(34,211,238,.18), transparent 70%), radial-gradient(50% 50% at 20% 90%, rgba(129,140,248,.16), transparent 70%); filter:blur(18px); z-index:-1; pointer-events:none; }

.code-window, .term-window { background:#0B0D14; border:1px solid var(--border-strong); border-radius:14px; overflow:hidden; box-shadow:0 24px 60px -24px rgba(0,0,0,.7); font-family:'JetBrains Mono','SFMono-Regular',ui-monospace,Menlo,Consolas,monospace; }
.code-window { transform:perspective(1200px) rotateX(1.4deg); }

/* window title bars */
.cw-bar, .tw-bar { display:flex; align-items:center; gap:12px; padding:11px 14px; background:linear-gradient(180deg,#12151F,#0D1017); border-bottom:1px solid var(--border); font-size:.78rem; }
.cw-dots { display:flex; gap:6px; }
.cw-dots i { width:11px; height:11px; border-radius:50%; display:block; opacity:.9; }
.cw-tab { color:#fff; font-weight:600; letter-spacing:.01em; }
.cw-branch { margin-left:auto; display:inline-flex; align-items:center; gap:5px; color:var(--cyan); background:rgba(34,211,238,.1); border:1px solid rgba(34,211,238,.28); padding:3px 9px; border-radius:999px; font-size:.72rem; }
.cw-branch svg { width:13px; height:13px; }

/* code body */
.cw-body { display:flex; padding:16px 0 18px; background:#0B0D14; }
.cw-gutter { display:flex; flex-direction:column; padding:0 14px 0 16px; color:#3A4356; font-size:.82rem; line-height:1.72; text-align:right; user-select:none; }
.cw-code { margin:0; padding:0 18px 0 4px; overflow:hidden; }
.cw-code code { display:block; white-space:pre; color:#C6CEDA; font-size:.86rem; line-height:1.72; }
.cw-caret { display:inline-block; width:7px; height:1.05em; background:var(--cyan); margin-left:1px; vertical-align:-2px; animation:chCaret 1s steps(1) infinite; }
@keyframes chCaret { 50% { opacity:0; } }

/* syntax colors */
.tok-key { color:#C084FC; }
.tok-fn  { color:#22D3EE; }
.tok-str { color:#34D399; }
.tok-num { color:#FBBF24; }
.tok-com { color:#5B667A; font-style:italic; }
.tok-punc{ color:#8A94A6; }
.tok-var { color:#93C5FD; }

/* terminal */
.term-window { margin-top:16px; }
.tw-bar span:first-child { color:var(--text-dim); display:inline-flex; align-items:center; gap:6px; }
.tw-bar svg { width:13px; height:13px; }
.tw-live { margin-left:auto; display:inline-flex; align-items:center; gap:6px; color:var(--green); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.tw-dot { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 0 0 rgba(52,211,153,.6); animation:chPulse 1.6s ease-out infinite; }
@keyframes chPulse { 0%{box-shadow:0 0 0 0 rgba(52,211,153,.55);} 100%{box-shadow:0 0 0 8px rgba(52,211,153,0);} }
.tw-body { padding:14px 16px 16px; max-height:150px; overflow:hidden; font-size:.82rem; line-height:1.7; }
.tw-body .tl { opacity:0; transform:translateY(4px); transition:opacity .3s var(--ease), transform .3s var(--ease); color:#9AA3B2; }
.tw-body .tl.show { opacity:1; transform:none; }
.tw-body .prompt { color:#fff; }
.tw-body .dim { color:#6B7688; }
.tw-body .ok { color:#93C5FD; }
.tw-body .success { color:var(--green); font-weight:500; }

/* floating outcome badge */
.ch-badge { position:absolute; right:-6px; bottom:20px; display:flex; align-items:center; gap:11px; background:rgba(13,15,22,.92); backdrop-filter:blur(8px); border:1px solid var(--border-strong); border-radius:14px; padding:12px 16px 12px 12px; box-shadow:0 18px 40px -18px rgba(0,0,0,.8); animation:chFloat 5s ease-in-out infinite; }
.ch-badge .chb-ic { width:34px; height:34px; border-radius:10px; background:rgba(52,211,153,.14); border:1px solid rgba(52,211,153,.4); color:var(--green); display:flex; align-items:center; justify-content:center; }
.ch-badge span:last-child { display:flex; flex-direction:column; line-height:1.2; }
.ch-badge strong { color:#fff; font-family:var(--font-head); font-size:.92rem; }
.ch-badge em { color:var(--text-faint); font-style:normal; font-size:.76rem; }
@keyframes chFloat { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }

@media (max-width:900px) { .code-window { transform:none; } .ch-badge { right:8px; bottom:12px; } }
@media (prefers-reduced-motion: reduce) { .code-window { transform:none; } .cw-caret, .tw-dot, .ch-badge { animation:none; } }

/* partner strip */
.partner-strip { display:flex; flex-wrap:wrap; justify-content:center; gap:14px 40px; align-items:center; }
.partner-word { font-family:var(--font-head); font-weight:600; font-size:1.05rem; color:var(--text-faint); letter-spacing:.01em; opacity:.7; transition:opacity .25s,color .25s; display:inline-flex; align-items:center; gap:9px; }
.partner-word:hover { opacity:1; color:var(--text-dim); }
.partner-word .pw-dot { width:9px;height:9px;border-radius:3px; }

/* field cards */
.field-card { display:block; position:relative; overflow:hidden; }
.field-card .fc-icon { width:52px;height:52px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:18px; }
.field-card h3 { margin-bottom:8px; }
.field-card .fc-meta { display:flex;align-items:center;gap:8px;margin-top:16px;font-size:.82rem;color:var(--text-faint);font-family:var(--font-head); }
.field-card .fc-arrow { position:absolute;top:24px;right:24px;color:var(--text-faint);transition:transform .3s var(--ease),color .3s; }
.field-card:hover .fc-arrow { transform:translate(4px,-4px);color:var(--cyan); }

/* mentor cards */
.mentor-card { display:flex; gap:16px; align-items:flex-start; }
.mentor-avatar { width:60px;height:60px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:1.2rem;color:#05121a; }
.mentor-card h3 { font-size:1.08rem;margin-bottom:2px; }
.mentor-card .role { font-size:.82rem;color:var(--cyan);font-family:var(--font-head);margin-bottom:8px; }
.mentor-card p { font-size:.88rem; }

/* testimonial */
.testimonial { text-align:center; padding:20px; }
.testimonial .quote { font-family:var(--font-head); font-size:clamp(1.1rem,2.2vw,1.5rem); color:#fff; line-height:1.4; font-weight:500; margin-bottom:24px; }
.testimonial .who { display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap; }
.testimonial .avatar { width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;color:#05121a; }
.testimonial .switch { font-size:.85rem;color:var(--text-dim); }
.testimonial .switch b { color:var(--green); }

/* pricing teaser */
.pricing-teaser-card { display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center; }
.tier-ladder { display:flex;flex-direction:column;gap:10px; }
.tier-rung { display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.02); }
.tier-rung .tl-name { font-family:var(--font-head);font-size:.9rem;color:#fff; }
.tier-rung .tl-price { font-family:var(--font-head);font-weight:700;color:var(--cyan); }
@media (max-width:760px){ .pricing-teaser-card{ grid-template-columns:1fr; } }

/* CTA band */
.cta-band { position:relative; overflow:hidden; text-align:center; padding:64px 40px; border-radius:var(--radius-lg); border:1px solid var(--border-strong); background:linear-gradient(160deg,rgba(34,211,238,.08),rgba(129,140,248,.06)); }
@media (max-width:600px){ .cta-band{ padding:48px 24px; } }

/* featured tab panels use course grid */
[data-tab-panel] { }
