/* Frozen v1.27 shell compatibility, Kadence GPL-2.0-or-later. No Kadence runtime. */
﻿/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block;min-width:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}a{background-color:rgba(0,0,0,0)}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bold}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-size:100%;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--global-gray-400: #CBD5E0;--global-gray-500: #A0AEC0;--global-xs-spacing: 1em;--global-sm-spacing: 1.5rem;--global-md-spacing: 2rem;--global-lg-spacing: 2.5em;--global-xl-spacing: 3.5em;--global-xxl-spacing: 5rem;--global-edge-spacing: 1.5rem;--global-boxed-spacing: 2rem;--global-font-size-small: clamp(0.8rem, 0.73rem + 0.217vw, 0.9rem);--global-font-size-medium: clamp(1.1rem, 0.995rem + 0.326vw, 1.25rem);--global-font-size-large: clamp(1.75rem, 1.576rem + 0.543vw, 2rem);--global-font-size-larger: clamp(2rem, 1.6rem + 1vw, 2.5rem);--global-font-size-xxlarge: clamp(2.25rem, 1.728rem + 1.63vw, 3rem)}h1,h2,h3,h4,h5,h6{padding:0;margin:0}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit;text-decoration:none}dfn,cite,em,i{font-style:italic}blockquote,q{quotes:"“" "”"}blockquote{padding-left:1em;border-left:4px solid var(--global-palette4)}.entry-content blockquote{margin:0 0 var(--global-md-spacing)}blockquote cite,blockquote .wp-block-pullquote__citation{color:var(--global-palette5);font-size:13px;margin-top:1em;position:relative;font-style:normal;display:block}address{margin:0 0 1.5em}pre{background:var(--global-palette7);font-family:"Courier 10 Pitch",Courier,monospace;font-size:.9375rem;line-height:1.6;max-width:100%;overflow:auto;padding:1.5em;white-space:pre-wrap}code,kbd,tt,var{font-family:Monaco,Consolas,"Andale Mono","DejaVu Sans Mono",monospace;font-size:.8rem}abbr,acronym{border-bottom:1px dotted var(--global-palette4);cursor:help}mark,ins{text-decoration:none}big{font-size:125%}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}hr{height:0;border:0;border-bottom:2px solid var(--global-gray-400)}ul,ol{margin:0 0 1.5em 1.5em;padding:0}ul.aligncenter,ol.aligncenter{list-style:none}ul{list-style:disc}ol{list-style:decimal}li>ul,li>ol{margin-bottom:0;margin-left:1.5em}dt{font-weight:700}dd{margin:0 1.5em 1.5em}img{display:block;height:auto;max-width:100%}figure{margin:.5em 0}table{margin:0 0 1.5em;width:100%}a{color:var(--global-palette-highlight);text-underline-offset:.1em;transition:all .1s linear}a:hover,a:focus,a:active{color:var(--global-palette-highlight-alt);text-underline-offset:.25em}a:hover,a:active{outline:0}.inner-link-style-plain a:not(.button),.widget-area.inner-link-style-plain a:not(.button){text-decoration:none}.inner-link-style-normal a:not(.button),.widget-area.inner-link-style-normal a:not(.button){text-decoration:underline}.link-style-no-underline .entry-content p>a,.link-style-no-underline .entry-content strong>a,.link-style-no-underline .entry-content em>a,.link-style-no-underline .entry-content>ul a,.link-style-no-underline .entry-content a{text-decoration:none}.link-style-no-underline .entry-content p>a:hover,.link-style-no-underline .entry-content strong>a:hover,.link-style-no-underline .entry-content em>a:hover,.link-style-no-underline .entry-content>ul a:hover,.link-style-no-underline .entry-content a:hover{text-decoration:none}.link-style-color-underline .entry-content p a,.link-style-color-underline .entry-content strong>a,.link-style-color-underline .entry-content em>a,.link-style-color-underline .entry-content>ul a,.link-style-color-underline .entry-content>ol a,.link-style-color-underline .entry-content .wp-block-group ul a,.link-style-color-underline .entry-content .wp-block-group ol a{color:inherit;text-decoration:underline;text-decoration-color:var(--global-palette-highlight)}.link-style-color-underline .entry-content p a:hover,.link-style-color-underline .entry-content strong>a:hover,.link-style-color-underline .entry-content em>a:hover,.link-style-color-underline .entry-content>ul a:hover,.link-style-color-underline .entry-content>ol a:hover,.link-style-color-underline .entry-content .wp-block-group ul a:hover,.link-style-color-underline .entry-content .wp-block-group ol a:hover{text-decoration-color:var(--global-palette-highlight-alt)}.link-style-hover-background .entry-content p a,.link-style-hover-background .entry-content strong>a,.link-style-hover-background .entry-content em>a,.link-style-hover-background .entry-content>ul a,.link-style-hover-background .entry-content>ol a,.link-style-hover-background .entry-content .wp-block-group ul a:not(.kb-table-of-content-list a),.link-style-hover-background .entry-content .wp-block-group ol a:not(.kb-table-of-content-list a){color:var(--global-palette-highlight);text-decoration:none;background-image:linear-gradient(var(--global-palette-highlight), var(--global-palette-highlight));background-position:0% 100%;background-repeat:no-repeat;background-size:100% 1px}.link-style-hover-background .entry-content p a:hover,.link-style-hover-background .entry-content strong>a:hover,.link-style-hover-background .entry-content em>a:hover,.link-style-hover-background .entry-content>ul a:hover,.link-style-hover-background .entry-content>ol a:hover,.link-style-hover-background .entry-content .wp-block-group ul a:not(.kb-table-of-content-list a):hover,.link-style-hover-background .entry-content .wp-block-group ol a:not(.kb-table-of-content-list a):hover{color:var(--global-palette-highlight-alt2);text-decoration:none;background-size:100% 100%}.link-style-offset-background .entry-content p a,.link-style-offset-background .entry-content strong>a,.link-style-offset-background .entry-content em>a,.link-style-offset-background .entry-content>ul a,.link-style-offset-background .entry-content>ol a,.link-style-offset-background .entry-content .wp-block-group ul a:not(.kb-table-of-content-list a),.link-style-offset-background .entry-content .wp-block-group ol a:not(.kb-table-of-content-list a){color:inherit;text-decoration:none;background-image:linear-gradient(var(--global-palette-highlight-alt2), var(--global-palette-highlight));background-repeat:no-repeat;background-position:4px bottom;background-size:100% 10px}.link-style-offset-background .entry-content p a:hover,.link-style-offset-background .entry-content strong>a:hover,.link-style-offset-background .entry-content em>a:hover,.link-style-offset-background .entry-content>ul a:hover,.link-style-offset-background .entry-content>ol a:hover,.link-style-offset-background .entry-content .wp-block-group ul a:not(.kb-table-of-content-list a):hover,.link-style-offset-background .entry-content .wp-block-group ol a:not(.kb-table-of-content-list a):hover{color:inherit;text-decoration:none;background-image:linear-gradient(var(--global-palette-highlight-alt2), var(--global-palette-highlight-alt))}.screen-reader-text{clip:rect(1px, 1px, 1px, 1px);position:absolute !important;height:1px;width:1px;overflow:hidden;word-wrap:normal !important}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto !important;color:#21759b;display:block;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}:where(html:not(.no-js)) .hide-focus-outline *:focus{outline:0}#primary[tabindex="-1"]:focus{outline:0}textarea{width:100%}input[type=text],input[type=email],input[type=url],input[type=password],input[type=search],input[type=number],input[type=tel],input[type=range],input[type=date],input[type=month],input[type=week],input[type=time],input[type=datetime],input[type=datetime-local],input[type=color],textarea{-webkit-appearance:none;color:var(--global-palette5);border:1px solid var(--global-gray-400);border-radius:3px;padding:.4em .5em;max-width:100%;background:var(--global-palette9);box-shadow:0px 0px 0px -7px rgba(0,0,0,0)}::-webkit-input-placeholder{color:var(--global-palette6)}::-moz-placeholder{color:var(--global-palette6);opacity:1}:-ms-input-placeholder{color:var(--global-palette6)}:-moz-placeholder{color:var(--global-palette6)}::placeholder{color:var(--global-palette6)}input[type=text]:focus,input[type=email]:focus,input[type=url]:focus,input[type=password]:focus,input[type=search]:focus,input[type=number]:focus,input[type=tel]:focus,input[type=range]:focus,input[type=date]:focus,input[type=month]:focus,input[type=week]:focus,input[type=time]:focus,input[type=datetime]:focus,input[type=datetime-local]:focus,input[type=color]:focus,textarea:focus{color:var(--global-palette3);border-color:var(--global-palette6);outline:0;box-shadow:0px 5px 15px -7px rgba(0,0,0,.1)}select{border:1px solid var(--global-gray-400);background-size:16px 100%;padding:.2em 35px .2em .5em;background:var(--global-palette9) url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNSIgaGVpZ2h0PSIyNSIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2U9IiNiYmIiPjxwYXRoIGQ9Ik02IDlsNiA2IDYtNiIvPjwvc3ZnPg==) no-repeat 98% 50%;-moz-appearance:none;-webkit-appearance:none;appearance:none;box-shadow:none;outline:0;box-shadow:0px 0px 0px -7px rgba(0,0,0,0)}select::-ms-expand{display:none}select:focus{color:var(--global-palette3);border-color:var(--global-palette6);background-color:var(--global-palette9);box-shadow:0px 5px 15px -7px rgba(0,0,0,.1);outline:0}select:focus option{color:#333}.elementor-select-wrapper select{background-image:none}.search-form{position:relative}.search-form input[type=search],.search-form input.search-field{padding-right:60px;width:100%}.search-form .search-submit[type=submit]{top:0;right:0;bottom:0;position:absolute;color:rgba(0,0,0,0);background:rgba(0,0,0,0);z-index:2;width:50px;border:0;padding:8px 12px 7px;border-radius:0;box-shadow:none;overflow:hidden}.search-form .search-submit[type=submit]:hover,.search-form .search-submit[type=submit]:focus{color:rgba(0,0,0,0);background:rgba(0,0,0,0);box-shadow:none}.search-form .kadence-search-icon-wrap{position:absolute;right:0;top:0;height:100%;width:50px;padding:0;text-align:center;background:0 0;z-index:3;cursor:pointer;pointer-events:none;color:var(--global-palette6);text-shadow:none;display:flex;align-items:center;justify-content:center}.search-form .search-submit[type=submit]:hover~.kadence-search-icon-wrap{color:var(--global-palette4)}body.rtl .search-form .button[type=submit],body.rtl .search-form .kadence-search-icon-wrap{left:0;right:auto}body.rtl .search-form input[type=search],body.rtl .search-form input.search-field{padding-right:.5em;padding-left:60px}fieldset{padding:.625em 1.425em .625em;border:1px solid var(--global-gray-500);margin-top:1.2em;margin-bottom:1.2em}.affwp-form fieldset{padding:0}legend{font-weight:bold}button,.button,.wp-block-button__link,.wp-element-button,input[type=button],input[type=reset],input[type=submit]{border-radius:3px;background:var(--global-palette-btn-bg);color:var(--global-palette-btn);padding:.4em 1em;border:0;font-size:1.125rem;line-height:1.6;display:inline-block;font-family:inherit;cursor:pointer;text-decoration:none;transition:all .2s ease;box-shadow:0px 0px 0px -7px rgba(0,0,0,0)}button:visited,.button:visited,.wp-block-button__link:visited,.wp-element-button:visited,input[type=button]:visited,input[type=reset]:visited,input[type=submit]:visited{background:var(--global-palette-btn-bg);color:var(--global-palette-btn)}button:hover,button:focus,button:active,.button:hover,.button:focus,.button:active,.wp-block-button__link:hover,.wp-block-button__link:focus,.wp-block-button__link:active,.wp-element-button:hover,.wp-element-button:focus,.wp-element-button:active,input[type=button]:hover,input[type=button]:focus,input[type=button]:active,input[type=reset]:hover,input[type=reset]:focus,input[type=reset]:active,input[type=submit]:hover,input[type=submit]:focus,input[type=submit]:active{color:var(--global-palette-btn-hover);background:var(--global-palette-btn-bg-hover);box-shadow:0px 15px 25px -7px rgba(0,0,0,.1)}button:disabled,button.disabled,.button:disabled,.button.disabled,.wp-block-button__link:disabled,.wp-block-button__link.disabled,.wp-element-button:disabled,.wp-element-button.disabled,input[type=button]:disabled,input[type=button].disabled,input[type=reset]:disabled,input[type=reset].disabled,input[type=submit]:disabled,input[type=submit].disabled{cursor:not-allowed;opacity:.5}.elementor-button-wrapper .elementor-button{background-color:var(--global-palette-btn-bg);color:var(--global-palette-btn)}.elementor-button-wrapper .elementor-button:hover,.elementor-button-wrapper .elementor-button:focus,.elementor-button-wrapper .elementor-button:active{color:var(--global-palette-btn-hover);background-color:var(--global-palette-btn-bg-hover);box-shadow:0px 15px 25px -7px rgba(0,0,0,.1)}.button.button-size-small{font-size:80%;padding:.3em .7em}.button.button-size-large{font-size:110%;padding:.6em 1.2em}.wp-block-button.is-style-outline .wp-block-button__link,.wp-block-button.is-style-outline .wp-element-button{padding:.4em 1em}.button.button-style-outline,.wp-block-button.is-style-outline .wp-block-button__link,.wp-block-button.is-style-outline .wp-element-button,.button.kb-btn-global-outline{border:2px solid currentColor}.button.button-style-outline:hover,.button.button-style-outline:focus,.button.button-style-outline:active,.wp-block-button.is-style-outline .wp-block-button__link:hover,.wp-block-button.is-style-outline .wp-block-button__link:focus,.wp-block-button.is-style-outline .wp-block-button__link:active,.wp-block-button.is-style-outline .wp-element-button:hover,.wp-block-button.is-style-outline .wp-element-button:focus,.wp-block-button.is-style-outline .wp-element-button:active,.button.kb-btn-global-outline:hover,.button.kb-btn-global-outline:focus,.button.kb-btn-global-outline:active{border:2px solid currentColor;box-shadow:0px 0px 0px -7px rgba(0,0,0,0)}.wp-block-button.is-style-outline .wp-block-button__link:not(.has-background),.wp-block-button.is-style-outline .wp-element-button:not(.has-background),.button.button-style-outline:not(.has-background),.button.kb-btn-global-outline:not(.has-background){background:rgba(0,0,0,0)}.wp-block-button.is-style-outline .wp-block-button__link:not(.has-background):hover,.wp-block-button.is-style-outline .wp-block-button__link:not(.has-background):focus,.wp-block-button.is-style-outline .wp-block-button__link:not(.has-background):active,.wp-block-button.is-style-outline .wp-element-button:not(.has-background):hover,.wp-block-button.is-style-outline .wp-element-button:not(.has-background):focus,.wp-block-button.is-style-outline .wp-element-button:not(.has-background):active,.button.button-style-outline:not(.has-background):hover,.button.button-style-outline:not(.has-background):focus,.button.button-style-outline:not(.has-background):active,.button.kb-btn-global-outline:not(.has-background):hover,.button.kb-btn-global-outline:not(.has-background):focus,.button.kb-btn-global-outline:not(.has-background):active{background:rgba(0,0,0,0)}.wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color),.wp-block-button.is-style-outline .wp-element-button:not(.has-text-color),.button-style-outline:not(.has-text-color),.kb-btn-global-outline:not(.has-text-color){color:var(--global-palette-btn-out, var(--global-palette-btn-bg))}.wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color):visited,.wp-block-button.is-style-outline .wp-element-button:not(.has-text-color):visited,.button-style-outline:not(.has-text-color):visited,.kb-btn-global-outline:not(.has-text-color):visited{color:var(--global-palette-btn-out, var(--global-palette-btn-bg))}.wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color):hover,.wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color):focus,.wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color):active,.wp-block-button.is-style-outline .wp-element-button:not(.has-text-color):hover,.wp-block-button.is-style-outline .wp-element-button:not(.has-text-color):focus,.wp-block-button.is-style-outline .wp-element-button:not(.has-text-color):active,.button-style-outline:not(.has-text-color):hover,.button-style-outline:not(.has-text-color):focus,.button-style-outline:not(.has-text-color):active,.kb-btn-global-outline:not(.has-text-color):hover,.kb-btn-global-outline:not(.has-text-color):focus,.kb-btn-global-outline:not(.has-text-color):active{color:var(--global-palette-btn-out-hover, var(--global-palette-btn-bg-hover))}button.button-style-secondary,.button.button-style-secondary,.wp-block-button__link.button-style-secondary,.wp-element-button.button-style-secondary,input[type=button].button-style-secondary,input[type=reset].button-style-secondary,input[type=submit].button-style-secondary{background:var(--global-palette-btn-sec-bg);color:var(--global-palette-btn-sec)}button.button-style-secondary:visited,.button.button-style-secondary:visited,.wp-block-button__link.button-style-secondary:visited,.wp-element-button.button-style-secondary:visited,input[type=button].button-style-secondary:visited,input[type=reset].button-style-secondary:visited,input[type=submit].button-style-secondary:visited{background:var(--global-palette-btn-sec-bg);color:var(--global-palette-btn-sec)}button.button-style-secondary:hover,button.button-style-secondary:focus,button.button-style-secondary:active,.button.button-style-secondary:hover,.button.button-style-secondary:focus,.button.button-style-secondary:active,.wp-block-button__link.button-style-secondary:hover,.wp-block-button__link.button-style-secondary:focus,.wp-block-button__link.button-style-secondary:active,.wp-element-button.button-style-secondary:hover,.wp-element-button.button-style-secondary:focus,.wp-element-button.button-style-secondary:active,input[type=button].button-style-secondary:hover,input[type=button].button-style-secondary:focus,input[type=button].button-style-secondary:active,input[type=reset].button-style-secondary:hover,input[type=reset].button-style-secondary:focus,input[type=reset].button-style-secondary:active,input[type=submit].button-style-secondary:hover,input[type=submit].button-style-secondary:focus,input[type=submit].button-style-secondary:active{color:var(--global-palette-btn-sec-hover);background:var(--global-palette-btn-sec-bg-hover)}.kadence-svg-iconset{display:inline-flex;align-self:center}.kadence-svg-iconset svg{height:1em;width:1em}.kadence-svg-iconset.svg-baseline svg{top:.125em;position:relative}body.social-brand-colors .social-show-brand-until .social-button:not(:hover):not(.skip):not(.ignore),body.social-brand-colors .social-show-brand-hover .social-button:not(.ignore-brand):not(.skip):not(.ignore):hover,body.social-brand-colors .social-show-brand-always .social-button:not(.ignore-brand):not(.skip):not(.ignore){color:#fff}body.social-brand-colors .social-show-brand-until.social-style-outline .social-button:not(:hover):not(.skip):not(.ignore),body.social-brand-colors .social-show-brand-hover.social-style-outline .social-button:not(.ignore-brand):not(.skip):not(.ignore):hover,body.social-brand-colors .social-show-brand-always.social-style-outline .social-button:not(.ignore-brand):not(.skip):not(.ignore){border-color:currentColor}:root .has-theme-palette-1-background-color,:root .has-theme-palette1-background-color{background-color:var(--global-palette1)}:root .has-theme-palette-1-color,:root .has-theme-palette1-color{color:var(--global-palette1)}:root .has-theme-palette-2-background-color,:root .has-theme-palette2-background-color{background-color:var(--global-palette2)}:root .has-theme-palette-2-color,:root .has-theme-palette2-color{color:var(--global-palette2)}:root .has-theme-palette-3-background-color,:root .has-theme-palette3-background-color{background-color:var(--global-palette3)}:root .has-theme-palette-3-color,:root .has-theme-palette3-color{color:var(--global-palette3)}:root .has-theme-palette-4-background-color,:root .has-theme-palette4-background-color{background-color:var(--global-palette4)}:root .has-theme-palette-4-color,:root .has-theme-palette4-color{color:var(--global-palette4)}:root .has-theme-palette-5-background-color,:root .has-theme-palette5-background-color{background-color:var(--global-palette5)}:root .has-theme-palette-5-color,:root .has-theme-palette5-color{color:var(--global-palette5)}:root .has-theme-palette-6-background-color,:root .has-theme-palette6-background-color{background-color:var(--global-palette6)}:root .has-theme-palette-6-color,:root .has-theme-palette6-color{color:var(--global-palette6)}:root .has-theme-palette-7-background-color,:root .has-theme-palette7-background-color{background-color:var(--global-palette7)}:root .has-theme-palette-7-color,:root .has-theme-palette7-color{color:var(--global-palette7)}:root .has-theme-palette-8-background-color,:root .has-theme-palette8-background-color{background-color:var(--global-palette8)}:root .has-theme-palette-8-color,:root .has-theme-palette8-color{color:var(--global-palette8)}:root .has-theme-palette-9-background-color,:root .has-theme-palette9-background-color{background-color:var(--global-palette9)}:root .has-theme-palette-9-color,:root .has-theme-palette9-color{color:var(--global-palette9)}:root .has-theme-palette-10-background-color,:root .has-theme-palette10-background-color{background-color:var(--global-palette10)}:root .has-theme-palette-10-color,:root .has-theme-palette10-color{color:var(--global-palette10)}:root .has-theme-palette-11-background-color,:root .has-theme-palette11-background-color{background-color:var(--global-palette11)}:root .has-theme-palette-11-color,:root .has-theme-palette11-color{color:var(--global-palette11)}:root .has-theme-palette-12-background-color,:root .has-theme-palette12-background-color{background-color:var(--global-palette12)}:root .has-theme-palette-12-color,:root .has-theme-palette12-color{color:var(--global-palette12)}:root .has-theme-palette-13-background-color,:root .has-theme-palette13-background-color{background-color:var(--global-palette13)}:root .has-theme-palette-13-color,:root .has-theme-palette13-color{color:var(--global-palette13)}:root .has-theme-palette-14-background-color,:root .has-theme-palette14-background-color{background-color:var(--global-palette14)}:root .has-theme-palette-14-color,:root .has-theme-palette14-color{color:var(--global-palette14)}:root .has-theme-palette-15-background-color,:root .has-theme-palette15-background-color{background-color:var(--global-palette15)}:root .has-theme-palette-15-color,:root .has-theme-palette15-color{color:var(--global-palette15)}.kt-clear{*zoom:1}.kt-clear::before,.kt-clear::after{content:" ";display:table}.kt-clear::after{clear:both}#wpadminbar{position:fixed !important}.content-area{margin:var(--global-xxl-spacing) 0}.entry-content{word-break:break-word}.entry-content table{word-break:normal}.body{overflow-x:hidden}.scroll a *,a.scroll *{pointer-events:none}.content-width-fullwidth .content-container.site-container{max-width:none;padding:0}.content-width-fullwidth .content-area,.content-vertical-padding-hide .content-area{margin-top:0;margin-bottom:0}.content-vertical-padding-top .content-area{margin-bottom:0}.content-vertical-padding-bottom .content-area{margin-top:0}.site-container,.site-header-row-layout-contained,.site-footer-row-layout-contained,.entry-hero-layout-contained,.alignfull>.wp-block-cover__inner-container,.alignwide>.wp-block-cover__inner-container{margin:0 auto;padding:0 var(--global-content-edge-padding)}.kt-row-layout-inner>.kb-theme-content-width,.kt-row-layout-inner.kt-row-has-bg>.kb-theme-content-width{padding-left:var(--global-content-edge-padding);padding-right:var(--global-content-edge-padding)}.content-bg{background:#fff}.content-style-unboxed .entry:not(.loop-entry)>.entry-content-wrap{padding:0}.content-style-unboxed .content-bg:not(.loop-entry){background:rgba(0,0,0,0)}.content-style-unboxed .entry:not(.loop-entry){box-shadow:none;border-radius:0}@media screen and (min-width: 1025px){.has-sidebar .content-container{display:grid;grid-template-columns:5fr 2fr;grid-gap:var(--global-xl-spacing);justify-content:center}#secondary{grid-column:2;grid-row:1;min-width:0}.has-left-sidebar .content-container{grid-template-columns:2fr 5fr}.has-left-sidebar #main{grid-column:2;grid-row:1}.has-left-sidebar #secondary{grid-column:1;grid-row:1}.has-sidebar .wp-site-blocks .content-container .alignwide,.has-sidebar .wp-site-blocks .content-container .alignfull{width:unset;max-width:unset;margin-left:0;margin-right:0}.has-sidebar .content-container .kadence-thumbnail-position-behind.alignwide{margin-left:-10px;margin-right:-10px}}#kt-scroll-up-reader,#kt-scroll-up{position:fixed;transform:translateY(40px);transition:all .2s ease;opacity:0;z-index:1000;display:flex;cursor:pointer}#kt-scroll-up-reader *,#kt-scroll-up *{pointer-events:none}#kt-scroll-up-reader.scroll-up-style-outline,#kt-scroll-up.scroll-up-style-outline{background:rgba(0,0,0,0)}.scroll-up-style-filled{color:var(--global-palette9);background:var(--global-palette4)}.scroll-up-style-filled:hover{color:var(--global-palette9)}.scroll-up-style-outline,.scroll-up-wrap.scroll-up-style-outline{border-width:2px;border-style:solid;border-color:currentColor;color:var(--global-palette4)}.scroll-up-style-outline:hover{color:var(--global-palette5)}#kt-scroll-up.scroll-visible{transform:translateY(0px);opacity:1}#kt-scroll-up-reader{transform:translateY(0px);transition:all 0s ease}#kt-scroll-up-reader:not(:focus){clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;overflow:hidden;word-wrap:normal !important}#kt-scroll-up-reader:focus{transform:translateY(0px);opacity:1;box-shadow:none;z-index:1001}@media screen and (max-width: 719px){.vs-sm-false{display:none !important}}@media screen and (min-width: 720px)and (max-width: 1024px){.vs-md-false{display:none !important}}@media screen and (min-width: 1025px){.vs-lg-false{display:none !important}}body.logged-in .vs-logged-in-false{display:none !important}body:not(.logged-in) .vs-logged-out-false{display:none !important}.infinite-scroll .posts-navigation,.infinite-scroll .pagination,.infinite-scroll.neverending .site-footer{display:none}.infinity-end.neverending .site-footer{display:block}#wrapper{overflow:hidden;overflow:clip}.kadence-scrollbar-fixer{margin-right:var(--scrollbar-offset, unset)}.kadence-scrollbar-fixer .item-is-fixed{right:var(--scrollbar-offset, 0)}.alignleft{float:left;margin-right:var(--global-md-spacing)}.alignright{float:right;margin-left:var(--global-md-spacing)}.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto;text-align:center}body.footer-on-bottom #wrapper{min-height:100vh;display:flex;flex-direction:column}body.footer-on-bottom.admin-bar #wrapper{min-height:calc(100vh - 32px)}body.footer-on-bottom #inner-wrap{flex:1 0 auto}.kadence-pro-fixed-item>.kadence-element-wrap>p:first-child:last-child,.kadence-pro-fixed-item>p:first-child:last-child{margin:0}

/* Kadence Base CSS */
:root{--global-palette1:#0d8046;--global-palette2:#066b3a;--global-palette3:#26262a;--global-palette4:#3a3a3e;--global-palette5:#505055;--global-palette6:#68686d;--global-palette7:#e7e7eb;--global-palette8:#f7f7f9;--global-palette9:#ffffff;--global-palette10:#ffffff;--global-palette11:#0d8046;--global-palette12:#006cc2;--global-palette13:#c4271c;--global-palette14:#a74f01;--global-palette15:#f5a524;--global-palette9rgb:255, 255, 255;--global-palette-highlight:var(--global-palette12);--global-palette-highlight-alt:var(--global-palette12);--global-palette-highlight-alt2:var(--global-palette9);--global-palette-btn-bg:var(--global-palette1);--global-palette-btn-bg-hover:var(--global-palette2);--global-palette-btn:var(--global-palette9);--global-palette-btn-hover:var(--global-palette9);--global-palette-btn-sec-bg:var(--global-palette7);--global-palette-btn-sec-bg-hover:var(--global-palette2);--global-palette-btn-sec:var(--global-palette3);--global-palette-btn-sec-hover:var(--global-palette9);--global-body-font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Inter SN", "Helvetica Neue", Helvetica, Arial, sans-serif;--global-heading-font-family:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI Variable Display", "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Inter SN", "Helvetica Neue", Helvetica, Arial, sans-serif;--global-primary-nav-font-family:inherit;--global-fallback-font:sans-serif;--global-display-fallback-font:sans-serif;--global-content-width:1200px;--global-content-wide-width:calc(1200px + 230px);--global-content-narrow-width:720px;--global-content-edge-padding:1.5rem;--global-content-boxed-padding:2rem;--global-calc-content-width:calc(1200px - var(--global-content-edge-padding) - var(--global-content-edge-padding) );--wp--style--global--content-size:var(--global-calc-content-width);}.wp-site-blocks{--global-vw:calc( 100vw - ( 0.5 * var(--scrollbar-offset)));}body{background:var(--global-palette9);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}body, input, select, optgroup, textarea{font-weight:400;font-size:16px;line-height:1.53;letter-spacing:-0.011em;font-family:var(--global-body-font-family);color:var(--global-palette4);}.content-bg, body.content-style-unboxed .site{background:var(--global-palette9);}@media all and (max-width: 1024px){body{font-size:16px;}}@media all and (max-width: 767px){body{font-size:16px;}}h1,h2,h3,h4,h5,h6{font-family:var(--global-heading-font-family);}h1{font-weight:600;font-size:56px;line-height:1.07;letter-spacing:-0.022em;color:var(--global-palette3);}h2{font-weight:600;font-size:44px;line-height:1.1;letter-spacing:-0.02em;color:var(--global-palette3);}h3{font-weight:500;font-size:28px;line-height:1.18;letter-spacing:-0.016em;font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Inter SN", "Helvetica Neue", Helvetica, Arial, sans-serif;color:var(--global-palette3);}h4{font-weight:500;font-size:21px;line-height:1.24;letter-spacing:-0.012em;font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Inter SN", "Helvetica Neue", Helvetica, Arial, sans-serif;color:var(--global-palette3);}h5{font-weight:500;font-size:17px;line-height:1.3;font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Inter SN", "Helvetica Neue", Helvetica, Arial, sans-serif;color:var(--global-palette3);}h6{font-weight:500;font-size:14px;line-height:1.3;font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Inter SN", "Helvetica Neue", Helvetica, Arial, sans-serif;color:var(--global-palette5);}@media all and (max-width: 1024px){h1{font-size:44px;}h2{font-size:36px;}h3{font-size:24px;}}@media all and (max-width: 767px){h1{font-size:36px;}h2{font-size:30px;}h3{font-size:22px;}}.entry-hero .kadence-breadcrumbs{max-width:1200px;}.site-container, .site-header-row-layout-contained, .site-footer-row-layout-contained, .entry-hero-layout-contained, .comments-area, .alignfull > .wp-block-cover__inner-container, .alignwide > .wp-block-cover__inner-container{max-width:var(--global-content-width);}.content-width-narrow .content-container.site-container, .content-width-narrow .hero-container.site-container{max-width:var(--global-content-narrow-width);}@media all and (min-width: 1430px){.wp-site-blocks .content-container  .alignwide{margin-left:-115px;margin-right:-115px;width:unset;max-width:unset;}}@media all and (min-width: 980px){.content-width-narrow .wp-site-blocks .content-container .alignwide{margin-left:-130px;margin-right:-130px;width:unset;max-width:unset;}}.content-style-boxed .wp-site-blocks .entry-content .alignwide{margin-left:calc( -1 * var( --global-content-boxed-padding ) );margin-right:calc( -1 * var( --global-content-boxed-padding ) );}.content-area{margin-top:5rem;margin-bottom:5rem;}@media all and (max-width: 1024px){.content-area{margin-top:3rem;margin-bottom:3rem;}}@media all and (max-width: 767px){.content-area{margin-top:2rem;margin-bottom:2rem;}}@media all and (max-width: 1024px){:root{--global-content-boxed-padding:2rem;}}@media all and (max-width: 767px){:root{--global-content-boxed-padding:1.5rem;}}.entry-content-wrap{padding:2rem;}@media all and (max-width: 1024px){.entry-content-wrap{padding:2rem;}}@media all and (max-width: 767px){.entry-content-wrap{padding:1.5rem;}}.entry.single-entry{box-shadow:0px 15px 15px -10px rgba(0,0,0,0.05);}.entry.loop-entry{box-shadow:0px 15px 15px -10px rgba(0,0,0,0.05);}.loop-entry .entry-content-wrap{padding:2rem;}@media all and (max-width: 1024px){.loop-entry .entry-content-wrap{padding:2rem;}}@media all and (max-width: 767px){.loop-entry .entry-content-wrap{padding:1.5rem;}}button, .button, .wp-block-button__link, input[type="button"], input[type="reset"], input[type="submit"], .fl-button, .elementor-button-wrapper .elementor-button, .wc-block-components-checkout-place-order-button, .wc-block-cart__submit{font-weight:400;font-size:17px;line-height:1.18;border-radius:20px;box-shadow:0px 0px 0px -7px rgba(0,0,0,0);}button:hover, button:focus, button:active, .button:hover, .button:focus, .button:active, .wp-block-button__link:hover, .wp-block-button__link:focus, .wp-block-button__link:active, input[type="button"]:hover, input[type="button"]:focus, input[type="button"]:active, input[type="reset"]:hover, input[type="reset"]:focus, input[type="reset"]:active, input[type="submit"]:hover, input[type="submit"]:focus, input[type="submit"]:active, .elementor-button-wrapper .elementor-button:hover, .elementor-button-wrapper .elementor-button:focus, .elementor-button-wrapper .elementor-button:active, .wc-block-cart__submit:hover{box-shadow:0px 15px 25px -7px rgba(0,0,0,0.1);}.kb-button.kb-btn-global-outline.kb-btn-global-inherit{padding-top:calc(px - 2px);padding-right:calc(px - 2px);padding-bottom:calc(px - 2px);padding-left:calc(px - 2px);}button.button-style-secondary, .button.button-style-secondary, .wp-block-button__link.button-style-secondary, input[type="button"].button-style-secondary, input[type="reset"].button-style-secondary, input[type="submit"].button-style-secondary, .fl-button.button-style-secondary, .elementor-button-wrapper .elementor-button.button-style-secondary, .wc-block-components-checkout-place-order-button.button-style-secondary, .wc-block-cart__submit.button-style-secondary{font-weight:400;font-size:17px;line-height:1.18;}@media all and (min-width: 1025px){.transparent-header .entry-hero .entry-hero-container-inner{padding-top:52px;}}@media all and (max-width: 1024px){.mobile-transparent-header .entry-hero .entry-hero-container-inner{padding-top:52px;}}@media all and (max-width: 767px){.mobile-transparent-header .entry-hero .entry-hero-container-inner{padding-top:52px;}}.entry-hero.page-hero-section .entry-header{min-height:200px;}.entry-author-style-center{padding-top:var(--global-md-spacing);border-top:1px solid var(--global-gray-500);}.entry-author-style-center .entry-author-avatar, .entry-meta .author-avatar{display:none;}.entry-author-style-normal .entry-author-profile{padding-left:0px;}#comments .comment-meta{margin-left:0px;}
/* Kadence Header CSS */
@media all and (max-width: 1024px){.mobile-transparent-header #masthead{position:absolute;left:0px;right:0px;z-index:100;}.kadence-scrollbar-fixer.mobile-transparent-header #masthead{right:var(--scrollbar-offset,0);}.mobile-transparent-header #masthead, .mobile-transparent-header .site-top-header-wrap .site-header-row-container-inner, .mobile-transparent-header .site-main-header-wrap .site-header-row-container-inner, .mobile-transparent-header .site-bottom-header-wrap .site-header-row-container-inner{background:transparent;}.site-header-row-tablet-layout-fullwidth, .site-header-row-tablet-layout-standard{padding:0px;}}@media all and (min-width: 1025px){.transparent-header #masthead{position:absolute;left:0px;right:0px;z-index:100;}.transparent-header.kadence-scrollbar-fixer #masthead{right:var(--scrollbar-offset,0);}.transparent-header #masthead, .transparent-header .site-top-header-wrap .site-header-row-container-inner, .transparent-header .site-main-header-wrap .site-header-row-container-inner, .transparent-header .site-bottom-header-wrap .site-header-row-container-inner{background:transparent;}}.site-branding{padding:0px 0px 0px 0px;}.site-branding .site-title{font-weight:600;font-size:19px;line-height:1.2;color:var(--global-palette3);}.site-main-header-inner-wrap{min-height:52px;}@media all and (max-width: 1024px){.site-main-header-inner-wrap{min-height:52px;}}@media all and (max-width: 767px){.site-main-header-inner-wrap{min-height:52px;}}.header-navigation[class*="header-navigation-style-underline"] .header-menu-container.primary-menu-container>ul>li>a:after{width:calc( 100% - 1.4em);}.main-navigation .primary-menu-container > ul > li.menu-item > a{padding-left:calc(1.4em / 2);padding-right:calc(1.4em / 2);padding-top:0.6em;padding-bottom:0.6em;color:var(--global-palette4);}.main-navigation .primary-menu-container > ul > li.menu-item .dropdown-nav-special-toggle{right:calc(1.4em / 2);}.main-navigation .primary-menu-container > ul li.menu-item > a{font-weight:400;font-size:13px;line-height:1.4;}.main-navigation .primary-menu-container > ul > li.menu-item > a:hover{color:var(--global-palette3);}.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a{color:var(--global-palette3);}.header-navigation .header-menu-container ul ul.sub-menu, .header-navigation .header-menu-container ul ul.submenu{background:var(--global-palette9);box-shadow:0px 2px 13px 0px rgba(0,0,0,0.1);}.header-navigation .header-menu-container ul ul li.menu-item, .header-menu-container ul.menu > li.kadence-menu-mega-enabled > ul > li.menu-item > a{border-bottom:1px solid rgba(255,255,255,0.1);border-radius:0px 0px 0px 0px;}.header-navigation .header-menu-container ul ul li.menu-item > a{width:200px;padding-top:1em;padding-bottom:1em;color:var(--global-palette4);font-size:12px;}.header-navigation .header-menu-container ul ul li.menu-item > a:hover{color:var(--global-palette3);background:var(--global-palette8);border-radius:0px 0px 0px 0px;}.header-navigation .header-menu-container ul ul li.menu-item.current-menu-item > a{color:var(--global-palette3);background:var(--global-palette8);border-radius:0px 0px 0px 0px;}.mobile-toggle-open-container .menu-toggle-open, .mobile-toggle-open-container .menu-toggle-open:focus{color:var(--global-palette5);padding:0.4em 0.6em 0.4em 0.6em;font-size:14px;}.mobile-toggle-open-container .menu-toggle-open.menu-toggle-style-bordered{border:1px solid currentColor;}.mobile-toggle-open-container .menu-toggle-open .menu-toggle-icon{font-size:20px;}.mobile-toggle-open-container .menu-toggle-open:hover, .mobile-toggle-open-container .menu-toggle-open:focus-visible{color:var(--global-palette-highlight);}.mobile-navigation ul li{font-size:14px;}.mobile-navigation ul li a{padding-top:1em;padding-bottom:1em;}.mobile-navigation ul li > a, .mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap{color:var(--global-palette3);}.mobile-navigation ul li > a:hover, .mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap:hover{color:var(--global-palette1);}.mobile-navigation ul li.current-menu-item > a, .mobile-navigation ul li.current-menu-item.menu-item-has-children > .drawer-nav-drop-wrap{color:var(--global-palette1);}.mobile-navigation ul li.menu-item-has-children .drawer-nav-drop-wrap, .mobile-navigation ul li:not(.menu-item-has-children) a{border-bottom:1px solid rgba(255,255,255,0.1);}.mobile-navigation:not(.drawer-navigation-parent-toggle-true) ul li.menu-item-has-children .drawer-nav-drop-wrap button{border-left:1px solid rgba(255,255,255,0.1);}#mobile-drawer .drawer-inner, #mobile-drawer.popup-drawer-layout-fullwidth.popup-drawer-animation-slice .pop-portion-bg, #mobile-drawer.popup-drawer-layout-fullwidth.popup-drawer-animation-slice.pop-animated.show-drawer .drawer-inner{background:var(--global-palette9);}#mobile-drawer .drawer-header .drawer-toggle{padding:0.6em 0.15em 0.6em 0.15em;font-size:24px;}
/* Kadence Footer CSS */
#colophon{background:var(--global-palette8);}.site-bottom-footer-inner-wrap{padding-top:30px;padding-bottom:30px;grid-column-gap:30px;}.site-bottom-footer-inner-wrap .widget{margin-bottom:30px;}.site-bottom-footer-inner-wrap .site-footer-section:not(:last-child):after{right:calc(-30px / 2);}#colophon .footer-navigation .footer-menu-container > ul > li > a{padding-left:calc(1.2em / 2);padding-right:calc(1.2em / 2);padding-top:calc(0.6em / 2);padding-bottom:calc(0.6em / 2);color:var(--global-palette5);}#colophon .footer-navigation .footer-menu-container > ul li a:hover{color:var(--global-palette-highlight);}#colophon .footer-navigation .footer-menu-container > ul li.current-menu-item > a{color:var(--global-palette3);}
/*# sourceURL=kadence-global-inline-css */

/* ==========================================================================
   Sapiens OS — design system (front end)
   §0 Fonts  §1 Tokens  §2 Dark mode  §3 Typography  §4 Header & navigation
   §5 Buttons & links  §6 Layout  §7 Pattern modules  §8 Footer
   §9 Theme toggle  §10 Motion / accessibility  §11 Layout guards
   Palette mirrors Kadence global palette (remote/data/kadence-settings.json):
     palette1 green · palette2 green hover · palette3 headings · palette4 body
     palette5/6 secondary/muted · palette7 lines · palette8 alt bg · palette9 bg
     palette12 blue links · palette14 orange
   Rules: dark grey text (never #000), no gradients on backgrounds or text,
   thin outline icons, bold only on main titles.
   ========================================================================== */

/* §0 Fonts. Inter (SIL OFL, latin subset, variable 300–600, 35 KB) is only a
   last-resort fallback: browsers download it only when none of the system
   fonts earlier in the stack exist (e.g. a bare Linux install). */
@font-face {
	font-family: "Inter SN";
	src: local("Inter Variable"), local("Inter"), url("../fonts/inter-sn-var.woff2") format("woff2");
	font-weight: 300 600;
	font-style: normal;
	font-display: swap;
}

/* §1 Tokens ---------------------------------------------------------------- */
:root {
	/* SF on Apple → Segoe UI Variable/Segoe UI on Windows → Roboto on Android/ChromeOS →
	   Noto/Ubuntu/Cantarell on Linux → Inter (self-hosted) → Helvetica/Arial. */
	--sn-font-text: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Inter SN", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--sn-font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI Variable Display", "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Inter SN", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--sn-font-code: ui-monospace, "SF Mono", SFMono-Regular, Menlo, "Cascadia Mono", "Segoe UI Mono", Consolas, "Roboto Mono", "Ubuntu Mono", "Noto Sans Mono", "DejaVu Sans Mono", "Liberation Mono", monospace;
	--sn-font-mono: var(--sn-font-text); /* 1.17: mono only on contact form + home tile paths (use --sn-font-code) */

	--sn-green: var(--global-palette1, #0d8046);
	--sn-green-strong: var(--global-palette2, #066b3a);
	--sn-orange: var(--global-palette14, #a74f01);
	--sn-orange-bright: #ee6b01;          /* decorative only (markers), never body text */
	--sn-blue: var(--global-palette12, #006cc2);
	--sn-heading: var(--global-palette3, #26262a);
	--sn-text: var(--global-palette4, #3a3a3e);
	--sn-text-2: var(--global-palette5, #505055);
	--sn-text-muted: var(--global-palette6, #68686d);
	--sn-line: var(--global-palette7, #e7e7eb);
	--sn-bg-alt: var(--global-palette8, #f7f7f9);
	--sn-bg: var(--global-palette9, #ffffff);

	--sn-header-bg: rgba(255, 255, 255, 0.74);
	--sn-header-line: rgba(38, 38, 42, 0.08);
	--sn-card-bg: var(--sn-bg);
	--sn-shadow: 0 1px 2px rgba(38, 38, 42, 0.04), 0 8px 28px rgba(38, 38, 42, 0.06);
	--sn-green-tint: color-mix(in oklab, var(--sn-green) 8%, transparent);
	--sn-orange-tint: color-mix(in oklab, var(--sn-orange-bright) 7%, transparent);

	--sn-radius: 20px;   /* cards, panels, frames */
	--sn-radius-s: 12px; /* inputs, small chips, panels inside cards */
	--sn-header-h: 52px;
	--sn-section-y: clamp(3rem, 6.75vw, 6rem); /* 1.12: -25% */
	--sn-gap: clamp(1.25rem, 3vw, 2rem);
	--sn-measure: 50.5rem; /* 1.12: +20% (was 42rem) */
	--sn-wide: 80rem;
	--sn-ease: cubic-bezier(0.28, 0.11, 0.32, 1);
	--sn-hair: 1px;
	color-scheme: light;
}

/* §2 Dark mode: follows the system (prefers-color-scheme). The header toggle
   overrides it for the current tab only (sessionStorage), no cookie. */
@media (prefers-color-scheme: dark) {
	:root:not([data-sn-theme="light"]) {
		--global-palette1: #2ec176;  --global-palette2: #54d08f;
		--global-palette3: #f2f2f4;  --global-palette4: #dcdce0;
		--global-palette5: #c2c2c7;  --global-palette6: #9a9a9f;
		--global-palette7: #38383b;  --global-palette8: #232325;
		--global-palette9: #1b1b1d;  --global-palette10: #1b1b1d;
		--global-palette11: #2ec176; --global-palette12: #50b0fd;
		--global-palette13: #ff6b5e; --global-palette14: #fca23e;
		--global-palette15: #ffc35a;
		--sn-header-bg: rgba(27, 27, 29, 0.74);
		--sn-header-line: rgba(255, 255, 255, 0.09);
		--sn-card-bg: #242426;
		--sn-shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 8px 28px rgba(0, 0, 0, 0.28);
		--sn-green-tint: color-mix(in oklab, var(--sn-green) 12%, transparent);
		--sn-orange-tint: color-mix(in oklab, var(--sn-orange) 10%, transparent);
		color-scheme: dark;
	}
}
:root[data-sn-theme="dark"] {
	--global-palette1: #2ec176;  --global-palette2: #54d08f;
	--global-palette3: #f2f2f4;  --global-palette4: #dcdce0;
	--global-palette5: #c2c2c7;  --global-palette6: #9a9a9f;
	--global-palette7: #38383b;  --global-palette8: #232325;
	--global-palette9: #1b1b1d;  --global-palette10: #1b1b1d;
	--global-palette11: #2ec176; --global-palette12: #50b0fd;
	--global-palette13: #ff6b5e; --global-palette14: #fca23e;
	--global-palette15: #ffc35a;
	--sn-header-bg: rgba(27, 27, 29, 0.74);
	--sn-header-line: rgba(255, 255, 255, 0.09);
	--sn-card-bg: #242426;
	--sn-shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 8px 28px rgba(0, 0, 0, 0.28);
	--sn-green-tint: color-mix(in oklab, var(--sn-green) 12%, transparent);
	--sn-orange-tint: color-mix(in oklab, var(--sn-orange) 10%, transparent);
	color-scheme: dark;
}

/* §3 Typography ------------------------------------------------------------ */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
	font-family: var(--sn-font-text);
	font-weight: 400;
	color: var(--sn-text);
	line-height: 1.55;
	letter-spacing: -0.011em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-feature-settings: "kern";
}
h1, h2, .sn-display, .entry-hero h1 {
	font-family: var(--sn-font-display);
	letter-spacing: -0.024em;
	line-height: 1.08;
	font-weight: 400;          /* big titles: regular weight, light and calm (v1.6: was 540) */
	color: var(--sn-heading);
}
h3, h4, h5, h6 { font-family: var(--sn-font-text); letter-spacing: -0.014em; line-height: 1.24; font-weight: 500; color: var(--sn-heading); }
h1 { font-size: clamp(2.5rem, 5.5vw, 4rem); }
h2 { font-size: clamp(2rem, 4vw, 3rem); }
h3 { font-size: clamp(1.375rem, 2.2vw, 1.625rem); }
h4 { font-size: 1.25rem; }
p, li { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }
.entry-content p, .entry-content li { max-width: var(--sn-measure); }
.entry-content .alignwide p, .entry-content .alignfull p, .entry-content .has-text-align-center { max-width: none; }
strong, b { font-weight: 500; }
small { font-size: 0.8125rem; }
.sn-lead { font-family: var(--sn-font-text); font-size: clamp(1.1875rem, 2vw, 1.5rem); line-height: 1.42; letter-spacing: -0.014em; color: var(--sn-text-2); font-weight: 400; }
.sn-muted { color: var(--sn-text-muted); }
code, kbd, pre, samp { font-family: var(--sn-font-mono); font-size: 0.92em; }

/* Terminal path (sitemap-style breadcrumb above titles):  home \ about \ in plain words */
.sn-eyebrow, .sn-path {
	display: block;
	font-family: var(--sn-font-mono);
	font-size: 0.9rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	color: var(--sn-orange);
	margin: 0 0 0.75rem;
	text-transform: none;
}
.sn-path a { color: inherit !important; text-decoration: none; }
.sn-path a:hover, .sn-path a:focus-visible { text-decoration: none; }
.sn-path__sep { color: var(--sn-text-muted); opacity: 0.7; padding: 0 0.45em; }
.sn-path__ver { color: var(--sn-text-muted); }

/* Orange emphasis: medium weight instead of bold */
.sn-emphasis, .has-theme-palette14-color, mark.sn-mark { color: var(--sn-orange) !important; font-weight: 500; }
mark.sn-mark { background: transparent; }
.sn-title-important { color: var(--sn-orange); font-weight: 500; }

/* Lowercase titles with a thin orange underscore that breathes (1.10.0: was green) */
h1, h2, .entry-title { text-transform: lowercase; }
h1::after, h2::after {
	content: "";
	display: inline-block;
	width: 0.42em;
	height: 0.06em;
	min-height: 2px;
	margin-left: 0.1em;
	vertical-align: baseline;
	background: var(--sn-orange);
	border-radius: 1px;
	animation: sn-cursor 1.2s ease-in-out infinite alternate;
}
.screen-reader-text::after, .site-title::after, .sn-no-cursor::after { content: none !important; }
@keyframes sn-cursor { 0%, 35% { opacity: 1; } 100% { opacity: 0.12; } }
/* Typed-on-scroll titles: characters keep their space (no layout shift) and appear in turn */
.sn-type .sn-w { white-space: nowrap; }
.sn-type .sn-ch { opacity: 0; transition: opacity 0.01s linear calc(var(--d) * 64ms); } /* half speed (v1.6: was 32ms) */
.sn-type.is-typed .sn-ch { opacity: 1; }
.sn-type:not(.is-typed)::after { animation: none; opacity: 1; }

/* §4 Header & navigation (thin, translucent, sticky) ----------------------- */
#masthead {
	position: sticky; top: 0; z-index: 1000;
	background: var(--sn-header-bg) !important;
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	border-bottom: var(--sn-hair) solid var(--sn-header-line);
}
.admin-bar #masthead { top: 32px; }
@media (max-width: 782px) { .admin-bar #masthead { top: 46px; } }
@media (max-width: 600px) { .admin-bar #masthead { top: 0; } }
#masthead .site-header-row-container-inner { background: transparent !important; }
.site-main-header-inner-wrap { min-height: var(--sn-header-h) !important; }
#masthead .site-branding .site-title { font-family: var(--sn-font-display); font-size: 1.1875rem; font-weight: 600; letter-spacing: -0.02em; color: var(--sn-heading); text-transform: none; }
#masthead .site-branding .site-description { display: none; }
.header-navigation .header-menu-container > ul > li > a,
.header-navigation .menu > li > a {
	font-size: 0.875rem; font-weight: 400; letter-spacing: 0;
	text-transform: lowercase;
	color: var(--sn-text) !important; opacity: 0.86;
	padding-top: 0.6em; padding-bottom: 0.6em;
	transition: opacity 0.2s var(--sn-ease), color 0.2s var(--sn-ease);
}
.header-navigation .menu > li > a:hover, .header-navigation .menu > li > a:focus-visible,
.mobile-navigation ul li a:hover,
#colophon .footer-navigation .menu > li > a:hover, #colophon .footer-navigation .menu > li > a:focus-visible { opacity: 1; color: var(--sn-orange) !important; text-decoration: none; } /* 1.12: hover is orange too */
/* 1.10.0: the selected tab's text is orange, like the path line (header, drawer, footer); background and underline unchanged */
.header-navigation .menu > li.current-menu-item > a,
.header-navigation .menu > li.current-page-ancestor > a,
.mobile-navigation ul li.current-menu-item > a, .mobile-navigation ul li.current-page-ancestor > a,
#colophon .footer-navigation .menu > li.current-menu-item > a { opacity: 1; color: var(--sn-orange) !important; text-decoration: none; }
/* (1.12: the underline marker is removed in sn-visuals.css; selected = orange text at 500) */
.header-navigation .menu > li.current-menu-item > a,
.header-navigation .menu > li.current-page-ancestor > a { box-shadow: inset 0 -1px 0 var(--sn-green); }
#mobile-drawer .drawer-inner, .popup-drawer .drawer-inner { background: var(--sn-bg) !important; color: var(--sn-text); }
.mobile-navigation ul li a { font-size: 1.5rem; font-weight: 400; letter-spacing: -0.02em; text-transform: lowercase; color: var(--sn-heading) !important; border: 0 !important; padding: 0.6rem 0 !important; }
.menu-toggle-open, .drawer-toggle { color: var(--sn-heading) !important; }
.menu-toggle-open svg, .drawer-toggle svg { stroke-width: 0; }

/* §5 Buttons & links ------------------------------------------------------- */
a { color: var(--sn-blue); text-decoration: none; text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
a:hover, a:focus-visible { text-decoration: none; }
.entry-content a:not(.wp-block-button__link):not(.button) { color: var(--sn-blue); }
/* In-text links (1.10.2): blue, never underlined, one step heavier than the text (500 on 400) so they stand out without colour alone */
.entry-content p a:not(.wp-block-button__link), .entry-content li a:not(.wp-block-button__link), .sn-faq details a { font-weight: 500; text-decoration: none; }
.entry-content strong a, .entry-content b a, .entry-content a strong, .entry-content a b { font-weight: 700; }
.entry-content p a:not(.wp-block-button__link):hover, .entry-content li a:not(.wp-block-button__link):hover, .sn-faq details a:hover { color: color-mix(in srgb, var(--sn-blue) 78%, var(--sn-heading)); }
/* No italics in body text */
em, i, cite, dfn, var, address { font-style: normal; }
.entry-content em { color: var(--sn-heading); }
.sn-story__link a, .sn-center-link a, .sn-path a, .sn-parts a { text-decoration: none !important; }
.wp-block-button__link, .button, button.button, input[type="submit"], .wp-element-button {
	border-radius: var(--sn-radius) !important;
	padding: 0.78em 1.35em !important;
	font-size: 1.0625rem; font-weight: 400; letter-spacing: -0.01em; line-height: 1.18;
	box-shadow: none !important;
	transition: background-color 0.2s var(--sn-ease), color 0.2s var(--sn-ease), transform 0.2s var(--sn-ease);
	text-decoration: none !important;
}
.wp-block-button__link:active { transform: scale(0.98); }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent !important; color: var(--sn-blue) !important; border: 1px solid currentColor !important; }
.sn-chevron::after, .wp-block-button.is-style-sn-chevron .wp-block-button__link::after { content: "\00a0›"; font-size: 1.2em; line-height: 0; position: relative; top: 0.06em; }
.wp-block-button.is-style-sn-chevron .wp-block-button__link { background: transparent !important; color: var(--sn-blue) !important; padding: 0 !important; border: 0 !important; }
.wp-block-button.is-style-sn-chevron .wp-block-button__link:hover { text-decoration: none !important; }
/* Blue secondary button: sits next to the green primary, a little narrower */
.wp-block-button.is-style-sn-blue .wp-block-button__link { background: var(--sn-blue) !important; color: #fff !important; border: 0 !important; padding: 0.78em 1.1em !important; }
.wp-block-button.is-style-sn-blue .wp-block-button__link:hover, .wp-block-button.is-style-sn-blue .wp-block-button__link:focus-visible { background: color-mix(in oklab, var(--sn-blue) 86%, #000) !important; }
:root[data-sn-theme="dark"] .wp-block-button.is-style-sn-blue .wp-block-button__link { background: #0071c7 !important; }
:root[data-sn-theme="dark"] .wp-block-button.is-style-sn-blue .wp-block-button__link:hover { background: #016abb !important; }
@media (prefers-color-scheme: dark) {
	:root:not([data-sn-theme="light"]) .wp-block-button.is-style-sn-blue .wp-block-button__link { background: #0071c7 !important; }
	:root:not([data-sn-theme="light"]) .wp-block-button.is-style-sn-blue .wp-block-button__link:hover { background: #016abb !important; }
}

:focus-visible { outline: 2px solid var(--sn-blue); outline-offset: 3px; border-radius: 4px; }
::selection { background: var(--sn-green-tint); }

/* §6 Layout & sections ----------------------------------------------------- */
body, .site, #wrapper { background: var(--sn-bg); }
.content-bg, .site-content .content-area .entry, .entry.single-entry { background: var(--sn-bg); box-shadow: none !important; }
.sn-section { padding-top: var(--sn-section-y); padding-bottom: var(--sn-section-y); }
.sn-section--alt, .sn-bg-alt { background: var(--sn-bg-alt); }
.sn-section > .wp-block-group__inner-container { max-width: var(--sn-wide); }
.sn-center { text-align: center; }
.sn-center p { margin-left: auto; margin-right: auto; }
.entry-content > .alignfull { margin-top: 0; margin-bottom: 0; }
.wp-block-separator { border-color: var(--sn-line) !important; border-width: var(--sn-hair) 0 0 !important; opacity: 1; }
.wp-block-image img, .wp-block-cover { border-radius: var(--sn-radius); }
.alignfull.wp-block-image img, .alignfull.wp-block-cover { border-radius: 0; }

/* Chapter template (about, constitution, wiki, privacy): clean, high contrast */
.sn-chapter-template .entry-hero, .sn-chapter-template .entry-header { text-align: left; }
.sn-chapter-template .entry-content-wrap { padding-top: 0; }
.sn-chapter-template .entry-title { font-size: clamp(2.5rem, 6vw, 4.25rem); margin-bottom: 0.3em; }
.sn-chapter-template .entry-content h2 { font-size: clamp(1.75rem, 3.2vw, 2.25rem); margin-top: 1.65em; margin-bottom: 0.5em; } /* 1.12: -25% */
.sn-chapter-template .entry-content > p, .sn-chapter-template .entry-content li:not(.sn-nf *) { /* 1.9.2: not inside native figures */ color: var(--sn-text); font-size: var(--sn-body-size, 1rem); line-height: 1.65; }
/* The lead keeps one size, weight and colour on every page (chapter pages used to shrink it to body size). */
.sn-chapter-template .entry-content > p.sn-lead { font-size: clamp(1.1875rem, 2vw, 1.5rem); line-height: 1.42; color: var(--sn-text-2); }
.sn-chapter-template .entry-content ul:not(.sn-nf *) { padding-left: 1.1em; }
.sn-chapter-template .entry-content li:not(.sn-nf *) { margin-bottom: 0.45em; }
.sn-chapter-template .entry-content li::marker { color: var(--sn-text-muted); }

/* §7 Pattern modules ------------------------------------------------------- */
/* Hero: headline capped so it never runs edge to edge (1024–1440px) */
.sn-hero { text-align: center; padding-top: clamp(4rem, 10vw, 8rem); padding-bottom: clamp(3rem, 8vw, 6rem); }
.sn-hero h1 { font-size: clamp(2.6rem, 6.4vw, 5.25rem); margin: 0 auto 0.4em; max-width: min(15ch, 100%); }
.sn-hero .sn-lead { max-width: 38rem; margin: 0 auto 1.6em; }
.sn-hero .wp-block-buttons { justify-content: center; gap: 1rem 1.5rem; }

.sn-grid { gap: var(--sn-gap) !important; }
.sn-card {
	background: var(--sn-card-bg); border-radius: var(--sn-radius);
	padding: clamp(1.75rem, 3vw, 2.5rem) !important; box-shadow: var(--sn-shadow); height: 100%;
	transition: transform 0.35s var(--sn-ease), box-shadow 0.35s var(--sn-ease);
}
.sn-section--alt .sn-card { box-shadow: none; border: var(--sn-hair) solid var(--sn-line); }
.sn-card:hover { transform: translateY(-2px); }
.sn-card h3 { margin-top: 0.4rem; margin-bottom: 0.5rem; }
.sn-card p { color: var(--sn-text-2); }
.sn-icon { width: 28px; height: 28px; color: var(--sn-green); }
.sn-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }

.sn-chapter { max-width: var(--sn-measure); margin-left: auto; margin-right: auto; }
.sn-chapter-marker { display: inline-flex; align-items: center; gap: 0.6rem; color: var(--sn-orange); font-weight: 400; font-size: 0.9375rem; margin-bottom: 0.75rem; }
.sn-chapter-marker::before { content: ""; width: 0.5rem; height: 0.5rem; border-radius: 50%; border: 1px solid var(--sn-orange-bright); }
.sn-chapter h2 { margin-top: 0; }
.sn-chapter .sn-article-meta { color: var(--sn-text-muted); font-size: 0.875rem; }
.sn-article-body h3 { color: var(--sn-orange); font-weight: 500; margin-top: 2.2em; }

/* Callout: flat tint, hairline accent */
.sn-callout { border-radius: var(--sn-radius); padding: 1.5rem 1.75rem !important; background: var(--sn-bg-alt); border: var(--sn-hair) solid var(--sn-line); }
.sn-callout .sn-callout-title { color: var(--sn-orange); font-weight: 500; margin: 0 0 0.35rem; font-size: 1.0625rem; }
.sn-callout p:last-child { margin-bottom: 0; }
.sn-callout--calm .sn-callout-title { color: var(--sn-green); }

.sn-cta { text-align: center; }
.sn-cta h2 { margin-bottom: 0.3em; }
.sn-cta .wp-block-buttons { justify-content: center; }
.sn-note { font-size: 0.875rem; color: var(--sn-text-muted); }

/* FAQ (native details, no JS) */
.sn-faq details { border-bottom: var(--sn-hair) solid var(--sn-line); padding: 1.15rem 0; }
.sn-faq details:first-of-type { border-top: var(--sn-hair) solid var(--sn-line); }
.sn-faq details summary {
	cursor: pointer; list-style: none; font-weight: 400; font-size: 1.1875rem;
	letter-spacing: -0.016em; color: var(--sn-heading);
	display: flex; justify-content: space-between; align-items: center; gap: 1rem;
	transition: color 0.25s var(--sn-ease);
}
.sn-faq details summary:hover, .sn-faq details[open] > summary, .sn-faq details.is-opening > summary { color: var(--sn-orange); }
.sn-faq details.is-closing > summary { color: var(--sn-heading); }
.sn-faq details summary:focus-visible { outline-offset: 4px; }
.sn-faq .sn-acc-body { overflow: hidden; }
.sn-faq .sn-acc-body > :first-child { margin-top: 0.75rem; }
.sn-faq .sn-acc-body > :last-child { margin-bottom: 0; }
.sn-faq details summary::-webkit-details-marker { display: none; }
.sn-faq details summary::after {
	content: ""; flex: 0 0 14px; height: 14px;
	background: linear-gradient(var(--sn-green), var(--sn-green)) center / 14px 1px no-repeat,
	            linear-gradient(var(--sn-green), var(--sn-green)) center / 1px 14px no-repeat; /* thin plus icon, not a surface gradient */
	transition: transform 0.3s var(--sn-ease);
}
.sn-faq details[open] summary::after { transform: rotate(45deg); }
.sn-faq details > *:not(summary), .sn-faq .sn-acc-body > * { color: var(--sn-text-2); line-height: 1.6; }
.sn-faq details > *:not(summary):not(.sn-acc-body) { margin-top: 0.75rem; }
.sn-faq-group { margin-top: 3rem !important; }
.sn-faq-group__title { font-family: var(--sn-font-mono); font-size: 0.9rem; color: var(--sn-orange); letter-spacing: 0.02em; margin: 0 0 0.75rem !important; }

/* §8 Footer: one thin row, lowercase links, no underlines ------------------ */
#colophon, .site-footer { background: var(--sn-bg) !important; color: var(--sn-text-muted); font-size: 0.875rem; line-height: 1.5; border-top: var(--sn-hair) solid var(--sn-line); }
#colophon .site-footer-row-container-inner { background: transparent !important; border: 0 !important; }
#colophon .site-middle-footer-wrap { display: none; }
#colophon .site-bottom-footer-inner-wrap { padding-top: 0.9rem !important; padding-bottom: 0.9rem !important; min-height: 0 !important; align-items: center; }
#colophon .footer-html-inner p { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 0.3em; }
#colophon .footer-html-inner p > a { display: inline-block; }
#colophon a { color: var(--sn-text-2) !important; text-decoration: none !important; }
#colophon a:hover, #colophon a:focus-visible { color: var(--sn-heading) !important; }
.footer-navigation .menu { gap: 0.1rem 0; justify-content: flex-end; flex-wrap: nowrap; }
.footer-navigation .menu > li.sn-site-ver { display: inline-flex; align-items: center; padding: 0.2em 0.65em; font-size: 0.875rem; color: var(--sn-text-muted); text-transform: lowercase; font-variant-numeric: tabular-nums; white-space: nowrap; }
.footer-navigation .menu > li > a {
	font-size: 0.875rem !important; text-transform: lowercase; letter-spacing: 0;
	padding: 0.2em 0.65em !important; text-decoration: none !important;
	display: inline-flex; align-items: center; justify-content: center; min-width: 24px; min-height: 24px;
}
@media (max-width: 767px) {
	#colophon .site-bottom-footer-inner-wrap { text-align: center; }
	#colophon .footer-html-inner p { justify-content: center; }
	.footer-navigation .menu { justify-content: center; }
}

/* §9 Theme toggle (thin outline icons) ------------------------------------ */
.sn-theme-toggle-item { display: flex; align-items: center; }
.sn-theme-toggle {
	appearance: none; background: transparent !important; border: 0; cursor: pointer;
	color: var(--sn-text) !important; opacity: 0.8; padding: 0.45rem !important; margin-left: 0.4rem;
	border-radius: 50% !important; line-height: 0; box-shadow: none !important;
}
.sn-theme-toggle:hover { opacity: 1; background: var(--sn-line) !important; }
.sn-theme-toggle svg { width: 17px; height: 17px; display: block; fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }
.sn-theme-toggle .sn-icon-sun { display: none; }
:root[data-sn-theme="dark"] .sn-theme-toggle .sn-icon-sun { display: block; }
:root[data-sn-theme="dark"] .sn-theme-toggle .sn-icon-moon { display: none; }
@media (prefers-color-scheme: dark) {
	:root:not([data-sn-theme="light"]) .sn-theme-toggle .sn-icon-sun { display: block; }
	:root:not([data-sn-theme="light"]) .sn-theme-toggle .sn-icon-moon { display: none; }
}

/* §10 Motion & accessibility ----------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
	.sn-card:hover { transform: none; }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	#masthead { background: var(--sn-bg) !important; }
}
@media (max-width: 767px) {
	.sn-card { padding: 1.5rem !important; }
	.sn-hero .wp-block-buttons { flex-direction: column; }
}

/* §11 Layout guards (Kadence has no theme.json content size) --------------- */
:root { --wp--style--global--content-size: 1100px; --wp--style--global--wide-size: 1280px; }
.sn-section { padding-left: clamp(1.25rem, 5vw, 2.5rem); padding-right: clamp(1.25rem, 5vw, 2.5rem); }
.sn-section.is-layout-constrained > .sn-chapter,
.sn-section.is-layout-constrained > .sn-faq { max-width: var(--sn-measure); width: 100%; }
.sn-section.is-layout-constrained > .sn-callout { max-width: 52rem; width: 100%; }
.sn-section.is-layout-constrained > .sn-lead,
.sn-section.is-layout-constrained > p.has-text-align-center { max-width: 48rem; }
.sn-chapter.is-layout-constrained > *, .sn-article-body.is-layout-constrained > *,
.sn-faq.is-layout-constrained > *, .sn-callout.is-layout-constrained > * { max-width: none; margin-left: 0 !important; margin-right: 0 !important; }
.sn-faq-group__title { font-weight: 400 !important; text-transform: none; margin-top: 2.5rem !important; }
.sn-faq-group__title::after { content: none !important; }
/* chapter pages: path above the H1, same look as the home page */
.entry-content p.sn-path { color: var(--sn-orange) !important; font-family: var(--sn-font-mono) !important; font-size: 0.9rem !important; line-height: 1.5; margin-top: 0 !important; margin-bottom: 1rem !important; }
.entry-content p.sn-path a { color: inherit !important; }
.entry-content p.sn-path .sn-path__sep { color: var(--sn-text-muted); margin: 0 0.45em; }
.sn-page-title { font-size: clamp(2.5rem, 6vw, 4rem); line-height: 1.05; margin: 0 0 0.5em !important; }
.sn-h1-num { text-transform: none; color: var(--sn-orange); font-weight: 400; font-family: var(--sn-font-mono); font-size: 0.5em; vertical-align: 0.45em; letter-spacing: 0; margin-right: 0.15em; }
.sn-chapter-template .entry-content-wrap:has(.sn-page-title) { padding-top: clamp(2.5rem, 7vw, 5rem); }
.sn-questions.is-layout-constrained > * { max-width: 912px !important; margin-left: auto !important; margin-right: auto !important; width: 100%; }
.sn-questions .sn-faq.is-layout-constrained > * { max-width: none !important; }
.sn-questions h1 { margin-top: 0.2em !important; }

/* Terminal path lines: a quiet fade on scroll, never typed (typing is only for the big titles with the green cursor) */
.sn-path { font-weight: 300; }
.sn-fade { opacity: 0; transition: opacity 0.8s var(--sn-ease); }
.sn-fade.is-in { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .sn-fade { opacity: 1 !important; transition: none !important; } }

/* §12 Languages ------------------------------------------------------------- */
/* Switcher: a thin outline globe and the current code in the orange path mono. Native <details>. */
.sn-lang-item { display: flex; align-items: center; position: relative; }
.sn-lang { position: relative; }
.sn-lang > summary.sn-lang__btn {
	list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 0.35rem;
	padding: 0.42rem 0.6rem 0.42rem 0.5rem; margin-inline-start: 0.5rem; border-radius: 999px;
	color: var(--sn-text); line-height: 1; -webkit-user-select: none; user-select: none;
	transition: background-color 0.2s var(--sn-ease);
}
.sn-lang > summary.sn-lang__btn::-webkit-details-marker { display: none; }
.sn-lang > summary.sn-lang__btn::marker { content: ""; }
.sn-lang > summary.sn-lang__btn:hover, .sn-lang[open] > summary.sn-lang__btn { background: var(--sn-line); }
.sn-lang > summary.sn-lang__btn:focus-visible { outline: 2px solid var(--sn-orange); outline-offset: 2px; }
.sn-lang__globe { width: 17px; height: 17px; display: block; fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; opacity: 0.85; }
.sn-lang__cur { font-family: var(--sn-font-mono); font-size: 0.75rem; font-weight: 400; color: var(--sn-orange); letter-spacing: 0; text-transform: lowercase; }
.sn-lang__panel {
	position: absolute; z-index: 1100; top: calc(100% + 10px); inset-inline-end: -0.25rem;
	width: min(26rem, calc(100vw - 1.5rem)); padding: 0.5rem; box-sizing: border-box;
	border-radius: var(--sn-radius-s);
}
.sn-lang__panel, .sn-pop { /* liquid glass: see §13 */
	background: var(--sn-glass-bg);
	-webkit-backdrop-filter: var(--sn-glass-blur); backdrop-filter: var(--sn-glass-blur);
	border: var(--sn-hair) solid var(--sn-glass-edge); box-shadow: var(--sn-glass-shadow);
}
.sn-lang[open] .sn-lang__panel { animation: sn-lang-in 0.18s var(--sn-ease); }
@keyframes sn-lang-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.sn-lang__head { font-family: var(--sn-font-mono); font-size: 0.75rem; font-weight: 400; color: var(--sn-orange); margin: 0.3rem 0.6rem 0.45rem !important; line-height: 1.4; direction: ltr; text-align: start; }
.sn-lang__head span { color: var(--sn-text-muted); margin-inline-start: 0.35em; }
.sn-lang__list { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: 1fr 1fr; gap: 1px 0.25rem; }
.sn-lang__list li { margin: 0; padding: 0; border: 0; }
.header-navigation .sn-lang__list a, .mobile-navigation .sn-lang__list a, .sn-lang__list a {
	display: flex !important; align-items: baseline; justify-content: space-between; gap: 0.75rem;
	padding: 0.48rem 0.65rem !important; border-radius: 8px; border: 0 !important; width: auto;
	font-size: 0.875rem !important; font-weight: 400 !important; letter-spacing: 0 !important; line-height: 1.35;
	text-transform: none !important; text-decoration: none !important; color: var(--sn-heading) !important;
	transition: background-color 0.15s var(--sn-ease);
}
.sn-lang__list a:hover { background: var(--sn-orange-tint); }
.sn-lang__list a:focus-visible { outline: 2px solid var(--sn-orange); outline-offset: -2px; }
.sn-lang__code { font-family: var(--sn-font-mono); font-size: 0.6875rem; color: var(--sn-text-muted); letter-spacing: 0; }
.sn-lang__list a[aria-current] { color: var(--sn-orange) !important; background: var(--sn-orange-tint); }
.sn-lang__list a[aria-current] .sn-lang__code { color: var(--sn-orange); }
/* In the mobile drawer the list opens in place. */
.mobile-navigation .sn-lang-item { display: block; }
.mobile-navigation .sn-lang > summary.sn-lang__btn { margin: 0.6rem 0 0; padding: 0.5rem 0.65rem 0.5rem 0.55rem; }
.mobile-navigation .sn-lang__panel { position: static; width: auto; margin-top: 0.6rem; padding: 0.4rem; border-radius: var(--sn-radius-s); } /* 1.7.0: same liquid glass as the tooltips, kept in place */
@media (max-width: 380px) { .sn-lang__list { grid-template-columns: 1fr; } }

/* Glossary terms keep the English key beside the translation. */
.sn-wq__orig { font-family: var(--sn-font-mono); font-size: 0.72em; font-weight: 400; color: var(--sn-text-muted); margin-inline-start: 0.5em; }
/* The constitution note on translated pages. */
.entry-content p.sn-lang-note { border: var(--sn-hair) solid var(--sn-line); border-radius: var(--sn-radius-s); background: var(--sn-bg-alt); padding: 0.9rem 1.15rem; color: var(--sn-text-2); font-size: 0.9375rem; line-height: 1.6; }
.sn-lang-note__code { font-family: var(--sn-font-mono); font-size: 0.75rem; color: var(--sn-orange); margin-inline-end: 0.6em; white-space: nowrap; }
.entry-content p.sn-parts-note { font-family: var(--sn-font-mono); font-size: 0.75rem; color: var(--sn-text-muted); }
/* Release note on the constitution page: orange mono version line, quiet body, hairline rule on the reading edge. */
.entry-content .sn-release { margin: 1.5rem 0 2rem; padding: 0.15rem 0 0.15rem 1.1rem; padding-inline: 1.1rem 0; border-inline-start: 2px solid var(--sn-orange); }
.entry-content .sn-release > p { margin: 0; }
.entry-content p.sn-release__line { font-family: var(--sn-font-mono); font-size: 0.8125rem; letter-spacing: 0.04em; color: var(--sn-orange); margin-bottom: 0.4rem; }
.entry-content p.sn-release__note { color: var(--sn-text-2); font-size: 0.9375rem; line-height: 1.65; }
.entry-content p.sn-release__note a { color: var(--sn-blue); }

/* System font stacks per script (nothing downloaded). Latin stays on the system UI font. */
html:lang(ja) { --sn-font-text: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, "Noto Sans JP", "Noto Sans CJK JP", sans-serif; }
html:lang(ko) { --sn-font-text: -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", "Noto Sans CJK KR", sans-serif; }
html:lang(ja), html:lang(ko) { --sn-font-display: var(--sn-font-text); }
/* Tracking off for Japanese and Korean. */
html:lang(ja) body *, html:lang(ko) body * { letter-spacing: 0 !important; }
html:lang(ja) .entry-content p { line-break: strict; }
html:lang(ko) .entry-content p, html:lang(ko) h1, html:lang(ko) h2 { word-break: keep-all; }
/* 404 */
.sn-404 .entry-content-wrap { max-width: var(--sn-measure); margin: 0 auto; padding: clamp(2rem, 6vw, 4rem) clamp(1.25rem, 5vw, 2.5rem); }
.sn-404 .sn-path { color: var(--sn-orange); font-family: var(--sn-font-mono); font-size: 0.9rem; margin: 0 0 1rem; }
.sn-404 .sn-path a { color: inherit !important; }
.sn-404 .sn-path .sn-path__sep { color: var(--sn-text-muted); margin: 0 0.45em; }
.sn-404__links { list-style: none; padding: 0 !important; margin: 1.25rem 0 0; }
.sn-404__links li { padding: 0.35rem 0; }
.sn-404__links a { color: var(--sn-orange) !important; text-decoration: none; }
.sn-404__links a::before { content: "› "; font-family: var(--sn-font-mono); color: var(--sn-text-muted); }

/* §13 Liquid glass ------------------------------------------------------------
   One material for floating layers (tooltips, language menu) and the rounded cards.
   Floating layers: translucent fill + backdrop blur/saturate, a specular top edge, soft shadow.
   Cards sit on flat colour, so they get the same fill, edge and shadow without the (costly) blur.
   No gradients. Solid fallback without backdrop-filter; solid for prefers-reduced-transparency. */
:root {
	--sn-glass-bg: rgba(252, 252, 253, 0.66);
	--sn-glass-solid: rgba(252, 252, 253, 0.97);
	--sn-glass-card: rgba(255, 255, 255, 0.62);
	--sn-glass-edge: rgba(38, 38, 42, 0.09);
	--sn-glass-blur: blur(20px) saturate(180%);
	--sn-glass-shine: inset 0 1px 0 rgba(255, 255, 255, 0.9), inset 0 0 0 1px rgba(255, 255, 255, 0.35);
	--sn-glass-shadow: var(--sn-glass-shine), 0 1px 2px rgba(20, 20, 30, 0.05), 0 14px 36px rgba(20, 20, 30, 0.12);
	--sn-glass-card-shadow: var(--sn-glass-shine), 0 1px 2px rgba(20, 20, 30, 0.03), 0 10px 30px rgba(20, 20, 30, 0.05);
}
@media (prefers-color-scheme: dark) {
	:root:not([data-sn-theme="light"]) {
		--sn-glass-bg: rgba(44, 44, 48, 0.62);
		--sn-glass-solid: rgba(40, 40, 43, 0.97);
		--sn-glass-card: rgba(255, 255, 255, 0.035);
		--sn-glass-edge: rgba(255, 255, 255, 0.1);
		--sn-glass-shine: inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 0 0 0 1px rgba(255, 255, 255, 0.03);
		--sn-glass-shadow: var(--sn-glass-shine), 0 1px 2px rgba(0, 0, 0, 0.3), 0 16px 40px rgba(0, 0, 0, 0.4);
		--sn-glass-card-shadow: var(--sn-glass-shine), 0 10px 30px rgba(0, 0, 0, 0.22);
	}
}
:root[data-sn-theme="dark"] {
	--sn-glass-bg: rgba(44, 44, 48, 0.62);
	--sn-glass-solid: rgba(40, 40, 43, 0.97);
	--sn-glass-card: rgba(255, 255, 255, 0.035);
	--sn-glass-edge: rgba(255, 255, 255, 0.1);
	--sn-glass-shine: inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 0 0 0 1px rgba(255, 255, 255, 0.03);
	--sn-glass-shadow: var(--sn-glass-shine), 0 1px 2px rgba(0, 0, 0, 0.3), 0 16px 40px rgba(0, 0, 0, 0.4);
	--sn-glass-card-shadow: var(--sn-glass-shine), 0 10px 30px rgba(0, 0, 0, 0.22);
}


/* §14 Theme 1.7.0 --------------------------------------------------------------
   Paths without a trailing separator, lighter earlier segments; leads at body size; tighter buttons;
   closer shadows; header glass on its own layer (so the language menu gets real glass); room labels;
   single paged blocks for questions and the wiki; footer marks; the wordmark orbit. */

/* Orange paths: earlier segments light, the last one a little bolder, separators about one character tighter */
.sn-path, .entry-content p.sn-path { font-weight: 300; }
.sn-path a, .entry-content p.sn-path a, .sn-path .sn-path__sep { font-weight: 300 !important; }
.sn-path .sn-path__cur, .entry-content p.sn-path .sn-path__cur, .sn-path .sn-path__cur a, .sn-path a .sn-path__cur { font-weight: 500 !important; }
.sn-path__sep, .entry-content p.sn-path .sn-path__sep, .sn-404 .sn-path .sn-path__sep { padding: 0 0.3em; margin: 0; }

/* Lead paragraphs: normal body size and face everywhere */
.sn-lead, .entry-content p.sn-lead, .sn-chapter-template .entry-content > p.sn-lead, .sn-hero .sn-lead, .sn-hero--v2 .sn-lead {
	font-family: var(--sn-font-text); font-size: var(--sn-body-size, 1rem); line-height: 1.65; letter-spacing: normal; color: var(--sn-text-2); font-weight: 400;
}

/* Buttons: narrower and tighter */
.wp-block-button__link, .button, button.button, input[type="submit"], .wp-element-button {
	padding: 0.56em 1.05em !important; font-size: 0.9375rem; line-height: 1.2;
}
.wp-block-buttons { gap: 0.5rem; }

/* Shadows: shorter spread, softer fade, kept close to the element so nothing is clipped */
:root {
	--sn-shadow: 0 1px 2px rgba(38, 38, 42, 0.05), 0 3px 10px rgba(38, 38, 42, 0.05);
	--sn-glass-shadow: var(--sn-glass-shine), 0 1px 2px rgba(20, 20, 30, 0.06), 0 4px 14px rgba(20, 20, 30, 0.09);
	--sn-glass-card-shadow: var(--sn-glass-shine), 0 1px 2px rgba(20, 20, 30, 0.03), 0 3px 10px rgba(20, 20, 30, 0.04);
}
@media (prefers-color-scheme: dark) {
	:root:not([data-sn-theme="light"]) {
		--sn-shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 3px 10px rgba(0, 0, 0, 0.22);
		--sn-glass-shadow: var(--sn-glass-shine), 0 1px 2px rgba(0, 0, 0, 0.3), 0 4px 14px rgba(0, 0, 0, 0.32);
		--sn-glass-card-shadow: var(--sn-glass-shine), 0 3px 10px rgba(0, 0, 0, 0.18);
	}
}
:root[data-sn-theme="dark"] {
	--sn-shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 3px 10px rgba(0, 0, 0, 0.22);
	--sn-glass-shadow: var(--sn-glass-shine), 0 1px 2px rgba(0, 0, 0, 0.3), 0 4px 14px rgba(0, 0, 0, 0.32);
	--sn-glass-card-shadow: var(--sn-glass-shine), 0 3px 10px rgba(0, 0, 0, 0.18);
}

/* Header glass on a pseudo layer: a backdrop filter on #masthead itself would stop the language panel
   (its child) from blurring the page behind it. Now the panel is the same liquid glass as the tooltips. */
#masthead { -webkit-backdrop-filter: none; backdrop-filter: none; background: transparent !important; isolation: isolate; }
#masthead::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: var(--sn-header-bg);
	-webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
}
.sn-lang__panel { box-shadow: var(--sn-glass-shadow); }

/* 1.7.2 wordmark: "OS" inside a flat, perfectly round orbital-habitat ring, seen face-on and turning slowly:
   a thin segmented hull with small modules just inside it (1.12: ring and modules in a lighter shade of the wordmark colour, see sn-visuals.css). Absolutely positioned around the OS span,
   so "Sapiens OS" does not move. */
#masthead .site-branding .site-title::after { content: none !important; }
.sn-os { position: relative; display: inline-block; margin-left: 0.5em; margin-right: 0.44em; }
/* 1.9.0: hull just clear of the letters; modules on the rim, filled with the page colour so the hull line stops at them */
.sn-os__ring { position: absolute; left: 50%; top: 48%; width: 1.96em; height: 1.96em; transform: translate(-50%, -50%); overflow: visible; pointer-events: none; color: currentColor; }
.sn-os__ring circle { fill: none; }
.sn-os__spin { transform-box: view-box; transform-origin: 20px 20px; animation: sn-os-spin 60s linear infinite; }
.sn-os__hull { stroke: currentColor; stroke-width: 0.85; opacity: 0.38; }
.sn-os__mod { fill: var(--sn-bg); stroke: currentColor; stroke-width: 0.7; stroke-linejoin: round; opacity: 0.7; }
.sn-os__mod--g { stroke: var(--sn-green); opacity: 0.9; }
.sn-os__mod-l { fill: none; stroke: currentColor; stroke-width: 0.6; stroke-linecap: round; opacity: 0.6; }
@keyframes sn-os-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .sn-os__spin { animation: none; } }

/* Constitution rooms: Pactum, Codex and LEX labels in one face, size and colour; LEX in orange capitals */
.sn-room__pactum b, .sn-room details > summary { font-family: var(--sn-font-mono); font-weight: 400; font-size: 0.8125rem; color: var(--sn-green); letter-spacing: 0.02em; text-transform: none; }
.sn-room__pactum b { text-transform: lowercase; }
.sn-room details > summary::before { color: var(--sn-green); }
.sn-room .sn-lexw, .sn-room ol li code { color: var(--sn-orange); font-family: var(--sn-font-mono); font-size: 0.8125rem; text-transform: uppercase; }
.sn-room ol li code { text-transform: none; } /* ids are already capitals in the markup (1ÆT keeps its æ) */
.sn-room .sn-acc-body { overflow: hidden; }
/* Pactum, Codex and LEX text share one face, size and colour */
.sn-room__pactum, .sn-room__codex p, .sn-room__codex li, .sn-room ol li { font-family: var(--sn-font-text); font-size: 1.0625rem !important; line-height: 1.65; color: var(--sn-text) !important; }
.sn-room details.is-opening > summary, .sn-room details[open] > summary { color: var(--sn-green); }

/* Release links on their own line */
.entry-content p.sn-release__links { margin: 0.5rem 0 0 !important; text-align: left; color: var(--sn-text-2); font-size: 0.9375rem; line-height: 1.65; }
.entry-content p.sn-release__links a { color: var(--sn-blue); }

/* Questions: one compact sliding block (category title + its questions), same look as the glossary */
.sn-faq-pager { max-width: var(--sn-measure); width: 100%; margin: 2rem 0 3rem; }
.sn-faq-pager .sn-pager__page > h2.sn-faq-group__title, .entry-content .sn-faq-pager h2.sn-faq-group__title {
	font-family: var(--sn-font-mono); font-size: 0.875rem !important; line-height: 1.4 !important; letter-spacing: 0.02em; font-weight: 400 !important;
	color: var(--sn-orange); margin: 0 0 0.75rem !important;
}
.entry-content .sn-faq-pager h2.sn-faq-group__title::after { content: none !important; }
.sn-pager--even .sn-pager__viewport { min-height: var(--sn-pager-h); }

/* Wiki: chapter names stay in the markup (anchors, search) but not as row tags */
.sn-wq__chap { display: none; }

/* Footer: GitHub and X as their marks */
.footer-navigation .menu > li > a.sn-ficon-link { display: inline-flex; align-items: center; padding-left: 0.5em; padding-right: 0.5em; }
.sn-ficon { width: 15px; height: 15px; display: block; fill: currentColor; opacity: 0.8; }
.sn-ficon-link:hover .sn-ficon, .sn-ficon-link:focus-visible .sn-ficon { opacity: 1; }

/* 2.1.2 (t271u): soft navigation (sn-soft-nav.js). Programmatic focus on <main> after a swap shows no ring; a slow fetch
   shows a progress cursor only; without a View Transition the new page settles in with a short fade (none for reduced motion). */
#main:focus, #main:focus-visible { outline: none; }
html.sn-soft-wait, html.sn-soft-wait a { cursor: progress; }
@media (prefers-reduced-motion: no-preference) {
	#inner-wrap.sn-swap-in { animation: sn-swap-in .22s cubic-bezier(.22,.61,.36,1) both; }
	@keyframes sn-swap-in { from { opacity: .4; } to { opacity: 1; } }
}

/* ==========================================================================
   Sapiens OS — visual storytelling layer
   §V1 Tokens  §V2 Story sections  §V3 Frames  §V4 SVG colours  §V5 Orbit scene
   §V6 Nine parts  §V7 Motion  §V8 Concept animations  §V9 Terminal form
   §V10 Wiki  §V11 Reduced motion
   Flat colour only (no gradients). All colours are CSS variables, so light/dark
   and the header toggle restyle every illustration. No external assets.
   ========================================================================== */

/* §V1 Tokens */
:root, .editor-styles-wrapper {
	--sn-viz-green: var(--sn-green);
	--sn-viz-blue: var(--sn-blue);
	--sn-viz-orange: #e36a01;
	--sn-viz-ink: var(--sn-heading);
	--sn-viz-muted: var(--sn-text-muted);
	--sn-viz-line: var(--sn-line);
	--sn-viz-line-2: #d6d6dc;
	--sn-viz-track: #ededf1;
	--sn-viz-surface: #ffffff;
	--sn-frame-bg: #fbfbfc;
	--sn-glass: rgba(255, 255, 255, 0.62);
	/* bodies */
	--sn-c-sun: #f5a524; --sn-c-earth: #3191d6; --sn-c-land: #41ab72; --sn-c-camp: #ffffff;
	--sn-c-moon: #c9c9cf; --sn-c-moon2: #a7a7ae; --sn-c-mars: #cf5a32; --sn-c-mars2: #a8401f; --sn-c-polar: #fbefe8;
	--sn-c-venus: #e6c98f; --sn-c-venus2: #cfae6e; --sn-c-ceres: #9a9aa1; --sn-c-saturn: #dcbf86; --sn-c-titan: #d49a4a;
	--sn-c-night: #1b1b2e;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-sn-theme="light"]) {
		--sn-viz-orange: #fca23e; --sn-viz-line-2: #46464a; --sn-viz-track: #363639; --sn-viz-surface: #262628;
		--sn-frame-bg: #212123; --sn-glass: rgba(38, 38, 40, 0.62);
		--sn-c-earth: #409de1; --sn-c-moon: #b4b4ba; --sn-c-moon2: #8e8e95; --sn-c-night: #000010; --sn-c-ceres: #85858c;
	}
}
:root[data-sn-theme="dark"] {
	--sn-viz-orange: #fca23e; --sn-viz-line-2: #46464a; --sn-viz-track: #363639; --sn-viz-surface: #262628;
	--sn-frame-bg: #212123; --sn-glass: rgba(38, 38, 40, 0.62);
	--sn-c-earth: #409de1; --sn-c-moon: #b4b4ba; --sn-c-moon2: #8e8e95; --sn-c-night: #000010; --sn-c-ceres: #85858c;
}

/* §V2 Story sections: short text + large visual, alternating */
.sn-eyebrow + h1, .sn-eyebrow + h2, .sn-eyebrow + .wp-block-heading,
.is-layout-constrained > .sn-eyebrow + *, .is-layout-flow > .sn-eyebrow + * { margin-top: 0 !important; margin-block-start: 0 !important; }
.sn-story .sn-story__cols { gap: clamp(2.5rem, 6vw, 6rem) !important; align-items: center; margin: 0 auto; max-width: 1200px; }
.sn-story .sn-story__text { max-width: 30rem; }
.sn-story h2 { font-size: clamp(2.125rem, 4.4vw, 3.5rem); line-height: 1.07; margin: 0 0 0.45em; }
.sn-story .sn-story__lead { font-size: clamp(1.125rem, 1.55vw, 1.3125rem); line-height: 1.5; color: var(--sn-text-2); margin: 0 0 1.25rem; font-weight: 300; }
.sn-story .sn-story__link a { font-size: 1.0625rem; }
.sn-story .sn-story__link a::after, .sn-center-link a::after { content: "\00a0›"; }
@media (min-width: 782px) { .sn-story--reverse .sn-story__cols { flex-direction: row-reverse; } }
/* Wider visuals on large screens; text column stays readable */
@media (min-width: 1440px) {
	.sn-story .sn-story__cols { max-width: 1360px; }
	.sn-story .sn-story__visual { flex-basis: 64% !important; }
	.sn-story .sn-story__text { flex-basis: 36% !important; }
	.sn-section.is-layout-constrained > .sn-visual--wide { max-width: 1240px; }
}
.sn-section-head { text-align: center; }
.sn-section-head h2 { font-size: clamp(2.125rem, 4.4vw, 3.5rem); margin: 0 auto 0.35em; }
.sn-section-head .sn-story__lead { font-size: clamp(1.125rem, 1.55vw, 1.3125rem); color: var(--sn-text-2); margin: 0 auto; max-width: 38rem; font-weight: 300; }

/* Hero */
.sn-hero--v2 { padding-bottom: clamp(2rem, 6vw, 4rem); }
.sn-hero--v2 h1 { font-size: clamp(2.75rem, 6.2vw, 5rem); letter-spacing: -0.03em; line-height: 1.04; max-width: 14ch; margin-left: auto; margin-right: auto; }
.sn-hero--v2 .sn-lead { max-width: 48rem; }
.sn-section.is-layout-constrained > .sn-visual--hero { max-width: min(1320px, 100%); width: 100%; margin-top: clamp(1.5rem, 4vw, 3rem); }
@media (min-width: 1600px) { .sn-section.is-layout-constrained > .sn-visual--hero { max-width: 1480px; } }

/* §V3 Frames: flat surface, hairline border, 20px corners */
.sn-visual {
	position: relative; margin: 0; overflow: hidden;
	border-radius: var(--sn-radius);
	background: var(--sn-frame-bg);
	border: var(--sn-hair) solid var(--sn-line);
	padding: clamp(1.25rem, 3.5vw, 3rem);
}
.sn-section--alt .sn-visual { background: var(--sn-viz-surface); }
.sn-visual--hero { background: none; border: 0; padding: 0; overflow: visible; }
.sn-visual--inline { margin: 2rem 0 2.5rem; }
.sn-visual--bare { background: none; border: 0; padding: 0; overflow: visible; }
.sn-svg { display: block; width: 100%; height: auto; position: relative; overflow: visible; }
.sn-svg text { font-family: var(--sn-font-text); letter-spacing: -0.01em; }
.sn-caption { font-size: 0.875rem; color: var(--sn-text-muted); text-align: center; margin-top: 0.9rem; }

/* §V4 SVG colour classes */
.sn-svg .f-green { fill: var(--sn-viz-green); }   .sn-svg .s-green { stroke: var(--sn-viz-green); }
.sn-svg .f-blue { fill: var(--sn-viz-blue); }     .sn-svg .s-blue { stroke: var(--sn-viz-blue); }
.sn-svg .f-blue2 { fill: var(--sn-viz-blue); opacity: .55; }
.sn-svg .f-green2 { fill: var(--sn-viz-green); opacity: .6; }
.sn-svg .f-orange { fill: var(--sn-viz-orange); } .sn-svg .s-orange { stroke: var(--sn-viz-orange); }
.sn-svg .f-ink { fill: var(--sn-viz-ink); }       .sn-svg .s-ink { stroke: var(--sn-viz-ink); }
.sn-svg .f-muted { fill: var(--sn-viz-muted); }   .sn-svg .s-muted { stroke: var(--sn-viz-muted); }
.sn-svg .f-surface { fill: var(--sn-viz-surface); } .sn-svg .s-surface { stroke: var(--sn-viz-surface); }
.sn-svg .s-line { stroke: var(--sn-viz-line); }   .sn-svg .s-line2 { stroke: var(--sn-viz-line-2); }
.sn-svg .s-track { stroke: var(--sn-viz-track); }
.sn-svg .f-none { fill: none; }
.sn-svg .f-sun { fill: var(--sn-c-sun); } .sn-svg .f-earth { fill: var(--sn-c-earth); } .sn-svg .f-land { fill: var(--sn-c-land); }
.sn-svg .f-camp { fill: var(--sn-c-camp); } .sn-svg .f-moon { fill: var(--sn-c-moon); } .sn-svg .f-moon2 { fill: var(--sn-c-moon2); }
.sn-svg .f-mars { fill: var(--sn-c-mars); } .sn-svg .s-mars2 { stroke: var(--sn-c-mars2); } .sn-svg .f-polar { fill: var(--sn-c-polar); }
.sn-svg .f-venus { fill: var(--sn-c-venus); } .sn-svg .s-venus2 { stroke: var(--sn-c-venus2); } .sn-svg .f-ceres { fill: var(--sn-c-ceres); }
.sn-svg .f-saturn { fill: var(--sn-c-saturn); } .sn-svg .s-saturn { stroke: var(--sn-c-saturn); } .sn-svg .f-titan { fill: var(--sn-c-titan); }
.sn-svg .f-night { fill: var(--sn-c-night); }
.sn-svg .t-label { font-size: 17px; font-weight: 500; }
.sn-svg .t-sub { font-size: 14px; font-weight: 400; }
.sn-svg .t-title { font-size: 21px; font-weight: 500; font-family: var(--sn-font-display); letter-spacing: -0.02em; }
.sn-svg .t-body { font-size: 16px; }
.sn-svg .t-small { font-size: 14px; }
.sn-svg .t-strong { font-weight: 500; }

/* §V5 Orbit scene: gentle zoom + camera tilt on hover (pointer devices) */
.sn-orbit-stage { perspective: 1600px; }
.sn-orbit-stage .sn-svg--orbit {
	transform: rotateX(var(--sn-rx, 0deg)) rotateY(var(--sn-ry, 0deg)) scale(var(--sn-s, 1));
	transform-origin: 50% 55%;
	transition: transform 0.9s var(--sn-ease);
	will-change: transform;
}
.sn-orbit-stage.is-hover .sn-svg--orbit { --sn-s: 1.035; }
.sn-svg--orbit .sn-depth { transition: transform 0.9s var(--sn-ease); }
.sn-orbit-stage.is-hover .sn-depth--1 { transform: translate(calc(var(--sn-px, 0) * -6px), calc(var(--sn-py, 0) * -4px)); }
.sn-orbit-stage.is-hover .sn-depth--2 { transform: translate(calc(var(--sn-px, 0) * 10px), calc(var(--sn-py, 0) * 7px)); }
.sn-svg--orbit .sn-body { cursor: pointer; outline: none; }
.sn-svg--orbit .sn-body text { transition: fill 0.3s var(--sn-ease); }
.sn-svg--orbit .sn-orb { transition: transform 0.5s var(--sn-ease); }
.sn-svg--orbit .sn-body:hover .sn-orb, .sn-svg--orbit .sn-body:focus-visible .sn-orb { transform: scale(1.1); }
.sn-svg--orbit .sn-body.is-selected .sn-orb { transform: scale(1.14); }
.sn-svg--orbit .sn-glow { opacity: 0; transition: opacity 0.5s var(--sn-ease); }
.sn-svg--orbit .sn-body.is-selected .sn-glow { opacity: 0.16; }
.sn-svg--orbit .sn-body:focus-visible .sn-glow { opacity: 0.1; }
.sn-svg--orbit .sn-body.is-selected .sn-ring { stroke: var(--sn-viz-green); stroke-width: 2; stroke-dasharray: none; animation: none; opacity: 1; }
.sn-svg--orbit .sn-body:hover .t-label, .sn-svg--orbit .sn-body:focus-visible .t-label, .sn-svg--orbit .sn-body.is-selected .t-label { fill: var(--sn-green); }
.sn-svg--orbit .sn-orbit-link { opacity: 0; transition: opacity 0.45s var(--sn-ease); pointer-events: none; }
.sn-svg--orbit .sn-orbit-link.is-on { opacity: 0.95; animation: sn-dash 9s linear infinite; }
/* Floating info panel (orbit tooltips, axioms, triad roles) */
.sn-pop-host { position: relative; }
.sn-pop {
	position: absolute; z-index: 5; left: 0; top: 0; box-sizing: border-box; width: max-content; max-width: min(17rem, calc(100vw - 1.5rem));
	padding: 0.65rem 0.95rem 0.7rem; border-radius: var(--sn-radius-s);
	background: var(--sn-glass-bg); -webkit-backdrop-filter: var(--sn-glass-blur); backdrop-filter: var(--sn-glass-blur);
	border: var(--sn-hair) solid var(--sn-glass-edge); box-shadow: var(--sn-glass-shadow);
	color: var(--sn-text); font-size: 0.875rem; line-height: 1.45; pointer-events: none;
	text-align: center; text-wrap: pretty; text-wrap: balance; /* no orphaned last word */
	opacity: 0; transform: translate3d(0, 6px, 0) scale(0.98); transform-origin: 50% 100%;
	transition: opacity 0.22s var(--sn-ease), transform 0.22s var(--sn-ease);
}
.sn-pop.is-below { transform-origin: 50% 0; transform: translate3d(0, -6px, 0) scale(0.98); }
.sn-pop.is-on, .sn-pop.is-below.is-on { opacity: 1; transform: none; }
.sn-pop b { display: block; font-weight: 500; color: var(--sn-heading); margin-bottom: 0.2rem; }
.sn-pop small { display: block; margin-top: 0.35rem; font-family: var(--sn-font-mono); font-size: 0.75rem; color: var(--sn-orange); }
/* Axioms and triad roles: clickable, with a light lift */
.sn-svg .sn-axiom, .sn-svg .sn-role { cursor: pointer; outline: none; }
.sn-svg .sn-hit { pointer-events: all; }
.sn-svg .sn-axiom-dot, .sn-svg .sn-role-dot { transition: transform 0.35s var(--sn-ease); }
.sn-svg .sn-axiom:hover .sn-axiom-dot, .sn-svg .sn-axiom:focus-visible .sn-axiom-dot, .sn-svg .sn-axiom.is-open .sn-axiom-dot { transform: scale(1.22); }
.sn-svg .sn-role:hover .sn-role-dot, .sn-svg .sn-role:focus-visible .sn-role-dot, .sn-svg .sn-role.is-open .sn-role-dot { transform: scale(1.1); }
.sn-svg .sn-axiom.is-open .sn-axiom-dot circle, .sn-svg .sn-role.is-open .sn-role-dot circle:first-child { stroke-width: 2.5; }
.sn-svg .sn-axiom:focus-visible .sn-axiom-dot circle, .sn-svg .sn-role:focus-visible .sn-role-dot circle:first-child { stroke: var(--sn-blue); stroke-width: 2.5; }
.sn-svg .sn-axiom text:last-child { transition: fill 0.25s var(--sn-ease); }
.sn-svg .sn-axiom:hover text:last-child, .sn-svg .sn-axiom.is-open text:last-child { fill: var(--sn-green); }
.sn-svg--orbit .sn-halo { animation: sn-halo 4.5s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes sn-halo { 0%, 100% { opacity: 0.9; } 50% { opacity: 0.35; } }
.sn-svg--orbit .sn-spin-slow { animation: sn-spin 40s linear infinite; }
.sn-orbit-legend { display: none; }
@media (max-width: 600px) {
	/* labels would render below 11px: hide them and show a legend instead */
	.sn-svg--orbit text, .sn-svg--orbit .sn-orbit-key { display: none; }
	.sn-orbit-legend {
		display: flex; flex-wrap: wrap; justify-content: center; gap: 0.4rem 1rem;
		list-style: none; margin: 1rem auto 0 !important; padding: 0; max-width: 22rem;
		font-size: 0.8125rem; color: var(--sn-text-2);
	}
	.sn-orbit-legend li { display: flex; align-items: center; gap: 0.4rem; margin: 0; }
	.sn-orbit-legend i { width: 0.6rem; height: 0.6rem; border-radius: 50%; display: inline-block; }
}

/* Pactum / Codex / Lex: subtle 3D tilt that follows the pointer */
.sn-tilt { perspective: 1100px; }
.sn-tilt > .sn-svg, .sn-tilt > svg {
	transform: rotateX(var(--sn-rx, 0deg)) rotateY(var(--sn-ry, 0deg));
	transition: transform 0.7s var(--sn-ease);
	transform-style: preserve-3d;
	will-change: transform;
}

/* §V6 Nine parts: Latin numerals, title and subtitle on one line */
.sn-parts { list-style: none; margin: clamp(2rem, 4vw, 3rem) auto 0 !important; padding: 0; max-width: 920px; border-top: var(--sn-hair) solid var(--sn-line); }
.sn-parts li { margin: 0; max-width: none !important; border-bottom: var(--sn-hair) solid var(--sn-line); }
.sn-parts a, .sn-parts .sn-part {
	display: grid; grid-template-columns: 3.5rem 8rem 1fr auto; align-items: baseline; gap: 0 1rem;
	padding: 1.05rem 0.75rem; border-radius: var(--sn-radius-s); color: var(--sn-text) !important;
	transition: background-color 120ms ease-out;
}
.sn-parts a:hover, .sn-parts a:focus-visible { background: var(--sn-bg-alt); text-decoration: none; }
.sn-section--alt .sn-parts a:hover { background: var(--sn-viz-surface); }
.sn-part__num { font-family: var(--sn-font-mono); font-size: 0.9375rem; color: var(--sn-orange); }
.sn-part__name { font-family: var(--sn-font-display); font-size: 1.3125rem; font-weight: 500; letter-spacing: -0.02em; color: var(--sn-heading); }
.sn-part__desc { color: var(--sn-text-2); font-size: 1rem; line-height: 1.45; }
.sn-part__go { color: var(--sn-blue); font-size: 1.25rem; line-height: 1; opacity: 0.7; }
.sn-parts a:hover .sn-part__go { opacity: 1; }
.sn-parts-note { text-align: center; color: var(--sn-text-muted); font-size: 0.875rem; margin-top: 1.25rem !important; }
@media (max-width: 640px) {
	.sn-parts a, .sn-parts .sn-part { grid-template-columns: 2.6rem 1fr auto; padding: 0.95rem 0.25rem; }
	.sn-part__desc { grid-column: 2 / 3; grid-row: 2; font-size: 0.9375rem; margin-top: 0.15rem; }
	.sn-part__go { grid-column: 3; grid-row: 1; }
}
.sn-center-link { text-align: center; margin-top: 2rem !important; }

/* §V7 Motion. Hidden states apply only when JS has added html.sn-motion. */
.sn-reveal { transition: opacity 0.9s var(--sn-ease), transform 0.9s var(--sn-ease); transition-delay: var(--sn-delay, 0s); }
.sn-motion .sn-reveal:not(.is-visible) { opacity: 0; transform: translate3d(0, 28px, 0); }
.sn-motion .sn-reveal--left:not(.is-visible) { transform: translate3d(-28px, 0, 0); }
.sn-motion .sn-reveal--right:not(.is-visible) { transform: translate3d(28px, 0, 0); }
.sn-motion .sn-reveal--scale:not(.is-visible) { transform: scale(0.97); }
.sn-reveal--d1 { --sn-delay: 0.12s; } .sn-reveal--d2 { --sn-delay: 0.24s; } .sn-reveal--d3 { --sn-delay: 0.36s; }

@keyframes sn-rise { from { opacity: 0; transform: translate3d(0, 20px, 0); } to { opacity: 1; transform: none; } }
.sn-hero--v2 > * { animation: sn-rise 1s var(--sn-ease) both; }
.sn-hero--v2 > *:nth-child(2) { animation-delay: 0.08s; }
.sn-hero--v2 > *:nth-child(3) { animation-delay: 0.16s; }
.sn-hero--v2 > *:nth-child(4) { animation-delay: 0.24s; }
.sn-hero--v2 > *:nth-child(5) { animation-delay: 0.36s; animation-duration: 1.4s; }

@keyframes sn-dash { to { stroke-dashoffset: -200; } }
@keyframes sn-pulse { 0%, 100% { opacity: 0.35; } 50% { opacity: 0.08; } }
@keyframes sn-spin { to { transform: rotate(360deg); } }
.sn-svg .sn-pulse { animation: sn-pulse 4s ease-in-out infinite; }
.sn-svg .sn-spin { animation: sn-spin 8s linear infinite; }
.sn-svg .sn-flow { animation: sn-dash 7s linear infinite; }

/* Gauge */
.sn-svg .sn-gauge-needle { transform-box: view-box; transform-origin: 280px 290px; transform: rotate(43deg); transition: transform 1.8s cubic-bezier(0.22, 1.2, 0.36, 1) 0.2s; }
.sn-svg .sn-gauge-value { transition: stroke-dashoffset 1.8s var(--sn-ease) 0.2s; }
.sn-motion .sn-reveal:not(.is-visible) .sn-gauge-needle { transform: rotate(-90deg); }
.sn-motion .sn-reveal:not(.is-visible) .sn-gauge-value { stroke-dashoffset: 100; }
/* Layers */
.sn-svg .sn-plate, .sn-svg .sn-plate-label { transition: transform 1.3s var(--sn-ease) 0.15s, opacity 1s var(--sn-ease) 0.4s; }
.sn-motion .sn-reveal:not(.is-visible) .sn-plate--1 { transform: translateY(60px); }
.sn-motion .sn-reveal:not(.is-visible) .sn-plate--3 { transform: translateY(-60px); }
.sn-motion .sn-reveal:not(.is-visible) .sn-plate-label { opacity: 0; }
.sn-tilt.is-hover .sn-plate--1, .sn-tilt:hover .sn-plate--1 { transform: translateY(-48px); }
.sn-tilt.is-hover .sn-plate--2, .sn-tilt:hover .sn-plate--2 { transform: translateY(-24px); }
.sn-tilt.is-hover .sn-plate-label--1, .sn-tilt:hover .sn-plate-label--1 { transform: translateY(-48px); }
.sn-tilt.is-hover .sn-plate-label--2, .sn-tilt:hover .sn-plate-label--2 { transform: translateY(-24px); }
.sn-tilt .sn-plate, .sn-tilt .sn-plate-label { transition-delay: 0s; }
/* Ledger */
.sn-svg .sn-ledger-row { transition: opacity 0.7s var(--sn-ease), transform 0.7s var(--sn-ease); }
.sn-svg .sn-ledger-row--1 { transition-delay: 0.5s; } .sn-svg .sn-ledger-row--2 { transition-delay: 0.75s; } .sn-svg .sn-ledger-row--3 { transition-delay: 1s; }
.sn-motion .sn-reveal:not(.is-visible) .sn-ledger-row { opacity: 0; transform: translateY(10px); }
/* Fork */
.sn-svg .sn-draw { stroke-dasharray: 1 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1.4s var(--sn-ease) 0.2s; }
.sn-svg .sn-draw--2 { transition-delay: 0.6s; } .sn-svg .sn-draw--3 { transition-delay: 1s; }
.sn-svg .sn-nodes { transition: opacity 0.8s var(--sn-ease) 0.4s; }
.sn-motion .sn-reveal:not(.is-visible) .sn-draw { stroke-dashoffset: 1; }
.sn-motion .sn-reveal:not(.is-visible) .sn-nodes { opacity: 0; }

/* §V8 Concept animations (run once when revealed) */
/* Prime Directive: the act travels through three gates, each check lights in turn */
.sn-svg .sn-token { transform: translateX(536px); transition: transform 2.6s cubic-bezier(0.45, 0, 0.2, 1) 0.3s; }
.sn-motion .sn-reveal:not(.is-visible) .sn-token { transform: none; }
.sn-svg .sn-gate-check, .sn-svg .sn-gate-ring { transition: opacity 0.5s var(--sn-ease); }
.sn-svg .sn-gate--1 .sn-gate-check, .sn-svg .sn-gate--1 .sn-gate-ring { transition-delay: 1s; }
.sn-svg .sn-gate--2 .sn-gate-check, .sn-svg .sn-gate--2 .sn-gate-ring { transition-delay: 1.75s; }
.sn-svg .sn-gate--3 .sn-gate-check, .sn-svg .sn-gate--3 .sn-gate-ring { transition-delay: 2.5s; }
.sn-motion .sn-reveal:not(.is-visible) .sn-gate-check, .sn-motion .sn-reveal:not(.is-visible) .sn-gate-ring { opacity: 0; }
/* Axioms: ring draws, then the twelve nodes appear one after another */
.sn-svg .sn-axiom-ring { stroke-dashoffset: 0; transition: stroke-dashoffset 2s var(--sn-ease) 0.2s; transform: rotate(-90deg); transform-origin: 400px 330px; transform-box: view-box; }
.sn-svg .sn-axiom { transition: opacity 0.6s var(--sn-ease), transform 0.6s var(--sn-ease); transition-delay: calc(0.35s + var(--i) * 0.11s); }
.sn-motion .sn-reveal:not(.is-visible) .sn-axiom-ring { stroke-dashoffset: 1; }
.sn-motion .sn-reveal:not(.is-visible) .sn-axiom { opacity: 0; }
/* Triad: three seals, then the result */
.sn-svg .sn-seal, .sn-svg .sn-seal-result { transition: opacity 0.7s var(--sn-ease), transform 0.7s var(--sn-ease); }
.sn-svg .sn-seal--2 { transition-delay: 0.45s; } .sn-svg .sn-seal--3 { transition-delay: 0.9s; } .sn-svg .sn-seal-result { transition-delay: 1.5s; }
.sn-motion .sn-reveal:not(.is-visible) .sn-seal, .sn-motion .sn-reveal:not(.is-visible) .sn-seal-result { opacity: 0; }
/* Ballot: bars grow to their weight and stop at the cap */
.sn-svg .sn-bar { transform-box: fill-box; transform-origin: 50% 100%; transition: transform 1.1s var(--sn-ease); transition-delay: calc(0.2s + var(--i) * 0.05s); }
.sn-svg .sn-bar-cut { transition: opacity 0.6s var(--sn-ease) 1.6s; }
.sn-motion .sn-reveal:not(.is-visible) .sn-bar { transform: scaleY(0.02); }
.sn-motion .sn-reveal:not(.is-visible) .sn-bar-cut { opacity: 0; }

/* Concept grid (home: how it runs) */
.sn-concepts { gap: var(--sn-gap) !important; max-width: 1200px; margin: clamp(2rem, 4vw, 3rem) auto 0 !important; }
@media (min-width: 1440px) { .sn-concepts { max-width: 1320px; } }
.sn-concept { border-radius: var(--sn-radius); background: var(--sn-card-bg); border: var(--sn-hair) solid var(--sn-line); padding: clamp(1.25rem, 2.5vw, 2rem) !important; }
.sn-section--alt .sn-concept { background: var(--sn-viz-surface); }
.sn-concept .sn-visual { border: 0; padding: 0; background: none; margin-bottom: 1rem; }
.sn-concept h3 { font-size: 1.3125rem; margin: 0 0 0.35rem; }
.sn-concept p { color: var(--sn-text-2); font-size: 1rem; margin: 0; }
.sn-concept .sn-path { margin-bottom: 0.4rem; }

/* Pull quote from the text */
.sn-quote { border: 0 !important; padding: 0 !important; margin: 0 auto !important; text-align: center; max-width: 44rem; }
.sn-quote p { font-family: var(--sn-font-display); font-size: clamp(1.5rem, 3vw, 2.125rem) !important; line-height: 1.25; letter-spacing: -0.02em; font-weight: 400; color: var(--sn-heading); max-width: none !important; }
.sn-quote cite { display: block; margin-top: 1rem; font-family: var(--sn-font-mono); font-style: normal; font-size: 0.8125rem; color: var(--sn-orange); }

/* §V9 Terminal contact form: light in day mode, dark at night */
.sn-term {
	--t-bg: #fbfbfc; --t-bar: #f2f2f5; --t-line: #e3e3e8; --t-text: #3a3a3e; --t-strong: #26262a; --t-muted: #6b6b70;
	--t-label: var(--sn-orange); --t-caret: var(--sn-green); --t-btn: var(--sn-green); --t-btn-h: var(--sn-green-strong); --t-btn-text: #ffffff; --t-link: var(--sn-blue);
	--t-red: #ff6b5e; --t-yellow: #ffc35a; --t-green: #2ec176;
	max-width: 912px; margin: 2rem auto 0; border-radius: var(--sn-radius); overflow: hidden;
	background: var(--t-bg); color: var(--t-text); border: 1px solid var(--t-line);
	font-family: var(--sn-font-mono); font-size: 0.9375rem; line-height: 1.55;
	box-shadow: 0 12px 40px rgba(20, 20, 30, 0.06);
}
:root[data-sn-theme="dark"] .sn-term {
	--t-bg: #1f1f22; --t-bar: #262629; --t-line: #333337; --t-text: #e6e6ea; --t-strong: #f2f2f4; --t-muted: #a1a1a6;
	--t-label: var(--sn-orange); --t-caret: var(--sn-green); --t-btn: var(--sn-btn); --t-btn-h: var(--sn-btn-h); --t-btn-text: #fff; --t-link: #87c6fe;
}
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) .sn-term {
	--t-bg: #1f1f22; --t-bar: #262629; --t-line: #333337; --t-text: #e6e6ea; --t-strong: #f2f2f4; --t-muted: #a1a1a6;
	--t-label: var(--sn-orange); --t-caret: var(--sn-green); --t-btn: var(--sn-btn); --t-btn-h: var(--sn-btn-h); --t-btn-text: #fff; --t-link: #87c6fe;
} }
.sn-term__bar { display: flex; align-items: center; gap: 0.45rem; padding: 0.7rem 1rem; background: var(--t-bar); border-bottom: 1px solid var(--t-line); color: var(--t-muted); font-size: 0.8125rem; }
.sn-term__bar i { width: 0.72rem; height: 0.72rem; border-radius: 50%; display: inline-block; background: var(--t-red); }
.sn-term__bar i:nth-child(2) { background: var(--t-yellow); }
.sn-term__bar i:nth-child(3) { background: var(--t-green); }
.sn-term__bar span { margin-left: 0.5rem; }
.sn-term form { padding: 1.1rem 1.25rem 1.3rem; margin: 0; }
.sn-term__row { display: flex; align-items: baseline; gap: 0.6rem; margin: 0 0 0.7rem; }
.sn-term__row label { color: var(--t-label); white-space: nowrap; }
.sn-term__row label::after { content: " ›"; color: var(--t-muted); }
.sn-term input, .sn-term textarea {
	flex: 1; min-width: 0; background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--t-line) !important;
	border-radius: 0 !important; color: var(--t-strong) !important; font: inherit; padding: 0.15rem 0 !important; box-shadow: none !important; caret-color: var(--t-caret);
}
.sn-term input::placeholder, .sn-term textarea::placeholder { color: var(--t-muted); opacity: 0.8; }
.sn-term textarea { min-height: 7rem; max-height: 20rem; resize: vertical; }
.sn-term input:focus, .sn-term textarea:focus { outline: none; border-bottom-color: var(--t-caret) !important; }
.sn-term input:focus-visible, .sn-term textarea:focus-visible { box-shadow: 0 2px 0 0 var(--t-caret) !important; }
.sn-term__row--msg { align-items: flex-start; }
.sn-term__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.sn-term__ts { margin: 0.4rem 0 0; min-height: 0; }
.sn-term__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.25rem; margin-top: 1rem; }
.sn-term button {
	font: inherit; color: var(--t-btn-text) !important; background: var(--t-btn) !important; border: 0; cursor: pointer;
	border-radius: var(--sn-radius) !important; padding: 0.55rem 1.25rem !important; transition: background-color 0.2s var(--sn-ease);
}
.sn-term button:hover { background: var(--t-btn-h) !important; }
.sn-term button[disabled] { opacity: 0.6; cursor: progress; }
.sn-term__alt { color: var(--t-link) !important; font-size: 0.8125rem; text-decoration: none !important; }
.sn-term__alt:hover { text-decoration: none !important; }
.sn-term__hint { color: var(--t-muted); font-size: 0.8125rem; margin: 0.9rem 0 0; }
.sn-term__out { color: var(--t-muted); margin: 0.8rem 0 0; min-height: 1.5em; font-size: 0.8125rem; }
.sn-term__out.is-ok { color: var(--t-caret); }
.sn-term__out.is-err { color: #c4352a; }
:root[data-sn-theme="dark"] .sn-term__out.is-err { color: #ff6b5e; }
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) .sn-term__out.is-err { color: #ff6b5e; } }

/* §V10 Wiki (constitution chapters) */
.sn-wiki-meta { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; color: var(--sn-text-muted); font-size: 0.875rem; margin: 0 0 2rem !important; }
.sn-wiki-meta a { color: var(--sn-blue) !important; }
.sn-room { border-top: var(--sn-hair) solid var(--sn-line); padding: 1.6rem 0 0.6rem; margin: 0 !important; }
.sn-room h3 { font-size: 1.25rem; font-weight: 500; margin: 0.1rem 0 0.5rem !important; }
.sn-room .sn-path { margin: 0 0 0.25rem !important; font-size: 0.8125rem; }
.sn-room__pactum { color: var(--sn-text); margin: 0 0 0.6rem !important; }
.sn-room__pactum b { font-family: var(--sn-font-mono); font-weight: 400; font-size: 0.8125rem; color: var(--sn-green); margin-right: 0.4em; text-transform: lowercase; }
.sn-room details { margin: 0 0 0.6rem; }
.sn-room summary { cursor: pointer; color: var(--sn-blue); font-size: 0.9375rem; list-style: none; }
.sn-room summary::-webkit-details-marker { display: none; }
.sn-room summary::before { content: "›"; display: inline-block; margin-right: 0.45em; transition: transform 0.25s var(--sn-ease); }
.sn-room details[open] summary::before { transform: rotate(90deg); }
.sn-room ol { list-style: none; padding: 0 !important; margin: 0.6rem 0 0 !important; }
.sn-room ol li { font-size: 1.0625rem !important; line-height: 1.65; color: var(--sn-text) !important; padding: 0.4rem 0 0.4rem 0.9rem; border-left: 1px solid var(--sn-line); margin: 0 !important; }
.sn-room ol li code { font-size: 0.75rem; color: var(--sn-orange); background: none; padding: 0; margin-right: 0.4em; text-transform: none; letter-spacing: 0.02em; }
.sn-wiki-nav { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem !important; padding-top: 1.25rem; border-top: var(--sn-hair) solid var(--sn-line); font-size: 0.9375rem; }
.sn-wiki-nav a { text-decoration: none !important; }
.sn-wiki-toc { columns: 2 16rem; column-gap: 2rem; padding: 0 !important; list-style: none; margin: 0 0 2.5rem !important; }
.sn-wiki-toc li { font-size: 0.9375rem !important; margin: 0 0 0.35rem !important; break-inside: avoid; }
.sn-wiki-toc a { text-decoration: none !important; }

/* Mobile gutters and grid rhythm */
.sn-section .is-layout-grid { gap: 1rem; }
.sn-section .is-layout-grid > * { margin: 0 !important; }
@media (max-width: 781px) {
	.sn-section.alignfull, .sn-section { padding-left: 1.25rem !important; padding-right: 1.25rem !important; }
	.sn-section .is-layout-grid { gap: 0.75rem; }
}

/* Plain-words section */
.sn-plain .sn-plain__p { font-size: clamp(1.0625rem, 1.4vw, 1.1875rem); line-height: 1.65; color: var(--sn-text-2); max-width: 48rem; }
.sn-plain h2 { margin-bottom: 1.25rem; }
.entry-content .sn-plain, .sn-plain { padding-left: clamp(1.25rem, 5vw, 2.5rem) !important; padding-right: clamp(1.25rem, 5vw, 2.5rem) !important; }
.entry-content .sn-plain > *, .sn-plain > * { max-width: 864px !important; width: 100%; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; }

/* §V11 Reduced motion: everything static and visible */
@media (prefers-reduced-motion: reduce) {
	.sn-reveal, .sn-svg *, .sn-hero--v2 > *, .sn-orbit-stage .sn-svg--orbit, .sn-tilt > svg, .sn-pop, .sn-type .sn-ch { animation: none !important; transition: none !important; }
	.sn-type .sn-ch { opacity: 1 !important; }
	.sn-motion .sn-reveal:not(.is-visible) { opacity: 1; transform: none; }
	h1::after, h2::after { animation: none; opacity: 1; }
}

/* §V12 wiki extras -------------------------------------------------------- */
.sn-room__codex p, .sn-room__codex li { font-size: 1.0625rem !important; line-height: 1.65; color: var(--sn-text) !important; margin: 0.6rem 0 0 !important; }
.sn-room__codex ul { padding-left: 1.1rem !important; margin: 0.4rem 0 0 !important; }
.sn-room__status { font-family: var(--sn-font-mono); font-size: 0.75rem; color: var(--sn-text-muted); margin: 0.6rem 0 0 !important; text-transform: lowercase; }
.sn-table { margin: 0.9rem 0 0 !important; overflow-x: auto; }
.sn-table table { border-collapse: collapse; width: 100%; font-size: 0.8125rem; }
.sn-table th, .sn-table td { border: 0; border-bottom: var(--sn-hair) solid var(--sn-line); padding: 0.4rem 0.6rem 0.4rem 0; text-align: left; vertical-align: top; color: var(--sn-text-2); }
.sn-table th { font-weight: 500; color: var(--sn-heading); }
.sn-wiki-intro p { color: var(--sn-text); }
.sn-wiki-rooms-title { margin-top: 2.5rem !important; }

/* §V13 layout fixes (wave 1 review) --------------------------------------- */
.sn-section.is-layout-constrained > .sn-section-head { max-width: 55rem; }
.entry-content .sn-section-head .sn-story__lead { max-width: 38rem; margin-left: auto; margin-right: auto; }
.sn-section.is-layout-constrained > .sn-quote { max-width: 46rem; }
.sn-section.is-layout-constrained > .sn-concepts { max-width: 1200px; }
@media (min-width: 1440px) { .sn-section.is-layout-constrained > .sn-concepts { max-width: 1320px; } }
.sn-concepts { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)) !important; width: 100%; }
.sn-concepts > .sn-concept { max-width: none !important; margin: 0 !important; }
.sn-section.is-layout-constrained > .sn-parts, .sn-section.is-layout-constrained > .sn-parts-note { max-width: 1000px; }
.sn-wiki-tocbox { margin: 0 0 2rem; }
.sn-wiki-tocbox > summary { cursor: pointer; list-style: none; font-family: var(--sn-font-mono); font-size: 0.9rem; color: var(--sn-orange); margin-bottom: 0.9rem; }
.sn-wiki-tocbox > summary::-webkit-details-marker { display: none; }
.sn-wiki-tocbox > summary::before { content: "›"; display: inline-block; margin-right: 0.45em; transition: transform 0.25s var(--sn-ease); }
.sn-wiki-tocbox[open] > summary::before { transform: rotate(90deg); }

/* ==========================================================================
   §W  Wiki: search + suggest, chapter blocks with 10-row pagers, glossary
   ========================================================================== */
.sn-wiki { margin-top: 1.5rem; }
.sn-wiki-search { position: relative; margin: 0 0 1rem; }
.sn-wiki-search input[type="search"] {
	width: 100%; box-sizing: border-box; padding: 0.8rem 1rem 0.8rem 2.6rem;
	font: 400 1rem/1.4 var(--sn-font-mono); color: var(--sn-heading);
	background: var(--sn-bg-alt) no-repeat 0.95rem 50% / 16px 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b4500a' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E");
	border: var(--sn-hair) solid var(--sn-line); border-radius: var(--sn-radius-s);
	transition: border-color .2s var(--sn-ease), box-shadow .2s var(--sn-ease);
	-webkit-appearance: none; appearance: none;
}
.sn-wiki-search input[type="search"]::placeholder { color: var(--sn-text-muted); }
.sn-wiki-search input[type="search"]:focus { outline: none; border-color: var(--sn-blue); box-shadow: 0 0 0 3px color-mix(in oklab, var(--sn-blue) 18%, transparent); }
.sn-wiki-suggest {
	position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 6px); margin: 0; padding: 0.35rem; list-style: none;
	background: var(--sn-card-bg); border: var(--sn-hair) solid var(--sn-line); border-radius: var(--sn-radius-s); box-shadow: var(--sn-shadow);
}
.sn-wiki-suggest[hidden] { display: none; }
.sn-wiki-suggest li { margin: 0; }
.sn-wiki-suggest a {
	display: block; padding: 0.55rem 0.75rem; border-radius: 8px; color: var(--sn-heading) !important; text-decoration: none !important; font-size: 0.9375rem; line-height: 1.35;
}
.sn-wiki-suggest a small { display: block; font-family: var(--sn-font-mono); font-size: 0.75rem; color: var(--sn-orange); }
.sn-wiki-suggest a:hover, .sn-wiki-suggest a[aria-selected="true"], .sn-wiki-suggest a:focus-visible { background: var(--sn-bg-alt); outline: none; }
.sn-wiki-count { margin: 0.9rem 0 0; min-height: 1.2em; font: 400 0.8125rem/1.4 var(--sn-font-mono); color: var(--sn-text-muted); }
.sn-wiki-group { margin-top: 2.5rem; scroll-margin-top: calc(var(--sn-header-h) + 1rem); }
.sn-wiki-group[hidden] { display: none; }
.sn-wiki-group__intro { margin: 0 0 0.75rem; color: var(--sn-text-muted); font-size: 0.9375rem; }
.sn-wiki .sn-wq { scroll-margin-top: calc(var(--sn-header-h) + 1rem); }
.sn-wiki .sn-wq[hidden] { display: none; }
.sn-wiki .sn-faq details:not([hidden]) ~ details { border-top: 0; }
.sn-wiki .sn-wq .sn-visual--inline { margin: 1rem 0 0; max-width: 28rem; }
.sn-wiki .sn-wq mark { background: var(--sn-orange-tint); color: inherit; border-radius: 3px; padding: 0 0.1em; }
.sn-wiki-none { margin-top: 2rem; color: var(--sn-text-2); }
.sn-wiki-none[hidden] { display: none; }

/* Wiki pager: each chapter and the glossary as a compact paged block. The pages sit side by side in a
   scroll-snap strip (native swipe, smooth slide, works without JS); buttons come alive with sn-motion.js.
   The strip is as tall as its tallest closed page, so turning pages never moves the layout. */
.sn-pager { position: relative; }
.sn-pager__viewport {
	display: flex; align-items: flex-start; column-gap: 2.5rem; overflow-x: auto; overflow-y: hidden;
	scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain;
	scrollbar-width: none; -webkit-overflow-scrolling: touch;
	margin: 0 -4px; padding: 0 4px; scroll-padding: 0 4px; /* room for focus rings */
}
.sn-pager__viewport::-webkit-scrollbar { display: none; }
.sn-pager__page { flex: 0 0 100%; min-width: 0; box-sizing: border-box; scroll-snap-align: start; scroll-snap-stop: always; }
.sn-pager__nav { display: flex; align-items: center; justify-content: center; gap: 0.25rem; margin: 0.9rem 0 0; font-family: var(--sn-font-mono); }
.sn-pager__nums { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.2rem; }
.sn-pager__nav button {
	-webkit-appearance: none; appearance: none; margin: 0; border: var(--sn-hair) solid transparent; background: transparent; cursor: pointer;
	min-width: 2rem; height: 2rem; padding: 0 0.45rem; border-radius: 999px; box-sizing: border-box;
	display: inline-flex; align-items: center; justify-content: center;
	font: 400 0.8125rem/1 var(--sn-font-mono); color: var(--sn-text-muted); letter-spacing: 0;
	transition: color 0.2s var(--sn-ease), background-color 0.2s var(--sn-ease), border-color 0.2s var(--sn-ease);
}
.sn-pager__nav button:hover { color: var(--sn-heading); background: var(--sn-bg-alt); }
.sn-pager__nav button:focus-visible { outline: 2px solid var(--sn-orange); outline-offset: 1px; }
.sn-pager__num[aria-current="true"] { color: var(--sn-orange); border-color: var(--sn-glass-edge); background: var(--sn-glass-card); box-shadow: var(--sn-glass-card-shadow); }
.sn-pager__arrow svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.sn-pager__arrow[disabled] { opacity: 0.35; cursor: default; background: transparent !important; }
/* While searching, every match shows in one list. */
.sn-wiki.is-searching .sn-pager__viewport { display: block; overflow: visible; margin: 0; padding: 0; }
.sn-wiki.is-searching .sn-pager__nav { display: none; }
.sn-wiki.is-searching .sn-pager__page:not(:has(details:not([hidden]))) { display: none; }
@media (prefers-reduced-motion: reduce) { .sn-pager__viewport { scroll-behavior: auto; } }

/* Same height for every chapter block and the glossary (values measured by sn-motion.js: tallest closed 10-row page,
   tallest intro). Without JS the blocks are simply as tall as their content. */
.sn-wiki--even .sn-wiki-group__intro { min-height: var(--sn-intro-h); }
.sn-wiki--even .sn-pager__viewport { min-height: var(--sn-pager-h); }
.sn-wiki--even.is-searching .sn-wiki-group__intro, .sn-wiki--even.is-searching .sn-pager__viewport { min-height: 0; }

.entry-content .sn-wiki h2.sn-faq-group__title { font-size: 0.875rem !important; line-height: 1.4 !important; letter-spacing: 0.02em; font-weight: 400 !important; margin: 0 0 0.35rem !important; }
.entry-content .sn-wiki h2.sn-faq-group__title::after { content: none !important; }
.sn-wiki-suggest a, .entry-content .sn-wiki-suggest li a { font-weight: 400 !important; }

/* §V13 Liquid glass on the rounded cards (tokens in sn-base.css §13) */
/* Cards: prime directive and story frames, Pactum/Codex/Lex, concept tiles, cards, callouts */
.sn-visual:not(.sn-visual--hero):not(.sn-visual--bare), .sn-concept, .sn-card, .sn-callout,
.sn-section--alt .sn-visual:not(.sn-visual--hero):not(.sn-visual--bare), .sn-section--alt .sn-concept, .sn-section--alt .sn-card {
	background: var(--sn-glass-card);
	border: var(--sn-hair) solid var(--sn-glass-edge);
	box-shadow: var(--sn-glass-card-shadow);
}
.sn-concept .sn-visual { background: none !important; border: 0 !important; box-shadow: none !important; }
.sn-wiki .sn-wq .sn-visual--inline { background: var(--sn-glass-card) !important; border: var(--sn-hair) solid var(--sn-glass-edge) !important; box-shadow: var(--sn-glass-card-shadow) !important; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.sn-lang__panel, .sn-pop { background: var(--sn-glass-solid); }
}
@media (prefers-reduced-transparency: reduce) {
	.sn-lang__panel, .sn-pop { background: var(--sn-glass-solid); -webkit-backdrop-filter: none; backdrop-filter: none; }
	.sn-visual:not(.sn-visual--hero):not(.sn-visual--bare), .sn-concept, .sn-card, .sn-callout,
	.sn-section--alt .sn-visual:not(.sn-visual--hero):not(.sn-visual--bare), .sn-section--alt .sn-concept, .sn-section--alt .sn-card { background: var(--sn-card-bg); }
	.sn-wiki .sn-wq .sn-visual--inline, .sn-pager__num[aria-current="true"] { background: var(--sn-card-bg) !important; }
}
@media (forced-colors: active) {
	.sn-lang__panel, .sn-pop { background: Canvas; border: 1px solid CanvasText; }
}



/* 1.7.0: link note inside the selected place's tooltip */
.sn-pop .sn-pop__link { display: block; margin-top: 0.45em; padding-top: 0.45em; border-top: var(--sn-hair) solid var(--sn-line); font-size: 0.75rem; line-height: 1.45; color: var(--sn-text-2); }
/* the orbit's tooltip sits above neighbouring hero content (both blocks carry a reveal transform).
   Its backdrop-filter cannot reach outside the transformed figure, so it uses the near-opaque glass. */
.sn-orbit-stage { z-index: 2; }
.sn-pop { background: var(--sn-glass-solid); }

/* 1.7.1: every big title with the breathing underscore (h1, h2) has one size site-wide */
h1:not(.site-title):not(.screen-reader-text):not(.sn-no-cursor):not(.sn-faq-group__title),
h2:not(.site-title):not(.screen-reader-text):not(.sn-no-cursor):not(.sn-faq-group__title),
.entry-content h1.wp-block-heading, .entry-content h2.wp-block-heading:not(.sn-faq-group__title),
.sn-chapter-template .entry-title, .sn-chapter-template .entry-content h2:not(.sn-faq-group__title),
.sn-hero h1, .sn-hero--v2 h1, .sn-story h2, .sn-section-head h2, .sn-page-title, .sn-wiki-rooms-title {
	font-size: clamp(2rem, 4.2vw, 3.25rem) !important; line-height: 1.08 !important; letter-spacing: -0.025em;
}

/* 1.9.3: section headings inside a signals article read like the X Article (the one-size rule above is for page titles) */
.sn-sig .sn-sig__body h2:not(.site-title):not(.screen-reader-text):not(.sn-no-cursor):not(.sn-faq-group__title) { /* (0,6,1) > the (0,4,1) rule above */ font-size: clamp(1.375rem, 1.2rem + 0.8vw, 1.75rem) !important; line-height: 1.2 !important; letter-spacing: -0.012em; margin: 2.4rem 0 0.8rem; }

/* 1.7.1: buttons. One size, one corner radius (a little smaller), and paired buttons share one width */
.wp-block-button__link, .button, button.button, input[type="submit"], .wp-element-button,
.wp-block-button.is-style-sn-blue .wp-block-button__link {
	border-radius: 14px !important; padding: 0.56em 1.05em !important; font-size: 0.9375rem; line-height: 1.2;
}
.wp-block-buttons:has(> .wp-block-button + .wp-block-button) {
	display: grid !important; grid-auto-flow: column; grid-auto-columns: 1fr; width: max-content; max-width: 100%;
}
.wp-block-buttons.is-content-justification-center:has(> .wp-block-button + .wp-block-button),
.has-text-align-center .wp-block-buttons:has(> .wp-block-button + .wp-block-button),
.sn-hero .wp-block-buttons:has(> .wp-block-button + .wp-block-button) { margin-left: auto; margin-right: auto; gap: 0.5rem; }
.wp-block-buttons:has(> .wp-block-button + .wp-block-button) > .wp-block-button { width: auto !important; min-width: 0; margin: 0 !important; }
.wp-block-buttons:has(> .wp-block-button + .wp-block-button) .wp-block-button__link { display: block; width: 100%; text-align: center; box-sizing: border-box; }
/* phones: a pair that cannot sit side by side on one line stacks, still one width and one height */
@media (max-width: 480px) {
	.wp-block-buttons:has(> .wp-block-button + .wp-block-button) { grid-auto-flow: row; }
	.wp-block-buttons:has(> .wp-block-button + .wp-block-button) .wp-block-button__link { white-space: nowrap; }
}

/* ---- 1.7.2 ----------------------------------------------------------------------------------------- */
/* Constitution rooms: Pactum, Codex and LEX in one slightly smaller reading size (16px, line-height 1.65).
   Long Codex blocks arrive split into short paragraphs (create-content.php, sn_codex_breathe); they sit
   0.6em apart: a little air, no wall of text. */
.sn-room__pactum, .sn-room__codex p, .sn-room__codex li, .sn-room ol li { font-size: 1rem !important; line-height: 1.65 !important; }
.sn-room__codex p { margin: 0.6em 0 0 !important; }
.sn-room__codex > p:first-child { margin-top: 0.5rem !important; }
/* status: label stays quiet; the value ("locked", "proposed") reads in the text colour at weight 500 */
.sn-room__status .sn-room__status-v { color: var(--sn-text); font-weight: 500; }

/* ---------------------------------------------------------------------------
 * 1.8.0: signals, the article section (/signals/, inc/sn-signals.php)
 * ------------------------------------------------------------------------- */
.sn-sig figure { margin: 2rem 0 0; }
.sn-sig picture, .sn-sig img, .sn-sig video, .sn-sig iframe { display: block; width: 100%; height: auto; }
.sn-sig figure img, .sn-sig video, .sn-sig iframe, .sn-sig__item img { border-radius: 20px; background: var(--sn-card-bg); border: 1px solid var(--sn-line); }
.sn-sig iframe, .sn-sig video { aspect-ratio: 16 / 9; }
.sn-sig video { object-fit: cover; }
.sn-sig figcaption { margin-top: 0.6rem; font-size: 0.875rem; line-height: 1.45; color: var(--sn-text-2); text-align: center; }
.sn-sig__meta { margin: 0.4rem 0 0 !important; font-size: 0.9375rem; color: var(--sn-text-2); }
.sn-sig__meta a { color: var(--sn-blue); text-decoration: none; }
.sn-sig__meta a:hover { color: var(--sn-text); }
/* Article text: Codex readability (16-17px, 1.65, short paragraphs with air between them) */
.sn-sig__body { margin-top: 2.2rem; }
.sn-sig__body p, .sn-sig__body li { font-size: var(--sn-body-size, 1rem); line-height: 1.65; color: var(--sn-text); }
.sn-sig__body p { margin: 0 0 1.05em; }
.sn-sig__body h2 { font-size: clamp(1.375rem, 1.2rem + 0.8vw, 1.75rem); line-height: 1.2; letter-spacing: -0.012em; font-weight: 600; margin: 2.2rem 0 0.8rem; }
.sn-sig__body h3 { font-size: 1.1875rem; line-height: 1.3; font-weight: 600; margin: 1.8rem 0 0.6rem; }
.sn-sig__body ul, .sn-sig__body ol { margin: 0 0 1.05em; padding-left: 1.2rem; }
.sn-sig__body li { margin: 0.3em 0; }
.sn-sig__body blockquote { margin: 1.6rem 0; padding: 0 0 0 1.1rem; border-left: 2px solid var(--sn-line); }
.sn-sig__body blockquote p { color: var(--sn-text-2); }
.sn-sig__body hr { border: 0; border-top: 1px solid var(--sn-line); margin: 2.2rem 0; }
.sn-sig__body code { font-family: var(--sn-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace); font-size: 0.9em; }
.sn-sig__body a { text-decoration: none; font-weight: 500; }
.sn-sig__body figure { margin: 1.8rem 0; }
.sn-sig__more { margin-top: 2.4rem; }
/* Index (1.24: graphic-only cards; title lives in the tile + aria-label on the link) */
.sn-sig__list { list-style: none; margin: 2.2rem 0 0; padding: 0; display: grid; gap: 1.75rem; }
.sn-sig__item { display: block; text-decoration: none !important; color: inherit; }
.sn-sig__item:focus-visible { outline: var(--sn-focus-w, 1.5px) solid var(--sn-focus, var(--sn-orange)); outline-offset: 4px; border-radius: 22px; }
/* legacy text under the card (removed in 1.24 markup; kept inert if an old cache serves them) */
.sn-sig__d, .sn-sig__t, .sn-sig__x { display: none !important; }
.sn-sig__empty { margin-top: 2.4rem; padding: 2.6rem 1.5rem; border: 1px solid var(--sn-line); border-radius: 20px; text-align: center; color: var(--sn-text-2); }
.sn-sig__empty svg { display: block; margin: 0 auto 0.9rem; fill: none; stroke: var(--sn-text-2); stroke-width: 1; opacity: 0.7; }
.sn-sig__empty svg circle:first-child { fill: var(--sn-orange-bright); stroke: none; opacity: 0.9; }
.sn-sig__empty p { margin: 0 !important; font-size: 1rem; }

/* 1.9.0 wiki: constitution rooms found by the search (shown only while searching), rows like the questions above.
   1.9.1: flush left and heading-coloured (the theme list and link rules won before). */
.sn-wiki .sn-wiki-rooms .sn-wiki-rooms__list { list-style: none !important; margin: 0 !important; padding: 0 !important; border-top: var(--sn-hair) solid var(--sn-line); }
.sn-wiki .sn-wiki-rooms .sn-wiki-rooms__list li { margin: 0 !important; padding: 0 !important; border-bottom: var(--sn-hair) solid var(--sn-line); }
.sn-wiki .sn-wiki-rooms .sn-wiki-rooms__list li::before, .sn-wiki .sn-wiki-rooms .sn-wiki-rooms__list li::marker { content: none; }
.sn-wiki .sn-wiki-rooms .sn-wiki-rooms__list a { display: block; padding: 0.75rem 0; color: var(--sn-heading) !important; text-decoration: none !important; font-weight: 400 !important; font-size: 1.0625rem; line-height: 1.4; background: none !important; }
.sn-wiki .sn-wiki-rooms .sn-wiki-rooms__list a small { display: block; font-family: var(--sn-font-mono); font-size: 0.75rem; color: var(--sn-orange); margin-bottom: 0.15rem; }
.sn-wiki .sn-wiki-rooms .sn-wiki-rooms__list a:hover, .sn-wiki .sn-wiki-rooms .sn-wiki-rooms__list a:focus-visible { color: var(--sn-green) !important; }
.sn-wiki .sn-wiki-rooms .sn-wiki-rooms__more { padding: 0.75rem 0; font-family: var(--sn-font-mono); font-size: 0.8125rem; color: var(--sn-text-muted); }

/* 1.9.0 contribute page */
.sn-anchor { display: block; height: 0; scroll-margin-top: calc(var(--sn-header-h) + 1rem); }
.entry-content p.sn-contribute__more { margin-top: 2rem !important; color: var(--sn-text-2); font-size: 0.9375rem; }

/* ---------------------------------------------------------------------------------------------------------------
 * 1.9.2: native figures in signals articles (.sn-nf). The publisher turns figures/<name>.html (+ optional scoped
 * figures/<name>.css) into <figure class="sn-nf sn-nf--<name>">. Real text, inline SVG, the page background, liquid
 * glass panels, site fonts and colours, light + dark. No slabs, no gradients, thin strokes.
 * Kit: __kicker __title __lead | __grid (--2 --3) __panel (--g --b --o --muted) __label | __flow __step __num __icon
 *      __list (li > svg.sn-nf__mark) __rows __row __k | __code __bar | __bars __seg (--g --b) | colours .sn-nf-g/-b/-o/-m
 * ------------------------------------------------------------------------------------------------------------- */
.sn-sig .sn-nf {
	--nf-w: min(60rem, calc(100vw - 2.5rem));
	width: var(--nf-w); max-width: none; margin: 2.6rem 0 2.4rem calc((100% - var(--nf-w)) / 2);
	color: var(--sn-text); font-family: var(--sn-font-text); font-size: 0.9375rem; line-height: 1.45;
}
.sn-sig .sn-nf * { box-sizing: border-box; }
.sn-sig .sn-nf :where(p, li, ul, ol, h3, h4) { /* (0,2,0): beats .sn-sig__body p, loses to the kit classes below */ margin: 0; padding: 0; font-size: inherit; line-height: inherit; color: inherit; font-weight: inherit; letter-spacing: inherit; list-style: none; }
.sn-sig .sn-nf svg { display: block; max-width: 100%; height: auto; overflow: visible; }
.sn-sig .sn-nf svg text { font-family: var(--sn-font-text); fill: currentColor; }
.sn-sig .sn-nf svg .m, .sn-sig .sn-nf .sn-nf-mono { font-family: var(--sn-font-mono); }
.sn-sig .sn-nf__kicker { font-family: var(--sn-font-mono); font-size: 0.8125rem; letter-spacing: 0.01em; color: var(--sn-orange); }
.sn-sig .sn-nf__title { margin: 0.25rem 0 0; font-family: var(--sn-font-display); font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem); line-height: 1.2; letter-spacing: -0.012em; font-weight: 600; color: var(--sn-heading); }
.sn-sig .sn-nf__lead { margin: 0.35rem 0 0; color: var(--sn-text-2); font-size: 0.9375rem; }
.sn-sig .sn-nf__head + * { margin-top: 1.25rem; }
.sn-sig .sn-nf__grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); align-items: stretch; }
.sn-sig .sn-nf__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sn-sig .sn-nf__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sn-sig .sn-nf__panel {
	position: relative; padding: 1.15rem 1.25rem; border-radius: var(--sn-radius);
	background: var(--sn-glass-card); border: var(--sn-hair) solid var(--sn-glass-edge); box-shadow: var(--sn-glass-card-shadow);
	-webkit-backdrop-filter: var(--sn-glass-blur); backdrop-filter: var(--sn-glass-blur);
}
.sn-sig .sn-nf__panel--g { border-color: color-mix(in srgb, var(--sn-green) 45%, transparent); }
.sn-sig .sn-nf__panel--b { border-color: color-mix(in srgb, var(--sn-blue) 40%, transparent); }
.sn-sig .sn-nf__panel--o { border-color: color-mix(in srgb, var(--sn-orange-bright) 45%, transparent); }
.sn-sig .sn-nf__panel--muted { color: var(--sn-text-2); }
.sn-sig .sn-nf__label { display: block; font-family: var(--sn-font-mono); font-size: 0.6875rem; color: var(--sn-text-muted); margin-bottom: 0.7rem; }
.sn-sig .sn-nf__h { display: block; font-size: 1.0625rem; font-weight: 600; color: var(--sn-heading); line-height: 1.3; }
.sn-sig .sn-nf__panel--muted .sn-nf__h { color: var(--sn-text-2); }
.sn-sig .sn-nf__s { display: block; margin-top: 0.3rem; color: var(--sn-text-2); font-size: 0.875rem; }
.sn-sig .sn-nf-g { color: var(--sn-green); } .sn-sig .sn-nf-b { color: var(--sn-blue); } .sn-sig .sn-nf-o { color: var(--sn-orange); } .sn-sig .sn-nf-m { color: var(--sn-text-muted); }
/* flow: steps joined by thin arrows; vertical on narrow screens */
.sn-sig .sn-nf__flow { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 1.6rem; }
.sn-sig .sn-nf__step { display: flex; flex-direction: column; }
.sn-sig .sn-nf__step:not(:last-child)::after {
	content: ""; position: absolute; top: 50%; right: -1.45rem; width: 1.3rem; height: 0.6rem;
	background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 10'%3E%3Cpath d='M0 5h20M16 1.5 20.5 5 16 8.5' fill='none' stroke='%2386868a' stroke-width='1'/%3E%3C/svg%3E");
}
.sn-sig .sn-nf__top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1.1rem; }
.sn-sig .sn-nf__icon { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; }
.sn-sig .sn-nf__num { font-family: var(--sn-font-mono); font-size: 0.8125rem; }
/* lists with thin marks */
.sn-sig .sn-nf__list li { display: flex; gap: 0.65rem; align-items: flex-start; padding: 0.55rem 0; }
.sn-sig .sn-nf__list li + li { border-top: var(--sn-hair) solid var(--sn-glass-edge); }
.sn-sig .sn-nf__mark { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 0.05rem; fill: none; stroke: currentColor; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
/* key / value rows */
.sn-sig .sn-nf__rows { display: grid; gap: 0; }
.sn-sig .sn-nf__row { display: grid; grid-template-columns: minmax(8rem, 0.9fr) 1.1fr; gap: 0.25rem 1rem; padding: 0.6rem 0; align-items: baseline; }
.sn-sig .sn-nf__row + .sn-nf__row { border-top: var(--sn-hair) solid var(--sn-glass-edge); }
.sn-sig .sn-nf__k { font-family: var(--sn-font-mono); font-size: 0.8125rem; font-weight: 600; }
.sn-sig .sn-nf__row > :last-child { color: var(--sn-text-2); font-size: 0.875rem; }
.sn-sig .sn-nf__rows--stack .sn-nf__row { grid-template-columns: 1fr; gap: 0.1rem; }
/* code / terminal line */
.sn-sig .sn-nf__code { margin-top: 1rem; padding: 0; overflow: hidden; }
.sn-sig .sn-nf__bar { display: flex; align-items: center; gap: 0.4rem; padding: 0.55rem 1rem; border-bottom: var(--sn-hair) solid var(--sn-glass-edge); font-family: var(--sn-font-mono); font-size: 0.6875rem; color: var(--sn-text-muted); }
.sn-sig .sn-nf__bar i { width: 8px; height: 8px; border-radius: 50%; background: var(--sn-line); display: inline-block; }
.sn-sig .sn-nf__bar i:nth-child(1) { background: #ff5f57; } .sn-sig .sn-nf__bar i:nth-child(2) { background: #febc2e; } .sn-sig .sn-nf__bar i:nth-child(3) { background: #28c840; margin-right: 0.5rem; }
.sn-sig .sn-nf__line { display: block; padding: 0.8rem 1rem; font-family: var(--sn-font-mono); font-size: 0.8125rem; line-height: 1.6; color: var(--sn-text); white-space: normal; overflow-wrap: anywhere; }
/* proportional bars */
.sn-sig .sn-nf__bars { display: flex; gap: 0.35rem; }
.sn-sig .sn-nf__seg { display: flex; align-items: center; justify-content: center; min-height: 3rem; padding: 0.4rem 0.6rem; border-radius: var(--sn-radius-s); border: var(--sn-hair) solid; font-weight: 600; font-size: 0.9375rem; text-align: center; color: var(--sn-heading); }
.sn-sig .sn-nf__seg--g { background: var(--sn-green-tint); border-color: color-mix(in srgb, var(--sn-green) 55%, transparent); }
.sn-sig .sn-nf__seg--b { background: color-mix(in srgb, var(--sn-blue) 9%, transparent); border-color: color-mix(in srgb, var(--sn-blue) 50%, transparent); }
.sn-sig .sn-nf figcaption { margin-top: 0.9rem; }
@media (max-width: 760px) {
	.sn-sig .sn-nf__grid--2, .sn-sig .sn-nf__grid--3 { grid-template-columns: 1fr; }
	.sn-sig .sn-nf__flow { grid-auto-flow: row; gap: 1.1rem; }
	.sn-sig .sn-nf__step { flex-direction: row; align-items: center; gap: 0.9rem; padding: 0.9rem 1rem; }
	.sn-sig .sn-nf__step .sn-nf__top { flex-direction: column-reverse; align-items: center; gap: 0.3rem; margin: 0; min-width: 2.5rem; }
	.sn-sig .sn-nf__step:not(:last-child)::after { top: auto; bottom: -1.05rem; right: auto; left: 2.1rem; width: 1rem; height: 1rem; transform: rotate(90deg); }
	.sn-sig .sn-nf__row { grid-template-columns: 1fr; gap: 0.1rem; }
}
@media (prefers-reduced-transparency: reduce) { .sn-sig .sn-nf__panel { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--sn-card-bg); } }

/* §V20 1.10.0 ------------------------------------------------------------------
   Floating glass: the header is a floating pill; the language panel and the tooltips use the same
   material (sheen, light edge, soft drop). Blur only on these small floating layers; the home panels
   get the sheen, edge and shadow without blur. Values are our own, tuned to this palette. */
:root {
	--sn-pill-bg: linear-gradient(118deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.3) 40%, rgba(255, 255, 255, 0.46) 73%, rgba(255, 255, 255, 0.62));
	--sn-pill-solid: rgba(251, 251, 252, 0.95);
	--sn-pill-edge: rgba(255, 255, 255, 0.74);
	--sn-pill-ring: rgba(38, 38, 42, 0.075);
	--sn-pill-blur: blur(14px) saturate(165%);
	--sn-pill-shadow: 0 0 0 0.5px var(--sn-pill-ring), 0 14px 30px -16px rgba(30, 36, 44, 0.3), 0 2px 7px rgba(30, 36, 44, 0.06);
	--sn-panel-bg: linear-gradient(118deg, rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0.5) 40%, rgba(255, 255, 255, 0.64) 73%, rgba(255, 255, 255, 0.78));
	--sn-panel-shadow: 0 0 0 0.5px var(--sn-pill-ring), 0 12px 28px -18px rgba(30, 36, 44, 0.24), 0 1px 4px rgba(30, 36, 44, 0.04);
	--sn-pill-r: 20px;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-sn-theme="light"]) {
		--sn-pill-bg: linear-gradient(118deg, rgba(66, 66, 72, 0.66), rgba(40, 40, 45, 0.42) 40%, rgba(50, 50, 56, 0.52) 73%, rgba(62, 62, 68, 0.62));
		--sn-pill-solid: rgba(36, 36, 40, 0.96);
		--sn-pill-edge: rgba(255, 255, 255, 0.13);
		--sn-pill-ring: rgba(0, 0, 0, 0.34);
		--sn-pill-shadow: 0 0 0 0.5px var(--sn-pill-ring), 0 14px 30px -14px rgba(0, 0, 0, 0.62), 0 2px 7px rgba(0, 0, 0, 0.22);
		--sn-panel-bg: linear-gradient(118deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.02) 40%, rgba(255, 255, 255, 0.035) 73%, rgba(255, 255, 255, 0.055));
		--sn-panel-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.3), 0 12px 28px -18px rgba(0, 0, 0, 0.55), 0 1px 4px rgba(0, 0, 0, 0.14);
	}
}
:root[data-sn-theme="dark"] {
	--sn-pill-bg: linear-gradient(118deg, rgba(66, 66, 72, 0.66), rgba(40, 40, 45, 0.42) 40%, rgba(50, 50, 56, 0.52) 73%, rgba(62, 62, 68, 0.62));
	--sn-pill-solid: rgba(36, 36, 40, 0.96);
	--sn-pill-edge: rgba(255, 255, 255, 0.13);
	--sn-pill-ring: rgba(0, 0, 0, 0.34);
	--sn-pill-shadow: 0 0 0 0.5px var(--sn-pill-ring), 0 14px 30px -14px rgba(0, 0, 0, 0.62), 0 2px 7px rgba(0, 0, 0, 0.22);
	--sn-panel-bg: linear-gradient(118deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.02) 40%, rgba(255, 255, 255, 0.035) 73%, rgba(255, 255, 255, 0.055));
	--sn-panel-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.3), 0 12px 28px -18px rgba(0, 0, 0, 0.55), 0 1px 4px rgba(0, 0, 0, 0.14);
}
/* Header: a floating pill, inset from the edges, sticky */
#masthead { border-bottom: 0 !important; padding-top: 10px; }
#masthead::before {
	top: 10px; bottom: 0; left: max(12px, calc(50% - 610px)); right: max(12px, calc(50% - 610px));
	background: var(--sn-pill-bg);
	-webkit-backdrop-filter: var(--sn-pill-blur); backdrop-filter: var(--sn-pill-blur);
	border: 1px solid var(--sn-pill-edge); border-radius: var(--sn-pill-r); box-shadow: var(--sn-pill-shadow);
}
@media (max-width: 767px) { #masthead { padding-top: 8px; } #masthead::before { top: 8px; left: 10px; right: 10px; border-radius: 18px; } }
.header-navigation .menu > li > a:hover { opacity: 0.8; }
/* Language panel and tooltips: the same material, with blur */
.sn-lang__panel, .sn-pop {
	background: var(--sn-pill-bg); border: 1px solid var(--sn-pill-edge); box-shadow: var(--sn-pill-shadow);
	-webkit-backdrop-filter: var(--sn-pill-blur); backdrop-filter: var(--sn-pill-blur); border-radius: 16px;
}
.sn-orbit-stage .sn-pop { background: var(--sn-pill-solid); } /* its blur cannot reach outside the transformed figure */
.mobile-navigation .sn-lang__panel { -webkit-backdrop-filter: none; backdrop-filter: none; }
/* Home panels and cards: sheen, edge and shadow, no blur */
.sn-visual:not(.sn-visual--hero):not(.sn-visual--bare), .sn-concept, .sn-card, .sn-callout,
.sn-section--alt .sn-visual:not(.sn-visual--hero):not(.sn-visual--bare), .sn-section--alt .sn-concept, .sn-section--alt .sn-card {
	background: var(--sn-panel-bg); border: 1px solid var(--sn-pill-edge); box-shadow: var(--sn-panel-shadow);
}
.sn-concept .sn-visual { background: none !important; border: 0 !important; box-shadow: none !important; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	#masthead::before, .sn-lang__panel, .sn-pop { background: var(--sn-pill-solid); }
}
@media (prefers-reduced-transparency: reduce) {
	#masthead::before, .sn-lang__panel, .sn-pop { background: var(--sn-pill-solid); -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (forced-colors: active) {
	#masthead::before, .sn-lang__panel, .sn-pop { background: Canvas; border: 1px solid CanvasText; }
}
/* Path line to title: one tight gap everywhere (home sections were 78px, chapter pages 16px) */
.sn-path + h1, .sn-path + h2, .sn-path + .wp-block-heading,
.sn-section-head > .sn-path + h2 { margin-top: 0 !important; }
.sn-path { margin-bottom: 0.875rem; }

/* 1.10.0 home "what is this, really": the rules from local to planetary to interplanetary, under one directive */
.sn-scale { margin: 2rem 0 2.25rem !important; padding: clamp(1.1rem, 3vw, 1.75rem); border-radius: var(--sn-pill-r); background: var(--sn-panel-bg); border: 1px solid var(--sn-pill-edge); box-shadow: var(--sn-panel-shadow); max-width: none !important; }
.sn-scale__dir { margin: 0 0 1.25rem !important; padding: 0 0 1rem; border-bottom: var(--sn-hair) solid var(--sn-line); text-align: center; font-size: 1.0625rem !important; line-height: 1.5; color: var(--sn-heading); }
.sn-scale__k { display: block; font-family: var(--sn-font-mono); font-size: 0.9rem; color: var(--sn-orange); margin-bottom: 0.3rem; }
.sn-scale__steps { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.sn-scale__step { position: relative; margin: 0 !important; padding: 0; text-align: center; font-size: 0.9375rem; line-height: 1.5; color: var(--sn-text-2); }
.sn-scale__step b { display: block; margin: 0.35rem 0 0.2rem; font-family: var(--sn-font-mono); font-weight: 400; font-size: 0.8125rem; color: var(--sn-orange); }
.sn-scale__step span { display: block; }
.sn-scale__step:not(:last-child)::after { /* the link to the next scale */
	content: ""; position: absolute; top: 3.4rem; left: calc(50% + 3.6rem); width: calc(100% - 7.2rem + 1rem); height: 1px;
	background: repeating-linear-gradient(90deg, var(--sn-orange) 0 4px, transparent 4px 9px); opacity: 0.55;
	background-size: 18px 1px; animation: sn-scale-flow 1.6s linear infinite;
}
@keyframes sn-scale-flow { to { background-position: 18px 0; } }
.sn-scale__art { display: block; width: 6.8rem; height: 6.8rem; margin: 0 auto; overflow: visible; }
.sn-scale__art * { vector-effect: non-scaling-stroke; }
.sn-scale__ring, .sn-scale__globe, .sn-scale__lat { fill: none; stroke: var(--sn-text-muted); stroke-width: 1; opacity: 0.45; }
.sn-scale__globe { opacity: 0.6; }
.sn-scale__rules { fill: none; stroke: var(--sn-green); stroke-width: 1; stroke-dasharray: 2 5; opacity: 0.8; transform-origin: 60px 60px; animation: sn-scale-spin 48s linear infinite; }
.sn-scale__web, .sn-scale__link, .sn-scale__arc { fill: none; stroke: var(--sn-orange); stroke-width: 1; opacity: 0.5; stroke-dasharray: 3 4; animation: sn-scale-dash 2.4s linear infinite; }
.sn-scale__ppl circle, .sn-scale__nodes circle { fill: var(--sn-green); animation: sn-scale-pulse 3.2s ease-in-out infinite; }
.sn-scale__ppl circle:nth-child(2), .sn-scale__nodes circle:nth-child(2) { animation-delay: -0.6s; }
.sn-scale__ppl circle:nth-child(3), .sn-scale__nodes circle:nth-child(3) { animation-delay: -1.3s; }
.sn-scale__ppl circle:nth-child(4), .sn-scale__nodes circle:nth-child(4) { animation-delay: -1.9s; }
.sn-scale__ppl circle:nth-child(5), .sn-scale__nodes circle:nth-child(5) { animation-delay: -2.5s; }
.sn-scale__core, .sn-scale__sig { fill: var(--sn-orange); }
.sn-scale__p1 { fill: var(--sn-c-earth); }
.sn-scale__p2 { fill: var(--sn-c-mars); }
.sn-scale__hab { fill: none; stroke: var(--sn-heading); stroke-width: 1.2; opacity: 0.7; }
@keyframes sn-scale-spin { to { transform: rotate(360deg); } }
@keyframes sn-scale-dash { to { stroke-dashoffset: -14; } }
@keyframes sn-scale-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.45; } }
@media (max-width: 640px) {
	.sn-scale__steps { grid-template-columns: 1fr; gap: 1.1rem; }
	.sn-scale__step { display: grid; grid-template-columns: 5rem 1fr; column-gap: 0.9rem; text-align: left; align-items: center; }
	.sn-scale__art { width: 5rem; height: 5rem; grid-row: span 2; }
	.sn-scale__step b { margin: 0; align-self: end; }
	.sn-scale__step span { align-self: start; }
	.sn-scale__step:not(:last-child)::after { top: auto; bottom: -0.85rem; left: 2.5rem; width: 1px; height: 0.6rem; background: var(--sn-orange); animation: none; }
}

/* 1.10.0 signals index: native card, same motif as the share card and the figures (no picture to download) */
.sn-tile { position: relative; display: grid; grid-template-columns: 1fr minmax(9rem, 38%); align-items: center; gap: 1rem;
	aspect-ratio: 16 / 9; padding: clamp(1.1rem, 4vw, 2.2rem); border-radius: 20px; overflow: hidden; isolation: isolate;
	background: var(--sn-panel-bg); border: 1px solid var(--sn-pill-edge); box-shadow: var(--sn-panel-shadow); color: var(--sn-heading); }
.sn-tile__glow { position: absolute; z-index: -1; right: -18%; top: -38%; width: 70%; aspect-ratio: 1; border-radius: 50%;
	background: radial-gradient(closest-side, color-mix(in srgb, var(--sn-c-sun) 22%, transparent), transparent); pointer-events: none; }
.sn-tile__txt { align-self: center; min-width: 0; }
.sn-tile__path { display: block; font-family: var(--sn-font-mono); font-size: clamp(0.6875rem, 0.6rem + 0.35vw, 0.8125rem); color: var(--sn-orange); margin-bottom: 0.6rem; }
.sn-tile__sep { color: var(--sn-text-muted); padding: 0 0.45em; }
.sn-tile__title { display: block; font-family: var(--sn-font-display); font-size: clamp(1.35rem, 0.9rem + 2.2vw, 2.4rem); line-height: 1.08; letter-spacing: -0.025em; font-weight: 400; text-transform: lowercase; color: var(--sn-heading); }
.sn-tile__title::after { content: ""; display: inline-block; width: 0.42em; height: 0.06em; min-height: 2px; margin-left: 0.1em; background: var(--sn-orange); border-radius: 1px; animation: sn-cursor 1.2s ease-in-out infinite alternate; }
.sn-tile__art { width: 100%; height: auto; overflow: visible; }
.sn-tile__orbit { fill: none; stroke: var(--sn-text-muted); stroke-width: 1; stroke-dasharray: 2 5; opacity: 0.55; vector-effect: non-scaling-stroke;
	transform-origin: 120px 120px; transform: rotate(var(--sn-to, -18deg)); }
.sn-tile__meter { fill: none; stroke: var(--sn-green); stroke-width: 1.5; opacity: 0.85; vector-effect: non-scaling-stroke; }
.sn-tile__ticks { fill: none; stroke: var(--sn-green); stroke-width: 1; opacity: 0.6; vector-effect: non-scaling-stroke; }
.sn-tile__earth { fill: var(--sn-c-earth); }
.sn-tile__earthg { transform-origin: 120px 120px; transform: rotate(var(--sn-te, 0deg)); }
.sn-tile__land { fill: var(--sn-c-land); }
.sn-tile__camps circle { fill: var(--sn-c-camp); transform-box: fill-box; transform-origin: center; transition: transform 0.2s ease; }
.sn-tile--c0 .sn-tile__camps circle:nth-child(1),
.sn-tile--c1 .sn-tile__camps circle:nth-child(2),
.sn-tile--c2 .sn-tile__camps circle:nth-child(3) { fill: var(--sn-orange); transform: scale(1.35); }
.sn-tile__needle path { stroke: var(--sn-orange); stroke-width: 2.2; stroke-linecap: round; }
.sn-tile__needle circle { fill: var(--sn-orange); }
.sn-tile__needle { transform-origin: 120px 120px; transform: rotate(var(--sn-tn-a, 38deg)); animation: sn-tile-needle 7s ease-in-out infinite alternate; }
.sn-tile__moon { fill: var(--sn-c-moon); }
.sn-tile__moonrun { transform-origin: 120px 120px; animation: sn-tile-moon var(--sn-tm, 40s) linear infinite; animation-delay: var(--sn-td, 0s); }
.sn-tile__foot { position: absolute; left: clamp(1.1rem, 4vw, 2.2rem); right: clamp(1.1rem, 4vw, 2.2rem); bottom: clamp(0.7rem, 2.4vw, 1.3rem); display: flex; justify-content: space-between; font-family: var(--sn-font-mono); font-size: clamp(0.625rem, 0.55rem + 0.3vw, 0.75rem); color: var(--sn-text-muted); }
@keyframes sn-tile-needle { from { transform: rotate(var(--sn-tn-a, 30deg)); } to { transform: rotate(var(--sn-tn-b, 46deg)); } }
@keyframes sn-tile-moon { to { transform: rotate(-360deg); } }
/* 1.24: orange frame + soft lift on hover (same language as the ESU step frames), rounded corners kept */
.sn-tile { transition: border-color 0.2s ease, box-shadow 0.25s ease, transform 0.25s var(--sn-ease, ease); }
@media (hover: hover) and (pointer: fine) {
	.sn-sig__item:hover .sn-tile {
		border-color: var(--sn-orange);
		box-shadow: var(--sn-pill-shadow);
		transform: translateY(-2px);
	}
}
@media (prefers-reduced-motion: reduce) {
	.sn-tile { transition: border-color 0.2s ease, box-shadow 0.2s ease; }
	.sn-sig__item:hover .sn-tile { transform: none; }
}
@media (max-width: 520px) { .sn-tile { grid-template-columns: 1fr 34%; } }
@media (prefers-reduced-motion: reduce) {
	.sn-scale__rules, .sn-scale__web, .sn-scale__link, .sn-scale__arc, .sn-scale__ppl circle, .sn-scale__nodes circle, .sn-scale__step::after,
	.sn-tile__needle, .sn-tile__moonrun, .sn-tile__title::after { animation: none !important; }
	.sn-scale__sig { display: none; }
}

/* 1.10.1 candidate: Korean words stay whole in the scale figure and the signals card */
html:lang(ko) .sn-scale, html:lang(ko) .sn-tile { word-break: keep-all; }
html:lang(ja) .sn-scale, html:lang(ja) .sn-tile { line-break: strict; }

/* 1.10.1: no link is ever underlined (any state, language or theme); keyboard focus shows an outline ring instead */
a, a:link, a:visited, a:hover, a:focus, a:focus-visible, a:active, a *, a:hover * { text-decoration: none !important; }
a:focus-visible { outline: 2px solid var(--sn-blue); outline-offset: 3px; border-radius: 4px; }
@media (forced-colors: active) { a:focus-visible { outline-color: Highlight; } }

/* 1.10.2: day/night switch. Chromium/Safari 18: a circular reveal from the toggle (View Transitions, no extra request);
   elsewhere a short colour crossfade. Only on click, never on load; instant under prefers-reduced-motion (JS). */
::view-transition-old(root), ::view-transition-new(root) { animation: none; mix-blend-mode: normal; }
::view-transition-old(root) { z-index: 1; }
::view-transition-new(root) { z-index: 2; }
html.sn-theme-fade, html.sn-theme-fade *, html.sn-theme-fade *::before, html.sn-theme-fade *::after {
	transition: background-color .32s ease-out, border-color .32s ease-out, fill .32s ease-out, stroke .32s ease-out, box-shadow .32s ease-out !important;
}
@media (prefers-reduced-motion: reduce) {
	::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
	html.sn-theme-fade, html.sn-theme-fade * { transition: none !important; }
}

/* ===== 1.12 ===== */
/* Titles are lowercase, the regulation keeps its capitals */
.sn-keepcase { text-transform: none; }
/* Every title that ends in an underscore breathes (the chapter pages had switched it off); reduced motion keeps it still */
h1::after, h2::after { animation: sn-cursor 1.2s ease-in-out infinite alternate; }
@media (prefers-reduced-motion: reduce) { h1::after, h2::after { animation: none !important; opacity: 1; } }
/* Home: the planetary scene sits under "in plain words", lifted so its rings just reach into that section */
.sn-orbit-band.sn-section { padding-top: 0; position: relative; z-index: 2; }
.sn-section.is-layout-constrained > .sn-orbit-stage--lift { margin-top: clamp(-4.5rem, -6vw, -2rem); }
.sn-plain + .sn-orbit-band, .sn-plain { position: relative; }
/* Signals: the closing cross-links are one aligned glass card */
.sn-xlinks { display: grid; gap: 0; margin: 2.75rem 0 0; padding: 0.35rem 0; border-radius: var(--sn-radius); background: var(--sn-panel-bg); border: 1px solid var(--sn-pill-edge); box-shadow: var(--sn-panel-shadow); -webkit-backdrop-filter: var(--sn-glass-blur); backdrop-filter: var(--sn-glass-blur); max-width: var(--sn-measure); }
.sn-xlinks .sn-xlink { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "k go" "v go"; column-gap: 1rem; row-gap: 0.2rem; align-items: center; padding: 0.95rem 1.25rem; text-decoration: none !important; color: var(--sn-text); }
.sn-xlinks .sn-xlink + .sn-xlink { border-top: 1px solid var(--sn-pill-edge); }
.sn-xlink__k { grid-area: k; font-family: var(--sn-font-mono); font-size: 0.8125rem; color: var(--sn-text-muted); letter-spacing: 0.01em; }
.sn-xlink__v { grid-area: v; font-weight: 500; color: var(--sn-blue); font-size: 1.0625rem; line-height: 1.35; overflow-wrap: anywhere; }
.sn-xlink__go { grid-area: go; color: var(--sn-blue); font-size: 1.35rem; line-height: 1; transition: transform 0.2s var(--sn-ease); }
.sn-xlinks .sn-xlink:hover .sn-xlink__go, .sn-xlinks .sn-xlink:focus-visible .sn-xlink__go { transform: translateX(3px); }
.sn-xlinks .sn-xlink:focus-visible { outline: 2px solid var(--sn-blue); outline-offset: -2px; border-radius: var(--sn-radius); }
.sn-sig .sn-sig__more { margin-top: 2rem !important; }
/* Text that sits right above a row of buttons keeps a clear gap */
.entry-content p + .wp-block-buttons, .sn-section p + .wp-block-buttons { margin-top: 1.75rem; }
/* the narrow chapter layout (about, privacy, wiki, constitution, signals) follows the wider text column */
.content-width-narrow .content-container.site-container { max-width: calc(var(--sn-measure) + 3rem); }
.entry-content .sn-wiki-search p.sn-wiki-count { margin-top: 0.9rem !important; } /* the count keeps clear of the search field */
/* the wordmark's habitat ring and its settlements: a lighter shade of the wordmark colour (same hue), so it stays in
   the background; in night mode the mix with the dark page makes it softer and lower-contrast */
.sn-os__ring { --sn-os-ring: color-mix(in srgb, var(--sn-heading) 34%, var(--sn-bg)); --sn-os-mod: color-mix(in srgb, var(--sn-heading) 46%, var(--sn-bg)); color: var(--sn-os-ring); }
.sn-os__hull { stroke: var(--sn-os-ring); opacity: 1; }
.sn-os__mod, .sn-os__mod--g { stroke: var(--sn-os-mod); opacity: 1; }
.sn-os__mod-l { stroke: var(--sn-os-mod); opacity: 1; }
:root[data-sn-theme="dark"] .sn-os__ring { --sn-os-ring: color-mix(in srgb, var(--sn-heading) 28%, var(--sn-bg)); --sn-os-mod: color-mix(in srgb, var(--sn-heading) 38%, var(--sn-bg)); }
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) .sn-os__ring { --sn-os-ring: color-mix(in srgb, var(--sn-heading) 28%, var(--sn-bg)); --sn-os-mod: color-mix(in srgb, var(--sn-heading) 38%, var(--sn-bg)); } }
@supports not (color: color-mix(in srgb, red 50%, blue)) { .sn-os__hull { stroke: currentColor; opacity: 0.38; } .sn-os__mod, .sn-os__mod-l { stroke: currentColor; opacity: 0.6; } .sn-os__ring { color: var(--sn-heading); } }
/* 1.12: every floating layer (orbit, axiom and triad tooltips, wiki suggestions) is the same frosted glass as the top bar
   and the language menu: translucent, blurred, soft edge, round corners, soft shadow. The orbit scene no longer sits in a
   fading hero block, so its tooltips can blur too. Blur stays on these small layers only. */
.sn-pop, .sn-orbit-stage .sn-pop, .sn-wiki-suggest {
	background: var(--sn-pill-bg); border: 1px solid var(--sn-pill-edge); box-shadow: var(--sn-pill-shadow);
	-webkit-backdrop-filter: var(--sn-pill-blur); backdrop-filter: var(--sn-pill-blur); border-radius: 16px;
}
.sn-wiki-suggest a:hover, .sn-wiki-suggest a:focus-visible, .sn-wiki-suggest a[aria-selected="true"] { border-radius: 10px; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.sn-pop, .sn-orbit-stage .sn-pop, .sn-wiki-suggest { background: var(--sn-pill-solid); }
}
@media (prefers-reduced-transparency: reduce) {
	.sn-pop, .sn-orbit-stage .sn-pop, .sn-wiki-suggest { background: var(--sn-pill-solid); -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (forced-colors: active) {
	.sn-pop, .sn-orbit-stage .sn-pop, .sn-wiki-suggest { background: Canvas; border: 1px solid CanvasText; }
}
/* 1.12: title cursor. Thinner (about 65% of before), the same everywhere. While a title types, a solid caret rides on
   the last typed character (absolutely placed, so nothing moves); the reserved end cursor stays invisible until typing
   ends, then pulses. */
h1::after, h2::after, .sn-tile__title::after { height: 0.04em; min-height: 1.5px; }
.sn-type .sn-ch { position: relative; }
.sn-type .sn-ch::after {
	content: ""; position: absolute; left: calc(100% + 0.06em); bottom: 0.2em; width: 0.42em; height: 0.04em; min-height: 1.5px;
	background: var(--sn-orange); border-radius: 1px; opacity: 0; pointer-events: none;
}
.sn-type.is-typed:not(.is-done) .sn-ch::after { animation: sn-caret-on 64ms linear calc(var(--d) * 64ms) 1 none; }
.sn-type.is-typed:not(.is-done) .sn-ch--end::after { animation-duration: 128ms; }
@keyframes sn-caret-on { from, to { opacity: 1; } }
.sn-type:not(.is-done)::after { animation: none !important; opacity: 0 !important; }
.sn-type.is-done::after { animation: sn-cursor 1.2s ease-in-out infinite alternate; }
@media (prefers-reduced-motion: reduce) {
	.sn-type .sn-ch::after { content: none !important; }
	.sn-type::after, .sn-type:not(.is-done)::after { animation: none !important; opacity: 1 !important; }
}
/* 1.12: the floating glass bar stays pinned while the page scrolls under its blur (a parent theme rule had made it
   relative). Sticky keeps its place in the flow, so nothing shifts; anchors land below it. The language menu lives
   inside the bar, the mobile drawer sits above it. */
#masthead { position: sticky !important; top: 0; z-index: 1000; }
.admin-bar #masthead { top: 32px; }
@media (max-width: 782px) { .admin-bar #masthead { top: 46px; } }
@media (max-width: 600px) { .admin-bar #masthead { top: 0; } }
html { scroll-padding-top: calc(var(--sn-header-h) + 1.5rem); }
/* 1.12: one glass for every boxed area, the same material as the top bar and the language menu (--sn-panel-* and
   --sn-pill-* above): translucent fill, soft light edge, round corners, soft shadow, in both themes. Real blur only on
   single large panels (the contribute terminal); lists of many cards get the matching translucent fill without blur. */
.sn-glass,
.sn-term,
.sn-wiki .sn-wq .sn-visual--inline, .sn-visual--inline,
.sn-sig .sn-nf__panel,
.entry-content .sn-release,
.sn-faq details {
	background: var(--sn-panel-bg) !important; border: 1px solid var(--sn-pill-edge) !important; box-shadow: var(--sn-panel-shadow) !important;
	border-radius: var(--sn-radius);
}
.sn-sig .sn-nf__panel { -webkit-backdrop-filter: none; backdrop-filter: none; }
.sn-sig .sn-nf__panel--g { border-color: color-mix(in srgb, var(--sn-green) 45%, var(--sn-pill-edge)) !important; }
.sn-sig .sn-nf__panel--b { border-color: color-mix(in srgb, var(--sn-blue) 40%, var(--sn-pill-edge)) !important; }
.sn-sig .sn-nf__panel--o { border-color: color-mix(in srgb, var(--sn-orange-bright) 45%, var(--sn-pill-edge)) !important; }
.sn-term { -webkit-backdrop-filter: var(--sn-pill-blur); backdrop-filter: var(--sn-pill-blur); --t-bar: color-mix(in srgb, var(--t-bg) 55%, transparent); }
.entry-content .sn-release { padding: 1rem 1.25rem; border-inline-start: 2px solid var(--sn-orange) !important; }
.sn-faq details { padding: 1rem 1.25rem; margin: 0 0 0.65rem; }
.sn-faq details:first-of-type { border-top: 1px solid var(--sn-pill-edge) !important; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .sn-term { background: var(--t-bg) !important; } }
@media (prefers-reduced-transparency: reduce) {
	.sn-glass, .sn-term, .sn-visual--inline, .sn-sig .sn-nf__panel, .entry-content .sn-release, .sn-faq details { background: var(--sn-card-bg) !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (forced-colors: active) {
	.sn-glass, .sn-term, .sn-visual--inline, .sn-sig .sn-nf__panel, .entry-content .sn-release, .sn-faq details { background: Canvas !important; border: 1px solid CanvasText !important; }
}
/* 1.12: day/night switch keeps the glass frosted. During the View Transition the blurred layers carry a semi-opaque
   fill of their own glass colour (eased in and out), because the snapshots cannot keep a live backdrop blur. */
:root { --sn-vt-fill: rgba(250, 250, 252, 0.84); }
:root[data-sn-theme="dark"] { --sn-vt-fill: rgba(36, 36, 40, 0.86); }
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) { --sn-vt-fill: rgba(36, 36, 40, 0.86); } }
#masthead::before, .sn-lang__panel, .sn-wiki-suggest, .sn-term { transition: background-color 0.13s ease-out; }
.sn-pop { transition: opacity 0.22s var(--sn-ease), transform 0.22s var(--sn-ease), background-color 0.13s ease-out; }
html.sn-vt #masthead::before, html.sn-vt .sn-lang__panel, html.sn-vt .sn-pop, html.sn-vt .sn-wiki-suggest, html.sn-vt .sn-term { background-color: var(--sn-vt-fill) !important; }
html.sn-vt-now #masthead::before, html.sn-vt-now .sn-lang__panel, html.sn-vt-now .sn-pop, html.sn-vt-now .sn-wiki-suggest, html.sn-vt-now .sn-term { transition: none !important; }
/* 1.12: one focus indicator everywhere: a thin outline in the site orange (5.1:1 on the light page, 8.4:1 on the dark
   page, >=4.3:1 on glass panels), replacing the thick blue ring and every browser default (Safari's included). */
:root { --sn-focus: var(--sn-orange); --sn-focus-w: 1.5px; }
input:not([type="hidden"]), select, textarea, button, summary, [tabindex] { -webkit-tap-highlight-color: transparent; }
input:focus, select:focus, textarea:focus, button:focus, summary:focus { outline: none; }
input:not([type="hidden"]):focus, input:focus-visible, select:focus, select:focus-visible, textarea:focus, textarea:focus-visible,
.sn-wiki-search input[type="search"]:focus, .sn-term input:focus, .sn-term textarea:focus,
.sn-term input:focus-visible, .sn-term textarea:focus-visible {
	outline: var(--sn-focus-w) solid var(--sn-focus) !important; outline-offset: 2px !important; box-shadow: none !important;
}
.sn-wiki-search input[type="search"]:focus { border-color: var(--sn-line) !important; }
.sn-term input:focus, .sn-term textarea:focus { border-bottom-color: var(--t-line) !important; outline-offset: 3px !important; }
:focus-visible, a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible,
.sn-lang > summary.sn-lang__btn:focus-visible, .sn-pager__nav button:focus-visible {
	outline: var(--sn-focus-w) solid var(--sn-focus) !important; outline-offset: 3px;
}
a:focus-visible { border-radius: 4px; }
.sn-lang__list a:focus-visible, .sn-xlinks .sn-xlink:focus-visible { outline: var(--sn-focus-w) solid var(--sn-focus) !important; outline-offset: -2px; }
.sn-xlinks .sn-xlink:focus-visible { border-radius: var(--sn-radius); }
.sn-svg .sn-axiom:focus-visible .sn-axiom-dot circle, .sn-svg .sn-role:focus-visible .sn-role-dot circle:first-child { stroke: var(--sn-focus); stroke-width: 1.5; }
@media (forced-colors: active) {
	:focus-visible, input:focus, select:focus, textarea:focus { outline: 2px solid Highlight !important; }
}
/* 1.12: the selected item (top bar, drawer, footer, language menu, pagers) shows only as orange text at weight 500;
   no underline, bar, tint or box. Hover is the same orange at the base weight. aria-current stays in the markup.
   Header and footer labels reserve the 500-weight width with a hidden copy, so selecting causes no shift. */
.header-navigation .menu > li.current-menu-item > a, .header-navigation .menu > li.current-page-ancestor > a,
.mobile-navigation ul li.current-menu-item > a, .mobile-navigation ul li.current-page-ancestor > a,
#colophon .footer-navigation .menu > li.current-menu-item > a, #colophon .footer-navigation .menu > li.current-page-ancestor > a,
.sn-lang__list a[aria-current], .sn-pager__num[aria-current="true"] {
	color: var(--sn-orange) !important; font-weight: 500 !important; box-shadow: none !important; text-decoration: none !important;
	background: transparent !important; border-color: transparent !important;
}
.header-navigation .menu > li > a::after, #colophon .footer-navigation .menu > li > a::after { background: none !important; }
.sn-lang__list a:hover { background: transparent !important; color: var(--sn-orange) !important; }
.sn-lang__list a:hover .sn-lang__code, .sn-lang__list a[aria-current] .sn-lang__code { color: var(--sn-orange); }
.sn-pager__num:hover { color: var(--sn-orange); }
.header-navigation .menu > li > a[data-sn-t], #colophon .footer-navigation .menu > li > a[data-sn-t] {
	display: inline-flex !important; flex-direction: column; align-items: center; justify-content: center;
}
.header-navigation .menu > li > a[data-sn-t]::after, #colophon .footer-navigation .menu > li > a[data-sn-t]::after {
	content: attr(data-sn-t); content: attr(data-sn-t) / ""; display: block; height: 0; overflow: hidden; visibility: hidden;
	font-weight: 500; pointer-events: none; user-select: none; speak: never;
}
.sn-pager__num { font-variant-numeric: tabular-nums; }
.sn-pager__nav button:hover { background: transparent !important; color: var(--sn-orange); }
/* 1.12: one gap between every orange path line and the title under it, 30% under the 1.10.2 16px (all pages, languages, sizes) */
:root { --sn-path-gap: 0.7rem; }
.sn-path, .entry-content p.sn-path, .sn-404 .sn-path, .sn-section-head > .sn-path { margin-bottom: var(--sn-path-gap) !important; }
.sn-path + h1, .sn-path + h2, .sn-path + h3, .sn-path + .wp-block-heading { margin-top: 0 !important; }
/* 1.12: the title cursor and the typing caret share one softer orange (half strength), so it never competes with the title */
:root { --sn-cursor: color-mix(in oklab, var(--sn-orange) 50%, transparent); }
:root[data-sn-theme="dark"] { --sn-cursor: color-mix(in oklab, var(--sn-orange) 50%, transparent); }
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) { --sn-cursor: color-mix(in oklab, var(--sn-orange) 50%, transparent); } }
@supports (color: color-mix(in srgb, red 50%, transparent)) { :root, :root[data-sn-theme] { --sn-cursor: color-mix(in srgb, var(--sn-orange) 50%, transparent); } }
/* 1.17: discreet light-grey caret, tuned per theme */
:root, :root[data-sn-theme] { --sn-cursor: #c4c4c4; }
:root[data-sn-theme="dark"] { --sn-cursor: #6b6f76; }
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) { --sn-cursor: #6b6f76; } }
h1::after, h2::after, .sn-tile__title::after, .sn-type .sn-ch::after { background: var(--sn-cursor) !important; }
@media (forced-colors: active) { h1::after, h2::after, .sn-tile__title::after, .sn-type .sn-ch::after { background: CanvasText !important; } }
/* 1.13: during the crossfade (the WebKit path and the no-View-Transitions fallback) the frosted layers keep their live
   blur (set with and without the prefix in their own rules); only colours fade, backdrop-filter is never transitioned
   or toggled, and the bar's fill stays on throughout, so it is never fully clear. */
html.sn-theme-fade #masthead::before, html.sn-theme-fade .sn-lang__panel, html.sn-theme-fade .sn-pop,
html.sn-theme-fade .sn-wiki-suggest, html.sn-theme-fade .sn-term {
	transition-property: background-color, color, border-color, box-shadow !important;
}

/* 1.17 (t130u): constitution/wiki hover = orange text only, fast 120ms ease-out */
.sn-part__name, .sn-part__desc, .sn-part__go, .sn-wiki-toc a, .sn-wiki-tocbox > summary, .sn-room summary, .sn-room h3, .sn-wiki-rooms__list a { transition: color 120ms ease-out, opacity 120ms ease-out; }
.sn-parts a:hover .sn-part__name, .sn-parts a:focus-visible .sn-part__name,
.sn-parts a:hover .sn-part__desc, .sn-parts a:focus-visible .sn-part__desc,
.sn-parts a:hover .sn-part__go, .sn-parts a:focus-visible .sn-part__go,
.sn-wiki-toc a:hover, .sn-wiki-toc a:focus-visible,
.sn-wiki-rooms__list a:hover, .sn-wiki-rooms__list a:focus-visible,
.sn-room summary:hover, .sn-room summary:focus-visible { color: var(--sn-orange) !important; text-decoration: none !important; }
/* 1.23 (t176u): room titles (h3) never turn orange on hover/focus; they keep their rest colour. Keyboard focus keeps the global outline. */
@media (prefers-reduced-motion: reduce) { .sn-parts a, .sn-part__name, .sn-part__desc, .sn-part__go, .sn-wiki-toc a, .sn-room summary, .sn-room h3 { transition: none; } }

/* 1.17: real monospace kept only on the contact terminal and the home tile address lines */
.sn-term, .sn-term input, .sn-term textarea, .sn-term button, .sn-tile__path { font-family: var(--sn-font-code) !important; }
/* former mono labels now in text font: drop mono tracking */
.sn-path, .sn-eyebrow, .sn-release__line, .sn-faq-group__title, .sn-room .sn-lexw, .sn-room ol li code, .sn-sig .sn-nf__kicker, .sn-xlink__k { letter-spacing: 0 !important; }

/* 1.18 (t135u): contact terminal a bit thinner = site body text measure, left edge aligned with the text; full width on mobile */
/* 1.25 (t213u): exactly 10% narrower maximum (912px → 820.8px), still centred; full width on small screens. */
.sn-questions.is-layout-constrained > .sn-term, .sn-term { max-width: 820.8px !important; width: 100% !important; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; }
/* 1.18 (t136u): native GitHub mark in buttons: inherits text colour, cap-height, same timing as text colour */
.sn-ghi { width: 0.95em; height: 0.95em; flex: none; display: inline-block; vertical-align: -0.12em; margin-right: 0.4em; fill: currentColor; opacity: 0.85; transition: opacity 120ms ease-out, fill 120ms ease-out; }
a:hover > .sn-ghi, a:focus-visible > .sn-ghi { opacity: 1; }
/* 1.18 (t138u/t139u): ONE size for every small orange label = the orange address line (.sn-path). Contact form keeps its mono family. */
:root { --sn-label-size: 0.9rem; --sn-label-lh: 1.5; --sn-label-ls: normal; --sn-label-w: 400; }
/* 1.22: breadcrumbs, tile paths and room labels left this list (own rules in the 1.22 block below) */
html body :is(.sn-eyebrow, .sn-chapter-marker, .sn-scale__k, .sn-scale__step b, .sn-quote cite, .entry-content p.sn-release__line, .sn-faq-group__title, .entry-content .sn-faq-pager h2.sn-faq-group__title, .sn-lang-note__code, .sn-pop small, .sn-part__num, .sn-wiki-tocbox > summary, .sn-wiki-suggest a small, .sn-wiki .sn-wiki-rooms .sn-wiki-rooms__list a small, .sn-sig .sn-nf__kicker, .sn-term .sn-term__row label) { font-size: var(--sn-label-size) !important; line-height: var(--sn-label-lh) !important; letter-spacing: var(--sn-label-ls) !important; }
html body :is(.sn-eyebrow, .sn-chapter-marker, .sn-scale__k, .sn-scale__step b, .sn-quote cite, .entry-content p.sn-release__line, .sn-faq-group__title, .entry-content .sn-faq-pager h2.sn-faq-group__title, .sn-lang-note__code, .sn-pop small, .sn-part__num, .sn-wiki-tocbox > summary, .sn-wiki-suggest a small, .sn-wiki .sn-wiki-rooms .sn-wiki-rooms__list a small, .sn-sig .sn-nf__kicker, .sn-term .sn-term__row label) { font-weight: var(--sn-label-w) !important; }
/* 1.19 (t140u/t141u): ONE body-text size = the lead paragraph (17px / 1.65; 16px since 1.20), and every small orange callout title on the label token */
:root { --sn-body-size: 1rem; --sn-body-lh: 1.65; } /* 1.20 (t153u): 17px -> 16px, line-height unchanged */
html body { font-size: var(--sn-body-size); } /* plain running text (about, privacy, signals...) follows the same token */
html body :is(.sn-lead, .entry-content > p.sn-lead, .sn-chapter-template .entry-content > p.sn-lead, .entry-content p.sn-release__note, .entry-content p.sn-release__links, .sn-part__desc, .entry-content p.sn-parts-note, .sn-plain .sn-plain__p, .sn-scale__step, .sn-story .sn-story__lead, .sn-section-head .sn-story__lead, .sn-wiki-group__intro, .sn-wiki .sn-faq details > :not(summary), .sn-wiki .sn-faq details p, .entry-content p.sn-contribute__more, .entry-content p.sn-lang-note, .sn-note, .sn-callout p:not(.sn-callout-title)) {
	font-size: var(--sn-body-size) !important; line-height: var(--sn-body-lh) !important; letter-spacing: normal;
}
html body .entry-content p.sn-parts-note { font-family: var(--sn-font-text); letter-spacing: normal; }
html body :is(.sn-story .sn-story__lead, .sn-section-head .sn-story__lead) { font-weight: 400; }
html body .sn-callout .sn-callout-title { font-size: var(--sn-label-size) !important; line-height: var(--sn-label-lh) !important; font-weight: var(--sn-label-w) !important; letter-spacing: var(--sn-label-ls); }
html body :is(.sn-room__pactum, .sn-room__codex p, .sn-room__codex li, .sn-room ol li) { font-size: var(--sn-body-size) !important; line-height: var(--sn-body-lh) !important; }
html body .sn-room__pactum b { font-family: var(--sn-font-text); font-size: var(--sn-label-size); letter-spacing: normal; }
/* 1.22.3 (t170u, supersedes 1.19/t145u): the OS ring is NEVER orange. Hover (fine pointers only, so touch has no sticky state)
   and keyboard focus lift the WHOLE wordmark uniformly: "Sapiens OS", "OS" and the ring step ~13% toward full contrast
   (darker by day, brighter by night). Colour only: no hue change, glow, filter or layout shift; 200ms ease-out. */
:root { --sn-wm-lift-to: #000; --sn-wm-lift: 13%; }
:root[data-sn-theme="dark"] { --sn-wm-lift-to: #fff; }
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) { --sn-wm-lift-to: #fff; } }
.sn-os__ring { --sn-os-ring-h: color-mix(in srgb, var(--sn-os-ring), var(--sn-wm-lift-to) var(--sn-wm-lift)); --sn-os-mod-h: color-mix(in srgb, var(--sn-os-mod), var(--sn-wm-lift-to) var(--sn-wm-lift)); }
#masthead .site-branding .site-title, .site-branding .site-title { transition: color 200ms ease-out; }
.sn-os__hull, .sn-os__mod, .sn-os__mod-l { transition: stroke 200ms ease-out; }
.site-branding a:focus-visible .site-title { color: color-mix(in srgb, var(--sn-heading), var(--sn-wm-lift-to) var(--sn-wm-lift)) !important; }
.site-branding a:focus-visible .sn-os__hull { stroke: var(--sn-os-ring-h); }
.site-branding a:focus-visible :is(.sn-os__mod, .sn-os__mod-l) { stroke: var(--sn-os-mod-h); }
@media (hover: hover) and (pointer: fine) {
	.site-branding a:hover .site-title { color: color-mix(in srgb, var(--sn-heading), var(--sn-wm-lift-to) var(--sn-wm-lift)) !important; }
	.site-branding a:hover .sn-os__hull { stroke: var(--sn-os-ring-h); }
	.site-branding a:hover :is(.sn-os__mod, .sn-os__mod-l) { stroke: var(--sn-os-mod-h); }
}
@media (prefers-reduced-motion: reduce) { .sn-os__hull, .sn-os__mod, .sn-os__mod-l { transition: none; } }

/* 1.20 (t146u/t147u/t151u/t152u): the glass "droplet" selector behind the current top-bar item (and drawer item).
   A cousin of iOS liquid glass with our own signature: a faint warm tint drawn from the orange, and a thin warm rim
   on the top edge that fades out toward the bottom. Moved by sn-glass-nav.js (transform for position; the leading edge
   travels first and the trailing edge follows). Without JS the selected item keeps the same glass, static. */
:root {
	--sn-gp-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0.34));
	--sn-gp-tint: color-mix(in oklab, var(--sn-orange-bright) 3.5%, transparent);
	--sn-gp-rim: rgba(255, 214, 184, 0.95);
	--sn-gp-blur: blur(7px) saturate(160%) brightness(1.04);
	--sn-gp-shadow: inset 0 0 0 0.5px rgba(38, 38, 42, 0.07), 0 1px 1.5px rgba(30, 36, 44, 0.06), 0 6px 16px -8px rgba(30, 36, 44, 0.2);
}
@supports (color: color-mix(in oklab, red, blue)) {
	:root {
		--sn-gp-tint: color-mix(in oklab, var(--sn-orange) 3.5%, transparent);
		--sn-gp-rim: color-mix(in oklab, var(--sn-orange) 22%, #fff);
	}
}
/* 1.21.1 (t160u): night glass is see-through. A 4-8% white fill, only a whisper of warmth, no dark outer shadow.
   The look comes from a bright 1px specular rim (about 32% white on top, 8% at the bottom) and a soft inner highlight,
   because the drawer behind it is nearly solid and backdrop-filter shows little there. */
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) {
	--sn-gp-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.04));
	--sn-gp-tint: rgba(255, 170, 90, 0.012);
	--sn-gp-rim: rgba(255, 250, 244, 0.32); --sn-gp-rim-b: rgba(255, 255, 255, 0.08);
	--sn-gp-blur: blur(6px) saturate(130%);
	--sn-gp-shadow: inset 0 1px 1px -0.5px rgba(255, 255, 255, 0.14), inset 0 -6px 10px -8px rgba(255, 255, 255, 0.06), 0 0 14px -6px rgba(255, 255, 255, 0.08);
} }
:root[data-sn-theme="dark"] {
	--sn-gp-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.04));
	--sn-gp-tint: rgba(255, 170, 90, 0.012);
	--sn-gp-rim: rgba(255, 250, 244, 0.32); --sn-gp-rim-b: rgba(255, 255, 255, 0.08);
	--sn-gp-blur: blur(6px) saturate(130%);
	--sn-gp-shadow: inset 0 1px 1px -0.5px rgba(255, 255, 255, 0.14), inset 0 -6px 10px -8px rgba(255, 255, 255, 0.06), 0 0 14px -6px rgba(255, 255, 255, 0.08);
}
@supports (color: color-mix(in oklab, red, blue)) {
	@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) { --sn-gp-tint: color-mix(in oklab, var(--sn-orange) 1.5%, transparent); --sn-gp-rim: color-mix(in oklab, var(--sn-orange) 6%, rgba(255, 255, 255, 0.32)); } }
	:root[data-sn-theme="dark"] { --sn-gp-tint: color-mix(in oklab, var(--sn-orange) 1.5%, transparent); --sn-gp-rim: color-mix(in oklab, var(--sn-orange) 6%, rgba(255, 255, 255, 0.32)); }
}
#site-navigation .primary-menu-container, #mobile-site-navigation .mobile-menu-container { position: relative; }
#site-navigation .primary-menu-container > ul, #mobile-site-navigation .mobile-menu-container > ul { position: relative; z-index: 1; }
#site-navigation .menu > li.current-menu-item, #site-navigation .menu > li.current-page-ancestor { position: relative; }
.sn-gp, #site-navigation .menu > li.current-menu-item::before, #site-navigation .menu > li.current-page-ancestor::before {
	background: linear-gradient(var(--sn-gp-tint), var(--sn-gp-tint)), var(--sn-gp-bg);
	box-shadow: var(--sn-gp-shadow);
	-webkit-backdrop-filter: var(--sn-gp-blur); backdrop-filter: var(--sn-gp-blur);
}
#site-navigation .menu > li.current-menu-item::before, #site-navigation .menu > li.current-page-ancestor::before {
	content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 999px; pointer-events: none;
}
#site-navigation .menu > li.current-menu-item, #site-navigation .menu > li.current-page-ancestor { isolation: isolate; }
.sn-gp-on #site-navigation .menu > li::before, .sn-gp-move #site-navigation .menu > li::before { content: none !important; }
.sn-gp {
	position: absolute; left: 0; top: 0; width: 0; height: 0; z-index: 0; pointer-events: none;
	border-radius: 999px; transform-origin: 50% 50%; contain: layout style; visibility: hidden;
}
.sn-gp.is-on { visibility: visible; }
.sn-gp::before { /* the warm rim: brightest along the top edge, gone by the lower third */
	content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; pointer-events: none;
	background: linear-gradient(180deg, var(--sn-gp-rim), var(--sn-gp-rim-b, transparent) var(--sn-gp-rim-at, 62%));
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}
@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	:root { --sn-gp-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(250, 250, 251, 0.78)); }
	/* night keeps the same low-alpha glass: it reads through rim and highlight, not blur */
}
@media (forced-colors: active) { .sn-gp { border: 1px solid CanvasText; } .sn-gp::before { content: none; } }

/* 1.21.1 (t161u): every filled primary button has a pure white label and icon (#fff) in day and night, hover included.
   At night the green fill is the deeper day green, because the bright night green (#2ec176) is too light for white text
   (2.33:1). White on #0d8046 is 5.01:1, and on hover #066b3a it is 6.62:1. Blue buttons are already white. Outline and
   chevron buttons are unchanged. */
:root { --sn-btn: var(--sn-green); --sn-btn-h: var(--sn-green-strong); }
:root[data-sn-theme="dark"] { --sn-btn: #0d8046; --sn-btn-h: #066b3a; }
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) { --sn-btn: #0d8046; --sn-btn-h: #066b3a; } }
.wp-block-button:not(.is-style-outline):not(.is-style-sn-chevron):not(.is-style-sn-blue) > .wp-block-button__link,
.entry-content .button, button.button, input[type="submit"] { background: var(--sn-btn) !important; color: #fff !important; }
.wp-block-button:not(.is-style-outline):not(.is-style-sn-chevron):not(.is-style-sn-blue) > .wp-block-button__link:is(:hover, :focus-visible),
.entry-content .button:is(:hover, :focus-visible), button.button:is(:hover, :focus-visible), input[type="submit"]:is(:hover, :focus-visible) { background: var(--sn-btn-h) !important; color: #fff !important; }
.wp-block-button:not(.is-style-outline):not(.is-style-sn-chevron) > .wp-block-button__link svg { fill: #fff; color: #fff; }

/* ===== 1.22 (t159u/t162u) ===== */
/* t162u.2: every in-content orange label / kicker / mini-title uses the body text of its block: same family, 16px token, same
   line-height (supersedes the 1.18 uniform 14.4px label). Colour stays orange; weight may stay. */
:root { --sn-label-size: var(--sn-body-size); --sn-label-lh: var(--sn-body-lh); }
html body :is(.sn-eyebrow, .sn-chapter-marker, .sn-scale__k, .sn-scale__step b, .sn-quote cite, .entry-content p.sn-release__line, .sn-faq-group__title, .entry-content .sn-faq-pager h2.sn-faq-group__title, .sn-wiki-tocbox > summary, .sn-sig .sn-nf__kicker, .sn-part__num, .sn-callout .sn-callout-title) { font-family: var(--sn-font-text) !important; }
/* inline small bits inside a line follow their own line, not the label token */
html body :is(.sn-lang-note__code, .sn-pop small, .sn-wiki-suggest a small, .sn-wiki .sn-wiki-rooms .sn-wiki-rooms__list a small) { font-size: inherit !important; line-height: inherit !important; }
/* contact form: labels in the body family and size; the inputs, textarea and button keep the terminal mono */
html body .sn-term .sn-term__row label { font-family: var(--sn-font-text) !important; font-size: var(--sn-body-size) !important; line-height: var(--sn-body-lh) !important; }
/* t162u.3: orange breadcrumb address lines keep 0.9rem but go back to the monospace terminal face; home tile paths stay mono 0.9rem */
html body :is(.sn-path, .entry-content p.sn-path, .sn-404 .sn-path, .sn-room .sn-path, .entry-content .sn-room p.sn-path, .sn-tile__path) { font-family: var(--sn-font-code) !important; font-size: 0.9rem !important; line-height: 1.5 !important; letter-spacing: 0 !important; }
html body :is(.sn-path a, .sn-path span) { font-size: inherit !important; line-height: inherit !important; }
/* t159u.1: Pactum, Codex and LEX labels = the room body text (family, 16px, weight, line-height); colours unchanged */
html body :is(.sn-room__pactum b, .sn-room details > summary, .sn-room summary, .sn-room .sn-lexw, .sn-room ol li code) {
	font-family: var(--sn-font-text) !important; font-size: var(--sn-body-size) !important; line-height: var(--sn-body-lh) !important;
	font-weight: 400 !important; letter-spacing: normal !important;
}
html body :is(.sn-room__pactum, .sn-room__codex p, .sn-room__codex li, .sn-room ol li) { font-family: var(--sn-font-text); font-weight: 400; }
/* t162u.1: the language label ('en') matches the nav items exactly: desktop bar and mobile drawer */
.header-navigation .sn-lang__cur, .site-header-row .sn-lang__cur { font-family: var(--sn-nav-ff, var(--sn-font-text)); font-size: var(--sn-nav-fs, 13px); line-height: var(--sn-nav-lh, 1.4); font-weight: var(--sn-nav-fw, 400); }
.mobile-navigation .sn-lang__cur, .mobile-navigation .sn-lang__cur { font-family: var(--sn-mnav-ff, var(--sn-font-text)); font-size: var(--sn-mnav-fs, 1.5rem); line-height: var(--sn-mnav-lh, 1.55); font-weight: var(--sn-mnav-fw, 400); }
.mobile-navigation .sn-lang__globe { width: 1.35rem; height: 1.35rem; }
/* t159u.2: planet names fade in under a planet on hover / focus and stay while it is selected (JS places them) */
.sn-svg--orbit.sn-orbit--names .sn-body .sn-orbit-name { display: inline; opacity: 0; font-family: var(--sn-font-text); font-weight: 500; letter-spacing: 0; pointer-events: none; transition: opacity 180ms ease-out, fill 0.3s var(--sn-ease); }
.sn-svg--orbit.sn-orbit--names .sn-body.is-named .sn-orbit-name { opacity: 1; }
@media (max-width: 600px) { .sn-svg--orbit.sn-orbit--names .sn-body .sn-orbit-name { display: inline; } }
@media (prefers-reduced-motion: reduce) { .sn-svg--orbit.sn-orbit--names .sn-body .sn-orbit-name { transition: none !important; } }

/* 1.22.1: on one-column screens the wiki intros keep their own height (equal intros only matter side by side): CLS 0 */
@media (max-width: 781px) { .sn-wiki--even .sn-wiki-group__intro { min-height: 0; } }

/* ===== 1.22.2 ===== */
/* t163u: room labels keep their colours in every state (collapsed, opening, open, hover, focus, touch-sticky hover):
   Pactum and Codex green, LEX orange. The room title (h3) keeps its rest colour on hover (1.23, t176u). */
html body .sn-room :is(details, details[open], details.is-opening, details.is-closing) > summary:is(*, :hover, :focus, :focus-visible, :active) { color: var(--sn-green) !important; }
html body .sn-room details > summary::before { color: var(--sn-green) !important; }
html body .sn-room :is(details, details[open]) > summary .sn-lexw, html body .sn-room :is(details, details[open]) > summary:is(:hover, :focus, :focus-visible, :active) .sn-lexw { color: var(--sn-orange) !important; }
html body .sn-room .sn-room__pactum b { color: var(--sn-green) !important; }
html body .sn-room ol li code { color: var(--sn-orange) !important; }

/* t164u: night glass reads through light, not fill. On the near-solid drawer: crisp 1px specular rim (~50% white on top,
   ~6% by mid-height), a soft sheen in the upper third, a faint darker lower inner edge for thickness, a 3-5% white fill with
   ~3% warm orange, and a soft warm halo instead of any shadow. The frosted desktop bar gets the same, a touch quieter. */
.sn-gp::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: var(--sn-gp-sheen, none); }
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) {
	--sn-gp-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.03));
	--sn-gp-tint: rgba(255, 160, 80, 0.03);
	--sn-gp-rim: rgba(255, 255, 255, 0.55); --sn-gp-rim-b: rgba(255, 255, 255, 0.06); --sn-gp-rim-at: 50%;
	--sn-gp-sheen: radial-gradient(90% 60% at 50% 0%, rgba(255, 255, 255, 0.10), transparent 70%), linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.03) 34%, transparent 52%);
	--sn-gp-blur: blur(6px) saturate(130%);
	--sn-gp-shadow: inset 0 -1.5px 1.5px -0.5px rgba(0, 0, 0, 0.32), inset 0 -7px 9px -7px rgba(0, 0, 0, 0.22), 0 0 13px 1px rgba(255, 180, 115, 0.065);
} }
:root[data-sn-theme="dark"] {
	--sn-gp-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.03));
	--sn-gp-tint: rgba(255, 160, 80, 0.03);
	--sn-gp-rim: rgba(255, 255, 255, 0.55); --sn-gp-rim-b: rgba(255, 255, 255, 0.06); --sn-gp-rim-at: 50%;
	--sn-gp-sheen: radial-gradient(90% 60% at 50% 0%, rgba(255, 255, 255, 0.10), transparent 70%), linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.03) 34%, transparent 52%);
	--sn-gp-blur: blur(6px) saturate(130%);
	--sn-gp-shadow: inset 0 -1.5px 1.5px -0.5px rgba(0, 0, 0, 0.32), inset 0 -7px 9px -7px rgba(0, 0, 0, 0.22), 0 0 13px 1px rgba(255, 180, 115, 0.065);
}
@supports (color: color-mix(in oklab, red, blue)) {
	@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) { --sn-gp-tint: color-mix(in oklab, var(--sn-orange) 3%, transparent); --sn-gp-rim: color-mix(in oklab, var(--sn-orange) 5%, rgba(255, 255, 255, 0.5)); } }
	:root[data-sn-theme="dark"] { --sn-gp-tint: color-mix(in oklab, var(--sn-orange) 3%, transparent); --sn-gp-rim: color-mix(in oklab, var(--sn-orange) 5%, rgba(255, 255, 255, 0.5)); }
}
/* desktop bar (already frosted and lighter): same recipe, slightly quieter so it does not glare */
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) :is(#site-navigation, .sn-pager__nums) .sn-gp {
	--sn-gp-rim: rgba(255, 255, 255, 0.45); --sn-gp-sheen: radial-gradient(120% 75% at 50% -8%, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03) 42%, transparent 66%);
	--sn-gp-shadow: inset 0 -1px 1.5px -0.5px rgba(0, 0, 0, 0.26), inset 0 -6px 8px -6px rgba(0, 0, 0, 0.16), 0 0 10px 0 rgba(255, 180, 115, 0.05);
} }
:root[data-sn-theme="dark"] :is(#site-navigation, .sn-pager__nums) .sn-gp {
	--sn-gp-rim: rgba(255, 255, 255, 0.45); --sn-gp-sheen: radial-gradient(120% 75% at 50% -8%, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03) 42%, transparent 66%);
	--sn-gp-shadow: inset 0 -1px 1.5px -0.5px rgba(0, 0, 0, 0.26), inset 0 -6px 8px -6px rgba(0, 0, 0, 0.16), 0 0 10px 0 rgba(255, 180, 115, 0.05);
}
@media (forced-colors: active) { .sn-gp::after { content: none; } }

/* t165u: every equal button pair stays on ONE row at every width (320px phones to desktop), equal width, label never wraps.
   Replaces the 1.7.1 phone stacking. Narrow screens tighten padding and gap; the smallest phones step the label down a little. */
html body .wp-block-buttons:has(> .wp-block-button + .wp-block-button) {
	display: grid !important; grid-auto-flow: column !important; grid-auto-columns: minmax(0, 1fr); grid-template-columns: none;
	flex-direction: row !important; flex-wrap: nowrap !important; width: max-content; max-width: 100%; gap: 0.5rem;
}
html body .wp-block-buttons:has(> .wp-block-button + .wp-block-button) > .wp-block-button { width: auto !important; min-width: 0; flex: 1 1 0; margin: 0 !important; }
html body .wp-block-buttons:has(> .wp-block-button + .wp-block-button) .wp-block-button__link {
	display: flex; align-items: center; justify-content: center; width: 100%; white-space: nowrap; box-sizing: border-box;
}
html body .wp-block-buttons:has(> .wp-block-button + .wp-block-button) .wp-block-button__link .sn-ghi { margin-right: 0.4em; } /* ~6px */
/* Budget: widest label (es/fr "Todas las versiones", "Lire le texte intégral") is ~148px at 15px with wide fallback fonts; content column = viewport - 48px. */
@media (max-width: 480px) {
	html body .wp-block-buttons:has(> .wp-block-button + .wp-block-button) { gap: 0.4rem; }
	html body .wp-block-buttons:has(> .wp-block-button + .wp-block-button) .wp-block-button__link { padding-left: 0.6em !important; padding-right: 0.6em !important; }
}
@media (max-width: 413px) {
	html body .wp-block-buttons:has(> .wp-block-button + .wp-block-button) .wp-block-button__link { font-size: 0.90625rem; padding-left: 0.55em !important; padding-right: 0.55em !important; }
}
@media (max-width: 389px) {
	html body .wp-block-buttons:has(> .wp-block-button + .wp-block-button) .wp-block-button__link { font-size: 0.875rem; padding-left: 0.45em !important; padding-right: 0.45em !important; }
}
@media (max-width: 374px) {
	html body .wp-block-buttons:has(> .wp-block-button + .wp-block-button) .wp-block-button__link { font-size: 0.84375rem; padding-left: 0.45em !important; padding-right: 0.45em !important; }
}
@media (max-width: 339px) {
	html body .wp-block-buttons:has(> .wp-block-button + .wp-block-button) { gap: 0.35rem; }
	html body .wp-block-buttons:has(> .wp-block-button + .wp-block-button) .wp-block-button__link { font-size: 0.75rem; padding-left: 0.32em !important; padding-right: 0.32em !important; }
}

/* ===== 1.22.3 ===== */
/* t168: night pill = clear glass on the dark drawer/bar. Light only, NO dark shadow or halo anywhere.
   fill 3% white (no grey, no tint in the fill); 1px rim brightest at top centre (~58% white, faint warm), fading to the sides
   and to ~10% at the bottom; upper-third sheen ~7%; thin lower inner edge ~10% white for thickness. */
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) {
	--sn-gp-bg: linear-gradient(rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.03)); --sn-gp-tint: transparent;
	--sn-gp-rim-img: radial-gradient(62% 120% at 50% 0%, rgba(255, 244, 232, 0.58), rgba(255, 244, 232, 0.24) 55%, transparent 100%), linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.10));
	--sn-gp-sheen: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.045) 22%, transparent 36%);
	--sn-gp-blur: blur(6px) saturate(115%) brightness(1.1);
	--sn-gp-shadow: inset 0 -1px 0 0 rgba(255, 255, 255, 0.10);
} }
:root[data-sn-theme="dark"] {
	--sn-gp-bg: linear-gradient(rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.03)); --sn-gp-tint: transparent;
	--sn-gp-rim-img: radial-gradient(62% 120% at 50% 0%, rgba(255, 244, 232, 0.58), rgba(255, 244, 232, 0.24) 55%, transparent 100%), linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.10));
	--sn-gp-sheen: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.045) 22%, transparent 36%);
	--sn-gp-blur: blur(6px) saturate(115%) brightness(1.1);
	--sn-gp-shadow: inset 0 -1px 0 0 rgba(255, 255, 255, 0.10);
}
/* desktop bar: same glass, rim a touch quieter for the frosted bar */
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) :is(#site-navigation, .sn-pager__nums) .sn-gp {
	--sn-gp-rim-img: radial-gradient(62% 120% at 50% 0%, rgba(255, 244, 232, 0.5), rgba(255, 244, 232, 0.2) 55%, transparent 100%), linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.09));
	--sn-gp-sheen: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.035) 22%, transparent 36%);
	--sn-gp-shadow: inset 0 -1px 0 0 rgba(255, 255, 255, 0.09);
} }
:root[data-sn-theme="dark"] :is(#site-navigation, .sn-pager__nums) .sn-gp {
	--sn-gp-rim-img: radial-gradient(62% 120% at 50% 0%, rgba(255, 244, 232, 0.5), rgba(255, 244, 232, 0.2) 55%, transparent 100%), linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.09));
	--sn-gp-sheen: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.035) 22%, transparent 36%);
	--sn-gp-shadow: inset 0 -1px 0 0 rgba(255, 255, 255, 0.09);
}
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) .sn-gp::before { background: var(--sn-gp-rim-img); } }
:root[data-sn-theme="dark"] .sn-gp::before { background: var(--sn-gp-rim-img); }
/* t167u: the whole contact form is the terminal mono again: labels, inputs, textarea, placeholders, button, helper, consent
   and status text. Sizes balanced for mono: labels = fields = button 15px / 1.55; helper, consent and status 13px. Width unchanged. */
html body .sn-term, html body .sn-term :is(form, p, label, input, textarea, select, button, a, span, div, small, strong, em),
html body .sn-term :is(input, textarea)::placeholder { font-family: var(--sn-font-code) !important; }
html body .sn-term .sn-term__row label:not(#sn-none) { font-family: var(--sn-font-code) !important; font-size: 0.9375rem !important; line-height: 1.55 !important; letter-spacing: 0 !important; }
html body .sn-term button:not(#sn-none) { white-space: nowrap; }  /* :not(#id) outranks the shared :is() label-size rule */
/* t168u: the home planets graphic drops its static coloured name list (phones); names show under a planet on hover, tap or select */
html body .sn-orbit-legend { display: none !important; }
/* t169u: ONE entrance reveal site-wide. Opacity 0 -> 1 with a 10px rise, ease-out 500ms, light stagger. NO horizontal movement:
   the old --left/--right variants started 28px to the side (home blocks slid in from the right on phones) and --scale grew in place;
   all variants now share the same vertical reveal. Reduced motion: no motion, shown at once. Transforms only, so no layout shift. */
:root { --sn-reveal-y: 10px; --sn-reveal-t: 500ms; --sn-reveal-ease: cubic-bezier(0.22, 0.61, 0.36, 1); }
html body .sn-reveal { transition: opacity var(--sn-reveal-t) var(--sn-reveal-ease), transform var(--sn-reveal-t) var(--sn-reveal-ease) !important; transition-delay: var(--sn-delay, 0s) !important; }
html body.sn-motion .sn-reveal:not(.is-visible), html.sn-motion .sn-reveal:not(.is-visible), .sn-motion .sn-reveal:is(.sn-reveal--left, .sn-reveal--right, .sn-reveal--scale):not(.is-visible) { opacity: 0; transform: translate3d(0, var(--sn-reveal-y), 0) !important; }
.sn-reveal--d1 { --sn-delay: 0.06s; } .sn-reveal--d2 { --sn-delay: 0.12s; } .sn-reveal--d3 { --sn-delay: 0.18s; }
@keyframes sn-rise { from { opacity: 0; transform: translate3d(0, var(--sn-reveal-y), 0); } to { opacity: 1; transform: none; } }
html body .sn-hero--v2 > * { animation: sn-rise var(--sn-reveal-t) var(--sn-reveal-ease) both !important; }
html body .sn-hero--v2 > *:nth-child(2) { animation-delay: 0.06s !important; } html body .sn-hero--v2 > *:nth-child(3) { animation-delay: 0.12s !important; }
html body .sn-hero--v2 > *:nth-child(4) { animation-delay: 0.18s !important; } html body .sn-hero--v2 > *:nth-child(5) { animation-delay: 0.24s !important; }
html body .sn-fade { transition: opacity var(--sn-reveal-t) var(--sn-reveal-ease), transform var(--sn-reveal-t) var(--sn-reveal-ease); }
html body .sn-fade:not(.is-in) { transform: translate3d(0, var(--sn-reveal-y), 0); }
@media (prefers-reduced-motion: reduce) {
	html body .sn-reveal, html body .sn-hero--v2 > *, html body .sn-fade { animation: none !important; transition: none !important; opacity: 1 !important; transform: none !important; }
}
/* t171u: the X mark on "Read on X" buttons: same box, spacing and baseline as the GitHub mark, but pure currentColor (no softening) */
html body .sn-ghi.sn-xi { opacity: 1; }
/* t172u: no room status line on the website (backstop for any cached markup; the theme strips it at render time) */
html body .sn-room__status { display: none !important; }
/* t173u (reinforces t162u): orange in-content labels already compute IDENTICAL to their block's grey body text (family, size,
   weight, spacing, transform, variant, line-height, smoothing, synthesis). In DAY mode the saturated orange still reads thinner than
   grey of the same contrast (~5.6:1 each on white; hue/chroma effect), so day labels get a +40 optical weight on the variable font
   (SF Pro / Inter SN 300-600). Night (bright orange on dark) stays exactly equal. Breadcrumb address lines (.sn-path) stay mono. */
:root { --sn-label-w-o: 440; }
:root[data-sn-theme="dark"] { --sn-label-w-o: var(--sn-label-w); }
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) { --sn-label-w-o: var(--sn-label-w); } }
html body :is(.sn-eyebrow, .sn-chapter-marker, .entry-content p.sn-release__line, .sn-faq-group__title, .sn-callout .sn-callout-title, .sn-sig .sn-nf__kicker, .sn-quote cite):not(#sn-none) { font-weight: var(--sn-label-w-o) !important; }

/* 1.23 (t177u): the active language wears the same glass droplet as the selected top-bar/drawer item (sn-glass-nav.js list mode).
   The .sn-gp recipe (day, night clear glass, desktop bar overrides) applies unchanged; text stays orange. */
.sn-lang__panel > .sn-gp { z-index: 0; }
#mobile-site-navigation .sn-lang__panel { position: relative; } /* drawer panel is in-flow: make it the pill's containing block */
.sn-gp-on .sn-lang__list { position: relative; z-index: 1; }
html:not(.sn-gp-on) .sn-lang__list a[aria-current] { /* no-JS: a static pill from the same tokens */
	background: linear-gradient(var(--sn-gp-tint), var(--sn-gp-tint)), var(--sn-gp-bg) !important; box-shadow: var(--sn-gp-shadow) !important; border-radius: 999px;
}

/* 1.23 (t180u): "how one unit is born" steps: on a pointer hover only the frame turns the main orange token (day #a74f01,
   night #fca23e). Same 1px border and radius as the green "signed token" frame, so nothing moves. Signed token stays green.
   No click or selected state, no tooltip; touch gets no hover. */
.sn-sig .sn-nf--life-of-an-esu .sn-nf__step { transition: border-color 0.2s ease; }
@media (hover: hover) and (pointer: fine) {
	.sn-sig .sn-nf.sn-nf--life-of-an-esu .sn-nf__step:not(.sn-nf__panel--g):hover { border-color: var(--sn-orange) !important; }
}
@media (prefers-reduced-motion: reduce) { .sn-sig .sn-nf--life-of-an-esu .sn-nf__step { transition: none; } }

/* 1.23 (t181u): "Read on [X]": the X logo follows the label and stands for the word X (kept visually hidden for the accessible name) */
html body .sn-ghi.sn-xi--end { margin-right: 0 !important; margin-left: 0.4em; }
.sn-vh { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

/* 1.23 (t182u) / 1.24: cross-document View Transitions (Safari 18.2+, Chrome 126+; Firefox switches instantly). The top-bar
   glass droplet morphs from the old item to the new one across the page load on the same spring as the in-page slide (420 ms,
   ~3% overshoot); the page underneath swaps at once (root keeps the 1.10.2 animation:none), so the identical header reads as
   static and no text doubles. Frost kept through the snapshots with the sn-vt fill (sn-glass-nav.js). Off for reduced motion.
   1.24: View Transition snapshots cannot keep a live backdrop-filter, so the day pill's white glass fill was rasterised as a
   flat whitish rectangle (square edges visible while the group morphs). Fix: clip the pill's VT group/images to the pill
   radius, and for the snapshot only drop backdrop-filter + outer shadow so the bitmap is a clean rounded glass fill. Night
   fill is already ~3% white so it never showed the box; left untouched in look. Resting pill CSS is unchanged. */
@media (prefers-reduced-motion: no-preference) {
	@view-transition { navigation: auto; }
	html.sn-vtnav #site-navigation > div > .sn-gp:not(.sn-gp--hover) { view-transition-name: sn-nav-pill; }
	/* the labels ride above the moving droplet, as they do on the page (named after the pill, so painted over it) */
	html.sn-vtnav #site-navigation > div > ul { view-transition-name: sn-nav-text; }
	::view-transition-group(sn-nav-text), ::view-transition-old(sn-nav-text), ::view-transition-new(sn-nav-text) { animation-duration: 0.42s; }
	::view-transition-group(sn-nav-pill) {
		animation-duration: 0.42s;
		animation-timing-function: linear(0, 0.041, 0.137, 0.262, 0.397, 0.527, 0.644, 0.746, 0.829, 0.895, 0.944, 0.98, 1.004, 1.019, 1.027, 1.031, 1.03, 1.028, 1.024, 1.02, 1.016, 1.012, 1.009, 1.006, 1);
		border-radius: 999px;
		overflow: clip;
	}
	::view-transition-image-pair(sn-nav-pill),
	::view-transition-old(sn-nav-pill),
	::view-transition-new(sn-nav-pill) {
		animation-duration: 0.42s;
		border-radius: 999px;
		overflow: clip;
	}
	::view-transition-old(sn-nav-pill), ::view-transition-new(sn-nav-pill) { height: 100%; width: 100%; object-fit: fill; }
	/* snapshot-only: no live blur and no outer shadow (both expand the bitmap into a square). Inset rim kept. */
	html.sn-vtnav #site-navigation > div > .sn-gp {
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
		box-shadow: inset 0 0 0 0.5px rgba(38, 38, 42, 0.07) !important;
	}
	html.sn-vtnav[data-sn-theme="dark"] #site-navigation > div > .sn-gp {
		box-shadow: inset 0 -1px 0 0 rgba(255, 255, 255, 0.10) !important;
	}
}
@media (prefers-reduced-motion: no-preference) and (prefers-color-scheme: dark) {
	html.sn-vtnav:not([data-sn-theme="light"]) #site-navigation > div > .sn-gp {
		box-shadow: inset 0 -1px 0 0 rgba(255, 255, 255, 0.10) !important;
	}
}

/* 1.23 (t186u): the Prime Directive label now sits above the directive (cite first; display-only reorder in sn-site.php) */
.sn-quote cite:first-child { margin: 0 0 0.9rem; }

/* 1.23 (t185u): ONE compact footer row from tablet up: credit left; privacy · site N.N · GitHub · X right (page links live in
   the top bar). Phones: two centred lines, credit then the right group. */
@media (min-width: 768px) {
	#colophon .site-bottom-footer-inner-wrap { display: flex !important; flex-direction: row !important; justify-content: space-between; align-items: center; gap: 0.5rem 1.5rem; }
	#colophon .site-footer-bottom-section-1 { flex: 1 1 auto; min-width: 0; }
	#colophon .site-footer-bottom-section-2 { flex: 0 0 auto; }
	#colophon .footer-navigation .menu { justify-content: flex-end; }
	.footer-navigation .menu > li.sn-ficon-item:last-child > a { padding-inline-end: 0 !important; }
}

/* 1.23 (t184u) GATED EXPERIMENT, off unless html.sn-gpanels (PHP constant SN_GLASS_PANELS): the nav-pill Liquid Glass recipe on
   rounded content panels, without any backdrop blur (scroll performance, see 1.6.0). Specular top rim, upper sheen, warm 0.5px
   edge tint and a thin lower inner edge, all as inset shadows over each panel's existing fill, border and radius. */
:root {
	--sn-gpanel-sh: inset 0 1px 0 0 rgba(255, 255, 255, 0.95), inset 0 0 0 0.5px color-mix(in oklab, var(--sn-orange-bright) 9%, transparent),
		inset 0 26px 30px -28px rgba(255, 255, 255, 0.9), inset 0 -1px 0 0 rgba(38, 38, 42, 0.05);
}
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) {
	--sn-gpanel-sh: inset 0 1px 0 0 rgba(255, 255, 255, 0.16), inset 0 0 0 0.5px rgba(255, 180, 115, 0.08),
		inset 0 26px 32px -28px rgba(255, 255, 255, 0.07), inset 0 -1.5px 1.5px -0.5px rgba(0, 0, 0, 0.32);
} }
:root[data-sn-theme="dark"] {
	--sn-gpanel-sh: inset 0 1px 0 0 rgba(255, 255, 255, 0.16), inset 0 0 0 0.5px rgba(255, 180, 115, 0.08),
		inset 0 26px 32px -28px rgba(255, 255, 255, 0.07), inset 0 -1.5px 1.5px -0.5px rgba(0, 0, 0, 0.32);
}
html.sn-gpanels :is(.sn-glass:not(rect), .sn-term, .sn-visual, .sn-scale, .sn-callout, .entry-content .sn-release, .sn-faq details,
	details.sn-wq, .sn-tile, .sn-sig .sn-nf__panel, .sn-xlinks) {
	box-shadow: var(--sn-gpanel-sh), var(--sn-panel-shadow, 0 0 0 transparent) !important;
}
@media (forced-colors: active) { html.sn-gpanels :is(.sn-glass, .sn-term, .sn-visual, .sn-scale, .sn-callout, .sn-release, details.sn-wq, .sn-tile, .sn-nf__panel, .sn-xlinks) { box-shadow: none !important; } }

/* 1.23 t185u: credit segments (inc/sn-site.php sn_footer_credit_segments). Phones: credit breaks only at the
   first separator, which is hidden there; both footer lines centred. */
#colophon .footer-html-inner .sn-cr { white-space: nowrap; }
@media (max-width: 767px) {
	#colophon .footer-html-inner p { flex-direction: column; align-items: center; row-gap: 0.1rem; text-align: center; }
	#colophon .footer-html-inner .sn-cr__d { display: none; }
	#colophon .site-bottom-footer-inner-wrap { gap: 0.35rem; }
	#colophon .site-footer-bottom-section-2 { width: 100%; }
	#colophon :is(.site-footer-bottom-section-2, .site-footer-bottom-section-2 .footer-widget-area, .footer-navigation, .footer-menu-container) { justify-content: center; }
}
@media (max-width: 359px) {
	#colophon .footer-html-inner p { font-size: 0.8125rem; }
	#colophon .footer-navigation .menu > li > a { padding-inline: 0.4em !important; font-size: 0.8125rem !important; }
	.footer-navigation .menu > li.sn-site-ver { padding-inline: 0.4em; font-size: 0.8125rem; }
	/* ru "конфиденциальность" is the longest privacy label: one line at 320 needs a touch smaller */
	html:lang(ru) #colophon .footer-navigation .menu > li > a, html:lang(ru) .footer-navigation .menu > li.sn-site-ver { padding-inline: 0.3em !important; font-size: 0.75rem !important; }
}

/* 1.25: same Liquid Glass material and edge springs as the language list; a quieter neutral
   hover layer, separate from the selected pill and never named in a View Transition. */
#site-navigation .sn-gp--hover {
	--sn-gp-tint: transparent;
	--sn-gp-rim: rgba(255, 255, 255, 0.95);
	--sn-gp-rim-img: radial-gradient(62% 120% at 50% 0%, rgba(255,255,255,.5), rgba(255,255,255,.2) 55%, transparent 100%), linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.09));
	opacity: 0; display: none; clip-path: inset(0 round 999px);
	transition: opacity 180ms ease-out;
}
@media (hover: hover) and (pointer: fine) {
	#site-navigation .sn-gp--hover { display: block; }
	#site-navigation .sn-gp--hover.is-hovering { opacity: 0.55; }
}
html.sn-vtnav #site-navigation .sn-gp--hover { opacity: 0 !important; }
@media (prefers-reduced-motion: reduce) {
	#site-navigation .sn-gp--hover { transition: none; }
}

/* 1.25 (t212u): distinguish site release from the preceding Privacy link. */
.footer-navigation .menu > li.sn-site-ver { text-transform: none; }

/* 1.25 (t214u): text snaps as one theme, not a cascade of inherited colour fades.
   This lasts two frames only; one-shot entrance/typing animations are retained. */
html.sn-theme-switching, html.sn-theme-switching body *,
html.sn-theme-switching body *::before, html.sn-theme-switching body *::after {
	transition: none !important;
}
/* A theme crossfade must not replace an unfinished scroll reveal's opacity track. */
html.sn-theme-fade body .sn-reveal, html.sn-theme-fade body .sn-fade {
	transition: opacity var(--sn-reveal-t) var(--sn-reveal-ease), transform var(--sn-reveal-t) var(--sn-reveal-ease) !important;
}
html.sn-theme-switching body :is(.sn-reveal, .sn-fade) { transition: none !important; }

/* 1.25 (t218u): open orbit-panel content is a real hit target, not empty space. */
.sn-orbit-pop-host > .sn-pop.is-on { pointer-events: auto; }

/* ===== 1.26: compact scrolling Signals grid, shared Wiki row hover, quieter input focus ===== */
.sn-sig__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 3vw, 2rem); }
.sn-sig__list > li { min-width: 0; container-type: inline-size; }
.sn-sig__list .sn-tile {
	grid-template-columns: minmax(0, 1fr) minmax(0, 34%); gap: clamp(0.5rem, 2cqw, 0.9rem);
	padding: clamp(0.9rem, 4cqw, 1.4rem); aspect-ratio: 16 / 10; min-height: 13rem;
}
.sn-sig__list .sn-tile__title { font-size: clamp(1.1rem, 5.5cqw, 1.65rem); }
.sn-sig__list .sn-tile__path { font-size: clamp(0.625rem, 2.7cqw, 0.75rem); }
.sn-sig__list .sn-tile__foot { left: clamp(0.9rem, 4cqw, 1.4rem); right: clamp(0.9rem, 4cqw, 1.4rem); bottom: 0.85rem; font-size: clamp(0.625rem, 2.5cqw, 0.75rem); }
@media (max-width: 600px) { .sn-sig__list { grid-template-columns: minmax(0, 1fr); } }

/* Same radius, neutral fill and 120ms background timing as .sn-parts a; text is instant. */
.sn-wiki .sn-faq details { border-radius: var(--sn-radius-s); transition: background-color 120ms ease-out; transition-delay: 0s; }
.sn-wiki .sn-faq details > summary, .sn-wiki .sn-faq details > summary * { transition: none !important; transition-delay: 0s !important; }
.sn-wiki .sn-faq details:has(> summary:focus-visible) { background: var(--sn-bg-alt) !important; }
.sn-wiki .sn-faq details > summary:focus-visible, .sn-wiki .sn-faq details > summary:focus-visible * { color: var(--sn-orange) !important; }
@media (hover: hover) and (pointer: fine) {
	.sn-wiki .sn-faq details:hover { background: var(--sn-bg-alt) !important; }
	.sn-wiki .sn-faq details:hover > summary, .sn-wiki .sn-faq details:hover > summary * { color: var(--sn-orange) !important; }
}

/* Day FAQ/question cards: four visible edges, no change to night material/shadow. */
:root { --sn-faq-edge: rgba(0, 0, 0, 0.06); --sn-faq-shadow: 0 0 1px rgba(0,0,0,0.035), 0 0 14px rgba(0,0,0,0.035), 0 3px 8px rgba(0,0,0,0.025); }
:root[data-sn-theme="dark"] { --sn-faq-edge: var(--sn-pill-edge); --sn-faq-shadow: var(--sn-panel-shadow); }
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) { --sn-faq-edge: var(--sn-pill-edge); --sn-faq-shadow: var(--sn-panel-shadow); } }
.sn-faq details, .sn-faq details:first-of-type { border: 1px solid var(--sn-faq-edge) !important; box-shadow: var(--sn-faq-shadow) !important; }

/* Every text field uses the current theme orange, not a stale hard-coded focus colour. */
:root { --sn-input-ring: color-mix(in srgb, var(--sn-orange) 40%, transparent); --sn-input-glow: color-mix(in srgb, var(--sn-orange) 12%, transparent); }
html body :is(input:not([type="hidden"]), select, textarea):is(:focus, :focus-visible),
html body .sn-wiki-search input[type="search"]:is(:focus, :focus-visible),
html body .sn-term :is(input, textarea):is(:focus, :focus-visible) {
	outline: none !important; outline-offset: 0 !important;
	border: 1px solid var(--sn-input-ring) !important;
	box-shadow: 0 0 0 2px var(--sn-input-glow) !important;
	transition: none !important; transition-delay: 0s !important;
}
/* 1.27: restore the original unboxed terminal fields; focus accents only their underline.
   Wiki and other input focus rings above stay unchanged. */
html body .sn-term :is(input, textarea):is(:focus, :focus-visible) {
	border: 0 !important; border-bottom: 1px solid var(--sn-input-ring) !important;
	border-radius: 0 !important; outline: none !important;
	/* Wiki reference: same 40% line + 12% two-pixel halo, on the lower edge only. */
	box-shadow: 0 2px 0 0 var(--sn-input-glow) !important;
}
html body .sn-term .sn-term__hint { margin-top: 16px !important; }   /* 1.25 rendered gap was 0 (entry-content p reset) + 16px */
@media (prefers-reduced-motion: reduce) { .sn-wiki .sn-faq details { transition: none; } }
@media (forced-colors: active) {
	.sn-faq details { border-color: CanvasText !important; }
	html body :is(input,select,textarea):focus-visible { outline: 1px solid Highlight !important; outline-offset: 2px !important; }
}

/* 1.26 (t220u): preview width +20% versus the planned grid where the viewport allows it.
   Remove inherited list indentation; narrower iPads still fit two, phones fill one column. */
.entry-content .sn-sig__list {
	--sn-sig-old-gap: clamp(1.25rem, 3vw, 2rem); --sn-sig-new-gap: clamp(1rem, 2vw, 1.5rem);
	padding: 0 !important; gap: var(--sn-sig-new-gap);
	width: min(calc((100% - 1.1rem - var(--sn-sig-old-gap)) * 1.2 + var(--sn-sig-new-gap)), calc(100vw - 3rem));
	position: relative; left: 50%; transform: translateX(-50%);
}
.sn-tile__ordinal { color: var(--sn-orange); }
@media (max-width: 600px) { .entry-content .sn-sig__list { width: 100%; } }

/* 1.26 (t221u): every tile rests at its own seeded frame. Only the active fine-pointer
   card runs; touch never does, and reduced motion always stays static. */
.sn-sig__list .sn-tile, .sn-sig__list .sn-tile *, .sn-sig__list .sn-tile__title::after { animation-play-state: paused; }
@media (hover: hover) and (pointer: fine) {
	.sn-sig__item:hover .sn-tile, .sn-sig__item:hover .sn-tile *, .sn-sig__item:hover .sn-tile__title::after { animation-play-state: running; }
}
@media (pointer: fine) {
	.sn-sig__list:not(:has(.sn-sig__item:hover)) .sn-sig__item:focus-visible .sn-tile, .sn-sig__list:not(:has(.sn-sig__item:hover)) .sn-sig__item:focus-visible .sn-tile *, .sn-sig__list:not(:has(.sn-sig__item:hover)) .sn-sig__item:focus-visible .sn-tile__title::after { animation-play-state: running; }
}
@media (prefers-reduced-motion: reduce) {
	.sn-sig__list .sn-tile, .sn-sig__list .sn-tile *, .sn-sig__list .sn-tile__title::after { animation-play-state: paused !important; }
}

/* 1.27: a sparse, inline starfield reuses the orbit's existing pointer variables.
   Three tiny transform-only layers; just three slow opacity twinkles on fine pointers.
   Touch/reduced motion have no animation or extra work. */
:root { --sn-dust-ink: var(--sn-text-muted); }
:root[data-sn-theme="dark"] { --sn-dust-ink: color-mix(in srgb, var(--sn-heading) 95%, var(--sn-orange)); }
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) { --sn-dust-ink: color-mix(in srgb, var(--sn-heading) 95%, var(--sn-orange)); } }
.sn-space-dust, .sn-space-dust * { pointer-events: none; }
.sn-space-dust { fill: var(--sn-dust-ink); }
.sn-space-dust__layer--1 { --sn-dust-x: -3px; --sn-dust-y: -2px; }
.sn-space-dust__layer--2 { --sn-dust-x: -7px; --sn-dust-y: -5px; }
.sn-space-dust__layer--3 { --sn-dust-x: -12px; --sn-dust-y: -8px; }
@keyframes sn-dust-twinkle { 0%, 100% { opacity: var(--sn-star-opacity); } 50% { opacity: calc(var(--sn-star-opacity) * 0.72); } }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
	.sn-space-dust__layer { transform: translate(calc(var(--sn-px, 0) * var(--sn-dust-x)), calc(var(--sn-py, 0) * var(--sn-dust-y))); transition: transform 0.9s var(--sn-ease); }
	.sn-space-dust__twinkle { animation: sn-dust-twinkle var(--sn-star-time, 11s) ease-in-out var(--sn-star-delay, 0s) infinite; }
}

/* 1.27: Wiki number rows reuse the actual navigation droplet and its day/night recipe.
   Only the coordinates differ; no snapshot or opaque white backing layer. */
.sn-pager__nums { position: relative; isolation: isolate; }
.sn-pager__nums .sn-pager__num { position: relative; z-index: 1; }
.sn-gp--pager { clip-path: inset(0 round 999px); }
.sn-pager-glass .sn-pager__num[aria-current="true"] { background: transparent !important; border-color: transparent !important; box-shadow: none !important; }
.sn-pager__nums:not(.sn-pager-glass) .sn-pager__num[aria-current="true"] {
	background: linear-gradient(var(--sn-gp-tint), var(--sn-gp-tint)), var(--sn-gp-bg) !important;
	box-shadow: var(--sn-gp-shadow) !important; border-radius: 999px;
}
/* Glass droplet replaces the old grey hover chip on number buttons; colour hover stays. */
.sn-pager-glass .sn-pager__num:hover { background: transparent !important; }
.sn-pager-glass .sn-pager__num:focus-visible { outline-offset: 2px; }

/* Frozen v1.27 shell compatibility, Kadence GPL-2.0-or-later. No Kadence runtime. */
.site-branding{max-height:inherit}.site-branding a.brand{display:flex;gap:1em;flex-direction:row;align-items:center;text-decoration:none;color:inherit;max-height:inherit}.site-branding a.brand img{display:block}.site-branding .site-title{margin:0}.site-branding .site-description{margin:.4375em 0 0;word-wrap:break-word}.site-branding.branding-layout-standard-reverse a.brand{flex-direction:row-reverse}.site-branding.branding-layout-vertical.site-title-top a.brand .site-title-wrap{order:-1}.site-branding.branding-layout-vertical.site-title-top a.brand .site-description{margin:0}.site-branding.branding-layout-vertical a.brand{flex-direction:column}.site-branding.branding-layout-vertical-reverse a.brand{flex-direction:column-reverse}.site-header-section-center .site-branding.branding-layout-vertical a.brand,.site-header-section-center .site-branding.branding-layout-vertical-reverse a.brand{text-align:center}.site-header-section-center .site-branding.branding-layout-vertical a.brand img,.site-header-section-center .site-branding.branding-layout-vertical-reverse a.brand img{margin-left:auto;margin-right:auto}@media screen and (max-width: 1024px){.site-branding.branding-tablet-layout-standard-reverse a.brand{flex-direction:row-reverse}.site-branding.branding-tablet-layout-vertical.site-title-top a.brand .site-title-wrap{order:-1}.site-branding.branding-tablet-layout-vertical a.brand{flex-direction:column}.site-branding.branding-tablet-layout-vertical-reverse a.brand{flex-direction:column-reverse}}@media screen and (max-width: 719px){.site-branding.branding-mobile-layout-standard:not(.site-brand-logo-only) a.brand{flex-direction:row}.site-branding.branding-mobile-layout-standard-reverse a.brand{flex-direction:row-reverse}.site-branding.branding-mobile-layout-vertical.site-title-top a.brand .site-title-wrap{order:-1}.site-branding.branding-mobile-layout-vertical a.brand{flex-direction:column}.site-branding.branding-mobile-layout-vertical-reverse a.brand{flex-direction:column-reverse}}.site-header-row-center-column .brand:not(.has-logo-image) .site-title-wrap{text-align:center}.logo-icon{display:flex}.logo-icon .kadence-svg-iconset svg{width:100%;height:auto}.header-navigation ul ul.sub-menu,.header-navigation ul ul.submenu{display:none;position:absolute;top:100%;flex-direction:column;background:#fff;margin-left:0;box-shadow:0 2px 13px rgba(0,0,0,.1);z-index:1000}.header-navigation ul ul.quadmenu-row{flex-direction:row}body:not(.hide-focus-outline) .header-navigation li.menu-item--has-toggle>a:focus .dropdown-nav-toggle{opacity:.2}.header-navigation ul ul.sub-menu>li:last-child,.header-navigation ul ul.submenu>li:last-child{border-bottom:0}.header-navigation ul ul.sub-menu.sub-menu-edge{left:auto;right:0}.header-navigation ul ul ul.sub-menu.sub-menu-edge{left:auto;right:100%}.header-navigation[class*=header-navigation-dropdown-animation-fade] ul ul.sub-menu,.header-navigation[class*=header-navigation-dropdown-animation-fade] ul ul.submenu{opacity:0;visibility:hidden;transform:translate3d(0, 0, 0);transition:all .2s ease;display:block;clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden}.header-navigation[class*=header-navigation-dropdown-animation-fade]:not(.click-to-open) ul li:hover>ul,.header-navigation[class*=header-navigation-dropdown-animation-fade]:not(.click-to-open) ul li.menu-item--toggled-on>ul,.header-navigation[class*=header-navigation-dropdown-animation-fade]:not(.click-to-open) ul li:not(.menu-item--has-toggle):focus>ul{opacity:1;visibility:visible;transform:translate3d(0, 0, 0);clip:auto;height:auto;overflow:visible}.header-navigation[class*=header-navigation-dropdown-animation-fade].click-to-open ul li>ul.opened,.header-navigation[class*=header-navigation-dropdown-animation-fade].click-to-open ul li.menu-item--toggled-on>ul,.header-navigation[class*=header-navigation-dropdown-animation-fade].click-to-open ul li:not(.menu-item--has-toggle):focus>ul{opacity:1;visibility:visible;transform:translate3d(0, 0, 0);clip:auto;height:auto;overflow:visible}.header-navigation.header-navigation-dropdown-animation-fade-up ul ul.sub-menu,.header-navigation.header-navigation-dropdown-animation-fade-up ul ul.submenu{transform:translate3d(0, 10px, 0)}.header-navigation.header-navigation-dropdown-animation-fade-down ul ul.sub-menu,.header-navigation.header-navigation-dropdown-animation-fade-down ul ul.submenu{transform:translate3d(0, -10px, 0)}.wp-site-blocks .nav--toggle-sub .dropdown-nav-special-toggle{position:absolute !important;overflow:hidden;padding:0 !important;margin:0 !important;margin-right:-0.1em !important;border:0 !important;width:.9em;top:0;bottom:0;height:auto;border-radius:0;box-shadow:none !important;background:rgba(0,0,0,0) !important;display:block;left:auto;right:.7em;pointer-events:none}.wp-site-blocks .nav--toggle-sub .sub-menu .dropdown-nav-special-toggle{width:2.6em;margin:0 !important;right:0}.nav--toggle-sub .dropdown-nav-special-toggle:focus{z-index:10}.nav--toggle-sub .dropdown-nav-toggle{display:block;background:rgba(0,0,0,0);position:absolute;right:0;top:50%;width:.7em;height:.7em;font-size:inherit;width:.9em;height:.9em;font-size:.9em;display:inline-flex;line-height:inherit;margin:0;padding:0;border:none;border-radius:0;transform:translateY(-50%);overflow:visible;transition:opacity .2s ease}.nav--toggle-sub ul ul .dropdown-nav-toggle{right:.2em}.nav--toggle-sub ul ul .dropdown-nav-toggle .kadence-svg-iconset{transform:rotate(-90deg)}.nav--toggle-sub li.menu-item-has-children{position:relative}.nav-drop-title-wrap{position:relative;padding-right:1em;display:block}.nav--toggle-sub:not(.click-to-open) li:hover>ul,.nav--toggle-sub li.menu-item--toggled-on>ul,.nav--toggle-sub li:not(.menu-item--has-toggle):focus>ul,.nav--toggle-sub.click-to-open li.menu-item--has-toggle>ul.opened{display:block}.nav--toggle-sub li:not(.menu-item--has-toggle):focus-within>ul{display:block}@media(hover: none){.wp-site-blocks .nav--toggle-sub .menu-item--has-toggle:not(.menu-item--toggled-on) .dropdown-nav-special-toggle{left:0;right:0 !important;margin-right:0 !important;width:100%;pointer-events:all}.wp-site-blocks .nav--toggle-sub .menu-item--has-toggle:not(.menu-item--toggled-on)>a{pointer-events:none}}.rtl .nav--toggle-sub .dropdown-nav-toggle{right:auto;left:0}.rtl .primary-menu-container>ul>li.menu-item .dropdown-nav-special-toggle{right:auto;left:.7em}.rtl .wp-site-blocks .nav--toggle-sub .sub-menu .dropdown-nav-special-toggle{left:0;right:auto}.rtl .nav--toggle-sub ul ul .dropdown-nav-toggle .kadence-svg-iconset{transform:rotate(-270deg)}.rtl .header-navigation ul ul ul.sub-menu,.rtl .header-navigation ul ul ul.submenu{right:100%;left:auto}.rtl .nav-drop-title-wrap{padding-left:1em;padding-right:0}.wp-site-blocks .nav--toggle-sub .kadence-menu-mega-enabled .sub-menu .dropdown-nav-special-toggle{display:none}.header-navigation-style-underline-fullheight,.header-navigation-style-fullheight{height:100%;align-items:center}.header-navigation-style-underline-fullheight .header-menu-container,.header-navigation-style-fullheight .header-menu-container{height:100%;align-items:center}.header-navigation-style-underline-fullheight .header-menu-container>ul,.header-navigation-style-fullheight .header-menu-container>ul{height:100%;align-items:center}.header-navigation-style-underline-fullheight .header-menu-container>ul>li,.header-navigation-style-fullheight .header-menu-container>ul>li{display:flex;height:100%;align-items:center}.header-navigation-style-underline-fullheight .header-menu-container>ul>li>a,.header-navigation-style-fullheight .header-menu-container>ul>li>a{display:flex;height:100%;align-items:center}.header-navigation[class*=header-navigation-style-underline] .header-menu-container>ul>li>a{position:relative}.header-navigation[class*=header-navigation-style-underline] .header-menu-container>ul>li>a:after{content:"";width:100%;position:absolute;bottom:0px;height:2px;right:50%;background:currentColor;transform:scale(0, 0) translate(-50%, 0);transition:transform .2s ease-in-out,color 0s ease-in-out}.header-navigation[class*=header-navigation-style-underline] .header-menu-container>ul>li>a:hover:after{transform:scale(1, 1) translate(50%, 0)}.header-navigation[class*=header-navigation-style-underline] .header-menu-container>ul>li.current-menu-item>a:after,.header-navigation[class*=header-navigation-style-underline] .header-menu-container>ul>li.current-page-item>a:after{transform:scale(1, 1) translate(50%, 0)}.header-navigation,.header-menu-container{display:flex}.header-navigation li.menu-item>a{display:block;width:100%;text-decoration:none;color:var(--global-palette4);transition:all .2s ease-in-out;transform:translate3d(0, 0, 0)}.header-navigation li.menu-item>a:hover,.header-navigation li.menu-item>a:focus{color:var(--global-palette-highlight)}.header-navigation ul.sub-menu,.header-navigation ul.submenu{display:block;list-style:none;margin:0;padding:0}.header-navigation ul li.menu-item>a{padding:.6em .5em}.header-navigation ul ul li.menu-item>a{padding:1em;outline-offset:-2px}.header-navigation ul ul li.menu-item>a{width:200px}.header-navigation ul ul ul.sub-menu,.header-navigation ul ul ul.submenu{top:0;left:100%;right:auto;min-height:100%}.header-navigation .menu{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;list-style:none;margin:0;padding:0}.menu-toggle-open{display:flex;background:rgba(0,0,0,0);align-items:center;box-shadow:none}.menu-toggle-open .menu-toggle-label{padding-right:5px}.menu-toggle-open .menu-toggle-icon{display:flex}.menu-toggle-open .menu-toggle-label:empty{padding-right:0px}.menu-toggle-open:hover,.menu-toggle-open:focus{border-color:currentColor;background:rgba(0,0,0,0);box-shadow:none}.menu-toggle-open.menu-toggle-style-default{border:0}.wp-site-blocks .menu-toggle-open{box-shadow:none}.mobile-navigation{width:100%}.mobile-navigation a{display:block;width:100%;text-decoration:none;padding:.6em .5em}.mobile-navigation ul{display:block;list-style:none;margin:0;padding:0}.drawer-nav-drop-wrap{display:flex;position:relative}.drawer-nav-drop-wrap a{color:inherit}.drawer-nav-drop-wrap .drawer-sub-toggle{background:rgba(0,0,0,0);color:inherit;padding:.5em .7em;display:flex;border:0;border-radius:0;box-shadow:none;line-height:normal}.drawer-nav-drop-wrap .drawer-sub-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.mobile-navigation.drawer-navigation-parent-toggle-true .drawer-nav-drop-wrap .drawer-sub-toggle{position:absolute;left:0;z-index:10;top:0;bottom:0;justify-content:flex-end;width:100%}.mobile-navigation ul ul{padding-left:1em;transition:all .2s ease-in-out}.mobile-navigation ul.has-collapse-sub-nav ul.sub-menu{display:none}body[class*=amp-mode-] .mobile-navigation ul ul{display:block}.mobile-navigation ul ul ul ul ul ul{padding-left:0}.mobile-navigation ul.has-collapse-sub-nav .sub-menu.show-drawer{display:block}.popup-drawer{position:fixed;display:none;top:0;bottom:0;left:-99999rem;right:99999rem;transition:opacity .25s ease-in,left 0s .25s,right 0s .25s;z-index:100000}.popup-drawer .drawer-overlay{background-color:rgba(0,0,0,.4);position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .2s ease-in-out}.popup-drawer .drawer-inner{width:100%;transform:translateX(100%);max-width:90%;right:0;top:0;overflow:auto;background:#090c10;color:#fff;bottom:0;opacity:0;position:fixed;box-shadow:0 0 2rem 0 rgba(0,0,0,.1);display:flex;flex-direction:column;transition:transform .3s cubic-bezier(0.77, 0.2, 0.05, 1),opacity .25s cubic-bezier(0.77, 0.2, 0.05, 1)}.popup-drawer .drawer-header{padding:0 1.5em;display:flex;justify-content:flex-end;min-height:calc(1.2em + 24px)}.popup-drawer .drawer-header .drawer-toggle{background:rgba(0,0,0,0);border:0;font-size:24px;line-height:1;padding:.6em .15em;color:inherit;display:flex;box-shadow:none;border-radius:0}.popup-drawer .drawer-header .drawer-toggle:hover{box-shadow:none}.popup-drawer .drawer-content{padding:0 1.5em 1.5em}.popup-drawer-layout-sidepanel.popup-drawer-side-left .drawer-inner{transform:translateX(-100%);right:auto;left:0}@media screen and (max-width: 1024px){.showing-popup-drawer-from-right.animate-body-popup #inner-wrap,.showing-popup-drawer-from-right.animate-body-popup #colophon,.showing-popup-drawer-from-right.animate-body-popup .site-header-row{transform:translateX(-200px)}.showing-popup-drawer-from-left.animate-body-popup #inner-wrap,.showing-popup-drawer-from-left.animate-body-popup #colophon,.showing-popup-drawer-from-left.animate-body-popup .site-header-row{transform:translateX(200px)}.animate-body-popup #inner-wrap,.animate-body-popup .site-header-row,.animate-body-popup #colophon{transform:none;transition:transform .3s cubic-bezier(0.77, 0.2, 0.05, 1)}}.popup-drawer-animation-scale.popup-drawer-layout-fullwidth .drawer-inner{transform:scale(0);transform-origin:top right;transition:transform .3s cubic-bezier(0.77, 0.2, 0.05, 1),opacity .3s cubic-bezier(0.77, 0.2, 0.05, 1)}.popup-drawer-animation-scale.popup-drawer-layout-fullwidth.popup-drawer-side-left .drawer-inner{transform-origin:top left}.popup-drawer-animation-scale.popup-drawer-layout-fullwidth.active .drawer-inner{transform:scale(1)}#mobile-drawer.popup-drawer-animation-slice.popup-drawer-layout-fullwidth .drawer-overlay,#mobile-drawer.popup-drawer-animation-slice.popup-drawer-layout-fullwidth .drawer-inner{background:rgba(0,0,0,0)}.popup-drawer .drawer-header .drawer-toggle{width:1em;position:relative;height:1em;box-sizing:content-box;font-size:24px}.drawer-toggle .toggle-close-bar{width:.75em;height:.08em;background:currentColor;transform-origin:center center;position:absolute;margin-top:-0.04em;opacity:0;border-radius:.08em;left:50%;margin-left:-0.375em;top:50%;transform:rotate(45deg) translateX(-50%);transition:transform .3s cubic-bezier(0.77, 0.2, 0.05, 1),opacity .3s cubic-bezier(0.77, 0.2, 0.05, 1);transition-delay:.2s}.drawer-toggle .toggle-close-bar:last-child{transform:rotate(-45deg) translateX(50%)}.popup-drawer.active .drawer-toggle .toggle-close-bar{transform:rotate(45deg);opacity:1}.popup-drawer.active .drawer-toggle .toggle-close-bar:last-child{transform:rotate(-45deg);opacity:1}.popup-drawer .drawer-content.content-valign-middle{min-height:calc(100% - (1.2em + 24px));display:flex;justify-content:safe center;flex-direction:column;padding-bottom:calc(1.2em + 24px);overflow:auto}.popup-drawer .drawer-content.content-valign-bottom{min-height:calc(100% - (1.2em + 24px));display:flex;justify-content:flex-end;flex-direction:column;padding-bottom:calc(1.2em + 24px);max-height:calc(100% - (1.2em + 24px));overflow:auto}.popup-drawer .drawer-content.content-valign-bottom .site-header-item-mobile-navigation{display:block;overflow:auto;max-height:calc(100% - (1.2em + 24px))}.popup-drawer .drawer-content.content-align-center{text-align:center}.popup-drawer .drawer-content.content-align-center .site-header-item{justify-content:center}.popup-drawer .drawer-content.content-align-right{text-align:right}.popup-drawer .drawer-content.content-align-right .site-header-item{justify-content:flex-end}.popup-drawer-layout-fullwidth.popup-drawer-animation-slice .drawer-inner{transform:none}.popup-drawer-layout-fullwidth.popup-drawer-animation-slice .pop-slice-background{transform-origin:center;transform:none;position:absolute;display:flex;flex-flow:column;align-items:stretch;top:0;left:0;right:0;bottom:0;z-index:-1}.popup-drawer-layout-fullwidth.popup-drawer-animation-slice .pop-portion-bg{flex:1 1 100%;background:rgba(9,12,16,.97);transform:translateX(-100%);transition:transform .3s cubic-bezier(0.77, 0.2, 0.05, 1)}.popup-drawer-layout-fullwidth.popup-drawer-animation-slice .pop-portion-bg:nth-child(odd){transform:translateX(100%)}.popup-drawer-layout-fullwidth.popup-drawer-animation-slice .drawer-content{transform:translateY(20px);opacity:0;transition:all .4s ease}.popup-drawer-layout-fullwidth.popup-drawer-animation-slice.active .pop-portion-bg{transform:translateX(0)}.popup-drawer-layout-fullwidth.popup-drawer-animation-slice.active .drawer-content{transform:translateY(0px);opacity:1;transition:all .4s ease;transition-delay:.2s}@media screen and (max-width: 1024px){.popup-drawer-layout-sidepanel.popup-mobile-drawer-side-right .drawer-inner{transform:translateX(100%);right:0;left:auto}.popup-drawer-layout-sidepanel.popup-mobile-drawer-side-left .drawer-inner{transform:translateX(-100%);right:auto;left:0}}body.admin-bar .popup-drawer{top:46px}body.admin-bar .popup-drawer .drawer-inner{top:46px}@media screen and (min-width: 783px){body.admin-bar .popup-drawer{top:32px}body.admin-bar .popup-drawer .drawer-inner{top:32px}}.popup-drawer.show-drawer{display:block}.popup-drawer.active{left:0;opacity:1;right:0;transition:opacity .25s ease-out}.popup-drawer.active .drawer-inner{opacity:1;transform:translateX(0%)}.popup-drawer.active .drawer-overlay{opacity:1;cursor:pointer}body[class*=showing-popup-drawer-]{overflow:hidden}.site .header-navigation .header-menu-container .menu-item.nav-button{margin:0 .25em}.site .header-navigation .header-menu-container .menu-item.nav-button>a{margin:0;padding:.8em 1.5em .8em 1.5em;background:var(--global-palette-btn-bg);color:var(--global-palette-btn);font-style:normal;font-size:16px;line-height:1.4;border-radius:12px}.site .header-navigation .header-menu-container .menu-item.nav-button>a:hover,.site .header-navigation .header-menu-container .menu-item.nav-button>a:focus{color:var(--global-palette-btn-hover);background:var(--global-palette-btn-bg-hover)}@media screen and (max-width: 1024px){.mobile-menu-container .menu-item.nav-button>a{width:100%;text-align:center;margin:0;padding:.8em 1.5em .8em 1.5em;background:var(--global-palette-btn-bg);color:var(--global-palette-btn);font-style:normal;font-size:16px;line-height:1.4;border-radius:12px}.mobile-menu-container .menu-item.nav-button>a:hover,.mobile-menu-container .menu-item.nav-button>a:focus{color:var(--global-palette-btn-hover);background:var(--global-palette-btn-bg-hover)}}#main-header{display:none}#masthead{position:relative;z-index:11}@media screen and (min-width: 1025px){#main-header{display:block}#mobile-header{display:none}}.header-html-inner img.alignnone{display:inline-block}.drawer-content .mobile-html,.drawer-content .mobile-html2{width:100%}.site-header-row{display:grid;grid-template-columns:auto auto}.site-header-row.site-header-row-center-column{grid-template-columns:1fr auto 1fr}.site-header-row.site-header-row-only-center-column{display:flex;justify-content:center}.site-header-row.site-header-row-only-center-column .site-header-section-center{flex-grow:1}.site-header-upper-inner-wrap.child-is-fixed{display:flex;align-items:flex-end}.site-header-upper-inner-wrap.child-is-fixed .site-main-header-wrap{width:100%}.site-header-row-layout-fullwidth>.site-header-row-container-inner>.site-container{max-width:none}.site-header-row-tablet-layout-contained{padding:0 1.5rem}@media screen and (max-width: 719px){.site-header-focus-item.site-header-row-mobile-layout-contained{padding:0 1.5rem}.site-header-focus-item.site-header-row-mobile-layout-fullwidth,.site-header-focus-item.site-header-row-mobile-layout-standard{padding:0}}.site-header-section{display:flex;max-height:inherit}.site-header-item{display:flex;align-items:center;margin-right:10px;max-height:inherit}.rtl .site-header-item{margin-left:10px;margin-right:0px}.site-header-section>.site-header-item:last-child{margin-right:0}.rtl .site-header-section>.site-header-item:last-child{margin-left:0px}.drawer-content .site-header-item{margin-right:0;margin-bottom:10px}.drawer-content .site-header-item:last-child{margin-bottom:0}.site-header-section-right{justify-content:flex-end}.site-header-section-center{justify-content:center}.site-header-section-left-center{flex-grow:1;justify-content:flex-end}.site-header-section-right-center{flex-grow:1;justify-content:flex-start}.header-navigation-layout-stretch-true{flex-grow:1}.header-navigation-layout-stretch-true .header-navigation{flex-grow:1}.header-navigation-layout-stretch-true .header-navigation .header-menu-container{flex-grow:1}.header-navigation-layout-stretch-true .header-navigation .header-menu-container .menu{flex-grow:1;justify-content:space-between}.header-navigation-layout-stretch-true.header-navigation-layout-fill-stretch-true .header-navigation .header-menu-container .menu{display:grid;grid-template-columns:repeat(auto-fit, minmax(60px, 1fr))}.header-navigation-layout-stretch-true.header-navigation-layout-fill-stretch-true .header-navigation .header-menu-container .menu>li{text-align:center}.header-html-inner p:first-child{margin-top:0}.header-html-inner p:last-child{margin-bottom:0}#main-header .header-button.button-style-outline{background:rgba(0,0,0,0) !important}.element-social-inner-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:.3em}a.social-button{width:2em;text-decoration:none;height:2em;display:inline-flex;justify-content:center;align-items:center;margin:0;color:var(--global-palette4);background:var(--global-palette7);border-radius:3px;transition:all .2s ease-in-out}a.social-button:hover{color:var(--global-palette-btn);background:var(--global-palette-btn-bg)}a.social-button .social-label{padding-left:6px}.social-show-label-true a.social-button{width:auto;padding:0 .4em}.social-style-outline .social-button{background:rgba(0,0,0,0) !important;border:2px solid var(--global-palette7)}.social-style-outline .social-button:hover{color:var(--global-palette-highlight);border-color:currentColor}.social-icon-custom-svg{display:inline-flex;align-self:center}.social-icon-custom-svg svg{fill:currentcolor;width:1em;height:1em}.social-icon-custom-svg svg *{fill:currentColor}.search-toggle-open{display:flex;background:rgba(0,0,0,0);align-items:center;padding:.5em;box-shadow:none}.search-toggle-open .search-toggle-label{padding-right:5px}.search-toggle-open .search-toggle-icon{display:flex}.search-toggle-open .search-toggle-icon svg.kadence-svg-icon{top:-0.05em;position:relative}.search-toggle-open .search-toggle-label:empty{padding-right:0px}.search-toggle-open:hover,.search-toggle-open:focus{border-color:currentColor;background:rgba(0,0,0,0);box-shadow:none}.search-toggle-open.search-toggle-style-default{border:0}.popup-drawer-layout-fullwidth .drawer-inner{max-width:none;background:rgba(9,12,16,.97);transition:transform 0s ease-in,opacity .2s ease-in}.popup-drawer-layout-fullwidth .drawer-inner .drawer-overlay{background-color:rgba(0,0,0,0)}#mobile-drawer.popup-drawer-layout-fullwidth.popup-drawer-animation-slice.pop-animated .drawer-inner{background:rgba(9,12,16,.97)}#search-drawer .drawer-inner .drawer-header{position:relative;z-index:100}#search-drawer .drawer-inner .drawer-content{display:flex;justify-content:center;align-items:center;position:absolute;top:0;bottom:0;left:0;right:0;padding:2em}#search-drawer .drawer-inner form{max-width:800px;width:100%;margin:0 auto;display:flex}#search-drawer .drawer-inner form label{flex-grow:2}#search-drawer .drawer-inner form ::-webkit-input-placeholder{color:currentColor;opacity:.5}#search-drawer .drawer-inner form ::-moz-placeholder{color:currentColor;opacity:.5}#search-drawer .drawer-inner form :-ms-input-placeholder{color:currentColor;opacity:.5}#search-drawer .drawer-inner form :-moz-placeholder{color:currentColor;opacity:.5}#search-drawer .drawer-inner input.search-field{width:100%;background:rgba(0,0,0,0);color:var(--global-palette6);padding:.8em 80px .8em .8em;font-size:20px;border:1px solid currentColor}#search-drawer .drawer-inner input.search-field:focus{color:#fff;box-shadow:5px 5px 0px 0px currentColor}#search-drawer .drawer-inner .search-submit[type=submit]{width:70px}#search-drawer .drawer-inner .kadence-search-icon-wrap{color:var(--global-palette6);width:70px}#search-drawer .drawer-inner .search-submit[type=submit]:hover~.kadence-search-icon-wrap{color:#fff}#search-drawer .drawer-inner button[type=submit]:hover~.kadence-search-icon-wrap{color:#fff}.site-header-upper-inner-wrap.child-is-fixed .site-top-header-wrap:not(.item-is-fixed){align-self:flex-start;flex-grow:1}.kadence-sticky-header{position:relative;z-index:1}.item-is-fixed{position:fixed;left:0;right:0;z-index:1200}.site-branding a.brand img.kadence-sticky-logo{display:none}.kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-branding a.brand.has-sticky-logo img.kadence-sticky-logo{display:block}.kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-branding a.brand.has-sticky-logo img{display:none}.kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-branding a.brand img:not(.svg-logo-image){width:auto}.kadence-sticky-header.item-is-fixed:not(.item-at-start)[data-shrink=true] .site-branding a.brand picture img{max-height:inherit}#mobile-drawer{z-index:99999}#mobile-header .mobile-navigation>.mobile-menu-container.drawer-menu-container>ul.menu{display:flex;flex-wrap:wrap}#mobile-header .mobile-navigation.drawer-navigation-parent-toggle-true .drawer-nav-drop-wrap>a{padding-right:2em}#mobile-header .mobile-navigation:not(.drawer-navigation-parent-toggle-true) ul li.menu-item-has-children .drawer-nav-drop-wrap button{border:0}#mobile-header .mobile-navigation ul li.menu-item-has-children .drawer-nav-drop-wrap,#mobile-header .mobile-navigation ul li:not(.menu-item-has-children) a{border:0}
/* Frozen v1.27 shell compatibility, Kadence GPL-2.0-or-later. No Kadence runtime. */
.has-drop-cap:not(:focus):first-letter{float:left;line-height:1;font-size:80px;font-weight:600;margin:0 .125em 0 0;text-transform:uppercase}.wp-block-image{margin-bottom:0}.wp-block-image.has-custom-border img{border-style:solid}figure.wp-block-image.aligncenter img{display:inline-block}.wp-block-pullquote{border-top:0;border-bottom:0;color:var(--global-palette4)}.wp-block-pullquote blockquote{border:0;margin:0 auto;padding:2em;position:relative}.wp-block-pullquote blockquote::before{font-size:200px;line-height:40px;font-family:sans-serif;color:var(--global-palette7);z-index:0;position:absolute;left:35px;content:open-quote;top:80px}.wp-block-pullquote blockquote p{font-size:1.15em;font-style:italic;position:relative;z-index:1}.wp-block-pullquote blockquote cite{text-transform:uppercase}.wp-block-pullquote.is-style-solid-color:not(.has-background){background:var(--global-palette7)}.wp-block-pullquote.is-style-solid-color blockquote{padding:0}.wp-block-pullquote.is-style-solid-color blockquote:before{color:var(--global-palette9);left:-20px;top:45px}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:1.15em;font-style:italic}@media screen and (min-width: 767px){.wp-block-pullquote blockquote p,.wp-block-pullquote.is-style-solid-color blockquote p{font-size:1.3em}}.wp-block-quote.is-large,.wp-block-quote.is-style-large{margin:1.5em auto;padding:0 1em}.wp-block-quote.is-large,.wp-block-quote.is-style-large{border:none}.wp-block-quote.has-text-align-right{border-left:none;border-right:4px solid var(--global-palette4);padding-left:0;padding-right:1em}.wp-block-quote.has-text-align-center{border:none;padding-left:0}.single-content .wp-block-quote p{margin-bottom:var(--global-sm-spacing)}.single-content .wp-block-quote p:last-child{margin-bottom:0}.wp-block-cover{display:flex;align-items:center}.wp-block-table{border-collapse:collapse}.wp-block-table table{border-collapse:collapse}.wp-block-table thead{border-bottom:3px solid var(--global-palette6)}.wp-block-table tfoot{border-top:3px solid var(--global-palette6)}.wp-block-table td,.wp-block-table th{padding:.5em;border:1px solid var(--global-palette6);word-break:normal}.wp-block-table img{display:inline-block}.wp-block-table.is-style-stripes thead{border-bottom:0}.wp-block-table.is-style-stripes tfoot{border-top:0}.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{border:0}.blocks-gallery-caption figcaption,.wp-block-embed figcaption,.wp-block-image figcaption,.wp-block-table figcaption,.wp-block-audio figcaption,.wp-block-video figcaption{color:var(--global-palette5);font-size:80%;text-align:center}.wp-block-separator{margin-left:auto;margin-right:auto}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){max-width:160px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-dots):not(.is-style-wide){height:2px}.wp-block-separator.is-style-dots:before{font-size:30px}ul.wp-block-social-links:not(.specificity){padding-left:0;padding-right:0}.single-content .wp-block-columns{margin-bottom:var(--global-md-spacing);margin-top:0}.wp-block-latest-posts.wp-block-latest-posts__list.is-grid{display:grid;column-gap:2.5rem;row-gap:2.5rem;grid-template-columns:1fr;padding-left:0}.wp-block-latest-posts.wp-block-latest-posts__list.is-grid .wp-block-latest-posts__featured-image:not(.alignleft):not(.alignright){display:block;height:0;padding-bottom:66.67%;overflow:hidden;position:relative}.wp-block-latest-posts.wp-block-latest-posts__list.is-grid .wp-block-latest-posts__featured-image:not(.alignleft):not(.alignright) img{flex:1;height:100%;object-fit:cover;width:100%;position:absolute}.wp-block-latest-posts.wp-block-latest-posts__list.is-grid li{margin:0;width:100%}.wp-block-latest-posts.wp-block-latest-posts__list.is-grid li>a{margin:1em 0 0;color:var(--global-palette3);text-decoration:none;font-size:1.3em;display:block}@media screen and (min-width: 767px){.wp-block-latest-posts.wp-block-latest-posts__list.is-grid.columns-2{grid-template-columns:1fr 1fr}.wp-block-latest-posts.wp-block-latest-posts__list.is-grid.columns-3{grid-template-columns:1fr 1fr 1fr}.wp-block-latest-posts.wp-block-latest-posts__list.is-grid.columns-4{grid-template-columns:1fr 1fr 1fr 1fr}.wp-block-latest-posts.wp-block-latest-posts__list.is-grid.columns-5{grid-template-columns:1fr 1fr 1fr 1fr 1fr}}.wp-block-latest-posts.wp-block-latest-posts__list{padding-left:0}.wp-block-latest-posts__list li{margin-top:var(--global-sm-spacing)}.wp-block-latest-posts__list li:after{clear:both;display:table;content:""}.wp-block-latest-posts__post-author,.wp-block-latest-posts__post-date{color:var(--global-palette6)}@media screen and (max-width: 540px){.wp-block-latest-posts__featured-image.alignleft{float:none;margin-bottom:1em}}figure.wp-block-gallery ul{padding:0}.wp-block-media-text .wp-block-media-text__media img,.wp-block-media-text .wp-block-media-text__media video{max-width:unset;width:100%;vertical-align:middle}.wp-block-group.has-background{padding:20px 30px;margin-top:0;margin-bottom:0}.entry-content .wp-block-group.has-background{padding:20px 30px}.wp-block-navigation ul,.wp-block-navigation ul li{list-style:none}.wp-block-search .wp-block-search__button{border-color:var(--global-gray-400)}.wp-block-search .wp-block-search__button:not(.has-text-color){color:var(--global-palette4)}.wp-block-search .wp-block-search__button:not(.has-background){background:var(--global-palette9)}.wp-block-search .wp-block-search__input{border-color:var(--global-gray-400)}.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper{border-color:var(--global-gray-400);border-radius:3px;background:var(--global-palette9)}.wp-block-navigation ul.wp-block-navigation__container{padding:0}.has-child .wp-block-navigation__container{min-width:12em;display:flex;flex-direction:column}.wp-block-yoast-how-to-block .schema-how-to-steps li{margin-bottom:var(--global-md-spacing)}.wp-block-yoast-how-to-block .schema-how-to-steps li .schema-how-to-step-text{margin-top:0}.single-content .wp-block-post-template,.single-content .wp-block-query-loop{padding:0}.single-content .wp-block-query .wp-block-post-featured-image.alignwide,.single-content .wp-block-query .wp-block-post-featured-image.alignfull{margin-left:0;margin-right:0}.single-content .wp-block-query .wp-block-post-featured-image.alignfull{width:auto}.page-content .wp-smiley,.entry-content .wp-smiley,.comment-content .wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0}embed,iframe,object{max-width:100%}.wp-caption{margin-bottom:1.5em;max-width:100%}.wp-caption img[class*=wp-image-]{display:block;margin-left:auto;margin-right:auto}.wp-caption-text{text-align:center}.wp-caption .wp-caption-text{margin:.8075em 0}.gallery{margin-bottom:1.5em;display:grid;grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));grid-gap:.5em}.gallery .gallery-item{margin-top:0}.elementor-image-gallery .gallery{display:block}@media screen and (min-width: 40em){.gallery-columns-2{grid-template-columns:repeat(2, 1fr)}.gallery-columns-3{grid-template-columns:repeat(3, 1fr)}.gallery-columns-4{grid-template-columns:repeat(4, 1fr)}.gallery-columns-5{grid-template-columns:repeat(5, 1fr)}.gallery-columns-6{grid-template-columns:repeat(6, 1fr)}.gallery-columns-7{grid-template-columns:repeat(7, 1fr)}.gallery-columns-8{grid-template-columns:repeat(8, 1fr)}.gallery-columns-9{grid-template-columns:repeat(9, 1fr)}}.gallery-item{padding:.5em}.gallery-icon{display:flex;justify-content:center}.gallery-caption{font-size:80%}.gallery.entry{display:block}.pagination{margin:var(--global-lg-spacing) auto;overflow:hidden}.pagination .nav-links{justify-content:center;flex-wrap:wrap}.pagination .page-numbers{display:inline-block;margin-right:.5em;border:2px solid rgba(0,0,0,0);min-width:2.5em;line-height:2.25em;text-align:center;text-decoration:none;border-radius:.25rem;color:inherit}.pagination a:hover,.pagination a:focus,.pagination a:active{border-color:var(--global-palette-btn-bg)}.pagination .dots{min-width:auto;border:none}.pagination .current{border-color:var(--global-palette-btn-bg);background:var(--global-palette-btn-bg);color:var(--global-palette-btn)}.pagination .page-numbers:last-child{margin-right:0}.page-links{margin-top:var(--global-md-spacing);justify-content:center;flex-wrap:wrap;clear:both}.page-links .post-page-numbers{display:inline-block;margin-right:.2em;border:2px solid rgba(0,0,0,0);min-width:2.5em;line-height:2.25em;text-align:center;text-decoration:none;border-radius:.25rem;color:inherit}.page-links a:hover,.page-links a:focus,.page-links a:active{border-color:var(--global-palette-btn-bg)}.page-links .current{border-color:var(--global-palette-btn-bg);background:var(--global-palette-btn-bg);color:var(--global-palette-btn)}.page-links .post-page-numbers:first-child{margin-left:.5em}.page-links .post-page-numbers:last-child{margin-right:0}.comment-navigation,.post-navigation{margin:var(--global-lg-spacing) auto}.comment-navigation a,.post-navigation a{text-decoration:none;color:inherit;display:block}.comment-navigation a:hover,.post-navigation a:hover{color:var(--global-palette-highlight)}.comment-navigation .nav-links,.post-navigation .nav-links{display:grid;grid-template-columns:repeat(2, 1fr)}.comment-navigation .nav-previous,.post-navigation .nav-previous{position:relative}.comment-navigation .nav-previous .kadence-svg-iconset,.post-navigation .nav-previous .kadence-svg-iconset{padding-right:.5em}.comment-navigation .nav-previous a,.post-navigation .nav-previous a{padding-right:var(--global-xs-spacing)}.comment-navigation .nav-previous:after,.post-navigation .nav-previous:after{position:absolute;content:"";top:25%;right:0;width:1px;height:50%;background:var(--global-gray-500)}.comment-navigation .nav-next,.post-navigation .nav-next{grid-column-start:2;text-align:right}.comment-navigation .nav-next a,.post-navigation .nav-next a{padding-left:var(--global-xs-spacing)}.comment-navigation .nav-next .kadence-svg-iconset,.post-navigation .nav-next .kadence-svg-iconset{padding-left:.5em}.post-navigation-sub{margin-bottom:.5em}.post-navigation-sub small{text-transform:uppercase;display:inline-block;font-weight:bold;letter-spacing:.05em}.widget{margin-top:0;margin-bottom:1.5em}.widget-area .widget:last-child{margin-bottom:0}.widget-area .widget-title{font-size:20px;line-height:1.5;margin-bottom:.5em;text-transform:uppercase}.widget-area ul{padding-left:.5em}.widget-area a:where(:not(.button):not(.wp-block-button__link):not(.wp-element-button)){color:var(--global-palette3);text-decoration:none}.widget-area a:where(:not(.button):not(.wp-block-button__link):not(.wp-element-button)):hover{color:var(--global-palette-highlight);text-decoration:underline}.sidebar-link-style-underline.widget-area a:where(:not(.button):not(.wp-block-button__link):not(.wp-element-button)){text-decoration:underline}.sidebar-link-style-plain.widget-area a:where(:not(.button):not(.wp-block-button__link):not(.wp-element-button)){text-decoration:none}.sidebar-link-style-plain.widget-area a:where(:not(.button):not(.wp-block-button__link):not(.wp-element-button)):hover{text-decoration:none}.widget-area .widget{margin-left:0;margin-right:0}.widget li:not(.kb-table-of-content-list li){line-height:1.8}.widget_archive ul,.widget_categories ul,.widget_meta ul,.widget_nav_menu ul,.widget_recent_comments ul,.widget_pages ul,.widget_recent_entries ul,.widget_rss ul{margin:0;padding:0;list-style-type:none}.widget select{max-width:100%;text-overflow:ellipsis}.widget_archive li{color:var(--global-palette6)}.widget_categories .children{padding-top:0}.widget_pages .children,.widget_nav_menu .sub-menu{padding-top:0;padding-bottom:.5em}.widget_pages a,.widget_nav_menu a{display:block;padding:.1em 0;text-decoration:none}.widget_pages a:hover,.widget_pages a:focus,.widget_nav_menu a:hover,.widget_nav_menu a:focus{text-decoration:none}.widget_pages li,.widget_nav_menu li{padding:0}.widget_pages li ul,.widget_nav_menu li ul{margin-left:1em}.widget_meta li{padding:0}.widget_recent_comments li{line-height:1.3;padding-bottom:.5em}.widget_recent_comments a{font-weight:bold}.widget_recent_comments .comment-author-link a{font-weight:inherit}.widget_recent_comments a:hover,.widget_recent_comments a:focus{padding-left:0}.widget_recent_entries ul li{margin-bottom:.4em}.widget_recent_entries ul li .post-date{font-size:.8em;color:var(--global-palette6)}.widget_rss li{margin-bottom:1em;line-height:1.3}.widget li a.rsswidget{padding-right:.5em;font-size:1em;line-height:1.4}.rss-date,.widget_rss cite{color:#333;font-size:.8em}.rssSummary{padding:.5em 0;font-size:.9em;line-height:1.3}.widget_calendar{font-weight:400}.widget_calendar caption{padding:.5em 0;font-size:1em;font-weight:500;text-align:left}.widget_calendar thead{background:rgba(0,0,0,0);color:#333}.widget_calendar th{border:none;text-align:center}.widget_calendar thead th{border-bottom-width:2px}.widget_calendar td{padding:.2em;font-size:.8em;text-align:center;background:#fff;border:1px solid var(--global-gray-400)}.widget_calendar .pad{background:var(--global-palette7)}.widget_calendar .wp-calendar-nav .pad{background:rgba(0,0,0,0)}.widget_calendar a{font-weight:900;text-decoration:none}.collapse-sub-navigation ul.menu{display:block}.collapse-sub-navigation ul.menu li a{text-decoration:none;width:100%;padding-top:.5em;padding-bottom:.5em;border-bottom:1px solid var(--global-palette7)}.collapse-sub-navigation ul.menu li a:hover{text-decoration:none}.collapse-sub-navigation ul.menu ul{padding:0 0 0 1em;margin:0;display:none;transition:all .2s ease-in-out}.collapse-sub-navigation ul.menu .sub-menu.show-drawer{display:block}.collapse-sub-navigation ul.menu .drawer-nav-drop-wrap .drawer-sub-toggle{border-left:1px solid var(--global-palette7);border-bottom:1px solid var(--global-palette7)}.grid-cols{display:grid;grid-template-columns:minmax(0, 1fr);column-gap:2.5rem;row-gap:2.5rem}.wp-site-blocks .grid-cols:before{display:none}.grid-xs-col-1{grid-template-columns:minmax(0, 1fr)}.grid-xs-col-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-xs-col-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-xs-col-4{grid-template-columns:repeat(4, minmax(0, 1fr))}@media screen and (min-width: 576px){.grid-sm-col-1{grid-template-columns:minmax(0, 1fr)}.grid-sm-col-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-sm-col-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-sm-col-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}@media screen and (min-width: 768px){.grid-md-col-1{grid-template-columns:minmax(0, 1fr)}.grid-md-col-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-md-col-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-md-col-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}@media screen and (min-width: 1025px){.grid-lg-col-1{grid-template-columns:minmax(0, 1fr)}.grid-lg-col-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-lg-col-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-lg-col-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.grid-lg-col-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.grid-lg-col-6{grid-template-columns:repeat(6, minmax(0, 1fr))}}@media screen and (min-width: 1200px){.grid-xl-col-1{grid-template-columns:minmax(0, 1fr)}.grid-xl-col-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-xl-col-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-xl-col-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.grid-xl-col-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.grid-xl-col-6{grid-template-columns:repeat(6, minmax(0, 1fr))}}article.sticky{font-size:inherit}.entry{box-shadow:0px 15px 25px -10px rgba(0,0,0,.05);border-radius:.25rem}.custom-archive-loop-item.entry{box-shadow:none;border-radius:0}.entry-loop{overflow:hidden}.content-wrap{position:relative}.site-main{min-width:0}ul.kadence-posts-list,.single-content ul.kadence-posts-list{padding:0;margin:0;list-style:none}ul.kt-testimonial-grid-wrap,.single-content ul.kt-testimonial-grid-wrap{padding:0;margin:0;list-style:none}.kadence-posts-list .entry-list-item{display:flex;flex-direction:column}.kadence-posts-list .entry-list-item article.entry{flex:1}.kadence-thumbnail-position-behind+.entry{z-index:1;position:relative}@media screen and (max-width: 719px){.content-style-boxed .content-bg:not(.loop-entry){margin-left:-1rem;margin-right:-1rem;width:auto}.content-width-fullwidth.content-style-boxed .content-bg:not(.loop-entry){margin-left:0;margin-right:0}.content-style-boxed .comments-area{padding-left:.5rem;padding-right:.5rem}.primary-sidebar{padding-left:0;padding-right:0}}@media screen and (min-width: 768px){.grid-lg-col-1.item-image-style-beside article.loop-entry.has-post-thumbnail:not(.kb-post-no-image){display:grid;grid-template-columns:1fr 2fr}.blog.content-style-unboxed .grid-lg-col-1.item-image-style-beside article.loop-entry,.archive.content-style-unboxed .grid-lg-col-1.item-image-style-beside article.loop-entry,.search-results.content-style-unboxed .grid-lg-col-1.item-image-style-beside article.loop-entry{grid-gap:2rem}.blog.content-style-unboxed .grid-lg-col-1.item-image-style-beside article.loop-entry .post-thumbnail,.archive.content-style-unboxed .grid-lg-col-1.item-image-style-beside article.loop-entry .post-thumbnail,.search-results.content-style-unboxed .grid-lg-col-1.item-image-style-beside article.loop-entry .post-thumbnail{margin-bottom:0}.kb-posts.kb-posts-style-unboxed.grid-lg-col-1.item-image-style-beside article.loop-entry{grid-gap:2rem}.kb-posts.kb-posts-style-unboxed.grid-lg-col-1.item-image-style-beside article.loop-entry .post-thumbnail{margin-bottom:0}}.archive.content-style-unboxed .entry-content-wrap,.blog.content-style-unboxed .entry-content-wrap,.post-type-archive.content-style-unboxed .entry-content-wrap,.search-results.content-style-unboxed .entry-content-wrap{padding:0}.archive.content-style-unboxed .entry,.blog.content-style-unboxed .entry,.post-type-archive.content-style-unboxed .entry,.search-results.content-style-unboxed .entry{box-shadow:none}.article-post-thumbnail-caption{font-size:90%;margin:0;padding-top:.5em;padding-bottom:.5em;text-align:center}.content-style-unboxed .kadence-thumbnail-position-above+.article-post-thumbnail-caption{margin-top:calc(0px - var(--global-md-spacing));margin-bottom:var(--global-md-spacing)}.single-content{margin:var(--global-md-spacing) 0 0}.single-content address,.single-content figure,.single-content hr,.single-content p,.single-content table,.single-content pre,.single-content form,.single-content .wp-block-buttons,.single-content .wp-block-button,.single-content .wc-block-grid,.single-content .wp-block-kadence-advancedbtn,.single-content .wp-block-media-text,.single-content .wp-block-cover,.single-content .entry-content-asset,.single-content .wp-block-kadence-form,.single-content .wp-block-group,.single-content .wp-block-yoast-faq-block,.single-content .wp-block-yoast-how-to-block,.single-content .schema-faq-section,.single-content .wp-block-kadence-tableofcontents,.single-content .enlighter-default,.single-content .wp-block-kadence-iconlist,.single-content [class*=__inner-content]{margin-top:0;margin-bottom:var(--global-md-spacing)}.single-content .wp-block-buttons .wp-block-button{margin-bottom:0}.single-content p>img{display:inline-block}.single-content p>img.aligncenter{display:block}.single-content li>img{display:inline-block}.single-content li>img.aligncenter{display:block}.single-content p:not(.wp-block-kadence-advancedheading)+.wp-block-kadence-spacer{margin-top:calc(0rem - var(--global-md-spacing))}.single-content .wp-block-yoast-faq-block .schema-faq-question{margin-bottom:.5em}.single-content .elementor-widget-container:first-child:not(style) h1,.single-content .elementor-widget-container:first-child:not(style) h2,.single-content .elementor-widget-container:first-child:not(style) h3,.single-content .elementor-widget-container:first-child:not(style) h4,.single-content .elementor-widget-container:first-child:not(style) h5,.single-content .elementor-widget-container:first-child:not(style) h6{margin-top:0}.single-content h1,.single-content h2,.single-content h3,.single-content h4,.single-content h5,.single-content h6{margin:1.5em 0 .5em}.single-content h1:first-child,.single-content h2:first-child,.single-content h3:first-child,.single-content h4:first-child,.single-content h5:first-child,.single-content h6:first-child{margin-top:0}.single-content h1+*,.single-content h2+*,.single-content h3+*,.single-content h4+*,.single-content h5+*,.single-content h6+*{margin-top:0}.single-content .wp-block-kadence-advancedgallery+p{margin-top:var(--global-md-spacing)}.single-content ul,.single-content ol{margin:0 0 var(--global-md-spacing);padding-left:2em}.single-content ul.aligncenter,.single-content ol.aligncenter{text-align:center;padding-left:0}.single-content .kad-slider ul{padding:0;margin:0}.single-content li>ol,.single-content li>ul{margin:0}.single-content>.more-link{display:block}.single-content address:last-child,.single-content figure:last-child,.single-content hr:last-child,.single-content p:last-child,.single-content table:last-child,.single-content pre:last-child,.single-content form:last-child,.single-content .wp-block-buttons:last-child,.single-content .wp-block-button:last-child,.single-content .wp-block-kadence-advancedbtn:last-child,.single-content .wp-block-media-text:last-child,.single-content .wp-block-cover:last-child,.single-content .entry-content-asset:last-child,.single-content .wp-block-kadence-form:last-child,.single-content .wp-block-group:last-child,.single-content .wp-block-yoast-faq-block:last-child,.single-content .wp-block-yoast-how-to-block:last-child,.single-content .schema-faq-section:last-child,.single-content .wp-block-kadence-tableofcontents:last-child,.single-content .enlighter-default:last-child,.single-content .wp-block-kadence-iconlist:last-child,.single-content h1:last-child,.single-content h2:last-child,.single-content h3:last-child,.single-content h4:last-child,.single-content h5:last-child,.single-content h6:last-child,.single-content ul:last-child,.single-content ol:last-child{margin-bottom:0}.single-content h1.elementor-heading-title,.single-content h2.elementor-heading-title,.single-content h3.elementor-heading-title,.single-content h4.elementor-heading-title,.single-content h5.elementor-heading-title,.single-content h6.elementor-heading-title{margin-bottom:.5em}.single-content .wp-block-image{margin-top:0;margin-bottom:0}.single-content .wp-block-image figure{margin-bottom:var(--global-md-spacing)}.single-content .wp-block-image:last-child figure{margin-bottom:0}.single-content figure.wp-block-image{margin-bottom:var(--global-md-spacing)}.single-content figure.wp-block-image:last-child{margin-bottom:0}.entry-content:after{display:table;clear:both;content:""}.content-title-style-hide .entry-content,.content-title-style-above .entry-content{margin:0}.content-title-style-above .entry-content-wrap .post-thumbnail+.single-content{margin:var(--global-md-spacing) 0 0}.wp-site-blocks .post-thumbnail{display:block;height:0;padding-bottom:66.67%;overflow:hidden;position:relative}.wp-site-blocks .post-thumbnail.kadence-thumbnail-ratio-1-2{padding-bottom:50%}.wp-site-blocks .post-thumbnail.kadence-thumbnail-ratio-9-16{padding-bottom:56.25%}.wp-site-blocks .post-thumbnail.kadence-thumbnail-ratio-1-1{padding-bottom:100%}.wp-site-blocks .post-thumbnail.kadence-thumbnail-ratio-3-4{padding-bottom:75%}.wp-site-blocks .post-thumbnail.kadence-thumbnail-ratio-5-4{padding-bottom:125%}.wp-site-blocks .post-thumbnail.kadence-thumbnail-ratio-4-3{padding-bottom:133%}.wp-site-blocks .post-thumbnail.kadence-thumbnail-ratio-3-2{padding-bottom:150%}.wp-site-blocks .post-thumbnail.kadence-thumbnail-ratio-inherit{padding-bottom:0;height:auto}.wp-site-blocks .post-thumbnail.kadence-thumbnail-ratio-inherit .post-thumbnail-inner{position:static}.wp-site-blocks .post-thumbnail.kadence-thumbnail-ratio-inherit img{margin-left:auto;margin-right:auto}.wp-site-blocks .post-thumbnail .post-thumbnail-inner{position:absolute;top:0;bottom:0;left:0;right:0}.wp-site-blocks .post-thumbnail img{flex:1;object-fit:cover}.wp-site-blocks .post-thumbnail:not(.kadence-thumbnail-ratio-inherit) img{height:100%;width:100%}.wp-block-newspack-blocks-homepage-articles .post-thumbnail:not(.kadence-thumbnail-ratio-inherit) img{height:auto;width:100%}.archive.content-style-unboxed .wp-site-blocks .post-thumbnail,.blog.content-style-unboxed .wp-site-blocks .post-thumbnail,.post-type-archive.content-style-unboxed .wp-site-blocks .post-thumbnail,.search-results.content-style-unboxed .wp-site-blocks .post-thumbnail{margin-bottom:1em}.content-style-unboxed .kadence-thumbnail-position-above{margin-bottom:var(--global-md-spacing)}.kadence-thumbnail-position-behind{margin-bottom:-4.3em;position:relative;z-index:0}.content-style-unboxed .kadence-thumbnail-position-behind:after{position:absolute;content:"";top:0;bottom:-1px;left:0;right:0;background:linear-gradient(0deg, var(--global-palette9) 5%, rgba(var(--global-palette9rgb), 0.35) 30%, rgba(255, 255, 255, 0) 50%)}.kadence-breadcrumbs{margin:1em 0;font-size:85%;color:var(--global-palette5)}.kadence-breadcrumbs a{color:inherit}.kadence-breadcrumbs p{margin:0}.entry-content-wrap .entry-header .kadence-breadcrumbs:first-child{margin-top:0}.entry-meta{font-size:80%;margin:1em 0;display:flex;flex-wrap:wrap}.entry-meta>*{display:inline-flex;align-items:center;flex-wrap:wrap}.entry-meta>* time{white-space:nowrap}.entry-meta a{color:inherit;text-decoration:none}.entry-meta .meta-label{margin-right:.2rem}.entry-meta .author-avatar{width:25px;height:25px;margin-right:.5rem;position:relative;display:inline-block}.entry-meta .author-avatar a.author-image{position:absolute;left:0;right:0;top:0;bottom:0}.entry-meta .author-avatar .image-size-ratio{padding-bottom:100%;display:block}.entry-meta .author-avatar img{position:absolute;left:0;top:0;bottom:0;right:0;border-radius:50%}.entry-meta>*:after{margin-left:.5rem;margin-right:.5rem;content:"";display:inline-block;background-color:currentColor;height:.25rem;width:.25rem;opacity:.8;border-radius:9999px;vertical-align:.1875em}.entry-meta.entry-meta-divider-slash>*:after{content:"/";height:auto;background:rgba(0,0,0,0)}.entry-meta.entry-meta-divider-dash>*:after{content:"-";height:auto;background:rgba(0,0,0,0)}.entry-meta.entry-meta-divider-vline>*:after{content:"|";height:auto;background:rgba(0,0,0,0)}.entry-meta>*:last-child:after{display:none}.entry-meta-divider-customicon.entry-meta>*>.kadence-svg-iconset{margin-right:.3em;margin-left:.8em}.entry-meta-divider-customicon.entry-meta>*:after{display:none}.entry-meta-divider-customicon.entry-meta .kt-reading-time-wrap{margin-left:.8em}.loop-entry .entry-header .entry-title{margin:0}.loop-entry .entry-summary p,.loop-entry .entry-header .entry-meta{margin:1em 0}.updated:not(.published){display:none}.updated-on .updated:not(.published){display:inline-block}.entry-summary{margin:var(--global-xs-spacing) 0 0}a.post-more-link{font-weight:bold;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:inherit;font-size:80%}a.post-more-link .kadence-svg-iconset{margin-left:.5em}a.post-more-link:hover{color:var(--global-palette-highlight)}.more-link-wrap{margin-top:var(--global-xs-spacing);margin-bottom:0}.entry-taxonomies{margin-bottom:.5em;letter-spacing:.05em;font-size:70%;text-transform:uppercase}.entry-taxonomies a{text-decoration:none;font-weight:bold}.entry-taxonomies .category-style-pill a{background:var(--global-palette-highlight);color:#fff;padding:.25rem;border-radius:.25rem;margin-right:.25rem;margin-bottom:.25rem;display:inline-block;line-height:1.2}.entry-taxonomies .category-style-pill a:last-child{margin-right:0}.entry-taxonomies .category-style-pill a:hover{color:#fff}.entry-taxonomies .category-style-underline a{text-decoration:underline}.loop-entry.type-post .entry-taxonomies .category-style-pill a{color:#fff}@media screen and (max-width: 719px){.loop-entry .entry-taxonomies{margin-bottom:1em}}.entry-tags{margin-top:var(--global-xs-spacing)}.entry-tags .tags-links{display:flex;flex-wrap:wrap}.entry-tags a.tag-link{margin-right:.5em;padding:.4em .6em;margin-top:.5em;font-size:80%;border:1px solid var(--global-gray-500);border-radius:.25rem;color:var(--global-palette5);text-decoration:none}.entry-tags a.tag-link:hover{background:var(--global-palette-highlight);color:var(--global-palette-btn);border-color:var(--global-palette-highlight)}.entry-tags a.tag-link:last-child{margin-right:0}.entry-hero-container-inner{background:var(--global-palette7)}.entry-hero-container-inner .entry-header{min-height:200px;display:flex;align-items:center;text-align:center;justify-content:center;flex-direction:column;margin-bottom:0}.entry-hero-container-inner .entry-header>div{width:100%}.entry-hero-layout-fullwidth>.entry-hero-container-inner>.site-container{max-width:none}.entry-hero{position:relative}.hero-section-overlay{position:absolute;left:0;right:0;top:0;bottom:0}.hero-container{position:relative}.title-align-left{text-align:left}.title-align-left .entry-meta{justify-content:flex-start}.title-align-center{text-align:center}.title-align-center .entry-meta{justify-content:center}.title-align-right{text-align:right}.title-align-right .entry-meta{justify-content:flex-end}.entry-hero .title-align-left{text-align:left;align-items:flex-start}.entry-hero .title-align-center{text-align:center;align-items:center}.entry-hero .title-align-right{text-align:right;align-items:flex-end}@media screen and (max-width: 1024px){.title-tablet-align-left{text-align:left}.title-tablet-align-left .entry-meta{justify-content:flex-start}.title-tablet-align-center{text-align:center}.title-tablet-align-center .entry-meta{justify-content:center}.title-tablet-align-right{text-align:right}.title-tablet-align-right .entry-meta{justify-content:flex-end}.entry-hero .title-tablet-align-left{text-align:left;align-items:flex-start}.entry-hero .title-tablet-align-center{text-align:center;align-items:center}.entry-hero .title-tablet-align-right{text-align:right;align-items:flex-end}}@media screen and (max-width: 719px){.title-mobile-align-left{text-align:left}.title-mobile-align-left .entry-meta{justify-content:flex-start}.title-mobile-align-center{text-align:center}.title-mobile-align-center .entry-meta{justify-content:center}.title-mobile-align-right{text-align:right}.title-mobile-align-right .entry-meta{justify-content:flex-end}.entry-hero .title-mobile-align-left{text-align:left;align-items:flex-start}.entry-hero .title-mobile-align-center{text-align:center;align-items:center}.entry-hero .title-mobile-align-right{text-align:right;align-items:flex-end}}.entry-header{margin-bottom:1em}.page-content{margin:2rem 0 0}.page-header{margin-bottom:var(--global-lg-spacing)}.hero-container .page-header{margin-bottom:0}.entry-footer{clear:both}.post-navigation-wrap.entry-content-wrap,.post-navigation-wrap .post-navigation,.entry-author.entry-content-wrap{margin-top:0;margin-bottom:0;border-radius:0}.comments-area.entry-content-wrap{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.single-entry.post.entry.post-footer-area-boxed{border-bottom-left-radius:0;border-bottom-right-radius:0}.post-footer-area-boxed~.entry-related{margin:0;width:auto;max-width:100%}.post-footer-area-boxed~.entry-related .entry-related-inner-content.alignwide{margin:0;width:auto;max-width:100%}.wp-block-image .alignleft{margin-right:var(--global-md-spacing)}.wp-block-image .alignright{margin-left:var(--global-md-spacing)}.alignfull,.alignwide,.entry-content .alignwide,.entry-content .alignfull{margin-left:calc(50% - var(--global-vw, 100vw)/2);margin-right:calc(50% - var(--global-vw, 100vw)/2);max-width:100vw;width:var(--global-vw, 100vw);padding-left:0;padding-right:0;clear:both}.wp-site-blocks .content-container .is-layout-constrained>.alignwide{max-width:var(--global-content-wide-width)}@media screen and (min-width: 1025px){.content-width-narrow .entry-content .alignwide,.content-width-narrow .content-area .alignwide{margin-left:-80px;margin-right:-80px;width:auto}}.content-width-fullwidth .wp-site-blocks .alignwide{margin-left:0;margin-right:0;width:unset;max-width:unset}.content-style-boxed .entry-content .alignwide{margin-left:-2rem;margin-right:-2rem;max-width:unset;width:unset}.content-style-boxed .wp-site-blocks .entry-content>.alignwide.is-layout-constrained{padding-left:var(--global-content-boxed-padding);padding-right:var(--global-content-boxed-padding)}.content-style-boxed .wp-site-blocks .entry-content .alignwide>* .alignwide{margin-left:unset;margin-right:unset}.has-small-font-size{font-size:var(--global-font-size-small)}.has-regular-font-size{font-size:var(--global-font-size-medium)}.has-large-font-size{font-size:var(--global-font-size-large)}.has-larger-font-size{font-size:var(--global-font-size-larger)}.has-xxlarge-font-size{font-size:var(--global-font-size-xxlarge)}.entry-content-asset.videofit{position:relative;padding-top:56.25%;overflow:hidden;max-width:100%;height:auto}.entry-content-asset.videofit iframe{position:absolute;top:0;left:0;width:100%;height:100%}body.elementor-template-full-width form.post-password-form,body.content-width-fullwidth form.post-password-form{text-align:center;margin:var(--global-xxl-spacing) auto}body.content-style-unboxed form.post-password-form{margin:var(--global-xxl-spacing) auto}.entry-title{word-wrap:break-word}.entry-hero-layout-contained>.entry-hero-container-inner{position:relative}body.content-style-boxed:not(.content-width-fullwidth) .wp-block-kadence-rowlayout.alignfull>.kt-row-layout-inner>.kb-theme-content-width{padding-left:calc(var(--global-content-edge-padding) + var(--global-boxed-spacing));padding-right:calc(var(--global-content-edge-padding) + var(--global-boxed-spacing))}.item-content-vertical-align-center .loop-entry .entry-content-wrap{display:flex;flex-direction:column;justify-content:center}.item-content-vertical-align-center .loop-entry .entry-content-wrap .entry-header{margin-bottom:0}.item-content-vertical-align-center .loop-entry .entry-content-wrap .entry-summary{margin-top:0}.item-content-vertical-align-center .loop-entry .entry-summary p,.item-content-vertical-align-center .loop-entry .entry-header .entry-meta{margin-bottom:0}
/* Frozen v1.27 shell compatibility, Kadence GPL-2.0-or-later. No Kadence runtime. */
.site-footer-row{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr))}.site-footer-row.site-footer-row-columns-2.site-footer-row-column-layout-right-golden{grid-template-columns:minmax(0, 1fr) minmax(0, 2fr)}.site-footer-row.site-footer-row-columns-2.site-footer-row-column-layout-left-golden{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr)}.site-footer-row.site-footer-row-columns-3{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr)}.site-footer-row.site-footer-row-columns-3.site-footer-row-column-layout-left-half{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr)}.site-footer-row.site-footer-row-columns-3.site-footer-row-column-layout-right-half{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr)}.site-footer-row.site-footer-row-columns-3.site-footer-row-column-layout-center-half{grid-template-columns:minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr)}.site-footer-row.site-footer-row-columns-3.site-footer-row-column-layout-center-wide{grid-template-columns:minmax(0, 2fr) minmax(0, 6fr) minmax(0, 2fr)}.site-footer-row.site-footer-row-columns-4{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr)}.site-footer-row.site-footer-row-columns-4.site-footer-row-column-layout-left-forty{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr)}.site-footer-row.site-footer-row-columns-4.site-footer-row-column-layout-right-forty{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr)}.site-footer-row.site-footer-row-columns-5{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr)}.site-footer-row.site-footer-row-columns-1{display:flex;justify-content:center}.site-footer-row.site-footer-row-columns-1 .site-footer-section-center{flex-grow:1}.site-footer-row.site-footer-row-columns-1 .site-footer-section{flex:1;text-align:center;min-width:0}.site-footer-row-layout-fullwidth>.site-footer-row-container-inner>.site-container{max-width:none}@media screen and (min-width: 720px)and (max-width: 1024px){.site-footer-row-tablet-layout-contained{padding:0 1.5rem}.site-footer-row-tablet-layout-fullwidth,.site-footer-row-tablet-layout-standard{padding:0}.site-footer-row-container-inner .site-footer-row.site-footer-row-tablet-column-layout-default,.site-footer-row-container-inner .site-footer-row.site-footer-row-tablet-column-layout-row{grid-template-columns:minmax(0, 1fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-tablet-column-layout-default.ft-ro-collapse-rtl .site-footer-section:nth-child(1),.site-footer-row-container-inner .site-footer-row.site-footer-row-tablet-column-layout-row.ft-ro-collapse-rtl .site-footer-section:nth-child(1){order:6}.site-footer-row-container-inner .site-footer-row.site-footer-row-tablet-column-layout-default.ft-ro-collapse-rtl .site-footer-section:nth-child(2),.site-footer-row-container-inner .site-footer-row.site-footer-row-tablet-column-layout-row.ft-ro-collapse-rtl .site-footer-section:nth-child(2){order:5}.site-footer-row-container-inner .site-footer-row.site-footer-row-tablet-column-layout-default.ft-ro-collapse-rtl .site-footer-section:nth-child(3),.site-footer-row-container-inner .site-footer-row.site-footer-row-tablet-column-layout-row.ft-ro-collapse-rtl .site-footer-section:nth-child(3){order:4}.site-footer-row-container-inner .site-footer-row.site-footer-row-tablet-column-layout-default.ft-ro-collapse-rtl .site-footer-section:nth-child(4),.site-footer-row-container-inner .site-footer-row.site-footer-row-tablet-column-layout-row.ft-ro-collapse-rtl .site-footer-section:nth-child(4){order:3}.site-footer-row-container-inner .site-footer-row.site-footer-row-tablet-column-layout-default.ft-ro-collapse-rtl .site-footer-section:nth-child(5),.site-footer-row-container-inner .site-footer-row.site-footer-row-tablet-column-layout-row.ft-ro-collapse-rtl .site-footer-section:nth-child(5){order:2}.site-footer-row-container-inner .site-footer-row.site-footer-row-tablet-column-layout-default.ft-ro-collapse-rtl .site-footer-section:nth-child(6),.site-footer-row-container-inner .site-footer-row.site-footer-row-tablet-column-layout-row.ft-ro-collapse-rtl .site-footer-section:nth-child(6){order:1}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-2.site-footer-row-tablet-column-layout-equal{grid-template-columns:repeat(2, minmax(0, 1fr))}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-2.site-footer-row-tablet-column-layout-right-golden{grid-template-columns:minmax(0, 1fr) minmax(0, 2fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-2.site-footer-row-tablet-column-layout-left-golden{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-tablet-column-layout-equal{grid-template-columns:repeat(3, minmax(0, 1fr))}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-tablet-column-layout-left-half{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-tablet-column-layout-right-half{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-tablet-column-layout-center-half{grid-template-columns:minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-tablet-column-layout-center-wide{grid-template-columns:minmax(0, 2fr) minmax(0, 6fr) minmax(0, 2fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-tablet-column-layout-equal{grid-template-columns:repeat(3, minmax(0, 1fr))}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-tablet-column-layout-first-row{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-tablet-column-layout-first-row>*:first-child{grid-column:1/-1}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-tablet-column-layout-last-row{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-tablet-column-layout-last-row>*:last-child{grid-column:1/-1}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-4.site-footer-row-tablet-column-layout-equal{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-4.site-footer-row-tablet-column-layout-two-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-5.site-footer-row-tablet-column-layout-equal{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr)}}@media screen and (max-width: 719px){.site-footer-row-mobile-layout-contained{padding:0 1.5rem}.site-footer-row-container-inner .site-footer-row.site-footer-row-mobile-column-layout-default,.site-footer-row-container-inner .site-footer-row.site-footer-row-mobile-column-layout-row{grid-template-columns:minmax(0, 1fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-mobile-column-layout-default.ft-ro-collapse-rtl .site-footer-section:nth-child(1),.site-footer-row-container-inner .site-footer-row.site-footer-row-mobile-column-layout-row.ft-ro-collapse-rtl .site-footer-section:nth-child(1){order:6}.site-footer-row-container-inner .site-footer-row.site-footer-row-mobile-column-layout-default.ft-ro-collapse-rtl .site-footer-section:nth-child(2),.site-footer-row-container-inner .site-footer-row.site-footer-row-mobile-column-layout-row.ft-ro-collapse-rtl .site-footer-section:nth-child(2){order:5}.site-footer-row-container-inner .site-footer-row.site-footer-row-mobile-column-layout-default.ft-ro-collapse-rtl .site-footer-section:nth-child(3),.site-footer-row-container-inner .site-footer-row.site-footer-row-mobile-column-layout-row.ft-ro-collapse-rtl .site-footer-section:nth-child(3){order:4}.site-footer-row-container-inner .site-footer-row.site-footer-row-mobile-column-layout-default.ft-ro-collapse-rtl .site-footer-section:nth-child(4),.site-footer-row-container-inner .site-footer-row.site-footer-row-mobile-column-layout-row.ft-ro-collapse-rtl .site-footer-section:nth-child(4){order:3}.site-footer-row-container-inner .site-footer-row.site-footer-row-mobile-column-layout-default.ft-ro-collapse-rtl .site-footer-section:nth-child(5),.site-footer-row-container-inner .site-footer-row.site-footer-row-mobile-column-layout-row.ft-ro-collapse-rtl .site-footer-section:nth-child(5){order:2}.site-footer-row-container-inner .site-footer-row.site-footer-row-mobile-column-layout-default.ft-ro-collapse-rtl .site-footer-section:nth-child(6),.site-footer-row-container-inner .site-footer-row.site-footer-row-mobile-column-layout-row.ft-ro-collapse-rtl .site-footer-section:nth-child(6){order:1}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-2.site-footer-row-mobile-column-layout-equal{grid-template-columns:repeat(2, minmax(0, 1fr))}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-2.site-footer-row-mobile-column-layout-right-golden{grid-template-columns:minmax(0, 1fr) minmax(0, 2fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-2.site-footer-row-mobile-column-layout-left-golden{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-mobile-column-layout-equal{grid-template-columns:repeat(3, minmax(0, 1fr))}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-mobile-column-layout-left-half{grid-template-columns:minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-mobile-column-layout-right-half{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-mobile-column-layout-center-half{grid-template-columns:minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-mobile-column-layout-center-wide{grid-template-columns:minmax(0, 2fr) minmax(0, 6fr) minmax(0, 2fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-mobile-column-layout-equal{grid-template-columns:repeat(3, minmax(0, 1fr))}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-mobile-column-layout-first-row{grid-template-columns:repeat(2, minmax(0, 1fr))}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-mobile-column-layout-first-row>*:first-child{grid-column:1/-1}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-mobile-column-layout-last-row{grid-template-columns:repeat(2, minmax(0, 1fr))}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-3.site-footer-row-mobile-column-layout-last-row>*:last-child{grid-column:1/-1}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-4.site-footer-row-mobile-column-layout-equal{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr)}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-4.site-footer-row-mobile-column-layout-two-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}.site-footer-row-container-inner .site-footer-row.site-footer-row-columns-5.site-footer-row-mobile-column-layout-equal{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr)}.site-footer-row-mobile-layout-fullwidth,.site-footer-row-mobile-layout-standard{padding:0}}.site-footer-section{display:flex;max-height:inherit}.site-footer-item{display:flex;align-items:center;margin-right:10px;max-height:inherit}.site-footer-section>.site-footer-item:last-child{margin-right:0}.footer-widget-area{flex:1;min-width:0;display:flex}.ft-ro-dir-row .footer-section-inner-items-2 .footer-widget-area{flex:unset;margin-left:30px}.ft-ro-dir-row .footer-section-inner-items-2 .footer-widget-area:first-child{margin-left:0}.ft-ro-dir-column .site-footer-section:not(.footer-section-inner-items-1) .footer-widget-area{flex:unset}.footer-widget-area>*{flex:1;min-width:0}.footer-widget-area.content-valign-middle{align-items:center}.footer-widget-area.content-valign-top{align-items:flex-start}.footer-widget-area.content-valign-bottom{align-items:flex-end}.footer-widget-area.content-align-center{text-align:center}.footer-widget-area.content-align-center .footer-navigation{justify-content:center}.footer-widget-area.content-align-center .widget_media_image img{margin:0 auto}.footer-widget-area.content-align-center .footer-social-inner-wrap{justify-content:center}.footer-widget-area.content-align-right{text-align:right}.footer-widget-area.content-align-right .footer-navigation{justify-content:flex-end}.footer-widget-area.content-align-right .footer-navigation .menu{justify-content:flex-end}.footer-widget-area.content-align-right .footer-social-inner-wrap{justify-content:flex-end}.footer-widget-area.content-align-right .widget_media_image img{margin:0 0 0 auto}.footer-widget-area.content-align-left{text-align:left}.footer-widget-area.content-align-left .footer-navigation{justify-content:flex-start}.footer-widget-area.content-align-left .footer-navigation .menu{justify-content:flex-start}.footer-widget-area.content-align-left .footer-social-inner-wrap{justify-content:flex-start}@media screen and (max-width: 1024px){.ft-ro-dir-row .footer-section-inner-items-2 .footer-widget-area.content-tablet-align-center:first-child{margin-left:auto}.ft-ro-dir-row .footer-section-inner-items-2 .footer-widget-area.content-tablet-align-center:first-child~.footer-widget-area:last-child{margin-right:auto}.footer-widget-area.content-tablet-align-center{text-align:center}.footer-widget-area.content-tablet-align-center .footer-navigation{justify-content:center}.footer-widget-area.content-tablet-align-center .footer-navigation .menu{justify-content:center}.footer-widget-area.content-tablet-align-center .footer-social-inner-wrap{justify-content:center}.footer-widget-area.content-tablet-align-center .widget_media_image img{margin:0 auto}.footer-widget-area.content-tablet-align-right{text-align:right}.footer-widget-area.content-tablet-align-right .footer-navigation{justify-content:flex-end}.footer-widget-area.content-tablet-align-right .footer-navigation .menu{justify-content:flex-end}.footer-widget-area.content-tablet-align-right .footer-social-inner-wrap{justify-content:flex-end}.footer-widget-area.content-tablet-align-right .widget_media_image img{margin:0 0 0 auto}.footer-widget-area.content-tablet-align-left{text-align:left}.footer-widget-area.content-tablet-align-left .footer-navigation{justify-content:flex-start}.footer-widget-area.content-tablet-align-left .footer-navigation .menu{justify-content:flex-start}.footer-widget-area.content-tablet-align-left .footer-social-inner-wrap{justify-content:flex-start}}@media screen and (max-width: 719px){.ft-ro-m-dir-row .footer-section-inner-items-2 .footer-widget-area.content-mobile-align-center:first-child{margin-left:auto}.ft-ro-m-dir-row .footer-section-inner-items-2 .footer-widget-area.content-mobile-align-center:first-child~.footer-widget-area:last-child{margin-right:auto}.footer-widget-area.content-mobile-align-center{text-align:center}.footer-widget-area.content-mobile-align-center .footer-navigation{justify-content:center}.footer-widget-area.content-mobile-align-center .footer-navigation .menu{justify-content:center}.footer-widget-area.content-mobile-align-center .footer-social-inner-wrap{justify-content:center}.footer-widget-area.content-mobile-align-center .widget_media_image img{margin:0 auto}.footer-widget-area.content-mobile-align-right{text-align:right}.footer-widget-area.content-mobile-align-right .footer-navigation{justify-content:flex-end}.footer-widget-area.content-mobile-align-right .footer-navigation .menu{justify-content:flex-end}.footer-widget-area.content-mobile-align-right .footer-social-inner-wrap{justify-content:flex-end}.footer-widget-area.content-mobile-align-right .widget_media_image img{margin:0 0 0 auto}.footer-widget-area.content-mobile-align-left{text-align:left}.footer-widget-area.content-mobile-align-left .footer-navigation{justify-content:flex-start}.footer-widget-area.content-mobile-align-left .footer-navigation .menu{justify-content:flex-start}.footer-widget-area.content-mobile-align-left .footer-social-inner-wrap{justify-content:flex-start}}.ft-ro-dir-column .site-footer-section{flex-direction:column}@media screen and (max-width: 1024px){.ft-ro-t-dir-column .site-footer-section{flex-direction:column}.ft-ro-t-dir-row .site-footer-section{flex-direction:row}}@media screen and (max-width: 719px){.ft-ro-m-dir-column .site-footer-section{flex-direction:column}.ft-ro-m-dir-row .site-footer-section{flex-direction:row}}.rtl .footer-widget-area.content-align-right .footer-social-inner-wrap{justify-content:flex-start}.rtl .footer-widget-area.content-align-left .footer-social-inner-wrap{justify-content:flex-end}@media screen and (max-width: 1024px){.rtl .footer-widget-area.content-tablet-align-right .footer-social-inner-wrap{justify-content:flex-start}.rtl .footer-widget-area.content-tablet-align-left .footer-social-inner-wrap{justify-content:flex-end}}@media screen and (max-width: 719px){.rtl .footer-widget-area.content-mobile-align-right .footer-social-inner-wrap{justify-content:flex-start}.rtl .footer-widget-area.content-mobile-align-left .footer-social-inner-wrap{justify-content:flex-end}}.footer-navigation,.footer-menu-container{display:flex}.footer-navigation a{display:block;width:100%;text-decoration:none;color:var(--global-palette4);transition:all .2s ease-in-out}.footer-navigation a:hover,.footer-navigation a:focus{color:var(--global-palette-highlight)}.footer-navigation ul{display:block;list-style:none;margin:0;padding:0}.footer-navigation ul li a{padding:.6em .5em}.footer-navigation .menu{display:flex;flex-wrap:wrap;justify-content:center}.footer-widget-area.footer-navigation-layout-stretch-true .footer-menu-container{width:100%}.footer-widget-area.footer-navigation-layout-stretch-true .footer-navigation .menu{width:100%;justify-content:space-around}.site-footer-wrap .footer-navigation .footer-menu-container>ul li a:hover{text-decoration:none}.site-footer-wrap .social-button{color:var(--global-palette4);background:var(--global-palette7)}.site-footer-wrap .social-button:hover{text-decoration:none;color:var(--global-palette-btn);background:var(--global-palette-btn-bg)}.social-style-outline .social-button:hover{color:var(--global-palette3)}.site-footer-wrap .ft-ro-lstyle-normal a:where(:not(.button):not(.wp-block-button__link):not(.wp-element-button)){text-decoration:underline}.site-footer-wrap .ft-ro-lstyle-noline a:where(:not(.button):not(.wp-block-button__link):not(.wp-element-button)){text-decoration:none}.site-footer-wrap .ft-ro-lstyle-noline a:where(:not(.button):not(.wp-block-button__link):not(.wp-element-button)):hover{text-decoration:none}.site-footer-section{position:relative}.site-footer-section:not(:last-child):after{content:"";position:absolute;top:0;bottom:0;height:auto;width:0;right:-15px;transform:translateX(50%)}.footer-html{margin:1em 0}.footer-html p:last-child{margin-bottom:0}.footer-html p:first-child{margin-top:0}
/* Sapiens OS 2.0 — same palette; a calmer, centered modular architecture.
   Immutable header, planets, theme tokens and their motion deliberately excluded. */
body.sn-divi-v2 { background:var(--sn-bg); }
.sn-divi-v2 #primary.content-area { margin:0; }
.sn-divi-v2 #main { min-width:0; }
.sn-divi-v2 .sn-document { margin:0; }
.sn-divi-v2 .entry-content { margin:0; padding:0; }
.sn-divi-v2 .entry-content > :not(.alignfull):not(.sn-v2-actions) { max-width:var(--sn-measure); margin-left:auto; margin-right:auto; }
.sn-divi-v2:not(.home) .entry-content { padding:clamp(2rem,5vw,4rem) clamp(1rem,3vw,2rem); }
.sn-divi-v2 .entry-content:has(.sn-hero) { padding:0; }
/* Text weights apply below the frozen top bar, not inside the planets. */
html body.sn-divi-v2 #main :is(p,li) { font-weight:400; }
html body.sn-divi-v2 #main :is(h1,h2,.sn-page-title):not(.sn-orbit-stage *) { font-weight:300!important; }
html body.sn-divi-v2 #main :is(h3,h4,h5,h6,strong,b,.sn-nf__h,.sn-nf__seg,.sn-nf__title):not(.sn-orbit-stage *) { font-weight:500!important; }
html body.sn-divi-v2 #main :is(em,i,cite) { font-style:normal!important; }
html body.sn-divi-v2 #main :is(h1,h2)::after { content:none!important; }
html body.sn-divi-v2 .sn-hero.sn-section { padding:clamp(3.5rem,8vw,7rem) 1.25rem clamp(1.5rem,4vw,3rem)!important; }
html body.sn-divi-v2 .sn-hero h1 { max-width:62rem; margin:0 auto 1.5rem!important; font-size:clamp(2.4rem,5.5vw,5rem); line-height:1.06; letter-spacing:-.04em; }
html body.sn-divi-v2 .sn-hero .sn-lead { max-width:47rem; margin:0 auto!important; }
/* One centered frame, shared gutters, fit-together panels; orbit scene keeps its own canvas. */
html body.sn-divi-v2 .entry-content > .sn-section:not(.sn-hero):not(.sn-orbit-band) {
    width:calc(100% - clamp(2rem,6vw,5rem)); max-width:72rem; margin:1.25rem auto!important;
    padding:clamp(1.5rem,4vw,3rem)!important; border:1px solid var(--sn-line); border-radius:20px;
    background:var(--sn-bg); box-sizing:border-box;
}
html body.sn-divi-v2 .sn-plain .sn-plain__p { max-width:46rem; }
html body.sn-divi-v2 .sn-story .wp-block-columns { gap:clamp(1.5rem,4vw,3rem); align-items:center!important; }
html body.sn-divi-v2 .sn-v2-actions { max-width:72rem; width:calc(100% - clamp(2rem,6vw,5rem)); margin:1.25rem auto 3rem; }
html body.sn-divi-v2 .sn-v2-actions .wp-block-buttons { display:grid!important; grid-template-columns:1fr 1fr!important; width:100%!important; gap:1.25rem!important; margin:0; }
html body.sn-divi-v2 .sn-v2-actions .wp-block-button__link {
    min-height:6rem; padding:1.5rem!important; background:var(--sn-bg)!important; border:1px solid var(--sn-line)!important;
    border-radius:20px!important; color:var(--sn-heading)!important; font-weight:400!important; font-size:1.125rem!important;
    white-space:normal!important; box-shadow:none!important;
}
html body.sn-divi-v2 .sn-v2-actions .wp-block-button__link:hover { color:var(--sn-orange)!important; border-color:var(--sn-orange)!important; }
/* Every filled action uses a transparent same-shade fill with its darker colour frame. */
html body.sn-divi-v2 #main :is(.wp-block-button__link,.wp-element-button,.sn-btn,.sn-term button[type=submit]):not(.sn-v2-actions *) {
    color:var(--sn-orange)!important; background:color-mix(in srgb,var(--sn-orange) 8%,transparent)!important;
    border:1px solid color-mix(in srgb,var(--sn-orange) 60%,transparent)!important; box-shadow:none!important; font-weight:500;
}
html body.sn-divi-v2 #main :is(.wp-block-button__link,.wp-element-button,.sn-btn):hover:not(.sn-v2-actions *) { background:color-mix(in srgb,var(--sn-orange) 13%,transparent)!important; }
html body.sn-divi-v2 #main :is(.sn-cta,.sn-callout,.sn-nf__strip,.sn-nf__prime) { background:color-mix(in srgb,var(--sn-orange) 5%,var(--sn-bg))!important; border:1px solid color-mix(in srgb,var(--sn-orange) 34%,var(--sn-line))!important; border-radius:20px; }
html body.sn-divi-v2 #main :is(.sn-tile--blue,.sn-nf__seg--blue) { background:color-mix(in srgb,var(--sn-orange) 6%,transparent)!important; border-color:color-mix(in srgb,var(--sn-orange) 45%,var(--sn-line))!important; }
html body.sn-divi-v2 #main :is(.sn-xlink__v,.sn-room summary) { color:var(--sn-orange); }
/* Addresses removed at render time, not merely painted out. Room layers remain. */
html body.sn-divi-v2 .sn-room { border:1px solid var(--sn-line); border-radius:20px; padding:clamp(1rem,3vw,1.75rem); margin:1rem 0!important; }
html body.sn-divi-v2 .sn-room .sn-path { display:none!important; }
html body.sn-divi-v2 .entry-content:has(.sn-hero) .sn-tile__path { color:var(--sn-heading)!important; }
html body.sn-divi-v2 .sn-lang__list a:hover { background:var(--sn-bg-alt)!important; color:var(--sn-orange)!important; }
html body.sn-divi-v2 .sn-wiki .sn-faq details:hover { background:transparent!important; }
html body.sn-divi-v2 .sn-wiki .sn-faq details:hover > summary,
html body.sn-divi-v2 .sn-wiki .sn-faq details:hover > summary * { color:var(--sn-orange)!important; }
html body.sn-divi-v2 .sn-pager__num:hover { color:var(--sn-orange)!important; background:transparent!important; }
html body.sn-divi-v2 #main .sn-pager__nums .sn-gp { background:color-mix(in srgb,var(--sn-orange) 6%,transparent); }
@media(max-width:600px) {
    html body.sn-divi-v2 .sn-v2-actions .wp-block-buttons { gap:.65rem!important; }
    html body.sn-divi-v2 .sn-v2-actions .wp-block-button__link { min-height:5.5rem; padding:1rem .65rem!important; font-size:1rem!important; }
    html body.sn-divi-v2 .entry-content > .sn-section:not(.sn-hero):not(.sn-orbit-band) { width:calc(100% - 1.5rem); padding:1.25rem!important; }
}
@media(max-width:320px) {
    html body.sn-divi-v2 .entry-content > .sn-section:not(.sn-hero):not(.sn-orbit-band),html body.sn-divi-v2 .sn-v2-actions { width:100%; margin-left:0!important; margin-right:0!important; }
    html body.sn-divi-v2:not(.home) .entry-content { padding-left:0; padding-right:0; }
    html body.sn-divi-v2 .entry-content > :not(.alignfull):not(.sn-v2-actions) { padding-left:.75rem; padding-right:.75rem; }
}
/* Content panels are static material, not liquid glass; only selected pills retain glass. */
html body.sn-divi-v2 #main :is(.sn-glass,.sn-term,.sn-visual--inline,.sn-nf__panel,.sn-release,.sn-faq details) {
    -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
    background:var(--sn-card-bg)!important; background-image:none!important;
    box-shadow:none!important; border:1px solid var(--sn-line)!important;
}
html body.sn-divi-v2 .sn-wiki .sn-faq details,
html body.sn-divi-v2 .sn-wiki .sn-faq details:is(:hover,:focus-within) { background:var(--sn-card-bg)!important; box-shadow:none!important; }
/* Placement may change; the complete planets drawing and behaviour do not. */
html body.sn-divi-v2 .sn-orbit-band > .sn-orbit-stage--lift { margin-top:0!important; }

/* ==========================================================================
   2.0.1 (t254u–t258u) — one aligned document per page, GitHub-like grounded modules,
   calm framed home actions, gray/orange illustration palette, quiet planets until touched.
   ========================================================================== */
/* One outer frame (.sn-frame) -> masthead (.sn-mast) -> nested modules (.sn-mod) -> inner cards. One left edge. */
html body.sn-divi-v2:not(.home) .entry-content { padding:clamp(1.25rem,4vw,3rem) clamp(.75rem,3vw,2rem) clamp(2.5rem,6vw,4.5rem); }
html body.sn-divi-v2 .entry-content > .sn-frame {
    --sn-frame-pad:clamp(1.25rem,4vw,3rem); --sn-mod-pad:clamp(1rem,2.6vw,1.75rem); --sn-gap:clamp(1rem,2vw,1.25rem);
    width:100%; max-width:60rem; margin:0 auto!important; box-sizing:border-box; padding:var(--sn-frame-pad);
    border:1px solid var(--sn-line); border-radius:20px; background:var(--sn-bg);
    display:flex; flex-direction:column; gap:var(--sn-gap); text-align:left;
}
html body.sn-divi-v2 .sn-frame > .sn-sig { display:flex; flex-direction:column; gap:var(--sn-gap); margin:0!important; max-width:none!important; }
html body.sn-divi-v2 #main .sn-frame :is(.sn-frame > *, .sn-sig > *, .sn-mast > *, .sn-mod > *) {
    max-width:none!important; margin-left:0!important; margin-right:0!important; box-sizing:border-box; text-align:left;
}
html body.sn-divi-v2 #main .sn-frame :is(.sn-frame > *, .sn-sig > *) { width:100%; margin-top:0!important; margin-bottom:0!important; }
/* Masthead: path, title, lead, meta share the frame's left edge. */
html body.sn-divi-v2 #main .sn-mast { padding:0 0 .25rem; }
html body.sn-divi-v2 #main .sn-mast .sn-path { margin:0 0 .85rem!important; }
html body.sn-divi-v2 #main .sn-mast h1 { margin:0 0 .75rem!important; font-size:clamp(2.25rem,5vw,3.5rem)!important; line-height:1.05; }
html body.sn-divi-v2 #main .sn-mast .sn-lead { margin:0!important; max-width:46rem!important; }
html body.sn-divi-v2 #main .sn-mast :is(.sn-wiki-meta,.sn-sig__meta) { margin:1.1rem 0 0!important; padding-top:1rem; border-top:1px solid var(--sn-line); }
/* Modules: hairline, 16px radius, light fill. An h2 becomes the module's header strip. */
html body.sn-divi-v2 #main .sn-frame .sn-mod,
html body.sn-divi-v2 #main .sn-frame .sn-wiki-group,
html body.sn-divi-v2 #main .sn-frame .sn-xlinks,
html body.sn-divi-v2 #main .sn-frame .entry-content .sn-release,
html body.sn-divi-v2 #main .sn-frame > .sn-release {
    border:1px solid var(--sn-line)!important; border-radius:16px; background:var(--sn-frame-bg)!important; padding:var(--sn-mod-pad)!important;
    overflow:hidden; box-sizing:border-box; box-shadow:none!important;
}
html body.sn-divi-v2 #main .sn-frame > .sn-release { border-inline-start:1px solid color-mix(in srgb,var(--sn-orange) 45%,var(--sn-line))!important; }
html body.sn-divi-v2 #main .sn-mod > :first-child { margin-top:0!important; }
html body.sn-divi-v2 #main .sn-mod > :last-child { margin-bottom:0!important; }
html body.sn-divi-v2 #main .sn-frame :is(.sn-mod--titled > h2:first-child, .sn-wiki-group > h2:first-child) {
    margin:calc(-1 * var(--sn-mod-pad)) calc(-1 * var(--sn-mod-pad)) var(--sn-mod-pad)!important; padding:.9rem var(--sn-mod-pad)!important;
    border-bottom:1px solid var(--sn-line); background:var(--sn-bg); font-size:1.125rem!important; line-height:1.35!important;
    letter-spacing:0!important; font-weight:400!important; text-align:left!important; max-width:none!important;
}
html body.sn-divi-v2 #main .sn-frame .sn-wiki-group { margin:var(--sn-gap) 0 0!important; }
html body.sn-divi-v2 #main .sn-frame .sn-wiki-group[hidden] { display:none!important; }
html body.sn-divi-v2 #main .sn-frame .sn-wiki > * { max-width:none!important; margin-left:0!important; margin-right:0!important; }
/* List module: rows run edge to edge inside the module. */
html body.sn-divi-v2 #main .sn-frame .sn-mod--list { padding:0!important; background:var(--sn-bg)!important; }
html body.sn-divi-v2 #main .sn-frame .sn-mod--list .sn-parts { margin:0!important; border-top:0; max-width:none!important; }
html body.sn-divi-v2 #main .sn-frame .sn-mod--list .sn-parts li:last-child { border-bottom:0; }
html body.sn-divi-v2 #main .sn-frame .sn-mod--list .sn-parts a { padding-left:var(--sn-mod-pad); padding-right:var(--sn-mod-pad); }
html body.sn-divi-v2 #main .sn-frame p.sn-parts-note { text-align:left; }
/* Inner cards (rooms, contents box) sit one level down: plain background, 12px radius. */
html body.sn-divi-v2 #main .sn-frame .sn-mod .sn-room { background:var(--sn-bg); border:1px solid var(--sn-line); border-radius:12px; padding:clamp(.9rem,2.4vw,1.35rem)!important; margin:.75rem 0 0!important; }
html body.sn-divi-v2 #main .sn-frame .sn-mod .sn-wiki-tocbox { background:var(--sn-bg); border:1px solid var(--sn-line); border-radius:12px; padding:.75rem 1rem; margin:0 0 .25rem!important; }
html body.sn-divi-v2 #main .sn-frame .sn-mod--prose { background:var(--sn-bg)!important; }
html body.sn-divi-v2 #main .sn-frame .sn-sig__body > * { max-width:none!important; margin-left:0!important; margin-right:0!important; }
html body.sn-divi-v2 #main .sn-frame .sn-sig__list { margin:0!important; }
html body.sn-divi-v2 #main .sn-frame > .wp-block-buttons, html body.sn-divi-v2 #main .sn-frame .sn-sig > .wp-block-buttons { justify-content:flex-start; }
@media (max-width:600px) {
    html body.sn-divi-v2:not(.home) .entry-content { padding-left:.5rem; padding-right:.5rem; }
    html body.sn-divi-v2 .entry-content > .sn-frame { --sn-frame-pad:1rem; --sn-mod-pad:.9rem; border-radius:16px; }
}

/* Home actions (t255u): compact pair, framed tint like "Improve it together"; opaque so nothing shows through. */
html body.sn-divi-v2 .sn-v2-actions { max-width:34rem!important; position:relative; z-index:2; isolation:isolate; margin:1.5rem auto 2.5rem!important; }
html body.sn-divi-v2 .sn-v2-actions .wp-block-buttons { gap:.75rem!important; }
html body.sn-divi-v2 #main .sn-v2-actions .wp-block-button .wp-block-button__link,
html body.sn-divi-v2 #main .sn-v2-actions .wp-block-button.is-style-sn-blue .wp-block-button__link {
    min-height:0!important; padding:.8rem 1.1rem!important; font-size:1rem!important; font-weight:500!important; border-radius:999px!important;
    color:var(--sn-orange)!important; background:color-mix(in srgb,var(--sn-orange) 8%,var(--sn-bg))!important; background-image:none!important;
    border:1px solid color-mix(in srgb,var(--sn-orange) 60%,transparent)!important; box-shadow:none!important;
}
html body.sn-divi-v2 #main .sn-v2-actions .wp-block-button .wp-block-button__link:hover { background:color-mix(in srgb,var(--sn-orange) 14%,var(--sn-bg))!important; }
@media(max-width:600px){ html body.sn-divi-v2 #main .sn-v2-actions .wp-block-button .wp-block-button__link { padding:.75rem .6rem!important; font-size:.9375rem!important; } }

/* Illustration frames (t256u): calm glass tiles, hairline, no heavy card shadow. */
html body.sn-divi-v2 #main :is(.sn-story .sn-visual, .sn-section--alt .sn-visual--wide, .sn-scale):not(.sn-visual--hero):not(.sn-visual--bare) {
    background:var(--sn-glass-card)!important; border:1px solid var(--sn-glass-edge)!important; border-radius:20px!important;
    box-shadow:var(--sn-glass-shine, none)!important; -webkit-backdrop-filter:blur(14px) saturate(1.2); backdrop-filter:blur(14px) saturate(1.2);
}
/* Drawing palette (t255u/t257u): orange + dark gray, at most one extra colour. Planets scene and the prime test keep theirs. */
html body.sn-divi-v2 .sn-svg:not(.sn-svg--orbit):not(.sn-svg--prime) { --sn-viz-blue: var(--sn-text-2, #55555c); }
html body.sn-divi-v2 .sn-svg--layers { --sn-viz-blue: var(--sn-heading); --sn-viz-green: var(--sn-text-muted); }
html body.sn-divi-v2 .sn-svg--layers .sn-glass { opacity:.62; }
html body.sn-divi-v2 .sn-svg--fork { --sn-viz-blue: var(--sn-text-muted); }
html body.sn-divi-v2 :is(.sn-svg--fork,.sn-svg--layers) { filter:drop-shadow(0 10px 22px color-mix(in srgb,var(--sn-orange) 10%,transparent)); }
html body.sn-divi-v2 .sn-scale__p1 { fill:var(--sn-green); }
/* Article figures: blue removed, gray takes its place. */
html body.sn-divi-v2 .sn-sig :is(.sn-nf, .sn-sig__body svg) { --sn-blue: var(--sn-text-2, #55555c); --sn-viz-blue: var(--sn-text-2, #55555c); }
html body.sn-divi-v2 .sn-sig .sn-nf-b { color:var(--sn-text-2, #55555c)!important; }
html body.sn-divi-v2 .sn-sig .sn-nf__panel--b { border-color:color-mix(in srgb,var(--sn-heading) 28%,transparent)!important; }

/* Planets (t258u): quiet gray/orange until a body is hovered, focused or selected; then its real colours return. */
html body.sn-divi-v2 .sn-svg--orbit .sn-body :is(circle,path,ellipse) { transition:fill .45s var(--sn-ease), stroke .45s var(--sn-ease); }
html body.sn-divi-v2 .sn-svg--orbit .sn-body:not(:hover):not(:focus-visible):not(.is-selected) {
    --sn-c-earth:#c3c3c9; --sn-c-land:#8f8f96; --sn-c-moon:#d3d3d8; --sn-c-moon2:#adadb3; --sn-c-mars:#e8915a; --sn-c-mars2:#c46a35;
    --sn-c-polar:#f5efe9; --sn-c-venus:#ebcfb2; --sn-c-venus2:#d3a77f; --sn-c-ceres:#a3a3aa; --sn-c-titan:#e7a061; --sn-c-saturn:#e2c7a6;
    --sn-viz-green:#9a9aa1;
}
:root[data-sn-theme="dark"] body.sn-divi-v2 .sn-svg--orbit .sn-body:not(:hover):not(:focus-visible):not(.is-selected) {
    --sn-c-earth:#76767d; --sn-c-land:#56565c; --sn-c-moon:#8d8d94; --sn-c-moon2:#6c6c72; --sn-c-ceres:#6d6d74; --sn-c-polar:#d9d2cc; --sn-viz-green:#77777e;
}
@media (prefers-color-scheme: dark) {
    :root:not([data-sn-theme="light"]) body.sn-divi-v2 .sn-svg--orbit .sn-body:not(:hover):not(:focus-visible):not(.is-selected) {
        --sn-c-earth:#76767d; --sn-c-land:#56565c; --sn-c-moon:#8d8d94; --sn-c-moon2:#6c6c72; --sn-c-ceres:#6d6d74; --sn-c-polar:#d9d2cc; --sn-viz-green:#77777e;
    }
}
/* Localized chapter whose body stays in English: the lang wrapper is a transparent column of the same frame. */
html body.sn-divi-v2 #main .sn-frame > .sn-const-en { display:flex; flex-direction:column; gap:var(--sn-gap); }
html body.sn-divi-v2 #main .sn-frame > .sn-mast:has(+ .sn-const-en) { padding:0; }
html body.sn-divi-v2 #main .sn-frame > .sn-mast:has(+ .sn-const-en) .sn-path { margin:0!important; }
html body.sn-divi-v2 #main .sn-frame .sn-const-en > * { max-width:none!important; margin-left:0!important; margin-right:0!important; }
html body.sn-divi-v2 #main .sn-frame .sn-const-en > * + * { margin-top:var(--sn-gap)!important; }

/* ==========================================================================
   2.0.2 (t261u–t264u) — one-line title, title underscore back, footer selected glass,
   GitHub mark contrast, no hover glass, aligned contact form, gradient-free signals,
   quiet thumbnails until touched, figures that fit the framed article.
   ========================================================================== */
/* One line: small orange "home / parent /" on the big title's baseline. */
html body.sn-divi-v2 #main .sn-titleline { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:.55rem; row-gap:.15rem; margin:0 0 .75rem; max-width:none; }
html body.sn-divi-v2 .entry-content > .sn-section .sn-titleline { margin-bottom:1rem; }
html body.sn-divi-v2 #main .sn-titleline > .sn-path { flex:0 0 auto; margin:0!important; font-size:.875rem!important; line-height:1.2; white-space:nowrap; }
html body.sn-divi-v2 #main .sn-titleline > .sn-path .sn-path__sep { margin:0 0 0 .4em!important; padding:0!important; }
html body.sn-divi-v2 #main .sn-titleline > .sn-path .sn-path__sep + a { margin-left:.4em; }
html body.sn-divi-v2 #main .sn-titleline > h1 { flex:1 1 12rem; min-width:0; margin:0!important; }
@media (max-width:480px) { html body.sn-divi-v2 #main .sn-titleline > .sn-path { white-space:normal; } }
/* Title underscore restored: the thin gray breathing cursor under big titles (h1) and section titles (h2), as in 1.x. */
html body.sn-divi-v2 #main :is(h1,h2)::after { content:""!important; }
html body.sn-divi-v2 #main :is(h1,h2):is(.sn-faq-group__title,.sn-no-cursor,.screen-reader-text)::after,
html body.sn-divi-v2 #main .sn-orbit-stage :is(h1,h2)::after { content:none!important; }
/* Hover never draws glass: the neutral hover droplet in the top bar is retired; glass marks only the selected item. */
html body #site-navigation .sn-gp--hover, html body #site-navigation .sn-gp--hover.is-hovering { display:none!important; opacity:0!important; }
html body.sn-divi-v2 .sn-lang__list a:hover:not([aria-current]) { background:transparent!important; }
html body.sn-divi-v2 #main :is(h1,h2,h3,.sn-page-title,.sn-tile__title):hover { background:none!important; box-shadow:none!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important; }
/* Footer: the current page (privacy) wears the exact top-bar droplet (sn-glass-nav.js, static); nothing on hover. */
#colophon .footer-menu-container { position:relative; }
#colophon .footer-menu-container > ul { position:relative; z-index:1; }
#colophon .footer-menu-container > .sn-gp { z-index:0; }
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) #colophon .sn-gp {
    --sn-gp-rim-img: radial-gradient(62% 120% at 50% 0%, rgba(255,244,232,.5), rgba(255,244,232,.2) 55%, transparent 100%), linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.09));
    --sn-gp-sheen: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.035) 22%, transparent 36%);
    --sn-gp-shadow: inset 0 -1px 0 0 rgba(255,255,255,.09);
} }
:root[data-sn-theme="dark"] #colophon .sn-gp {
    --sn-gp-rim-img: radial-gradient(62% 120% at 50% 0%, rgba(255,244,232,.5), rgba(255,244,232,.2) 55%, transparent 100%), linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.09));
    --sn-gp-sheen: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.035) 22%, transparent 36%);
    --sn-gp-shadow: inset 0 -1px 0 0 rgba(255,255,255,.09);
}
#colophon .footer-navigation .menu > li > a[data-sn-t] { padding-top:.45em!important; padding-bottom:.45em!important; padding-inline:.7em!important; }
html:not(.sn-gp-on) #colophon .footer-navigation .menu > li.current-menu-item > a { /* no-JS: static pill from the same tokens */
    background:linear-gradient(var(--sn-gp-tint),var(--sn-gp-tint)), var(--sn-gp-bg)!important; box-shadow:var(--sn-gp-shadow)!important; border-radius:999px;
}
/* GitHub mark: same octocat shape, solid heading ink (near-black by day, near-white by night), full opacity. */
html body #colophon .footer-navigation a.sn-ficon-link { color:var(--sn-heading)!important; background:transparent!important; }
html body #colophon .sn-ficon { width:16px; height:16px; opacity:1; fill:var(--sn-heading); }
html body #colophon a.sn-ficon-link:is(:hover,:focus-visible) .sn-ficon { fill:var(--sn-orange); }
html body .sn-term .sn-ghi { fill:currentColor; }
/* Contact form (t263u/t268u): label stacked above its field; label, placeholder, text, actions and hint share ONE left inset. */
html body.sn-divi-v2 .sn-term .sn-term__form { display:flex; flex-direction:column; gap:1rem; align-items:stretch; }
html body.sn-divi-v2 .sn-term .sn-term__row, html body.sn-divi-v2 .sn-term .sn-term__row--msg { display:flex!important; flex-direction:column; align-items:stretch; gap:.3rem; margin:0!important; }
html body.sn-divi-v2 .sn-term .sn-term__row label { padding:0!important; margin:0!important; line-height:1.4!important; text-align:left; }
html body.sn-divi-v2 .sn-term .sn-term__row label::after { content:none!important; }
html body.sn-divi-v2 .sn-term :is(input,textarea) { flex:none; width:100%; font-size:.9375rem!important; line-height:1.55!important; padding:.2rem 0 .4rem!important; margin:0!important; text-indent:0; text-align:left; }
html body.sn-divi-v2 .sn-term .sn-term__actions { margin-top:.25rem!important; }
html body.sn-divi-v2 .sn-term .sn-term__ts:empty { display:none; }
html body.sn-divi-v2 .sn-term .sn-term__hint, html body.sn-divi-v2 .sn-term .sn-term__out { margin:0!important; }
html body.sn-divi-v2 .sn-term .sn-term__out:empty { display:none; }
/* Signals: no gradients anywhere (tiles, glow, panels); flat hairline cards. */
html body.sn-divi-v2 :is(.sn-sig, .sn-sig__list) :is(.sn-tile, .sn-nf__panel, .sn-xlinks, .sn-nf__seg) { background:var(--sn-card-bg)!important; background-image:none!important; }
html body.sn-divi-v2 .sn-tile__glow { display:none!important; }
/* Thumbnails: gray/orange at rest (like the planets); real colours on hover, focus or press. The hover still runs the animation. */
html body.sn-divi-v2 .sn-tile__art :is(.sn-tile__earth,.sn-tile__land,.sn-tile__moon,.sn-tile__camps circle,.sn-tile__meter,.sn-tile__ticks) { transition:fill .45s var(--sn-ease,ease), stroke .45s var(--sn-ease,ease); }
html body.sn-divi-v2 .sn-sig__item:not(:hover):not(:focus-visible):not(:active) .sn-tile {
    --sn-c-earth:#c3c3c9; --sn-c-land:#8f8f96; --sn-c-moon:#d3d3d8; --sn-c-camp:#f4f4f6; --sn-green:#9a9aa1;
}
:root[data-sn-theme="dark"] body.sn-divi-v2 .sn-sig__item:not(:hover):not(:focus-visible):not(:active) .sn-tile { --sn-c-earth:#76767d; --sn-c-land:#56565c; --sn-c-moon:#8d8d94; --sn-c-camp:#d9d9de; --sn-green:#77777e; }
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) body.sn-divi-v2 .sn-sig__item:not(:hover):not(:focus-visible):not(:active) .sn-tile { --sn-c-earth:#76767d; --sn-c-land:#56565c; --sn-c-moon:#8d8d94; --sn-c-camp:#d9d9de; --sn-green:#77777e; } }
/* Article figures fit the framed article: no breakout width, no clipping; they reflow by their own width. */
html body.sn-divi-v2 #main .sn-frame .sn-sig .sn-nf {
    --nf-w:100%; width:100%!important; max-width:100%!important; margin:2rem 0!important; container-type:inline-size;
    display:flex; flex-direction:column; gap:.85rem;
}
html body.sn-divi-v2 #main .sn-frame .sn-sig .sn-nf > * { margin-top:0!important; min-width:0; }
html body.sn-divi-v2 #main .sn-frame .sn-sig .sn-nf .sn-nf__grid { gap:.75rem; }
html body.sn-divi-v2 #main .sn-frame .sn-sig .sn-nf > p:is(.sn-nf__s,.sn-nf__label) { margin:0!important; }
html body.sn-divi-v2 #main .sn-frame .sn-sig .sn-nf figcaption { margin:.15rem 0 0!important; padding-top:.7rem; border-top:1px solid var(--sn-line); text-align:left!important; color:var(--sn-text-muted); font-size:.8125rem; }
html body.sn-divi-v2 #main .sn-frame .sn-sig .sn-nf svg:not(.sn-nf__icon):not(.sn-nf__mark) { max-width:100%; height:auto; }
html body.sn-divi-v2 #main .sn-frame .sn-sig .sn-nf .sn-nf__panel > .sn-nf__icon:first-child { margin-bottom:.65rem; }
html body.sn-divi-v2 #main .sn-frame .sn-mod--prose { overflow:visible; }
@container (max-width: 40rem) {
    html body.sn-divi-v2 #main .sn-sig .sn-nf__grid--3 { grid-template-columns:1fr!important; }
    html body.sn-divi-v2 #main .sn-sig .sn-nf__flow { grid-auto-flow:row; gap:1.1rem; }
    html body.sn-divi-v2 #main .sn-sig .sn-nf__step:not(:last-child)::after { top:auto; bottom:-1.05rem; right:auto; left:2.1rem; width:1rem; height:1rem; transform:rotate(90deg); }
    html body.sn-divi-v2 #main .sn-sig .sn-nf__row { grid-template-columns:1fr; gap:.1rem; }
}
@container (max-width: 26rem) { html body.sn-divi-v2 #main .sn-sig .sn-nf__grid--2 { grid-template-columns:1fr!important; } }
/* Contact form box shares the text column's left and right edges (no inset island). */
html body.sn-divi-v2 .sn-questions.is-layout-constrained > .sn-term, html body.sn-divi-v2 .sn-contribute .sn-term { max-width:912px!important; width:100%!important; margin-left:auto!important; margin-right:auto!important; }
/* Three layers (t265u): LEX is the orange plate, as LEX reads orange in the rooms; Pactum light gray, Codex darker gray. Hover lift unchanged. */
html body.sn-divi-v2 .sn-svg--layers { --sn-ly-pactum:#b9b9c0; --sn-ly-codex:#66666d; }
:root[data-sn-theme="dark"] body.sn-divi-v2 .sn-svg--layers { --sn-ly-pactum:#a2a2a9; --sn-ly-codex:#5b5b62; }
@media (prefers-color-scheme: dark) { :root:not([data-sn-theme="light"]) body.sn-divi-v2 .sn-svg--layers { --sn-ly-pactum:#a2a2a9; --sn-ly-codex:#5b5b62; } }
html body.sn-divi-v2 .sn-svg--layers :is(.sn-plate--1 .f-orange, .sn-plate-label--1 .f-orange) { fill:var(--sn-ly-pactum)!important; }
html body.sn-divi-v2 .sn-svg--layers :is(.sn-plate--2 .f-blue, .sn-plate-label--2 .f-blue) { fill:var(--sn-ly-codex)!important; }
html body.sn-divi-v2 .sn-svg--layers :is(.sn-plate--3 .f-green, .sn-plate-label--3 .f-green) { fill:var(--sn-orange)!important; }
html body.sn-divi-v2 .sn-svg--layers .sn-glass { opacity:.7!important; }

/* 2.0.3 (t266u): signals previews carry no orange path; title and art share one centred row,
   the foot (date | number) sits on the same two columns: date under the title, number centred under the art. */
html body.sn-divi-v2 .sn-tile__path { display:none!important; }
html body.sn-divi-v2 .sn-sig__list .sn-tile { grid-template-rows:minmax(0,1fr) auto; align-items:center; row-gap:.5rem; }
html body.sn-divi-v2 .sn-sig__list .sn-tile__txt { grid-column:1; grid-row:1; align-self:center; }
html body.sn-divi-v2 .sn-sig__list .sn-tile__art { grid-column:2; grid-row:1; align-self:center; justify-self:center; }
html body.sn-divi-v2 .sn-sig__list .sn-tile__foot {
    position:static!important; grid-column:1 / -1; grid-row:2; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,34%);
    column-gap:inherit; align-items:baseline; left:auto; right:auto; bottom:auto;
}
@supports (grid-template-columns: subgrid) { html body.sn-divi-v2 .sn-sig__list .sn-tile__foot { grid-template-columns:subgrid; } }
html body.sn-divi-v2 .sn-sig__list .sn-tile__foot > :first-child { justify-self:start; }
html body.sn-divi-v2 .sn-sig__list .sn-tile__foot > .sn-tile__ordinal { justify-self:center; }
/* 2.0.3 (t267u): selected droplets are rounded rectangles (big corners), not full pills. JS sets ~0.32 x height. */
html body .sn-gp, html body .sn-gp::before, html body .sn-gp::after { border-radius:var(--sn-gp-r,11px); }
html body .sn-gp--pager { clip-path:inset(0 round var(--sn-gp-r,11px))!important; }
html body #site-navigation .menu > li:is(.current-menu-item,.current-page-ancestor)::before,
html:not(.sn-gp-on) body .sn-lang__list a[aria-current],
html:not(.sn-gp-on) body #colophon .footer-navigation .menu > li.current-menu-item > a { border-radius:var(--sn-gp-r,11px)!important; }
/* 2.0.4 (t269u): no pulsing underscore on signals preview titles only. */
html body.sn-divi-v2 #main .sn-sig__list .sn-tile__title::after { content:none!important; display:none!important; }

/* 2.1.1 (t278u): GitHub (and X) marks on tinted buttons follow the rust label.
   Older filled-button CSS forced svg { fill:#fff; color:#fff }, which washes out on the pale fill. */
html body.sn-divi-v2 #main .wp-block-button__link .sn-ghi,
html body.sn-divi-v2 #main .sn-term .sn-ghi {
    fill: currentColor !important;
    color: inherit !important;
    opacity: 1;
}
