/* Keep article flex items within the viewport; wide data stays accessible. */
.w-richtext { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.w-richtext pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.cc-table { max-width: 100%; overflow-x: auto; margin: 1rem 0; }
.cc-table table { width: 100%; }
.cc-table:focus-visible { outline: 3px solid #1f4568; outline-offset: 3px; }
/* Shared, static design system. Existing counter IDs and vendor gates stay intact. */
:root{--cc-paper:#faf9f6;--cc-ink:#292929;--cc-muted:#62605e;--cc-teal:#146b60;--cc-line:#dedbd6;--cc-tint:#f2f0ec}
body{background:var(--cc-paper);color:var(--cc-ink);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.65}
h1,h2,h3,h4,.heading,.heading-3,.heading-4,.paragraph,.paragraph-2{color:var(--cc-ink);font-family:inherit}
a{color:var(--cc-ink)}a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--cc-teal)!important;outline-offset:4px}
[hidden]{display:none!important}
.cc-skip{position:fixed;top:8px;left:8px;transform:translateY(-150%);z-index:2147483647;background:white;padding:12px}.cc-skip:focus{transform:none}
.navbar{background:var(--cc-paper);border-bottom:1px solid var(--cc-line);padding:0}
.navbar .container-3{max-width:1120px;width:calc(100% - 48px);min-height:76px;display:flex;align-items:center;justify-content:space-between;margin:auto;padding:0}
.w-nav-brand{display:flex;align-items:center;gap:12px;color:var(--cc-ink);font-weight:650;font-size:17px;text-decoration:none}
.cc-brand-mark{width:36px;height:36px;flex:none;padding:0;border-radius:8px}
.nav-link{padding:16px;color:var(--cc-muted);font-size:14px}.nav-link.w--current{color:var(--cc-teal)}
.main-section{display:block;max-width:1120px;width:calc(100% - 48px);margin:0 auto;padding:48px 0 64px}
.heading{font-size:clamp(30px,3.3vw,44px);line-height:1.2;letter-spacing:-1.3px;text-align:left;margin:0 0 16px;font-weight:650}
.cc-home .heading{font-size:clamp(28px,3vw,40px)}
.cc-intro{font-size:18px;color:var(--cc-muted);margin:0 0 24px}
.cc-home .section,.cc-home .container-7,.cc-home .form-block,.cc-home .form{padding:0;margin:0;width:100%;max-width:none;display:block}
.cc-primary-stats{display:flex;flex-wrap:wrap;gap:16px 40px;margin:0;padding:16px 0;border-top:1px solid var(--cc-line);max-width:none}
.cc-primary-stats>div{font-size:21px;color:var(--cc-ink);font-weight:650;line-height:1.5}
#textarea{width:100%;height:320px;min-height:220px;resize:vertical;padding:22px;background:#fff;border:1px solid #aaa6a0;border-radius:8px;font:17px/1.75 Inter,Arial,sans-serif;color:var(--cc-ink);margin:0}
#textarea::placeholder{color:#6d6964}
.cc-editor-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:14px 0 22px}
.cc-editor-actions button,.cc-dialog-actions button{border:1px solid var(--cc-line);background:white;color:var(--cc-ink);padding:10px 17px;border-radius:6px;min-height:44px;font:600 14px/1.4 Inter,Arial,sans-serif;cursor:pointer}
#cc-copy{background:var(--cc-ink);border-color:var(--cc-ink);color:white}
#cc-save-state{font-size:13px;color:var(--cc-muted);margin-left:auto}#cc-action-status{font-size:14px;color:var(--cc-teal)}
.cc-secondary-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px;padding:22px 0;border-top:1px solid var(--cc-line);border-bottom:1px solid var(--cc-line)}
.cc-secondary-stats>div{font-size:14px;line-height:1.6;color:var(--cc-muted);font-weight:500}
.cc-home .paragraph{text-align:left;font-size:14px;color:var(--cc-muted);margin:20px 0;max-width:75ch}
.cc-home .container-8{max-width:75ch;margin:56px 0 0;padding:0}.cc-home .heading-4{text-align:left;font-size:24px;margin-bottom:20px}
dialog{max-width:min(480px,calc(100% - 32px));padding:28px;border:1px solid var(--cc-line);border-radius:10px;color:var(--cc-ink);background:var(--cc-paper)}dialog::backdrop{background:#29292980}dialog h2{font-size:24px;margin-top:0}.cc-dialog-actions{display:flex;flex-wrap:wrap;gap:12px}
.cc-article .main-section{max-width:74ch;padding-top:48px}
.cc-article .heading{font-size:clamp(30px,3.2vw,42px);margin-bottom:28px}
.w-richtext{width:100%;font:17px/1.8 Inter,Arial,sans-serif;color:var(--cc-ink);padding:0;margin:0}
.w-richtext p{margin:0 0 22px}.w-richtext h2{font-size:27px;line-height:1.3;margin:44px 0 18px;letter-spacing:-.5px}.w-richtext h3{font-size:21px;line-height:1.4;margin:28px 0 14px}.w-richtext li{margin:8px 0}.w-richtext a{text-decoration:underline;text-underline-offset:3px}.w-richtext :is(h2,h3){scroll-margin-top:24px}
.w-richtext p:has(>a):last-child{overflow-wrap:anywhere}
.cc-affiliate-disclosure,.w-richtext p:has(+p)>small{font-size:13px;color:var(--cc-muted)}
.cc-table{border:1px solid var(--cc-line);border-radius:6px;margin:24px 0}.cc-table table{border-collapse:collapse;font-size:15px}.cc-table th,.cc-table td{padding:12px 16px;border-bottom:1px solid var(--cc-line);text-align:left;min-width:125px}.cc-table th{background:var(--cc-tint);font-weight:650}
.cc-contents{border-block:1px solid var(--cc-line);margin:0 0 28px;padding:14px 0;font-size:14px}.cc-contents summary{font-weight:600;cursor:pointer;min-height:30px}.cc-contents ol{padding-left:24px;margin:12px 0}.cc-contents li{padding:3px 0}
.cc-related{margin:40px 0;padding:24px 0;border-top:1px solid var(--cc-line)}.cc-related h2{font-size:23px}.cc-related li{margin:12px 0}
.cc-article .container-5.middle{background:var(--cc-tint);border:0;border:1px solid var(--cc-line);border-radius:0;box-shadow:none;max-width:74ch;width:calc(100% - 48px);margin:24px auto;padding:20px 24px;display:block;text-align:left;min-height:0}
.cc-article main .container-5.middle{width:100%}.cc-article .container-5.middle img{width:auto;max-width:160px;height:48px;object-fit:contain}.cc-article .container-5.middle h2{font-size:19px;line-height:1.4;margin:12px 0 8px}.cc-article .container-5.middle p{font-size:14px;line-height:1.65;margin:0 0 10px}.cc-article .container-5.middle .button{display:inline-flex;align-items:center;justify-content:center;background:var(--cc-ink);color:white;padding:11px 18px;min-height:44px;text-decoration:none;border:1px solid var(--cc-ink);border-radius:6px;font-size:14px;font-weight:600}
.cc-catalogue .main-section>.w-container{max-width:none;margin:24px 0}.cc-catalogue #article-search{display:grid;grid-template-columns:1fr auto;gap:10px 14px;max-width:740px;margin:0}.cc-catalogue label{grid-column:1/-1;font-size:14px;font-weight:600}
#search,#cc-topic{font:16px/1.5 Inter,Arial,sans-serif;background:white;border:1px solid #aaa6a0;border-radius:6px;min-height:48px;padding:10px 14px;margin:0;width:100%}#cc-topic{grid-column:1/-1}.cc-catalogue input[type=submit]{margin:0;background:var(--cc-ink);border-radius:6px;padding:10px 20px;color:white}
#search-status{font-size:14px;color:var(--cc-muted);margin:20px 0}
#article-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin:0;width:100%}
#article-list>.collection-item{width:100%;padding:0;float:none;border-top:1px solid var(--cc-line)}
#article-list .container-5{width:100%;max-width:none;min-height:0;background:transparent;box-shadow:none;border:0;border-radius:0;padding:26px 0;margin:0;display:block;text-align:left}
#article-list h2{font-size:21px;line-height:1.4;margin:10px 0;color:var(--cc-ink);letter-spacing:-.3px}
#article-list p{font-size:14px;color:var(--cc-muted);line-height:1.65;margin:0 0 14px}
#article-list .button{background:transparent;color:var(--cc-teal);padding:8px 0;border:0;border-radius:0;font-size:14px;text-decoration:underline;min-height:40px}
.cc-topic-label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--cc-muted)}
.footer-light{background:var(--cc-tint);border-top:1px solid var(--cc-line);padding:40px 24px}.footer-light .container-6{max-width:1120px}.footer-title{color:var(--cc-ink)}.footer-link-two,.footer-copyright{color:var(--cc-muted)}.cc-privacy-footer{background:var(--cc-tint)}
.loading-bar-wrapper{display:none}
#cookie-banner{font-family:Inter,Arial,sans-serif;border:1px solid var(--cc-line);box-shadow:0 6px 24px #29292920}#cookie-banner button{font-family:inherit;border-color:#87827c}#cookie-banner a{color:var(--cc-ink)}
@media(max-width:767px){
 .navbar .container-3{width:calc(100% - 32px);min-height:64px}.w-nav-brand{font-size:15px;gap:8px}.w-nav-button{padding:12px}.w-nav-menu{background:var(--cc-paper)}
 .main-section{width:calc(100% - 32px);padding-top:28px}.heading{letter-spacing:-.8px}.cc-intro{font-size:16px;margin-bottom:18px}
 .cc-primary-stats{gap:8px 20px;padding:12px 0}.cc-primary-stats>div{font-size:16px}#textarea{height:290px;padding:16px;font-size:16px}
 .cc-secondary-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;font-size:13px}.cc-editor-actions{gap:10px}#cc-save-state{margin:0;width:100%}
 .cc-article .main-section{padding-top:28px}.w-richtext{font-size:16px;line-height:1.8}.w-richtext h2{font-size:24px}.cc-article .container-5.middle{width:calc(100% - 32px)}
 #article-list{grid-template-columns:1fr}.cc-catalogue #article-search{grid-template-columns:minmax(0,1fr) auto}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Override the legacy compound selectors as well as their mobile variants. */
body .navbar .container-3.w-container{max-width:1120px;width:calc(100% - 48px)}
body .main-section.home{display:block;width:calc(100% - 48px);color:var(--cc-ink)}
.cc-home .main-section.home .heading,.cc-home .main-section.home .cc-intro{text-align:left}
.cc-home .main-section.home .paragraph,.cc-home .main-section.home .heading-4{text-align:left;color:var(--cc-muted)}
.cc-home .main-section.home .container-8{margin:48px 0 0}
.cc-catalogue .main-section.blog-posts{display:block}.cc-catalogue .main-section.blog-posts .heading{text-align:left}
.cc-catalogue input.button.search{font:600 15px/1.5 Inter,Arial,sans-serif;width:auto;min-width:85px}
.cc-catalogue #article-list .button.blog-list{text-align:left;width:auto;display:inline-block}
@media(max-width:767px){body .navbar .container-3.w-container,body .main-section.home{width:calc(100% - 32px)}.cc-home .main-section.home .heading{font-size:28px;line-height:1.2}.cc-catalogue input.button.search{min-width:76px;padding:10px 14px}}
@media(max-width:480px){#cookie-banner h2{font-size:20px;margin-bottom:8px}#cookie-banner p{font-size:14px;line-height:1.5;margin-bottom:12px}#cookie-banner .cc-privacy-actions button{font-size:14px;padding:10px 8px;min-width:80px}}
body .page-wrapper .main-section{display:block;color:var(--cc-ink);width:calc(100% - 48px)}
body.cc-home .main-section.pd-bottom-64px.home{width:calc(100% - 48px)}
#article-list::before,#article-list::after,.navbar .container-3::before,.navbar .container-3::after{display:none}
.cc-contents{width:100%}
@media(max-width:767px){body .page-wrapper .main-section,body.cc-home .main-section.pd-bottom-64px.home{width:calc(100% - 32px)}}
.cc-table td,.cc-table th{min-width:160px;overflow-wrap:normal}

/* Stage 3 correction: neutral surfaces and shared educational/footer components. */
/* Legacy strong/label rules explicitly set --neutral--800; inherit editorial text instead. */
.cc-article .w-richtext strong{color:inherit}
.cc-catalogue #article-search label{color:var(--cc-ink)}
/* Only the final, page-level recommendation gets extra separation from the footer. */
.cc-article .page-wrapper>.container-5.middle:last-child{margin-bottom:56px}
@media(max-width:767px){.cc-article .page-wrapper>.container-5.middle:last-child{margin-bottom:48px}}
.page-wrapper{opacity:1!important;transform:none!important}
.cc-article .container-5.middle img{width:160px;height:90px;max-width:100%;object-fit:contain;object-position:left center}
.cc-article .container-5.middle h2,.cc-article .container-5.middle p{text-align:left}
.cc-article .container-5.middle .button{margin:0}
.cc-home .heading{margin-left:0!important;margin-right:0!important}
@media(max-width:991px){.navbar .container-3{position:relative}.navbar.w-nav[data-collapse] .w-nav-menu.cc-menu-open{display:block;position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--cc-paper);border:1px solid var(--cc-line);padding:8px}.navbar.w-nav[data-collapse] .w-nav-menu.cc-menu-open a{display:block;min-height:44px}}
a:hover{color:var(--cc-teal)}
.navbar .nav-link.w--current,.navbar .nav-link:hover{color:var(--cc-ink)}
.cc-education{max-width:78ch;margin:40px 0 0;padding-top:28px;border-top:1px solid var(--cc-line)}
.cc-education h2{font-size:24px;line-height:1.35;letter-spacing:-.4px;margin:0 0 18px;color:var(--cc-ink)}
.cc-education p{font-size:16px;line-height:1.75;margin:0 0 16px;color:var(--cc-muted);text-align:left}
.cc-education a{text-decoration:underline;text-underline-offset:3px}
.cc-score-bands{margin:22px 0;border-top:1px solid var(--cc-line)}
.cc-score-bands>div{display:grid;grid-template-columns:100px 1fr;padding:10px 0;border-bottom:1px solid var(--cc-line);font-size:15px}
.cc-score-bands dt{font-weight:650}.cc-score-bands dd{margin:0;color:var(--cc-muted)}
.cc-reading-note{font-size:14px!important}
#article-list h2 a{color:var(--cc-ink);text-decoration:none}#article-list h2 a:hover{text-decoration:underline;color:var(--cc-teal)}
.cc-table caption{text-align:left;font-weight:600;padding:12px 16px;background:white;color:var(--cc-ink)}
.cc-table tbody th{font-weight:600;background:transparent}
.cc-footer{background:var(--cc-tint);border-top:1px solid var(--cc-line);padding:32px 24px;color:var(--cc-ink)}
.cc-footer-inner{max-width:1120px;margin:auto;display:grid;grid-template-columns:auto 1fr;gap:18px 40px;align-items:center}
.cc-footer-brand{display:flex;gap:12px;align-items:center;font-size:16px;font-weight:650;text-decoration:none}.cc-footer-brand img{width:36px;height:36px}
.cc-footer nav{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px 20px}
.cc-footer nav a,.cc-footer #privacy-settings{font:14px/1.5 Inter,Arial,sans-serif;color:var(--cc-ink);padding:10px 0;min-height:44px;background:none;border:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cc-footer small{grid-column:1/-1;color:var(--cc-muted);font-size:12px}
.cc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:767px){.cc-footer{padding:28px 16px}.cc-footer-inner{grid-template-columns:1fr;gap:16px}.cc-footer nav{justify-content:flex-start;gap:4px 20px}.cc-education h2{font-size:22px}.cc-education{margin-top:32px}.cc-article .container-5.middle{padding:20px}}
