@font-face{font-family:"Archivo";src:url("archivo.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:"Public Sans";src:url("public-sans.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("jetbrains-mono-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("jetbrains-mono-600.woff2") format("woff2");font-weight:600;font-display:swap}
.sitebar{background:var(--ink);color:var(--bg);font-size:13.5px}
.sitebar .wrap{display:flex;gap:10px 18px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-block:8px}
.sitebar a{color:var(--bg);font-weight:600}
.globalnav{display:flex;gap:8px 18px;align-items:center;overflow-x:auto;max-width:100%;scrollbar-width:none}
.globalnav a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
.globalnav a[aria-current="page"]{text-decoration-thickness:2px;text-underline-offset:5px}

/* Layout: a field manual for human services. Sticky top bar, a living "organism" map up top on a deep stage, then manual, simulator, drill generator and video studio as stacked sections. */
:root{
  --bg:#F2F4F1; --surface:#FFFFFF; --surface2:#E6EBE7; --ink:#13202A; --muted:#566570; --line:#D0D8D3;
  --accent:#B8640A; --accent-soft:#F6E3CB; --on-accent:#FFFFFF;
  --cm:#0F7683; --sv:#A8600B; --dr:#5443C2; --ax:#B93727;
  --stage:#0B141B; --stage-ink:#E7EEF0; --stage-muted:#8FA1AD; --stage-line:#1E2E3A;
  --good:#1F7A4D; --warn:#A8600B; --bad:#B93727;
  --f-display:"Archivo", "Helvetica Neue", Arial, sans-serif;
  --f-body:"Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --r:10px; --gut:clamp(16px,4vw,40px); --maxw:1200px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#0E161D; --surface:#141F28; --surface2:#1B2934; --ink:#E6EDF0; --muted:#94A4AF; --line:#26363F;
  --accent:#F2A541; --accent-soft:#3A2A14; --on-accent:#1A1206;
  --cm:#4FC2CF; --sv:#F2A541; --dr:#A99BFF; --ax:#FF7A66;
  --good:#5BC98C; --warn:#F2A541; --bad:#FF7A66; color-scheme: dark; } }
:root[data-theme="dark"]{
  --bg:#0E161D; --surface:#141F28; --surface2:#1B2934; --ink:#E6EDF0; --muted:#94A4AF; --line:#26363F;
  --accent:#F2A541; --accent-soft:#3A2A14; --on-accent:#1A1206;
  --cm:#4FC2CF; --sv:#F2A541; --dr:#A99BFF; --ax:#FF7A66;
  --good:#5BC98C; --warn:#F2A541; --bad:#FF7A66; color-scheme: dark; }

*{box-sizing:border-box} [hidden]{display:none!important}
body{background:var(--bg); color:var(--ink); font-family:var(--f-body); font-size:16px; line-height:1.55; margin:0}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--f-display); font-stretch:112%; line-height:1.08; text-wrap:balance; margin:0}
p{margin:0}
button{font:inherit; color:inherit; cursor:pointer}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
.wrap{max-width:var(--maxw); margin:0 auto; padding-inline:var(--gut)}
.eyebrow{font-family:var(--f-mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
.mono{font-family:var(--f-mono)}

/* top bar */
.top{position:sticky; top:env(safe-area-inset-top,0px); z-index:30; background:color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
.top .wrap{display:flex; align-items:center; gap:16px; padding-block:10px; flex-wrap:wrap}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; margin-right:auto}
.brand svg{width:34px; height:34px; flex:none}
.brand b{font-family:var(--f-display); font-stretch:118%; font-weight:850; font-size:17px; letter-spacing:.01em}
.brand small{display:block; font-family:var(--f-mono); font-size:10.5px; color:var(--muted); letter-spacing:.1em; text-transform:uppercase}
.nav{display:flex; gap:4px; flex-wrap:wrap}
.nav a{text-decoration:none; font-size:14px; font-weight:600; padding:6px 10px; border-radius:999px; color:var(--muted)}
.nav a:hover{color:var(--ink); background:var(--surface2)}

/* hero */
.hero{padding-block:40px 18px}
.hero-grid{display:grid; grid-template-columns:1.25fr 1fr; gap:32px; align-items:end}
.hero h1{font-size:clamp(34px,5.4vw,64px); font-weight:880; letter-spacing:-.01em}
.hero h1 em{font-style:normal; color:var(--accent)}
.lede{font-size:18px; color:var(--muted); max-width:58ch; margin-top:14px}
.tagline{font-family:var(--f-mono); font-size:13px; margin-top:16px; color:var(--ink)}
.stats{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r); overflow:hidden}
.stat{background:var(--surface); padding:14px 16px}
.stat b{display:block; font-family:var(--f-display); font-stretch:115%; font-size:30px; font-weight:850; font-variant-numeric:tabular-nums}
.stat span{font-size:13px; color:var(--muted)}
.cta{display:flex; gap:10px; flex-wrap:wrap; margin-top:22px}
.course-start{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; margin-top:22px; padding:18px; border:1px solid var(--accent); border-radius:var(--r); background:var(--surface)}
.course-start h2{font-size:clamp(24px,3vw,32px); font-weight:850; margin-top:5px}
.course-start p:not(.eyebrow){color:var(--muted); margin-top:6px; max-width:52ch}
.course-start .btn{white-space:nowrap}
.course-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.course-choices>.eyebrow{grid-column:1/-1;margin:0}
.course-choices article{display:grid;gap:16px;align-content:space-between;min-width:0;padding:18px;border:1px solid var(--accent);border-radius:var(--r);background:var(--surface)}
.course-choices h2{font-size:clamp(22px,2.6vw,30px);font-weight:850}
.course-choices article p{color:var(--muted);margin-top:6px}
.course-choices .btn{justify-content:center;text-align:center}
.btn{display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); background:var(--surface); padding:10px 16px; border-radius:999px; font-weight:650; font-size:14.5px; text-decoration:none}
.btn:hover{border-color:var(--ink)}
.btn.primary{background:var(--accent); color:var(--on-accent); border-color:var(--accent)}
.btn.small{padding:6px 12px; font-size:13px}
.btn[disabled]{opacity:.5; cursor:not-allowed}

/* organism stage */
.stage{background:var(--stage); color:var(--stage-ink); border-radius:16px; position:relative; overflow:hidden; margin-top:22px}
.stage canvas{display:block; width:100%; height:clamp(500px,64vw,760px); cursor:grab; touch-action:none; background:radial-gradient(ellipse at 50% 55%, #10202B 0%, #0B141B 60%)}
.stage canvas.grabbing{cursor:grabbing}
.org-view{position:relative}
.org-card{position:absolute; left:20px; bottom:16px; z-index:4; width:min(340px, calc(100% - 40px)); background:rgba(14,26,35,.92); backdrop-filter:blur(8px); border:1px solid var(--stage-line); border-radius:14px; padding:14px 16px; color:var(--stage-ink); box-shadow:0 18px 40px rgba(0,0,0,.4); display:grid; gap:8px}
.org-card .mono{font-size:11px; letter-spacing:.06em; color:var(--stage-muted)}
.org-card h4{font-size:19px; font-weight:820; color:var(--stage-ink)}
.org-card p{font-size:14px; color:#C9D5DB}
.org-links{display:flex; flex-wrap:wrap; gap:6px}
.org-links button{display:inline-flex; align-items:center; gap:6px; background:none; border:1px solid var(--stage-line); color:var(--stage-ink); border-radius:999px; padding:3px 9px; font-size:12px}
.org-links i{width:8px; height:8px; border-radius:50%; display:inline-block}
.org-actions{display:flex; gap:8px}
.org-card .btn{background:#1B2B37; color:var(--stage-ink); border-color:var(--stage-line)}
.org-card .btn.primary{background:#F2A541; color:#1A1206; border-color:#F2A541}
.org-ctrl{position:absolute; right:16px; bottom:16px; z-index:4; display:flex; gap:6px; align-items:center; flex-wrap:wrap; justify-content:flex-end}
.org-ctrl button{background:rgba(14,26,35,.85); border:1px solid var(--stage-line); color:var(--stage-ink); border-radius:999px; min-width:36px; height:34px; padding:0 12px; font-size:13px; font-weight:600}
.org-ctrl button:hover{border-color:var(--stage-muted)}
.org-hint{font-family:var(--f-mono); font-size:11px; color:var(--stage-muted); margin-right:6px}
.stage-head{position:absolute; z-index:2; left:20px; top:18px; right:20px; display:flex; justify-content:space-between; gap:12px; pointer-events:none; flex-wrap:wrap}
.stage-head .eyebrow{color:var(--stage-muted)}
.stage-head h2{font-size:clamp(20px,2.4vw,28px); font-weight:800; color:var(--stage-ink); margin-top:4px}
.legend{display:flex; gap:12px; flex-wrap:wrap; font-size:12.5px; color:var(--stage-muted); pointer-events:auto}
.legend span{display:inline-flex; align-items:center; gap:6px}
.legend i{width:10px; height:10px; border-radius:50%; display:inline-block}
.org-tip{position:absolute; z-index:3; max-width:280px; background:#101C25; border:1px solid var(--stage-line); color:var(--stage-ink); padding:10px 12px; border-radius:10px; font-size:13px; pointer-events:none; box-shadow:0 10px 30px rgba(0,0,0,.35)}
.org-tip b{display:block; font-family:var(--f-display); font-stretch:110%; font-size:15px; margin:2px 0 4px}
.org-tip .mono{font-size:11px; color:var(--stage-muted)}
.loopbar{border-top:1px solid var(--stage-line); padding:14px 20px; display:flex; gap:10px 14px; align-items:center; flex-wrap:wrap; font-size:13.5px; color:var(--stage-muted)}
.loopbar b{color:var(--stage-ink); font-weight:650}
.loopbar button{background:none; border:1px solid var(--stage-line); color:var(--stage-ink); border-radius:999px; padding:4px 10px; font-size:12.5px}
.loopbar button:hover{border-color:var(--stage-muted)}
.loopbar .arrow{opacity:.5}
.thesis{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:18px}
.thesis div{border-top:2px solid var(--line); padding-top:10px}
.thesis h4{font-size:15px; font-weight:780; display:flex; align-items:center; gap:8px}
.thesis p{font-size:14px; color:var(--muted); margin-top:6px}
.dot{width:10px; height:10px; border-radius:50%; flex:none; display:inline-block}

/* sections */
section.block{padding-block:64px 20px}
.sec-head{display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:end; margin-bottom:22px}
.sec-head h2{font-size:clamp(28px,3.6vw,42px); font-weight:860; margin-top:6px}
.sec-head p.sub{color:var(--muted); max-width:56ch}
.controls{display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:18px}
.chip{border:1px solid var(--line); background:var(--surface); border-radius:999px; padding:6px 12px; font-size:13.5px; font-weight:600; display:inline-flex; align-items:center; gap:7px}
.chip[aria-pressed="true"]{background:var(--ink); color:var(--bg); border-color:var(--ink)}
.search{flex:1; min-width:200px; max-width:340px; border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:999px; padding:8px 14px; font:inherit; font-size:14px}

/* manual */
.trackhead{display:flex; gap:14px; align-items:baseline; margin:30px 0 12px; flex-wrap:wrap}
.trackhead h3{font-size:24px; font-weight:820}
.trackhead p{color:var(--muted); font-size:14.5px}
.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:12px}
.card{text-align:left; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:16px; display:flex; flex-direction:column; gap:8px; min-width:0; transition:transform .15s, border-color .15s}
.card:hover{border-color:var(--c); transform:translateY(-2px)}
.card .code{font-family:var(--f-mono); font-size:11.5px; color:var(--c); font-weight:600; letter-spacing:.06em; display:flex; justify-content:space-between}
.card .code span:last-child{color:var(--muted); font-weight:400}
.card h4{font-size:18px; font-weight:780}
.card p{font-size:14px; color:var(--muted)}
.card .flag{font-family:var(--f-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--accent)}

/* sheet */
.sheet{position:fixed; inset:0; z-index:50; background:rgba(5,10,14,.55); display:flex; justify-content:flex-end}
.sheet-panel{width:min(880px,100%); height:100%; background:var(--bg); overflow-y:auto; overscroll-behavior:contain; padding:calc(env(safe-area-inset-top,0px) + 18px) var(--gut) calc(env(safe-area-inset-bottom,0px) + 40px); box-shadow:-20px 0 60px rgba(0,0,0,.3)}
.sheet-close{position:sticky; top:0; float:right; border:1px solid var(--line); background:var(--surface); border-radius:999px; padding:6px 12px; font-size:13px; font-weight:600; z-index:2}
.m-meta{display:flex; gap:8px; flex-wrap:wrap; align-items:center; font-family:var(--f-mono); font-size:12px; color:var(--muted)}
.m-meta .tag{border:1px solid var(--line); border-radius:999px; padding:2px 9px}
.m-title{font-size:clamp(30px,4vw,44px); font-weight:880; margin-top:12px}
.m-hook{font-size:20px; margin-top:10px; font-weight:500}
.m-why{color:var(--muted); margin-top:12px; max-width:68ch}
.m-sec{margin-top:30px}
.m-sec > h3{font-size:13px; font-family:var(--f-mono); font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; font-stretch:100%}
.model{display:grid; grid-template-columns:1fr; gap:16px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:18px}
.model h4{font-size:19px; font-weight:780}
.model ul{margin:0; padding-left:18px; display:grid; gap:4px}
.figure{overflow-x:auto}
.figure svg{width:100%; height:auto; min-width:480px; display:block}
.figure figcaption{font-size:13px; color:var(--muted); margin-top:6px}
ol.steps{counter-reset:s; list-style:none; padding:0; margin:0; display:grid; gap:10px}
ol.steps li{counter-increment:s; display:grid; grid-template-columns:34px 1fr; gap:10px; align-items:start}
ol.steps li::before{content:counter(s); font-family:var(--f-display); font-weight:850; font-size:15px; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:var(--surface2); color:var(--c)}
.field{display:grid; gap:10px}
.field p{background:var(--surface); border-left:3px solid var(--c); padding:10px 14px; border-radius:0 8px 8px 0; font-size:15px}
ul.plain{margin:0; padding-left:18px; display:grid; gap:4px}
.drill{background:var(--accent-soft); border-radius:var(--r); padding:16px 18px; display:grid; gap:12px}
.drill .row{display:flex; gap:8px; flex-wrap:wrap}
.src{display:grid; gap:10px}
.src div{font-size:14px}
.src a{font-weight:650}
.src small{display:block; color:var(--muted)}
.legal{font-size:13px; color:var(--muted); border:1px dashed var(--line); padding:10px 12px; border-radius:8px}
.links{display:flex; gap:8px; flex-wrap:wrap}

/* diagrams */
.dg-box{fill:var(--surface2); stroke:var(--c); stroke-width:1.5}
.dg-box.solid{fill:var(--c); stroke:none}
.dg-t{fill:var(--ink); font-family:var(--f-body); font-size:15px; font-weight:600}
.dg-t.inv{fill:var(--bg)}
.dg-t.sm{font-size:13px; font-weight:500; fill:var(--muted)}
.dg-l{stroke:var(--muted); stroke-width:1.6; fill:none}
.dg-c{stroke:var(--c); stroke-width:3; fill:none}
.dg-a{fill:var(--muted)}
.dg-dot{fill:var(--c)}

/* box */
.box-grid{display:grid; grid-template-columns:320px 1fr; gap:18px; align-items:start}
.rot-list{display:grid; gap:6px; max-height:720px; overflow-y:auto; padding-right:4px}
.rot{text-align:left; background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:10px 12px; display:grid; gap:2px; min-width:0}
.rot[aria-current="true"]{border-color:var(--c); box-shadow:inset 3px 0 0 var(--c)}
.rot b{font-size:15px}
.rot span{font-size:12.5px; color:var(--muted)}
.panel{background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:20px; min-width:0}
.facts{display:grid; grid-template-columns:auto 1fr; gap:6px 14px; font-size:14.5px; margin-top:14px}
.facts dt{font-family:var(--f-mono); font-size:11.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); padding-top:3px}
.facts dd{margin:0}
.brief{font-size:17px; margin-top:14px; padding:14px 16px; background:var(--surface2); border-radius:10px}
.modes{display:flex; gap:8px; flex-wrap:wrap; margin-top:16px}
.note{font-size:13px; color:var(--muted)}
.chat{display:grid; gap:10px; margin-top:16px; max-height:420px; overflow-y:auto; padding:4px}
.msg{max-width:85%; padding:10px 14px; border-radius:14px; font-size:15px; white-space:pre-wrap}
.msg.them{background:var(--surface2); justify-self:start; border-bottom-left-radius:4px}
.msg.you{background:var(--ink); color:var(--bg); justify-self:end; border-bottom-right-radius:4px}
.msg.sys{justify-self:center; font-size:12.5px; color:var(--muted); background:none}
.composer{display:flex; gap:8px; margin-top:12px; flex-wrap:wrap}
.composer textarea, .paper textarea, .studio textarea{flex:1; min-width:0; width:100%; min-height:70px; border:1px solid var(--line); background:var(--bg); color:var(--ink); border-radius:10px; padding:10px 12px; font:inherit; font-size:15px; resize:vertical}
.aar{margin-top:18px; border-top:1px solid var(--line); padding-top:16px; display:grid; gap:14px}
.aar h4{font-size:20px; font-weight:820}
.aar-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.aar-grid > div{background:var(--surface2); border-radius:10px; padding:12px 14px; font-size:14.5px}
.aar-grid h5{font-family:var(--f-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:0 0 6px}
.score{display:grid; grid-template-columns:120px 1fr 28px; gap:8px; align-items:center; font-size:13.5px}
.score .bar{height:8px; background:var(--surface2); border-radius:99px; overflow:hidden}
.score .bar i{display:block; height:100%; background:var(--c)}
.gopts{display:grid; gap:8px; margin-top:8px}
.gopt{text-align:left; background:var(--bg); border:1px solid var(--line); border-radius:12px; padding:12px 14px; font-size:15px; line-height:1.45}
.gopt:hover{border-color:var(--c); box-shadow:inset 3px 0 0 var(--c)}
.gfb{font-size:14px; border-radius:10px; padding:10px 12px; background:var(--surface2); max-width:92%; justify-self:end}
.gfb.good{border-left:3px solid var(--good)} .gfb.mid{border-left:3px solid var(--warn)} .gfb.bad{border-left:3px solid var(--bad)}
.greveal{display:block; margin-top:6px; font-weight:600; color:var(--accent)}
.check{display:flex; gap:10px; align-items:flex-start; font-size:15px}
.check input{margin-top:4px; accent-color:var(--accent)}

/* drills */
.drill-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:12px}
.dcard{background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:16px; display:grid; gap:10px; min-width:0}
.dcard .num{font-family:var(--f-mono); font-size:11.5px; color:var(--c); display:flex; justify-content:space-between}
.dcard p{font-size:15.5px}
.dcard .twist{font-size:14px; background:var(--accent-soft); border-radius:8px; padding:8px 10px}
.numin{width:130px; border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:999px; padding:7px 12px; font:inherit; font-size:14px; font-variant-numeric:tabular-nums}

/* studio */
.studio-grid{display:grid; grid-template-columns:300px 1fr; gap:18px; align-items:start}
.studio select{width:100%; border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:8px; padding:9px 10px; font:inherit; font-size:14px}
.studio label{font-family:var(--f-mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); display:block; margin:12px 0 6px}
.out{display:grid; gap:14px}
.out .blk{background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:14px 16px; min-width:0}
.out h5{font-family:var(--f-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:0 0 8px; display:flex; justify-content:space-between; align-items:center; gap:8px}
.out ol, .out ul{margin:0; padding-left:20px; display:grid; gap:6px; font-size:14.5px}
.shot{font-family:var(--f-mono); font-size:12.5px; line-height:1.5; background:var(--surface2); padding:8px 10px; border-radius:6px; white-space:pre-wrap; overflow-wrap:anywhere}
.beat{display:grid; grid-template-columns:70px 1fr; gap:10px; font-size:14.5px}
.beat span{font-family:var(--f-mono); font-size:12px; color:var(--muted); padding-top:2px}

footer{border-top:1px solid var(--line); margin-top:70px; padding-block:30px 50px; color:var(--muted); font-size:13.5px}
footer .wrap{display:grid; gap:10px}

@media (max-width:900px){
  .hero-grid,.sec-head,.box-grid,.studio-grid{grid-template-columns:1fr}
  .thesis{grid-template-columns:1fr 1fr}
  .rot-list{max-height:300px}
  .aar-grid{grid-template-columns:1fr}
}
@media (max-width:520px){ .thesis{grid-template-columns:1fr} .course-start{grid-template-columns:1fr; align-items:start; padding:16px} .course-start .btn{justify-content:center; white-space:normal; text-align:center} .course-choices{grid-template-columns:1fr}.nav{flex-wrap:nowrap; overflow-x:auto; width:100%; scrollbar-width:none} .nav a{padding:5px 8px; font-size:13px; white-space:nowrap} .brand small{display:none} .stage canvas{height:560px} .org-hint{display:none} .org-card{bottom:58px; left:12px; width:calc(100% - 24px); padding:12px 14px; gap:6px} .org-card h4{font-size:17px} .org-card p{font-size:13.5px} .org-links{display:none} .org-ctrl{right:12px; bottom:12px} }
@media (prefers-reduced-motion: reduce){ .card{transition:none} }

/* faculty */
.fac{display:grid; gap:0; justify-items:center}
.fac .tier{display:grid; gap:12px; width:100%}
.fac .tier.one{grid-template-columns:minmax(0,560px); justify-content:center}
.fac .tier.six{grid-template-columns:repeat(3,minmax(0,1fr))}
.fac .stem{width:2px; height:26px; background:var(--line)}
.fac .rail{height:2px; background:var(--line); width:84%}
.prof{background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:16px 18px; display:grid; grid-template-columns:52px 1fr; gap:14px; align-items:start; min-width:0}
.prof.dean{border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft)}
.mono-badge{width:52px; height:52px; border-radius:50%; display:grid; place-items:center; font-family:var(--f-display); font-stretch:115%; font-weight:850; font-size:18px; background:var(--ink); color:var(--bg)}
.prof.dean .mono-badge{background:var(--accent); color:var(--on-accent)}
.prof .seat{font-family:var(--f-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent)}
.prof h4{font-size:19px; font-weight:820; margin-top:2px}
.prof .yrs{font-size:12px; color:var(--muted)}
.prof p{font-size:14px; margin-top:6px}
.prof .own{color:var(--muted); font-size:13px}
.disclaim{font-size:12.5px; color:var(--muted); text-align:center; margin-top:14px}
.log{margin-top:26px; border:1px solid var(--line); border-radius:12px; background:var(--surface); padding:14px 18px}
.log ol{list-style:none; margin:8px 0 0; padding:0; display:grid; gap:8px}
.log li{display:grid; grid-template-columns:110px 1fr; gap:12px; font-size:14.5px}
.log li span{font-family:var(--f-mono); font-size:12px; color:var(--muted); padding-top:2px}
@media (max-width:900px){ .fac .tier.six{grid-template-columns:1fr 1fr} .fac .rail{display:none} }
@media (max-width:560px){ .fac .tier.six{grid-template-columns:1fr} .log li{grid-template-columns:1fr; gap:2px} }
