/* Mason guides. Built from the brand system (/Applications/mason-brand: tokens, BRAND.md) and the partner deck
   (growth/partners/deck/deck.css: stat, panel evidence, ba-col after, ticks, thesis). Cover matches the glossary. */
@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{--paper:#f9f8f5;--white:#fffdf7;--ink:#292d29;--heading:#28241d;--body:#70685c;--muted:#827a6d;--line:#ddd9cb;--sky:#c4e0f5;--pearl:#f6faf9;--gold:#ffdf8f;--blue-gray:#b9c6cc;--evidence-line:#d9e2e3}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.65 MasonDM,Arial,sans-serif}
a{color:var(--ink);text-decoration-color:var(--blue-gray);text-underline-offset:3px}
a:focus-visible{outline:2px solid #657d89;outline-offset:3px}
.guides-skip{position:absolute;left:-9999px}
.guides-skip:focus{left:16px;top:16px;z-index:200;background:var(--white);padding:8px 12px;border-radius:8px}
.eyebrow{font:400 11px/1.5 MasonDM;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}

/* Guides index */
.guides-wrap{max-width:1240px;margin:0 auto;padding:150px 48px 96px}
.guides-eyebrow{font:400 11px/1.5 MasonDM;letter-spacing:.1em;color:var(--muted);margin:0 0 22px}
.guides-wrap h1{font:400 clamp(40px,6vw,72px)/1.06 MasonEditorial,Georgia,serif;letter-spacing:-.03em;color:var(--heading);margin:0 0 26px;max-width:15ch;text-wrap:balance}
.guides-lede{font-size:19px;color:var(--body);max-width:56ch;margin:0 0 64px}
.guide-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px}
.guide-card a{display:flex;flex-direction:column;gap:12px;height:100%;padding:30px;background:var(--white);border:1px solid var(--line);border-radius:24px;color:inherit;text-decoration:none;transition:border-color .2s}
.guide-card a:hover{border-color:var(--blue-gray)}
.guide-meta{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.guide-card h2{font:400 28px/1.15 MasonMarist,Georgia,serif;letter-spacing:-.02em;color:var(--heading);margin:0}
.guide-card p{margin:0;color:var(--body);font-size:15px}
.guide-read{margin-top:auto;font-size:14px;font-weight:500}

/* Cover: same daylight panel as the glossary and case studies */
.cover{position:relative;isolation:isolate;overflow:hidden;margin:16px;border-radius:25px;background:var(--sky) url('/assets/case-cover-folds.png') center bottom/cover no-repeat}
.cover-light{position:absolute;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none}
.cover::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#f9f8f5e6 0%,#f9f8f58c 55%,#f9f8f500 100%)}
.cover-inner{max-width:820px;margin:0 auto;padding:150px 24px 150px}
.pill{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--line);background:#fffdf7cc;border-radius:99px;padding:6px 14px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cover h1{font:400 clamp(40px,6vw,70px)/1.06 MasonEditorial,Georgia,serif;letter-spacing:-.03em;color:var(--heading);margin:24px 0 22px;max-width:16ch;text-wrap:balance}
.byline{font-size:14px;color:var(--body);margin:0}
.crumbs{font-size:13px;color:var(--muted);margin:0 0 6px}
.crumbs a{color:inherit}

/* Answer card floats over the cover's lower edge */
.answer{position:relative;z-index:2;max-width:820px;margin:-96px auto 0;padding:0 24px}
.answer-card{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:30px 32px;box-shadow:0 24px 60px -30px #28241d40,inset 0 1px 0 #fff}
.answer-card .eyebrow{margin-bottom:10px}
.answer-card p.post-answer{font-size:20px;line-height:1.6;color:var(--ink);margin:0}

/* Stat strip (deck .stat) */
.stats{max-width:772px;margin:40px auto 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats div{padding:22px 20px 22px 0}
.stats div+div{padding-left:20px;border-left:1px solid var(--line)}
.stats b{display:block;font:400 52px/1 MasonMarist,Georgia,serif;letter-spacing:-.03em;color:var(--heading)}
.stats span{display:block;margin-top:8px;font-size:13px;line-height:1.45;color:var(--body)}

/* Article body */
.post{max-width:820px;margin:0 auto;padding:56px 24px 40px}
.post p,.post li{max-width:64ch;color:var(--ink)}
.post .lead{font-size:20px;color:var(--body)}
.sec{margin:88px 0 0}
.sec-n{font:400 11px/1 MasonDM;letter-spacing:.1em;color:var(--muted);margin:0 0 14px}
.post h2{font:400 clamp(34px,4.4vw,50px)/1.1 MasonMarist,Georgia,serif;letter-spacing:-.03em;color:var(--heading);margin:0 0 20px;text-wrap:balance}
.post h3{font:400 clamp(24px,2.6vw,30px)/1.2 MasonMarist,Georgia,serif;letter-spacing:-.02em;color:var(--heading);margin:0 0 14px}

/* What a signal is / is not (deck ba-col, the real thing highlighted) */
.kinds{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0 0}
.kind{border:1px solid var(--line);border-radius:24px;padding:24px;background:var(--white)}
.kind .eyebrow{margin-bottom:10px}
.kind p{font-size:15.5px;line-height:1.55;color:var(--body);margin:0}
.kind p+p{margin-top:10px}
.kind.real{background:radial-gradient(ellipse at 100% 0%,#ffdf8f45,transparent 55%),radial-gradient(ellipse at 0% 100%,#c4e0f599,transparent 60%),var(--white);border-color:var(--evidence-line)}
.kind.real p{color:var(--ink)}
.kind h3{font-size:24px;margin:0 0 10px}

/* Findings: one dominant number per finding (deck stat + panel evidence) */
.finding{display:grid;grid-template-columns:230px 1fr;gap:40px;padding:44px 0;border-top:1px solid var(--line)}
.finding:first-of-type{border-top:0}
.finding-num b{display:block;font:400 64px/1 MasonMarist,Georgia,serif;letter-spacing:-.035em;color:var(--heading)}
.finding-num span{display:block;margin-top:10px;font-size:13px;line-height:1.45;color:var(--body);max-width:22ch}
.finding-num .idx{font:400 11px/1 MasonDM;letter-spacing:.1em;color:var(--muted);margin:0 0 16px}
.finding p{margin:0 0 14px}
.lesson{margin:22px 0 0;padding:20px 24px;border-radius:20px;background:radial-gradient(ellipse at 6% 0%,#c2dce655,transparent 55%),radial-gradient(ellipse at 100% 95%,#e9c5a544,transparent 55%),var(--pearl);border:1px solid var(--evidence-line)}
.lesson p{margin:0;font:400 21px/1.4 MasonMarist,Georgia,serif;letter-spacing:-.01em;color:var(--heading);max-width:none}
.lesson p strong{font:500 11px/1 MasonDM;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:10px}

/* Checklist (deck panel evidence + numbered ticks) */
.checklist{margin:32px 0 0;padding:36px;border-radius:24px;background:linear-gradient(135deg,#fffdf7,#f6faf9);border:1px solid var(--evidence-line)}
.checklist h3{margin:0 0 6px}
.checklist ol{list-style:none;counter-reset:c;margin:22px 0 0;padding:0;display:grid;gap:0}
.checklist li{counter-increment:c;display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--line);font-size:17px;line-height:1.55;max-width:none}
.checklist li::before{content:counter(c,decimal-leading-zero);font:400 22px/1.2 MasonMarist,Georgia,serif;color:var(--muted)}
.checklist .after{margin:22px 0 0;font-size:15px;color:var(--body)}

/* Close: daylight band (deck k-close daylight) */
.close{margin:96px 16px 16px;border-radius:25px;position:relative;isolation:isolate;overflow:hidden;background:var(--sky) url('/assets/case-cover-folds.png') center/cover no-repeat;padding:96px 24px;text-align:center}
.close::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#f9f8f5d9,#f9f8f599)}
.close h2{font:400 clamp(34px,4.6vw,54px)/1.08 MasonEditorial,Georgia,serif;letter-spacing:-.03em;color:var(--heading);margin:14px auto 16px;max-width:18ch;text-wrap:balance}
.close p{color:var(--body);max-width:52ch;margin:0 auto 28px}
.close .links{font-size:15px;margin:22px 0 0}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--paper)!important;text-decoration:none!important;padding:14px 22px;border-radius:999px;font-weight:500;font-size:15px}

@media(max-width:900px){
  .finding{grid-template-columns:1fr;gap:18px;padding:36px 0}
  .kinds{grid-template-columns:1fr}
}
@media(max-width:760px){
  body{font-size:17px}
  .guides-wrap{padding:120px 20px 72px}
  .cover{margin:10px;border-radius:20px}
  .cover-inner{padding:118px 20px 128px}
  .answer{margin-top:-84px;padding:0 20px}
  .answer-card{padding:22px}
  .answer-card p.post-answer{font-size:18px}
  .stats{margin:32px 20px 0;grid-template-columns:1fr}
  .stats div,.stats div+div{padding:18px 0;border-left:0}
  .stats div+div{border-top:1px solid var(--line)}
  .stats b{font-size:44px}
  .post{padding:40px 20px 24px}
  .sec{margin-top:64px}
  .finding-num b{font-size:52px}
  .checklist{padding:24px 20px}
  .checklist li{grid-template-columns:34px 1fr;font-size:16px}
  .close{margin:64px 10px 10px;border-radius:20px;padding:72px 20px}
  .guide-list{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Explainer posts: numbered step list (list snippet), comparison table (table snippet), mistakes */
.steps-list{counter-reset:s;list-style:none;margin:24px 0 8px;padding:0;border-top:1px solid var(--line)}
.steps-list li{counter-increment:s;position:relative;padding:14px 0 14px 56px;border-bottom:1px solid var(--line);max-width:none}
.steps-list li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:12px;font:400 22px/1.3 MasonMarist,Georgia,serif;color:var(--muted)}
.steps-list li strong{display:block;margin-bottom:2px}
.post h3+p{margin-top:0}
.table-wrap{overflow-x:auto;margin:24px 0;border:1px solid var(--line);border-radius:20px;background:var(--white)}
.table-wrap table{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.table-wrap th,.table-wrap td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.table-wrap th{font:500 11px/1.4 MasonDM;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.table-wrap tr:last-child td{border-bottom:0}
.table-wrap.fit table{min-width:0}
.table-wrap.wrap td:first-child{white-space:normal}
@media (max-width:560px){.table-wrap.fit th,.table-wrap.fit td{padding:12px 10px}}
.table-wrap td:first-child{font-weight:500;color:var(--heading);white-space:nowrap}
.mistakes-list p{padding:16px 0;margin:0;border-top:1px solid var(--line);max-width:64ch}
.mistakes-list p strong{display:block;font:400 21px/1.3 MasonMarist,Georgia,serif;color:var(--heading);margin-bottom:4px}
.post .sec h3{margin-top:36px}
.post .sec .kind h3,.post .sec .checklist h3{margin-top:0}
/* copyable template block (ICP template guide) */
.template{margin:28px 0 0;padding:28px 32px;border-radius:24px;background:var(--white);border:1px solid var(--evidence-line)}
.template-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin:0 0 16px}
.template-top .eyebrow{margin:0}
.template pre{margin:0;white-space:pre-wrap;font:400 15px/1.7 MasonDM,system-ui,sans-serif;color:var(--ink)}
.copy-btn{white-space:nowrap;flex-shrink:0;font:500 13px/1 MasonDM,system-ui,sans-serif;color:var(--ink);background:var(--pearl);border:1px solid var(--line);border-radius:999px;padding:9px 16px;cursor:pointer}
.copy-btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media (max-width:560px){.template{padding:22px 20px}}
