/* Readability baseline: solid surfaces, legible secondary copy and usable controls. */
:root{color-scheme:light;--ink:#172c26;--muted:#4b5d53;--line:#cfd8d1;--bg:#f6f8f5}
body{font-size:16px;color:var(--ink);background:var(--bg)}
button,input,select,textarea{color-scheme:light}
input,select,textarea{color:#172c26;background-color:#fff}
input::placeholder,textarea::placeholder{color:#58665f;opacity:1}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2857a8;outline-offset:3px}
:where(h1,h2,h3,h4){text-wrap:pretty}
.nav-item,.sidebar .nav-item{font-size:14px;color:#3d5147;min-height:44px}
.nav-item.active{color:#173e32;background:#e1ecdb;font-weight:700}
.nav-label,.sidebar-bottom,.sidebar-bottom .text-button,.breadcrumb,.coverage,.page-footer,.page-footer .text-button{font-size:12px;color:#4d6055}
.nav-label{letter-spacing:1px}.sidebar-note h3{color:#203a32}.sidebar-note .text-button{font-size:13px}.nav-count{color:#36533e}
.eyebrow{font-size:12px;letter-spacing:1.1px;color:#42604d}
.home-intro>p,.hero p,.page-intro p{font-size:16px;line-height:1.75;color:#43564c}
.home-intro>p{color:#48405c}.home-intro .eyebrow{color:#5a397e}
.home-coverage>span{font-size:12px;color:#4b405c}.home-coverage strong{font-size:22px}
.home-workspace .eyebrow{font-size:11px;color:#e0e9ff}.home-workspace p{font-size:14px;color:#f1f5ff}.home-workspace .btn{font-size:14px;color:#223e31}
.home-directory-heading .text-button,.home-category select,.home-countries button,.home-countries button span,.home-alphabet button,.home-results-heading p,.home-results-heading .text-button,.home-letter-heading>span,.home-directory-end{font-size:13px}
.home-category>span,.home-alphabet-label{font-size:12px;color:#4b405c}
.home-search-row .searchbox input,.searchbox input{font-size:16px;color:#172c26;background:#fff;border-color:#aebcad}
.home-countries button{min-height:42px}.home-countries button[data-home-country=global]{--country-bg:#dceee7;--country-ink:#164c3b}
.home-countries button[data-home-country=global] svg{width:17px;height:17px}
.home-source-note{font-size:13px;color:#47564e;line-height:1.75;max-width:1000px}
.home-results-heading p,.home-letter-heading>span,.home-directory-end{color:#47564e}
.home-alphabet{position:static}.home-alphabet button{min-height:38px;min-width:30px;color:#253e32}
.home-alphabet button[aria-pressed=true]{color:#fff}.home-alphabet button:disabled{opacity:1;color:#6b736c;background:#eef1ec}
.home-company-card .home-company-text strong{font-size:16px;color:#1c2d29;line-height:1.45}
.home-company-card .home-company-text>span{font-size:13px;color:#485650}
.home-company-card .home-company-country{font-size:11px;color:#4a4058;white-space:nowrap}
.home-website,.home-contact-preview{font-size:14px;color:#3c4e61;min-height:42px}.home-company-bottom{font-size:12px;color:#506057}
.home-company-bottom button{font-size:12px;min-height:28px;color:#4d356a}
.global-badge,.home-company-card .home-company-text>.global-badge{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;background:#dceee7;color:#164c3b;border:1px solid #96b9a9;border-radius:5px;padding:2px 6px;font-size:12px;font-weight:700;line-height:1.5}
.global-badge svg{width:14px;height:14px}.card-top{flex-wrap:wrap;gap:8px}.country-pill{font-size:12px;color:#4a5a4a}
.card-title h3{font-size:17px}.card-category{font-size:13px;color:#45564a;white-space:normal}
.card-copy{font-size:14px;line-height:1.65;color:#46584b;height:auto;min-height:47px;-webkit-line-clamp:3}
.card-meta,.card-meta.checked{font-size:12px;color:#365b46}.guide-button,.select-wrap select,.category-select,.chip,.sort-select,.check-label{font-size:13px;min-height:40px}
.result-count,.stats-note,.stat span,.pagination,.region-summary,.info-strip{font-size:13px;color:#4b5d53}
.btn,.btn.secondary{font-size:14px;min-height:44px}.btn.secondary{color:#294f39;border-color:#aabda9}
.icon-button{width:40px;height:40px;color:#3e5747}.text-button{color:#365641}
.dialog-heading h2{font-size:26px}.dialog-heading p{font-size:13px;color:#4c5b51}
.dialog-tabs{gap:20px;flex-wrap:wrap}.dialog-tab{font-size:14px;color:#48584c;min-height:46px}.dialog-tab.active{color:#174b34;border-color:#174b34}
dialog{background:#fff;color:#172c26;max-height:calc(100dvh - 32px);overflow:auto}dialog::backdrop{background:#13271e80;backdrop-filter:blur(2px)}
.dialog-main p,.dialog-aside p,.dialog-main .company-contact-list p{font-size:15px;line-height:1.75;color:#3d5144}
.dialog-main h3,.guide-step h3,.dialog-aside h3{font-size:16px;color:#1d3728}
.dialog-aside .btn{font-size:13px}.source-check,.source-check strong,.channel-pills span,.regional-dialog-link,.letter-note{font-size:12px;color:#42593e;line-height:1.7}
.guide-step .step-circle{color:#294a2e;font-size:12px;background:#e7efdf}.dialog-heading{min-width:0}
.availability-panel{background:#edf6f1;border:1px solid #b4cebd;border-radius:10px;padding:16px;margin-bottom:24px}
.availability-panel>div{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.availability-panel strong{font-size:14px;color:#214a37}
.availability-panel p{font-size:13px;margin-top:8px;color:#375641}.availability-panel .availability-source{font-size:12px}.availability-panel a{text-decoration:underline;display:inline}
.field label,.field-label,.field small,.workspace-form label,.workspace-form small{font-size:13px;color:#425640}
.field input,.field select,.field textarea,.workspace-form input,.workspace-form select,.workspace-form textarea{font-size:16px;color:#193a2a;border-color:#aabda9;background:#fff}
.field input::placeholder,.field textarea::placeholder{color:#61705d}.letter-output{font-size:15px;line-height:1.8;color:#243e2c}
.draft-label,.letter-reset,.tracker-notes label,.tracking-bottom,.status-select,.service-matches button{font-size:12px;color:#465b3d}
.tracker-notes textarea{font-size:15px}.mini-stat p,.empty-state p,.help-aside p,.help-aside ul,.about-grid p,.about-grid li,details p,.regional-help-grid p{font-size:14px;color:#42563d}
summary,.help-list summary{font-size:15px}.country-table{font-size:14px}.country-table th{font-size:13px;color:#42563d}
.company-websites span,.company-websites small,.company-contact-provenance,.company-contact-list .text-button,.company-contact-panel .company-contact-footnote,.company-contact-panel .company-contact-list .contact-context{font-size:12px;color:#4a5c4c}
.company-websites a{font-size:15px}.company-contact-type,.company-contact-type>span{font-size:13px;color:#3d5948}
.workspace-heading p,.profile-note p,.welcome-card p,.research-cta p,.story-card p{color:#455b49;font-size:15px}
.soft-ink{color:#48673b}.card-label,.sub-cost small,.sub-meta,.calculation-note,.story-context,.research-stamp>small{font-size:12px;color:#4d6044}
.name-button{font-size:15px}.sub-cost b{font-size:15px}.research-tabs{flex-wrap:wrap;gap:12px 24px}.research-tabs button{color:#4a5c45;font-size:14px;min-height:44px}
.spend-label,.spend-foot,.spend-card p{font-size:13px;color:#ecf4eb}.spend-label select{font-size:13px;color:#fff}
.research-tabs button.active{color:#21492b;border-color:#21492b}
@media(max-width:1200px){.home-company-list{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero{grid-template-columns:minmax(0,1.25fr) minmax(260px,1fr)}}
@media(max-width:960px) and (min-width:521px){.sidebar{width:86px;padding:20px 8px;overflow-y:auto}.sidebar nav{overflow:visible;display:flex;flex-direction:column}.sidebar .nav-item{min-width:0;min-height:48px}.app-shell{margin-left:86px}}
@media(max-width:760px){.home-hero{grid-template-columns:1fr}.home-intro h1{font-size:40px}.home-search-row{grid-template-columns:1fr}.home-directory-heading h2{font-size:25px}.home-company-list{grid-template-columns:1fr}.studio-layout,.help-layout{grid-template-columns:1fr}.dialog-body{grid-template-columns:minmax(0,1fr)}.home-workspace p{font-size:15px}}
@media(max-width:520px){main{padding:24px 16px}.sidebar{height:78px;padding:6px 8px;overflow:visible}.sidebar nav{display:flex;flex-direction:row;overflow-x:auto;scrollbar-width:thin;justify-content:flex-start;gap:4px}.sidebar .nav-item{flex:0 0 90px;min-width:90px;padding:7px 5px;min-height:58px}.nav-text{font-size:11px}.app-shell{margin-left:0;padding-bottom:90px}.coverage{font-size:11px}.topbar{padding:0 16px}.home-hero{margin:0 0 26px;padding:23px 18px}.home-intro h1{font-size:36px;letter-spacing:-1.4px}.home-intro>p{font-size:15px}.home-coverage>span{font-size:12px;min-width:75px}.home-workspace .eyebrow{font-size:11px;max-width:180px}.home-workspace-bubbles{display:none}.home-category{flex-direction:column;align-items:stretch;gap:0}.home-category select{min-height:36px;font-size:15px}.home-countries button,.home-countries button span{font-size:13px}.home-company-card .home-company{padding:16px 12px}.home-company-card .home-company-country{font-size:11px}.home-company-card .home-company-text strong{font-size:16px}.home-company-card .home-company-text>span{font-size:13px}.home-source-note{font-size:13px}.home-alphabet button{min-height:38px}.services-grid{grid-template-columns:1fr}.card-title h3{font-size:18px}.card-category,.card-meta{font-size:13px}.card-copy{font-size:14px}.guide-button{font-size:14px}.dialog-body{padding:20px 16px}.dialog-header{padding:18px 16px}.dialog-tabs{gap:12px;padding:0 16px}.dialog-tab{font-size:13px}.dialog-main p,.dialog-aside p{font-size:15px}.field-grid{grid-template-columns:1fr}.sub-row{flex-wrap:wrap}.sub-cost{max-width:none;margin-left:auto}.sub-cost b{font-size:14px}.sub-cost small{font-size:12px}.sub-row .icon-button{width:40px}.research-tabs button{font-size:13px}.toast{bottom:95px}.letter-actions .btn{font-size:14px}.workspace-heading .eyebrow{font-size:12px}}
.sidebar-bottom .text-button{display:flex;width:100%;margin-top:12px}

@media(max-width:520px){.sidebar nav{overflow-y:hidden}.home-workspace h2{line-height:1.4}}
