/* The University (theme/inc/university.php): the hub, a course and a lesson, every rule scoped to .uv, loaded after
   kit.css, whose parts the pages use (.k-eyebrow, .k-tile, .k-sep, .k-facts, .k-fact, .k-btns, .k-btn, .k-link,
   .k-checks, .k-av, .k-ini, .k-fine, .k-sr) and never restyle. The look is the articles' (the blog lab's variant B, the
   founder's pick of 2026-10-28): the warm hero band over its hairline, then the page on white, the main column at most
   760 px with a side column beside it from 1000 px (a lesson's list of lessons and the call, a course's call kept in
   view). The video's poster is drawn on the kit's night ground (--k-navy-g), never a picture file, so nothing loads from
   YouTube before the click (assets/js/university.js). Tokens only, so the dark theme follows, and the poster is the night in
   both. Nothing moves. */

/* one width for the band's words and the columns under it (760 + 64 + 300), so their left edges meet */
main.uv{--uv-w:1124px;padding-top:0}
.uv [id]{scroll-margin-top:calc(var(--nav-h) + 24px)}
.uv :is(.uv-row,.uv-pn-a,.uv-crumbs a,.uv-course-h a,.uv-toc-c a,.uv-cap a,.uv-more a,.uv-speaker-role a):focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}

/* ==== the hero band: the crumbs, the H1, the line, the facts */
.uv-hero{padding:56px var(--k-gutter) 64px;background:var(--k-warm);border-bottom:1px solid var(--line)}
.uv-hero-in{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:56px;align-items:center;max-width:var(--uv-w);margin:0 auto}
.uv-hero-in.uv-hero-one{grid-template-columns:minmax(0,1fr)}
.uv-hero-txt{min-width:0;max-width:780px}
.uv-hero-side{min-width:0}
.uv-crumbs a{color:inherit;text-decoration:none}
.uv-crumbs a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.uv-h1{margin:0;font:600 clamp(34px,3.6vw,52px)/1.06 var(--display);letter-spacing:-.035em;color:var(--ink2);text-wrap:balance;overflow-wrap:anywhere}
.uv-dek{max-width:640px;margin:20px 0 0;font:400 19px/1.55 var(--sans);color:var(--k-text);text-wrap:pretty}
.uv-meta{margin:18px 0 0;font:400 14px/1.5 var(--sans);color:var(--mute)}
.uv-facts{margin-top:24px}
.uv-hero .k-btns{margin-top:28px}

/* ==== the columns under the band */
.uv-cols{display:grid;grid-template-columns:minmax(0,760px) 300px;column-gap:64px;justify-content:space-between;align-items:start;max-width:calc(var(--uv-w) + 2 * var(--k-gutter));margin:0 auto;padding:56px var(--k-gutter) 120px}
.uv-main,.uv-side{min-width:0}
.uv-side>*+*{margin-top:24px}
.uv-course .uv-side{position:sticky;top:calc(var(--nav-h) + 32px)}
.uv-part{margin-top:48px}
.uv-main>.uv-part:first-child{margin-top:0}
.uv-h2{margin:0;font:600 clamp(24px,2.2vw,30px)/1.2 var(--display);letter-spacing:-.025em;color:var(--ink2);text-wrap:balance}
.uv-part .k-checks{margin-top:20px}

/* ==== the video: the drawn poster, then the player in its place */
.uv-video{margin:0}
.uv-player{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:18px;background:var(--k-navy-g);box-shadow:var(--k-sh-lg)}
.uv-player iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}
.uv-play{position:absolute;inset:0;display:block;color:#FFFFFF;text-decoration:none}
.uv-play:focus-visible{outline:3px solid #FFFFFF;outline-offset:-7px;border-radius:18px}
.uv-poster{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(18px,4.6%,40px)}
.uv-poster-eye{display:flex;flex-wrap:wrap;gap:4px 12px;font:500 12px/1.35 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--k-navy-eye)}
.uv-poster-n{color:var(--k-navy-mute)}
.uv-poster-t{max-width:16em;margin-top:14px;font:600 clamp(22px,3.3vw,40px)/1.08 var(--display);letter-spacing:-.03em;color:#FFFFFF;text-wrap:balance}
.uv-poster-by{margin-top:10px;font:400 15px/1.4 var(--sans);color:var(--k-on-navy)}
.uv-poster-foot{display:flex;align-items:center;gap:14px;margin-top:auto}
.uv-poster-btn{display:grid;place-items:center;width:clamp(48px,9.5%,72px);aspect-ratio:1;border-radius:50%;background:#FFFFFF;color:var(--k-brand);box-shadow:0 12px 32px -12px rgba(0,0,0,.7)}
.uv-poster-btn svg{display:block;width:44%;height:44%;margin-left:6%}
.uv-play:hover .uv-poster-btn{background:var(--k-on-brand-2)}
.uv-poster-len{padding:5px 10px;border-radius:8px;background:rgba(255,255,255,.12);font:500 13px/1 var(--mono);letter-spacing:.04em;color:#FFFFFF}
.uv-cap{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin:14px 0 0;font:400 14px/1.5 var(--sans);color:var(--mute)}
.uv-cap a{font-weight:600;color:var(--ink2);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* ==== a lesson's words, Go further, the previous and the next */
.uv-text{margin-top:36px}
.uv-text p{margin:0 0 18px;font:400 18px/1.65 var(--sans);color:var(--ink);text-wrap:pretty}
.uv-text p:last-child{margin-bottom:0}
.uv-more{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none;font:400 17px/1.55 var(--sans);color:var(--k-text)}
.uv-more a{font-weight:600;color:var(--k-ai-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.uv-pn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:56px;padding-top:32px;border-top:1px solid var(--line)}
.uv-pn-a{display:flex;flex-direction:column;gap:6px;min-width:0;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--k-card);text-decoration:none}
.uv-pn-a:hover{border-color:color-mix(in srgb,var(--ai) 45%,var(--line))}
.uv-pn-next{align-items:flex-end;text-align:right}
.uv-pn-k{font:500 12px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.uv-pn-t{font:600 17px/1.35 var(--sans);color:var(--ink2);overflow-wrap:anywhere}

/* ==== the lists of lessons: the side card (a lesson, the hub) and the breakdown (a course) */
.uv-toc,.uv-course-list{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--k-card)}
.uv-toc .k-eyebrow{margin-bottom:10px}
.uv-toc-c{margin:0;font:600 17px/1.35 var(--display);letter-spacing:-.01em;color:var(--ink2)}
.uv-toc-c a{color:inherit;text-decoration:none}
.uv-toc-c a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.uv-toc-len{margin:4px 0 0;font:400 13.5px/1.4 var(--sans);color:var(--mute)}
.uv-mod{margin-top:18px}
.uv-course-list .uv-mod:first-child{margin-top:0}
.uv-mod-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 6px;font:600 13.5px/1.35 var(--sans);color:var(--ink2)}
.uv-mod-len{font-weight:400;color:var(--mute);white-space:nowrap}
.uv-rows{margin:0;padding:0;list-style:none}
.uv-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:baseline;margin:0 -10px;padding:8px 10px;border-radius:10px;font:400 14.5px/1.4 var(--sans);color:var(--k-text);text-decoration:none}
.uv-row:hover{background:var(--sunk);color:var(--ink2)}
.uv-row-on,.uv-row-on:hover{background:var(--k-ai-soft);color:var(--k-ai-ink);font-weight:600}
.uv-row-n{font:500 12px/1.4 var(--mono);color:var(--mute);text-align:right}
.uv-row-on .uv-row-n{color:inherit}
.uv-row-d{font:400 12.5px/1.4 var(--mono);color:var(--mute);white-space:nowrap}
.uv-break{margin-top:20px}
.uv-break .uv-mod{margin-top:20px;padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:var(--k-card)}
.uv-break .uv-mod:first-child{margin-top:0}
.uv-break .uv-mod-h{margin-bottom:10px;font:600 19px/1.3 var(--display);letter-spacing:-.015em}
.uv-break .uv-mod-len{font:400 14px/1.4 var(--sans)}
.uv-break .uv-row{grid-template-columns:26px minmax(0,1fr) auto;margin:0 -12px;padding:11px 12px;font-size:16.5px}
.uv-break .uv-row-n{font-size:13px}
.uv-break .uv-row-d{font-size:13.5px}

/* ==== the speaker's card and the call */
.uv-speaker{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--k-card);box-shadow:var(--k-sh)}
.uv-speaker .k-eyebrow{margin-bottom:14px}
.uv-speaker-who{display:flex;align-items:center;gap:14px}
.uv-speaker-name{margin:0;font:600 18px/1.3 var(--display);color:var(--ink2)}
.uv-speaker-role{margin:3px 0 0;font:400 14px/1.45 var(--sans);color:var(--mute)}
.uv-speaker-role a{color:var(--k-ai-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.uv-speaker-bio{margin:16px 0 0;font:400 15px/1.55 var(--sans);color:var(--k-text);text-wrap:pretty}
.uv-call{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--k-card)}
.uv-call .k-eyebrow{margin-bottom:12px}
.uv-call-h{margin:0;font:500 16.5px/1.5 var(--sans);color:var(--ink2);text-wrap:pretty}
.uv-call .k-btns{margin-top:18px}
.uv-call .k-fine{margin-top:14px;font-size:13.5px}

/* ==== the hub: a row per course, its words left and its lessons right, then the call */
.uv-courses{max-width:calc(var(--uv-w) + 2 * var(--k-gutter));margin:0 auto;padding:8px var(--k-gutter) 0}
.uv-course-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:56px;align-items:start;padding:56px 0;border-bottom:1px solid var(--line)}
.uv-course-row:last-child{border-bottom:0}
.uv-course-txt{min-width:0}
.uv-course-h a{color:inherit;text-decoration:none}
.uv-course-h a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.uv-course-p{max-width:600px;margin:16px 0 0;font:400 18px/1.6 var(--sans);color:var(--k-text);text-wrap:pretty}
.uv-by{display:flex;align-items:center;gap:10px;margin:22px 0 0;font:500 15px/1.4 var(--sans);color:var(--ink2)}
.uv-course-txt .k-btns{margin-top:28px;gap:12px 24px}
.uv-course-txt .k-link{margin-top:0}
.uv-close{max-width:760px;margin:0 auto;padding:16px var(--k-gutter) 120px}

/* ==== widths */
@media (max-width:1100px){
  .uv-hero-in{grid-template-columns:minmax(0,1fr) 320px;gap:40px}
  .uv-cols{grid-template-columns:minmax(0,1fr) 280px;column-gap:40px}
  .uv-course-row{grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:40px}
}
@media (max-width:1000px){
  .uv-hero-in{grid-template-columns:minmax(0,1fr);gap:32px}
  .uv-hero-side{max-width:560px}
  .uv-cols{grid-template-columns:minmax(0,760px);row-gap:48px}
  .uv-course .uv-side{position:static}
  .uv-course-row{grid-template-columns:minmax(0,1fr);gap:28px}
  .uv-course-list{max-width:560px}
}
@media (max-width:760px){
  .uv-hero{padding:28px var(--k-gutter) 36px}
  .uv-dek{font-size:17px}
  .uv-cols{padding:32px var(--k-gutter) 80px}
  .uv-text{margin-top:28px}
  .uv-text p{font-size:17px}
  .uv-part{margin-top:40px}
  .uv-player,.uv-play:focus-visible{border-radius:14px}
  .uv-poster-eye{font-size:10.5px}
  .uv-poster-n,.uv-poster-by{display:none}
  .uv-poster-t{margin-top:8px}
  .uv-pn{grid-template-columns:minmax(0,1fr);margin-top:44px}
  .uv-pn-next{align-items:flex-start;text-align:left}
  .uv-break .uv-mod{padding:18px 16px}
  .uv-break .uv-row{margin:0 -8px;padding:10px 8px;font-size:16px}
  .uv-course-row{padding:40px 0}
  .uv-course-txt .k-btns .k-link{justify-content:center}
  .uv-close{padding-bottom:80px}
}
