/* LipSub Academy — public site layer.
   Extends academy-design-system.css tokens. */

body.pub { background: var(--bg-deep); }

/* ---------- nav ---------- */
.pub-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:14px 30px;background:rgba(22,18,31,.86);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border)}
.pub-brand{text-decoration:none;display:block}
.pub-brand-tag{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;color:var(--lime)}
.pub-brand-name{display:block;font-family:var(--font-display);font-weight:800;font-size:19px;color:var(--text)}
.pub-nav-links{display:flex;align-items:center;gap:22px}
.pub-nav-links a{color:var(--text-muted);text-decoration:none;font-size:14px;font-weight:600}
.pub-nav-links a:hover{color:var(--text)}
.pub-nav-links .btn-primary{color:#16220a}
.pub-login{color:var(--text)!important}

/* ---------- hero: the subtitle bar is the signature ---------- */
.hero{position:relative;padding:86px 24px 70px;max-width:1080px;margin:0 auto;text-align:center;overflow:hidden}
.hero-eyebrow{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.22em;color:var(--cyan);margin-bottom:26px}
.hero-frame{position:relative;border:1px solid var(--border);border-radius:var(--radius-lg);
  background:linear-gradient(160deg,#1d1729,#16121f);padding:54px 30px 30px;overflow:hidden}
.hero-tc{position:absolute;top:14px;inset-inline-start:18px;font-family:var(--font-mono);font-size:11px;
  color:var(--lime);background:rgba(0,0,0,.5);padding:3px 11px;border-radius:999px}
.hero-rec{position:absolute;top:14px;inset-inline-end:18px;font-family:var(--font-mono);font-size:11px;
  color:var(--pink);display:flex;align-items:center;gap:7px}
.hero-rec i{width:8px;height:8px;border-radius:50%;background:var(--pink);display:inline-block;
  animation:blink 1.6s steps(1,end) infinite}
@keyframes blink{50%{opacity:.15}}
.hero h1{font-size:clamp(31px,5.4vw,53px);line-height:1.18;margin:0 0 16px;color:var(--text)}
.hero h1 em{font-style:normal;color:var(--lime)}
.hero-sub{max-width:640px;margin:0 auto 30px;color:var(--text-muted);font-size:16px;line-height:1.85}
.caption-bar{margin:32px auto 0;max-width:660px;background:rgba(0,0,0,.55);border-radius:var(--radius-sm);
  padding:15px 20px;font-family:var(--font-display);font-weight:800;font-size:clamp(15px,2.5vw,20px);
  color:#fff;text-shadow:0 2px 0 #000;border-inline-start:4px solid var(--pink)}
.caption-meta{display:flex;justify-content:space-between;max-width:660px;margin:8px auto 0;
  font-family:var(--font-mono);font-size:10.5px;color:var(--text-muted)}
.hero-cta{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.btn-lg{padding:14px 30px;font-size:15px}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}

/* ---------- generic section ---------- */
.pub-section{max-width:1080px;margin:0 auto;padding:66px 24px}
.pub-section-head{margin-bottom:34px}
.pub-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;color:var(--pink);margin-bottom:9px}
.pub-section h2{font-size:clamp(23px,3.4vw,33px);margin-bottom:9px}
.pub-section-head p{color:var(--text-muted);max-width:600px;margin:0}

/* ---------- journey rail ---------- */
.rail{display:grid;gap:14px}
.rail-step{display:grid;grid-template-columns:96px 1fr;gap:20px;align-items:start;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 22px;
  border-inline-start:5px solid var(--lane)}
.rail-step:nth-child(6n+1){--lane:var(--pink)}
.rail-step:nth-child(6n+2){--lane:var(--lime)}
.rail-step:nth-child(6n+3){--lane:var(--cyan)}
.rail-step:nth-child(6n+4){--lane:var(--pink)}
.rail-step:nth-child(6n+5){--lane:var(--lime)}
.rail-step:nth-child(6n+6){--lane:var(--cyan)}
.rail-tc{font-family:var(--font-mono);font-size:12px;color:var(--lane);white-space:nowrap;padding-top:3px}
.rail-step h3{font-size:17px;margin:0 0 5px}
.rail-step p{margin:0;color:var(--text-muted);font-size:14px;line-height:1.75}

/* ---------- course cards ---------- */
.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.course-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:24px;display:flex;flex-direction:column;gap:12px}
.course-card h3{font-size:19px;margin:0}
.course-card .desc{color:var(--text-muted);font-size:14px;line-height:1.7;flex:1;margin:0}
.course-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:2px}
.price-row{display:flex;align-items:baseline;gap:9px;margin-top:6px}
.price{font-family:var(--font-mono);font-size:25px;color:var(--lime);font-weight:600}
.price-was{font-family:var(--font-mono);font-size:14px;color:var(--text-muted);text-decoration:line-through}

/* ---------- feature cards ---------- */
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.feat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px}
.feat .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;margin-bottom:10px}
.feat:nth-child(3n+1) .k{color:var(--pink)}
.feat:nth-child(3n+2) .k{color:var(--lime)}
.feat:nth-child(3n+3) .k{color:var(--cyan)}
.feat h3{font-size:17px;margin:0 0 7px}
.feat p{margin:0;color:var(--text-muted);font-size:14px;line-height:1.75}

/* ---------- careers band ---------- */
.band{background:linear-gradient(140deg,#241a33,#16121f);border-block:1px solid var(--border)}
.band-inner{max-width:1080px;margin:0 auto;padding:60px 24px}

/* ---------- forms ---------- */
.form-wrap{max-width:520px;margin:56px auto;padding:0 24px}
.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:30px}
.form-card h1{font-size:26px;margin-bottom:6px}
.form-note{color:var(--text-muted);font-size:14px;margin-bottom:22px}
.errors{border:1px solid var(--danger);border-radius:var(--radius-sm);padding:13px 16px;margin-bottom:18px}
.errors ul{margin:0;padding-inline-start:18px;color:var(--danger);font-size:13.5px}
.form-alt{text-align:center;margin-top:18px;font-size:13.5px;color:var(--text-muted)}
.form-alt a{color:var(--lime)}

/* ---------- misc ---------- */
.pub-footer{border-top:1px solid var(--border);background:var(--surface);margin-top:40px}
.pub-footer-inner{max-width:1080px;margin:0 auto;padding:38px 24px;display:flex;justify-content:space-between;
  gap:30px;flex-wrap:wrap}
.pub-footer-line{color:var(--text-muted);font-size:13.5px;margin:9px 0 0;max-width:320px}
.pub-footer-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--text-muted)}
.pub-footer-logos{display:flex;align-items:center;gap:20px;margin-top:12px;flex-wrap:wrap}
.pub-footer-logos img{height:26px;opacity:.75}
.pub-footer-bottom{border-top:1px solid var(--border);padding:15px 24px;text-align:center;
  font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}

@media (max-width:700px){
  .pub-nav{padding:12px 16px;flex-wrap:wrap;gap:10px}
  .pub-nav-links{gap:14px;font-size:13px}
  .rail-step{grid-template-columns:1fr;gap:8px}
  .pub-footer-inner{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  .hero-rec i{animation:none}
}

/* ---------- language switch + LTR support ---------- */
html[dir="ltr"] body{direction:ltr}
html[dir="ltr"] th{text-align:left}
html[dir="ltr"] .caption-bar{border-inline-start:4px solid var(--pink)}
.lang-switch{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}
.lang-switch a{padding:5px 12px;font-family:var(--font-mono);font-size:11.5px;color:var(--text-muted);
  text-decoration:none;line-height:1.4}
.lang-switch a.on{background:var(--lime);color:#16220a;font-weight:700}
.lang-switch a:not(.on):hover{background:var(--surface-alt);color:var(--text)}

/* superseded by .seg in theme.css */
.lang-switch{display:none!important}
