/* Yoga.org Teach — shared styles for the cohort pages.
   Tokens match the homepage; mobile-first breakpoints at 1000 / 760 / 560. */

:root{
  --teal-900:#0f3d38; --teal-800:#115e56; --teal-700:#0f766e; --teal-600:#0d9488;
  --teal-500:#14b8a6; --teal-400:#2dd4bf; --teal-300:#5eead4; --teal-50:#f0fdfa;
  --amber-400:#fbbf24; --amber-500:#f59e0b; --amber-600:#d97706;
  --ink:#0f172a; --body:#475569; --muted:#64748b; --line:#e2e8f0; --bg-soft:#f8fafc;
}
*{box-sizing:border-box;margin:0;padding:0}
img{max-width:100%}
body{font-family:Inter,"Open Sans",sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--teal-700)}

.wrap{max-width:1100px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px}
.center{text-align:center}

/* header */
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hdr{display:flex;align-items:center;justify-content:space-between;height:70px;max-width:1100px;margin:0 auto;padding:0 24px;gap:20px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{height:30px}
.brand .sub{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-600);border-left:1px solid var(--line);padding-left:10px}
nav.main{display:flex;gap:24px;font-size:14.5px;font-weight:500}
nav.main a{color:var(--body);text-decoration:none}
nav.main a:hover{color:var(--teal-700)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-weight:600;font-size:15px;padding:12px 24px;border:0;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn-teal{background:var(--teal-600);color:#fff}
.btn-amber{background:var(--amber-500);color:#1c1300}
.btn-out{background:#fff;border:1px solid var(--line);color:var(--body)}
.btn-lg{font-size:16.5px;padding:15px 30px}
.btn[disabled],.btn.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}

/* page head */
.phead{background:linear-gradient(135deg,var(--teal-800),var(--teal-900));color:#fff;padding:56px 0}
.phead h1{font-size:clamp(30px,6.6vw,50px);font-weight:700;letter-spacing:-.02em;line-height:1.12;margin-bottom:14px}
.phead p{font-size:17px;color:#bfe3de;max-width:680px}
.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-300);margin-bottom:14px}
.phead .eyebrow{color:var(--teal-300)}

/* generic section */
section.pad{padding:64px 0}
h2.sec{font-size:clamp(25px,5.2vw,36px);font-weight:700;letter-spacing:-.02em;line-height:1.18;margin-bottom:12px}
h3.sub{font-size:21px;font-weight:700;margin:34px 0 10px}
p.lead{font-size:17px;color:var(--body);margin-bottom:16px}
.card{border:1px solid var(--line);border-radius:16px;padding:26px;background:#fff}
.soft{background:var(--bg-soft)}

/* status pills — the honesty layer */
.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 11px;white-space:nowrap}
.pill.approved{background:#ccfbf1;color:#0f766e}
.pill.review{background:#fef3c7;color:var(--amber-600)}
.pill.drafting{background:#f1f5f9;color:#64748b}
.pill.free{background:var(--amber-500);color:#1c1300}
.pill.know{background:#f1f5f9;color:#475569}
.pill.applied{background:#fef3c7;color:var(--amber-600)}
.pill.observed{background:#ccfbf1;color:#0f766e}

/* module list */
.mods{border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:20px}
.mod{display:flex;gap:16px;align-items:flex-start;padding:18px 22px;border-bottom:1px solid var(--line)}
.mod:last-child{border-bottom:0}
.mod:nth-child(even){background:var(--bg-soft)}
.mod .num{font-size:13px;font-weight:800;color:var(--teal-600);width:30px;flex-shrink:0;padding-top:2px}
.mod .meta{flex:1;min-width:0}
.mod h4{font-size:16.5px;font-weight:700;margin-bottom:3px}
.mod p{font-size:14px;color:var(--muted)}
.mod .right{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.mod .rev{font-size:12px;color:var(--muted)}

/* status key legend */
.key{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-top:26px}
.key .kl{font-size:13.5px;color:var(--muted);font-weight:600}
.key .ki{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted)}

.group-h{display:flex;align-items:baseline;justify-content:space-between;gap:4px 12px;margin:40px 0 0;flex-wrap:wrap}
.group-h h3{font-size:19px;font-weight:700}
.group-h span{font-size:13.5px;color:var(--muted)}

/* notice */
.notice{border:1px solid var(--amber-500);background:#fffdf6;border-radius:14px;padding:20px 22px;margin-top:24px}
.notice h4{font-size:16px;font-weight:700;margin-bottom:6px}
.notice p{font-size:14.5px;color:var(--body)}

/* lesson body */
.lesson{font-size:17px;color:var(--body)}
.lesson h2{font-size:clamp(23px,4.6vw,30px);color:var(--ink);font-weight:700;letter-spacing:-.02em;margin:44px 0 12px}
.lesson h3{font-size:19px;color:var(--ink);font-weight:700;margin:28px 0 8px}
.lesson p{margin-bottom:15px}
.lesson ul,.lesson ol{margin:0 0 16px 20px}
.lesson li{margin-bottom:8px}
.lesson blockquote{border-left:3px solid var(--teal-500);padding:4px 0 4px 18px;margin:20px 0;color:var(--ink);font-size:18px}
.lesson strong{color:var(--ink);font-weight:600}
.keyline{border:0;border-top:1px solid var(--line);margin:44px 0}

/* checkpoint */
.check{background:var(--teal-50);border:1px solid var(--teal-300);border-radius:16px;padding:24px;margin:28px 0}
.check .k{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-700);margin-bottom:10px}
.check ol{margin:0 0 0 20px}
.check li{font-size:15.5px;margin-bottom:9px;color:var(--ink)}

/* plan cards */
.plans{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:22px}
.plan{border:1.5px solid var(--line);border-radius:18px;padding:24px;background:#fff}
.plan.pick{border-color:var(--teal-600);box-shadow:0 0 0 3px rgba(13,148,136,.1)}
.plan .pn{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-600);margin-bottom:10px}
.plan .amt{font-size:34px;font-weight:800;letter-spacing:-.02em}
.plan .amt small{font-size:15px;font-weight:600;color:var(--muted)}
.plan .then{font-size:14.5px;color:var(--body);margin-top:8px}
.plan .tot{font-size:13px;color:var(--muted);margin-top:10px}

/* schedule table */
.sched{width:100%;border-collapse:collapse;font-size:15px;margin-top:14px}
.sched th{text-align:left;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0 14px 10px 0;border-bottom:1px solid var(--line)}
.sched td{padding:13px 14px 13px 0;border-bottom:1px solid var(--line);vertical-align:top}
.sched tr:last-child td{border-bottom:0}

footer{background:#08211f;color:#8fb8b3;padding:44px 0;font-size:14px;margin-top:0}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer a{color:#8fb8b3}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  nav.main{display:none}
}
@media (max-width:560px){
  .lbl{display:none}
  .hdr .btn{padding:10px 16px;font-size:14px}
}
@media (max-width:760px){
  .wrap,.hdr{padding:0 18px}
  .hdr{height:62px;gap:10px}
  .brand img{height:27px}
  .brand .sub{font-size:11px;padding-left:8px}
  .btn{padding:11px 18px;font-size:14.5px}
  .btn-lg{font-size:15.5px;padding:14px 22px}

  .phead{padding:38px 0}
  .phead p{font-size:16px}
  section.pad{padding:42px 0}
  .card{padding:20px}

  .key{flex-direction:column;align-items:flex-start;gap:9px}

  .mod{flex-wrap:wrap;gap:10px;padding:16px 18px}
  .mod .num{width:auto}
  .mod .meta{flex:1 1 100%;order:3}
  .mod .right{flex-direction:row;align-items:center;margin-left:auto}

  .plans{grid-template-columns:1fr}
  .lesson{font-size:16.5px}

  /* schedule restacks as label/value rows */
  .sched,.sched tbody,.sched tr,.sched td{display:block}
  .sched thead{display:none}
  .sched tr{padding:13px 0;border-bottom:1px solid var(--line)}
  .sched td{padding:0;border:0}
  .sched td:first-child{font-weight:700;color:var(--ink)}

  footer .wrap{flex-direction:column;gap:8px}
}

.obsfig{margin:24px 0 30px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.obsfig img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.obsfig figcaption{font-size:14px;color:var(--muted);padding:15px 18px 17px;line-height:1.6}
.cphoto{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:14px;margin:22px 0 8px}
.cphoto-cap{font-size:13.5px;color:var(--muted);text-align:center;margin-bottom:26px}
