/* twenty-two Intelligence theme layer (1.0.0). Dark by default; light when data-theme="light". Tokens from the beta mock. */
:root{
    --tt-bg:#1B1A1F; --tt-surface:#25232A; --tt-ink:#ECE9E4; --tt-muted:#A9A5AE; --tt-rule:#3A3840;
    --tt-band:#2E2C34; --tt-band-ink:#ECE9E4; --tt-accent:#EC7432; --tt-accent-strong:#D95F18; --tt-accent-ink:#FFFFFF;
    --tt-ok:#7CC194; --tt-warn:#E3A84E; --tt-mast:#FFFFFF; --tt-mast-ink:#242126; --tt-mast-rule:#E6E2DC;
    --background-color:var(--tt-bg); --ghost-accent-color:#D95F18;
    --font-sans:Arial,"Helvetica Neue",Helvetica,"Liberation Sans",sans-serif;
    --gh-font-heading:var(--font-sans); --gh-font-body:var(--font-sans);
}
:root.has-light-text{
    --color-darker-gray:var(--tt-ink); --color-primary-text:var(--tt-ink); --color-secondary-text:var(--tt-muted);
    --color-border:var(--tt-rule); --color-lighter-gray:rgb(255 255 255 / .06); --color-dark-border:rgb(255 255 255 / .5);
}
:root[data-theme="light"][class]{
    --tt-bg:#F5F3F0; --tt-surface:#FFFFFF; --tt-ink:#1E1E1E; --tt-muted:#5E5B63; --tt-rule:#D9D5D0;
    --tt-band:#46444E; --tt-band-ink:#F5F3F0; --tt-accent:#D95F18; --tt-ok:#2F6B45; --tt-warn:#9A5B00;
    --background-color:#F5F3F0; --color-darker-gray:#1E1E1E; --color-primary-text:#1E1E1E; --color-secondary-text:#5E5B63;
    --color-border:#D9D5D0; --color-lighter-gray:rgb(0 0 0 / .05); --color-dark-border:rgb(0 0 0 / .55);
}
body{background:var(--tt-bg);color:var(--tt-ink);font-family:var(--font-sans)}
h1,h2,h3,.is-title{letter-spacing:-.01em;font-weight:700}

/* Masthead: white band in both modes so the logo always reads */
.gh-navigation{background:var(--tt-mast)!important;color:var(--tt-mast-ink);border-bottom:1px solid var(--tt-mast-rule);
    --background-color:#FFFFFF;--color-darker-gray:#242126;--color-primary-text:#242126;--color-secondary-text:rgb(36 33 38 / .7);--color-border:#E6E2DC;--color-lighter-gray:rgb(0 0 0 / .05)}
.gh-navigation-logo img{max-height:58px!important;height:58px;width:auto}
@media (min-width:768px){.gh-navigation{height:70px!important}}
@media (max-width:767px){.gh-navigation-logo img{max-height:48px!important;height:48px}}
.gh-navigation-actions,.gh-navigation-members{background:transparent!important}
.gh-navigation-menu a{color:#242126!important;opacity:.85;font-size:1.52rem}
.gh-navigation-menu a:hover,.gh-navigation-menu .nav-current a{opacity:1}
.gh-navigation-menu .nav-current a{box-shadow:inset 0 -2px 0 var(--tt-accent-strong)}
.gh-navigation .gh-search,.gh-navigation .gh-icon-button{color:#242126!important}
.gh-navigation .gh-button,.gh-button{background:var(--tt-accent-strong);color:#fff;border-radius:4px;font-weight:700}
.gh-navigation-members a[data-portal="signin"]{background:transparent;color:#242126;border:1px solid #242126;border-radius:4px;padding:8px 14px;font-weight:700}
.gh-navigation.is-open,.gh-navigation.is-open .gh-navigation-menu{background:#fff}
.tt-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--tt-mast-rule);border-radius:50%;background:transparent;color:#242126;cursor:pointer;flex:none}
.tt-toggle:hover{border-color:#242126}
.tt-toggle:focus-visible{outline:2px solid var(--tt-accent-strong);outline-offset:2px}
.tt-toggle svg{width:18px;height:18px}
.tt-toggle .tt-sun{display:none}
:root[data-theme="light"] .tt-toggle .tt-sun{display:block}
:root[data-theme="light"] .tt-toggle .tt-moon{display:none}

/* Homepage building blocks */
.tt-home{font-size:16px;line-height:1.6;padding-block:clamp(32px,5vw,56px) clamp(48px,7vw,80px)}
.tt-stack-lg{display:flex;flex-direction:column;gap:48px}
.tt-stack{display:flex;flex-direction:column;gap:20px;min-width:0}
.tt-stack-sm{display:flex;flex-direction:column;gap:8px;min-width:0}
.tt-eyebrow{font-size:.74em;letter-spacing:.12em;text-transform:uppercase;color:var(--tt-accent);font-weight:700}
.tt-muted{color:var(--tt-muted)}
.tt-lede{font-size:1.15em;color:var(--tt-muted);max-width:60ch;line-height:1.55}
.tt-home a{color:inherit;text-decoration:none}
.tt-home h1,.tt-home h2,.tt-home h3{margin:0;line-height:1.18;text-wrap:balance}
.tt-home h2{font-size:clamp(1.4em,2.6vw,1.85em)}
.tt-home h3{font-size:1.12em}
.tt-home p{margin:0;line-height:1.6;font-size:1em}
.tt-lead{display:grid;grid-template-columns:1.25fr 1fr;gap:32px;align-items:center}
.tt-lead-title{font-size:clamp(1.9em,4.4vw,3em)}
.tt-lead-title a:hover,.tt-pane h3 a:hover{color:var(--tt-accent)}
.tt-lead-image img{width:100%;height:auto;border-radius:4px;display:block}
.tt-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:.82em;color:var(--tt-muted)}
.tt-chip{display:inline-flex;align-items:center;gap:5px;font-size:.7em;letter-spacing:.08em;text-transform:uppercase;font-weight:700;border:1px solid var(--tt-rule);border-radius:3px;padding:2px 7px;color:var(--tt-muted);white-space:nowrap}
.tt-chip::before{content:"";width:7px;height:7px;border-radius:50%}
.tt-chip.is-public::before{background:var(--tt-ok)}
.tt-chip.is-members::before{background:var(--tt-warn)}
.tt-btn{font:inherit;font-weight:700;font-size:.9em;border-radius:4px;padding:9px 15px;cursor:pointer;border:1px solid transparent;display:inline-block;text-decoration:none;white-space:nowrap}
.tt-btn-accent,.tt-home a.tt-btn-accent{background:var(--tt-accent-strong);color:#fff}
.tt-btn-accent:hover{filter:brightness(1.08)}
.tt-btn-line,.tt-home a.tt-btn-line{background:transparent;color:var(--tt-ink);border-color:var(--tt-rule)}
.tt-btn-line:hover{border-color:var(--tt-ink)}
.tt-strips{display:flex;flex-direction:column;gap:16px}
.tt-pane{background:var(--tt-surface);border:1px solid var(--tt-rule);border-radius:4px;padding:20px;display:flex;flex-direction:column;gap:10px;min-width:0}
.tt-strip{flex-direction:row;flex-wrap:wrap;gap:12px 24px;align-items:center}
.tt-strip>.tt-stack-sm{flex:1 1 320px}
.tt-strong-link{font-weight:700;color:var(--tt-ink)!important}
.tt-strong-link:hover{color:var(--tt-accent)!important}
.tt-secthead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--tt-rule);padding-bottom:8px;flex-wrap:wrap}
.tt-secthead a{font-size:.88em;font-weight:700;color:var(--tt-accent)!important}
.tt-feed{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.tt-card{display:flex;flex-direction:column;gap:10px;min-width:0;border-top:2px solid var(--tt-ink);padding-top:14px}
.tt-card:hover h3{color:var(--tt-accent)}
.tt-card p{color:var(--tt-muted);font-size:.95em}
.tt-f22{display:grid;grid-template-columns:auto 1fr;gap:12px 28px;align-items:center;border-block:2px solid var(--tt-ink);padding-block:24px}
.tt-f22-num{font-size:clamp(4.5em,11vw,8em);font-weight:700;line-height:.85;color:var(--tt-accent);letter-spacing:-.04em}
.tt-band{background:var(--tt-band);color:var(--tt-band-ink);border-radius:4px;padding:28px}
.tt-band p{opacity:.88}
.tt-grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.tt-grid2>*,.tt-grid4>*{min-width:0}
.tt-grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
.tt-signup{display:flex;gap:8px;flex-wrap:wrap;align-content:center}
.tt-signup input{font:inherit;padding:10px 12px;border-radius:4px;border:1px solid rgb(255 255 255 / .2);background:var(--tt-surface);color:var(--tt-ink);min-width:0;flex:1 1 220px}
.tt-signup-msg{display:none;flex-basis:100%;font-size:.88em}
.tt-signup.success .tt-signup-ok,.tt-signup.error .tt-signup-err{display:block}
.tt-signup.loading button{opacity:.6}
@media (max-width:900px){.tt-feed{grid-template-columns:1fr 1fr}}
@media (max-width:767px){.tt-lead,.tt-grid2{grid-template-columns:1fr}.tt-feed{grid-template-columns:1fr}.tt-lead-image{order:-1}}
@media (max-width:520px){.tt-f22{grid-template-columns:1fr}}

/* Archive cards (tag, author, index pages) */
.gh-container-title,.gh-featured-title,.gh-sidebar-title{font-size:1.248rem!important;letter-spacing:.12em;text-transform:uppercase;color:var(--tt-accent)!important;font-weight:700;border-bottom:1px solid var(--tt-rule)!important;padding-bottom:10px}
.gh-card-tag{color:var(--tt-accent);font-size:1.152rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.gh-card-excerpt,.gh-card-meta{color:var(--tt-muted)}
.gh-container.is-grid .gh-card{background:var(--tt-surface);border:1px solid var(--tt-rule);border-radius:6px;overflow:hidden}
.gh-container.is-grid .gh-card-wrapper{padding:16px 18px 18px}
.gh-container.is-list .gh-card{border-bottom:1px solid var(--tt-rule)}
.gh-card:hover .gh-card-title{color:var(--tt-accent)}
.gh-archive-title,.gh-article-title{font-weight:700;letter-spacing:-.02em}

/* Posts and pages */
.gh-article-tag{color:var(--tt-accent)!important;letter-spacing:.12em;text-transform:uppercase;font-size:1.248rem;font-weight:700}
.gh-article-excerpt{color:var(--tt-muted)}
.gh-content{color:var(--tt-ink)}
.gh-content a{color:var(--tt-accent)}
.gh-content blockquote:not([class]){border-left:3px solid var(--tt-accent)}
.gh-content table:not(.gist table) th{background:var(--tt-band);color:var(--tt-band-ink)}
.gh-content table td,.gh-content table th{border-color:var(--tt-rule)!important}
.kg-btn-accent,.kg-button-card .kg-btn{background:var(--tt-accent-strong)!important;color:#fff!important;border-radius:4px}
.kg-file-card-container,.kg-bookmark-container,.kg-audio-card,.kg-callout-card,.kg-toggle-card{background:var(--tt-surface)!important;border-color:var(--tt-rule)!important;color:var(--tt-ink)!important}
.gh-form{background:var(--tt-surface);border:1px solid var(--tt-rule)}

/* Footer: gunmetal band */
.tt-footer{font-size:16px;background:var(--tt-band);color:var(--tt-band-ink);--color-darker-gray:#ECE9E4;--color-primary-text:#ECE9E4;--color-secondary-text:#C9C6CE;--color-border:rgb(255 255 255 / .15)}
.tt-footer a{color:var(--tt-band-ink)}
.tt-footer-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px;padding-block:32px;font-size:.9em;border-top:1px solid rgb(255 255 255 / .12)}
.tt-footer-brand p{margin:6px 0 0;opacity:.85;max-width:52ch;line-height:1.55}
.tt-footer-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.tt-footer-nav a{opacity:.85;text-decoration:underline;text-underline-offset:3px}
.tt-footer-nav a:hover{opacity:1}
.tt-footer-social{display:flex;align-items:center;gap:16px;padding-bottom:28px;font-size:.82em;opacity:.85}
.tt-footer-social svg{width:18px;height:18px}
.tt-footer-copy{margin-left:auto}
@media (max-width:767px){.tt-footer-cols{grid-template-columns:1fr}}

/* Inner pages (1.1) */
.tt-page{padding-top:clamp(28px,4vw,48px)}
.tt-page .tt-stack-lg{gap:40px}
.tt-pagehead{display:flex;flex-direction:column;gap:12px;max-width:820px}
.tt-pagehead-title{font-size:clamp(2em,4.6vw,3.1em);letter-spacing:-.02em}
.tt-pagehead .tt-eyebrow a{color:inherit}
.tt-filters{display:flex;flex-wrap:wrap;gap:8px}
.tt-filters a{font-size:.88em;border:1px solid var(--tt-rule);border-radius:999px;padding:6px 14px;color:var(--tt-ink)!important}
.tt-filters a:hover{border-color:var(--tt-ink)}
.tt-filters a.is-on{background:var(--tt-ink);color:var(--tt-bg)!important;border-color:var(--tt-ink)}
.tt-rows{display:flex;flex-direction:column;border-top:1px solid var(--tt-rule)}
.tt-row{display:grid;grid-template-columns:150px 1fr auto;gap:8px 28px;padding:20px 0;border-bottom:1px solid var(--tt-rule);align-items:start}
.tt-row-format{font-size:.82em;font-weight:700;color:var(--tt-muted);padding-top:3px}
.tt-row-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.tt-row-title{font-weight:700;font-size:1.12em;line-height:1.3}
.tt-row:hover .tt-row-title{color:var(--tt-accent)}
.tt-row-excerpt{color:var(--tt-muted)}
.tt-row-date{font-size:.82em;color:var(--tt-muted)}
@media (max-width:640px){.tt-row{grid-template-columns:1fr}.tt-row-chip{order:-1}}
.tt-prose{max-width:760px;font-size:1.06em}
.tt-prose h2{font-size:1.5em;margin-top:1.6em;padding-top:.6em;border-top:1px solid var(--tt-rule)}
.tt-prose h2:first-child{margin-top:0;border-top:0;padding-top:0}
.tt-prose ul li::marker{color:var(--tt-accent)}
.tt-page-image img{width:100%;border-radius:4px}
.tt-series{gap:14px}
.tt-series h2 a:hover{color:var(--tt-accent)}
.tt-evidence{font-size:.88em;font-style:italic;color:var(--tt-muted)}
.tt-latest{display:flex;flex-direction:column;gap:2px;border-left:3px solid var(--tt-accent);padding:4px 0 4px 12px}
.tt-latest span{font-size:.74em;letter-spacing:.1em;text-transform:uppercase;color:var(--tt-muted);font-weight:700}
.tt-latest:hover strong{color:var(--tt-accent)}
.tt-series .tt-btn{align-self:flex-start}
.tt-f22-hero{border-block:2px solid var(--tt-ink);padding-block:32px}
.tt-f22-hero .tt-f22-num{font-size:clamp(6em,16vw,12em)}
.tt-cohorts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tt-cohort{gap:10px}
.tt-cohort .tt-chip{align-self:flex-start}
.tt-cohort .tt-btn{margin-top:auto;text-align:center}
.tt-cohort.is-open{border-color:var(--tt-accent-strong)}
@media (max-width:900px){.tt-cohorts{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.tt-cohorts{grid-template-columns:1fr}}
.tt-f22-content > p:first-child,.tt-f22-content > p:first-child + p,
.tt-f22-content #four-cohorts-of-22,.tt-f22-content #four-cohorts-of-22 + ul{display:none}
.tt-f22-content #four-cohorts-of-22 + ul + h2{margin-top:0;border-top:0;padding-top:0}
.tt-page .gh-pagination,.tt-page nav.pagination{display:flex;justify-content:space-between;color:var(--tt-muted);font-size:.9em}

/* Posts (1.1) */
.tt-post-eyebrow{display:flex;gap:6px;align-items:center;color:var(--tt-accent);font-size:1.25rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.gh-article-author-image{display:none}
.gh-article-meta-wrapper{gap:2px}
.gh-content h2{border-top:1px solid var(--tt-rule);padding-top:.6em}
.gh-content table:not(.gist table){background:var(--tt-surface);border:1px solid var(--tt-rule);border-radius:4px}
.gh-content ul li::marker{color:var(--tt-accent)}
.tt-home .tt-prose p,.tt-home .tt-prose ul,.tt-home .tt-prose ol{margin:0}
.tt-prose > * + *{margin-top:1em!important}
.tt-prose > h2 + *{margin-top:.6em!important}
.tt-prose li + li{margin-top:.4em}
.gh-navigation-menu .nav{gap:22px}
@media (min-width:992px){.gh-navigation-menu .nav{flex-wrap:nowrap}}
.gh-navigation-menu .nav-the-first-22 a{color:var(--tt-accent-strong)!important;opacity:1}

/* Full-width report template (1.2) */
.tt-report{padding-block:clamp(24px,4vw,40px) clamp(40px,6vw,64px)}
.tt-report-inner{max-width:1012px;margin:0 auto}
.tt-report-inner > .kg-card,.tt-report-inner > figure{margin:0}

/* 1.3.0 image sizing: post feature image at text width; cards match 1.91:1 social images */
.post-template .gh-article-image{grid-column:main;margin-top:28px}
.post-template .gh-article-image img{width:100%;height:auto;border-radius:4px;display:block}
.gh-card-image{aspect-ratio:1.91/1}
.gh-card-image img{object-position:left center}
.gh-container.is-list .gh-card-image{aspect-ratio:1.91/1}
.tt-lead-image img{aspect-ratio:1.91/1;object-fit:cover;object-position:left center}
.tt-page-image{max-width:720px;margin-inline:auto}

/* 1.4.0 format context: Library guide cards, tag "use it to", post format line */
.tt-libguide{max-width:none}
.tt-libguide > p{max-width:760px}
.tt-libguide .tt-howto{max-width:760px;border:1px solid var(--tt-rule);border-radius:4px;padding:14px 18px;font-size:.92em;color:var(--tt-muted)}
.tt-libguide .tt-howto strong{color:var(--tt-ink)}
.tt-formats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px!important}
.tt-fmt{border-top:2px solid var(--tt-accent);padding-top:14px;display:flex;flex-direction:column;gap:8px;min-width:0}
.tt-fmt h3{font-size:1.15em;margin:0}
.tt-fmt h3 a{color:var(--tt-ink)!important;text-decoration:none}
.tt-fmt h3 a:hover{color:var(--tt-accent)!important}
.tt-fmt p{margin:0!important;font-size:.92em;line-height:1.5}
.tt-fmt .tt-fmt-meta{color:var(--tt-muted);font-size:.84em}
.tt-fmt .tt-fmt-use strong,.tt-use strong{color:var(--tt-accent)}
.tt-fmt .tt-fmt-sub{border-top:1px solid var(--tt-rule);padding-top:8px}
.tt-use{color:var(--tt-ink);max-width:60ch;margin:0}
.tt-format{font-size:.88em;color:var(--tt-muted);border-left:2px solid var(--tt-accent);padding-left:10px;margin-top:14px;max-width:60ch}
.tt-format a{color:var(--tt-accent)!important;font-weight:700}
@media (max-width:900px){.tt-formats{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.tt-formats{grid-template-columns:1fr}}
