/* Tutor Tree — inner pages. */
.phead{padding-block:var(--s7) var(--s5)}
.phead__in{display:grid;gap:var(--s6);align-items:center}
.phead h1{max-inline-size:16ch;margin-block-end:var(--s4)}
.phead .lead{max-inline-size:54ch}
.phead__art{display:none}
@media (min-width:900px){.phead{padding-block:var(--s8) var(--s6)}.phead__in{grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:var(--s9)}.phead__art{display:block}.phead__art img{max-inline-size:300px;margin-inline-start:auto}}

/* subjects index */
.contents{list-style:none;padding:0;border-block-start:2px solid var(--ink)}
.crow{display:grid;gap:var(--s4);padding-block:var(--s5);border-block-end:1px solid var(--line-strong);color:var(--ink);text-decoration:none}
.crow__n{display:none;font-family:var(--f-serif);font-size:1.5rem;color:var(--brass-ink)}
.crow__ph img{inline-size:100%;aspect-ratio:4/3;object-fit:cover}
.crow__b{display:grid;gap:var(--s2);align-content:center}
.crow h2{font-size:var(--t-h2);line-height:1.05}
.crow__s{color:var(--muted);max-inline-size:44ch}
.crow__w{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s2);font-weight:600;color:var(--brand)}
.crow__wk{font-weight:400;color:var(--muted)}
.crow__go{margin-inline-start:auto}
.crow:hover{background:var(--card)}
.crow:hover h2{color:var(--brand);text-decoration:underline;text-underline-offset:.14em;text-decoration-thickness:2px}
@media (min-width:900px){.crow{grid-template-columns:48px 300px minmax(0,1fr) 200px;gap:var(--s6);align-items:center;padding-inline:var(--s3)}.crow__n{display:block}.crow__w{display:grid;gap:var(--s1);justify-items:start}.crow__go{margin:0}}

/* subject detail */
.sdet{padding-block-start:var(--s3)}
.sdet__in{display:grid;gap:var(--s6);align-items:center;padding-block-end:var(--s7)}
.sdet h1{font-size:var(--t-h1);margin-block-end:var(--s4)}
.sdet .chip{margin-block:var(--s5)}
.sdet__fig{margin:0}
.sdet__fig img{inline-size:100%;aspect-ratio:4/3;object-fit:cover}
@media (min-width:1100px){.sdet__in{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s8)}.sdet__fig{margin-inline-end:calc(var(--gutter) * -1)}}
.stall__l{list-style:none;padding:0;display:grid;gap:var(--s6);margin-block-start:var(--s4)}
.stall__l li{display:grid;gap:var(--s3);align-content:start;padding-block-start:var(--s4);border-block-start:3px solid var(--brand)}
.stall__n{font-family:var(--f-serif);font-weight:500;font-size:3.5rem;line-height:1;color:var(--brass-ink)}
.stall__l p{font-family:var(--f-serif);font-size:1.5rem;line-height:1.3;letter-spacing:-.01em}
@media (min-width:900px){.stall__l{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s7)}}
.trialb__in{display:grid;gap:var(--s7);align-items:center}
.trialb__t{font-family:var(--f-serif);font-size:clamp(1.5rem,1rem + 1.8vw,2.5rem);line-height:1.25;letter-spacing:-.015em;max-inline-size:30ch}
.facts{list-style:none;padding:0;display:grid;border-block-start:1px solid var(--band-line)}
.facts li{padding-block:var(--s3);border-block-end:1px solid var(--band-line);font-family:var(--f-serif);font-size:1.5rem;display:flex;align-items:center;gap:var(--s3)}
.facts li::before{content:"";inline-size:14px;block-size:3px;background:var(--brass-lt);flex:none}
@media (min-width:900px){.trialb__in{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--s9)}}
.lgrid{display:grid;gap:var(--s6)}
@media (min-width:640px){.lgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.lgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.lv{border-block-start:calc(2px + var(--k) * 3px) solid var(--brand);padding-block-start:var(--s4);display:grid;gap:var(--s4);align-content:start}
.lv h3{font-size:1.5rem}
.lv ul{list-style:none;padding:0;display:grid;gap:var(--s2)}
.lv li{display:flex;gap:var(--s3);align-items:baseline}
.lv li::before{content:"";inline-size:8px;block-size:8px;background:var(--brass);flex:none;transform:translateY(-1px)}
.pn{display:grid;gap:var(--s4)}
.pn a{display:grid;gap:var(--s1);padding:var(--s5);border:1px solid var(--line-strong);color:var(--ink);text-decoration:none;background:var(--card)}
.pn b{font-family:var(--f-serif);font-weight:500;font-size:1.75rem;line-height:1.15}
.pn a:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.pn a:hover .meta{color:#e5f0e8}
@media (min-width:640px){.pn{grid-template-columns:repeat(2,minmax(0,1fr))}.pn__n{text-align:end}}

/* tutors index */
.filter{display:grid;gap:var(--s3);margin-block-end:var(--s4)}
.filter__links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s2)}
.tlist{list-style:none;padding:0;display:grid;gap:var(--s5);margin-block-start:var(--s5)}
@media (min-width:1100px){.tlist{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6)}}
.trow{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--s4);padding:var(--s4);background:var(--card);border:1px solid var(--line);align-items:start;block-size:100%}
.trow__ph{display:block}
.trow__ph img{inline-size:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 20%}
.trow__b{display:grid;gap:var(--s2);align-content:start;min-inline-size:0}
.trow h2{font-size:1.75rem;line-height:1.1}
.trow h2 a{text-decoration:none}
.trow h2 a:hover{color:var(--brand);text-decoration:underline;text-underline-offset:.14em}
.trow__r{font-weight:600;color:var(--brand)}
.trow__q{font-family:var(--f-serif);font-size:1.1875rem;line-height:1.4;color:var(--ink)}
.trow .tags{margin-block-start:var(--s2)}
@media (min-width:640px){.trow{grid-template-columns:200px minmax(0,1fr);gap:var(--s5);padding:var(--s5)}}

/* tutor detail */
.tdet{background:var(--leaf);padding-block:var(--s5) var(--s7)}
.tdet__in{display:grid;gap:var(--s6);align-items:end}
.tdet__ph{margin:0;max-inline-size:340px}
.tdet__ph img{inline-size:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 20%;border-block-end:6px solid var(--brass)}
.tdet h1{font-size:var(--t-display);line-height:.98;letter-spacing:-.035em;margin-block-end:var(--s3)}
.tdet__role{font-size:.875rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--brand);margin-block-end:var(--s5)}
.tdet__q{font-family:var(--f-serif);font-size:clamp(1.375rem,1.1rem + 1vw,2rem);line-height:1.3;letter-spacing:-.015em;max-inline-size:34ch;padding-inline-start:var(--s5);border-inline-start:4px solid var(--brass);margin-block-end:var(--s6)}
.tfacts{display:grid;gap:0;margin:0;border-block-start:2px solid var(--ink)}
.tfacts div{padding-block:var(--s3);border-block-end:1px solid var(--line-strong)}
.tfacts dt{font-size:.875rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.tfacts dd{margin:0;font-family:var(--f-serif);font-size:1.375rem;line-height:1.3}
@media (min-width:768px){.tfacts{grid-template-columns:repeat(3,minmax(0,1fr))}.tfacts div{border-block-end:0;padding-inline-end:var(--s4)}.tfacts div+div{padding-inline-start:var(--s4);border-inline-start:1px solid var(--line-strong)}}
@media (min-width:900px){.tdet__in{grid-template-columns:340px minmax(0,1fr);gap:var(--s8)}.tdet{padding-block:var(--s7) var(--s8)}}
.tabout__in{display:grid;gap:var(--s7)}
.tabout__bio .lead{max-inline-size:60ch;color:var(--ink);margin-block-end:var(--s5)}
.lsteps{list-style:none;padding:0;display:grid;border-block-start:2px solid var(--ink);margin-block-start:var(--s4)}
.lsteps li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--s4);padding-block:var(--s4);border-block-end:1px solid var(--line);align-items:baseline}
.lsteps__n{font-family:var(--f-serif);font-size:1.5rem;color:var(--brass-ink)}
.lsteps p{font-size:1.1875rem}
@media (min-width:900px){.lsteps{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--s7)}.lsteps li{grid-template-columns:1fr;gap:var(--s2);border-block-end:0;padding-block:var(--s5)}}
.slotl{list-style:none;padding:0;display:grid;gap:var(--s4)}
@media (min-width:768px){.slotl{grid-template-columns:repeat(3,minmax(0,1fr))}}
.slot{display:grid;gap:var(--s3);align-content:space-between;min-block-size:140px;padding:var(--s5);border:1px solid var(--band-line);background:var(--band-2);color:#fff;text-decoration:none}
.slot__l{font-family:var(--f-serif);font-size:1.5rem;line-height:1.2}
.slot__go{font-weight:600;color:var(--brass-lt);text-decoration:underline;text-underline-offset:.25em}
.slot:hover{background:var(--band-fill);border-color:var(--band-fill)}
.slot:hover .slot__go{color:#fff}
.mrow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
@media (min-width:640px){.mrow{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1100px){.mrow{grid-template-columns:repeat(5,minmax(0,1fr))}}
.mrow a{display:grid;grid-template-columns:56px minmax(0,1fr);gap:var(--s3);align-items:center;min-block-size:80px;padding:var(--s2);background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none}
.mrow img{inline-size:56px;block-size:56px;object-fit:cover;object-position:50% 20%}
.mrow b{display:block;font-family:var(--f-serif);font-weight:500;font-size:1.125rem;line-height:1.2}
.mrow small{display:block;color:var(--muted);font-size:1rem;line-height:1.3}
.mrow a:hover{border-color:var(--brand);background:#fff}
.mrow a:hover b{color:var(--brand);text-decoration:underline}

/* book */
.bhead{padding-block:var(--s8) var(--s7)}
.bhead__in{display:grid;gap:var(--s6);align-items:end}
.bhead h1{margin-block-end:var(--s4);max-inline-size:14ch}
.ticks{list-style:none;padding:0;display:grid;border-block-start:1px solid var(--band-line)}
.ticks li{display:flex;align-items:center;gap:var(--s3);padding-block:var(--s3);border-block-end:1px solid var(--band-line);font-size:1.125rem}
.ticks li::before{content:"";inline-size:14px;block-size:8px;border-inline-start:3px solid var(--brass-lt);border-block-end:3px solid var(--brass-lt);transform:rotate(-45deg) translate(2px,-3px);flex:none}
@media (min-width:900px){.bhead__in{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s9)}.bhead{padding-block:var(--s9) var(--s8)}}
.seg--col{flex-direction:column;align-items:stretch}
.seg--col label{display:block}
.seg--col span{inline-size:100%;justify-content:flex-start}
.trials{margin-block-start:var(--s9)}
.trials h2{font-size:var(--t-h3);margin-block-end:var(--s4)}
.trials__e{color:var(--muted)}
.trials__l{list-style:none;padding:0;border-block-start:2px solid var(--ink)}
.trials__l li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3);padding-block:var(--s3);border-block-end:1px solid var(--line-strong)}
.tl-ref{font-family:var(--f-serif);font-size:1.25rem}
.tl-sub{color:var(--muted)}

/* credits */
.h-s{font-size:var(--t-h3);margin-block:var(--s8) var(--s4)}
.h-s:first-child{margin-block-start:0}
.credits{list-style:none;padding:0;display:grid;gap:var(--s5)}
.credits li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--s4);align-items:center;padding-block-end:var(--s4);border-block-end:1px solid var(--line)}
.credits__ph img{inline-size:120px;aspect-ratio:4/3;object-fit:cover}
.credits p{max-inline-size:none}
.credits__txt{min-inline-size:0;overflow-wrap:anywhere}
.credits a{text-decoration:underline;text-underline-offset:2px}
.credits__sa{margin-block-start:var(--s4);max-inline-size:68ch}
.credits a,.credit-note a{color:var(--brand)}
@media (min-width:900px){.credits{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s7)}}
.credit-note{max-inline-size:62ch}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9375em}

/* 404 */
.nf{padding-block:var(--s8) var(--s9)}
.nf__in{display:grid;gap:var(--s7);align-items:center}
.nf h1{max-inline-size:12ch;margin-block-end:var(--s4)}
.nf .lead{margin-block-end:var(--s6)}
@media (min-width:900px){.nf__in{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}}
