/* Shared visual values sampled from the live KeepWin Blog. Blog, header,
   footer and the approved homepage carousel keep their existing styles. */
:root{--kw-v-ink:#122130;--kw-v-muted:#646b64;--kw-v-accent:#98643f;--kw-v-link:#855333;--kw-v-hover:#7b4d30;--kw-v-surface:#fff;--kw-v-soft:#f7f5f0;--kw-v-border:#e6dfd5;--kw-v-input-border:#8a8f87;--kw-v-radius:25px;--kw-v-width:1240px;--kw-v-section:78px}
/* Directory pages: product, service, material, industry, resource and company. */
.kw-directory-page{color:var(--kw-v-ink);background:var(--kw-v-surface)}
.kw-page-wrap{width:min(calc(100% - 40px),var(--kw-v-width))}
.kw-page-hero{background:var(--kw-v-surface);border-color:var(--kw-v-border)}
.kw-directory-page h1,.kw-resource-article h1,.kw-policy h1{font-size:clamp(32px,4vw,52px);line-height:1.15;letter-spacing:-.025em;color:var(--kw-v-ink);margin:20px 0}
.kw-directory-page h2,.kw-resource-article h2,.kwr-home .kwr-section h2{font-size:28px;line-height:1.25;letter-spacing:-.025em;color:var(--kw-v-ink)}
.kw-directory-page h3,.kw-resource-article h3,.kwr-home .kwr-section h3{color:var(--kw-v-ink);line-height:1.3}
.kw-directory-page p,.kw-resource-article p{color:var(--kw-v-muted);line-height:1.75}
.kw-directory-page .kw-page-lead,.kw-resource-article .kw-article-deck{font-size:16px;line-height:1.75;color:var(--kw-v-muted)}
.kw-directory-page .kw-page-eyebrow,.kw-resource-article .kw-page-eyebrow,.kw-directory-page .kw-resource-kicker,.kw-resource-article .kw-resource-kicker{color:var(--kw-v-accent)!important;font-size:11px;letter-spacing:1.8px;line-height:1.75}
.kw-breadcrumb{font-size:13px;color:var(--kw-v-muted);margin-bottom:32px}
.kw-breadcrumb a{color:var(--kw-v-link)}
.kw-directory-card,.kw-resource-card{background:var(--kw-v-surface);border-color:var(--kw-v-border);border-radius:var(--kw-v-radius);box-shadow:none;color:var(--kw-v-ink)}
.kw-directory-card:hover{background:var(--kw-v-soft);border-color:var(--kw-v-accent)}
.kw-directory-card h3,.kw-resource-card h3{font-size:21px;line-height:1.3}
.kw-resource-card h3 a{color:var(--kw-v-ink)}
.kw-directory-page .kw-asset-figure figcaption,.kw-resource-article .kw-asset-figure figcaption,.kw-resource-result,.kw-resource-note,.kw-article-byline{color:var(--kw-v-muted)}
.kw-page-button{background:var(--kw-v-accent);color:#fff!important;border-radius:var(--kw-v-radius);font-size:14px;font-weight:650;box-shadow:none}
.kw-page-button:hover{background:var(--kw-v-hover)}
.kw-page-contact{background:var(--kw-v-soft);color:var(--kw-v-ink);border:1px solid var(--kw-v-border);box-shadow:none}
.kw-page-contact h2{color:var(--kw-v-ink)}
.kw-page-contact p{color:var(--kw-v-muted)}
.kw-page-contact>a:last-child{color:var(--kw-v-link)}
.kw-directory-page .kwr-detail p,.kw-directory-page .kwr-detail li,.kw-article-body,.kw-article-body p,.kw-glossary dd{color:var(--kw-v-muted)}
.kw-directory-page .kwr-note,.kw-page-note,.kw-download-grid article,.kw-resource-empty,.kw-article-toc,.kw-article-endnote,.kw-checklist li{background:var(--kw-v-soft);border-color:var(--kw-v-border);color:var(--kw-v-muted)}
.kw-resource-search input{border-color:var(--kw-v-input-border);color:var(--kw-v-ink);background:var(--kw-v-surface)}
.kw-resource-categories a,.kw-article-toc a{color:var(--kw-v-link)}
.kw-resource-faq summary{color:var(--kw-v-ink)}
/* Editorial resource pages keep their reading column and table of contents. */
.kw-resource-article{color:var(--kw-v-ink);background:var(--kw-v-surface)}
.kw-article-header{background:var(--kw-v-surface)}
.kw-article-body{font-size:17px;line-height:1.85}
.kw-article-body h2{font-size:28px;line-height:1.25;letter-spacing:-.025em;color:var(--kw-v-ink)}
.kw-article-body a{color:var(--kw-v-link)}
/* Homepage below the protected carousel; existing grids stay in place. */
.kwr-home .kwr-section{color:var(--kw-v-ink)}
.kwr-home .kwr-soft{background:var(--kw-v-soft)}
.kwr-home .kwr-image-card{border-color:var(--kw-v-border);background:var(--kw-v-surface);color:var(--kw-v-ink)!important;box-shadow:none}
.kwr-home .kwr-section-head h2{font-size:28px;line-height:1.25}
.kwr-home .kwr-form{background:var(--kw-v-surface);border-color:var(--kw-v-border)}
.kwr-home .kwr-form input:not([type=checkbox]):not([type=hidden]),.kwr-home .kwr-form select,.kwr-home .kwr-form textarea{border-color:var(--kw-v-input-border);color:var(--kw-v-ink)}
.kwr-home .kwr-form small,.kwr-home .kwr-form-note,.kwr-home .kwr-file-status{color:var(--kw-v-muted)}
/* Exhibition: same light palette and type as Blog, with existing functionality. */
.kwx{--kwx-gold:var(--kw-v-accent);--kwx-line:var(--kw-v-border);background:var(--kw-v-surface);color:var(--kw-v-ink);padding:78px 0;font:inherit}
.kwx a{color:var(--kw-v-link)}
.kwx p{color:var(--kw-v-muted);line-height:1.75}
.kwx h1{font-size:clamp(32px,4vw,52px);line-height:1.15;letter-spacing:-.025em;color:var(--kw-v-ink);margin:20px 0}
.kwx h2{font-size:28px;line-height:1.25;letter-spacing:-.025em;color:var(--kw-v-ink)}
.kwx h3{font-size:21px;line-height:1.3;color:var(--kw-v-ink)}
.kwx .kwx-eyebrow{font-size:11px!important;letter-spacing:1.8px;line-height:1.75;color:var(--kw-v-accent)!important}
.kwx-lead,.kwx-section-head>p:last-child{font-size:16px}
.kwx-breadcrumb{font-size:13px;color:var(--kw-v-muted);margin-bottom:32px}
.kwx-hero-photo{background:var(--kw-v-soft);border:1px solid var(--kw-v-border);box-shadow:none}
.kwx figcaption,.kwx-facts dt,.kwx .kwx-small-note,.kwx-form label small{color:var(--kw-v-muted)!important}
.kwx-badge{color:var(--kw-v-accent);background:var(--kw-v-soft);border-color:var(--kw-v-border)}
.kwx .kwx-button,.kwx button[type=submit]{background:var(--kw-v-accent);color:#fff!important;font-size:14px;font-weight:650;border-radius:var(--kw-v-radius);box-shadow:none}
.kwx .kwx-button:hover,.kwx button[type=submit]:hover{background:var(--kw-v-hover)}
.kwx-section{padding-top:78px}
.kwx-card,.kwx-process-card,.kwx-proof-text,.kwx-faq details{background:var(--kw-v-surface);border-color:var(--kw-v-border);box-shadow:none}
.kwx-hardware,.kwx-form{background:var(--kw-v-soft);border-color:var(--kw-v-border);box-shadow:none}
.kwx-checklist,.kwx-faq summary,.kwx-form label{color:var(--kw-v-ink)}
.kwx-discuss article{border-color:var(--kw-v-border)}
.kwx-form input:not([type=checkbox]):not([type=hidden]),.kwx-form select,.kwx-form textarea{background:var(--kw-v-surface);color:var(--kw-v-ink);border-color:var(--kw-v-input-border)}
.kwx-form textarea::placeholder,.kwx-form input::placeholder{color:var(--kw-v-muted);opacity:1}
.kwx .kwx-consent span{color:var(--kw-v-muted)!important}
.kwx-consent input{accent-color:var(--kw-v-accent)}
.kwx-feedback{background:var(--kw-v-surface);border-color:var(--kw-v-border);color:var(--kw-v-ink)}
/* Published policy pages use the same heading scale without changing copy. */
.kw-policy h2{font-size:28px;line-height:1.25;color:var(--kw-v-ink)}
/* Search rules are deliberately scoped to the search template. */
body.search main{--rc-blue:var(--kw-v-accent);--rc-blue-dark:var(--kw-v-hover);--rc-cloud:var(--kw-v-soft);--rc-muted:var(--kw-v-muted);color:var(--kw-v-ink);background:var(--kw-v-surface)}
body.search main h1{font-size:clamp(32px,4vw,52px);line-height:1.15;letter-spacing:-.025em;color:var(--kw-v-ink)}
body.search main h2{font-size:28px;line-height:1.25;color:var(--kw-v-ink)}
body.search main p{color:var(--kw-v-muted);line-height:1.75}
body.search main .rc-button,body.search main button[type=submit]{background:var(--kw-v-accent);color:#fff;border-radius:var(--kw-v-radius);box-shadow:none}
body.search main input{border-color:var(--kw-v-input-border);color:var(--kw-v-ink);background:var(--kw-v-surface)}
body.search main article{border-color:var(--kw-v-border);box-shadow:none}
@media(max-width:700px){.kwx{padding:45px 0}.kwx-section{padding-top:45px}.kw-directory-page h2,.kw-resource-article h2,.kwr-home .kwr-section h2,.kwr-home .kwr-section-head h2,.kwx h2,.kw-article-body h2,.kw-policy h2{font-size:24px}.kw-article-body{font-size:16px}.kw-directory-card h3,.kw-resource-card h3{font-size:19px}}
@media(max-width:640px){.kw-page-wrap{width:min(calc(100% - 28px),var(--kw-v-width))}}
.kwr-home .kw-factory-video__heading h2{font-size:28px;line-height:1.25;letter-spacing:-.025em;color:var(--kw-v-ink)}
.kwr-home .kw-factory-video__intro{color:var(--kw-v-muted)}
.kwx-form h3{font-size:24px}
@media(max-width:700px){.kwr-home .kw-factory-video__heading h2{font-size:24px}}

/* Shared modal text follows the same palette; existing backdrop and controls remain. */
.kw-region{color:var(--kw-v-ink);border-color:var(--kw-v-border)}
.kw-region h2{font-size:28px;line-height:1.25;letter-spacing:-.025em;color:var(--kw-v-ink)}
.kw-region-choices button{color:var(--kw-v-ink)}
.kw-region-choices small,.kw-region-note{color:var(--kw-v-muted)}
@media(max-width:700px){.kw-region h2{font-size:24px}}
body.search main a:not(.rc-button){color:var(--kw-v-link)}
.kwr-home .kw-factory-video__intro{font-size:16px;line-height:1.75}

.kwr-home .kw-factory-video{background:var(--kw-v-soft)}
.kwr-home .kw-factory-video__eyebrow{color:var(--kw-v-accent)}
