/* ChartWise editorial and download pages use the same warm product palette. */
:root{--cw-paper:#f6efe4;--cw-card:#fffbf5;--cw-blush:#f5d5d7;--cw-red:#b91f2b;--cw-ink:#34111a;--cw-muted:#765d60;--cw-line:#e2d3c0;--cw-serif:"Instrument Serif",Georgia,serif;--cw-display:"Bricolage Grotesque","Avenir Next",sans-serif;--cw-body:Geist,Arial,sans-serif}
body.site-page,body.download-page{background:var(--cw-paper)!important;color:var(--cw-ink)!important;font-family:var(--cw-body)!important}
body.site-page h1,body.site-page h2,body.site-page h3,body.download-page h1,body.download-page h2,body.download-page h3{font-family:var(--cw-display)!important;color:var(--cw-ink)!important;letter-spacing:-.04em}
body.site-page .site-header,body.download-page .site-header{top:12px;background:transparent!important;border:0!important;box-shadow:none!important}
body.site-page .site-header>.container,body.site-page .site-header .cw-nav__inner,body.download-page .site-header>.container,body.download-page .site-header .cw-nav__inner{max-width:1200px;background:#fffbf5eb;border:1px solid var(--cw-line);border-radius:40px;padding:8px 14px;backdrop-filter:blur(14px);box-shadow:0 8px 28px #34111a0c}
body.site-page .nav a,body.download-page .nav a{color:var(--cw-muted)}
body.site-page .nav a:hover,body.download-page .nav a:hover{color:var(--cw-red)}
body.site-page .nav-cta,body.download-page .nav-cta,body.download-page .download-button{background:var(--cw-red)!important;color:#fff!important;border-radius:999px!important}
body.site-page .blog-hero{background:radial-gradient(ellipse at 78% 15%,#f5d5d7 0,transparent 38%),var(--cw-paper)!important;border:0!important;padding:clamp(100px,13vw,170px) max(22px,calc((100vw - 1200px)/2)) 70px!important}
body.site-page .blog-hero-eyebrow,body.download-page .download-kicker{font-family:var(--cw-body);color:var(--cw-red)!important;background:transparent!important;border:0!important;letter-spacing:.13em}
body.site-page .blog-hero h1,body.download-page .download-intro h1{font-size:clamp(46px,8vw,96px)!important;line-height:.96!important;max-width:900px}
body.site-page .blog-hero .subtitle,body.download-page .download-intro p{font-size:17px;line-height:1.65;color:var(--cw-muted)!important}
body.site-page .blog-hero-meta strong{font-family:var(--cw-display);color:var(--cw-ink)}
body.site-page .blog-hero-meta span,body.site-page .blog-section-heading,body.site-page .blog-featured-tag{color:var(--cw-red)!important}
body.site-page .blog-filters{background:var(--cw-paper)!important;border-color:var(--cw-line)!important}
body.site-page .blog-featured,body.site-page .blog-card,body.site-page .blog-search,body.site-page .blog-featured-visual{background:var(--cw-card)!important;border-color:var(--cw-line)!important;border-radius:20px!important}
body.site-page .blog-featured:hover,body.site-page .blog-card:hover{border-color:var(--cw-red)!important;box-shadow:0 18px 42px #34111a12!important}
body.site-page .blog-featured h2,body.site-page .blog-card h2{font-family:var(--cw-display)!important;color:var(--cw-ink)!important}
body.site-page .blog-featured p,body.site-page .blog-card p{color:var(--cw-muted)!important}
body.site-page .blog-sidebar-left{background:transparent}
body.site-page .article{max-width:900px;background:var(--cw-card);border:1px solid var(--cw-line);border-radius:24px;padding:clamp(26px,5vw,64px);box-shadow:0 18px 55px #34111a08}
body.site-page .blog-page-wrapper{max-width:1320px;margin:100px auto 70px;gap:32px}
body.site-page .article h1{font-size:clamp(38px,6vw,68px);line-height:1.03}
body.site-page .article h2{font-size:clamp(27px,3vw,38px);line-height:1.1;margin-top:1.8em}
body.site-page .article h3{font-size:23px;margin-top:1.5em}
body.site-page .article .lead{font-size:19px;line-height:1.75;color:var(--cw-muted)}
body.site-page .article p,body.site-page .article li{line-height:1.8}
body.site-page .article .takeaways,body.site-page .toc-card,body.site-page .progress-box,body.site-page .share-box{background:#f8f0e7;border:1px solid var(--cw-line);border-radius:16px}
body.site-page .article a,body.site-page .blog-back-link,body.site-page .toc-list a{color:var(--cw-red)}
body.download-page .download-main{padding-top:clamp(100px,13vw,160px)}
body.download-page .download-grid{gap:16px}
body.download-page .download-card,body.download-page .download-mobile{background:var(--cw-card);border:1px solid var(--cw-line);border-radius:20px;box-shadow:0 14px 38px #34111a0b;transition:transform .25s cubic-bezier(.23,1,.32,1),box-shadow .25s}
body.download-page .download-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px #34111a14}
body.download-page .download-card h2,body.download-page .download-help h2,body.download-page .download-mobile h2{font-family:var(--cw-display);color:var(--cw-ink)}
body.download-page .download-card p,body.download-page .download-help p,body.download-page .download-mobile p{color:var(--cw-muted);line-height:1.7}
body.download-page .download-secondary{border-color:var(--cw-line);border-radius:999px;color:var(--cw-ink)}
body.download-page .download-help{border-color:var(--cw-line)}
body.download-page .download-steps li{padding:16px 18px;margin:8px 0;background:var(--cw-card);border:1px solid var(--cw-line);border-radius:14px}
body.download-page .download-footer{border-color:var(--cw-line)}
@media(max-width:800px){body.site-page .blog-page-wrapper{display:block;margin:86px 16px 40px}body.site-page .blog-sidebar-left{display:none}body.site-page .article{padding:24px 20px}body.site-page .blog-hero{padding:100px 22px 48px!important}body.download-page .download-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){body.download-page .download-card{transition:none}}
/* Legal pages keep the complete disclosure copy in a quiet, readable layout. */
body.policy-page{background:var(--cw-paper)!important;color:var(--cw-ink)!important;font-family:var(--cw-body)!important;line-height:1.7}
body.policy-page .page-header{position:relative;overflow:hidden;padding:clamp(116px,14vw,176px) 0 42px;border:0;background:radial-gradient(ellipse at 78% 12%,var(--cw-blush) 0,transparent 38%),var(--cw-paper)}
body.policy-page .page-header:before{content:"CHARTWISE / LEGAL";display:block;max-width:1200px;margin:0 auto 14px;padding:0 max(22px,calc((100vw - 1200px)/2));color:var(--cw-red);font:500 10px/1.5 var(--cw-mono,ui-monospace,monospace);letter-spacing:.14em}
body.policy-page .page-header>.container{max-width:1200px;padding-inline:22px}
body.policy-page .page-header h1{max-width:980px;margin:0 0 24px;font:600 clamp(44px,7.5vw,82px)/.98 var(--cw-display);letter-spacing:-.055em;color:var(--cw-ink)}
body.policy-page .page-meta{max-width:840px;padding:18px 21px;border:1px solid var(--cw-line);border-radius:18px;background:#fffbf5;box-shadow:0 14px 34px #34111a0a;color:var(--cw-muted);font:13px/1.85 var(--cw-body)}
body.policy-page .page-meta strong{color:var(--cw-ink)}
body.policy-page .page-meta a,body.policy-page .page-content a{color:var(--cw-red);text-underline-offset:3px}
body.policy-page .page-content{padding:34px 0 88px;background:var(--cw-paper)}
body.policy-page .page-content>.container{max-width:820px;padding-inline:22px}
body.policy-page .page-content .toc{padding:25px 28px;margin:0 0 55px;border:1px solid var(--cw-line);border-radius:22px;background:var(--cw-card);box-shadow:0 14px 36px #34111a0a}
body.policy-page .page-content .toc h2{font:500 10px/1.4 var(--cw-mono);letter-spacing:.14em;color:var(--cw-red);margin:0 0 14px}
body.policy-page .page-content .toc li{margin:0;border-top:1px solid #e2d3c0;padding:9px 0}
body.policy-page .page-content .toc li:last-child{padding-bottom:0}
body.policy-page .page-content .toc a{color:var(--cw-ink);font-size:14px;text-decoration:none}
body.policy-page .page-content .toc a:hover{color:var(--cw-red);border-color:var(--cw-red)}
body.policy-page .page-content h2:not(.toc h2){margin:56px 0 17px;padding:0 0 12px;border-bottom:1px solid var(--cw-line);font:600 clamp(25px,3vw,34px)/1.13 var(--cw-display);letter-spacing:-.035em;color:var(--cw-ink);scroll-margin-top:105px}
body.policy-page .page-content h3{margin:30px 0 10px;font:600 20px/1.25 var(--cw-display);letter-spacing:-.02em;color:var(--cw-ink)}
body.policy-page .page-content p,body.policy-page .page-content li{color:var(--cw-muted);font-size:15px;line-height:1.8}
body.policy-page .page-content strong{color:var(--cw-ink)}
body.policy-page .page-content blockquote{border:1px solid var(--cw-line);border-left:4px solid var(--cw-red);border-radius:0 14px 14px 0;background:#f5d5d74d;color:var(--cw-ink)}
body.policy-page .page-content blockquote p{color:var(--cw-ink)}
body.policy-page .page-content hr{border-top:1px solid var(--cw-line);margin:36px 0}
body.policy-page .page-content table{border:1px solid var(--cw-line);border-radius:14px;background:var(--cw-card)}
body.policy-page .page-content th{background:#f5d5d7;color:var(--cw-ink)}
body.policy-page .page-content td{color:var(--cw-muted)}
body.policy-page .site-footer{background:#34111a;color:#f6efe4;border:0}
body.policy-page .site-footer h2,body.policy-page .site-footer .footer-tagline-highlight,body.policy-page .site-footer .footer-gradient-text{color:#f6efe4}
body.policy-page .site-footer .footer-subtext,body.policy-page .site-footer .footer-brand-bio,body.policy-page .site-footer .footer-bottom-bar{color:#d8c3c1}
body.policy-page .site-footer .footer-nav-list a{color:#ead8d4}
body.policy-page .site-footer .footer-badge{background:#4a1c26;border-color:#76545a;color:#f6efe4}
body.policy-page .site-footer .footer-top-stmt,body.policy-page .site-footer .footer-bottom-bar{border-color:#ffffff2b}
@media(max-width:760px){body.policy-page .page-header{padding-top:106px}body.policy-page .page-header:before{padding-inline:18px}body.policy-page .page-header>.container,body.policy-page .page-content>.container{padding-inline:18px}body.policy-page .page-header h1{font-size:clamp(40px,11vw,58px)}body.policy-page .page-meta{padding:15px;font-size:12px}body.policy-page .page-content .toc{padding:20px;margin-bottom:42px}body.policy-page .page-content h2:not(.toc h2){margin-top:44px}}
/* Keep legal title, metadata and reading column on one shared measure. */
body.policy-page .page-header:before{max-width:820px;padding-inline:22px}
body.policy-page .page-header>.container{max-width:820px;padding-inline:22px}
body.policy-page .page-content .toc ol{counter-reset:none}
body.policy-page .page-content .toc li{counter-increment:none}
body.policy-page .page-content .toc li:before{content:none}
