/* OpenViST 2026-10: one restrained visual system, scoped to public components. */
:root{--ov-ink:#172033;--ov-muted:#596672;--ov-line:#dfe5ea;--ov-surface:#f7f9fb;--ov-hover:#2563eb;--ov-radius:14px;--ov-body-font:"Open Sans",sans-serif;--ov-heading-font:"Poppins",sans-serif}
.ovh-shell,.ovn-header,.ovn-footer,.ov-results-shell,.ov-core-shell,.ov-journal-article-shell,.ovmp,.ovr-shell{font-family:var(--ov-body-font);color:var(--ov-ink)}
:is(.ovh-shell,.ov-results-shell,.ov-core-shell,.ov-journal-article-shell,.ovmp,.ovr-shell) :is(h1,h2,h3){font-family:var(--ov-heading-font);color:var(--ov-ink);letter-spacing:-.025em;overflow-wrap:break-word}
.ovh-hero h1{font-size:clamp(36px,4.4vw,60px);line-height:1.12;letter-spacing:-.04em}
.ovh-section h2,.ovh-method h2,.ov-task-paths>h2,.ov-journal-related__heading h2{font-size:clamp(24px,2.6vw,32px);font-weight:600;line-height:1.25}
.ov-results-hero h1,.ov-core-hero h1,.ovmp>h1,.ovmp-title h1,.ovr-hero h1{font-size:clamp(30px,3.8vw,48px);font-weight:600;line-height:1.2}
.ovh-section-intro,.ovh-intro,.ov-results-hero>p,.ovmp-intro,.ovr-hero>p{font-size:16px;line-height:1.7;color:var(--ov-muted)}
:is(.ovh-pick,.ovh-top-ai-card,.ovh-map-card,.ovh-category-card,.ovh-article,.ov-task-path-card,.ovmp-home-card,.ovmp-card,.ovr-card,.ov-journal-card){border-color:var(--ov-line);border-radius:var(--ov-radius);background:#fff;box-shadow:none}

:is(.ovh-pick,.ovh-top-ai-card,.ovh-map-card,.ovh-article,.ovmp-home-card,.ovr-card) :is(h2,h3),.ov-journal-card__body h2{font-size:19px;font-weight:600;line-height:1.4}
.ovmp-home-card{display:flex;flex-direction:column;gap:10px;padding:24px;min-height:176px}
.ovmp-home-card h3,.ovmp-home-card p{margin:0}.ovmp-home-card p{font-size:15px;line-height:1.65;color:var(--ov-muted)}.ovmp-home-card>span{font-size:13px;margin-top:auto;color:var(--ov-muted)}
.ov-task-path-card{text-align:left}.ov-task-path-card strong{font-family:var(--ov-heading-font);font-size:18px;font-weight:600}.ov-task-path-card>span{padding-top:14px;color:var(--ov-hover)}
.ovh-recipes-intro{padding:32px;border:1px solid var(--ov-line);border-radius:var(--ov-radius);background:var(--ov-surface)}
body.openvist-public-ui .ov-results-layout{grid-template-columns:minmax(0,1fr);margin-top:32px}
body.openvist-public-ui .ov-results-filter--horizontal{position:static;display:block;max-width:none;width:100%;margin:22px 0 20px;text-align:left}
body.openvist-public-ui .ov-results-filter--horizontal .ov-project-filter-panel{max-width:none;margin:0;padding:18px 20px;border:1px solid var(--ov-line);border-radius:var(--ov-radius);background:#fff;text-align:left}
body.openvist-public-ui .ov-results-filter--horizontal summary{padding:0;min-height:44px;text-align:left;display:flex;align-items:center;gap:12px;font-size:14px}
body.openvist-public-ui .ov-results-filter--horizontal summary:after{content:"Show / hide";margin-left:auto;color:var(--ov-muted);font-size:12px}
body.openvist-public-ui .ov-results-filter--horizontal .ov-discovery-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:none;margin-top:12px;padding-top:12px;text-align:left}
body.openvist-public-ui .ov-results-filter--horizontal .ov-discovery-filters label:not(.ov-discovery-filters__check){grid-column:auto;min-width:0;align-items:stretch;text-align:left}
body.openvist-public-ui .ov-results-filter--horizontal .ov-discovery-filters label>span{font-size:13px;min-height:0;line-height:1.45;text-align:left}
body.openvist-public-ui .ov-results-filter--horizontal .ov-discovery-filters select{width:100%;min-height:46px;font-size:16px;border-color:var(--ov-line);border-radius:10px}
body.openvist-public-ui .ov-results-filter--horizontal .ov-discovery-filters__check{grid-column:span 2;min-height:44px;align-items:center;font-weight:400}
body.openvist-public-ui .ov-results-filter--horizontal .ov-discovery-filters button,body.openvist-public-ui .ov-results-filter--horizontal .ov-discovery-filters>a{grid-column:auto;min-height:44px;align-self:end;display:flex;align-items:center;justify-content:center}
.ov-results-main{min-width:0}.ov-results-search{scroll-margin-top:100px}
body.openvist-public-ui .ov-project-view a[aria-current=page]{background:var(--ov-ink);border-color:var(--ov-ink)}
body.openvist-public-ui .ov-journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.ov-journal-grid .ov-journal-card{display:flex;flex-direction:column;min-width:0;height:auto}
.ov-journal-grid .ov-journal-card:first-child{grid-column:span 2}
.ov-journal-card__body{display:flex;flex-direction:column;flex:1;padding:24px}.ov-journal-card__body p{font-size:15px;line-height:1.7;color:var(--ov-muted)}
.ov-journal-card__read{margin-top:auto;padding-top:20px;color:var(--ov-hover)}.ov-journal-card__image{aspect-ratio:16/9;overflow:hidden}.ov-journal-card__image img{width:100%;height:100%;object-fit:cover}
body.openvist-public-ui .ov-journal-adjacent a:hover,body.openvist-public-ui .ov-journal-adjacent a:focus-visible{background:#f7faff!important;color:var(--ov-ink)!important;border-color:var(--ov-hover)!important}
.ov-journal-related__grid>a:hover{background:#f7faff!important}
.ovn-header .ovn-bar{gap:20px}.ovn-header .ovn-desktop{gap:6px}.ovn-header .ovn-search-link{display:none!important}
.ovr-shell .ovr-card{padding:24px}.ovr-card h2,.ovr-vertical-list h3{font-size:19px;line-height:1.4}.ovr-card p{font-size:15px;line-height:1.7}
.ovmp-archive .ovmp-card h2{font-size:19px;line-height:1.4}.ovmp-card p{font-size:15px;line-height:1.7}
@media(min-width:961px){.ov-journal-grid .ov-journal-card:first-child h2{font-size:25px}}
@media(max-width:960px){body.openvist-public-ui .ov-results-filter--horizontal .ov-discovery-filters{grid-template-columns:repeat(2,minmax(0,1fr))}body.openvist-public-ui .ov-journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ov-journal-grid .ov-journal-card:first-child{grid-column:span 2}.ovn-header .ovn-desktop{display:none}}
@media(max-width:620px){body.openvist-public-ui .ov-journal-grid{grid-template-columns:minmax(0,1fr)}.ov-journal-grid .ov-journal-card:first-child{grid-column:auto}.ovh-recipes-intro{width:calc(100% - 32px);padding:22px}.ovmp-home-card{min-height:0}.ov-journal-card__body{padding:20px}body.openvist-public-ui .ov-results-filter--horizontal .ov-project-filter-panel{padding:14px}.ov-results-filter--horizontal .ov-discovery-filters{gap:14px}}
@media(max-width:400px){body.openvist-public-ui .ov-results-filter--horizontal .ov-discovery-filters{grid-template-columns:minmax(0,1fr)}body.openvist-public-ui .ov-results-filter--horizontal .ov-discovery-filters__check{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.ov-journal-adjacent a{transition:none!important;transform:none!important}}

/* Override older section rules, which carried !important declarations. */
.ovh-shell .ovh-section h2,.ovh-shell .ovh-method h2,.ovh-shell .ov-task-paths>h2{font-family:var(--ov-heading-font)!important;font-size:clamp(24px,2.6vw,32px)!important;font-weight:600!important;line-height:1.25!important;letter-spacing:-.025em!important}
.ovh-category{border-radius:var(--ov-radius);border-color:var(--ov-line);background:#fff}.ovh-category strong{font-family:var(--ov-heading-font);font-weight:600;font-size:16px}.ovh-category small{font-size:13px;line-height:1.6}
.ovh-shell .ovh-section-intro{font-size:15px!important;line-height:1.7!important}
.ov-task-paths>p{font-size:15px;line-height:1.7;color:var(--ov-muted)}
.ovh-shell .ovh-recipes-intro .ovh-section-intro{margin-top:12px!important}
.ovmp a,.ovr-shell a{color:var(--ov-hover)}.ovmp-pagination .current{background:var(--ov-hover)}

/* Dark method panel: headings override the shared ink rule. */
body .ovh-shell .ovh-method h2,body .ovh-shell .ovh-method h3{color:#ffffff!important}
body .ovh-shell .ovh-method p{color:#cbd4dc!important}
body .ovh-shell .ovh-method .ovh-eyebrow,body .ovh-shell .ovh-method .ovh-principles>div>span{color:#c4cfda!important}
body .ovh-shell .ovh-method a,body .ovh-shell .ovh-method a:is(:hover,:focus-visible){color:#ffffff!important}
body .ovh-shell .ovh-method a:focus-visible{outline:2px solid #93c5fd;outline-offset:5px;border-radius:3px}

/* Recipes and Learn callouts share one bounded card, separate from section background bands. */
body.openvist-public-ui .ovh-shell #content>section.ovh-section.ovh-feature-intro{box-sizing:border-box;width:calc(100% - 80px);max-width:1200px;margin:28px auto;padding:32px;background:#fff!important;border:1px solid #d9dddf!important;border-top:3px solid #93c5fd!important;border-radius:16px;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
body.openvist-public-ui .ovh-shell #content>section.ovh-section.ovh-feature-intro::before{display:none!important}


.ovh-shell .ovh-feature-intro .ovh-section-intro{margin-top:12px!important}
@media(max-width:1000px){body.openvist-public-ui .ovh-shell #content>section.ovh-section.ovh-feature-intro{width:calc(100% - 48px)}}
@media(max-width:760px){body.openvist-public-ui .ovh-shell #content>section.ovh-section.ovh-feature-intro{width:calc(100% - 36px);padding:24px}}
@media(max-width:560px){body.openvist-public-ui .ovh-shell #content>section.ovh-section.ovh-feature-intro{width:calc(100% - 28px);padding:22px}}
@media(prefers-reduced-motion:reduce){body.openvist-public-ui .ovh-shell #content>section.ovh-section.ovh-feature-intro{transition:none}}
