
:root{--sn-light:#F5F5EF;--sn-dark:#163E36;--sn-accent:#C8EA77;--sn-ink:#163E36;--sn-muted:#3d5a51}
html{scroll-padding-top:112px}*,*::before,*::after{box-sizing:border-box}
body{overflow-x:hidden}main{min-width:0}main [id]{scroll-margin-top:112px}
/* Dark and light page contexts */
body:not(.dark-page){background:var(--sn-light);color:var(--sn-ink)}
body:not(.dark-page) main :is(h1,h2,h3,h4,h5,h6){color:var(--sn-ink)}
body:not(.dark-page) main :is(p,li,label,.muted,.subtle,.smallnote){color:#36554C}
body:not(.dark-page) main :is(.eyebrow,.sn-kicker){color:#365E48!important}
body.dark-page .sn-home-paths,body.dark-page .sn-home-method{color:var(--sn-ink)}
body.dark-page .sn-home-paths :is(h1,h2,h3,p,span),body.dark-page .sn-home-method :is(h1,h2,h3,p,span){color:var(--sn-ink)}
/* head scales and sticky header collisions */
main h1{font-size:clamp(33px,3.65vw,53px)!important;line-height:1.14!important;overflow-wrap:break-word}
main h2{font-size:clamp(27px,2.45vw,36px)!important;line-height:1.2!important;overflow-wrap:break-word}
main h3{font-size:clamp(21px,1.85vw,26px)!important;line-height:1.27!important;overflow-wrap:break-word}
main :is(p,li){line-height:1.55} .section,.sn-section{scroll-margin-top:112px}
/* readable native controls including options; do not force dark color scheme */
select,select option,select optgroup,select:focus,select:active{color:#163E36!important;background:#FFFFFF!important;opacity:1!important;color-scheme:light!important}
select{border:1px solid #749C82!important;min-height:44px!important;max-width:100%;font-size:16px!important}
select option{color:#163E36!important;background:#fff!important}
select:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,[role=button]:focus-visible{outline:3px solid #6C946E!important;outline-offset:3px!important}
input:not([type=range]):not([type=checkbox]):not([type=radio]),textarea{color:#163E36!important;background:#fff!important;min-height:44px}
input::placeholder,textarea::placeholder{color:#526C61!important;opacity:1}
/* Explicitly normalize DARK graph boards and LIGHT analytic details */
.network-toolbar label,.sim-chart-tools label{color:#163E36!important}
.network-board{background:#101313!important;border-radius:12px;overflow-x:auto;overflow-y:visible;padding:12px}
.network-board svg{display:block;width:100%;height:auto;min-height:400px;overflow:visible}
.network-toolbar select,.sim-chart-tools select{color:#163E36!important;background:#fff!important}
.causal-details,.network-legend,.network-edge-list,.loop-list,.causal-section,.network-section,.simulation-section{color:#163E36}
.causal-details :is(h3,h4,p,span,strong,li),.network-legend :is(span,li),.network-edge-list :is(span,p,li),.loop-list :is(p,span,li){color:#163E36}
/* dark visual containers contain only light text */
.network-board text,.sim-chart-wrap text,.causal-graph svg text{fill:#F5F5EF}
/* avoid lime microtext on light */
body:not(.dark-page) .network-section :is(.eyebrow,.subtle),body:not(.dark-page) .causal-section :is(.eyebrow,.subtle),body:not(.dark-page) .simulation-section :is(.eyebrow,.subtle){color:#365E48!important}
/* Footer and page bottom */
footer{min-height:90px!important;padding:24px clamp(22px,4vw,72px) 34px!important;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;overflow:visible!important}
footer,footer :is(span,a){color:#F5F5EF!important}
body:not(.dark-page) main{padding-bottom:40px}
@media(max-width:700px){main h1{font-size:clamp(30px,8vw,40px)!important}main h2{font-size:clamp(25px,6.2vw,31px)!important}main h3{font-size:clamp(20px,5vw,24px)!important}.map-showcase .hero{padding:35px 20px}.map-showcase .detail{grid-template-columns:1fr}.network-board svg{min-width:660px}footer{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* v10.7 readability and layout hotfix */
body.v10.light-page main{padding:0 0 54px!important}
body.v10.light-page main > section,body.v10.light-page main > .v103-method-outcome{width:min(100% - 64px,1380px)!important;margin-left:auto!important;margin-right:auto!important;padding-left:clamp(22px,3.2vw,48px)!important;padding-right:clamp(22px,3.2vw,48px)!important}
body.v10.light-page main > .page-intro{padding-top:clamp(42px,6vw,76px)!important;padding-bottom:30px!important;min-height:unset!important}
body.v10.light-page .page-intro h1{margin:12px 0 8px!important;font-size:clamp(30px,3.3vw,48px)!important;line-height:1.19!important;max-width:100%!important}
body.v10.light-page .v103-method-outcome{margin-top:48px!important;padding-top:40px!important;padding-bottom:46px!important}
body.v10.light-page .v103-method-outcome :is(p,h1,h2,h3,a){color:#163E36!important}
body.v10.light-page .v103-method-outcome .eyebrow{color:#365E48!important}
body.v10.light-page :is(.phases, .sn-diagnostic-cards, .network-toolbar,.causal-details,.network-edge-list,.network-legend){margin-left:0;max-width:100%}
body.v10.light-page .eyebrow{color:#365E48!important}
body.v10.light-page main :is(h1,h2,h3,h4,p,li){overflow-wrap:break-word}
body.v10.light-page main > .section:first-child{padding-top:30px!important}
body.v10.light-page footer{margin-top:0!important}
.map-showcase .hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:clamp(20px,3vw,56px)!important}
.map-showcase .map-area{display:block!important;min-width:0!important}
.map-showcase .map-frame{display:block!important;visibility:visible!important;opacity:1!important;min-height:0!important;height:auto!important;max-width:500px!important;margin:12px auto!important}
.map-showcase .map-frame svg{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;min-width:0!important;height:auto!important;aspect-ratio:600 / 520;overflow:visible!important}
.map-showcase #edges,.map-showcase #nodes,.map-showcase .node,.map-showcase .edge{visibility:visible!important}
.map-showcase .detail{margin-top:14px!important}
.map-showcase .detail :is(h2,p,li,strong,span){color:#F5F5EF!important}
.map-showcase .detail .detail-kicker,.map-showcase .detail .influence-list strong{color:#C8EA77!important}
@media(max-width:900px){.map-showcase .hero{grid-template-columns:minmax(0,1fr)!important}.map-showcase .map-area{max-width:650px!important}}
@media(max-width:650px){body.v10.light-page main>section,body.v10.light-page main>.v103-method-outcome{width:100%!important;padding-left:22px!important;padding-right:22px!important}.map-showcase .hero{padding:34px 20px!important}.map-showcase .map-frame{max-width:100%!important}}

/* v10.8 — diagnostic information hierarchy and readable links */
body.v10.light-page main>.page-intro{padding-top:36px!important;padding-bottom:15px!important}
body.v10.light-page main>.page-intro h1{font-size:clamp(29px,3vw,44px)!important}
body.v10.light-page #expert-diagnostic :is(h2,h3){font-size:clamp(25px,2.7vw,36px)!important;line-height:1.2!important}
body.v10.light-page .sn9-expert .panel{background:#fff!important;color:#163E36!important;padding:clamp(20px,3vw,38px)!important}
body.v10.light-page .sn9-expert .panel :is(h2,h3,h4,p,strong,small,span){color:#163E36}
body.v10.light-page .sn9-expert .panel .eyebrow,body.v10.light-page .sn9-expert .panel .subtle{color:#365E48!important}
.symptom-connections{background:#F7F9F5;border:1px solid #B8C9BF;border-radius:12px;padding:14px 18px;margin:22px 0;max-width:100%;overflow-x:auto}
.symptom-connections svg{width:100%;display:block;min-width:680px;height:auto}
.symptom-connections .connection-summary{font-size:16px;line-height:1.5;color:#163E36!important;margin:12px 4px 5px}
#initialResult .controls,#deep .controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}
body.v10.light-page main section :is(.eyebrow,.sn-kicker){color:#365E48!important}
@media(max-width:700px){.symptom-connections svg{min-width:660px}body.v10.light-page .sn9-expert .panel{padding:18px!important}}

/* SN10.9: clearer experience layout and anchor offsets */
#experience-cases,#experience-partners,#active-projects{scroll-margin-top:110px;}
#experience-cases{margin-top:2rem;}
#experience-cases .case{max-width:100%;}
#experience-partners{margin-top:2rem;}
.active-projects{min-height:260px;}
.active-projects .plain-link{display:inline-flex;margin-top:1rem;}

/* v10.12: semantic homepage layout after removing duplicated map */
body.v10 .map-showcase{display:block;max-width:100%;}
body.v10 .map-showcase .hero{display:block;width:100%;min-height:0;max-width:1100px;padding:clamp(48px,7vw,104px) clamp(24px,5vw,88px);}
body.v10 .map-showcase .hero .intro{max-width:850px;min-width:0;}
body.v10 .map-showcase .hero h1{font-size:clamp(34px,4.2vw,58px);line-height:1.1;}
body.v10 .map-showcase .home-footnote{margin:0 clamp(24px,5vw,88px) 52px; font-size:16px;}
body.v10 .map-showcase .home-footnote a{color:#D8F4C2;text-decoration:underline;text-underline-offset:4px;}
@media(max-width:720px){body.v10 .map-showcase .hero{padding:48px 22px 28px;}body.v10 .map-showcase .home-footnote{margin:0 22px 36px;}}

/* v10.14: точкові виправлення контрасту (WCAG AA) та футера */
body.v10 .phases b{color:#2E5E48}
body.v10 .sn-method-steps b{color:#2E5E48}
body.v10.nav-on-light .v10-nav .brand span{color:#3F6B52}
body.v10.nav-on-light .v10-nav .nav-note{color:#55695F}
body.v10 footer{width:100%;margin:0}
body.v10 .map-showcase{padding-bottom:40px}
