/* Mason glossary. Values from mason-brand/tokens/tokens.css; materials from mason-brand/styles/brand.css
   (mason-daylight, mason-panel, mason-panel--evidence, mason-eyebrow, mason-button). Type roles per BRAND.md §3. */
@font-face{font-family:MasonEditorial;src:url('/assets/octolane-editorial.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:MasonMarist;src:url('/assets/lassie-marist.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:MasonDM;src:url('/assets/lassie-sans.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--mason-paper:#f9f8f5;--mason-white:#fffdf7;--mason-ink:#292d29;--mason-heading:#28241d;--mason-body:#70685c;--mason-muted:#827a6d;--mason-line:#ddd9cb;--mason-sky:#c4e0f5;--mason-pearl:#f6faf9;--evidence-line:#d9e3e8}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:var(--mason-paper);color:var(--mason-ink);font:400 18px/1.62 MasonDM,Arial,sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:#dbe9f0}
a{color:inherit}
a:focus-visible,input:focus-visible{outline:2px solid var(--mason-ink);outline-offset:4px}
.gloss-skip{position:absolute;left:-9999px}
.gloss-skip:focus{left:16px;top:16px;z-index:200;background:var(--mason-white);padding:8px 12px;border-radius:8px}

/* Materials (brand.css, verbatim values) */
.mason-daylight{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 88% 12%,#fff0ceaa,transparent 60%),linear-gradient(150deg,#c4e0f5,#f6faf9 60%,#e8f1ef)}
.mason-daylight>canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.mason-panel{border:1px solid var(--mason-line);border-radius:24px;background:var(--mason-white);padding:32px;box-shadow:inset 0 1px 0 #fff,0 22px 45px -40px #45535c26}
.mason-panel--evidence{background:linear-gradient(135deg,#fffdf7,#f6faf9);border-color:var(--evidence-line)}
.mason-eyebrow{font:400 11px/1.5 MasonDM,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--mason-muted);margin:0 0 20px}
.mason-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;padding:12px 22px;border:1px solid transparent;border-radius:14px;background:#29251f;color:#fffdf7;text-decoration:none;font-size:14px;line-height:1.3;transition:background .22s,transform .22s}
.mason-button:hover{background:#414141;transform:translateY(-1px)}
.mason-button--quiet{background:transparent;color:var(--mason-ink);border-color:var(--mason-line)}
.mason-button--quiet:hover{background:var(--mason-pearl);transform:none}

/* Daylight band (short, for a definition page) */
.band{margin:16px;border-radius:25px}
.term-band{padding:136px 24px 104px}
.band-inner{max-width:712px;margin:0 auto}
.crumbs{font-size:13px;color:var(--mason-body);margin:0 0 28px}
.crumbs a{text-underline-offset:3px;text-decoration-color:var(--mason-line)}
.term-band h1{font:400 clamp(42px,5.2vw,64px)/1.07 MasonEditorial,Georgia,serif;letter-spacing:-.025em;color:var(--mason-heading);margin:0 0 22px;max-width:16ch;text-wrap:balance}
.byline{font-size:14px;color:var(--mason-body);margin:0}
.byline a{text-underline-offset:3px;text-decoration-color:var(--mason-line)}
.byline a:hover{text-decoration-color:var(--mason-ink)}

/* Article on plain paper */
.post{max-width:760px;margin:0 auto;padding:0 24px 32px}
.definition{margin:-64px 0 14px;position:relative}
.definition .mason-eyebrow{margin-bottom:12px}
.definition p:last-child{margin:0;font-size:20px;line-height:1.6;color:var(--mason-ink)}
.term-meta{font-size:13px;color:var(--mason-muted);margin:0 0 8px}
.post h2{font:400 clamp(34px,3.4vw,44px)/1.1 MasonMarist,Georgia,serif;letter-spacing:-.028em;color:var(--mason-heading);margin:0 0 18px;text-wrap:balance}
.post section{padding:56px 0 0;margin:56px 0 0;border-top:1px solid var(--mason-line)}
.post section:first-of-type{border-top:0;margin-top:24px}
.post p,.post li{max-width:64ch}
.post p{margin:0 0 18px;color:var(--mason-ink)}
.post a{text-decoration-color:var(--mason-muted);text-underline-offset:3px}
.post a:hover{text-decoration-color:var(--mason-ink)}
.lead{font-size:20px}

/* Mistakes: a ruled list, not cards */
.ruled{list-style:none;margin:8px 0 0;padding:0}
.ruled li{display:grid;grid-template-columns:44px 1fr;gap:0 8px;padding:18px 0;border-top:1px solid var(--mason-line);margin:0}
.ruled li:last-child{border-bottom:1px solid var(--mason-line)}
.ruled .no{font:400 22px/1.3 MasonMarist,Georgia,serif;color:var(--mason-muted)}
.ruled strong{font-weight:500}
.steps-list{list-style:none;counter-reset:s;margin:8px 0 0;padding:0}
.steps-list li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:0 8px;padding:14px 0;border-top:1px solid var(--mason-line);margin:0}
.steps-list li::before{content:counter(s);font:400 22px/1.35 MasonMarist,Georgia,serif;color:var(--mason-muted)}

/* The one figure: an evidence panel */
.figure{margin:28px 0 24px}
.figure .mason-eyebrow{max-width:none;display:flex;justify-content:space-between;gap:16px;margin-bottom:22px}
.figure figcaption{font-size:13px;line-height:1.5;color:var(--mason-body);margin:22px 0 0;padding-top:16px;border-top:1px solid var(--evidence-line)}
.funnel{list-style:none;margin:0;padding:0}
.funnel li{display:grid;grid-template-columns:150px 1fr;align-items:baseline;gap:20px;padding:16px 0;border-top:1px solid var(--evidence-line);margin:0}
.funnel li:first-child{border-top:0;padding-top:0}
.funnel .n{font:400 46px/1 MasonMarist,Georgia,serif;letter-spacing:-.03em;color:var(--mason-heading)}
.funnel .n small{display:block;font:400 11px/1.4 MasonDM;letter-spacing:.1em;text-transform:uppercase;color:var(--mason-muted);margin-top:8px}
.funnel p{margin:0;font-size:16px;color:var(--mason-body)}
.funnel li.focus{background:linear-gradient(90deg,#eef5f8,transparent 80%);margin:0 -16px;padding:16px;border-radius:14px;border-top-color:transparent}
.funnel li.focus+li{border-top-color:transparent}
.accounts{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.accounts>div{padding:0 22px;border-left:1px solid var(--evidence-line)}
.accounts>div:first-child{padding-left:0;border-left:0}
.accounts .size{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mason-muted);margin:0 0 10px}
.accounts .who{font:400 28px/1.12 MasonMarist,Georgia,serif;letter-spacing:-.02em;color:var(--mason-heading);margin:0 0 12px}
.accounts p{font-size:15px;line-height:1.55;color:var(--mason-body);margin:0}
.accounts .write{margin-top:14px;padding-top:12px;border-top:1px solid var(--evidence-line);color:var(--mason-ink)}

/* Related terms */
.related{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:6px 0 0;padding:0}
.related a{min-height:44px;font-size:15px}

/* Close (k-close daylight) */
.close{max-width:1240px;margin:72px auto 64px;padding:72px 32px;text-align:center}
.close h2{font:400 clamp(34px,3.6vw,48px)/1.1 MasonMarist,Georgia,serif;letter-spacing:-.03em;color:var(--mason-heading);margin:0 auto 14px;max-width:20ch;text-wrap:balance}
.close p{color:var(--mason-body);margin:0 auto 28px;max-width:48ch}
.close .mason-eyebrow{margin-bottom:16px}

/* Hub */
.hub-band{padding:150px 28px 56px;text-align:center}
.hub-band h1{font:400 clamp(44px,5.6vw,74px)/1.06 MasonEditorial,Georgia,serif;letter-spacing:-.025em;color:var(--mason-heading);margin:0 auto 22px;max-width:14ch;text-wrap:balance}
.hub-band .lede{font-size:19px;color:var(--mason-body);max-width:52ch;margin:0 auto 34px}
.hub-band .lede a{text-underline-offset:3px}
.find{display:flex;align-items:center;gap:12px;max-width:420px;margin:0 auto 28px;background:var(--mason-white);border:1px solid var(--mason-line);border-radius:14px;padding:4px 14px 4px 18px}
.find:focus-within{border-color:var(--mason-ink)}
.find svg{flex:none;width:16px;height:16px;stroke:var(--mason-muted);fill:none;stroke-width:1.8}
.find input{flex:1;min-width:0;border:0;background:none;font:400 16px/1.4 MasonDM,Arial,sans-serif;color:var(--mason-ink);padding:11px 0;outline:none}
.find .count{font-size:12px;color:var(--mason-muted);white-space:nowrap}
.az{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;list-style:none;margin:0;padding:0}
.az a,.az span{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:10px;font-size:13px}
.az a{color:var(--mason-ink);background:#fffdf7cc;border:1px solid var(--mason-line);text-decoration:none}
.az a:hover{background:var(--mason-white);border-color:var(--mason-ink)}
.az span{color:#9d9586}
.index{max-width:1040px;margin:0 auto;padding:72px 32px 24px}
.letter{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--mason-line);scroll-margin-top:100px}
.letter:last-of-type{border-bottom:1px solid var(--mason-line)}
.letter>h2{font:400 48px/1 MasonMarist,Georgia,serif;color:var(--mason-heading);margin:0}
.terms{list-style:none;margin:0;padding:0}
.terms li+li{border-top:1px solid var(--mason-line)}
.terms a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 24px;padding:6px 0 18px;text-decoration:none}
.terms li+li a{padding-top:18px}
.terms h3{font:400 28px/1.15 MasonMarist,Georgia,serif;letter-spacing:-.02em;color:var(--mason-heading);margin:0}
.terms p{grid-column:1;margin:0;font-size:16px;color:var(--mason-body);max-width:60ch}
.terms .go{grid-row:1;grid-column:2;align-self:center;font-size:13px;color:var(--mason-body)}
.terms a:hover h3{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.empty{display:none;text-align:center;color:var(--mason-body);padding:24px 0}
.hub-foot{max-width:1040px;margin:0 auto;padding:16px 32px 96px;color:var(--mason-body)}
.hub-foot a{color:var(--mason-ink);text-underline-offset:3px}

/* Grid rows figure (term facts, letter by letter, sources) */
.grid-rows{list-style:none;margin:0;padding:0}
.grid-rows li{display:grid;grid-template-columns:64px 1fr auto;gap:4px 18px;align-items:baseline;padding:14px 0;border-top:1px solid var(--evidence-line);margin:0;max-width:none}
.grid-rows li:first-child{border-top:0;padding-top:0}
.grid-rows .k{font:400 26px/1.1 MasonMarist,Georgia,serif;color:var(--mason-heading)}
.grid-rows .v{font-size:15.5px;line-height:1.55;color:var(--mason-body)}
.grid-rows .v strong{font-weight:500;color:var(--mason-ink)}
.grid-rows .tag{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mason-muted);white-space:nowrap;border:1px solid var(--evidence-line);border-radius:10px;padding:4px 8px;background:#fffdf7}
/* Formula figure */
.formula{font:400 26px/1.3 MasonMarist,Georgia,serif;color:var(--mason-heading);margin:0 0 16px}
.formula-rows{list-style:none;margin:0;padding:0}
.formula-rows li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--evidence-line);font-size:15px;color:var(--mason-body);margin:0;max-width:none}
.formula-rows li:last-child{border-bottom:1px solid var(--evidence-line)}
.formula-result{margin:16px 0 0;font-size:16px;color:var(--mason-ink)}
.questions h3{font:500 19px/1.4 MasonDM;margin:28px 0 8px}
.hub-band .hub-answer{font-size:19px;color:var(--mason-body);max-width:56ch;margin:0 auto 34px}
.hub-band .hub-answer a{text-underline-offset:3px}

/* Short laptops */
@media(max-height:760px) and (min-width:761px){
  .term-band{padding:120px 24px 92px}
  .hub-band{padding:124px 28px 44px}
}
@media(max-width:760px){
  body{font-size:17px}
  .band{margin:10px;border-radius:20px}
  .term-band{padding:108px 10px 88px}
  .post{padding:0 20px 24px}
  .definition{margin-top:-56px}
  .mason-panel{padding:24px;border-radius:20px}
  .definition p:last-child{font-size:18px}
  .post section{padding-top:40px;margin-top:40px}
  .lead{font-size:18px}
  .funnel li{grid-template-columns:1fr;gap:8px}
  .funnel .n{font-size:40px}
  .accounts{grid-template-columns:1fr;gap:0}
  .accounts>div{padding:18px 0;border-left:0;border-top:1px solid var(--evidence-line)}
  .accounts>div:first-child{padding-top:0;border-top:0}
  .close{margin:48px 10px 48px;padding:56px 20px}
  .hub-band{padding:116px 18px 40px}
  .index{padding:48px 20px 16px}
  .letter{grid-template-columns:1fr;gap:12px}
  .letter>h2{font-size:40px}
  .terms a{grid-template-columns:1fr}
  .terms .go{grid-row:auto;grid-column:1}
  .grid-rows li{grid-template-columns:48px 1fr}
  .grid-rows .tag{grid-column:2;justify-self:start}
  .formula{font-size:22px}
  .hub-foot{padding:16px 20px 72px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
