/* Shade Chronicles blog. Chassis follows the house blog template (progress bar, TOC + sticky quote rail,
   inline CTAs, FAQ accordion, author block, topic popup, mobile CTA bar) in the Custom Canopies design system. */
.post-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--bronze);z-index:60;transition:width .1s linear}
.post-intro{max-width:1280px;padding-bottom:36px}
.post-intro h1{font-size:clamp(34px,4.2vw,60px);line-height:1.08;max-width:22ch;margin-bottom:22px;text-wrap:balance}
.post-intro .eyebrow a{border-bottom:1px solid currentColor}
.post-intro .eyebrow a:hover{color:var(--forest)}
.post-sub{font-size:20px;line-height:1.5;color:var(--muted);max-width:720px;margin-bottom:30px}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin:0;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font:500 13px/1.4 Inter,sans-serif}
.post-meta strong{display:block;font:500 10px/1.5 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--bronze)}
.post-meta .by{display:flex;align-items:center;gap:12px;color:var(--charcoal);font-weight:600}
.post-meta .by svg{width:34px;height:31px;flex-shrink:0}
.post-meta .rule{width:1px;height:30px;background:var(--line)}
.post-hero{max-width:1280px;margin:0 auto;padding:0 var(--pad)}
.post-hero img{aspect-ratio:16/9;height:auto}
.post-grid-wrap{max-width:1280px;margin:0 auto;padding:56px var(--pad) 90px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:72px;align-items:start}
.post-body{max-width:720px;font-size:18px;line-height:1.7}
.post-body>*:first-child{margin-top:0}
.post-body>p:first-of-type{font-size:21px;line-height:1.6;color:var(--charcoal)}
.post-body h2{font-size:clamp(26px,2.6vw,36px);line-height:1.15;letter-spacing:-.035em;margin:60px 0 20px;padding-top:22px;position:relative;text-wrap:balance;scroll-margin-top:110px}
.post-body h2::before{content:'';position:absolute;top:0;left:0;width:44px;height:3px;background:var(--bronze)}
.post-body h3{font-size:22px;line-height:1.25;margin:40px 0 14px}
.post-body h4,.post-body h5,.post-body h6{font:600 18px/1.3 Inter,sans-serif;letter-spacing:-.02em;margin:32px 0 12px}
.post-body p{margin-bottom:24px}
.post-body a:not(.button){color:var(--forest);text-decoration:underline;text-decoration-color:var(--bronze);text-underline-offset:3px;text-decoration-thickness:1px}
.post-body a:not(.button):hover{color:var(--bronze)}
.post-body strong{font-weight:600;color:var(--charcoal)}
.post-body ul,.post-body ol{padding-left:22px;margin:0 0 24px}
.post-body li{margin-bottom:10px}
.post-body blockquote{margin:36px 0;padding:4px 0 4px 26px;border-left:2px solid var(--bronze);font:500 22px/1.45 Inter,sans-serif;letter-spacing:-.02em}
.post-body blockquote p:last-child{margin-bottom:0}
.post-body hr{border:0;border-top:1px solid var(--line);margin:48px 0}
/* inline CTAs */
.post-cta{margin:52px 0;padding:38px 36px;background:var(--forest);color:var(--cream)}
.post-cta .eyebrow{color:var(--sand);margin-bottom:14px}
.post-cta h3{font-size:clamp(24px,2.4vw,32px);line-height:1.12;margin:0 0 12px;color:var(--cream);text-wrap:balance}
.post-cta p{font-size:16.5px;line-height:1.55;margin-bottom:24px;color:#dce1d9;max-width:520px}
.post-cta .button{background:var(--cream);color:var(--forest);border-color:var(--cream)}
.post-cta .button:hover{background:var(--sand)}
.post-cta.alt{background:var(--sand);color:var(--charcoal)}
.post-cta.alt .eyebrow{color:var(--bronze)}
.post-cta.alt h3{color:var(--charcoal)}
.post-cta.alt p{color:#4a4f49}
.post-cta.alt .button{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.post-cta.alt .button:hover{background:#172c23}
/* FAQ accordion */
.post-faq{border-top:1px solid var(--line);margin:0 0 24px}
.post-faq details{border-bottom:1px solid var(--line)}
.post-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:20px 0;font:600 18px/1.35 Inter,sans-serif;letter-spacing:-.02em}
.post-faq summary::-webkit-details-marker{display:none}
.post-faq summary::after{content:'+';flex-shrink:0;font:400 26px/1 Inter,sans-serif;color:var(--bronze);transition:transform .2s}
.post-faq details[open] summary::after{transform:rotate(45deg)}
.post-faq details p{margin:0 0 22px;max-width:640px;font-size:17px;color:#3c423f}
/* author */
.post-author{display:flex;gap:22px;align-items:flex-start;margin:56px 0 0;padding:30px;border:1px solid var(--line);background:#fbfaf6}
.post-author svg{width:52px;height:48px;flex-shrink:0}
.post-author .eyebrow{color:var(--bronze);margin-bottom:6px}
.post-author h3{font-size:20px;margin:0 0 8px}
.post-author p{font-size:15.5px;line-height:1.55;color:var(--muted);margin:0}
/* rail */
.post-rail{position:sticky;top:112px;display:grid;gap:26px}
.post-toc .eyebrow,.post-toc-mobile summary{font:500 10px/1.5 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--bronze)}
.post-toc .eyebrow{margin-bottom:12px}
.post-toc ol,.post-toc-mobile ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.post-toc ol{max-height:max(150px,calc(100vh - 640px));overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.post-toc a,.post-toc-mobile a{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font:500 13.5px/1.35 Inter,sans-serif;color:var(--muted);letter-spacing:-.005em}
.post-toc a span,.post-toc-mobile a span{color:var(--bronze);font-size:11px;padding-top:2px;flex-shrink:0;font-variant-numeric:tabular-nums}
.post-toc a:hover,.post-toc a.on{color:var(--charcoal)}
.post-toc a.on{box-shadow:inset 2px 0 0 var(--bronze);padding-left:12px}
.post-toc-mobile{display:none;margin:0 0 34px;border:1px solid var(--line);padding:0 18px;background:#fbfaf6}
.post-toc-mobile summary{cursor:pointer;padding:16px 0;list-style:none;display:flex;justify-content:space-between}
.post-toc-mobile summary::after{content:'+';font-size:16px}
.post-toc-mobile[open] summary::after{content:'–'}
.post-toc-mobile ol li:last-child a{border-bottom:0}
/* lead forms */
.lead-card{background:var(--forest);color:var(--cream);padding:28px 26px}
.lead-card .eyebrow{color:var(--sand);margin-bottom:10px}
.lead-card h3{font-size:24px;line-height:1.12;margin:0 0 10px;color:var(--cream)}
.lead-card>p,.lead-form+p{font-size:14.5px;line-height:1.5;color:#dce1d9;margin-bottom:18px}
.lead-form{display:grid;gap:10px}
.lead-form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lead-form input,.lead-form textarea{width:100%;padding:13px 14px;border:1px solid #c9cdc4;background:#fff;color:var(--charcoal);font:400 15px/1.4 Plex,Arial,sans-serif;border-radius:0}
.lead-form input::placeholder,.lead-form textarea::placeholder{color:#7b837e}
.lead-form input:focus,.lead-form textarea:focus{outline:2px solid var(--bronze);outline-offset:1px}
.lead-form .hp{position:absolute;left:-9999px}
.lead-form button{margin-top:4px;width:100%;justify-content:space-between}
.lead-card .lead-form button{background:var(--cream);color:var(--forest);border-color:var(--cream)}
.lead-card .lead-form button:hover{background:var(--sand)}
.lead-form button[disabled]{opacity:.6;cursor:wait}
.lead-foot{font-size:12px!important;line-height:1.45;margin:12px 0 0!important;opacity:.8}
.lead-msg{font-size:14px;margin:6px 0 0;min-height:0}
.lead-msg.err{color:#b3261e}.lead-card .lead-msg.err{color:#ffc9c2}
.lead-done{display:none}
.lead-done h3{margin-bottom:10px}
.is-sent .lead-form,.is-sent .lead-intro,.is-sent .lead-foot{display:none}
.is-sent .lead-done{display:block}
/* popup */
.lead-modal{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(23,30,26,.62)}
.lead-modal.open{display:flex}
.lead-modal__card{position:relative;display:grid;grid-template-columns:.85fr 1fr;width:100%;max-width:860px;max-height:92vh;overflow:auto;background:var(--cream);box-shadow:0 30px 80px rgba(0,0,0,.35)}
.lead-modal__side{background:var(--forest);color:var(--cream);padding:40px 34px;display:flex;flex-direction:column;justify-content:space-between;gap:30px}
.lead-modal__side .eyebrow{color:var(--sand);margin-bottom:16px}
.lead-modal__side h2{font-size:clamp(28px,3vw,38px);line-height:1.08;margin:0 0 14px;color:var(--cream)}
.lead-modal__side p{font-size:15px;line-height:1.55;color:#dce1d9;margin:0}
.lead-modal__side ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font:500 13px/1.4 Inter,sans-serif}
.lead-modal__side li{display:flex;gap:10px;padding-top:10px;border-top:1px solid rgba(245,243,237,.18)}
.lead-modal__side li::before{content:'✓';color:var(--sand)}
.lead-modal__main{padding:40px 34px 34px}
.lead-modal__main h3{font-size:22px;margin:0 0 6px}
.lead-modal__main .lead-intro{font-size:14.5px;color:var(--muted);margin-bottom:18px}
.lead-modal__main .lead-foot{color:var(--muted)}
.lead-modal__close{position:absolute;top:10px;right:12px;width:38px;height:38px;border:0;background:transparent;font-size:26px;line-height:1;color:var(--charcoal)}
/* mobile CTA bar */
.post-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:var(--cream);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .25s}
.post-bar.show{transform:none}
.post-bar .button{width:100%}
/* related + index cards */
.post-related{border-top:1px solid var(--line)}
.post-index{padding-top:30px}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 28px}
.post-card{display:block}
.post-card .image-frame{aspect-ratio:16/10;margin-bottom:20px;background:var(--sand)}
.post-card img{height:100%;transition:transform .5s ease}
.post-card:hover img{transform:scale(1.035)}
.post-card .eyebrow{color:var(--bronze);margin-bottom:10px}
.post-card h2,.post-card h3{font-size:clamp(20px,1.6vw,24px);line-height:1.2;letter-spacing:-.03em;margin-bottom:12px;text-wrap:balance}
.post-card:hover h2,.post-card:hover h3{color:var(--forest);text-decoration:underline;text-decoration-color:var(--bronze);text-underline-offset:4px;text-decoration-thickness:1px}
.post-card p:not(.eyebrow){font-size:15.5px;line-height:1.55;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:1100px){.post-grid{grid-template-columns:repeat(2,1fr)}.post-grid-wrap{grid-template-columns:minmax(0,1fr) 300px;gap:44px}}
@media(max-width:960px){.post-grid-wrap{display:block;padding-top:40px;padding-bottom:64px}.post-rail{display:none}.post-toc-mobile{display:block}.post-bar{display:block}.post-body{margin:0 auto}.lead-modal__card{grid-template-columns:1fr}.lead-modal__side{padding:28px 24px 24px}.lead-modal__side ul{display:none}.lead-modal__main{padding:26px 24px 24px}body.has-post-bar .site-footer{padding-bottom:90px}}
@media(max-width:760px){.post-grid{grid-template-columns:1fr;gap:44px}.post-body{font-size:17px}.post-body>p:first-of-type{font-size:19px}.post-intro{padding-bottom:26px}.post-sub{font-size:18px}.post-meta .rule{display:none}.post-cta{padding:30px 24px;margin:40px 0}.post-author{padding:22px;gap:16px}}
@media(prefers-reduced-motion:reduce){.post-card img,.post-bar,.post-progress{transition:none}}
