/* Learning V. School: Taylor Clements design system tokens */
:root{--surface:#F3EFE7;--surface-raised:#FFFFFF;--ink:#0A0A0A;--ink-muted:#4A4A4A;--signal:#2741E8;--on-signal:#FFFFFF;--signal-text:#2741E8;--sky:#BFD0FF;--contrast-surface:#0A0A0A;--on-contrast:#F3EFE7;--hairline:#D9D3C7;--r-md:16px;--r-lg:24px;--r-pill:999px;--pad:64px}
@media (prefers-color-scheme:dark){:root{--surface:#16140F;--surface-raised:#221F19;--ink:#F3EFE7;--ink-muted:#B9B3A8;--signal-text:#8C9CFF;--sky:#26306B;--contrast-surface:#F3EFE7;--on-contrast:#0A0A0A;--hairline:#3A362E}}
@media (max-width:760px){:root{--pad:16px}}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface);color:var(--ink);font:400 16px/24px 'Bricolage Grotesque',system-ui,sans-serif}
a{color:var(--signal-text);text-underline-offset:3px}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--signal-text);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--surface-raised);padding:8px 16px;border-radius:var(--r-pill)}

h1,h2,h3{letter-spacing:-0.03em;margin:0 0 16px}
h1{font-weight:800;font-size:56px;line-height:58px}
h2{font-weight:700;font-size:36px;line-height:40px}
h3{font-weight:700;font-size:28px;line-height:32px}
.display{font-size:80px;line-height:78px}
@media (max-width:760px){h1{font-size:40px;line-height:44px}.display{font-size:48px;line-height:50px}h2{font-size:28px;line-height:32px}h3{font-size:22px;line-height:28px}}
.hl{background:var(--signal);color:var(--on-signal);border-radius:var(--r-md);padding:0 .2em}
.lead{font-size:20px;line-height:30px;max-width:40em}
.eyebrow{font-weight:600;font-size:14px;line-height:20px;color:var(--ink-muted);margin:0 0 12px}
.muted{color:var(--ink-muted)}

/* header + lockup (real mark file; wordmark set in Newsreader as specified) */
header.site{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px var(--pad)}
.lockup{display:flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none}
.lockup img{display:block;width:44px;height:44px}
.lockup .divider{width:1.5px;align-self:stretch;background:var(--ink);opacity:.35}
.wordmark{font-family:'Newsreader',Georgia,serif;font-size:22px;line-height:22px;letter-spacing:-0.01em}
.wordmark i{color:var(--signal-text)}
.lockup.small img{width:32px;height:32px}
.lockup.small .wordmark{font-size:17px;line-height:18px}
.wordmark small{display:block;font-size:12px;line-height:18px;color:var(--ink-muted);font-style:normal;margin-top:4px}
nav{display:flex;gap:8px;flex-wrap:wrap}
nav a{display:inline-flex;align-items:center;min-height:48px;padding:0 18px;border-radius:var(--r-pill);background:var(--surface-raised);color:var(--ink);text-decoration:none;font-weight:600;font-size:14px}
nav a[aria-current]{background:var(--ink);color:var(--surface)}
@media (max-width:760px){nav{gap:6px}nav a{min-height:44px;padding:0 14px}}

main{padding:24px var(--pad) 48px;max-width:1240px;margin:0 auto}
section{margin:0 0 48px}

.btn{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border-radius:var(--r-pill);font:600 16px/1 inherit;font-family:inherit;background:var(--signal);color:var(--on-signal);border:0;text-decoration:none;cursor:pointer}
.btn.secondary{background:transparent;color:var(--ink);border:2px solid var(--ink)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.card{background:var(--surface-raised);border-radius:var(--r-lg);padding:28px}
.card img{border-radius:var(--r-md);aspect-ratio:4/3;object-fit:cover;width:100%;margin-bottom:16px;background:var(--surface)}
.card h3{font-size:22px;line-height:28px}
.card p:last-child{margin-bottom:0}
.feature{background:var(--contrast-surface);color:var(--on-contrast)}
.feature a{color:inherit}
.tags{display:flex;gap:8px;flex-wrap:wrap;padding:0;margin:0 0 16px;list-style:none}
.tags li{border-radius:var(--r-pill);background:var(--sky);color:var(--ink);padding:2px 12px;font-size:13px;font-weight:600}

.hero{padding:48px 0}
.split{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr}}

/* writing */
.posts{list-style:none;padding:0;margin:0;border-top:1px solid var(--hairline)}
.posts a{display:flex;gap:24px;padding:20px 0;border-bottom:1px solid var(--hairline);color:var(--ink);text-decoration:none}
.posts a:hover .title{color:var(--signal-text)}
.posts .date{flex:0 0 170px;color:var(--ink-muted);font-size:14px}
.posts .title{font-weight:700;font-size:20px;line-height:26px}
@media (max-width:600px){.posts a{flex-direction:column;gap:4px}.posts .date{flex:none}}

.post{max-width:720px;margin:0 auto}
.post header{margin:24px 0 32px}
.hero-img{display:block;width:100%;border-radius:var(--r-lg);margin:0 0 32px}
.prose{font-size:18px;line-height:30px}
.prose p,.prose ul,.prose ol{margin:0 0 22px}
.prose h2{font-size:28px;line-height:32px;margin-top:40px}
.prose h3{font-size:22px;line-height:28px;margin-top:32px}
.prose blockquote{margin:0 0 22px;padding-left:20px;border-left:3px solid var(--signal)}
.prose figure{margin:0 0 22px}
.back{margin-top:48px}
.video{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;background:var(--contrast-surface)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* forms */
form{display:grid;gap:16px;max-width:560px}
label{font-weight:600;font-size:14px;display:grid;gap:6px}
input,textarea{font:inherit;color:var(--ink);background:var(--surface-raised);border:2px solid var(--hairline);border-radius:var(--r-md);padding:12px 16px}
input:focus,textarea:focus{border-color:var(--signal-text);outline:none}
textarea{min-height:160px;resize:vertical}
.hp{position:absolute;left:-9999px}

footer.site{display:flex;flex-wrap:wrap;gap:20px 48px;align-items:flex-start;justify-content:space-between;padding:48px var(--pad);border-top:1px solid var(--hairline);font-size:14px;line-height:20px}
footer.site p{margin:0}
