.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}
.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer;opacity:.7}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #00bfff;opacity:1}.splide__arrow{-ms-flex-align:center;align-items:center;background:transparent;border:0;border-radius:0;cursor:pointer;display:-ms-flexbox;display:flex;height:2.5em;-ms-flex-pack:center;justify-content:center;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2.5em;z-index:1}.splide__arrow svg{fill:#00bfff;height:2.5em;transition:fill .2s linear;width:2.5em}.splide__arrow:hover:not(:disabled) svg{fill:#66d9ff}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #00bfff;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #00bfff;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:10px;margin:3px;padding:0;position:relative;transition:background-color .2s linear,transform .2s linear;width:10px}.splide__pagination__page.is-active{background:#00bfff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{background:#66d9ff;cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #00bfff;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #00bfff;outline-offset:3px}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #00bfff;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #00bfff;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #00bfff}}@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #00bfff;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #00bfff}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#00bfff}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #00bfff;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #00bfff;outline-offset:3px}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}
.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide:not(.current){pointer-events:none}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster{display:none}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%;margin:auto}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;position:absolute;bottom:0;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}}
/* Constantia — webfont (TTF) */

@font-face {
    font-family: 'Constantia';
    src: url('../themes/shadrina/assets/fonts/Constantia/Constantia_regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Constantia';
    src: url('../themes/shadrina/assets/fonts/Constantia/Constantia_bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Constantia';
    src: url('../themes/shadrina/assets/fonts/Constantia/Constantia_italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

/* This stylesheet generated by Transfonter (https://transfonter.org) on August 20, 2017 5:39 PM */

@font-face {
	font-family: 'Arial';
	src: url('../themes/shadrina/assets/fonts/Arial/Arial-ItalicMT.eot');
	src: local('Arial Italic'), local('Arial-ItalicMT'),
		url('../themes/shadrina/assets/fonts/Arial/Arial-ItalicMT.eot?#iefix') format('embedded-opentype'),
		url('../themes/shadrina/assets/fonts/Arial/Arial-ItalicMT.woff') format('woff'),
		url('../themes/shadrina/assets/fonts/Arial/Arial-ItalicMT.ttf') format('truetype');
	font-weight: normal;
	font-style: italic;
}

@font-face {
	font-family: 'Arial Narrow';
	src: url('../themes/shadrina/assets/fonts/Arial/ArialNarrow-Bold.eot');
	src: local('Arial Narrow Bold'), local('ArialNarrow-Bold'),
		url('../themes/shadrina/assets/fonts/Arial/ArialNarrow-Bold.eot?#iefix') format('embedded-opentype'),
		url('../themes/shadrina/assets/fonts/Arial/ArialNarrow-Bold.woff') format('woff'),
		url('../themes/shadrina/assets/fonts/Arial/ArialNarrow-Bold.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: 'Arial';
	src: url('../themes/shadrina/assets/fonts/Arial/Arial-BoldItalicMT.eot');
	src: local('Arial Bold Italic'), local('Arial-BoldItalicMT'),
		url('../themes/shadrina/assets/fonts/Arial/Arial-BoldItalicMT.eot?#iefix') format('embedded-opentype'),
		url('../themes/shadrina/assets/fonts/Arial/Arial-BoldItalicMT.woff') format('woff'),
		url('../themes/shadrina/assets/fonts/Arial/Arial-BoldItalicMT.ttf') format('truetype');
	font-weight: bold;
	font-style: italic;
}

@font-face {
	font-family: 'Arial Narrow';
	src: url('../themes/shadrina/assets/fonts/Arial/ArialNarrow.eot');
	src: local('Arial Narrow'), local('ArialNarrow'),
		url('../themes/shadrina/assets/fonts/Arial/ArialNarrow.eot?#iefix') format('embedded-opentype'),
		url('../themes/shadrina/assets/fonts/Arial/ArialNarrow.woff') format('woff'),
		url('../themes/shadrina/assets/fonts/Arial/ArialNarrow.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Arial Narrow';
	src: url('../themes/shadrina/assets/fonts/Arial/ArialNarrow-Italic.eot');
	src: local('Arial Narrow Italic'), local('ArialNarrow-Italic'),
		url('../themes/shadrina/assets/fonts/Arial/ArialNarrow-Italic.eot?#iefix') format('embedded-opentype'),
		url('../themes/shadrina/assets/fonts/Arial/ArialNarrow-Italic.woff') format('woff'),
		url('../themes/shadrina/assets/fonts/Arial/ArialNarrow-Italic.ttf') format('truetype');
	font-weight: normal;
	font-style: italic;
}

@font-face {
	font-family: 'Arial';
	src: url('../themes/shadrina/assets/fonts/Arial/ArialMT.eot');
	src: local('Arial'), local('ArialMT'),
		url('../themes/shadrina/assets/fonts/Arial/ArialMT.eot?#iefix') format('embedded-opentype'),
		url('../themes/shadrina/assets/fonts/Arial/ArialMT.woff') format('woff'),
		url('../themes/shadrina/assets/fonts/Arial/ArialMT.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Arial';
	src: url('../themes/shadrina/assets/fonts/Arial/Arial-BoldMT.eot');
	src: local('Arial Bold'), local('Arial-BoldMT'),
		url('../themes/shadrina/assets/fonts/Arial/Arial-BoldMT.eot?#iefix') format('embedded-opentype'),
		url('../themes/shadrina/assets/fonts/Arial/Arial-BoldMT.woff') format('woff'),
		url('../themes/shadrina/assets/fonts/Arial/Arial-BoldMT.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: 'Arial';
	src: url('../themes/shadrina/assets/fonts/Arial/Arial-Black.eot');
	src: local('Arial Black'), local('Arial-Black'),
		url('../themes/shadrina/assets/fonts/Arial/Arial-Black.eot?#iefix') format('embedded-opentype'),
		url('../themes/shadrina/assets/fonts/Arial/Arial-Black.woff') format('woff'),
		url('../themes/shadrina/assets/fonts/Arial/Arial-Black.ttf') format('truetype');
	font-weight: 900;
	font-style: normal;
}

@font-face {
	font-family: 'Arial Narrow';
	src: url('../themes/shadrina/assets/fonts/Arial/ArialNarrow-BoldItalic.eot');
	src: local('Arial Narrow Bold Italic'), local('ArialNarrow-BoldItalic'),
		url('../themes/shadrina/assets/fonts/Arial/ArialNarrow-BoldItalic.eot?#iefix') format('embedded-opentype'),
		url('../themes/shadrina/assets/fonts/Arial/ArialNarrow-BoldItalic.woff') format('woff'),
		url('../themes/shadrina/assets/fonts/Arial/ArialNarrow-BoldItalic.ttf') format('truetype');
	font-weight: bold;
	font-style: italic;
}

/* This stylesheet generated by Transfonter (https://transfonter.org) on September 22, 2017 5:29 PM */

@font-face { font-display: swap;
	font-family: 'Cambria';
	src: url('../themes/shadrina/assets/fonts/Cambria/Cambria-Italic.eot');
	src: local('Cambria Italic'), local('Cambria-Italic'),
		url('../themes/shadrina/assets/fonts/Cambria/Cambria-Italic.eot?#iefix') format('embedded-opentype'),
		url('../themes/shadrina/assets/fonts/Cambria/Cambria-Italic.woff') format('woff'),
		url('../themes/shadrina/assets/fonts/Cambria/Cambria-Italic.ttf') format('truetype');
	font-weight: normal;
	font-style: italic;
}

@font-face { font-display: swap;
	font-family: 'Cambria';
	src: url('../themes/shadrina/assets/fonts/Cambria/Cambria-Bold.eot');
	src: local('Cambria Bold'), local('Cambria-Bold'),
		url('../themes/shadrina/assets/fonts/Cambria/Cambria-Bold.eot?#iefix') format('embedded-opentype'),
		url('../themes/shadrina/assets/fonts/Cambria/Cambria-Bold.woff') format('woff'),
		url('../themes/shadrina/assets/fonts/Cambria/Cambria-Bold.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
}

@font-face { font-display: swap;
	font-family: 'Cambria';
	src: url('../themes/shadrina/assets/fonts/Cambria/Cambria.eot');
	src: local('Cambria'),
		url('../themes/shadrina/assets/fonts/Cambria/Cambria.eot?#iefix') format('embedded-opentype'),
		url('../themes/shadrina/assets/fonts/Cambria/Cambria.woff') format('woff'),
		url('../themes/shadrina/assets/fonts/Cambria/Cambria.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

@font-face { font-display: swap;
	font-family: 'Cambria';
	src: url('../themes/shadrina/assets/fonts/Cambria/Cambria-BoldItalic.eot');
	src: local('Cambria Bold Italic'), local('Cambria-BoldItalic'),
		url('../themes/shadrina/assets/fonts/Cambria/Cambria-BoldItalic.eot?#iefix') format('embedded-opentype'),
		url('../themes/shadrina/assets/fonts/Cambria/Cambria-BoldItalic.woff') format('woff'),
		url('../themes/shadrina/assets/fonts/Cambria/Cambria-BoldItalic.ttf') format('truetype');
	font-weight: bold;
	font-style: italic;
}

@charset "UTF-8";/*!
 * Pico CSS ✨ v2.1.1 (https://picocss.com)
 * Copyright 2019-2025 - Licensed under MIT
 */:host,:root{--pico-font-family-emoji:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--pico-font-family-sans-serif:system-ui,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,Helvetica,Arial,"Helvetica Neue",sans-serif,var(--pico-font-family-emoji);--pico-font-family-monospace:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace,var(--pico-font-family-emoji);--pico-font-family:var(--pico-font-family-sans-serif);--pico-line-height:1.5;--pico-font-weight:400;--pico-font-size:100%;--pico-text-underline-offset:0.1rem;--pico-border-radius:0.25rem;--pico-border-width:0.0625rem;--pico-outline-width:0.125rem;--pico-transition:0.2s ease-in-out;--pico-spacing:1rem;--pico-typography-spacing-vertical:1rem;--pico-block-spacing-vertical:var(--pico-spacing);--pico-block-spacing-horizontal:var(--pico-spacing);--pico-grid-column-gap:var(--pico-spacing);--pico-grid-row-gap:var(--pico-spacing);--pico-form-element-spacing-vertical:0.75rem;--pico-form-element-spacing-horizontal:1rem;--pico-group-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-group-box-shadow-focus-with-button:0 0 0 var(--pico-outline-width) var(--pico-primary-focus);--pico-group-box-shadow-focus-with-input:0 0 0 0.0625rem var(--pico-form-element-border-color);--pico-modal-overlay-backdrop-filter:blur(0.375rem);--pico-nav-element-spacing-vertical:1rem;--pico-nav-element-spacing-horizontal:0.5rem;--pico-nav-link-spacing-vertical:0.5rem;--pico-nav-link-spacing-horizontal:0.5rem;--pico-nav-breadcrumb-divider:">";--pico-icon-checkbox:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");--pico-icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-date:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");--pico-icon-time:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");--pico-icon-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");--pico-icon-loading:url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 145, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E")}@media (min-width:576px){:host,:root{--pico-font-size:106.25%}}@media (min-width:768px){:host,:root{--pico-font-size:112.5%}}@media (min-width:1024px){:host,:root{--pico-font-size:118.75%}}@media (min-width:1280px){:host,:root{--pico-font-size:125%}}@media (min-width:1536px){:host,:root{--pico-font-size:131.25%}}a{--pico-text-decoration:underline}a.contrast,a.secondary{--pico-text-decoration:underline}small{--pico-font-size:0.875em}h1,h2,h3,h4,h5,h6{--pico-font-weight:700}h1{--pico-font-size:2rem;--pico-line-height:1.125;--pico-typography-spacing-top:3rem}h2{--pico-font-size:1.75rem;--pico-line-height:1.15;--pico-typography-spacing-top:2.625rem}h3{--pico-font-size:1.5rem;--pico-line-height:1.175;--pico-typography-spacing-top:2.25rem}h4{--pico-font-size:1.25rem;--pico-line-height:1.2;--pico-typography-spacing-top:1.874rem}h5{--pico-font-size:1.125rem;--pico-line-height:1.225;--pico-typography-spacing-top:1.6875rem}h6{--pico-font-size:1rem;--pico-line-height:1.25;--pico-typography-spacing-top:1.5rem}tfoot td,tfoot th,thead td,thead th{--pico-font-weight:600;--pico-border-width:0.1875rem}code,kbd,pre,samp{--pico-font-family:var(--pico-font-family-monospace)}kbd{--pico-font-weight:bolder}:where(select,textarea),input:not([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-outline-width:0.0625rem}[type=search]{--pico-border-radius:5rem}[type=checkbox],[type=radio]{--pico-border-width:0.125rem}[type=checkbox][role=switch]{--pico-border-width:0.1875rem}details.dropdown summary:not([role=button]){--pico-outline-width:0.0625rem}nav details.dropdown summary:focus-visible{--pico-outline-width:0.125rem}[role=search]{--pico-border-radius:5rem}[role=group]:has(button.secondary:focus,[type=submit].secondary:focus,[type=button].secondary:focus,[role=button].secondary:focus),[role=search]:has(button.secondary:focus,[type=submit].secondary:focus,[type=button].secondary:focus,[role=button].secondary:focus){--pico-group-box-shadow-focus-with-button:0 0 0 var(--pico-outline-width) var(--pico-secondary-focus)}[role=group]:has(button.contrast:focus,[type=submit].contrast:focus,[type=button].contrast:focus,[role=button].contrast:focus),[role=search]:has(button.contrast:focus,[type=submit].contrast:focus,[type=button].contrast:focus,[role=button].contrast:focus){--pico-group-box-shadow-focus-with-button:0 0 0 var(--pico-outline-width) var(--pico-contrast-focus)}[role=group] [role=button],[role=group] [type=button],[role=group] [type=submit],[role=group] button,[role=search] [role=button],[role=search] [type=button],[role=search] [type=submit],[role=search] button{--pico-form-element-spacing-horizontal:2rem}details summary[role=button]:not(.outline)::after{filter:brightness(0) invert(1)}[aria-busy=true]:not(input,select,textarea):is(button,[type=submit],[type=button],[type=reset],[role=button]):not(.outline)::before{filter:brightness(0) invert(1)}:host(:not([data-theme=dark])),:root:not([data-theme=dark]),[data-theme=light]{color-scheme:light;--pico-background-color:#fff;--pico-color:#373c44;--pico-text-selection-color:rgba(2, 154, 232, 0.25);--pico-muted-color:#646b79;--pico-muted-border-color:rgb(231, 234, 239.5);--pico-primary:#0172ad;--pico-primary-background:#0172ad;--pico-primary-border:var(--pico-primary-background);--pico-primary-underline:rgba(1, 114, 173, 0.5);--pico-primary-hover:#015887;--pico-primary-hover-background:#02659a;--pico-primary-hover-border:var(--pico-primary-hover-background);--pico-primary-hover-underline:var(--pico-primary-hover);--pico-primary-focus:rgba(2, 154, 232, 0.5);--pico-primary-inverse:#fff;--pico-secondary:#5d6b89;--pico-secondary-background:#525f7a;--pico-secondary-border:var(--pico-secondary-background);--pico-secondary-underline:rgba(93, 107, 137, 0.5);--pico-secondary-hover:#48536b;--pico-secondary-hover-background:#48536b;--pico-secondary-hover-border:var(--pico-secondary-hover-background);--pico-secondary-hover-underline:var(--pico-secondary-hover);--pico-secondary-focus:rgba(93, 107, 137, 0.25);--pico-secondary-inverse:#fff;--pico-contrast:#181c25;--pico-contrast-background:#181c25;--pico-contrast-border:var(--pico-contrast-background);--pico-contrast-underline:rgba(24, 28, 37, 0.5);--pico-contrast-hover:#000;--pico-contrast-hover-background:#000;--pico-contrast-hover-border:var(--pico-contrast-hover-background);--pico-contrast-hover-underline:var(--pico-secondary-hover);--pico-contrast-focus:rgba(93, 107, 137, 0.25);--pico-contrast-inverse:#fff;--pico-box-shadow:0.0145rem 0.029rem 0.174rem rgba(129, 145, 181, 0.01698),0.0335rem 0.067rem 0.402rem rgba(129, 145, 181, 0.024),0.0625rem 0.125rem 0.75rem rgba(129, 145, 181, 0.03),0.1125rem 0.225rem 1.35rem rgba(129, 145, 181, 0.036),0.2085rem 0.417rem 2.502rem rgba(129, 145, 181, 0.04302),0.5rem 1rem 6rem rgba(129, 145, 181, 0.06),0 0 0 0.0625rem rgba(129, 145, 181, 0.015);--pico-h1-color:#2d3138;--pico-h2-color:#373c44;--pico-h3-color:#424751;--pico-h4-color:#4d535e;--pico-h5-color:#5c6370;--pico-h6-color:#646b79;--pico-mark-background-color:rgb(252.5, 230.5, 191.5);--pico-mark-color:#0f1114;--pico-ins-color:rgb(28.5, 105.5, 84);--pico-del-color:rgb(136, 56.5, 53);--pico-blockquote-border-color:var(--pico-muted-border-color);--pico-blockquote-footer-color:var(--pico-muted-color);--pico-button-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-button-hover-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-table-border-color:var(--pico-muted-border-color);--pico-table-row-stripped-background-color:rgba(111, 120, 135, 0.0375);--pico-code-background-color:rgb(243, 244.5, 246.75);--pico-code-color:#646b79;--pico-code-kbd-background-color:var(--pico-color);--pico-code-kbd-color:var(--pico-background-color);--pico-form-element-background-color:rgb(251, 251.5, 252.25);--pico-form-element-selected-background-color:#dfe3eb;--pico-form-element-border-color:#cfd5e2;--pico-form-element-color:#23262c;--pico-form-element-placeholder-color:var(--pico-muted-color);--pico-form-element-active-background-color:#fff;--pico-form-element-active-border-color:var(--pico-primary-border);--pico-form-element-focus-color:var(--pico-primary-border);--pico-form-element-disabled-opacity:0.5;--pico-form-element-invalid-border-color:rgb(183.5, 105.5, 106.5);--pico-form-element-invalid-active-border-color:rgb(200.25, 79.25, 72.25);--pico-form-element-invalid-focus-color:var(--pico-form-element-invalid-active-border-color);--pico-form-element-valid-border-color:rgb(76, 154.5, 137.5);--pico-form-element-valid-active-border-color:rgb(39, 152.75, 118.75);--pico-form-element-valid-focus-color:var(--pico-form-element-valid-active-border-color);--pico-switch-background-color:#bfc7d9;--pico-switch-checked-background-color:var(--pico-primary-background);--pico-switch-color:#fff;--pico-switch-thumb-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-range-border-color:#dfe3eb;--pico-range-active-border-color:#bfc7d9;--pico-range-thumb-border-color:var(--pico-background-color);--pico-range-thumb-color:var(--pico-secondary-background);--pico-range-thumb-active-color:var(--pico-primary-background);--pico-accordion-border-color:var(--pico-muted-border-color);--pico-accordion-active-summary-color:var(--pico-primary-hover);--pico-accordion-close-summary-color:var(--pico-color);--pico-accordion-open-summary-color:var(--pico-muted-color);--pico-card-background-color:var(--pico-background-color);--pico-card-border-color:var(--pico-muted-border-color);--pico-card-box-shadow:var(--pico-box-shadow);--pico-card-sectioning-background-color:rgb(251, 251.5, 252.25);--pico-dropdown-background-color:#fff;--pico-dropdown-border-color:#eff1f4;--pico-dropdown-box-shadow:var(--pico-box-shadow);--pico-dropdown-color:var(--pico-color);--pico-dropdown-hover-background-color:#eff1f4;--pico-loading-spinner-opacity:0.5;--pico-modal-overlay-background-color:rgba(232, 234, 237, 0.75);--pico-progress-background-color:#dfe3eb;--pico-progress-color:var(--pico-primary-background);--pico-tooltip-background-color:var(--pico-contrast-background);--pico-tooltip-color:var(--pico-contrast-inverse);--pico-icon-valid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(76, 154.5, 137.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-invalid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(200.25, 79.25, 72.25)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E")}:host(:not([data-theme=dark])) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]),:root:not([data-theme=dark]) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]),[data-theme=light] input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-form-element-focus-color:var(--pico-primary-focus)}@media only screen and (prefers-color-scheme:dark){:host(:not([data-theme])),:root:not([data-theme]){color-scheme:dark;--pico-background-color:rgb(19, 22.5, 30.5);--pico-color:#c2c7d0;--pico-text-selection-color:rgba(1, 170, 255, 0.1875);--pico-muted-color:#7b8495;--pico-muted-border-color:#202632;--pico-primary:#01aaff;--pico-primary-background:#0172ad;--pico-primary-border:var(--pico-primary-background);--pico-primary-underline:rgba(1, 170, 255, 0.5);--pico-primary-hover:#79c0ff;--pico-primary-hover-background:#017fc0;--pico-primary-hover-border:var(--pico-primary-hover-background);--pico-primary-hover-underline:var(--pico-primary-hover);--pico-primary-focus:rgba(1, 170, 255, 0.375);--pico-primary-inverse:#fff;--pico-secondary:#969eaf;--pico-secondary-background:#525f7a;--pico-secondary-border:var(--pico-secondary-background);--pico-secondary-underline:rgba(150, 158, 175, 0.5);--pico-secondary-hover:#b3b9c5;--pico-secondary-hover-background:#5d6b89;--pico-secondary-hover-border:var(--pico-secondary-hover-background);--pico-secondary-hover-underline:var(--pico-secondary-hover);--pico-secondary-focus:rgba(144, 158, 190, 0.25);--pico-secondary-inverse:#fff;--pico-contrast:#dfe3eb;--pico-contrast-background:#eff1f4;--pico-contrast-border:var(--pico-contrast-background);--pico-contrast-underline:rgba(223, 227, 235, 0.5);--pico-contrast-hover:#fff;--pico-contrast-hover-background:#fff;--pico-contrast-hover-border:var(--pico-contrast-hover-background);--pico-contrast-hover-underline:var(--pico-contrast-hover);--pico-contrast-focus:rgba(207, 213, 226, 0.25);--pico-contrast-inverse:#000;--pico-box-shadow:0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698),0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024),0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03),0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036),0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302),0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06),0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);--pico-h1-color:#f0f1f3;--pico-h2-color:#e0e3e7;--pico-h3-color:#c2c7d0;--pico-h4-color:#b3b9c5;--pico-h5-color:#a4acba;--pico-h6-color:#8891a4;--pico-mark-background-color:#014063;--pico-mark-color:#fff;--pico-ins-color:#62af9a;--pico-del-color:rgb(205.5, 126, 123);--pico-blockquote-border-color:var(--pico-muted-border-color);--pico-blockquote-footer-color:var(--pico-muted-color);--pico-button-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-button-hover-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-table-border-color:var(--pico-muted-border-color);--pico-table-row-stripped-background-color:rgba(111, 120, 135, 0.0375);--pico-code-background-color:rgb(26, 30.5, 40.25);--pico-code-color:#8891a4;--pico-code-kbd-background-color:var(--pico-color);--pico-code-kbd-color:var(--pico-background-color);--pico-form-element-background-color:rgb(28, 33, 43.5);--pico-form-element-selected-background-color:#2a3140;--pico-form-element-border-color:#2a3140;--pico-form-element-color:#e0e3e7;--pico-form-element-placeholder-color:#8891a4;--pico-form-element-active-background-color:rgb(26, 30.5, 40.25);--pico-form-element-active-border-color:var(--pico-primary-border);--pico-form-element-focus-color:var(--pico-primary-border);--pico-form-element-disabled-opacity:0.5;--pico-form-element-invalid-border-color:rgb(149.5, 74, 80);--pico-form-element-invalid-active-border-color:rgb(183.25, 63.5, 59);--pico-form-element-invalid-focus-color:var(--pico-form-element-invalid-active-border-color);--pico-form-element-valid-border-color:#2a7b6f;--pico-form-element-valid-active-border-color:rgb(22, 137, 105.5);--pico-form-element-valid-focus-color:var(--pico-form-element-valid-active-border-color);--pico-switch-background-color:#333c4e;--pico-switch-checked-background-color:var(--pico-primary-background);--pico-switch-color:#fff;--pico-switch-thumb-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-range-border-color:#202632;--pico-range-active-border-color:#2a3140;--pico-range-thumb-border-color:var(--pico-background-color);--pico-range-thumb-color:var(--pico-secondary-background);--pico-range-thumb-active-color:var(--pico-primary-background);--pico-accordion-border-color:var(--pico-muted-border-color);--pico-accordion-active-summary-color:var(--pico-primary-hover);--pico-accordion-close-summary-color:var(--pico-color);--pico-accordion-open-summary-color:var(--pico-muted-color);--pico-card-background-color:#181c25;--pico-card-border-color:var(--pico-card-background-color);--pico-card-box-shadow:var(--pico-box-shadow);--pico-card-sectioning-background-color:rgb(26, 30.5, 40.25);--pico-dropdown-background-color:#181c25;--pico-dropdown-border-color:#202632;--pico-dropdown-box-shadow:var(--pico-box-shadow);--pico-dropdown-color:var(--pico-color);--pico-dropdown-hover-background-color:#202632;--pico-loading-spinner-opacity:0.5;--pico-modal-overlay-background-color:rgba(7.5, 8.5, 10, 0.75);--pico-progress-background-color:#202632;--pico-progress-color:var(--pico-primary-background);--pico-tooltip-background-color:var(--pico-contrast-background);--pico-tooltip-color:var(--pico-contrast-inverse);--pico-icon-valid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-invalid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E")}:host(:not([data-theme])) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]),:root:not([data-theme]) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-form-element-focus-color:var(--pico-primary-focus)}:host(:not([data-theme])) details summary[role=button].contrast:not(.outline)::after,:root:not([data-theme]) details summary[role=button].contrast:not(.outline)::after{filter:brightness(0)}:host(:not([data-theme])) [aria-busy=true]:not(input,select,textarea).contrast:is(button,[type=submit],[type=button],[type=reset],[role=button]):not(.outline)::before,:root:not([data-theme]) [aria-busy=true]:not(input,select,textarea).contrast:is(button,[type=submit],[type=button],[type=reset],[role=button]):not(.outline)::before{filter:brightness(0)}}[data-theme=dark]{color-scheme:dark;--pico-background-color:rgb(19, 22.5, 30.5);--pico-color:#c2c7d0;--pico-text-selection-color:rgba(1, 170, 255, 0.1875);--pico-muted-color:#7b8495;--pico-muted-border-color:#202632;--pico-primary:#01aaff;--pico-primary-background:#0172ad;--pico-primary-border:var(--pico-primary-background);--pico-primary-underline:rgba(1, 170, 255, 0.5);--pico-primary-hover:#79c0ff;--pico-primary-hover-background:#017fc0;--pico-primary-hover-border:var(--pico-primary-hover-background);--pico-primary-hover-underline:var(--pico-primary-hover);--pico-primary-focus:rgba(1, 170, 255, 0.375);--pico-primary-inverse:#fff;--pico-secondary:#969eaf;--pico-secondary-background:#525f7a;--pico-secondary-border:var(--pico-secondary-background);--pico-secondary-underline:rgba(150, 158, 175, 0.5);--pico-secondary-hover:#b3b9c5;--pico-secondary-hover-background:#5d6b89;--pico-secondary-hover-border:var(--pico-secondary-hover-background);--pico-secondary-hover-underline:var(--pico-secondary-hover);--pico-secondary-focus:rgba(144, 158, 190, 0.25);--pico-secondary-inverse:#fff;--pico-contrast:#dfe3eb;--pico-contrast-background:#eff1f4;--pico-contrast-border:var(--pico-contrast-background);--pico-contrast-underline:rgba(223, 227, 235, 0.5);--pico-contrast-hover:#fff;--pico-contrast-hover-background:#fff;--pico-contrast-hover-border:var(--pico-contrast-hover-background);--pico-contrast-hover-underline:var(--pico-contrast-hover);--pico-contrast-focus:rgba(207, 213, 226, 0.25);--pico-contrast-inverse:#000;--pico-box-shadow:0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698),0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024),0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03),0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036),0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302),0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06),0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);--pico-h1-color:#f0f1f3;--pico-h2-color:#e0e3e7;--pico-h3-color:#c2c7d0;--pico-h4-color:#b3b9c5;--pico-h5-color:#a4acba;--pico-h6-color:#8891a4;--pico-mark-background-color:#014063;--pico-mark-color:#fff;--pico-ins-color:#62af9a;--pico-del-color:rgb(205.5, 126, 123);--pico-blockquote-border-color:var(--pico-muted-border-color);--pico-blockquote-footer-color:var(--pico-muted-color);--pico-button-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-button-hover-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-table-border-color:var(--pico-muted-border-color);--pico-table-row-stripped-background-color:rgba(111, 120, 135, 0.0375);--pico-code-background-color:rgb(26, 30.5, 40.25);--pico-code-color:#8891a4;--pico-code-kbd-background-color:var(--pico-color);--pico-code-kbd-color:var(--pico-background-color);--pico-form-element-background-color:rgb(28, 33, 43.5);--pico-form-element-selected-background-color:#2a3140;--pico-form-element-border-color:#2a3140;--pico-form-element-color:#e0e3e7;--pico-form-element-placeholder-color:#8891a4;--pico-form-element-active-background-color:rgb(26, 30.5, 40.25);--pico-form-element-active-border-color:var(--pico-primary-border);--pico-form-element-focus-color:var(--pico-primary-border);--pico-form-element-disabled-opacity:0.5;--pico-form-element-invalid-border-color:rgb(149.5, 74, 80);--pico-form-element-invalid-active-border-color:rgb(183.25, 63.5, 59);--pico-form-element-invalid-focus-color:var(--pico-form-element-invalid-active-border-color);--pico-form-element-valid-border-color:#2a7b6f;--pico-form-element-valid-active-border-color:rgb(22, 137, 105.5);--pico-form-element-valid-focus-color:var(--pico-form-element-valid-active-border-color);--pico-switch-background-color:#333c4e;--pico-switch-checked-background-color:var(--pico-primary-background);--pico-switch-color:#fff;--pico-switch-thumb-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-range-border-color:#202632;--pico-range-active-border-color:#2a3140;--pico-range-thumb-border-color:var(--pico-background-color);--pico-range-thumb-color:var(--pico-secondary-background);--pico-range-thumb-active-color:var(--pico-primary-background);--pico-accordion-border-color:var(--pico-muted-border-color);--pico-accordion-active-summary-color:var(--pico-primary-hover);--pico-accordion-close-summary-color:var(--pico-color);--pico-accordion-open-summary-color:var(--pico-muted-color);--pico-card-background-color:#181c25;--pico-card-border-color:var(--pico-card-background-color);--pico-card-box-shadow:var(--pico-box-shadow);--pico-card-sectioning-background-color:rgb(26, 30.5, 40.25);--pico-dropdown-background-color:#181c25;--pico-dropdown-border-color:#202632;--pico-dropdown-box-shadow:var(--pico-box-shadow);--pico-dropdown-color:var(--pico-color);--pico-dropdown-hover-background-color:#202632;--pico-loading-spinner-opacity:0.5;--pico-modal-overlay-background-color:rgba(7.5, 8.5, 10, 0.75);--pico-progress-background-color:#202632;--pico-progress-color:var(--pico-primary-background);--pico-tooltip-background-color:var(--pico-contrast-background);--pico-tooltip-color:var(--pico-contrast-inverse);--pico-icon-valid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-invalid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E")}[data-theme=dark] input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-form-element-focus-color:var(--pico-primary-focus)}[data-theme=dark] details summary[role=button].contrast:not(.outline)::after{filter:brightness(0)}[data-theme=dark] [aria-busy=true]:not(input,select,textarea).contrast:is(button,[type=submit],[type=button],[type=reset],[role=button]):not(.outline)::before{filter:brightness(0)}[type=checkbox],[type=radio],[type=range],progress{accent-color:var(--pico-primary)}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:where(:host),:where(:root){-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--pico-background-color);color:var(--pico-color);font-weight:var(--pico-font-weight);font-size:var(--pico-font-size);line-height:var(--pico-line-height);font-family:var(--pico-font-family);text-underline-offset:var(--pico-text-underline-offset);text-rendering:optimizeLegibility;overflow-wrap:break-word;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{width:100%;margin:0}main{display:block}body>footer,body>header,body>main{padding-block:var(--pico-block-spacing-vertical)}section{margin-bottom:var(--pico-block-spacing-vertical)}.container,.container-fluid{width:100%;margin-right:auto;margin-left:auto;padding-right:var(--pico-spacing);padding-left:var(--pico-spacing)}@media (min-width:576px){.container{max-width:510px;padding-right:0;padding-left:0}}@media (min-width:768px){.container{max-width:700px}}@media (min-width:1024px){.container{max-width:950px}}@media (min-width:1280px){.container{max-width:1200px}}@media (min-width:1536px){.container{max-width:1450px}}.grid{grid-column-gap:var(--pico-grid-column-gap);grid-row-gap:var(--pico-grid-row-gap);display:grid;grid-template-columns:1fr}@media (min-width:768px){.grid{grid-template-columns:repeat(auto-fit,minmax(0%,1fr))}}.grid>*{min-width:0}.overflow-auto{overflow:auto}b,strong{font-weight:bolder}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}address,blockquote,dl,ol,p,pre,table,ul{margin-top:0;margin-bottom:var(--pico-typography-spacing-vertical);color:var(--pico-color);font-style:normal;font-weight:var(--pico-font-weight)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:var(--pico-typography-spacing-vertical);color:var(--pico-color);font-weight:var(--pico-font-weight);font-size:var(--pico-font-size);line-height:var(--pico-line-height);font-family:var(--pico-font-family)}h1{--pico-color:var(--pico-h1-color)}h2{--pico-color:var(--pico-h2-color)}h3{--pico-color:var(--pico-h3-color)}h4{--pico-color:var(--pico-h4-color)}h5{--pico-color:var(--pico-h5-color)}h6{--pico-color:var(--pico-h6-color)}:where(article,address,blockquote,dl,figure,form,ol,p,pre,table,ul)~:is(h1,h2,h3,h4,h5,h6){margin-top:var(--pico-typography-spacing-top)}p{margin-bottom:var(--pico-typography-spacing-vertical)}hgroup{margin-bottom:var(--pico-typography-spacing-vertical)}hgroup>*{margin-top:0;margin-bottom:0}hgroup>:not(:first-child):last-child{--pico-color:var(--pico-muted-color);--pico-font-weight:unset;font-size:1rem}:where(ol,ul) li{margin-bottom:calc(var(--pico-typography-spacing-vertical) * .25)}:where(dl,ol,ul) :where(dl,ol,ul){margin:0;margin-top:calc(var(--pico-typography-spacing-vertical) * .25)}ul li{list-style:square}mark{padding:.125rem .25rem;background-color:var(--pico-mark-background-color);color:var(--pico-mark-color);vertical-align:baseline}blockquote{display:block;margin:var(--pico-typography-spacing-vertical) 0;padding:var(--pico-spacing);border-right:none;border-left:.25rem solid var(--pico-blockquote-border-color);border-inline-start:0.25rem solid var(--pico-blockquote-border-color);border-inline-end:none}blockquote footer{margin-top:calc(var(--pico-typography-spacing-vertical) * .5);color:var(--pico-blockquote-footer-color)}abbr[title]{border-bottom:1px dotted;text-decoration:none;cursor:help}ins{color:var(--pico-ins-color);text-decoration:none}del{color:var(--pico-del-color)}::-moz-selection{background-color:var(--pico-text-selection-color)}::selection{background-color:var(--pico-text-selection-color)}:where(a:not([role=button])),[role=link]{--pico-color:var(--pico-primary);--pico-background-color:transparent;--pico-underline:var(--pico-primary-underline);outline:0;background-color:var(--pico-background-color);color:var(--pico-color);-webkit-text-decoration:var(--pico-text-decoration);text-decoration:var(--pico-text-decoration);text-decoration-color:var(--pico-underline);text-underline-offset:0.125em;transition:background-color var(--pico-transition),color var(--pico-transition),box-shadow var(--pico-transition),-webkit-text-decoration var(--pico-transition);transition:background-color var(--pico-transition),color var(--pico-transition),text-decoration var(--pico-transition),box-shadow var(--pico-transition);transition:background-color var(--pico-transition),color var(--pico-transition),text-decoration var(--pico-transition),box-shadow var(--pico-transition),-webkit-text-decoration var(--pico-transition)}:where(a:not([role=button])):is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[role=link]:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-color:var(--pico-primary-hover);--pico-underline:var(--pico-primary-hover-underline);--pico-text-decoration:underline}:where(a:not([role=button])):focus-visible,[role=link]:focus-visible{box-shadow:0 0 0 var(--pico-outline-width) var(--pico-primary-focus)}:where(a:not([role=button])).secondary,[role=link].secondary{--pico-color:var(--pico-secondary);--pico-underline:var(--pico-secondary-underline)}:where(a:not([role=button])).secondary:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[role=link].secondary:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-color:var(--pico-secondary-hover);--pico-underline:var(--pico-secondary-hover-underline)}:where(a:not([role=button])).contrast,[role=link].contrast{--pico-color:var(--pico-contrast);--pico-underline:var(--pico-contrast-underline)}:where(a:not([role=button])).contrast:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[role=link].contrast:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-color:var(--pico-contrast-hover);--pico-underline:var(--pico-contrast-hover-underline)}a[role=button]{display:inline-block}button{margin:0;overflow:visible;font-family:inherit;text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[role=button],[type=button],[type=file]::file-selector-button,[type=reset],[type=submit],button{--pico-background-color:var(--pico-primary-background);--pico-border-color:var(--pico-primary-border);--pico-color:var(--pico-primary-inverse);--pico-box-shadow:var(--pico-button-box-shadow, 0 0 0 rgba(0, 0, 0, 0));padding:var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);border:var(--pico-border-width) solid var(--pico-border-color);border-radius:var(--pico-border-radius);outline:0;background-color:var(--pico-background-color);box-shadow:var(--pico-box-shadow);color:var(--pico-color);font-weight:var(--pico-font-weight);font-size:1rem;line-height:var(--pico-line-height);text-align:center;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color var(--pico-transition),border-color var(--pico-transition),color var(--pico-transition),box-shadow var(--pico-transition)}[role=button]:is(:hover,:active,:focus),[role=button]:is([aria-current]:not([aria-current=false])),[type=button]:is(:hover,:active,:focus),[type=button]:is([aria-current]:not([aria-current=false])),[type=file]::file-selector-button:is(:hover,:active,:focus),[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])),[type=reset]:is(:hover,:active,:focus),[type=reset]:is([aria-current]:not([aria-current=false])),[type=submit]:is(:hover,:active,:focus),[type=submit]:is([aria-current]:not([aria-current=false])),button:is(:hover,:active,:focus),button:is([aria-current]:not([aria-current=false])){--pico-background-color:var(--pico-primary-hover-background);--pico-border-color:var(--pico-primary-hover-border);--pico-box-shadow:var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0));--pico-color:var(--pico-primary-inverse)}[role=button]:focus,[role=button]:is([aria-current]:not([aria-current=false])):focus,[type=button]:focus,[type=button]:is([aria-current]:not([aria-current=false])):focus,[type=file]::file-selector-button:focus,[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus,[type=reset]:focus,[type=reset]:is([aria-current]:not([aria-current=false])):focus,[type=submit]:focus,[type=submit]:is([aria-current]:not([aria-current=false])):focus,button:focus,button:is([aria-current]:not([aria-current=false])):focus{--pico-box-shadow:var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--pico-outline-width) var(--pico-primary-focus)}[type=button],[type=reset],[type=submit]{margin-bottom:var(--pico-spacing)}:is(button,[type=submit],[type=button],[role=button]).secondary,[type=file]::file-selector-button,[type=reset]{--pico-background-color:var(--pico-secondary-background);--pico-border-color:var(--pico-secondary-border);--pico-color:var(--pico-secondary-inverse);cursor:pointer}:is(button,[type=submit],[type=button],[role=button]).secondary:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[type=file]::file-selector-button:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[type=reset]:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-background-color:var(--pico-secondary-hover-background);--pico-border-color:var(--pico-secondary-hover-border);--pico-color:var(--pico-secondary-inverse)}:is(button,[type=submit],[type=button],[role=button]).secondary:focus,:is(button,[type=submit],[type=button],[role=button]).secondary:is([aria-current]:not([aria-current=false])):focus,[type=file]::file-selector-button:focus,[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus,[type=reset]:focus,[type=reset]:is([aria-current]:not([aria-current=false])):focus{--pico-box-shadow:var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--pico-outline-width) var(--pico-secondary-focus)}:is(button,[type=submit],[type=button],[role=button]).contrast{--pico-background-color:var(--pico-contrast-background);--pico-border-color:var(--pico-contrast-border);--pico-color:var(--pico-contrast-inverse)}:is(button,[type=submit],[type=button],[role=button]).contrast:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-background-color:var(--pico-contrast-hover-background);--pico-border-color:var(--pico-contrast-hover-border);--pico-color:var(--pico-contrast-inverse)}:is(button,[type=submit],[type=button],[role=button]).contrast:focus,:is(button,[type=submit],[type=button],[role=button]).contrast:is([aria-current]:not([aria-current=false])):focus{--pico-box-shadow:var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--pico-outline-width) var(--pico-contrast-focus)}:is(button,[type=submit],[type=button],[role=button]).outline,[type=reset].outline{--pico-background-color:transparent;--pico-color:var(--pico-primary);--pico-border-color:var(--pico-primary)}:is(button,[type=submit],[type=button],[role=button]).outline:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[type=reset].outline:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-background-color:transparent;--pico-color:var(--pico-primary-hover);--pico-border-color:var(--pico-primary-hover)}:is(button,[type=submit],[type=button],[role=button]).outline.secondary,[type=reset].outline{--pico-color:var(--pico-secondary);--pico-border-color:var(--pico-secondary)}:is(button,[type=submit],[type=button],[role=button]).outline.secondary:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[type=reset].outline:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-color:var(--pico-secondary-hover);--pico-border-color:var(--pico-secondary-hover)}:is(button,[type=submit],[type=button],[role=button]).outline.contrast{--pico-color:var(--pico-contrast);--pico-border-color:var(--pico-contrast)}:is(button,[type=submit],[type=button],[role=button]).outline.contrast:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-color:var(--pico-contrast-hover);--pico-border-color:var(--pico-contrast-hover)}:where(button,[type=submit],[type=reset],[type=button],[role=button])[disabled],:where(fieldset[disabled]) :is(button,[type=submit],[type=button],[type=reset],[role=button]){opacity:.5;pointer-events:none}:where(table){width:100%;border-collapse:collapse;border-spacing:0;text-indent:0}td,th{padding:calc(var(--pico-spacing)/ 2) var(--pico-spacing);border-bottom:var(--pico-border-width) solid var(--pico-table-border-color);background-color:var(--pico-background-color);color:var(--pico-color);font-weight:var(--pico-font-weight);text-align:left;text-align:start}tfoot td,tfoot th{border-top:var(--pico-border-width) solid var(--pico-table-border-color);border-bottom:0}table.striped tbody tr:nth-child(odd) td,table.striped tbody tr:nth-child(odd) th{background-color:var(--pico-table-row-stripped-background-color)}:where(audio,canvas,iframe,img,svg,video){vertical-align:middle}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}:where(iframe){border-style:none}img{max-width:100%;height:auto;border-style:none}:where(svg:not([fill])){fill:currentColor}svg:not(:host),svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-size:.875em;font-family:var(--pico-font-family)}pre code,pre samp{font-size:inherit;font-family:inherit}pre{-ms-overflow-style:scrollbar;overflow:auto}code,kbd,pre,samp{border-radius:var(--pico-border-radius);background:var(--pico-code-background-color);color:var(--pico-code-color);font-weight:var(--pico-font-weight);line-height:initial}code,kbd,samp{display:inline-block;padding:.375rem}pre{display:block;margin-bottom:var(--pico-spacing);overflow-x:auto}pre>code,pre>samp{display:block;padding:var(--pico-spacing);background:0 0;line-height:var(--pico-line-height)}kbd{background-color:var(--pico-code-kbd-background-color);color:var(--pico-code-kbd-color);vertical-align:baseline}figure{display:block;margin:0;padding:0}figure figcaption{padding:calc(var(--pico-spacing) * .5) 0;color:var(--pico-muted-color)}hr{height:0;margin:var(--pico-typography-spacing-vertical) 0;border:0;border-top:1px solid var(--pico-muted-border-color);color:inherit}[hidden],template{display:none!important}canvas{display:inline-block}input,optgroup,select,textarea{margin:0;font-size:1rem;line-height:var(--pico-line-height);font-family:inherit;letter-spacing:inherit}input{overflow:visible}select{text-transform:none}legend{max-width:100%;padding:0;color:inherit;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{padding:0}::-webkit-inner-spin-button,::-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}::-moz-focus-inner{padding:0;border-style:none}:-moz-focusring{outline:0}:-moz-ui-invalid{box-shadow:none}::-ms-expand{display:none}[type=file],[type=range]{padding:0;border-width:0}input:not([type=checkbox],[type=radio],[type=range]){height:calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2)}fieldset{width:100%;margin:0;margin-bottom:var(--pico-spacing);padding:0;border:0}fieldset legend,label{display:block;margin-bottom:calc(var(--pico-spacing) * .375);color:var(--pico-color);font-weight:var(--pico-form-label-font-weight,var(--pico-font-weight))}fieldset legend{margin-bottom:calc(var(--pico-spacing) * .5)}button[type=submit],input:not([type=checkbox],[type=radio]),select,textarea{width:100%}input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal)}input,select,textarea{--pico-background-color:var(--pico-form-element-background-color);--pico-border-color:var(--pico-form-element-border-color);--pico-color:var(--pico-form-element-color);--pico-box-shadow:none;border:var(--pico-border-width) solid var(--pico-border-color);border-radius:var(--pico-border-radius);outline:0;background-color:var(--pico-background-color);box-shadow:var(--pico-box-shadow);color:var(--pico-color);font-weight:var(--pico-font-weight);transition:background-color var(--pico-transition),border-color var(--pico-transition),color var(--pico-transition),box-shadow var(--pico-transition)}:where(select,textarea):not([readonly]):is(:active,:focus),input:not([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[readonly]):is(:active,:focus){--pico-background-color:var(--pico-form-element-active-background-color)}:where(select,textarea):not([readonly]):is(:active,:focus),input:not([type=submit],[type=button],[type=reset],[role=switch],[readonly]):is(:active,:focus){--pico-border-color:var(--pico-form-element-active-border-color)}:where(select,textarea):not([readonly]):focus,input:not([type=submit],[type=button],[type=reset],[type=range],[type=file],[readonly]):focus{--pico-box-shadow:0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color)}:where(fieldset[disabled]) :is(input:not([type=submit],[type=button],[type=reset]),select,textarea),input:not([type=submit],[type=button],[type=reset])[disabled],label[aria-disabled=true],select[disabled],textarea[disabled]{opacity:var(--pico-form-element-disabled-opacity);pointer-events:none}label[aria-disabled=true] input[disabled]{opacity:1}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week],[type=range])[aria-invalid]{padding-right:calc(var(--pico-form-element-spacing-horizontal) + 1.5rem)!important;padding-left:var(--pico-form-element-spacing-horizontal);padding-inline-start:var(--pico-form-element-spacing-horizontal)!important;padding-inline-end:calc(var(--pico-form-element-spacing-horizontal) + 1.5rem)!important;background-position:center right .75rem;background-size:1rem auto;background-repeat:no-repeat}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week],[type=range])[aria-invalid=false]:not(select){background-image:var(--pico-icon-valid)}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week],[type=range])[aria-invalid=true]:not(select){background-image:var(--pico-icon-invalid)}:where(input,select,textarea)[aria-invalid=false]{--pico-border-color:var(--pico-form-element-valid-border-color)}:where(input,select,textarea)[aria-invalid=false]:is(:active,:focus){--pico-border-color:var(--pico-form-element-valid-active-border-color)!important}:where(input,select,textarea)[aria-invalid=false]:is(:active,:focus):not([type=checkbox],[type=radio]){--pico-box-shadow:0 0 0 var(--pico-outline-width) var(--pico-form-element-valid-focus-color)!important}:where(input,select,textarea)[aria-invalid=true]{--pico-border-color:var(--pico-form-element-invalid-border-color)}:where(input,select,textarea)[aria-invalid=true]:is(:active,:focus){--pico-border-color:var(--pico-form-element-invalid-active-border-color)!important}:where(input,select,textarea)[aria-invalid=true]:is(:active,:focus):not([type=checkbox],[type=radio]){--pico-box-shadow:0 0 0 var(--pico-outline-width) var(--pico-form-element-invalid-focus-color)!important}[dir=rtl] :where(input,select,textarea):not([type=checkbox],[type=radio]):is([aria-invalid],[aria-invalid=true],[aria-invalid=false]){background-position:center left .75rem}input::-webkit-input-placeholder,input::placeholder,select:invalid,textarea::-webkit-input-placeholder,textarea::placeholder{color:var(--pico-form-element-placeholder-color);opacity:1}input:not([type=checkbox],[type=radio]),select,textarea{margin-bottom:var(--pico-spacing)}select::-ms-expand{border:0;background-color:transparent}select:not([multiple],[size]){padding-right:calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);padding-left:var(--pico-form-element-spacing-horizontal);padding-inline-start:var(--pico-form-element-spacing-horizontal);padding-inline-end:calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);background-image:var(--pico-icon-chevron);background-position:center right .75rem;background-size:1rem auto;background-repeat:no-repeat}select[multiple] option:checked{background:var(--pico-form-element-selected-background-color);color:var(--pico-form-element-color)}[dir=rtl] select:not([multiple],[size]){background-position:center left .75rem}textarea{display:block;resize:vertical}textarea[aria-invalid]{--pico-icon-height:calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);background-position:top right .75rem!important;background-size:1rem var(--pico-icon-height)!important}:where(input,select,textarea,fieldset,.grid)+small{display:block;width:100%;margin-top:calc(var(--pico-spacing) * -.75);margin-bottom:var(--pico-spacing);color:var(--pico-muted-color)}:where(input,select,textarea,fieldset,.grid)[aria-invalid=false]+small{color:var(--pico-ins-color)}:where(input,select,textarea,fieldset,.grid)[aria-invalid=true]+small{color:var(--pico-del-color)}label>:where(input,select,textarea){margin-top:calc(var(--pico-spacing) * .25)}label:has([type=checkbox],[type=radio]){width:-moz-fit-content;width:fit-content;cursor:pointer}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.25em;height:1.25em;margin-top:-.125em;margin-inline-end:.5em;border-width:var(--pico-border-width);vertical-align:middle;cursor:pointer}[type=checkbox]::-ms-check,[type=radio]::-ms-check{display:none}[type=checkbox]:checked,[type=checkbox]:checked:active,[type=checkbox]:checked:focus,[type=radio]:checked,[type=radio]:checked:active,[type=radio]:checked:focus{--pico-background-color:var(--pico-primary-background);--pico-border-color:var(--pico-primary-border);background-image:var(--pico-icon-checkbox);background-position:center;background-size:.75em auto;background-repeat:no-repeat}[type=checkbox]~label,[type=radio]~label{display:inline-block;margin-bottom:0;cursor:pointer}[type=checkbox]~label:not(:last-of-type),[type=radio]~label:not(:last-of-type){margin-inline-end:1em}[type=checkbox]:indeterminate{--pico-background-color:var(--pico-primary-background);--pico-border-color:var(--pico-primary-border);background-image:var(--pico-icon-minus);background-position:center;background-size:.75em auto;background-repeat:no-repeat}[type=radio]{border-radius:50%}[type=radio]:checked,[type=radio]:checked:active,[type=radio]:checked:focus{--pico-background-color:var(--pico-primary-inverse);border-width:.35em;background-image:none}[type=checkbox][role=switch]{--pico-background-color:var(--pico-switch-background-color);--pico-color:var(--pico-switch-color);width:2.25em;height:1.25em;border:var(--pico-border-width) solid var(--pico-border-color);border-radius:1.25em;background-color:var(--pico-background-color);line-height:1.25em}[type=checkbox][role=switch]:not([aria-invalid]){--pico-border-color:var(--pico-switch-background-color)}[type=checkbox][role=switch]:before{display:block;aspect-ratio:1;height:100%;border-radius:50%;background-color:var(--pico-color);box-shadow:var(--pico-switch-thumb-box-shadow);content:"";transition:margin .1s ease-in-out}[type=checkbox][role=switch]:focus{--pico-background-color:var(--pico-switch-background-color);--pico-border-color:var(--pico-switch-background-color)}[type=checkbox][role=switch]:checked{--pico-background-color:var(--pico-switch-checked-background-color);--pico-border-color:var(--pico-switch-checked-background-color);background-image:none}[type=checkbox][role=switch]:checked::before{margin-inline-start:calc(2.25em - 1.25em)}[type=checkbox][role=switch][disabled]{--pico-background-color:var(--pico-border-color)}[type=checkbox][aria-invalid=false]:checked,[type=checkbox][aria-invalid=false]:checked:active,[type=checkbox][aria-invalid=false]:checked:focus,[type=checkbox][role=switch][aria-invalid=false]:checked,[type=checkbox][role=switch][aria-invalid=false]:checked:active,[type=checkbox][role=switch][aria-invalid=false]:checked:focus{--pico-background-color:var(--pico-form-element-valid-border-color)}[type=checkbox]:checked:active[aria-invalid=true],[type=checkbox]:checked:focus[aria-invalid=true],[type=checkbox]:checked[aria-invalid=true],[type=checkbox][role=switch]:checked:active[aria-invalid=true],[type=checkbox][role=switch]:checked:focus[aria-invalid=true],[type=checkbox][role=switch]:checked[aria-invalid=true]{--pico-background-color:var(--pico-form-element-invalid-border-color)}[type=checkbox][aria-invalid=false]:checked,[type=checkbox][aria-invalid=false]:checked:active,[type=checkbox][aria-invalid=false]:checked:focus,[type=checkbox][role=switch][aria-invalid=false]:checked,[type=checkbox][role=switch][aria-invalid=false]:checked:active,[type=checkbox][role=switch][aria-invalid=false]:checked:focus,[type=radio][aria-invalid=false]:checked,[type=radio][aria-invalid=false]:checked:active,[type=radio][aria-invalid=false]:checked:focus{--pico-border-color:var(--pico-form-element-valid-border-color)}[type=checkbox]:checked:active[aria-invalid=true],[type=checkbox]:checked:focus[aria-invalid=true],[type=checkbox]:checked[aria-invalid=true],[type=checkbox][role=switch]:checked:active[aria-invalid=true],[type=checkbox][role=switch]:checked:focus[aria-invalid=true],[type=checkbox][role=switch]:checked[aria-invalid=true],[type=radio]:checked:active[aria-invalid=true],[type=radio]:checked:focus[aria-invalid=true],[type=radio]:checked[aria-invalid=true]{--pico-border-color:var(--pico-form-element-invalid-border-color)}[type=color]::-webkit-color-swatch-wrapper{padding:0}[type=color]::-moz-focus-inner{padding:0}[type=color]::-webkit-color-swatch{border:0;border-radius:calc(var(--pico-border-radius) * .5)}[type=color]::-moz-color-swatch{border:0;border-radius:calc(var(--pico-border-radius) * .5)}input:not([type=checkbox],[type=radio],[type=range],[type=file]):is([type=date],[type=datetime-local],[type=month],[type=time],[type=week]){--pico-icon-position:0.75rem;--pico-icon-width:1rem;padding-right:calc(var(--pico-icon-width) + var(--pico-icon-position));background-image:var(--pico-icon-date);background-position:center right var(--pico-icon-position);background-size:var(--pico-icon-width) auto;background-repeat:no-repeat}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=time]{background-image:var(--pico-icon-time)}[type=date]::-webkit-calendar-picker-indicator,[type=datetime-local]::-webkit-calendar-picker-indicator,[type=month]::-webkit-calendar-picker-indicator,[type=time]::-webkit-calendar-picker-indicator,[type=week]::-webkit-calendar-picker-indicator{width:var(--pico-icon-width);margin-right:calc(var(--pico-icon-width) * -1);margin-left:var(--pico-icon-position);opacity:0}@-moz-document url-prefix(){[type=date],[type=datetime-local],[type=month],[type=time],[type=week]{padding-right:var(--pico-form-element-spacing-horizontal)!important;background-image:none!important}}[dir=rtl] :is([type=date],[type=datetime-local],[type=month],[type=time],[type=week]){text-align:right}[type=file]{--pico-color:var(--pico-muted-color);margin-left:calc(var(--pico-outline-width) * -1);padding:calc(var(--pico-form-element-spacing-vertical) * .5) 0;padding-left:var(--pico-outline-width);border:0;border-radius:0;background:0 0}[type=file]::file-selector-button{margin-right:calc(var(--pico-spacing)/ 2);padding:calc(var(--pico-form-element-spacing-vertical) * .5) var(--pico-form-element-spacing-horizontal)}[type=file]:is(:hover,:active,:focus)::file-selector-button{--pico-background-color:var(--pico-secondary-hover-background);--pico-border-color:var(--pico-secondary-hover-border)}[type=file]:focus::file-selector-button{--pico-box-shadow:var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--pico-outline-width) var(--pico-secondary-focus)}[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:1.25rem;background:0 0}[type=range]::-webkit-slider-runnable-track{width:100%;height:.375rem;border-radius:var(--pico-border-radius);background-color:var(--pico-range-border-color);-webkit-transition:background-color var(--pico-transition),box-shadow var(--pico-transition);transition:background-color var(--pico-transition),box-shadow var(--pico-transition)}[type=range]::-moz-range-track{width:100%;height:.375rem;border-radius:var(--pico-border-radius);background-color:var(--pico-range-border-color);-moz-transition:background-color var(--pico-transition),box-shadow var(--pico-transition);transition:background-color var(--pico-transition),box-shadow var(--pico-transition)}[type=range]::-ms-track{width:100%;height:.375rem;border-radius:var(--pico-border-radius);background-color:var(--pico-range-border-color);-ms-transition:background-color var(--pico-transition),box-shadow var(--pico-transition);transition:background-color var(--pico-transition),box-shadow var(--pico-transition)}[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.4375rem;border:2px solid var(--pico-range-thumb-border-color);border-radius:50%;background-color:var(--pico-range-thumb-color);cursor:pointer;-webkit-transition:background-color var(--pico-transition),transform var(--pico-transition);transition:background-color var(--pico-transition),transform var(--pico-transition)}[type=range]::-moz-range-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.4375rem;border:2px solid var(--pico-range-thumb-border-color);border-radius:50%;background-color:var(--pico-range-thumb-color);cursor:pointer;-moz-transition:background-color var(--pico-transition),transform var(--pico-transition);transition:background-color var(--pico-transition),transform var(--pico-transition)}[type=range]::-ms-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.4375rem;border:2px solid var(--pico-range-thumb-border-color);border-radius:50%;background-color:var(--pico-range-thumb-color);cursor:pointer;-ms-transition:background-color var(--pico-transition),transform var(--pico-transition);transition:background-color var(--pico-transition),transform var(--pico-transition)}[type=range]:active,[type=range]:focus-within{--pico-range-border-color:var(--pico-range-active-border-color);--pico-range-thumb-color:var(--pico-range-thumb-active-color)}[type=range]:active::-webkit-slider-thumb{transform:scale(1.25)}[type=range]:active::-moz-range-thumb{transform:scale(1.25)}[type=range]:active::-ms-thumb{transform:scale(1.25)}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search]{padding-inline-start:calc(var(--pico-form-element-spacing-horizontal) + 1.75rem);background-image:var(--pico-icon-search);background-position:center left calc(var(--pico-form-element-spacing-horizontal) + .125rem);background-size:1rem auto;background-repeat:no-repeat}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid]{padding-inline-start:calc(var(--pico-form-element-spacing-horizontal) + 1.75rem)!important;background-position:center left 1.125rem,center right .75rem}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid=false]{background-image:var(--pico-icon-search),var(--pico-icon-valid)}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid=true]{background-image:var(--pico-icon-search),var(--pico-icon-invalid)}[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search]{background-position:center right 1.125rem}[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid]{background-position:center right 1.125rem,center left .75rem}details{display:block;margin-bottom:var(--pico-spacing)}details summary{line-height:1rem;list-style-type:none;cursor:pointer;transition:color var(--pico-transition)}details summary:not([role]){color:var(--pico-accordion-close-summary-color)}details summary::-webkit-details-marker{display:none}details summary::marker{display:none}details summary::-moz-list-bullet{list-style-type:none}details summary::after{display:block;width:1rem;height:1rem;margin-inline-start:calc(var(--pico-spacing,1rem) * .5);float:right;transform:rotate(-90deg);background-image:var(--pico-icon-chevron);background-position:right center;background-size:1rem auto;background-repeat:no-repeat;content:"";transition:transform var(--pico-transition)}details summary:focus{outline:0}details summary:focus:not([role]){color:var(--pico-accordion-active-summary-color)}details summary:focus-visible:not([role]){outline:var(--pico-outline-width) solid var(--pico-primary-focus);outline-offset:calc(var(--pico-spacing,1rem) * 0.5);color:var(--pico-primary)}details summary[role=button]{width:100%;text-align:left}details summary[role=button]::after{height:calc(1rem * var(--pico-line-height,1.5))}details[open]>summary{margin-bottom:var(--pico-spacing)}details[open]>summary:not([role]):not(:focus){color:var(--pico-accordion-open-summary-color)}details[open]>summary::after{transform:rotate(0)}[dir=rtl] details summary{text-align:right}[dir=rtl] details summary::after{float:left;background-position:left center}article{margin-bottom:var(--pico-block-spacing-vertical);padding:var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal);border-radius:var(--pico-border-radius);background:var(--pico-card-background-color);box-shadow:var(--pico-card-box-shadow)}article>footer,article>header{margin-right:calc(var(--pico-block-spacing-horizontal) * -1);margin-left:calc(var(--pico-block-spacing-horizontal) * -1);padding:calc(var(--pico-block-spacing-vertical) * .66) var(--pico-block-spacing-horizontal);background-color:var(--pico-card-sectioning-background-color)}article>header{margin-top:calc(var(--pico-block-spacing-vertical) * -1);margin-bottom:var(--pico-block-spacing-vertical);border-bottom:var(--pico-border-width) solid var(--pico-card-border-color);border-top-right-radius:var(--pico-border-radius);border-top-left-radius:var(--pico-border-radius)}article>footer{margin-top:var(--pico-block-spacing-vertical);margin-bottom:calc(var(--pico-block-spacing-vertical) * -1);border-top:var(--pico-border-width) solid var(--pico-card-border-color);border-bottom-right-radius:var(--pico-border-radius);border-bottom-left-radius:var(--pico-border-radius)}details.dropdown{position:relative;border-bottom:none}details.dropdown>a::after,details.dropdown>button::after,details.dropdown>summary::after{display:block;width:1rem;height:calc(1rem * var(--pico-line-height,1.5));margin-inline-start:.25rem;float:right;transform:rotate(0) translateX(.2rem);background-image:var(--pico-icon-chevron);background-position:right center;background-size:1rem auto;background-repeat:no-repeat;content:""}nav details.dropdown{margin-bottom:0}details.dropdown>summary:not([role]){height:calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);padding:var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);border:var(--pico-border-width) solid var(--pico-form-element-border-color);border-radius:var(--pico-border-radius);background-color:var(--pico-form-element-background-color);color:var(--pico-form-element-placeholder-color);line-height:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color var(--pico-transition),border-color var(--pico-transition),color var(--pico-transition),box-shadow var(--pico-transition)}details.dropdown>summary:not([role]):active,details.dropdown>summary:not([role]):focus{border-color:var(--pico-form-element-active-border-color);background-color:var(--pico-form-element-active-background-color)}details.dropdown>summary:not([role]):focus{box-shadow:0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color)}details.dropdown>summary:not([role]):focus-visible{outline:0}details.dropdown>summary:not([role])[aria-invalid=false]{--pico-form-element-border-color:var(--pico-form-element-valid-border-color);--pico-form-element-active-border-color:var(--pico-form-element-valid-focus-color);--pico-form-element-focus-color:var(--pico-form-element-valid-focus-color)}details.dropdown>summary:not([role])[aria-invalid=true]{--pico-form-element-border-color:var(--pico-form-element-invalid-border-color);--pico-form-element-active-border-color:var(--pico-form-element-invalid-focus-color);--pico-form-element-focus-color:var(--pico-form-element-invalid-focus-color)}nav details.dropdown{display:inline;margin:calc(var(--pico-nav-element-spacing-vertical) * -1) 0}nav details.dropdown>summary::after{transform:rotate(0) translateX(0)}nav details.dropdown>summary:not([role]){height:calc(1rem * var(--pico-line-height) + var(--pico-nav-link-spacing-vertical) * 2);padding:calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal)}nav details.dropdown>summary:not([role]):focus-visible{box-shadow:0 0 0 var(--pico-outline-width) var(--pico-primary-focus)}details.dropdown>summary+ul{display:flex;z-index:99;position:absolute;left:0;flex-direction:column;width:100%;min-width:-moz-fit-content;min-width:fit-content;margin:0;margin-top:var(--pico-outline-width);padding:0;border:var(--pico-border-width) solid var(--pico-dropdown-border-color);border-radius:var(--pico-border-radius);background-color:var(--pico-dropdown-background-color);box-shadow:var(--pico-dropdown-box-shadow);color:var(--pico-dropdown-color);white-space:nowrap;opacity:0;transition:opacity var(--pico-transition),transform 0s ease-in-out 1s}details.dropdown>summary+ul[dir=rtl]{right:0;left:auto}details.dropdown>summary+ul li{width:100%;margin-bottom:0;padding:calc(var(--pico-form-element-spacing-vertical) * .5) var(--pico-form-element-spacing-horizontal);list-style:none}details.dropdown>summary+ul li:first-of-type{margin-top:calc(var(--pico-form-element-spacing-vertical) * .5)}details.dropdown>summary+ul li:last-of-type{margin-bottom:calc(var(--pico-form-element-spacing-vertical) * .5)}details.dropdown>summary+ul li a{display:block;margin:calc(var(--pico-form-element-spacing-vertical) * -.5) calc(var(--pico-form-element-spacing-horizontal) * -1);padding:calc(var(--pico-form-element-spacing-vertical) * .5) var(--pico-form-element-spacing-horizontal);overflow:hidden;border-radius:0;color:var(--pico-dropdown-color);text-decoration:none;text-overflow:ellipsis}details.dropdown>summary+ul li a:active,details.dropdown>summary+ul li a:focus,details.dropdown>summary+ul li a:focus-visible,details.dropdown>summary+ul li a:hover,details.dropdown>summary+ul li a[aria-current]:not([aria-current=false]){background-color:var(--pico-dropdown-hover-background-color)}details.dropdown>summary+ul li label{width:100%}details.dropdown>summary+ul li:has(label):hover{background-color:var(--pico-dropdown-hover-background-color)}details.dropdown[open]>summary{margin-bottom:0}details.dropdown[open]>summary+ul{transform:scaleY(1);opacity:1;transition:opacity var(--pico-transition),transform 0s ease-in-out 0s}details.dropdown[open]>summary::before{display:block;z-index:1;position:fixed;width:100vw;height:100vh;inset:0;background:0 0;content:"";cursor:default}label>details.dropdown{margin-top:calc(var(--pico-spacing) * .25)}[role=group],[role=search]{display:inline-flex;position:relative;width:100%;margin-bottom:var(--pico-spacing);border-radius:var(--pico-border-radius);box-shadow:var(--pico-group-box-shadow,0 0 0 transparent);vertical-align:middle;transition:box-shadow var(--pico-transition)}[role=group] input:not([type=checkbox],[type=radio]),[role=group] select,[role=group]>*,[role=search] input:not([type=checkbox],[type=radio]),[role=search] select,[role=search]>*{position:relative;flex:1 1 auto;margin-bottom:0}[role=group] input:not([type=checkbox],[type=radio]):not(:first-child),[role=group] select:not(:first-child),[role=group]>:not(:first-child),[role=search] input:not([type=checkbox],[type=radio]):not(:first-child),[role=search] select:not(:first-child),[role=search]>:not(:first-child){margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}[role=group] input:not([type=checkbox],[type=radio]):not(:last-child),[role=group] select:not(:last-child),[role=group]>:not(:last-child),[role=search] input:not([type=checkbox],[type=radio]):not(:last-child),[role=search] select:not(:last-child),[role=search]>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}[role=group] input:not([type=checkbox],[type=radio]):focus,[role=group] select:focus,[role=group]>:focus,[role=search] input:not([type=checkbox],[type=radio]):focus,[role=search] select:focus,[role=search]>:focus{z-index:2}[role=group] [role=button]:not(:first-child),[role=group] [type=button]:not(:first-child),[role=group] [type=reset]:not(:first-child),[role=group] [type=submit]:not(:first-child),[role=group] button:not(:first-child),[role=group] input:not([type=checkbox],[type=radio]):not(:first-child),[role=group] select:not(:first-child),[role=search] [role=button]:not(:first-child),[role=search] [type=button]:not(:first-child),[role=search] [type=reset]:not(:first-child),[role=search] [type=submit]:not(:first-child),[role=search] button:not(:first-child),[role=search] input:not([type=checkbox],[type=radio]):not(:first-child),[role=search] select:not(:first-child){margin-left:calc(var(--pico-border-width) * -1)}[role=group] [role=button],[role=group] [type=button],[role=group] [type=reset],[role=group] [type=submit],[role=group] button,[role=search] [role=button],[role=search] [type=button],[role=search] [type=reset],[role=search] [type=submit],[role=search] button{width:auto}@supports selector(:has(*)){[role=group]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus),[role=search]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus){--pico-group-box-shadow:var(--pico-group-box-shadow-focus-with-button)}[role=group]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) input:not([type=checkbox],[type=radio]),[role=group]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) select,[role=search]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) input:not([type=checkbox],[type=radio]),[role=search]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) select{border-color:transparent}[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus),[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus){--pico-group-box-shadow:var(--pico-group-box-shadow-focus-with-input)}[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [role=button],[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=button],[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=submit],[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) button,[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [role=button],[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=button],[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=submit],[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) button{--pico-button-box-shadow:0 0 0 var(--pico-border-width) var(--pico-primary-border);--pico-button-hover-box-shadow:0 0 0 var(--pico-border-width) var(--pico-primary-hover-border)}[role=group] [role=button]:focus,[role=group] [type=button]:focus,[role=group] [type=reset]:focus,[role=group] [type=submit]:focus,[role=group] button:focus,[role=search] [role=button]:focus,[role=search] [type=button]:focus,[role=search] [type=reset]:focus,[role=search] [type=submit]:focus,[role=search] button:focus{box-shadow:none}}[role=search]>:first-child{border-top-left-radius:5rem;border-bottom-left-radius:5rem}[role=search]>:last-child{border-top-right-radius:5rem;border-bottom-right-radius:5rem}[aria-busy=true]:not(input,select,textarea,html,form){white-space:nowrap}[aria-busy=true]:not(input,select,textarea,html,form)::before{display:inline-block;width:1em;height:1em;background-image:var(--pico-icon-loading);background-size:1em auto;background-repeat:no-repeat;content:"";vertical-align:-.125em}[aria-busy=true]:not(input,select,textarea,html,form):not(:empty)::before{margin-inline-end:calc(var(--pico-spacing) * .5)}[aria-busy=true]:not(input,select,textarea,html,form):empty{text-align:center}[role=button][aria-busy=true],[type=button][aria-busy=true],[type=reset][aria-busy=true],[type=submit][aria-busy=true],a[aria-busy=true],button[aria-busy=true]{pointer-events:none}:host,:root{--pico-scrollbar-width:0px}dialog{display:flex;z-index:999;position:fixed;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;width:inherit;min-width:100%;height:inherit;min-height:100%;padding:0;border:0;-webkit-backdrop-filter:var(--pico-modal-overlay-backdrop-filter);backdrop-filter:var(--pico-modal-overlay-backdrop-filter);background-color:var(--pico-modal-overlay-background-color);color:var(--pico-color)}dialog>article{width:100%;max-height:calc(100vh - var(--pico-spacing) * 2);margin:var(--pico-spacing);overflow:auto}@media (min-width:576px){dialog>article{max-width:510px}}@media (min-width:768px){dialog>article{max-width:700px}}dialog>article>header>*{margin-bottom:0}dialog>article>header .close,dialog>article>header :is(a,button)[rel=prev]{margin:0;margin-left:var(--pico-spacing);padding:0;float:right}dialog>article>footer{text-align:right}dialog>article>footer [role=button],dialog>article>footer button{margin-bottom:0}dialog>article>footer [role=button]:not(:first-of-type),dialog>article>footer button:not(:first-of-type){margin-left:calc(var(--pico-spacing) * .5)}dialog>article .close,dialog>article :is(a,button)[rel=prev]{display:block;width:1rem;height:1rem;margin-top:calc(var(--pico-spacing) * -1);margin-bottom:var(--pico-spacing);margin-left:auto;border:none;background-image:var(--pico-icon-close);background-position:center;background-size:auto 1rem;background-repeat:no-repeat;background-color:transparent;opacity:.5;transition:opacity var(--pico-transition)}dialog>article .close:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),dialog>article :is(a,button)[rel=prev]:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){opacity:1}dialog:not([open]),dialog[open=false]{display:none}.modal-is-open{padding-right:var(--pico-scrollbar-width,0);overflow:hidden;pointer-events:none;touch-action:none}.modal-is-open dialog{pointer-events:auto;touch-action:auto}:where(.modal-is-opening,.modal-is-closing) dialog,:where(.modal-is-opening,.modal-is-closing) dialog>article{animation-duration:.2s;animation-timing-function:ease-in-out;animation-fill-mode:both}:where(.modal-is-opening,.modal-is-closing) dialog{animation-duration:.8s;animation-name:modal-overlay}:where(.modal-is-opening,.modal-is-closing) dialog>article{animation-delay:.2s;animation-name:modal}.modal-is-closing dialog,.modal-is-closing dialog>article{animation-delay:0s;animation-direction:reverse}@keyframes modal-overlay{from{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:transparent}}@keyframes modal{from{transform:translateY(-100%);opacity:0}}:where(nav li)::before{float:left;content:"​"}nav,nav ul{display:flex}nav{justify-content:space-between;overflow:visible}nav ol,nav ul{align-items:center;margin-bottom:0;padding:0;list-style:none}nav ol:first-of-type,nav ul:first-of-type{margin-left:calc(var(--pico-nav-element-spacing-horizontal) * -1)}nav ol:last-of-type,nav ul:last-of-type{margin-right:calc(var(--pico-nav-element-spacing-horizontal) * -1)}nav li{display:inline-block;margin:0;padding:var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal)}nav li :where(a,[role=link]){display:inline-block;margin:calc(var(--pico-nav-link-spacing-vertical) * -1) calc(var(--pico-nav-link-spacing-horizontal) * -1);padding:var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal);border-radius:var(--pico-border-radius)}nav li :where(a,[role=link]):not(:hover){text-decoration:none}nav li [role=button],nav li [type=button],nav li button,nav li input:not([type=checkbox],[type=radio],[type=range],[type=file]),nav li select{height:auto;margin-right:inherit;margin-bottom:0;margin-left:inherit;padding:calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal)}nav[aria-label=breadcrumb]{align-items:center;justify-content:start}nav[aria-label=breadcrumb] ul li:not(:first-child){margin-inline-start:var(--pico-nav-link-spacing-horizontal)}nav[aria-label=breadcrumb] ul li a{margin:calc(var(--pico-nav-link-spacing-vertical) * -1) 0;margin-inline-start:calc(var(--pico-nav-link-spacing-horizontal) * -1)}nav[aria-label=breadcrumb] ul li:not(:last-child)::after{display:inline-block;position:absolute;width:calc(var(--pico-nav-link-spacing-horizontal) * 4);margin:0 calc(var(--pico-nav-link-spacing-horizontal) * -1);content:var(--pico-nav-breadcrumb-divider);color:var(--pico-muted-color);text-align:center;text-decoration:none;white-space:nowrap}nav[aria-label=breadcrumb] a[aria-current]:not([aria-current=false]){background-color:transparent;color:inherit;text-decoration:none;pointer-events:none}aside li,aside nav,aside ol,aside ul{display:block}aside li{padding:calc(var(--pico-nav-element-spacing-vertical) * .5) var(--pico-nav-element-spacing-horizontal)}aside li a{display:block}aside li [role=button]{margin:inherit}[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after{content:"\\"}progress{display:inline-block;vertical-align:baseline}progress{-webkit-appearance:none;-moz-appearance:none;display:inline-block;appearance:none;width:100%;height:.5rem;margin-bottom:calc(var(--pico-spacing) * .5);overflow:hidden;border:0;border-radius:var(--pico-border-radius);background-color:var(--pico-progress-background-color);color:var(--pico-progress-color)}progress::-webkit-progress-bar{border-radius:var(--pico-border-radius);background:0 0}progress[value]::-webkit-progress-value{background-color:var(--pico-progress-color);-webkit-transition:inline-size var(--pico-transition);transition:inline-size var(--pico-transition)}progress::-moz-progress-bar{background-color:var(--pico-progress-color)}@media (prefers-reduced-motion:no-preference){progress:indeterminate{background:var(--pico-progress-background-color) linear-gradient(to right,var(--pico-progress-color) 30%,var(--pico-progress-background-color) 30%) top left/150% 150% no-repeat;animation:progress-indeterminate 1s linear infinite}progress:indeterminate[value]::-webkit-progress-value{background-color:transparent}progress:indeterminate::-moz-progress-bar{background-color:transparent}}@media (prefers-reduced-motion:no-preference){[dir=rtl] progress:indeterminate{animation-direction:reverse}}@keyframes progress-indeterminate{0%{background-position:200% 0}100%{background-position:-200% 0}}[data-tooltip]{position:relative}[data-tooltip]:not(a,button,input,[role=button]){border-bottom:1px dotted;text-decoration:none;cursor:help}[data-tooltip]::after,[data-tooltip]::before,[data-tooltip][data-placement=top]::after,[data-tooltip][data-placement=top]::before{display:block;z-index:99;position:absolute;bottom:100%;left:50%;padding:.25rem .5rem;overflow:hidden;transform:translate(-50%,-.25rem);border-radius:var(--pico-border-radius);background:var(--pico-tooltip-background-color);content:attr(data-tooltip);color:var(--pico-tooltip-color);font-style:normal;font-weight:var(--pico-font-weight);font-size:.875rem;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;opacity:0;pointer-events:none}[data-tooltip]::after,[data-tooltip][data-placement=top]::after{padding:0;transform:translate(-50%,0);border-top:.3rem solid;border-right:.3rem solid transparent;border-left:.3rem solid transparent;border-radius:0;background-color:transparent;content:"";color:var(--pico-tooltip-background-color)}[data-tooltip][data-placement=bottom]::after,[data-tooltip][data-placement=bottom]::before{top:100%;bottom:auto;transform:translate(-50%,.25rem)}[data-tooltip][data-placement=bottom]:after{transform:translate(-50%,-.3rem);border:.3rem solid transparent;border-bottom:.3rem solid}[data-tooltip][data-placement=left]::after,[data-tooltip][data-placement=left]::before{top:50%;right:100%;bottom:auto;left:auto;transform:translate(-.25rem,-50%)}[data-tooltip][data-placement=left]:after{transform:translate(.3rem,-50%);border:.3rem solid transparent;border-left:.3rem solid}[data-tooltip][data-placement=right]::after,[data-tooltip][data-placement=right]::before{top:50%;right:auto;bottom:auto;left:100%;transform:translate(.25rem,-50%)}[data-tooltip][data-placement=right]:after{transform:translate(-.3rem,-50%);border:.3rem solid transparent;border-right:.3rem solid}[data-tooltip]:focus::after,[data-tooltip]:focus::before,[data-tooltip]:hover::after,[data-tooltip]:hover::before{opacity:1}@media (hover:hover) and (pointer:fine){[data-tooltip]:focus::after,[data-tooltip]:focus::before,[data-tooltip]:hover::after,[data-tooltip]:hover::before{--pico-tooltip-slide-to:translate(-50%, -0.25rem);transform:translate(-50%,.75rem);animation-duration:.2s;animation-fill-mode:forwards;animation-name:tooltip-slide;opacity:0}[data-tooltip]:focus::after,[data-tooltip]:hover::after{--pico-tooltip-caret-slide-to:translate(-50%, 0rem);transform:translate(-50%,-.25rem);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:focus::before,[data-tooltip][data-placement=bottom]:hover::after,[data-tooltip][data-placement=bottom]:hover::before{--pico-tooltip-slide-to:translate(-50%, 0.25rem);transform:translate(-50%,-.75rem);animation-name:tooltip-slide}[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:hover::after{--pico-tooltip-caret-slide-to:translate(-50%, -0.3rem);transform:translate(-50%,-.5rem);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=left]:focus::after,[data-tooltip][data-placement=left]:focus::before,[data-tooltip][data-placement=left]:hover::after,[data-tooltip][data-placement=left]:hover::before{--pico-tooltip-slide-to:translate(-0.25rem, -50%);transform:translate(.75rem,-50%);animation-name:tooltip-slide}[data-tooltip][data-placement=left]:focus::after,[data-tooltip][data-placement=left]:hover::after{--pico-tooltip-caret-slide-to:translate(0.3rem, -50%);transform:translate(.05rem,-50%);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=right]:focus::after,[data-tooltip][data-placement=right]:focus::before,[data-tooltip][data-placement=right]:hover::after,[data-tooltip][data-placement=right]:hover::before{--pico-tooltip-slide-to:translate(0.25rem, -50%);transform:translate(-.75rem,-50%);animation-name:tooltip-slide}[data-tooltip][data-placement=right]:focus::after,[data-tooltip][data-placement=right]:hover::after{--pico-tooltip-caret-slide-to:translate(-0.3rem, -50%);transform:translate(-.05rem,-50%);animation-name:tooltip-caret-slide}}@keyframes tooltip-slide{to{transform:var(--pico-tooltip-slide-to);opacity:1}}@keyframes tooltip-caret-slide{50%{opacity:0}to{transform:var(--pico-tooltip-caret-slide-to);opacity:1}}[aria-controls]{cursor:pointer}[aria-disabled=true],[disabled]{cursor:not-allowed}[aria-hidden=false][hidden]{display:initial}[aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);position:absolute}[tabindex],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation}[dir=rtl]{direction:rtl}@media (prefers-reduced-motion:reduce){:not([aria-busy=true]),:not([aria-busy=true])::after,:not([aria-busy=true])::before{background-attachment:initial!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important}}
/* ==========================================================================
   Shadrina — psychology practice design system
   Palette / typography derived from PSD (Constantia + Arial, cream + olive)
   ========================================================================== */

:root {
    --pico-font-size: 18px;

    /* Brand palette */
    --c-cream: #FBF9F4;
    --c-cream-2: #F5F2EA;
    --c-paper: #FFFFFF;
    --c-ink: #3F3F3F;
    --c-ink-soft: #5F5F5B;
    --c-olive: #879B44;
    --c-olive-dark: #4F5826;
    --c-olive-deep: #3D3D2B;
    --c-olive-soft: #A8B882;
    --c-navy: #021A38;
    --c-gold: #CCA35F;
    --c-line: #EBE7DC;
    --c-line-soft: #F2EFE7;
    --c-pill-line: #C9CBA3;
    --c-pill-active: #ECEBD6;

    /* Typography */
    --font-serif: 'Constantia', Georgia, 'Times New Roman', Cambria, serif;
    --font-sans: 'Arial', 'Liberation Sans', Helvetica, sans-serif;

    /* Semantic */
    --spacing: 1rem;
    --wrapper: 1280px;
    --content: 1144px;

    --pico-font-family-sans-serif: var(--font-sans);
    --pico-background-color: var(--c-cream);
    --pico-color: var(--c-ink);
    --pico-muted-color: #7a7a72;
    --pico-muted-border-color: var(--c-line);
    --pico-border-radius: 0.5rem;
    --pico-primary: var(--c-olive);
    --pico-primary-background: var(--c-olive);
    --pico-primary-border: var(--c-olive);
    --pico-primary-underline: rgba(120, 141, 54, 0.5);
    --pico-primary-hover: var(--c-olive-dark);
    --pico-primary-hover-background: var(--c-olive-dark);
    --pico-primary-hover-border: var(--c-olive-dark);
    --pico-primary-focus: rgba(120, 141, 54, 0.35);
    --pico-primary-inverse: #fff;
    --pico-h1-color: var(--c-olive-deep);
    --pico-h2-color: var(--c-olive-deep);
    --pico-h3-color: var(--c-olive-deep);
    --pico-h4-color: var(--c-olive-deep);
    --pico-h5-color: var(--c-olive-deep);
    --pico-h6-color: var(--c-olive-deep);
}

@media (min-width: 576px) { :root { --pico-font-size: 18px; } }
@media (min-width: 768px) { :root { --pico-font-size: 18px; } }
@media (min-width: 1024px) { :root { --pico-font-size: 18px; } }
@media (min-width: 1280px) { :root { --pico-font-size: 18px; } }
@media (min-width: 1536px) { :root { --pico-font-size: 18px; } }

/* ---------- Base ---------- */

/* Arial is the body font; Constantia is reserved for the headings that are
   serif in the design (see the explicit --font-serif rules below and in
   blocks/site.css). */
html, body {
    background: #FFFFFF;
    color: var(--c-ink);
    font-family: var(--font-sans);
    font-size: 18px;
    line-height: 1.55;
    scroll-behavior: smooth;
}

body {
    margin: 0;
}

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-sans);
    font-weight: 600;
    color: var(--c-olive-deep);
    line-height: 1.15;
    letter-spacing: 0;
    margin: 0 0 0.5em;
}

a {
    color: var(--c-olive);
    text-decoration: none;
}
a:hover { color: var(--c-olive-dark); }

.container {
    width: 100%;
    max-width: var(--content);
    margin-inline: auto;
    padding-inline: 0;
    box-sizing: border-box;
}

/* The design canvas is a fixed 1280px, so below it the page needs its own
   gutters.  The page zone has mainContainerDisbled=1, i.e. no .container,
   so every block used to run edge to edge on tablets and phones. */
@media (max-width: 1180px) {
    .container { padding-inline: 1.25rem; }
    .zone-page { padding-inline: 1.25rem; }
    .zone-header__row, .zone-footer > .container { padding-inline: 1.25rem; }
}

/* ---------- Buttons ---------- */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-family: var(--font-sans);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
    padding: 0.85rem 1.9rem;
    border-radius: 999px;
    border: 2px solid transparent;
    cursor: pointer;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
    background: var(--c-olive);
    color: #fff;
}
.btn:hover { background: var(--c-olive-dark); color: #fff; text-decoration: none; }

.btn--navy { background: var(--c-navy); color: #fff; }
.btn--navy:hover { background: #0a2f57; color: #fff; }

.btn--gold { background: var(--c-gold); color: var(--c-navy); }
.btn--gold:hover { background: #d8b26b; color: var(--c-navy); }

.btn--outline { background: transparent; color: var(--c-olive); border-color: var(--c-olive); }
.btn--outline:hover { background: var(--c-olive-dark); color: #fff; }

.btn .arrow { margin-left: 0.35rem; font-weight: 700; transition: transform .18s ease; }
.btn--outline:hover .arrow { transform: translateX(3px); }

.btn--link {
    background: none;
    color: var(--c-olive);
    padding: 0;
    border: none;
    border-radius: 0;
    font-weight: 600;
    gap: 0.35rem;
}
/* .btn:hover (0,2,0) задаёт тёмно-оливковый фон и перебивает .btn--link
   { background: none } (0,1,0), поэтому текстовая ссылка при наведении
   заливалась плашкой. Здесь фон и рамку гасим тем же весом. */
.btn--link:hover { background: none; border: none; color: var(--c-olive); }
.btn--link .arrow { transition: transform .18s ease; }
.btn--link:hover .arrow { transform: translateX(4px); }

.btn--lg { font-size: 1.05rem; padding: 1rem 2.4rem; }
.btn--sm { font-size: 0.9rem; padding: 0.55rem 1.3rem; }

/* Keep Pico-native buttons (used by dialogs) on-brand */
button.primary, [role=button].primary, a.primary, [type=submit].primary {
    background: var(--c-olive);
    border: none;
}
button.primary:hover, [role=button].primary:hover, a.primary:hover, [type=submit].primary:hover {
    background: var(--c-olive-dark);
    border: none;
}

/* ---------- Typography helpers ---------- */

.serif { font-family: var(--font-serif); }
.eyebrow {
    display: inline-block;
    font-family: var(--font-sans);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: var(--c-olive);
    margin-bottom: 0.9rem;
}

.page-title {
    font-family: var(--font-serif);
    font-size: clamp(2.2rem, 4.5vw, 57.6px);
    font-weight: 600;
    color: var(--c-olive-deep);
    line-height: 1.08;
}

.section-title {
    font-family: var(--font-serif);
    font-size: clamp(1.6rem, 2.6vw, 33.3px);
    font-weight: 600;
    color: var(--c-olive-deep);
}

.lead { font-size: 1.1rem; color: var(--c-ink-soft); }

/* Override Pico white-space quirk */
[aria-busy="true"]:not(input, select, textarea, html, form) {
    white-space: normal !important;
}

.block-about-brand {
    position: relative;
    container-type: inline-size;
    background-color: #001617;

    .image {
        position: absolute;
        inset: 0;
        overflow: hidden;
        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }
    }

    .container {
        position: relative;
        padding-block: 3rem;
        display: flex;
        flex-direction: column;
        gap: 1rem;
        @container (width < 1024px) {
            padding-block: 2rem;
        }
    }

    h3 {
        margin: 0;
        color: white;
        font-weight: 600;
        font-size: 2rem;
        max-width: 600px;
        @container (width < 1024px) {
            font-size: 1.6rem;
            max-width: 500px;
        }
        span {
            color: var(--pico-primary);
        }
    }

    .text {
        color: white;
        line-height: 2;
        @container (width < 1024px) {
            text-shadow: 1px 1px 2px black;
        }
        @container (width < 768px) {
            br {
                display: none;
            }
        }
    }

    .image {
        img {
            @container (width < 1280px) {
                object-position: left;
            }
            @container (width < 768px) {
                object-position: center;
            }
        }
    }
}

.block-about-content {
    margin-block: 2rem;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 2rem;
    container-type: inline-size;

    @media (width < 620px) {
        grid-template-columns: 1fr;
    }

    .content {
        flex: 1;
    }

    .title {
        margin-bottom: 1rem;
    }

    .text {
        font-size: 1.2rem;
    }

    .link {
        align-self: center;
        justify-self: center;
        a {
            color: var(--secondary);
            font-weight: bold;
            font-size: 1.2rem;
            display: flex;
            gap: 1rem;
            align-items: center;
        }
    }
}

.block-advantages-icons {
    text-align: center;
    margin-bottom: 1rem;
    container-type: inline-size;
    .title {
        text-align: center;
    }
    .items {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 2rem;
        font-size: 18px;
        font-style: italic;
        @container (width < 1024px) {
            font-size: 16px;
        }
        @container (width < 800px) {
            grid-template-columns: repeat(2, 1fr);
        }
        @container (width < 420px) {
            font-size: 14px;
        }
        .image {
            margin-bottom: 1rem;
            height: 60px;
            display: flex;
            align-items: flex-end;
            justify-content: center;
        }
    }

}
.block-advantages {
    margin-block: 2rem;

    .header-text {
        text-align: center;
        margin-bottom: 2rem;

        .pretitle {
            font-size: 0.875rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: #686868;
            margin-bottom: 0.5rem;
            margin-inline: auto;
            max-width: 660px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0;

            &::before,
            &::after {
                content: '';
                flex: 1;
                height: 1px;
                background: currentColor;
            }

            span {
                display: inline-block;
                background: #fff;
                padding-inline: 1rem;
            }
        }

        .title {
            font-size: 2rem;
            font-weight: bold;
            margin: 0 auto;
            max-width: 660px;
            text-transform: uppercase;
            @media (width < 728px) {
                font-size: 1.6rem;
            }
        }
    }

    .layout {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
        align-items: start;

        @media (width < 1024px) {
            grid-template-columns: 1fr;
        }
    }

    .layout-image {
        img {
            width: 100%;
            height: auto;
            border-radius: calc(var(--pico-border-radius) * 2);
            display: block;
        }
    }

    .items-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;

        @media (width < 480px) {
            grid-template-columns: 1fr;
        }
    }

    .card {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: .5rem;
        padding: 1rem .5rem;
        width: 100%;
        background: #fff;
        border-radius: calc(var(--pico-border-radius) * 2);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

        .card-icon {
            width: 48px;
            height: 48px;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: .25rem;

            img {
                height: 48px;
                width: auto;
                object-fit: contain;
            }
        }

        .card-title {
            font-size: .8rem;
            font-weight: bold;
            line-height: 1.2;
            max-width: 140px;
            word-break: normal;
            overflow-wrap: normal;
            hyphens: none;
        }

        &:nth-child(2n) .card-title {
            max-width: 75px;
        }

        .card-description {
            font-size: 0.8rem;
            line-height: 1.2;
            color: #555;
        }
    }
}

.block-akcia {
    margin-block: 2rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;

    @media (width < 860px) {
        grid-template-columns: 1fr;
    }
   
    > .image {

    }

    > .text {

    }
}
.block-akcii {
    margin-block: 2rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    text-align: center;
    @media (width < 640px) {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .record {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 1rem;
        @media (width < 640px) {
            max-width: 480px;
        }
    }

    .image {
        img {
            width: 100%;
        }
    }

    .name {
        text-transform: uppercase;
        flex: 1;
    }

    a[role="button"] {
        align-self: center;
    }
}
.block-certs {
    margin-block: 2rem;
    h3 {
        text-align: center;
    }
    .splide__slide {
        text-align: center;
    }
}

.block-colored-expander {
    margin-block: 2rem;
    //padding-top: .5rem;
}

.block-columns_two {
    container-type: inline-size;
    margin-block: 2rem;
    display: grid;
    gap: 2rem;

    @container (width > 840px) {
        grid-template-columns: 1fr 1fr;

        &.two2one {
            grid-template-columns: 2fr 1fr;
        }

        &.two2three {
            grid-template-columns: 2fr 3fr;
        }

        &.two2five {
            grid-template-columns: 2fr 5fr;
        }

        &.one2four {
            grid-template-columns: 1fr 4fr;
        }

        &.five2two {
            grid-template-columns: 5fr 2fr;
        }

        &.three2two {
            grid-template-columns: 3fr 2fr;
        }
        &.one2two {
            grid-template-columns: 1fr 2fr;
        }
    }

    @container (640px <= width <= 840px) {
        grid-template-columns: 1fr 1fr;

        &.two2three, &.two2five, &.one2four {
            grid-template-columns: 2fr 5fr;
        }

        &.five2two, &.three2two {
            grid-template-columns: 5fr 2fr;
        }
    }

    @container (width <= 640px) {
        gap: 0;
    }

    &.textpad {
        .block-text {
            padding-block: 2rem;
            @container (width <= 640px) {
                padding-bottom: 0;
            }
        }
    }

    & > .first, & > .second {
        display: flex;
        flex-direction: column;

        & > .block-bgbox {
            flex: 1;
        }
    }

    &.invert {
        @container (width < 640px) {
            & > .first {
                order: 2;
            }

            & > .second {
                order: 1;
            }
        }
    }
}

.block-contacts {
    margin-block: 2rem;

    .container {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1.5rem;

        @media (width < 1024px) {
            grid-template-columns: repeat(2, 1fr);
        }
        @media (width < 620px) {
            grid-template-columns: 1fr;
        }
    }

    .card {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: .75rem;
        padding: 1rem;
        background: #fff;
        border-radius: calc(var(--pico-border-radius) * 2);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        text-align: center;

        .icon {
            width: 48px;
            height: 48px;
            display: flex;
            align-items: center;
            justify-content: center;

            img {
                height: 48px;
                width: auto;
                object-fit: contain;
            }
        }

        .title {
            font-weight: bold;
            font-size: 1rem;
        }

        .value {
            font-size: 1rem;
            color: var(--pico-muted-color);

            &.value--small {
                font-size: .875rem;
            }

            a {
                color: var(--pico-primary);
                text-decoration: none;

                &:hover {
                    text-decoration: underline;
                }
            }
        }
    }
}

.block-contactsbox {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 2rem;

    .block_title {
        font-size: 1.35rem;
        font-weight: bold;
        line-height: 1.2;
    }

    > .description {
    }

    .items {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .item {
        display: flex;
        gap: .75rem;
        align-items: flex-start;

        .icon {
            flex-shrink: 0;
            width: 24px;
            height: 24px;
            margin-top: .15rem;

            img {
                width: 100%;
                height: auto;
            }
        }

        .content {
            display: flex;
            flex-direction: column;
        }

        .title {
            font-weight: bold;
            font-size: 1rem;
        }

        .description {
            font-size: 1rem;
            padding-left: .5rem;
        }
    }
}

.block-credit-info {
    position: relative;
    container-type: inline-size;
    border-radius: var(--pico-border-radius);
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    .container {
        position: relative;
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: .7rem 1.5rem;
        background: rgba(0, 22, 23, .7);

        @media (width < 540px) {
            flex-wrap: wrap;
            padding: .7rem 1rem;
        }
    }

    .credit-icon {
        flex-shrink: 0;
        width: 43px;
        height: 43px;
        border-radius: 50%;
        background-color: var(--pico-primary);
        display: flex;
        align-items: center;
        justify-content: center;

        svg {
            width: 26px;
            height: 26px;
            display: block;
        }
    }

    .credit-text {
        flex: 1;
        min-width: 0;
    }

    .credit-title {
        margin: 0;
        color: white;
        font-size: 1rem;
        font-weight: 600;
    }

    .credit-description {
        margin: 0;
        color: white;
        font-size: .8rem;
        opacity: .85;
    }

    .credit-action {
        flex-shrink: 0;

        a[role="button"] {
            white-space: nowrap;
            padding: .5rem 1.5rem;
            font-size: .95rem;
        }

        @media (width < 540px) {
            width: 100%;

            a[role="button"] {
                width: 100%;
                text-align: center;
            }
        }
    }
}

.block-credit-months {
    margin-block: 2rem;

    .header-text {
        text-align: center;
        margin-bottom: 2rem;

        .pretitle {
            font-size: 0.875rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: #686868;
            margin-bottom: 0.5rem;
        }

        .title {
            font-size: 2rem;
            font-weight: bold;
            margin: 0 0 0.5rem;
        }

        .subtitle {
            font-size: 1.125rem;
        }
    }

    .container {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1.5rem;

        @media (width < 1024px) {
            grid-template-columns: repeat(2, 1fr);
        }
        @media (width < 620px) {
            grid-template-columns: 1fr;
        }
    }

    .card {
        display: flex;
        flex-direction: column;
        gap: .5rem;
        padding: 1rem;
        background: #fff;
        border-radius: calc(var(--pico-border-radius) * 2);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

        .header {
            display: flex;
            align-items: center;
            gap: .75rem;
            margin-bottom: .5rem;

            .icon {
                width: 48px;
                height: 48px;
                flex-shrink: 0;
                display: flex;
                align-items: center;
                justify-content: center;

                img {
                    height: 48px;
                    width: auto;
                    object-fit: contain;
                }
            }

            .title {
                display: flex;
                flex-direction: column;
                gap: 0;
                line-height: 1;
                color: var(--pico-primary);

                .title-number {
                    font-size: 2rem;
                    font-weight: bold;
                }

                .title-label {
                    font-size: 1rem;
                    font-weight: bold;
                }
            }
        }

        .value {
            font-size: 1rem;
            line-height: 1.2;
        }
    }
}

.block-creditages {
    margin-block: 3rem;
    container-type: inline-size;
    .items {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1rem;
        @container (width < 800px) {
            grid-template-columns: repeat(2, 1fr);
        }
        @container (width < 480px) {
            grid-template-columns: 1fr;
            max-width: 360px;
            margin-inline: auto;
        }
    }
    .item {
        display: grid;
        grid-template-columns: 60px auto;
        gap: 0.5rem;
        align-items: center;
    }
    .image {
        display: flex;
        align-items: center;
        justify-content: center;
        img {
            max-width: 100%;
            height: auto;
        }
    }
    .text {
        text-align: left;
        @container (width < 800px) {
            font-size: 14px;
        }
        @container (width < 540px) {
            font-size: 16px;
        }
    }

}

.block-delivery-operators {
    margin-block: 2rem;

    .items {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 2rem;
    }

    .item {
        display: flex;
        align-items: center;
        justify-content: center;

        img {
            max-width: 120px;
            height: auto;
            object-fit: contain;
        }
    }
}

.block-deliverytages {
    margin-block: 2rem;

    .container {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1rem;

        @media (width < 1024px) {
            grid-template-columns: repeat(2, 1fr);
        }
        @media (width < 620px) {
            grid-template-columns: 1fr;
        }
    }

    .card {
        display: flex;
        flex-direction: column;
        gap: .75rem;
        padding: 1rem .75rem;
        background: #fff;
        border-radius: calc(var(--pico-border-radius) * 2);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        text-align: center;
    }

    .card-image {
        display: flex;
        align-items: center;
        justify-content: center;

        img {
            height: 64px;
            width: auto;
            object-fit: contain;
        }
    }

    .card-title {
        font-size: 1rem;
        font-weight: bold;
        /*color: var(--pico-primary);*/
    }

    .card-description {
        font-size: .75rem;
        line-height: 1.4;
    }
}

.block-feature {
    margin-block: 2rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: center;
    container-type: inline-size;

    @container (width < 860px) {
        grid-template-columns: 1fr;
    }

    .content {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .title {
        margin: 0;
        font-size: 1.8rem;
        font-weight: bold;
        span {
            color: var(--pico-primary);
        }
        @container (width < 640px) {
            font-size: 1.6rem;
        }
    }

    .text {
        @container (width < 640px) {
            br {
                display: none;
            }
        }
    }

    .items {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1rem;
        margin-top: 1rem;
    }

    .item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: .5rem;
        text-align: center;
    }

    .item-icon {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 48px;

        img {
            height: 48px;
            width: auto;
            object-fit: contain;
        }
    }

    .item-title {
        font-size: .75rem;
        font-weight: 600;
    }

    .image {
        display: flex;
        justify-content: center;

        img {
            max-width: 100%;
            height: auto;
            object-fit: contain;
        }
    }
}

.block-form {
    color: white;
    margin-block: 2rem;
    padding-block: 4rem;
    background: #e7e5e3 url(../themes/shadrina/assets/images/blocks/form/bg.webp) center no-repeat;
    background-size: cover;
    container-type: inline-size;


    .container {
        display: grid;
        gap: 3rem;
        grid-template-columns: 3fr 4fr;

        @container(width < 940px) {
            grid-template-columns: 1fr;
        }
    }


    .title {
        font-size: 2rem;
        line-height: 1.2;
        color: white;
        span {
            color: var(--pico-primary);
        }

        @container (width < 1200px) {
            /*font-size: 60px;*/
        }

        @container (width < 992px) {
            /*font-size: 50px;*/
        }

        @container (width < 768px) {
            /*font-size: 40px;*/
        }

        @container (width < 940px) {
            text-align: center;
        }
    }

    .subtitle {
        font-size: 20px;
        margin: 0;
        @container (width < 940px) {
            text-align: center;
        }
    }

    .items {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
        margin-top: 2rem;
    }

    .item {
        display: flex;
        align-items: center;
        gap: 1rem;

        .image {
            padding: 4px;
            background-color: #010206;
            border-radius: var(--pico-border-radius);
        }

        img {
            flex-shrink: 0;
            width: 48px;
            height: 48px;
            object-fit: contain;
        }

        .label {
            display: flex;
            flex-direction: column;

            strong {
                font-size: 18px;
                line-height: 1.3;
            }
        }
    }

    .form {

    }

    .input {
        width: 100%;
        background-color:  rgb(11 23 26 / 65%);
        border-color: #596668;
        backdrop-filter: blur(2px);
        color: white;
        &:focus {
            border-color: var(--pico-primary);
        }
        &::placeholder {
            font-size: 16px;
            color: #ccc;
        }
    }

    button {
        width: 100%;
    }


}

.block-icontages {
    margin-block: 2rem;
    display: flex;
    justify-content: space-around;
    gap: 1.5rem;

    text-align: center;
    @media (width < 768px) {
        flex-direction: column;
        max-width: 360px;
        margin-inline: auto;
    }

    .item {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
        grid-template-columns: 60px auto;
        align-items: center;
    }
    .title {
        margin-bottom: 1.5rem;
        font-weight: bold;
        font-size: 1.1rem;
    }
    .image {
        text-align: center;
    }
}

.block-image {
    container-type: inline-size;

    & img {
        width: 100%;
    }
}
.block-intro-proizvodstvo {
    position: relative;
    container-type: inline-size;
    color: white;
    /* margin-bottom: 2rem; */

    .image {
        position: absolute;
        inset: 0;
        overflow: hidden;
        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            @container (width < 1200px) {
                object-position: left center;
            }
        }
    }

    .container {
        position: relative;
        padding-block: 2rem;
    }

    .title {
        display: flex;
        flex-direction: column;
        text-transform: uppercase;
        font-weight: 900;
        font-size: 62px;
        line-height: 1;
        color: white;
        text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.567);
        @container (width < 720px) {
            font-size: 48px;
        }
        @container (width < 540px) {
            font-size: 34px;
        }
        span:nth-child(1) {
            
        }
        span:nth-child(2) {
            padding-left: 80px;
            @container (width < 720px) {
                padding-left: 40px;
            }
            @container (width < 540px) {
                padding-left: 0px;
            }
        }
        span:nth-child(3) {
            font-weight: 400;
            font-size: 36px;
            padding-left: 240px;
            @container (width < 720px) {
                font-size: 26px;
                padding-left: 200px;
            }
            @container (width < 540px) {
                font-size: 22px;
                padding-left: 0px;
                text-align: right;
            }
        }
    }

    .cards {
        display: grid;
        gap: 1rem;
        grid-template-columns: 1fr 1fr;
        max-width: 460px;
    }

    .card {
        border-radius: 1rem;
        background-color: #7c4e4e9a;
        padding: 4px;
        text-align: center;
        line-height: 1;
    }

    .icon {
        font-size: 56px;
        font-weight: 700;
        margin-bottom: 2px;
    }
}
.block-intro {
    position: relative;
    container-type: inline-size;
    background-color: #001617;

    .image {
        position: absolute;
        inset: 0;
        overflow: hidden;
        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }
    }

    .container {
        position: relative;
        padding-block: 3rem;
        display: flex;
        flex-direction: column;
        gap: 1rem;
        @container (width < 1024px) {
            padding-block: 2rem;
        }
        @container (width < 860px) {
        }
        @container (width < 500px) {
        }
    }

    h1 {
        margin: 0;
        color: white;
        font-weight: bold;
        font-size: 2.5rem;
        @container (width < 1024px) {
            font-size: 2rem;
        }
        @container (width < 728px) {
            font-size: 1.6rem;
        }
    }

    .text {
        color: white;
    }

    &.video {
        padding-top: 4rem;
        padding-bottom: 10rem;
        @container (width < 1024px) {
            padding-top: 3rem;
            padding-bottom: 8rem;
        }
        .image {
            @container (width < 680px) {
                opacity: .5;
            }
        }
        .text {
            font-size: 1.2rem;
            @container (width < 1024px) {

            }

        }
    }

    &.product {
        padding-top: 2rem;
        padding-bottom: 5rem;
        @container (width < 1024px) {
            padding-top: 1.5rem;
            padding-bottom: 4rem;
        }
        h1 {
            max-width: 540px;
        }
        .image {
            @container (width < 680px) {
                opacity: .5;
            }
        }
        .text {
            max-width: 540px;
            font-size: 1.2rem;
            @container (width < 1024px) {

            }

        }
    }

    &.catalog {
        padding-top: 2rem;
        padding-bottom: 5rem;
        @container (width < 1024px) {
            padding-top: 1.5rem;
            padding-bottom: 4rem;
        }
        h1 {
            max-width: 540px;
        }
        .image {
            @container (width < 680px) {
                opacity: .5;
            }
        }
        .text {
            max-width: 540px;
            font-size: 1.2rem;
            @container (width < 1024px) {

            }

        }
    }

    &.credit {
        padding-top: 3rem;
        padding-bottom: 8rem;
        @container (width < 1024px) {
            padding-top: 3rem;
            padding-bottom: 5rem;
        }
        h1 {
            font-weight: 500;
        }
        .image {
            @container (width < 680px) {

            }
        }
        .text {
            font-size: 1.2rem;
            @container (width < 1024px) {

            }
        }
    }

    &.about {
        h1 {
            font-weight: 600;
            max-width: 600px;
            @container (width < 1024px) {
                max-width: 500px;
            }
            span {
                color: var(--pico-primary);
            }
        }
        .image {

            img {
                @container (width < 1280px) {
                    object-position: left;
                }
                @container (width < 768px) {
                    object-position: center;
                }
            }
        }
        .text {
            font-size: 1.2rem;
            @container (width < 1024px) {
                text-shadow: 0 0 2px black;
            }
            @container (width < 768px) {
                br {
                    display: none;
                }
            }
        }
    }

    &.service {
        h1 {
            font-weight: 600;
            max-width: 660px;
            @container (width < 1024px) {
                max-width: 500px;
            }
            span {
                color: var(--pico-primary);
            }
        }
        .image {

            img {
            }
        }
        .text {
            font-size: 1.2rem;
            @container (width < 1024px) {
                text-shadow: 0 0 2px black;
            }
            @container (width < 768px) {
                br {
                    display: none;
                }
            }
        }
        h1 {
            @container (width < 1024px) {
                text-shadow: 0 0 4px rgba(0,0,0,.6);
            }
        }
        .note {
            margin-top: 1.5rem;
            padding: 1.5rem;
            max-width: 600px;
            display: flex;
            gap: 1rem;
            border: 1px solid var(--pico-primary);
            border-radius: var(--pico-border-radius, 6px);
            background: rgb(3 184 136 / 22%);
            .note-icon {
                flex-shrink: 0;
                padding-top: .2rem;
                img {
                    display: block;
                    width: 20px;
                    height: 20px;
                }
            }
            .note-body {
                flex: 1;
                min-width: 0;
            }
            h4 {
                margin: 0 0 .5rem;
                color: white;
                font-weight: 600;
                font-size: 1.2rem;
            }
            .note-text {
                color: white;
                font-size: 1rem;
                line-height: 1.6;
            }
        }
    }

    &.delivery {
        padding-top: 3.333rem;
        padding-bottom: 2rem;
        background: white;
        .container {
            padding-bottom: 0;
        }
        h1 {
            font-weight: 600;
            color: #333;
            max-width: 400px;
            @media (width < 640px) {
                font-size: 2.2rem;
            }
        }
        .image {
            left: 0;
            right: 0;
            img {
                object-fit: contain;
                object-position: right;
                filter: brightness(1.01);
            }
            @media (width < 1024px) {
                width: 60%;
                left: auto;
            }
            @media (width >= 1280px) {
                right: calc((100% - 1024px) / 2);
                left: auto;
                width: 50%;
                img {
                    object-position: center;
                }
            }
            @media (width < 640px) {
                left: 0;
                right: 0;
                width: auto;
                img {
                    object-position: center;
                    opacity: .2;
                }
            }
        }
        .text {
            font-size: 1.2rem;
            color: #333;
            max-width: 400px;
            @container (width < 1024px) {

            }
            @media (width < 768px) {
                font-size: 1rem;
            }
            @media (width < 640px) {
                max-width: 320px;
            }
        }
        .buttons {
            display: flex;
            gap: 1rem;
            flex-wrap: wrap;
            margin-top: 1rem;
            .outline {
                font-size: calc(1em - 0.2rem);
                color: black;
            }
        }
    }

    &.home {
        padding-top: 1rem;
        padding-bottom: 12rem;
        background-color: transparent;
        @media (width < 1024px) {
            /*padding-top: 3rem;*/
            padding-bottom: 5rem;
        }
        .container {
            gap: 3rem;
        }
        .image {

            img {
                object-position: bottom;
                @container (width < 1024px) {
                    object-position: bottom left;
                }
                @container (width < 728px) {
                    object-position: bottom center;
                }
            }
        }
        h1 {
            font-weight: normal;
            max-width: 600px;
            text-shadow: 0 0 2px black;
            @container (width < 1024px) {
                max-width: 500px;
            }
            @container (width < 728px) {
                max-width: 400px;
            }
        }
        .text {
            max-width: 340px;
            font-size: 1.2rem;
            text-shadow: 0 0 2px black;
            @container (width < 1024px) {

            }

        }
        .buttons {
            display: flex;
            gap: 1rem;
            flex-wrap: wrap;
            margin-top: 1rem;
            a {
                padding: .2rem 1rem;
            }
            .contrast {
                background: white;
                color: black;
                &:hover {
                    background-color: var(--pico-primary);
                }
            }

        }
    }

}

.block-introslider {
    .slide-image img {
        width: 100%;
    }

    .splide__pagination {
        margin: 0 auto;
        justify-content: flex-start;
        max-width: 1040px;
        gap: 6px;
        button {
            display: block;
            background-color: #a97e74;
            width: 38px;
            height: 10px;
            border-radius: 0;

            &.is-active {
                background-color: #d5c3b2;
                transform: none;
            }
        }
    }
}
.block-mall-category {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 2rem;
    margin-block: 2rem;
    container-type: inline-size;

    @container (width < 900px) {
        grid-template-columns: 1fr;
    }
}

.block-mall-category__sidebar {
    position: sticky;
    top: 1rem;
    align-self: start;
    padding: .5rem;
    background: #f4f5f7;
    border: 1px solid var(--pico-muted-border-color, #e0e0e0);
    border-radius: var(--pico-border-radius, 12px);

    @container (width < 900px) {
        position: static;
    }
}

.block-mall-category__content {
    min-width: 0;

    .mall-products-filter {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.75rem;
        margin-bottom: 1.5rem;
    }

    .mall-products-filter__sorter {
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .mall-products-filter__sorter-label {
        flex-shrink: 0;
        font-size: 0.9375rem;
        color: #000;
    }

    .mall-products-filter__sorter-select {
        max-width: 220px;
    }

    .mall-products-filter__count {
        margin-left: auto;
        font-size: 0.875rem;
        color: #555;
    }

    .mall-products-filter__count-text strong {
        color: #000;
    }

    .snippet-mall-products {
        grid-template-columns: repeat(3, 1fr);

        @container (width < 800px) {
            grid-template-columns: repeat(2, 1fr);
        }
        @container (width < 540px) {
            grid-template-columns: repeat(1, 1fr);
        }
    }
}

/* Category Tree */
.category-tree {
    overflow: hidden;
}

.category-tree ul,
.category-tree ol {
    list-style: none;
    margin: 0 !important;
    padding: 0;
}

.category-tree__item {
    margin: 0;
    padding: 0 !important;
}

.category-tree__item--current > .category-tree__link {
    background-color: #e8eaed;
    color: var(--pico-primary);
}

.category-tree__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.625rem 1rem;
    text-decoration: none;
    color: #000;
    font-size: 0.9375rem;
    line-height: 1.4;
    transition: background-color 0.15s ease;

    &:hover {
        background-color: #e8eaed;
    }
}

.category-tree__name {
    flex: 1;
    min-width: 0;
    word-break: break-word;
}

.category-tree__count {
    flex-shrink: 0;
    font-size: 0.75rem;
    color: var(--pico-primary);
    line-height: 1;
}

.category-tree__children .category-tree__link {
    padding-left: 1.75rem;
    font-size: 0.875rem;
}

.category-tree__children .category-tree__children .category-tree__link {
    padding-left: 2.5rem;
    font-size: 0.8125rem;
}

.block-mall-comingsoon {
    & > .empty {
        text-align: center;
        padding-block: 2rem;
        background-color: #eee;
    }
}
.block-mall-hits {
    margin-block: 2rem;
    container-type: inline-size;

    & > h3 {
        text-align: center;
    }

    & > .products {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1rem;
        @container (width < 860px) {
            grid-template-columns: repeat(2, 1fr);
        }
    }
}
.block-mall-maincategories {
    margin-block: 2rem;
    container-type: inline-size;
    display: block;

    .grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        margin: 0;
        gap: 2rem;
        @container (width < 480px) {
            grid-template-columns: repeat(1, 1fr);
        }
    }

    .card {
        display: block;
        position: relative;
        width: 100%;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        border-radius: 2rem;
        background-color: #000;
        text-decoration: none;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);

        &:hover {
            .image-grid__cell img {
                opacity: 0.8;
            }
        }

        &:focus {
            outline: 1px solid rgb(192, 128, 72);
        }

        @container (width < 860px) {
            border-radius: 20px;
        }
    }

    .image-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        width: 100%;
        height: 100%;
        position: absolute;
        inset: 0;
    }

    .image-grid__cell {
        overflow: hidden;
        position: relative;

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            opacity: 0.5;
            transition: opacity 0.3s;
        }

        &--empty {
            background-color: #e0e0e0;
        }
    }

    .name {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 2;
        font-weight: bold;
        font-size: 2rem;
        color: #fff;
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6), 0 0 4px rgba(0, 0, 0, 0.4);
        padding: 1rem;
        text-align: center;
        line-height: 1.2;
        pointer-events: none;

        @container (width < 1015px) {
            font-size: 1.4rem;
        }
        @container (width < 860px) {
            font-size: 1.2rem;
        }
    }

    &.inhome {
        .grid {
            grid-template-columns: repeat(3, 1fr);
            @container (width < 640px) {
                grid-template-columns: repeat(1, 1fr);
            }
        }
        .moloko {
            display: none;
        }
        .name {
            font-size: 1.2rem;
        }
    }
}

.block-mall-similar {
    margin-block: 2rem;
    & > h3 {
        text-align: center;
    }
}

.block-map {
    height: 480px;
    
    iframe {
        height: 100%;
    }
}
.block-optages {
    margin-block: 2rem;
    text-align: center;
    container-type: inline-size;
    .title {
        margin-bottom: 1rem;
    }
    .items {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        justify-items: center;
        gap: 1rem;
        @container (width < 540px) {
            grid-template-columns: 1fr;
        }
    }
    .item {
        @container (width < 540px) {
            width: 100%;
            max-width: 360px;
            display: grid;
            gap: 1rem;
            grid-template-columns: 120px auto;
            align-items: center;
        }
    }
    .image {
        height: 160px;
        display: flex;
        align-items: center;
        justify-content: center;
        @container (width < 540px) {
            height: 80px;
        }
        img {
            @container (width < 540px) {
                height: 80px;
            }
        }
    }
    .text {
        font-weight: bold;
        @container (width < 680px) {
            font-size: 14px;
        }
        @container (width < 540px) {
            font-size: 16px;
            text-align: left;
        }
    }

}
.block-packprod {
    margin-block: 2rem;
    text-align: center;
    container-type: inline-size;
    .title {
        
    }
    .items {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1rem;
        @container (width < 640px) {
            grid-template-columns: repeat(2, 1fr);
        }
    }

    .image {
        margin-bottom: 10px;
    }
    .text {
        line-height: 1.1;
        @container (width < 728px) {
            font-size: 14px
        }
    }
}
.block-promolinks {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 2rem;

    .promolinks-bg {
        line-height: 0;

        img {
            width: 100%;
            height: auto;
            display: block;
        }
    }

    .promolinks-container {
        position: absolute;
        inset: 0;
        z-index: 1;
        width: 100%;
        height: 100%;
        max-width: 1024px;
        margin: 0 auto;
        padding:  .5rem 2rem;
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr;
        gap: 1.5rem;
        align-content: center;
    }

    .promolinks-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.5rem;
        max-width: 200px;

        &:nth-child(1) {
            grid-column: 1 / -1;
            justify-self: center;
            align-self: start;
        }

        &:nth-child(2) {
            justify-self: start;
            align-self: end;
        }

        &:nth-child(3) {
            justify-self: end;
            align-self: end;
        }
    }

    .promolinks-item-title {
        font-size: 1.25rem;
        font-weight: bold;
        line-height: 1.3;
    }

    .promolinks-item-text {
        font-size: 0.8rem;
        line-height: 1.2;
        flex: 1;
    }

    .promolinks-item-link {
        margin-top: 0.25rem;
        padding: 0.4rem 1.2rem;
        font-size: 0.9rem;
    }

    /* >= 1024px — второй item белым текстом */
    @media (width >= 1024px) {
        .promolinks-item:nth-child(2) {
            .promolinks-item-title,
            .promolinks-item-text,
            .promolinks-item-link {
                color: #fff;
            }
        }
    }

    /* < 1280px — уменьшаем шрифт в item */
    @media (width < 1280px) {
        .promolinks-item-title {
            font-size: 1.1rem;
        }
        .promolinks-item-text {
            font-size: 0.85rem;
        }
        .promolinks-item-link {
            font-size: 0.8rem;
        }
    }

    /* < 1024px — изображение сверху на всю ширину, items снизу в 3 колонки */
    @media (width < 1024px) {
        .promolinks-item-title {
            font-size: 1rem;
        }
        .promolinks-item-text {
            font-size: 0.8rem;
        }
        .promolinks-item-link {
            font-size: 0.75rem;
        }

        .promolinks-container {
            position: relative;
            inset: auto;
            height: auto;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: none;
            gap: 1rem;
            padding: 1.5rem 1rem;
        }

        .promolinks-item {
            max-width: 200px;
            justify-self: center;

            &:nth-child(1) {
                order: 2;
            }

            &:nth-child(2) {
                order: 1;
            }

            &:nth-child(3) {
                order: 3;
            }

            &:nth-child(1),
            &:nth-child(2),
            &:nth-child(3) {
                grid-column: auto;
                justify-self: center;
                align-self: auto;
            }
        }
    }

    /* < 728px — ещё уменьшаем шрифт */
    @media (width < 728px) {
        .promolinks-item-title {
            font-size: 0.9rem;
        }
        .promolinks-item-text {
            font-size: 0.75rem;
        }
        .promolinks-item-link {
            font-size: 0.7rem;
        }
    }

    /* < 540px — items в одну колонку */
    @media (width < 540px) {
        .promolinks-container {
            grid-template-columns: 1fr;
            justify-items: center;
        }

        .promolinks-item {
            max-width: 280px;
            width: 100%;

            &:nth-child(1) {
                order: 2;
            }

            &:nth-child(2) {
                order: 1;
            }

            &:nth-child(3) {
                order: 3;
            }
        }
    }
}

.block-reviews {
    margin-block: 2rem;
    container-type: inline-size;

    .images {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;

        @container (width < 576px) {
            grid-template-columns: 1fr;
        }
    }
}

.block-samples {
    margin-block: 2rem;
    container-type: inline-size;

    .title {
        text-align: center;
    }

    .images {
        display: grid;
        grid-template-columns: 8fr 4fr 3fr;
        grid-template-rows: 460px 460px;
        gap: 1rem;

        @container (width < 1200px) {
            grid-template-rows: 360px 360px;
        }

        @container (width < 992px) {
            grid-template-rows: 320px 320px;
        }

        @container (width < 768px) {
            grid-template-rows: 240px 240px;
        }

        @container (width < 576px) {
            grid-template-rows: 140px 140px;
        }

        @container (width < 480px) {
            grid-template-rows: 100px 100px;
        }
    }

    .image {
        overflow: hidden;
        img {
            width: 100%;
            height: 100%;
            object-position: center;
            object-fit: cover;
        }
    }

    .image-1 {
        grid-row: 1 / 3;
    }

    .image-2 {
        grid-column: 2 / -1;
        grid-row: 1;
    }

    .image-3 {
        grid-column: 2;
        grid-row: 2;
    }

    .image-4 {
        grid-column: 3;
        grid-row: 2;
    }
}
.block-service-deadlines {
    margin-block: 2rem;
    position: relative;
    container-type: inline-size;

    .bg {
        position: absolute;
        inset: 0;
        z-index: 0;
        overflow: hidden;
        border-radius: calc(var(--pico-border-radius) * 2);

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }

    .content {
        position: relative;
        z-index: 1;
        max-width: 580px;
        padding: 2rem;
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
        color: #fff;
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
    }

    .title {
        margin: 0;
        font-size: 1.8rem;
        font-weight: bold;
        color: #fff;
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);

        @container (width < 640px) {
            font-size: 1.4rem;
        }
    }

    .items {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .item {
        display: flex;
        align-items: flex-start;
        gap: 1rem;
    }

    .item-icon {
        flex-shrink: 0;
        width: 48px;
        height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;

        img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }
    }

    .item-text {
        flex: 1;
        min-width: 0;
        font-size: 0.95rem;
        line-height: 1.5;
        color: #fff;
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);

        @container (width < 640px) {
            br {
                display: none;
            }
        }
    }
}

.block-service-steps {
    margin-block: 3rem;
    container-type: inline-size;

    .items {
        display: grid;
        grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
        align-items: start;
        justify-items: center;
        gap: 1rem;

        @container (width < 640px) {
            grid-template-columns: 1fr auto 1fr;
            row-gap: 2rem;
        }

        @container (width < 480px) {
            grid-template-columns: 1fr;
            max-width: 360px;
            margin-inline: auto;
        }
    }

    /* Desktop: 4 items in one row with arrows between */
    & .items > :nth-child(1) { grid-column: 1; }
    & .items > :nth-child(2) { grid-column: 2; }
    & .items > :nth-child(3) { grid-column: 2; }
    & .items > :nth-child(4) { grid-column: 3; }
    & .items > :nth-child(5) { grid-column: 4; }
    & .items > :nth-child(6) { grid-column: 4; }
    & .items > :nth-child(7) { grid-column: 5; }
    & .items > :nth-child(8) { grid-column: 6; }
    & .items > :nth-child(9) { grid-column: 6; }
    & .items > :nth-child(10) { grid-column: 7; }

    @container (width < 640px) {
        & .items > :nth-child(1) { grid-column: 1; }
        & .items > :nth-child(2) { grid-column: 2; }
        & .items > :nth-child(3) { display: none; }
        & .items > :nth-child(4) { grid-column: 3; }
        & .items > :nth-child(5) { display: none; }
        & .items > :nth-child(6) { display: none; }
        & .items > :nth-child(7) { grid-column: 1; }
        & .items > :nth-child(8) { grid-column: 2; }
        & .items > :nth-child(9) { display: none; }
        & .items > :nth-child(10) { grid-column: 3; }
    }

    @container (width < 480px) {
        & .items > :nth-child(1) { grid-column: 1; }
        & .items > :nth-child(2) { display: none; }
        & .items > :nth-child(3) { grid-column: 1; }
        & .items > :nth-child(4) { grid-column: 1; }
        & .items > :nth-child(5) { display: none; }
        & .items > :nth-child(6) { grid-column: 1; }
        & .items > :nth-child(7) { grid-column: 1; }
        & .items > :nth-child(8) { display: none; }
        & .items > :nth-child(9) { grid-column: 1; }
        & .items > :nth-child(10) { grid-column: 1; }
    }

    .item {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.75rem;
        width: 100%;

        @container (width < 480px) {
            flex-direction: row;
            text-align: left;
            gap: 1rem;
        }
    }

    .item-image {
        width: 110px;
        height: 110px;
        border-radius: 50%;
        background: #f0f0f2;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;

        @container (width < 480px) {
            width: 80px;
            height: 80px;
        }

        img {
            max-width: 60%;
            max-height: 60%;
            object-fit: contain;
        }
    }

    .item-text {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .item-title {
        font-weight: bold;
        font-size: 1rem;
        line-height: 1.2;
        @container (width < 1024px) and (width >= 480px) {
            font-size: .8rem;
        }
    }

    .item-description {
        font-size: 0.8rem;
        line-height: 1.3;
    }

    /* Arrow styles */
    .arrow {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
        color: #ccc;
        user-select: none;
        pointer-events: none;
    }

    .arrow-right {
        display: flex;
        margin-top: calc(55px - 0.5em);

        @container (width < 480px) {
            display: none;
        }
    }

    .arrow-down {
        display: none;

        @container (width < 480px) {
            display: flex;
        }
    }
}

.block-service-talon {
    margin-block: 2rem;


    .service-talon-inner {
        max-width: 960px;
        margin-inline: auto;
        border: 1px solid var(--pico-primary);
        border-radius: var(--pico-border-radius);
        padding: 1rem 2rem;
        display: flex;
        align-items: center;
        gap: 1.5rem;
        background-color: #f5f7f6;
    }

    .service-talon-icon {
        flex-shrink: 0;

        img {
            display: block;
            width: 60px;
            height: auto;
        }
    }

    .service-talon-text {
        flex: 1;
        min-width: 0;
    }

    .service-talon-title {
        font-weight: bold;
        font-size: 1.1rem;
        line-height: 1.3;
        margin-bottom: 0.25rem;
    }

    .service-talon-description {
        font-size: 0.9rem;
        line-height: 1.4;
    }

    .service-talon-action {
        flex-shrink: 0;
    }

    .service-talon-btn {
        white-space: nowrap;
        padding: 0.5rem 1.5rem;
        font-size: 0.95rem;
    }

    /* Mobile: stack vertically */
    @media (width < 640px) {
        .service-talon-inner {
            flex-direction: column;
            text-align: center;
            padding: 1.5rem 1rem;
        }

        .service-talon-text {
            text-align: center;
        }

        .service-talon-action {
            width: 100%;
        }

        .service-talon-btn {
            width: 100%;
        }
    }
}

.block-service-terms {
    margin-block: 2rem;

    .title {
        text-align: center;
    }

    .items-grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 1rem;

        @media (width < 640px) {
            grid-template-columns: 1fr 1fr;
        }

        @media (width < 480px) {
            grid-template-columns: 1fr;
        }
    }

    .card {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        gap: .5rem;
        padding: 1rem;
        width: 100%;
        background: #fff;
        border-radius: calc(var(--pico-border-radius) * 2);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

        .card-header {
            display: flex;
            align-items: center;
            gap: .75rem;
        }

        .card-number {
            width: 62px;
            height: 62px;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;

            img {
                height: 62px;
                width: auto;
                object-fit: contain;
            }
        }

        .card-icon {
            width: 48px;
            height: 48px;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            justify-content: center;

            img {
                height: 48px;
                width: auto;
                object-fit: contain;
            }
        }

        .card-title {
            font-size: .8rem;
            font-weight: bold;
            line-height: 1.2;
            max-width: 140px;
            word-break: normal;
            overflow-wrap: normal;
            hyphens: none;
        }

        .card-description {
            font-size: 0.8rem;
            line-height: 1.2;

            @media (width < 640px) {
                br {
                    display: none;
                }
            }
        }
    }
}

.block-simpleslider {
    .splide__pagination {
        gap: 6px;
        button {
            display: block;
            background-color: white;
            border-radius: 50%;
            width: 12px;
            height: 12px;
            border: 1px solid var(--primary);
        }
    }
}
/* ==========================================================================
   Shadrina blocks
   ========================================================================== */

/* ---------- Hero ---------- */

.block-hero {
    position: relative;
    padding-block: 0;
}

.block-hero__photo {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: top left;
}

.block-hero__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-start;
    width: 100%;
    max-width: var(--wrapper);
    margin-inline: auto;
}

.block-hero--no-media .block-hero__overlay {
    position: static;
    padding-block: clamp(2rem, 4vw, 3.5rem);
}

.block-hero__content {
    max-width: 40rem;
    padding: 253px 2rem 2rem 64px;
    box-sizing: border-box;
}

/* Hero eyebrows measure rgb(146,128,128) — a warm grey — consistently across
   контакты/главная/faq (method sanity-checked: the hero title measures
   rgb(62,62,62) against --c-ink #3F3F3F), not the darker --c-ink-soft. */
.block-hero .eyebrow { color: #92807F; text-transform: uppercase; letter-spacing: 0.03em; }
.block-hero--no-media .block-hero__title { font-size: 5rem; line-height: 1; letter-spacing: -0.01em; }
.block-hero--no-media .block-hero__content { max-width: 46rem; padding-top: 248px; }

/* Hero with the picture on the right (neuroclub) — height follows the design ratio */
.block-hero--side { aspect-ratio: 1280 / 686; }
.block-hero--side .block-hero__photo {
    position: absolute;
    top: 141px;
    left: 802px;
    width: 408px;
    height: auto;
}
.block-hero--side .block-hero__content { padding: 250px 0 0 64px; }
.block-hero--side .block-hero__title-img { display: inline-block; vertical-align: middle; height: 149px; width: auto; }
.block-hero__title img { display: inline-block; vertical-align: middle; width: auto; max-width: 100%; height: auto; }
.block-hero--side .block-hero__title { font-size: 2.9rem; line-height: 1; }
.block-hero--side .eyebrow { color: #9a9a92; letter-spacing: 0.06em; }
.block-hero__title-img { display: block; height: auto; }
.hero-boxes, .block-hero__text img { display: block; width: auto; max-width: 100%; height: auto; }

.block-hero__title {
    font-family: var(--font-serif);
    font-size: clamp(1.6rem, 2.9vw, 36px);
    font-weight: 400;
    color: var(--c-ink);
    line-height: 1.12;
    margin-bottom: 0.5em;
}
.block-hero__title strong { font-weight: 700; }

.block-hero__subtitle {
    font-family: var(--font-serif);
    font-size: clamp(1.5rem, 2.7vw, 34px);
    font-weight: 400;
    color: var(--c-ink);
    line-height: 1.2;
    margin-bottom: 1rem;
}

.block-hero__rule {
    width: 4rem;
    height: 2px;
    background: var(--c-olive);
    border: none;
    margin: 0 0 1.4rem;
}

.block-hero__text {
    max-width: 34rem;
    color: var(--c-ink-soft);
    font-size: 0.88rem;
    line-height: 1.3;
}
.block-hero__text strong { color: var(--c-ink); }
/* The design sets the contacts hero copy in a 382px measure (PSD layer
   (63,431) 382x167 — three lines per paragraph), narrower than the block's
   default so the two paragraphs break as drawn. */
.page-contacts .block-hero__text { max-width: 382px; }
.block-hero__text p { margin: 0; }
.block-hero__text p + p { margin-top: 0.9em; }
.block-hero__actions { margin-top: 1.6rem; }



/* ---------- Section ---------- */

.block-section {
    padding-block: 20px;
}
.block-section--cream { background: var(--c-cream-2); }
.block-section--olive { background: var(--c-olive); color: #fff; }
.block-section--olive .section-title,
.block-section--olive .block-section__head h2 { color: #fff; }
.block-section--olive .eyebrow { color: #fff; }

.block-section__head { margin-bottom: 1.2rem; max-width: 46rem; }
.block-section--center .block-section__head { text-align: center; margin-inline: auto; }
.block-section__head .section-title { margin-bottom: 0.4em; }
.block-section__head .lead { margin: 0; }

.block-section__body > * + * { margin-top: 1.5rem; }

/* Section decoration + title ornament */
.block-section--deco { position: relative; }
.block-section__deco {
    position: absolute;
    left: calc((1144px - 100vw) / 2);
    top: 0;
    width: 124px;
    height: auto;
    pointer-events: none;
    z-index: 0;
}
.block-section--deco .container { position: relative; z-index: 1; }
.section-title__img { display: block; width: auto; max-width: 100%; height: auto; margin: 6px 0 0; }
.block-section--center .section-title__img { margin-inline: auto; }

/* ---------- Split ---------- */

.block-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    align-items: start;
}
.block-split--3-2 { grid-template-columns: 2fr 1fr; }
.block-split--2-3 { grid-template-columns: 1fr 2fr; }
.block-split--gap-none { gap: 0; }

@media (max-width: 820px) {
    .block-split,
    .block-split--3-2,
    .block-split--2-3 { grid-template-columns: 1fr; }
}

/* ---------- Cards ---------- */

.block-cards {
    display: grid;
    grid-template-columns: repeat(var(--cols, 2), 1fr);
    gap: 1.5rem;
}
.block-cards--cols-1 { --cols: 1; }
.block-cards--cols-2 { --cols: 2; }
.block-cards--cols-3 { --cols: 3; }

@media (max-width: 900px) {
    .block-cards--cols-2, .block-cards--cols-3 { --cols: 1; }
}

.block-card {
    display: flex;
    flex-direction: column;
    background: var(--c-paper);
    border: 1px solid var(--c-line);
    border-radius: 1.1rem;
    box-shadow: none;
    overflow: hidden;
    height: 100%;
    padding: 0;
    margin-block: 0;
}

.block-card__media { background: #fff; }
.block-card__media img { width: 100%; height: 100%; object-fit: contain; object-position: center; }

.block-card__body {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    flex: 1;
}

.block-card__eyebrow {
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--c-olive);
}

.block-card__title {
    font-family: var(--font-serif);
    font-size: 1.57rem;
    font-weight: 400;
    color: var(--c-olive-deep);
    line-height: 1.2;
    margin: 0;
}
.block-card__title::after {
    content: '';
    display: block;
    width: 70px;
    height: 4px;
    margin-top: 14px;
    margin-bottom: 22px;
    background: var(--c-olive);
}

.block-card__title-img {
    display: block;
    width: 250px;
    max-width: 100%;
    height: auto;
}

.block-card__text { color: var(--c-ink); font-size: 0.96rem; line-height: 1.6; }
.block-card__text strong { color: var(--c-ink); }

.block-card__format {
    font-size: 0.9rem;
    color: var(--c-ink-soft);
    margin-top: 0.3rem;
}

.block-card__list {
    list-style: none;
    margin: 0.3rem 0 0;
    padding: 0;
    gap: 0.39rem;
}
.block-card__list li {
    list-style: none;
    position: relative;
    padding-left: 1rem;
    line-height: 1.4;
}
.block-card__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: var(--c-olive);
}
.block-card__list--plain li { padding-left: 0; }
.block-card__list--plain li::before { content: none; }

.block-card__tag {
    align-self: flex-start;
    margin-top: auto;
    padding-top: 0.6rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--c-olive-dark);
}

.block-card__promo {
    margin-top: auto;
    padding: 0.85rem 1rem;
    background: var(--c-navy);
    border-radius: 0.8rem;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    align-items: flex-start;
}
.block-card__promo-title { font-weight: 700; font-size: 0.95rem; }
.block-card__promo-text { font-size: 0.88rem; color: rgba(255,255,255,0.85); }
.block-card__promo-img {
    display: block;
    width: 320px;
    max-width: none;
    height: auto;
    margin-top: 0.6rem;
    margin-right: -60px;
}
.block-cards--cols-2 .block-card:not(.block-card--media-right) .block-card__media,
.block-cards--cols-3 .block-card:not(.block-card--media-right) .block-card__media { }
.block-cards--cols-3 .block-card:not(.block-card--media-right) .block-card__media img { height: 150px; width: auto; max-width: 100%; object-fit: contain; }

.block-card .btn {
    align-self: flex-start;
    margin-top: 0.5rem;
    font-size: 0.86rem;
    padding: 0.48rem 1.38rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.block-card__aside {
    margin: 0 1.25rem 1.25rem;
    padding: 1rem 1.2rem;
    background: var(--c-cream-2);
    border-radius: 0.8rem;
}
.block-card__aside-title {
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 0.04em;
    color: var(--c-olive-dark);
    margin-bottom: 0.5rem;
}
.block-card__aside-text { font-size: 0.93rem; line-height: 1.55; color: var(--c-ink); }

/* Card with aside -> horizontal 3-zone layout on wide screens */
.block-cards--cols-1 .block-card {
    display: grid;
    grid-template-columns: minmax(0, 0.55fr) minmax(0, 1.15fr) minmax(0, 0.95fr);
    align-items: stretch;
}
.block-cards--cols-1 .block-card__media img { height: 100%; min-height: 200px; object-fit: cover; }
.block-cards--cols-1 .block-card__aside {
    margin: 1.6rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
@media (max-width: 900px) {
    .block-cards--cols-1 .block-card { grid-template-columns: 1fr; }
}

/* Horizontal card: image floats right, body text wraps around it */
.block-card--media-right { display: block; position: relative; }
.block-card--media-right-top { display: block; position: relative; }
.block-card--media-right .block-card__body { display: flow-root; position: relative; }
.block-card--media-right-top .block-card__body { display: flow-root; position: relative; }
.block-card--media-right .block-card__body > * + * { margin-top: 0.55rem; }
.block-card--media-right .block-card__body > .btn { margin-top: 15px; }
.block-card--media-right .block-card__text { line-height: 1.0; }
.block-card--media-right .block-card__text ~ .block-card__list { margin-top: 22px; }
.block-card--media-right .block-card__list--plain + .btn { margin-top: 25px; }
.block-card--media-right .block-card__title-img { margin-top: -11px; }
/* The "Привилегия" promo banner sits in normal flow after the button:
   absolute positioning made it overlap the card's list above it.
   Design puts it at card-relative (26, 344), 320x146. */
.block-card--media-right .block-card__promo-img {
    position: static;
    width: 320px;
    max-width: 100%;
    margin: 16px 0 0;
}
.block-card--media-right-top .block-card__media,
.block-card--media-right .block-card__media {
    float: right;
    width: 38%;
    margin: 0 0 0.6rem 4px;
}
.block-card--media-right-top .block-card__media img,
.block-card--media-right .block-card__media img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
}

/* Navy (privilege) cards */
.block-card--navy { background: var(--c-navy); border-color: var(--c-navy); color: #fff; }
.block-card--navy .block-card__title { color: #fff; }
.block-card--navy .block-card__text { color: rgba(255,255,255,0.85); }
.block-card--navy .block-card__eyebrow { color: var(--c-gold); }
.block-card--navy .block-card__list li::before { background: var(--c-gold); }

/* Cards with a leading circular icon (privilege package) */
.block-card--icon .block-card__body {
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    padding: 15px 28px 15px 9px;
}
.block-card__icon { flex: 0 0 auto; }
.block-card__icon img { width: 76px; height: auto; display: block; }
.block-card__main { flex: 1 1 auto; min-width: 0; }
.block-card--icon .block-card__text {
    font-size: 0.86rem;
    line-height: 1.35;
    color: var(--c-ink);
}
.block-card--icon .block-card__text p { margin: 0 0 0.7em; }
.block-card--icon .block-card__text p:last-child { margin-bottom: 0; }
.block-card--icon .block-card__text strong { font-weight: 700; color: var(--c-ink); }

/* Centered card content */
.block-card--align-center .block-card__body { align-items: center; text-align: center; padding: 15px 22px; }
.block-card--align-center .block-card__title::after { margin-inline: auto; }
.block-card--align-center .block-card__text { text-align: center; }
.block-card--deco { position: relative; }
.block-cards--cols-2 .block-card--align-center:not(.block-card--media-right) .block-card__media,
.block-cards--cols-3 .block-card--align-center:not(.block-card--media-right) .block-card__media {
    height: auto;
    background: transparent;
}
.block-cards--cols-2 .block-card--align-center .block-card__media img,
.block-cards--cols-3 .block-card--align-center .block-card__media img {
    width: auto;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
}

/* Absolutely positioned card decoration */
.block-card--deco { overflow: visible; }
.block-card__deco {
    position: absolute;
    left: -23px;
    top: 77px;
    width: 201px;
    height: auto;
    z-index: 0;
    pointer-events: none;
}
.block-card--deco .block-card__body { position: relative; z-index: 1; }

/* Counter card */
.cnt-cap {
    font-family: var(--font-serif);
    font-size: 1.55rem;
    line-height: 1;
    text-transform: uppercase;
    color: var(--c-navy);
    margin-bottom: 8px;
}
.cnt-line { display: block; width: 168px; height: auto; margin: 0 auto 34px; }
.cnt-label {
    font-family: var(--font-serif);
    font-size: 1.45rem;
    line-height: 1;
    color: var(--c-navy);
    margin-bottom: 20px;
}
.cnt-num {
    display: block;
    box-sizing: content-box;
    width: 107px;
    height: auto;
    margin: 0 auto;
    border: 1px solid var(--c-line);
    border-radius: 0.9rem;
    padding: 20px 31px;
}
.cnt-foot {
    font-family: var(--font-serif);
    font-size: 1.05rem;
    line-height: 1;
    color: var(--c-navy);
    margin-top: 32px;
}
.cnt-h {
    font-family: var(--font-serif);
    color: var(--c-gold);
    text-transform: uppercase;
    font-size: 1.3rem;
    line-height: 1.0;
    letter-spacing: 0.02em;
}
.cnt-h .big { font-size: 1.8rem; }
.block-card--navy .block-card__text .cnt-h { color: var(--c-gold); }
.block-card--navy .block-card__text { color: #fff; }
.block-card--navy .block-card__text p { font-size: 0.95rem; line-height: 1.35; }
.block-card--align-center .block-card__text p { margin: 0 0 0.85em; }
.block-card--align-center .block-card__media { padding-top: 18px; box-sizing: border-box; }

/* ---------- List ---------- */

.block-list__title {
    font-family: var(--font-serif);
    font-size: 1.3rem;
    color: var(--c-olive-deep);
    margin-bottom: 1rem;
}
.block-list ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.8rem;
}
.block-list--cols-2 ul { column-count: 2; column-gap: 2.5rem; display: block; }
.block-list--cols-2 li { break-inside: avoid; }
.block-list li {
    position: relative;
    padding-left: 1.4rem;
    font-size: 1rem;
    line-height: 1.55;
}
.block-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.5em;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--c-olive);
}
.block-list--numbered ul { counter-reset: bl; }
.block-list--numbered li { padding-left: 2.2rem; counter-increment: bl; }
.block-list--numbered li::before {
    content: counter(bl);
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background: var(--c-olive);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    top: 0.1em;
}

@media (max-width: 760px) {
    .block-list--cols-2 ul { column-count: 1; }
}
.block-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    text-align: center;
}
.block-stat__icon {
    width: auto;
    height: auto;
    margin: 0 auto 20px;
    color: var(--c-olive);
    display: flex;
    align-items: center;
    justify-content: center;
}
.block-stat__icon svg { width: 1.7rem; height: 1.7rem; }
.block-stat__icon img { width: auto; height: auto; max-width: 100%; display: block; }
.block-stat__value {
    font-family: var(--font-serif);
    font-size: 1.7rem;
    font-weight: 400;
    color: var(--c-olive-deep);
    line-height: 25px;
    margin-bottom: 0;
}
.block-stat__label {
    font-size: 0.86rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--c-ink-soft);
    max-width: 17.7rem;
    margin-inline: auto;
    line-height: 20px;
}
@media (max-width: 700px) { .block-stats { grid-template-columns: 1fr; gap: 1.6rem; } }

/* ---------- Steps ---------- */

.block-steps {
    list-style: none;
    margin: 0 0 27px;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}
.block-step {
    flex: 0 0 241px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
}
.block-step:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 44px;
    right: -21px;
    width: 42px;
    height: 13px;
    background: url('/themes/shadrina/assets/images/design/priv-step-arrow.webp') no-repeat center / contain;
}
.block-step__icon { width: 100px; height: auto; display: block; margin-bottom: 21px; }
.block-step__title { font-weight: 400; color: var(--c-ink); font-size: 0.86rem; line-height: 1.35; }
.block-step__text { font-size: 0.86rem; color: var(--c-ink); line-height: 1.35; }
@media (max-width: 900px) {
    .block-step { flex: 1 1 0; }
    .block-step__icon { width: 64px; }
    .block-step:not(:last-child)::after { display: none; }
}

/* ---------- FAQ ---------- */

.block-faq { display: grid; gap: 0.9rem; max-width: 52rem; }
.block-faq__item {
    background: var(--c-paper);
    border: 1px solid var(--c-line);
    border-radius: 0.8rem;
    overflow: hidden;
}
.block-faq__q {
    cursor: pointer;
    padding: 1.1rem 1.4rem;
    font-family: var(--font-serif);
    font-size: 1.15rem;
    color: var(--c-olive-deep);
    list-style: none;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}
.block-faq__q::-webkit-details-marker { display: none; }
.block-faq__q::after {
    content: '+';
    font-family: var(--font-sans);
    font-size: 1.5rem;
    color: var(--c-olive);
    line-height: 1;
    transition: transform .18s ease;
}
.block-faq__item[open] .block-faq__q::after { transform: rotate(45deg); }
.block-faq__a {
    padding: 0 1.4rem 1.3rem;
    font-size: 0.98rem;
    line-height: 1.6;
    color: var(--c-ink);
    max-width: 44rem;
}
/* Answers are multi-paragraph prose (content supplied as <p> in the page block) */
.block-faq__a p { margin: 0 0 0.85em; }
.block-faq__a p:last-child { margin-bottom: 0; }

/* ---------- CTA ---------- */

.block-cta { padding-block: 0; }
.block-cta--light { background: var(--c-cream-2); }
.block-cta--navy .block-cta__inner {
    background: var(--c-navy);
    border-radius: 1.4rem;
    padding: 36px 53px 36px 62px;
    display: flex;
    align-items: center;
    gap: 34px;
}
.block-cta__inner {
    display: flex;
    align-items: center;
    gap: 34px;
}
.block-cta__title {
    font-family: var(--font-serif);
    font-size: 1.7rem;
    line-height: 1.05;
    color: var(--c-olive-deep);
    margin: 0;
}
.block-cta--navy .block-cta__title {
    color: var(--c-gold);
    font-style: italic;
}
.block-cta__text { color: var(--c-ink-soft); max-width: 36rem; }
.block-cta--navy .block-cta__text { color: rgba(255,255,255,0.82); }
.block-cta__social { margin-left: auto; }
.block-cta__social img { width: 201px; height: auto; display: block; }
.block-cta .btn { padding: 10px 32px; font-size: 0.95rem; letter-spacing: 0.04em; }

/* ---------- Text (richtext) ---------- */

.block-text { max-width: 46rem; line-height: 1.65; }
.block-text p { margin: 0 0 1em; }
.block-text h2, .block-text h3 { font-family: var(--font-serif); color: var(--c-olive-deep); }

/* ---------- Title (standalone) ---------- */

.block-title {
    font-family: var(--font-serif);
    font-size: clamp(1.5rem, 2.4vw, 2rem);
    font-weight: 600;
    color: var(--c-olive-deep);
}
.block-title.center { text-align: center; }
.block-title.right { text-align: right; }

/* ---------- Button ---------- */
.block-button { display: flex; }
.block-button--center { justify-content: center; }
.block-button .btn--link { color: var(--c-olive-dark); }

/* ---------- Image ---------- */
.block-image img { border-radius: 1rem; width: 100%; object-fit: cover; }

/* ---------- Diagnostics ---------- */

.block-diagnostics { max-width: var(--wrapper); margin-inline: auto; }

.block-diag {
    position: relative;
    border: 1px solid var(--c-line);
    border-radius: 1rem;
    background: #fff;
    padding: 35px 40px 40px 183px;
    overflow: hidden;
}

.block-diag__leaf {
    /* The replaced artwork is a 196x356 crop of the design's left band, not the
       old 1144x360 full-width sheet. PSD template match puts it at
       card-relative (0, 3) with NCC 0.9190 at natural size, so it is anchored
       left and must not be stretched. It sits behind the content (z-index 0,
       with every sibling lifted). */
    position: absolute;
    left: 0;
    top: 3px;
    right: auto;
    width: 196px;
    height: auto;
    max-width: none;
    pointer-events: none;
    z-index: 0;
}
.block-diag > *:not(.block-diag__leaf) { position: relative; z-index: 1; }

.block-diag__title {
    font-family: var(--font-serif);
    font-size: 2.05rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.055em;
    color: var(--c-olive-deep);
    margin: 0 0 13px;
}

.block-diag__grid {
    display: grid;
    grid-template-columns: minmax(0, 460px) minmax(0, 1fr);
    gap: 40px;
    align-items: start;
}

.block-diag__subtitle {
    text-transform: uppercase;
    color: var(--c-olive);
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.04em;
    line-height: 1.25;
    margin-bottom: 20px;
    max-width: 360px;
}

.block-diag__text { font-size: 0.98rem; line-height: 1.45; color: var(--c-ink); margin-bottom: 22px; }
.block-diag__text p { margin: 0 0 0.55em; }
.block-diag__text strong { color: var(--c-ink); }

.block-diag__right { padding-bottom: 0; }
.block-diag__cities { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }

.block-diag__city-name {
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.06em;
    color: var(--c-ink-soft);
}
.block-diag__city-num {
    font-family: var(--font-serif);
    font-size: 2.1rem;
    line-height: 1.05;
    color: var(--c-olive-deep);
}
.block-diag__city-month { font-size: 0.98rem; color: var(--c-ink-soft); }

.block-diag__church { display: block; margin: 18px auto 0; max-width: 100%; height: auto; }

@media (max-width: 820px) {
    .block-diag__grid { grid-template-columns: 1fr; }
    .block-diag__city { position: static; }
    .block-diag__cities, .block-diag__right { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
}

.block-cards .block-card--mh:not(.block-card--media-right) .block-card__media { height: var(--mh); }
.block-cards .block-card--mh:not(.block-card--media-right) .block-card__media img { width: auto; height: 100%; object-fit: contain; object-position: left center; margin-right: auto; }
.block-cards .block-card--mh:not(.block-card--media-right) .block-card__media { background: transparent; display: flex; justify-content: flex-start; }

/* About: hero badges */
.ab-badges { display: flex; gap: 10px; margin-top: 8px; }
.ab-badge { display: flex; flex-direction: column; align-items: flex-start; gap: 26px; width: 180px; }
.ab-badge img { width: 87px; height: 87px; display: block; }
.ab-badge b { display: block; font-weight: 700; color: var(--c-ink); font-size: 0.9rem; line-height: 1.2; }
.ab-badge span { display: block; color: var(--c-ink); font-size: 0.9rem; line-height: 1.2; }
.block-hero--no-media .block-hero__text { margin-top: 0; }


/* Numbered lists (about) */
.block-list--numbered ul { list-style: none; margin: 0; padding: 0; }
.block-list--numbered { counter-reset: blist; }
.block-list--numbered li {
    list-style: none;
    counter-increment: blist;
    position: relative;
    padding-left: 68px;
    margin-bottom: 30px;
    font-size: 0.98rem;
    line-height: 1.35;
}
.block-list--numbered li::before {
    content: counter(blist);
    position: absolute;
    left: 0;
    top: -4px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #EDF2DC;
    color: var(--c-olive-deep);
    font-family: var(--font-serif);
    font-size: 1.3rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.block-list--numbered li::marker { content: none; }
.block-list--cols-2 ul { column-count: 2; column-gap: 60px; }
.block-list__title { font-family: var(--font-serif); font-size: 1.9rem; color: var(--c-olive-deep); margin-bottom: 26px; }

/* Veterans: conditions block */
.block-text:has(.vt-cond) { max-width: 100%; }
.vt-cond { display: flex; gap: 30px; align-items: stretch; }
.vt-cond__card {
    flex: 1 1 auto;
    border: 1px solid #C9CBA3;
    border-radius: 1.1rem;
    padding: 41px 45px 16px;
}
.vt-cond__h { font-family: var(--font-serif); font-size: 2rem; color: var(--c-olive-deep); margin: 0; }
.vt-cond__h::after { content: ''; display: block; width: 93px; height: 5px; margin-top: 23px; background: var(--c-olive); }
.vt-cond__rows { margin-top: 27px; display: grid; gap: 24px; }
.vt-cond__row { display: flex; gap: 40px; align-items: center; font-size: 1.05rem; line-height: 1.35; }
.vt-cond__row img { width: 79px; height: 80px; flex: 0 0 auto; }
.vt-cond__row strong { font-weight: 700; }
.vt-cond__photo { width: 432px; height: 443px; object-fit: cover; border-radius: 1.1rem; flex: 0 0 auto; }

/* About: professionalism band */
.block-text:has(.ab-pro) { max-width: 100%; }
.ab-pro { display: flex; align-items: center; gap: 0; }
.ab-pro__chair { width: 230px; height: 425px; object-fit: contain; flex: 0 0 auto; }
.ab-pro__band {
    flex: 1 1 auto;
    background: var(--c-cream-2);
    border-radius: 1.4rem;
    padding: 46px 44px;
    display: flex;
    align-items: center;
    gap: 34px;
}
.ab-pro__tick { width: 149px; height: 140px; flex: 0 0 auto; }
.ab-pro__text { flex: 1 1 auto; }
.ab-pro__text h2 { font-family: var(--font-serif); font-size: 2rem; color: var(--c-olive-deep); margin: 0 0 14px; }
.ab-pro__text p { margin: 0; color: var(--c-ink); font-size: 1.05rem; }
.ab-pro__btn { flex: 0 0 auto; }
.ab-pro__btn img { width: 124px; height: 134px; display: block; }

/* About: diplomas block */
.block-text:has(.ab-dip) { max-width: 100%; }
.ab-dip { display: flex; gap: 30px; align-items: flex-start; }
.ab-dip__card {
    flex: 1 1 auto;
    position: relative;
    border: 1px solid #C9CBA3;
    border-radius: 1.1rem;
    padding: 42px 45px 45px;
    overflow: hidden;
}
.ab-dip__card h2 { font-family: var(--font-serif); font-size: 2rem; font-weight: 400; color: var(--c-olive-deep); margin: 0; }
.ab-dip__card h2::after { content: ''; display: block; width: 93px; height: 4px; margin-top: 24px; background: var(--c-olive); }
.ab-dip__lead { margin: 42px 0 0; font-size: 1.05rem; line-height: 1.4; color: var(--c-ink); max-width: 30rem; }
.ab-dip__row { display: flex; align-items: center; gap: 26px; margin-top: 58px; }
.ab-dip__row img { width: 83px; height: 82px; }
.ab-dip__row span { font-size: 1.05rem; line-height: 1.35; color: var(--c-ink); }
.ab-dip__leaf { position: absolute; pointer-events: none; }
.ab-dip__leaf--1 { left: 20px; top: 196px; width: 100px; }
.ab-dip__leaf--2 { left: 472px; top: 118px; width: 132px; }
.ab-dip__photo { width: 520px; height: 355px; object-fit: cover; border-radius: 1.1rem; flex: 0 0 auto; }

/* Neuroclub: order banner */
.block-text:has(.nc-order) { max-width: 100%; }
.nc-order {
    background: url('/themes/shadrina/assets/images/design/nc-form-bg.webp') no-repeat left center / cover;
    border-radius: 1.4rem;
    display: flex;
    align-items: center;
}
.nc-order__in { padding: 60px 0 60px 79px; }
.nc-order__in h2 { font-family: var(--font-serif); font-size: 1.65rem; font-weight: 400; color: var(--c-olive-deep); margin: 0 0 32px; }
.nc-order__in p { margin: 0 0 40px; font-size: 1.05rem; line-height: 1.35; color: var(--c-ink); }
.nc-order__row { display: flex; align-items: center; gap: 13px; }
.nc-order__row img { width: 34px; height: 34px; display: block; }
/* Плашка — только для телефонной ссылки. Значки мессенджеров теперь тоже <a>,
   и без этого ограничения они получали оливковую пилюлю и лишний margin. */
.nc-order__row a[href^="tel:"] {
    margin-left: 13px;
    background: var(--c-olive);
    color: #fff;
    font-weight: 700;
    padding: 12px 35px;
    border-radius: 999px;
    text-decoration: none;
    font-size: 1.05rem;
}

/* Card with the picture below the text */
.block-card--media-bottom { justify-content: flex-start; }
.block-cards .block-card--media-bottom .block-card__media { flex: 0 0 auto; }
.block-cards .block-card--media-bottom .block-card__body { flex: 0 0 auto; }
.block-cards .block-card--media-bottom .block-card__media {
    height: auto;
    margin-top: auto;
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    overflow: hidden;
}
.block-cards .block-card--media-bottom .block-card__media img {
    width: auto;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    object-position: bottom center;
}

/* Diagnostics: cities with churches and divider */
.block-diag__right { display: flex; align-items: flex-start; }
.block-diag__city { display: flex; align-items: flex-start; flex: 1 1 0; }
.block-diag__city-in { flex: 1 1 auto; }
.block-diag__divider { width: 26px; height: 305px; flex: 0 0 auto; }
.block-diag__church { display: block; margin: 22px auto 0; max-width: 100%; height: auto; }

#priem .block-section__body { margin-top: 18px; }
#priem .block-card__media { flex: 0 0 42%; }
#priem .block-card__body { padding: 20px 24px; }
#priem .block-card__eyebrow { color: var(--c-olive); letter-spacing: 0.06em; }
#priem .block-card__title { font-size: 18.4px; line-height: 22px; margin: 0; }
#priem .btn { margin-top: 12px; }


/* Home: news card */
.block-text:has(.news-card) { max-width: 100%; }
.news-card {
    position: relative;
    background: #F9F9F7;
    border-radius: 1.1rem;
    padding: 31px 40px 31px 31px;
    display: grid;
    grid-template-columns: 321px 1fr;
    gap: 0;
    overflow: hidden;
}
.news-card__leaf { position: absolute; right: 105px; top: -74px; width: 323px; height: auto; pointer-events: none; }
.news-card__left { position: relative; z-index: 1; }
.news-card__right { position: relative; z-index: 1; border-left: 4px solid var(--c-line); padding-left: 36px; }
.news-card__h {
    font-family: var(--font-sans);
    font-size: 1.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.01em;
    color: var(--c-olive-deep);
    margin: 0 0 62px;
}
.news-card__p { font-size: 1.05rem; line-height: 1.35; color: var(--c-ink); margin: 0 0 46px; }
.news-card__all { color: var(--c-ink); text-decoration: underline; font-size: 1.05rem; display: inline-flex; align-items: center; gap: 10px; }
.news-card__t { font-family: var(--font-serif); font-size: 1.35rem; font-weight: 400; color: var(--c-olive-deep); margin: 0 0 26px; }
.news-card__body { font-size: 1.05rem; line-height: 1.35; color: var(--c-ink); margin: 0 0 34px; }
.news-card__read {
    display: inline-flex; align-items: center; gap: 10px;
    border: 1px solid #C9CBA3; border-radius: 999px;
    padding: 11px 40px; color: var(--c-olive); text-decoration: none; font-size: 1.05rem;
}

/* Veterans: what you can come with */
.block-text:has(.vt-list) { max-width: 100%; }
.vt-list { position: relative; padding: 33px 0 22px 279px; }
.vt-list__leaf { position: absolute; left: 0; top: -33px; width: 312px; height: auto; pointer-events: none; }
.vt-list__h { font-family: var(--font-serif); font-size: 1.75rem; font-weight: 400; color: var(--c-olive-deep); margin: 0 0 30px; }
.vt-list__h::after { content: ''; display: block; width: 93px; height: 5px; margin-top: 23px; background: var(--c-olive); }
.vt-list__rows { display: grid; gap: 9px; }
.vt-row { display: flex; align-items: center; gap: 8px; padding-block: 7px; font-size: 1.15rem; color: var(--c-ink); }
.vt-row img { width: 78px; height: 79px; flex: 0 0 auto; }

/* Veterans: alone band */
.block-text:has(.vt-alone) { max-width: 100%; }
.vt-alone {
    position: relative;
    background: #F0EEE1;
    border-radius: 1.1rem;
    padding: 42px 60px 42px 315px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    overflow: hidden;
}
.vt-alone__leaf { position: absolute; left: 12px; top: 14px; width: 185px; height: auto; pointer-events: none; }
.vt-alone__text {
    position: relative; z-index: 1;
    font-family: var(--font-serif);
    font-style: italic;
    color: var(--c-olive-deep);
    font-size: 1.6rem;
    line-height: 1.25;
}
.vt-alone__phone { position: relative; z-index: 1; flex: 0 0 auto; }
.vt-alone__phone img { width: 124px; height: 134px; display: block; }


/* Neuroclub: diagnostics section sizing */
#nc-diag .block-split__col img,
#nc-diag img { width: auto; max-width: 553px; height: auto; }
#nc-diag .block-text { max-width: 420px; }
#nc-diag .diag-icons img { width: 73px; height: 73px; }
#nc-diag .diag-icons { display: flex; gap: 24px; margin-top: 22px; }

/* Contacts: info boxes + map */
.block-text:has(.ct-info) { max-width: 100%; }
/* One rounded frame holds all three columns, separated by hairlines — the design
   draws a single Прямоугольник 1 копия 3 (65,687) 1149x164 with dividers at
   x620 and x913. Every track sizes to its content: the address is prose and
   wraps, while the nowrap phone and e-mail keep their own width (an auto track
   never shrinks below min-content, which for nowrap text is the full string). */
.ct-info {
    display: grid;
    grid-template-columns: auto auto auto;
    border: 1px solid var(--c-line);
    border-radius: 1.1rem;
    overflow: hidden;
}
.ct-info__box {
    display: flex; align-items: flex-start; gap: 20px;
    padding: 27px 30px;
}
.ct-info__box + .ct-info__box { border-left: 1px solid var(--c-line); }
.ct-info__box img { width: 100px; height: 100px; flex: 0 0 auto; }
.ct-info__h { color: var(--c-olive); font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.02em; margin-bottom: 12px; }
.ct-info__box p { margin: 0; font-size: 1rem; line-height: 1.4; color: var(--c-ink); }
.ct-info__v { font-weight: 700; color: var(--c-ink); font-size: 1.05rem; text-decoration: underline; white-space: nowrap; }
.ct-map { display: grid; grid-template-columns: 554px 1fr; gap: 21px; margin-top: 46px; }
/* The map is a Yandex constructor widget now, not a picture: it keeps the
   design's 554x350 box and rounded corners, and drops to fluid on narrow
   screens with the aspect ratio preserved. */
.ct-map__img {
    width: 554px;
    height: 350px;
    max-width: 100%;
    border: 0;
    border-radius: 1.1rem;
    display: block;
}
.ct-map__card {
    position: relative; border: 1px solid var(--c-line); border-radius: 1.1rem;
    padding: 34px 45px; overflow: hidden;
    background: #FCFAF8;
}
/* The leaf is the card's background artwork, anchored to the right. The replaced
   file is a 155x334 sprig (it was a 568x351 full-card sheet); template match puts
   it at right:0 / top:16px in the design — NCC 0.9316, no scaling. */
.ct-map__leaf { position: absolute; right: 0; top: 16px; width: 155px; height: auto; pointer-events: none; z-index: 0; }
.ct-map__card h2 { position: relative; z-index: 1; font-family: var(--font-serif); font-size: 1.75rem; font-weight: 400; color: var(--c-olive-deep); margin: 0 0 26px; }
.ct-map__socials { position: relative; z-index: 1; display: flex; gap: 13px; margin-bottom: 40px; }
.ct-map__socials img { width: 34px; height: 34px; display: block; }
/* Design: an olive pill — Прямоугольник 4 копия 3 (683,1144) 232x43, fill
   rgb(135,155,68) = --c-olive, white uppercase label «связаться со мной». */
.ct-map__btn {
    position: relative; z-index: 1;
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 43px;
    padding: 0 1.25rem;
    background: var(--c-olive);
    color: #fff;
    border-radius: 999px;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-decoration: none;
}
.ct-map__btn:hover { color: #fff; filter: brightness(1.06); }

/* Contacts: professionalism band */
.block-text:has(.ct-pro) { max-width: 100%; }
.ct-pro { display: flex; align-items: center; }
.ct-pro__chair { width: 230px; height: 342px; object-fit: contain; flex: 0 0 auto; }
.ct-pro__band {
    flex: 1 1 auto;
    /* exact value from the design's frame (Прямоугольник 7 (55,1310) 1156x237) */
    background: #F0EEE0;
    border-radius: 1.4rem;
    padding: 47px 44px;
    display: flex; align-items: center; gap: 24px;
}
.ct-pro__tick { width: 149px; height: 140px; flex: 0 0 auto; }
.ct-pro__text { flex: 1 1 auto; }
.ct-pro__text h2 { font-family: var(--font-serif); font-size: 1.75rem; font-weight: 400; color: var(--c-olive-deep); margin: 0 0 12px; }
.ct-pro__text p { margin: 0; color: var(--c-ink); font-size: 1.05rem; }
.ct-pro__btn { flex: 0 0 auto; }
.ct-pro__btn img { width: 124px; height: 134px; display: block; }

/* Programs: final CTA band */
.block-text:has(.pr-cta) { max-width: 100%; }
.pr-cta {
    background: url('/themes/shadrina/assets/images/design/pr-cta.webp') no-repeat left center / cover;
    border-radius: 1.1rem;
    display: flex;
    align-items: center;
    gap: 40px;
    padding: 0 40px 0 424px;
    box-sizing: border-box;
}
.pr-cta__in { flex: 1 1 auto; }
.pr-cta__in h2 { font-family: var(--font-serif); font-size: 1.6rem; font-weight: 400; color: var(--c-olive-deep); margin: 0 0 20px; }
.pr-cta__in p { margin: 0; color: var(--c-ink); font-size: 1.05rem; line-height: 1.35; max-width: 460px; }
.pr-cta__btn {
    flex: 0 0 auto;
    background: #788D36; color: #fff;
    padding: 16px 40px; border-radius: 999px;
    text-decoration: none; font-size: 1.05rem; font-weight: 600;
}

/* ---------- Home: vertical rhythm measured from the design ---------- */
.page-home .zone-page > * { margin-block-end: 0; }
.page-home .zone-page > .block-section,
.page-home .zone-page > .block-diagnostics { padding-block: 0; }
.page-home #services { padding-block: 34px 14px; }
.page-home .zone-page > .block-diagnostics { padding-block: 0 19px; }
.page-home #stats { padding-block: 0 34px; }
.page-home #priem { padding-block: 0 34px; }
.page-home #news { padding-block: 0 24px; }

/* ---------- Privilege: card geometry measured from the design ---------- */
.page-privilege #sostav .block-section__head { margin-bottom: 38px; }

.page-privilege #sostav { margin-bottom: 0; }
.page-privilege #sostav2 { margin-bottom: 0; }
.page-privilege .block-cta { margin-bottom: 105px; }

/* ---------- About: geometry measured from the design ---------- */
.page-about .block-hero__photo { aspect-ratio: 1280 / 619; object-fit: cover; object-position: top left; }

/* ---------- Veterans: vertical rhythm measured from the design ---------- */
.page-veterans .vt-list { padding-top: 6px; }
.page-veterans .vt-list__h { margin-bottom: 21px; }
.page-veterans #vt1 { margin-bottom: 0; }
.page-veterans #vt2 { padding-block: 0; }
.page-veterans #vt3 { padding-block: 14px 0; margin-bottom: 50px; }


/* Neuroclub: "С чем мы работаем" icon list */
.block-text:has(.nc-fmt) { max-width: 100%; }
.nc-fmt { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.nc-fmt li { display: grid; grid-template-columns: 57px 1fr; gap: 20px; align-items: start; font-size: 1.05rem; line-height: 1.35; color: var(--c-ink); }
.nc-fmt img { width: 57px; height: auto; display: block; }

/* ---------- Neuroclub: card sizes measured from the design ---------- */

.page-neuroclub .section-title { font-size: 26px; line-height: 32px; }

.page-neuroclub #nc-diag { padding-bottom: 5px; margin-bottom: 0; }

.page-neuroclub #nc-format { padding-bottom: 8px; margin-bottom: 0; }

.page-neuroclub #nc-gifts { padding-bottom: 0; margin-bottom: 0; }
.page-neuroclub #nc-sign { padding-bottom: 0; margin-bottom: 5px; }

/* Home hero: address rows with pin icons on the left */
/* The design leaves 36px between the lead line and «Адреса:»; this margin plus
   the heading's own stacked to 59, which pushed the hero 14px past the design's
   703px box and made the (now adaptive) hero taller than the canvas. */
.block-hero__text .hero-lead { margin: 0; }
.block-hero__text .hero-addr__h { margin: 0 0 8px; }
.block-hero__text .hero-addr {
    display: grid;
    grid-template-columns: 15px 1fr;
    column-gap: 7px;
    margin: 0 0 14px;
}
.block-hero__text .hero-addr img { width: 15px; height: 20px; display: block; margin-top: 3px; }

/* ---------- Home: news block typography (from the design) ---------- */
.news-card .news-card__eyebrow {
    font-family: var(--font-sans);
    font-size: 17px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #9a9a92;
    margin: 0 0 47px;
    white-space: nowrap;
}
.news-card .news-card__t {
    font-family: var(--font-serif);
    font-size: 19px;
    font-weight: 400;
    line-height: 22.3px;
    max-width: 353px;
    color: var(--c-olive-deep);
    margin: 0 0 27px;
}
.news-card .news-card__t-cap {
    display: block;
    font-family: var(--font-sans);
    font-size: 19px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--c-olive);
}
.news-card .news-card__body {
    font-size: 0.9rem;
    line-height: 21.7px;
    color: var(--c-ink);
    margin: 0 0 20px;
    max-height: 65px;
    overflow: hidden;
}
.news-card .news-card__all,
.news-card .news-card__read {
    font-family: var(--font-sans);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--c-ink);
    text-decoration: underline;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
.news-card .news-card__all img { width: 19px; height: 13px; }
.news-card .news-card__p { font-size: 1rem; line-height: 21.7px; }
.news-card .news-card__read {
    color: var(--c-olive);
    text-decoration: none;
    border: 1px solid var(--c-olive);
    border-radius: 999px;
    padding: 13px 30px;
}
.news-card .news-card__read img { width: 19px; height: 13px; }

.news-card .news-card__body { max-width: 303px; margin-bottom: 38px; }
.news-card .news-card__p { margin-bottom: 51px; }
.news-card .news-card__read { line-height: 13px; padding: 14px 42px; gap: 16px; }
.news-card .news-card__t { margin-bottom: 27px; }

.news-card .news-card__all { display: flex; width: fit-content; }
.news-card .news-card__read { display: flex; width: fit-content; }

.news-card .news-card__t { font-size: 21.5px; }
.news-card .news-card__t-cap { font-size: 19px; }

/* Privilege cards: text typography from the design (card height follows the text) */
.page-privilege #sostav .block-card p {
    font-size: 1rem;
    line-height: 23px;
    margin: 0 0 11px;
}
.page-privilege #sostav .block-card p:last-child { margin-bottom: 0; }
.page-privilege #sostav .block-card__body { padding: 23px 28px 18px 10px; }

/* Contacts: info boxes sized by their text (design 161px) */
.page-contacts .ct-info__box { padding: 22px 30px 10px; }
.page-contacts .ct-info__h { font-size: 0.88rem; line-height: 21.5px; margin: 0; }
.page-contacts .ct-info__box p { font-size: 0.88rem; line-height: 21.5px; }
.page-contacts .ct-info__v { font-size: 0.95rem; line-height: 21.5px; }

.page-contacts #ct-info { padding-block: 5px 20px; }
.page-contacts #ct-pro { padding-block: 20px 0; }



/* Home priem: map sits top-right in the card, as in the design */
#priem .block-card { position: relative; }
#priem .block-card__media { position: absolute; right: 37px; top: 16px; width: 187px; float: none; }
#priem .block-card__body { padding-right: 40px; }

/* Home priem: city pill, phone decoration, "Как найти?" with a pin */
#priem .block-section__deco { left: 52px; top: 110px; width: 124px; height: auto; }
#priem .block-card__eyebrow {
    display: inline-block;
    background: var(--c-olive);
    color: #fff;
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 6px 20px;
    border-radius: 999px;
}
#priem .btn--link { text-transform: none; display: inline-flex; align-items: center; gap: 10px; }
#priem .btn--link::before {
    content: '';
    width: 24px; height: 30px; flex: 0 0 auto;
    background: url('/themes/shadrina/assets/images/design/priem-pin.webp') no-repeat center / contain;
}

/* Home priem: cards at the design's grid — PSD puts the two 417px cards at
   x348 and x792 (gap 27) inside an 1160px row, with the phone art on the left.
   The 187px map is an absolutely positioned decoration, so the body keeps only
   a small right padding — a large one squeezed the title to 134px and made
   "первая половина месяца" wrap to three lines instead of two. */
#priem .block-cards { grid-template-columns: 417px 417px; gap: 27px; justify-content: start; padding-left: 280px; }
#priem .block-card__media { width: 187px; }
#priem .block-card__body { padding: 22px 40px 20px 32px; }
#priem .block-card__title { max-width: 154px; padding-left: 7px; }

/* Home priem: gradient-filled serif title (colours sampled from the design) */
#priem .section-title {
    font-family: var(--font-serif);
    font-size: 49px;
    font-weight: 400;
    line-height: 47px;
    background-image: linear-gradient(90deg,
        #A56722 0%, #C28028 10%, #E39D2F 20%, #E9B042 30%, #F1C155 40%,
        #F4CF5F 50%, #FFDB65 60%, #F6C357 70%, #E6A336 80%, #C98729 90%, #AE7021 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    margin: -4px 0 0;
}

/* The leaf is absolutely positioned, so it paints above static in-flow content.
   When __grid becomes display:contents (home), __left/__right lose the parent
   rule and must be lifted explicitly or the leaf covers them. */
.block-diag__title,
.block-diag__grid,
.block-diag__left,
.block-diag__right,
.block-diag__city,
.block-diag__city-in { position: relative; z-index: 1; }

.page-home .block-diag { background: #FBF9F7; }

/* ------------------------------------------------------------------
   Home diagnostics — two layouts.

   At >= 1150px the card is the full 1144px design canvas, so every
   offset below is taken straight from the PSD layer boxes as
   (design_x - 68, design_y - 1255), measured from the padding box.
   The left column keeps normal flow (it defines the card height); the
   freely-placed right-hand art is absolutely positioned and adds none.

   Below that the block reflows: same content order, cities side by
   side, then stacked on phones.
   ------------------------------------------------------------------ */

.page-home .block-diag .btn {
    text-transform: uppercase;
    font-size: 0.78rem;
    letter-spacing: 0.05em;
    line-height: 14px;
    padding: 14px 42px;
}

/* the olive bar under the title: "Прямоугольник 2 копия 3" (73x7 at 248,1340) */
.page-home .block-diag__title::after {
    content: '';
    display: block;
    width: 73px;
    height: 7px;
    border-radius: 4px;
    background: var(--c-olive);
    margin: 14px 0 0;
}

/* the leaf sits behind everything, so keep every painted part above it */
.page-home .block-diag__church,
.page-home .block-diag__divider,
.page-home .block-diag__city-num,
.page-home .block-diag__city-name,
.page-home .block-diag__city-month { z-index: 1; }
.page-home .block-diag__city-num,
.page-home .block-diag__city-name,
.page-home .block-diag__city-month { z-index: 2; }

/* September diagnostics: three plain columns — text, Краснодар, Москва.
   No absolute positioning and no pixel offsets: the columns are grid tracks,
   so the block stays correct at every width. Each city keeps its church on the
   column's bottom edge and the artwork is only scaled down if the column is
   narrower than the image (max-width: 100%), never up. */
.page-home .block-diag {
    display: grid;
    /* the title needs ~490px to stay on one line, and the two city columns
       split the rest evenly */
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: stretch;
    gap: 1.25rem 1.5rem;
    /* the left inset leaves room for the leaf artwork behind the block */
    padding: 2.2rem 2rem 1rem 9rem;
    background: #FBF9F7;
}
.page-home .block-diag__grid,
.page-home .block-diag__right { display: contents; }

.page-home .block-diag__title {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 0;
    font-size: clamp(21px, 1.3vw + 10px, 27px);
    letter-spacing: 0.035em;
    color: #777755;
}
.page-home .block-diag__left { grid-column: 1; grid-row: 2; max-width: 34rem; padding-top: 1.25rem; }
.page-home .block-diag__subtitle { margin-bottom: 0.8rem; }
.page-home .block-diag__text { font-size: 0.9rem; line-height: 1.55; }
.page-home .block-diag__text p { margin: 0 0 0.6em; }

.page-home .block-diag__city {
    grid-row: 1 / span 2;
    display: flex;
    flex-direction: column;
    position: relative;
}
.page-home .block-diag__city:nth-of-type(1) { grid-column: 2; }
.page-home .block-diag__city:nth-of-type(2) { grid-column: 3; }
.page-home .block-diag__city-in { position: relative; display: flex; flex-direction: column; flex: 1 1 auto; }

.page-home .block-diag__city-name,
.page-home .block-diag__city-num,
.page-home .block-diag__city-month {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    margin: 0;
}
.page-home .block-diag__city-num {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 2.14rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 1.5px;
    white-space: nowrap;
}
.page-home .block-diag__city-month { font-size: 1.28rem; line-height: 1.2; }

/* The church sits on the column's bottom edge, centred, never wider than it. */
.page-home .block-diag__church {
    margin: auto 0 0;
    width: auto;
    max-width: 100%;
    height: auto;
    align-self: center;
}
.page-home .block-diag__divider { display: none; }

/* Intermediate step: the copy takes the full width on its own row and the two
   cities sit side by side beneath it, so the layout only becomes a single
   column when the cities can no longer stand next to each other. The left inset
   keeps the copy clear of the leaf artwork behind the block. */
@media (max-width: 1100px) {
    .page-home .block-diag {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        padding: 1.75rem 1.5rem 1rem 12.5rem;
        gap: 1.25rem 1.5rem;
    }
    .page-home .block-diag__title,
    .page-home .block-diag__left { grid-column: 1 / -1; grid-row: auto; }
    /* Must match the (0,3,0) specificity of the desktop :nth-of-type rules
       above, otherwise the cities stay in columns 2 and 3 and reintroduce
       implicit tracks (first column collapsed to 0px). */
    .page-home .block-diag__city:nth-of-type(1) { grid-column: 1; grid-row: auto; }
    .page-home .block-diag__city:nth-of-type(2) { grid-column: 2; grid-row: auto; }
    .page-home .block-diag__city-in { border-top: 1px solid var(--c-line); padding-top: 1rem; }
}

@media (max-width: 700px) {
    .page-home .block-diag {
        grid-template-columns: minmax(0, 1fr);
        padding: 1.5rem 1.25rem 1rem;
    }
    .page-home .block-diag__city:nth-of-type(1),
    .page-home .block-diag__city:nth-of-type(2) { grid-column: 1; }
    .page-home .block-diag__city-in { border-top: 0; padding-top: 0; }
    /* the leaf would sit under the copy at this width */
    .page-home .block-diag__leaf { display: none; }
}

@media (max-width: 640px) {
    .page-home .block-diag { padding: 1.5rem 1.25rem 1rem; }
    .page-home .block-diag__leaf { opacity: 0.45; }
}

/* Home services, "Котокактус" card: the subtitle under the logo is olive */
.page-home #services .block-card__text { color: var(--c-olive); }

/* Home diagnostics: the big serif title is a muted olive in the design */
.page-home .block-diag__title { color: #777755; }

/* Home services, "Котокактус" card: list column 340px, 17/21.5 per the PSD layer box */
.page-home #services .block-card:nth-child(2) .block-card__list {
    font-size: 17px;
    line-height: 21.5px;
    max-width: 318px;
}
.page-home #services .block-card:nth-child(2) .block-card__text { margin-top: 11px; margin-bottom: 24px; }

/* Card media must keep the artwork's natural size: flex-shrink was scaling
   the cactus down to 92% of its PSD box. */
.block-card--media-right .block-card__media { flex-shrink: 0; }

/* "Котокактус" card: the cactus is decoration, not a float.  In the design it
   overlaps the text (text ends at x1009, cactus starts at x986), so it is
   placed absolutely at its PSD box (986,908) 211x296 and contributes no height. */
.page-home #services .block-card:nth-child(2) .block-card { position: relative; }
.page-home #services .block-card:nth-child(2) .block-card__media {
    position: absolute;
    left: 332px;
    top: 171px;
    width: 211px;
    margin: 0;
    float: none;
    background: transparent;
}

/* ==================================================================
   Games ("Трансформационные игры для взрослых") — geometry from the PSD.
   Card boxes are 1149 wide at x=57; offsets below are design_x-57 and
   design_y-card_top, laid out with grid so the page reflows by itself.
   ================================================================== */
.page-games .block-richtext { max-width: 100%; }
.page-games .block-text:has(.gm-why),
.page-games .block-text:has(.gm-three),
.page-games .block-text:has(.gm-aim),
.page-games .block-text:has(.gm-formats),
.page-games .block-text:has(.gm-sign) { max-width: 100%; }

/* ---- card shell: every games card is one rounded panel ---- */
.gm-why, .gm-three, .gm-aim, .gm-formats {
    position: relative;
    border: 1px solid var(--c-line);
    border-radius: 1rem;
    background: #FFFDFA;
    overflow: hidden;
}

/* ---- card 1: Почему мы играем? ---- */
.gm-why {
    display: grid;
    grid-template-columns: 271px minmax(0, 406px) minmax(0, 422px);
    align-items: start;
    padding: 20px 28px 30px 22px;
    min-height: 385px;
}
.gm-why__face { width: 275px; max-width: 100%; height: auto; margin-top: -6px; }
.gm-why__main { padding: 18px 30px 0 0; }
.gm-why__t {
    font-family: var(--font-serif);
    font-size: 27px;
    font-weight: 400;
    color: var(--c-olive-deep);
    margin: 0 0 17px;
}
.gm-why__main p { font-size: 0.9rem; line-height: 21.5px; color: var(--c-ink); margin: 0; }
.gm-why__leaf { position: absolute; left: -57px; top: -81px; width: 128px; height: auto; pointer-events: none; }

/* ---- the pale inner panel used by cards 1 and 3 ---- */
.gm-panel {
    background: #F5F3EA;
    border-radius: 0.9rem;
    padding: 20px 32px 26px;
}
.gm-panel__h {
    position: relative;
    font-family: var(--font-sans);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--c-olive);
    line-height: 1.45;
    margin: 0 0 14px;
    padding-right: 62px;
}
.gm-panel__h img { position: absolute; right: 0; top: 0; width: 56px; height: auto; }
.gm-panel p { font-size: 0.9rem; line-height: 21.5px; color: var(--c-ink); margin: 0 0 0.8em; }
.gm-panel p:last-child { margin-bottom: 0; }

/* ---- card 2: three games ---- */
.gm-three { padding: 24px 0 15px 0; }
.gm-three__t {
    font-family: var(--font-serif);
    font-size: 28px;
    font-weight: 400;
    color: var(--c-olive-deep);
    margin: 0 0 16px;
    padding-left: 33px;
}
.gm-three__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.gm-col { padding: 0 24px 0 21px; border-left: 3px solid var(--c-line); }
.gm-col:first-child { border-left: 0; }
.gm-col__ic { height: 134px; width: auto; max-width: 100%; margin-bottom: 36px; }
.gm-col__ic--dragon { height: 110px; margin-top: 20px; }
.gm-col__ic--eye { height: 127px; margin-top: 3px; }
.gm-col__t {
    font-family: var(--font-serif);
    font-size: 24px;
    font-weight: 400;
    color: var(--c-olive-deep);
    margin: 0 0 20px;
}
.gm-col p { font-size: 0.9rem; line-height: 21.5px; color: var(--c-ink); margin: 0; }

/* ---- card 3: what all three games aim at ---- */
.gm-aim {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 461px);
    align-items: start;
    gap: 0;
    padding: 20px 28px 26px 0;
    min-height: 367px;
}
.gm-aim__leaf { position: absolute; left: 3px; top: 94px; width: 119px; height: auto; pointer-events: none; }
.gm-aim__t {
    font-family: var(--font-serif);
    font-size: 27px;
    font-weight: 400;
    color: var(--c-olive-deep);
    margin: 14px 0 26px;
    padding-left: 153px;
}
.gm-aim__list { margin: 0; padding: 0 40px 0 178px; list-style: none; }
.gm-aim__list li {
    position: relative;
    font-size: 0.9rem;
    line-height: 21.5px;
    color: var(--c-ink);
    padding-left: 23px;
    margin-bottom: 20px;
}
.gm-aim__list li:last-child { margin-bottom: 0; }
.gm-aim__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--c-olive-deep);
}
.gm-aim__panel { margin-top: 0; }
.gm-aim__panel .gm-panel__h { padding-right: 44px; }
.gm-aim__panel .gm-panel__h img { width: 32px; }

/* ---- card 4: two formats ---- */
.gm-formats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
    padding: 34px 28px 12px 38px;
    min-height: 409px;
}
.gm-fmt { padding-right: 40px; }
/* the lotus overlaps its heading in the design, so it is decoration: placed
   absolutely and the heading is pushed down to the shared baseline. */
.gm-fmt:last-child { position: relative; padding: 125px 0 0 25px; }
.gm-fmt__ic { height: 123px; width: auto; max-width: 100%; margin-bottom: 2px; }
.gm-fmt__ic--lotus { position: absolute; left: 25px; top: -23px; height: 169px; margin: 0; }
.gm-fmt__t {
    font-family: var(--font-serif);
    font-size: 24px;
    font-weight: 400;
    color: var(--c-olive-deep);
    margin: 0 0 25px;
}
.gm-fmt__p { font-size: 0.9rem; line-height: 21.5px; color: var(--c-ink); margin: 0; }

/* ---- the sign-up card ---- */
.gm-sign {
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    padding: 30px 40px 30px 343px;
    min-height: 236px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.gm-sign__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.gm-sign__t, .gm-sign__p, .gm-sign__btn { position: relative; z-index: 1; }
.gm-sign__t {
    font-family: var(--font-serif);
    font-size: 24px;
    font-weight: 400;
    color: var(--c-olive-deep);
    margin: 0 0 18px;
}
.gm-sign__p { font-size: 0.9rem; line-height: 21.5px; color: var(--c-ink); margin: 0 0 22px; max-width: 548px; }
.gm-sign__btn { align-self: flex-start; text-transform: uppercase; font-size: 0.78rem; letter-spacing: 0.05em; padding: 14px 30px; white-space: nowrap; }
@media (min-width: 1150px) {
    .gm-sign__btn { position: absolute; left: 909px; top: 100px; }
}

/* ---- reflow below the design canvas ---- */
@media (max-width: 1149px) {
    .gm-why { grid-template-columns: minmax(0, 275px) minmax(0, 1fr); min-height: 0; padding: 24px; gap: 20px 24px; }
    .gm-why__panel { grid-column: 1 / -1; }
    .gm-why__leaf { display: none; }
    .gm-why__main { padding-right: 0; }
    .gm-three__grid { grid-template-columns: 1fr; }
    .gm-col { border-left: 0; border-top: 3px solid var(--c-line); padding: 24px; }
    .gm-col:first-child { border-top: 0; }
    .gm-three__t { padding-left: 24px; font-size: clamp(20px, 2.2vw + 8px, 28px); }
    .gm-aim { grid-template-columns: 1fr; min-height: 0; padding: 24px; }
    .gm-aim__panel { margin-top: 24px; }
    .gm-aim__leaf { display: none; }
    .gm-aim__t { padding-left: 0; font-size: clamp(20px, 2.2vw + 8px, 27px); }
    .gm-aim__list { padding: 0; }
    .gm-formats { grid-template-columns: 1fr; min-height: 0; padding: 24px; gap: 34px; }
    .gm-fmt, .gm-fmt:last-child { padding: 0; }
    .gm-sign { padding: 26px 24px; }
    .gm-sign__p { max-width: none; }
}
@media (max-width: 640px) {
    .gm-why { grid-template-columns: 1fr; }
    .gm-why__face { width: 200px; margin: 0 auto; }
    .gm-why__t, .gm-three__t, .gm-aim__t, .gm-fmt__t { font-size: 22px; }
    .gm-panel { padding: 18px 20px 22px; }
    .gm-panel__h { padding-right: 0; }
    .gm-panel__h img { display: none; }
}

/* Games: vertical rhythm taken from the design's card gaps */
.page-games .zone-page > * { margin-block-end: 0; }
.page-games .block-section { padding-block: 0; }
.page-games #gm-why { padding-top: 22px; padding-bottom: 11px; }
.page-games #gm-three { padding-bottom: 28px; }
.page-games #gm-aim { padding-bottom: 40px; }
.page-games #gm-formats { padding-bottom: 38px; }
.page-games .gm-aim__body { min-width: 0; }

/* the games link inside the "Взрослым" card list */
.block-card__list a { color: var(--c-olive); text-decoration: none; }
.block-card__list a:hover { text-decoration: underline; }

/* Home "Взрослым" card: the branch+armchair artwork covers the whole card in the
   design (PSD "Слой 18" = 559x499) and overlaps the promo banner, so it is a
   background decoration instead of a float.  The banner then sits in normal
   flow and cannot overlap the list above it. */
.page-home #services .block-card:nth-child(1) { position: relative; }
/* The armchair artwork sits bottom-right at its natural 233x468 — same manner
   as the cactus in the neighbouring card. PSD template match puts it at
   card-relative (326, 8) with NCC 0.9955 at scale 1.0, so it must not be
   scaled. It is decoration: absolutely positioned, contributes no height. */
.page-home #services .block-card:nth-child(1) .block-card__media {
    position: absolute;
    left: 326px;
    top: 8px;
    width: 233px;
    margin: 0;
    float: none;
    background: transparent;
    z-index: 0;
}
.page-home #services .block-card:nth-child(1) .block-card__media img {
    display: block;
    width: 233px;
    height: auto;
}
/* The artwork is a positioned sibling inside __main, so it paints above plain
   in-flow content (the title).  Lift every piece of text explicitly. */
.page-home #services .block-card:nth-child(1) .block-card__title,
.page-home #services .block-card:nth-child(1) .block-card__list,
.page-home #services .block-card:nth-child(1) .btn,
.page-home #services .block-card:nth-child(1) .block-card__promo-img { position: relative; z-index: 1; }

/* ---------- Contacts: adaptive layout ----------
   The design is a fixed 1280 canvas, so every grid below is declared at its
   design width first and collapsed here. Without these rules the third info
   column collapses to 0px and the map card squeezes to ~90px. */
@media (max-width: 1160px) {
    .ct-info { grid-template-columns: auto auto auto; }
    .ct-map { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .ct-map__img { width: 100%; height: auto; aspect-ratio: 554 / 350; }
}

@media (max-width: 1023px) {
    /* Three info columns can no longer hold icon + a nowrap phone/email, so the
       frame stacks from here rather than at 860. */
    .ct-info { grid-template-columns: minmax(0, 1fr); }
    .ct-info__box + .ct-info__box { border-left: 0; border-top: 1px solid var(--c-line); }
    .ct-info__box { padding: 22px 20px; }
    .ct-pro { flex-direction: column; align-items: stretch; gap: 22px; }
    .ct-pro__chair { width: auto; max-width: 230px; height: auto; margin-inline: auto; }
    .ct-pro__band { padding: 34px 30px; }
}

@media (max-width: 860px) {
    .ct-map { grid-template-columns: minmax(0, 1fr); }
    .ct-pro__band { flex-wrap: wrap; gap: 20px; }
    .ct-pro__text { min-width: 0; flex: 1 1 14rem; }
}

@media (max-width: 640px) {
    .page-contacts .ct-info__box { flex-direction: column; gap: 14px; padding: 20px; }
    .page-contacts .ct-info__box img { width: 64px; height: 64px; }
    .ct-info__v { font-size: 1rem; }
    .ct-pro__band { padding: 26px 20px; }
    .ct-pro__tick { width: 96px; height: 90px; }
    .ct-pro__btn img { width: 84px; height: 91px; }
    .ct-map__card { padding: 26px 22px; }
    .ct-map__leaf { width: 110px; top: auto; bottom: 0; }
    .page-contacts .block-hero__content { max-width: 100%; }
    .page-contacts .block-hero__text { max-width: 100%; }
}

/* The hero is a full-bleed banner in the design — it spans the whole 1280 canvas
   edge to edge. Below 1180px the page gains side gutters (see theme.css), which
   would inset the hero and leave white gaps, so the hero cancels them. */
@media (max-width: 1180px) {
    .zone-page > .block-hero { margin-inline: -1.25rem; }
}
@media (max-width: 640px) {
    .zone-page > .block-hero { margin-inline: -1.25rem; }
}

/* «Привилегия» promo card: the design's badge reads «ОСТАЛОСЬ 9 МЕСТ» with the
   figure baked into the artwork. That digit is painted out of
   privilege-banner.webp, and the live value from the theme settings
   (Привилегия — осталось мест) is drawn into the badge tile instead.
   Tile measured at (119,69) 30x20 inside the 320x146 artwork. */
.block-card__promo-wrap { position: relative; display: block; width: 320px; max-width: 100%; }
.block-card__promo-wrap .block-card__promo-img { width: 100%; }
.block-card__promo-count {
    /* the promo image is lifted to z-index 1 by the text-stacking rule below */
    z-index: 2;
    position: absolute;
    left: 37.19%;
    top: 47.26%;
    width: 9.38%;
    height: 13.7%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-serif);
    font-size: 19px;
    font-weight: 600;
    line-height: 1;
    color: #CC9E40;
}

/* Every hero height. The overlay is absolutely positioned, so it never
   contributed to the hero's height: once the copy grew taller than the scaled
   photo it spilled over the next section and hid it. Stacking photo and overlay
   into one grid cell makes the hero exactly as tall as the taller of the two,
   and the copy's 253px top offset (a 1280-canvas value) is capped by its vw
   equivalent so it stays proportional as the canvas narrows. The --side variant
   keeps its own geometry and is scaled proportionally below. */
.block-hero:not(.block-hero--side) { display: grid; }
.block-hero:not(.block-hero--side) .block-hero__photo { grid-area: 1 / 1; height: auto; }
.block-hero:not(.block-hero--side) .block-hero__overlay { grid-area: 1 / 1; position: relative; inset: auto; }
.block-hero__content { padding-top: min(253px, 19.77vw); }
.block-hero--no-media .block-hero__content { padding-top: min(248px, 19.375vw); }

/* The --side hero (neuroclub) has the same problem: its artwork is absolutely
   positioned and its height came from the aspect-ratio alone, so copy taller
   than 1280/686 spilled past the hero. The grid stack lets the hero take the
   taller of the ratio and the copy; the artwork keeps its absolute offsets. */
.block-hero--side { display: grid; }
.block-hero--side .block-hero__overlay { grid-area: 1 / 1; position: relative; inset: auto; }

/* Neuroclub hero: the artwork is placed in pixels on the 1280 canvas, so it is
   scaled by the same ratio and the copy's inset follows it. */
@media (max-width: 1280px) {
    .block-hero--side .block-hero__photo { left: 62.66%; top: 20.55%; width: 31.88%; }
    .block-hero--side .block-hero__content { padding: min(250px, 19.53vw) 0 0 min(64px, 5vw); }
}

/* Service cards (block-cards--cols-2) place their artwork at absolute offsets
   measured on the 1280 canvas — armchair at left:326px, cactus at left:332px.
   The grid drops to one column at 900px, but between there and the design width
   the columns narrow first and those offsets push the images outside the card.
   Below the design width the artwork returns to the flow and is centred. */
@media (max-width: 1160px) {
    .page-home #services .block-card:nth-child(1) .block-card__media,
    .page-home #services .block-card:nth-child(2) .block-card__media {
        position: static;
        inset: auto;
        width: auto;
        max-width: 100%;
        margin: 16px 0 0;
        float: none;
    }
    .page-home #services .block-card:nth-child(1) .block-card__media img,
    .page-home #services .block-card:nth-child(2) .block-card__media img {
        display: block;
        width: auto;
        max-width: 100%;
        height: auto;
        margin-inline: auto;
    }
}

/* Home priem: the two 417px columns plus the 280px inset for the phone art total
   1141px, so the grid overflowed below the design width — and because the fixed
   template replaces the --cols variable it also ignored the cols-2 collapse.
   Below the design width the tracks become fluid and the collapse applies again. */
@media (max-width: 1160px) {
    #priem .block-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem;
        padding-left: 0;
    }
    #priem .block-card__media { width: 150px; }
    #priem .block-card__body { padding: 20px 24px; }
    #priem .block-card__title { max-width: none; padding-left: 0; }
}

@media (max-width: 900px) {
    #priem .block-cards { grid-template-columns: minmax(0, 1fr); }
    #priem .block-card__media { position: static; width: auto; max-width: 187px; margin: 0 0 12px; }
}

/* Between 901px and the design width the header is absolutely positioned and a
   constant 207px tall, while the hero copy's top offset was purely
   proportional — so the copy slid under the header (10px of overlap at 987px,
   19px at 940px). In that band the offset is floored at 220px, which clears the
   header; below 901px the header is in the flow and the proportional value is
   left alone. */
@media (min-width: 901px) {
    .block-hero__content { padding-top: clamp(220px, 19.77vw, 253px); }
    .block-hero--no-media .block-hero__content { padding-top: clamp(220px, 19.375vw, 248px); }
    .block-hero--side .block-hero__content { padding-top: clamp(220px, 19.53vw, 250px); }
}

/* Small screens keep the hero artwork as a faint backdrop instead of dropping
   it: the photo fills the hero box at reduced opacity and the copy stays on top
   of it. Declared at the end of the file on purpose — the hero grid rules above
   carry the same specificity and would otherwise win the cascade. */
@media (max-width: 820px) {
    .block-hero:not(.block-hero--side) .block-hero__photo {
        display: block;
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: top right;
        opacity: 0.32;
        z-index: 0;
    }
    .block-hero:not(.block-hero--side) .block-hero__overlay { position: relative; z-index: 1; }
}

/* Home news card. The base layout is a fixed 321px + rest grid measured on the
   1280 canvas, with a 323px leaf pinned at right:105px and a left border on the
   right column — none of it survives a narrow screen. Declared at the end of the
   file so it wins the cascade against the equal-specificity rules above. */
@media (max-width: 1024px) {
    .news-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 26px;
        padding: 26px 24px;
    }
    .news-card__right {
        border-left: 0;
        border-top: 4px solid var(--c-line);
        padding-left: 0;
        padding-top: 26px;
    }
    .news-card__h { margin-bottom: 26px; }
    .news-card__p { margin-bottom: 26px; }
    .news-card .news-card__p { margin-bottom: 26px; }
    .news-card__leaf { right: -30px; top: -56px; width: 220px; opacity: 0.7; }
}

@media (max-width: 640px) {
    .news-card { padding: 22px 18px; }
    .news-card__h { font-size: 1.5rem; margin-bottom: 20px; }
    .news-card .news-card__body { max-width: 100%; margin-bottom: 24px; }
    .news-card .news-card__read { padding: 12px 26px; }
    /* kept inside the card (which clips with overflow:hidden) so the sprig is not cut */
    .news-card__leaf { right: -12px; top: -30px; width: 148px; opacity: 0.45; }
}

/* FAQ layout from the design (faq.psd): each item is a full-width cream box
   (Прямоугольник 1 копия 3 (65,559) 1149x169 open, 1 копия 4 (65,748) 1149x67
   closed), the text is inset 109px from the left, and the marker is «+» closed /
   «−» open — the previous rotate(45deg) turned the plus into a cross. Declared
   last so it wins against the equal-specificity rules above. */
.block-faq { max-width: 100%; gap: 1.1rem; }
.block-faq__item { border-radius: 0.9rem; }
.block-faq__q {
    /* the design's closed item is 67px tall: 19.8 + the question + 19.8 */
    padding: 1.1rem 1.6rem 1.1rem 6.05rem;
    font-size: 1.45rem;
}
/* the design's marker is a plain olive + that becomes - when open; U+2212 is
   missing from the Arial stack and rendered as a tiny mark, so the en dash is
   used instead */
.block-faq__q::after { content: '+'; font-size: 2rem; line-height: .8; transition: none; }
.block-faq__item[open] .block-faq__q::after { content: '\2013'; transform: none; }
.block-faq__a {
    padding: 0 9rem 1.5rem 6.05rem;
    font-size: 1rem;
    line-height: 1.45;
    max-width: none;
}
.block-faq__a p { margin: 0 0 0.7em; }

/* the design's leaf sprig sits at the left of the list */
.block-faq { position: relative; }
.fq-leaf { position: absolute; left: -68px; top: 0; width: 180px; pointer-events: none; }

/* ---------- About: education blocks, from обо мне.psd ----------
   «Мое образование» — cream panel (Прямоугольник 1 копия 6 (66,617) 1166x291)
   with a quote mark (95,663 45x37), a leaf (953,637 247x262) and a 866px text
   column (167,666); the first paragraph is the grey bold lead and every other
   paragraph opens with a bold phrase.
   «Высшее образование» — card (71,1192) 1162x223 with a rule (123,1257 93x6),
   a graduation cap (103,1262 159x139) and two numbered items at x+218 / x+694.
   «Дополнительное…» — card (71,1455) 1162x667, nine items in two columns and a
   books illustration (1050,1797 181x318). */

.block-text:has(.ab-edu), .block-text:has(.ab-card) { max-width: 100%; }

.ab-edu { position: relative; padding: 49px 100px 0 101px; }
.ab-edu__box { position: absolute; left: 0; top: 0; width: 100%; max-width: 1166px; height: auto; pointer-events: none; z-index: 0; }
.ab-edu__leaf { position: absolute; right: 87px; top: 20px; width: 247px; height: auto; pointer-events: none; z-index: 1; }
.ab-edu__quote {
    position: absolute; left: 29px; top: 22px; z-index: 1;
    font-family: var(--font-serif); font-size: 84px; line-height: 1;
    color: #7C8A3F;
}
.ab-edu__text { position: relative; z-index: 1; max-width: 866px; }
.ab-edu__text p { margin: 0 0 0.85em; font-size: 1.05rem; line-height: 1.5; color: var(--c-ink); }
.ab-edu__text p:last-child { margin-bottom: 0; }
.ab-edu__lead { color: #7A7870; font-weight: 700; }
.ab-edu__text strong { font-weight: 700; }

.ab-card {
    position: relative;
    background: #FCFAFB;
    border-radius: 1.1rem;
    padding: 28px 50px 40px;
}
.ab-card__h { font-family: var(--font-serif); font-weight: 400; font-size: 1.6rem; color: var(--c-ink); margin: 0; }
.ab-card__rule { width: 93px; height: 6px; border-radius: 3px; background: var(--c-olive); margin: 9px 0 0; }
.ab-card__leaf { position: absolute; left: -71px; top: -92px; width: 104px; height: auto; pointer-events: none; }
.ab-card__cap { position: absolute; left: 32px; top: 70px; width: 159px; height: auto; pointer-events: none; }
.ab-card__books { position: absolute; right: 12px; bottom: 7px; width: 181px; height: auto; pointer-events: none; }

.ab-card__list { list-style: none; margin: 0; padding: 0; display: grid; row-gap: 8px; }
.ab-card__list li { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 18px; align-items: start; }
.ab-card__list--2 { grid-template-columns: 1fr 1fr; column-gap: 22px; margin-top: 40px; padding-left: 168px; }
.ab-card__list--2 > li:nth-child(2) { border-left: 1px solid var(--c-line); padding-left: 22px; }
/* The design numbers the nine items down the first column (1-5) and then the
   second (6-9), so the grid fills by column, not by row. */
.ab-card__list--dop {
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: column;
    grid-template-rows: repeat(5, auto);
    column-gap: 44px;
    row-gap: 0;
    margin-top: 32px;
    padding-right: 60px;
}
.ab-num {
    width: 48px; height: 48px; border-radius: 50%;
    background: #EDF2DC; color: var(--c-olive-deep);
    font-family: var(--font-serif); font-size: 1.05rem;
    display: flex; align-items: center; justify-content: center;
}
.ab-it__t { font-size: 0.98rem; line-height: 1.4; color: var(--c-ink); }
.ab-it__t strong { font-weight: 700; }

@media (max-width: 1160px) {
    .ab-edu { padding: 40px 40px 0 76px; }
    .ab-edu__leaf { right: 0; width: 180px; opacity: .8; }
    .ab-card { padding: 26px 30px 32px; }
    .ab-card__leaf { display: none; }
    .ab-card__list--2 { padding-left: 0; margin-top: 96px; }
    .ab-card__list--dop { padding-right: 0; }
    .ab-card__books { width: 120px; opacity: .6; }
    .ab-card__cap { left: auto; right: 20px; top: 20px; width: 110px; }
}

@media (max-width: 820px) {
    .ab-edu { padding: 28px 20px 0 46px; }
    .ab-edu__leaf { width: 120px; top: 0; }
    .ab-edu__quote { font-size: 56px; left: 12px; top: 16px; }
    .ab-edu__text p { font-size: 1rem; }
    .ab-card { padding: 22px 20px 26px; }
    .ab-card__h { font-size: 1.35rem; }
    .ab-card__cap, .ab-card__books { display: none; }
    .ab-card__list--2, .ab-card__list--dop { grid-template-columns: minmax(0, 1fr); grid-auto-flow: row; grid-template-rows: none; margin-top: 26px; }
    .ab-card__list--2 > li:nth-child(2) { border-left: 0; padding-left: 0; }
}

/* FAQ question colour and marker, measured from faq.jpg: the question ink is
   rgb(83,119,29) = #53771D and the +/− marker rgb(93,126,44) = #5D7E2C — both a
   deeper olive than --c-olive-deep. The native disclosure marker was still drawn
   next to our own «+», so both appeared at once. */
.block-faq__q { color: #53771D; }
.block-faq__q::after { color: #5D7E2C; }
.block-faq__q::marker { content: ''; }
.block-faq__q::-webkit-details-marker { display: none; }
.block-faq__item[open] .block-faq__q::after { color: #5D7E2C; }

/* Pico styles the summary itself: `details summary:not([role])` carries
   color: var(--pico-accordion-close-summary-color) (#646b79) at a specificity
   above a lone class, and `details summary::after` paints --pico-icon-chevron as
   a background-image — which is why the native chevron sat underneath our «+».
   The selector below matches the element chain to win the colour, and the
   ::after is stripped of Pico's box/background so only our own marker shows. */
/* Pico colours the summary in three states — close, focus and open — each with
   its own variable, so every one of them has to be beaten. */
details.block-faq__item > summary.block-faq__q,
details.block-faq__item > summary.block-faq__q:focus,
details.block-faq__item[open] > summary.block-faq__q,
details.block-faq__item[open] > summary.block-faq__q:focus { color: #53771D; }
.block-faq__q::after {
    background: none;
    width: auto;
    height: auto;
    min-width: 0;
    float: none;
    transform: none;
}

/* FAQ marker: the design draws a bold 28x28 «+» (and «−» when open), stroke
   ~3px, in olive rgb(93,126,44). A text glyph cannot hit that weight, so the
   marker is drawn with two gradient bars over the Pico-cleared ::after box. */
.block-faq__q::after {
    content: '';
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-image:
        linear-gradient(currentColor, currentColor),
        linear-gradient(currentColor, currentColor);
    background-size: 28px 3px, 3px 28px;
    transition: none;
}
.block-faq__item[open] .block-faq__q::after {
    transform: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 28px 3px;
}

/* FAQ items: the design gives them a flat #FAFAFA panel and no outline — the
   olive edge at the left of the band is the decorative leaf, not a border.
   Measured from faq.jpg: item interiors rgb(250,250,250), page white. */
.block-faq__item { background: #FAFAFA; border: 0; }

/* FAQ call-to-action, from faq.psd: the band «фон» (28,1223) is 1209x218 with a
   leaf at its left, the title sits at +328 and the pill button at +921
   (Прямоугольник 4 копия 4 (949,1314) 233x42, olive, white uppercase label).
   Title ink measures rgb(53,56,54). */
.block-text:has(.fq-cta) { max-width: 100%; }
.fq-cta {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 218px;
    padding: 0 55px 0 328px;
}
.fq-cta__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: fill; pointer-events: none; z-index: 0; }
.fq-cta__text { position: relative; z-index: 1; flex: 1 1 auto; min-width: 0; }
.fq-cta__h {
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 1.75rem;
    line-height: 1.1;
    color: #353836;
    margin: 0 0 26px;
}
.fq-cta__p { margin: 0; font-size: 1.05rem; line-height: 1.35; color: #3B3E3C; }
.fq-cta__btn {
    position: relative; z-index: 1;
    flex: 0 0 auto;
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 42px;
    padding: 0 1.6rem;
    background: var(--c-olive);
    color: #fff;
    border-radius: 999px;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none;
}
.fq-cta__btn:hover { color: #fff; filter: brightness(1.06); }

@media (max-width: 1160px) {
    .fq-cta { padding: 0 40px 0 240px; min-height: 0; }
    .fq-cta__bg { object-fit: cover; }
}
@media (max-width: 900px) {
    .fq-cta { flex-direction: column; align-items: flex-start; gap: 22px; padding: 32px 26px; min-height: 0; }
    .fq-cta__bg { display: none; }
    .fq-cta__h { font-size: 1.4rem; margin-bottom: 12px; }
}

/* FAQ hero, from faq.psd: «FAQ» in the serif at 95px, an olive dash
   (Прямоугольник 2 (60,404) 138x6) below it, then the subtitle in a sans at
   ~18px (Ответы… (62,459) 322x17). The shared hr marker sits after the subtitle
   on other pages, so here it is replaced by the dash. */
/* The design's ink runs 301..378 with the dash at 404 — measured from the line
   box (95px tall) that is an 8px gap, not 26 from the ink. */
.page-faq .block-hero__title { line-height: 1; }
.page-faq .block-hero__title::after {
    content: '';
    display: block;
    width: 138px;
    height: 6px;
    border-radius: 3px;
    background: var(--c-olive);
    margin-top: 8px;
}
.page-faq .block-hero__rule { display: none; }
.page-faq .block-hero__subtitle {
    font-family: var(--font-sans);
    font-size: 1.05rem;
    line-height: 1.3;
    color: var(--c-ink);
    margin-top: 49px;
}

/* The design's hero is 507 tall with the subtitle ending at 476 — 31px of air.
   The subtitle carried an 18px bottom margin plus the copy's 2rem bottom padding
   (54 total), which pushed the hero 24px past the design. */
.page-faq .block-hero__subtitle { margin-bottom: 0; }
.page-faq .block-hero__content { padding-bottom: 31px; }

/* Education cards carry a 1px frame in the design: sampling обо мне.jpg across
   both cards gives rgb(201,203,164) = #C9CBA4 on every edge, with the fill
   rgb(252,250,251) = #FCFAFB inside. */
.ab-card { border: 1px solid #C9CBA4; }

/* «Мои дипломы и сертификаты»: the card takes the same treatment as the
   education cards above — fill #FCFAFB, frame #C9CBA4, both measured off
   обо мне.jpg (interior rgb(252,250,251), edge rgb(201,203,164)). The two
   sprigs are absolutely positioned decorations, so they used to paint over the
   static copy; the copy is lifted and the leaves stay on the background. */
.ab-dip__card { background: #FCFAFB; border-color: #C9CBA4; }
.ab-dip__leaf { z-index: 0; }
.ab-dip__card > *:not(.ab-dip__leaf) { position: relative; z-index: 1; }

/* Below the design width the card and the photo stop fitting side by side: the
   copy needs ~570px and the photo is a fixed 520, so they stack. */
@media (max-width: 1160px) {
    .ab-dip { flex-direction: column; align-items: stretch; gap: 24px; }
    .ab-dip__photo { width: 100%; max-width: 520px; height: auto; }
    .ab-dip__leaf--2 { left: auto; right: 20px; }
}
@media (max-width: 820px) {
    .ab-dip__card { padding: 26px 22px 30px; }
    .ab-dip__card h2 { font-size: 1.5rem; }
    .ab-dip__lead { margin-top: 26px; max-width: none; }
    .ab-dip__row { margin-top: 32px; gap: 18px; }
    .ab-dip__leaf { opacity: .5; }
    .ab-dip__leaf--2 { display: none; }
}

/* In the design the frame wraps the whole block: Прямоугольник 1 копия 4
   (72,2180) 1162x396 contains both the copy and the 520x355 photo at (680,2198).
   The fill/frame therefore live on the wrapper and the inner card is bare, so
   the panel reads the same as the education cards above. */
.ab-dip {
    position: relative;
    background: #FCFAFB;
    border: 1px solid #C9CBA4;
    border-radius: 1.1rem;
    padding: 42px 45px 41px;
    gap: 30px;
    overflow: hidden;
}
.ab-dip__card {
    position: static;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    overflow: visible;
}
.ab-dip .ab-dip__leaf { z-index: 0; }
.ab-dip .ab-dip__card > *:not(.ab-dip__leaf) { position: relative; z-index: 1; }
.ab-dip__photo { align-self: flex-start; margin-top: 0; }

@media (max-width: 1160px) {
    .ab-dip { padding: 30px 26px 32px; }
}

/* Measured against обо мне.jpg: the panel is 396 tall with the 355 photo inset
   18px, so its padding is ~18/20 and the copy carries its own 24px offset to
   reach +42. The heading ink is 29 tall, i.e. a 30px face (1.67rem at the 18px
   root), not the 2rem the block inherited. */
.ab-dip { padding: 18px 45px 20px; }
.ab-dip__card { padding-top: 24px; }
.ab-dip__card h2 { font-size: 1.67rem; }
.ab-dip__card h2::after { margin-top: 20px; }

@media (max-width: 1160px) {
    .ab-dip { padding: 20px 24px 24px; }
    .ab-dip__card { padding-top: 6px; }
}

/* .block-text p (0,1,1) outranks a lone .ab-dip__lead (0,1,0) and was forcing
   margin-top: 0, so the lead hugged the heading. Design spacing from the panel:
   heading block ends +97, lead +132, row +260. */
.block-text .ab-dip__lead { margin-top: 35px; max-width: 30rem; }
.block-text .ab-dip__row { margin-top: 81px; }

@media (max-width: 820px) {
    .block-text .ab-dip__lead { margin-top: 20px; max-width: none; }
    .block-text .ab-dip__row { margin-top: 30px; }
}

/* «Профессионализм и забота» — the band fill is #F1F0E3 on both pages. The
   About block still carried var(--c-cream-2) (#F5F2EA), which is why it did not
   match the contacts one. Sampling обо мне.jpg / контакты.jpg gives
   rgb(240,238,225) in both. */
.ab-pro__band { background: #F1F0E3; }
.ct-pro__band { background: #F1F0E3; }

/* …and the About band had no adaptive behaviour at all: below the design width
   the chair and the band stop fitting side by side. */
@media (max-width: 1023px) {
    .ab-pro { flex-direction: column; align-items: stretch; gap: 22px; }
    .ab-pro__chair { width: auto; max-width: 230px; height: auto; margin-inline: auto; }
    .ab-pro__band { padding: 34px 30px; }
}
@media (max-width: 860px) {
    .ab-pro__band { flex-wrap: wrap; gap: 20px; }
    .ab-pro__text { min-width: 0; flex: 1 1 14rem; }
}
@media (max-width: 640px) {
    .ab-pro__band { padding: 26px 20px; }
    .ab-pro__tick { width: 96px; height: 90px; }
    .ab-pro__btn img { width: 84px; height: 91px; }
    .ab-pro__text h2 { font-size: 1.4rem; }
}

/* The sprigs are absolutely positioned inside the card, so anything static in
   .ab-dip paints below them — the photo needs lifting just like the copy. */
.ab-dip__photo { position: relative; z-index: 1; }

/* ===== Veterans: «С чем можно прийти» =====
   Design: each line is a bordered card. Прямоугольник 1 копия 3/6/7/8 are
   863x93 at x347 — the block's 279px left gutter plus the 2px border makes
   exactly the 865px of content that remains, so the card width is implicit.
   Frame #C9CBA4, fill #FFFFFF, icon at +3, label at +91. */
.vt-row {
    border: 1px solid #C9CBA4;
    background: #fff;
    border-radius: 1.1rem;
    padding: 6px 20px 6px 3px;
    gap: 9px;
}
.vt-list__h { font-size: 1.87rem; line-height: 1; margin: 0 0 27px; }

/* ===== Veterans: «Условия» =====
   The design's frame (72,1322) 1162x445 wraps the copy AND the 432x443 photo,
   which sits flush at the panel's right edge (x1232 of 1234). Fill #FCFAFB,
   frame #C9CBA4 — the same panel as the About cards. Copy starts at +33/+42;
   the three row cards are 666x93 at +115/+228/+336. */
.vt-cond {
    position: relative;
    align-items: stretch;
    gap: 0;
    background: #FCFAFB;
    border: 1px solid #C9CBA4;
    border-radius: 1.1rem;
    overflow: hidden;
}
.vt-cond__card { flex: 0 0 auto; width: 666px; max-width: 100%; padding: 42px 0 0 33px; border: 0; background: transparent; border-radius: 0; }
.vt-cond__h { font-size: 1.6rem; line-height: 1; }
.vt-cond__h::after { margin-top: 20px; }
.vt-cond__rows { margin-top: 28px; gap: 20px; }
.vt-cond__row {
    border: 1px solid #C9CBA4;
    background: #fff;
    border-radius: 1.1rem;
    padding: 6px 18px 6px 12px;
    gap: 23px;
    line-height: 1.3;
}
.vt-cond__photo { margin-left: auto; border-radius: 1.1rem; }
.vt-cond__row > div { max-width: 420px; }

/* ===== Veterans: «Вы не одни» ===== */
.vt-alone { background: #F1F0E3; }

/* ---- adaptive ---- */
@media (max-width: 1160px) {
    .vt-list { padding: 0 0 0 240px; }
    .vt-list__leaf { width: 260px; }
    .vt-cond { flex-direction: column; }
    .vt-cond__card { width: auto; padding: 30px 26px 0; }
    .vt-cond__photo { order: -1; width: 100%; height: 300px; margin: 0; border-radius: 0; }
    .vt-alone { padding: 34px 30px 34px 260px; }
}
@media (max-width: 900px) {
    .vt-list { padding: 0; }
    .vt-list__leaf { position: static; display: block; width: 200px; height: auto; margin: 0 0 -40px; opacity: .55; }
    .vt-cond__row { gap: 16px; padding-right: 14px; }
    .vt-cond__photo { height: 240px; }
    .vt-alone { padding: 30px 26px 30px 26px; }
    .vt-alone__leaf { width: 130px; opacity: .5; }
    .vt-alone__text { font-size: 1.3rem; }
}
@media (max-width: 640px) {
    .vt-list__h { font-size: 1.45rem; }
    .vt-row { padding: 10px 12px 10px 3px; gap: 7px; font-size: 1rem; }
    .vt-row img { width: 56px; height: 57px; }
    .vt-cond__card { padding: 24px 16px 0; }
    .vt-cond__row { padding: 10px 12px 10px 8px; gap: 12px; font-size: .95rem; }
    .vt-cond__row img { width: 56px; height: 57px; }
    .vt-cond__photo { height: 190px; }
    .vt-alone { flex-direction: column; align-items: flex-start; gap: 14px; padding: 26px 20px; }
    .vt-alone__leaf { display: none; }
    .vt-alone__text { font-size: 1.15rem; }
    .vt-alone__phone img { width: 88px; height: 95px; }
}

/* Measured: at 1.87rem the heading's text run is 320px wide; обо мне's design
   ink is 283px, i.e. ~29.6px (1.65rem at the 18px root). */
.vt-list__h { font-size: 1.65rem; }
.vt-cond__h { font-size: 1.45rem; }

/* Radii measured off ветеранам.jpg:
   - vt-list / vt-cond row cards: the top edge starts 10px right of the left
     border (x357 vs 347) → 10px, not the 1.1rem I reused from the About cards.
   - vt-cond panel: same 10px (x75→y1328, x85→y1323 over left border x73).
   - vt-alone band: corner runs x87@y1798 → x64@y1820, so ~24px. */
.vt-row,
.vt-cond,
.vt-cond__row,
.vt-cond__photo { border-radius: 10px; }
.vt-alone { border-radius: 24px; }

/* The sprig is drawn at x0 of the design canvas (листики (0,764) 312x543), i.e.
   it bleeds past the 1144px column. Because .vt-list is its containing block it
   anchored to the padding box (x68) instead, landed at 68..380 and painted over
   the heading's «С» — which is why the heading's ink appeared to start at 380. */
.vt-list__leaf { left: calc((var(--content) - 100vw) / 2); }
@media (max-width: 1180px) {
    .vt-list__leaf { left: -1.25rem; }
}

/* Measured against the design's ink runs:
   - vt-list heading: full run (incl. the hidden «С ») is 320px at 1.87rem vs
     the design's 283 → keep 1.65rem.
   - vt-row text: 411px vs the design's 479 → 1.15rem is 16% small → 1.34rem.
   - vt-cond heading: 107x19 vs 112x22 → 1.45 → 1.52rem.
   - vt-cond row text: 550x22 vs 534x22 → correct at 1.05rem.
   - vt-alone text: two lines span 98px in the design but 57 in mine → the
     leading, not the face, is wrong → line-height 1.7. */
.vt-row { font-size: 1.34rem; }
.vt-cond__h { font-size: 1.52rem; }
.vt-alone__text { line-height: 1.7; }

/* Design row 3 is one line: its ink runs 439→1191 inside a card ending at 1210,
   so the face, the icon box (79x80) and the right padding all have to match the
   design exactly — at 1.34rem/78px/20px the run was 2px too wide and wrapped. */
.vt-row { font-size: 1.33rem; padding-right: 16px; }
.vt-row img { width: 79px; height: 80px; }
.vt-cond__row { gap: 32px; }

/* At <=1180 the section and the container each carry a 1.25rem gutter, so the
   sprig needs -2.5rem to reach the viewport edge as in the design. */
@media (max-width: 1180px) and (min-width: 901px) {
    .vt-list__leaf { left: -2.5rem; }
}

/* Design row 1 is a two-column line: «Льготные дни:» at +131 and its value at
   +294, i.e. a 163px label column. Letting the text node be an anonymous grid
   item gives that without touching the markup. The 420px cap I put on the row
   body was also splicing «при наличии / свободных мест.» a word early. */
.vt-cond__row > div { max-width: none; }
.vt-cond__row > div:has(strong) { display: grid; grid-template-columns: 163px 1fr; align-items: start; }
.vt-cond__row > div > span { display: block; }

/* vt-cond row text: two-line run measures 560px against the design's 534 — 5%
   large, so 1rem rather than 1.05rem (the vt-list rows at 1.33rem match to 1px). */
.vt-cond__row { font-size: 1rem; }

/* «Вы не одни» is three lines in the design — «Вы не одни.» breaks on its own —
   and set upright, not italic. My 1.7 line-height came from reading the design's
   98px ink as a single line; with the correct three lines it is the original
   1.25. */
.vt-alone__text { font-style: normal; line-height: 1.25; }

/* Ink-to-ink: the design's widest line is 396px at 1.6rem → 1.66rem. */
.vt-alone__text { font-size: 1.66rem; }

/* The 666 in the design is the CARD's content width (Прямоугольник 1 копия 9 at
   x105), not the box that carries the 33px copy gutter — so the card must be
   699px or every row comes out 633 and row 3's 490px run wraps one word early.
   The icon-to-text gap is 40px in the design (icon ends 196, text starts 236). */
.vt-cond__card { width: 699px; }
.vt-cond__row { gap: 40px; }

/* Panel is 208 tall in the design: the 134px handset sets the box at +44..+178,
   i.e. asymmetric 44/30 padding, not 42/42 (which gave 218). */
.vt-alone { padding: 44px 60px 30px 315px; }

/* Vertical alignment vs ветеранам.jpg: rows 1-4 sit 6-7px high (heading margin)
   and the footer rule lands 11px high (#vt3 margin). */
.page-veterans .vt-list__h { margin-bottom: 27px; }
.page-veterans #vt3 { margin-bottom: 61px; }

/* The heading margin adds 6 to everything below, so #vt3 needs 55 (not 61) to put
   the footer rule back on the design's y2068. */
.page-veterans #vt3 { margin-bottom: 55px; }

/* The 163px label column is a design-width device; on narrow screens it pushes
   the value past the card and the panel's overflow:hidden clips it. */
@media (max-width: 700px) {
    .vt-cond__row > div:has(strong) { grid-template-columns: 1fr; }
    .vt-cond__row > div:has(strong) > strong { display: block; }
}

/* Cascade note: the late design-width rules above (padding: 44px 60px 30px 315px,
   font-size: 1.66rem, the 40px row gap) have equal specificity to the adaptive
   block earlier in this file, so they silently overrode it — the alone band kept
   its 315px copy gutter at every width. Re-declared here, after them. */
@media (max-width: 1160px) {
    .vt-cond__photo { order: -1; width: 100%; height: 300px; margin: 0; border-radius: 0; }
    .vt-cond__card { width: auto; padding: 30px 26px 0; }
    .vt-alone { padding: 34px 30px 34px 260px; }
    .vt-cond__row { gap: 32px; }
}
@media (max-width: 900px) {
    .vt-alone { padding: 30px 26px; }
    .vt-alone__text { font-size: 1.4rem; }
    .vt-cond__row { gap: 16px; }
    .vt-cond__photo { height: 240px; }
}
@media (max-width: 700px) {
    .vt-cond__row > div:has(strong) { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .vt-list__h { font-size: 1.45rem; }
    .vt-row { padding: 10px 12px 10px 3px; gap: 7px; font-size: 1rem; }
    .vt-row img { width: 56px; height: 57px; }
    .vt-cond__card { padding: 24px 16px 0; }
    .vt-cond__row { padding: 10px 12px 10px 8px; gap: 12px; font-size: .95rem; }
    .vt-cond__row img { width: 56px; height: 57px; }
    .vt-cond__photo { height: 190px; }
    .vt-alone { padding: 26px 20px; }
    .vt-alone__leaf { display: none; }
    .vt-alone__text { font-size: 1.15rem; }
    .vt-alone__phone img { width: 88px; height: 95px; }
}
/* Long unbreakable words must not push a row past the card at 360px. */
.vt-row, .vt-cond__row > div { overflow-wrap: anywhere; }

/* Photo: no own radius — .vt-cond clips it with overflow:hidden, so the corners
   follow the panel instead of leaving a sliver. */
.vt-cond__photo { border-radius: 0; }

/* Design (panel-relative): row1 +115, row2 +228, row3 +336, last bottom +429, and
   the card's inner height is 443 (the photo) — i.e. 14px of air below «Формат».
   Mine had rows at 123/237/351 ending flush at the panel's edge, so: the heading's
   rule 2px tighter (its block is 50, not 52), the rows block 8 higher, the row
   gap 17.5 (the PSD really has 20 then 15), each card 1px shorter (5.5 padding
   against the 80px icon + border). */
.vt-cond__h::after { margin-top: 18px; }
.vt-cond__rows { margin-top: 20px; gap: 17.5px; }
.vt-cond__row { padding-block: 5.5px; }
.vt-cond__card { padding-bottom: 14px; }

/* «С чем можно прийти», single-column widths: the icon stops taking horizontal
   room and becomes a faint backdrop behind the line, so the text gets the full
   card width instead of being squeezed next to a 56px sprite. */
@media (max-width: 700px) {
    .vt-row {
        position: relative;
        overflow: hidden;
        padding: 14px 16px 14px 4px;
        min-height: 62px;
    }
    .vt-row img {
        position: absolute;
        right: 4px;
        top: 50%;
        transform: translateY(-50%);
        width: 96px;
        height: 97px;
        opacity: .2;
        z-index: 0;
        pointer-events: none;
    }
    .vt-row > div { position: relative; z-index: 1; }
}
/* The 640 block above shrinks the in-flow icon; when it is a backdrop it should
   stay large, so keep the backdrop size. */
@media (max-width: 640px) {
    .vt-row { font-size: 1.05rem; }
    .vt-row img { width: 88px; height: 89px; }
}

/* ================= ПРОГРАММЫ ================= */

/* Design frame #C9CBA4 (mine used --c-line #EBE7DC, far too light). */
.page-programs .block-card,
.page-neuroclub .block-card { border-color: #C9CBA4; }

/* Hero: Прямоугольник 2 (60,404) 138x6 sits BETWEEN the title and the subtitle —
   the block rendered the rule after the subtitle. Copy starts at y469, so the
   rule needs ~52px below it. Subtitle is sans (not the serif it inherited) and
   measures 20px with a 33px baseline step. */
.block-hero__rule { width: 138px; height: 6px; }
.page-programs .block-hero__rule { margin: 25px 0 52px; }
.page-programs .block-hero__subtitle {
    font-family: var(--font-sans);
    font-size: 1.11rem;
    line-height: 1.65;
    color: var(--c-ink);
}

/* Aside panel: design fill #F4F5ED with Слой 98 (32x32) in its top-right.
   Прямоугольник 1 копия 4 (716,702) 462x315 inside the card (57,682) 1149x370 —
   i.e. inset 28px from the right and 20 from the top. */
.page-programs .block-card__aside { background: #F4F5ED; position: relative; }
.page-programs .block-card__aside::after {
    content: '';
    position: absolute;
    top: 15px;
    right: 30px;
    width: 32px;
    height: 32px;
    background: url('/themes/shadrina/assets/images/design/pr-aside-leaf.webp') no-repeat center / contain;
}

/* «Узнать условия» on the Привилегия card is #022042 (sampled), a different
   colour from the olive links on the other cards. */
.btn--priv { background: #022042; color: #fff; }
.btn--priv:hover { background: #0a2c52; color: #fff; }

/* CTA: Слой 99 (41,3129) 1196x236 — bleeds 26px past the 1144 column, corner
   radius ~22px, copy starts 55px down and the band ends 75px below the text.
   Mine had 1.1rem and NO vertical padding, so the copy touched both edges. */
.pr-cta {
    border-radius: 22px;
    padding: 55px 55px 75px 383px;
    margin-inline: -26px;
}

/* ================= НЕЙРОКЛУБ ================= */

/* Diagnostics: the design pairs each icon with its own paragraph (icons at
   x676..749, copy at x781), not a row of icons under the text. */
#nc-diag .diag-item { display: flex; align-items: center; gap: 32px; margin: 0 0 1.5em; }
#nc-diag .diag-item img { width: 73px; height: 73px; flex: 0 0 auto; }
#nc-diag .diag-item:last-child { margin-bottom: 0; }
@media (max-width: 700px) {
    #nc-diag .diag-item { gap: 16px; align-items: flex-start; }
    #nc-diag .diag-item img { width: 52px; height: 52px; }
}

/* «Клуб работает с двумя запросами родителей:» — two cards, 562x190, #C9CBA4
   frame on white, 22px apart (648-625). */
.page-neuroclub .req {
    display: flex;
    align-items: center;
    gap: 40px;
    border: 1px solid #C9CBA4;
    background: #fff;
    border-radius: 10px;
    padding: 20px 22px 20px 16px;
}
.page-neuroclub .req h3 { margin: 0 0 8px; }
.page-neuroclub .req p { margin: 0; }
.page-neuroclub .block-split { gap: 22px; }
@media (max-width: 900px) {
    .page-neuroclub .req { gap: 20px; padding: 16px; }
}

/* «Три программы участия»: the artwork is 377x283 in the design — full size —
   but .block-cards--cols-3 ... img { height: 150px } wins the cascade, so this
   matches its specificity and comes later. */
.page-neuroclub .block-cards--cols-3 .block-card--media-bottom .block-card__media img {
    height: auto;
    width: 100%;
    max-width: none;
}

/* «Клуб работает с двумя запросами родителей:» — both cards must share the
   taller one's height, so the whole chain from the grid cell down has to
   stretch rather than shrink-to-fit. */
.page-neuroclub .block-split { align-items: stretch; }
.page-neuroclub .block-split__col,
.page-neuroclub .block-split__col > .block-text { display: flex; flex-direction: column; }
.page-neuroclub .block-split__col > .block-text { height: 100%; }
.page-neuroclub .req { flex: 1 1 auto; }

/* Card titles: the design has no olive rule under them (no such layer in
   программы.psd / нейроклуб.psd near the card headings) — the ::after was adding
   4px + 36px of margin to every card. */
.page-programs .block-card__title::after,
.page-neuroclub .block-card__title::after { display: none; }
.page-programs .block-card__title,
.page-neuroclub .block-card__title { margin-bottom: 18px; }

/* Diagnostics: the design opens each line in olive bold — «23 нейропсихологические
   пробы,» / «Длительность — 1,5 часа,» / «По итогам» — with the rest in dark ink.
   Sampled #798D3B. */
#nc-diag .diag-item strong { color: #798D3B; font-weight: 700; }

/* «Три программы участия»: the card titles are olive (#7B8F3B sampled), not the
   dark olive-brown the block inherited. The programs' card titles stay dark grey
   (#4B4A4A measured), so this is neuroclub-only. */
.page-neuroclub .block-card__title { color: #7B8F3B; }

/* #nc-progs: these cards carry no `title` field — the heading is a <strong>
   inside .block-card__text — so the colour rule has to target it there. Design:
   heading ~21px olive, body ~14px (11 lines over 229px), cards 496 tall. Mine
   was 17.28px/1.6 → bodies up to 357 and cards 582. */
#nc-progs .block-card__text { font-size: 0.8rem; line-height: 1.45; }
#nc-progs .block-card__text strong { color: #7B8F3B; font-weight: 700; font-size: 1.1rem; line-height: 1.35; }

/* Charms are 392x242 natural in the design and slightly overflow the card's
   content box; max-width:100% shrank them 17%. */
#nc-progs .block-card--media-bottom .block-card__media img { max-width: none; }

/* «Запись»: the bleed needs an explicit width — a negative inline margin alone
   left the band at the column's 1144. Design is 1224. */
.page-neuroclub .nc-order { width: calc(100% + 80px); margin-left: -40px; }

/* #nc-gifts had the same two problems as #nc-progs: the headings are <strong>
   inside the body text (olive in the design), and the bodies ran at 17.28px.
   The card images were also mis-mapped — each card had another card's layer;
   they are now the composited layers (a=257+165, b=252, c=118+204+97). */
#nc-gifts .block-card__text { font-size: 0.8rem; line-height: 1.45; }
#nc-gifts .block-card__text strong { color: #7B8F3B; font-weight: 700; font-size: 1.1rem; line-height: 1.35; }
#nc-gifts .block-card--media-bottom .block-card__media img { max-width: none; }

/* «Формат занятий»: Прямоугольник 5 (60,2019) 560x681 + 5 копия (639,2019)
   559x681 — two borderless #F9F9F7 panels 19px apart, copy inset 28/32. The
   h2 is olive with the qualifier in grey. */
#nc-format-2 .block-split,
#nc-format .block-split { gap: 19px; }
#nc-format .block-split__col {
    background: #F9F9F7;
    border-radius: 24px;
    padding: 32px 28px;
}
#nc-format h2 { color: #7B8F3B; }
#nc-format h2 span { color: var(--c-ink-soft); }
#nc-format h3 { color: #7B8F3B; }
@media (max-width: 900px) {
    #nc-format .block-split { gap: 14px; }
    #nc-format .block-split__col { padding: 22px 18px; }
}

/* Neuroclub hero: the design has no rule between title and subtitle (the side
   hero's eyebrow/title/subtitle run straight through), and the title's ink is
   189x37 against my 2.9rem — which wrapped КОТОКАКТУС onto a second line. */
.page-neuroclub .block-hero__rule { display: none; }
.page-neuroclub .block-hero--side .block-hero__title { font-size: 2.33rem; }

/* «Формат занятий»: the left column's four bullets carry Слой 76 (33x31 leaf) —
   the copy had no icons at all. «С чем мы работаем»: the words before the em-dash
   are olive in the design. */
#nc-format .block-split__col p { display: flex; align-items: flex-start; gap: 22px; }
#nc-format .nc-fmt-bullet { width: 33px; height: 31px; flex: 0 0 auto; margin-top: 4px; }
#nc-format .nc-fmt strong { color: #7B8F3B; font-weight: 400; }
@media (max-width: 640px) {
    #nc-format .block-split__col p { gap: 12px; }
    #nc-format .nc-fmt-bullet { width: 26px; height: 25px; }
}

/* The bullet paragraphs are flex rows, so the text must be a single item —
   otherwise the <strong> inside «Мини-группы до 6 детей» became its own column
   and the sentence split. The design's leads are bold, and its h2 is ~21px. */
#nc-format .block-split__col p > span { display: block; }
#nc-format .nc-fmt strong { font-weight: 700; }
#nc-format h2 { font-size: 1.2rem; line-height: 1.35; }
#nc-format h2 span { font-size: 1.05rem; }
#nc-format h3 { font-size: 1.2rem; }

/* «Подарки участникам программ»: the card body reads at 18px in the design
   (the heading block measured 321x106 — heading plus two or three lines), not
   the 0.8rem I had copied from the «Три программы» cards. 1rem = 18px here. */
#nc-gifts .block-card__text { font-size: 1rem; line-height: 1.45; }

/* The base .block-card__media img rule sets width:100%, so the gift artwork was
   blown up from its natural 329x192 to 361x211 (and card 2's 252x188 likewise).
   max-width: none alone does not stop that — width must be auto. */
#nc-gifts .block-card--media-bottom .block-card__media img,
#nc-progs .block-card--media-bottom .block-card__media img { width: auto; height: auto; max-width: none; }

/* Gift cards: the design's copy starts 18/19px from the card's edge with an ~8px
   heading-to-text gap. The block's 22.5px padding plus full paragraph margins
   made the body 186 against the design's ~110, so cards ran 381 vs 298. */
#nc-gifts .block-card__body { padding: 19px 18px; }
#nc-gifts .block-card__text p { margin: 0 0 8px; }
#nc-gifts .block-card__text p:last-child { margin-bottom: 0; }

/* «Почему только 10 мест:» card — the design's left half is navy #022042 with
   the heading in gold and BOTH paragraphs WHITE. The .block-card--navy text rule
   was losing to a later paragraph rule, leaving dark text on the dark panel. */
.block-card--navy .block-card__text,
.block-card--navy .block-card__text p,
.block-card--navy .block-card__text strong { color: #fff; }
.block-card--navy .block-card__text .cnt-h { color: var(--c-gold); }

/* In the design the heading is centred but the paragraphs are LEFT aligned
   (445px wide, x118 against the panel's 63) — the block's align:center centred
   everything. */
.block-card--navy .block-card__text p { text-align: left; }
.block-card--navy .block-card__text .cnt-h { text-align: center; }
.block-card--navy .block-card__text p { max-width: 445px; margin-inline: auto; }

/* «Осталось» counter — the numeral comes from the theme (%%seats_left%%) instead
   of the baked priv-counter-7.webp, so the count is editable. Design: gold
   numeral (ink mean rgb(220,175,80)), 107x73 ink inside a 169x114 rounded box. */
.cnt-num {
    font-family: var(--font-serif);
    font-size: 6rem;
    line-height: 1;
    color: var(--c-gold);
    text-align: center;
    font-variant-numeric: lining-nums tabular-nums;
}
@media (max-width: 700px) {
    .cnt-num { font-size: 4.2rem; width: 78px; padding: 12px 20px; }
}

/* «Счётчик» row: wider side padding on both cards of the row, as requested.
   Measured before: copy ran 126..560 inside the 68..626 panel (the design's is
   119..561 in 63..624), so the text was ~9px from where it sat in the mock. */
#sostav2 .block-card__body { padding-inline: 4rem; }
@media (max-width: 900px) {
    #sostav2 .block-card__body { padding-inline: 1.5rem; }
}

/* «СОСТАВ ПАКЕТА» (6 cards, columns=3): the module jumped straight from 3
   columns to 1 at 900px. The design is 3-up at 1280, so add the intermediate
   2-up step and only fall to a single column on phones. Declared with an id
   selector so it outranks .block-cards--cols-3 { --cols: 1 }. */
@media (max-width: 1100px) {
    #sostav .block-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
    #sostav .block-cards { grid-template-columns: 1fr; }
}

/* «СОСТАВ ПАКЕТА»: Прямоугольник 1 копия 3..8 — warm off-white fill
   rgb(252,251,249) = #FCFBF9 (not the white .block-card default) with a navy
   #00264D border (sampled (0,38,77) on the row edges). The leading phrase in
   each card is that same navy, bold, in the design. */
#sostav .block-card { background: #FCFBF9; border-color: #00264D; }
#sostav .block-card__text strong { color: #00264D; }

/* «Поддержка рядом» CTA button: the design's pill runs a horizontal gold
   gradient — sampled (203,163,94) at its left to (182,138,75) at its right,
   i.e. #CBA35E -> #B68A4B — with WHITE label text (sampled 255,255,255) and the
   label in caps. .btn--gold was a flat --c-gold with navy text. */
.block-cta--navy .btn--gold {
    background: linear-gradient(90deg, #CBA35E 0%, #B68A4B 100%);
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.block-cta--navy .btn--gold:hover {
    background: linear-gradient(90deg, #d6ae6a 0%, #c39651 100%);
    color: #fff;
}

/* Privilege hero: the heading is TEXT (the design's title layer is an artwork,
   but the wording must stay editable) with the gold leaf as a separate inline
   image after it — лист (472,254) 102x87 sits 40px above the title's baseline
   run. The hero's own CTA is navy #022449 (sampled), not the olive .btn, and
   Слой 102 (344,674) 201x51 puts the messenger icons right of the button. */
.page-privilege .block-hero__title { font-size: min(96px, 7.5vw); line-height: 1; }
.page-privilege .block-hero__title .hero-leaf {
    display: inline-block;
    width: 102px;
    height: 87px;
    margin-left: 4px;
    vertical-align: 26px;
}
.page-privilege .block-hero__actions { display: flex; align-items: center; gap: 34px; }
.page-privilege .block-hero__actions .btn { background: #022449; color: #fff; }
.page-privilege .block-hero__actions .btn:hover { background: #0a3159; color: #fff; }
.page-privilege .block-hero__social { width: 201px; height: 51px; display: block; }
@media (max-width: 700px) {
    .page-privilege .block-hero__title .hero-leaf { width: 62px; height: 53px; vertical-align: 14px; }
    .page-privilege .block-hero__actions { flex-wrap: wrap; gap: 18px; }
    .page-privilege .block-hero__social { width: 150px; height: 38px; }
}

/* Design: «Привилегия.» in gold with the leaf right after it, then «Личный
   психолог на связи» in dark on the following lines — three tight lines filling
   179px (the artwork layer's height). The word must not wrap before the leaf. */
.page-privilege .block-hero__title { font-size: min(90px, 7vw); line-height: 0.78; }
.page-privilege .block-hero__title .hero-word { color: var(--c-gold); }
.page-privilege .block-hero__title .hero-leaf { margin-left: 6px; vertical-align: 20px; }
.page-privilege .block-hero__subtitle { max-width: 34rem; }

/* Measured off the artwork layer (70,294) 529x179: «Привилегия.» occupies ~375px
   before the 102px leaf, and the whole title is three lines of ~60 — so the face
   is ~60px, not the 90 I guessed (which made six lines and a 1020px hero against
   the design's 791). Subtitle is 484px wide over two lines. */
.page-privilege .block-hero__title { font-size: min(60px, 4.7vw); line-height: 1; }
.page-privilege .block-hero__title .hero-leaf { margin-left: 6px; vertical-align: 14px; }
.page-privilege .block-hero__subtitle { max-width: 27rem; font-size: 1.25rem; }

/* Hero CTA label is caps in the design («УЗНАТЬ УСЛОВИЯ»). */
.page-privilege .block-hero__actions .btn { text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.95rem; }

/* «Поддержка рядом» CTA had no adaptive behaviour at all: at 480/390 the button
   ran past the panel edge (clipped) and the social image collapsed to 0x0 below
   600, while the panel grew 136 -> 233 because the title wrapped inside a
   nowrap flex row. */
@media (max-width: 1000px) {
    .block-cta--navy .block-cta__inner { padding: 28px 30px; gap: 20px 26px; flex-wrap: wrap; }
    .block-cta__title { font-size: 1.5rem; }
    .block-cta__action { flex: 0 0 auto; }
    .block-cta__social { flex: 0 0 auto; }
    .block-cta__social img { width: 170px; height: auto; }
}
@media (max-width: 640px) {
    .block-cta--navy .block-cta__inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 24px 20px;
        gap: 16px;
    }
    .block-cta__body { width: 100%; }
    .block-cta__title { font-size: 1.3rem; }
    .block-cta__social { margin-left: 0; }
    .block-cta .btn { padding: 10px 22px; font-size: 0.85rem; }
}

/* Same step at 1100 so the title does not sit at three lines between 1100 and
   1000 while everything else is still inline. 1280 keeps the design's metrics. */
@media (max-width: 1100px) and (min-width: 1001px) {
    .block-cta--navy .block-cta__inner { padding: 30px 34px; gap: 20px 26px; flex-wrap: wrap; }
    .block-cta__title { font-size: 1.5rem; }
    .block-cta__action, .block-cta__social { flex: 0 0 auto; }
    .block-cta__social img { width: 180px; height: auto; }
}

/* «Запись»: .nc-order__in had padding 60px 0 60px 79px — no right padding at all,
   so the phone button ran to the band's edge and sat inside its rounded corner
   (5px clearance at 390). Give it real side padding, cancel the 1224px bleed once
   the container is fluid, and let the row wrap on phones. */
.nc-order__in { padding: 60px 60px 60px 79px; }
@media (max-width: 1180px) {
    .page-neuroclub .nc-order { width: auto; margin-left: 0; margin-right: 0; }
}
@media (max-width: 900px) {
    .nc-order__in { padding: 36px 26px; }
    .nc-order__row { flex-wrap: wrap; gap: 10px 12px; }
    .nc-order__row a[href^="tel:"] { margin-left: 0; }
}
@media (max-width: 480px) {
    .nc-order__in { padding: 28px 18px; }
    .nc-order__row a[href^="tel:"] { padding: 12px 24px; font-size: 0.95rem; }
}

/* Pico sets list-style-type on the li itself, which beat the ul's list-style:none
   — so a native square marker rendered next to the custom ::before dot. */
.gm-aim__list li { list-style: none; }

/* «Индивидуальная игра — пакет «Привилегия»»: in the design the lotus layer
   (639,1974) 195x169 deliberately overhangs the heading by 21px — the card's
   125px top padding covers its 146px bottom. At <=1149 the media query zeroed that
   padding while the lotus stayed position:absolute, so it sat 146px into the
   heading. Return it to the flow once the layout stacks. */
@media (max-width: 1149px) {
    .gm-fmt__ic--lotus { position: static; left: auto; top: auto; height: 123px; margin-bottom: 2px; }
}
@media (max-width: 640px) {
    .gm-fmt__ic, .gm-fmt__ic--lotus { height: 92px; }
    .gm-fmt__t { margin-bottom: 8px; }
}

/* «Запись»: the band's background art carries flowers across its left third. The
   mobile padding I added (26px/18px) put the copy on top of them — keep a left
   gutter that clears the artwork for as long as it is visible. */
@media (max-width: 900px) {
    .nc-order__in { padding: 36px 36px 36px 92px; }
}
@media (max-width: 560px) {
    .nc-order__in { padding: 28px 22px 28px 84px; }
}

/* «Запись» on games: the button was pinned with left:909px — the design's x within
   its 1196px band. My label renders 264 wide against the design's 232, so it pushed
   29px past the band at 1280 and 113px at 1150. The design puts it 55px from the
   band's right edge, so anchor it there instead of to a fixed left. */
@media (min-width: 1150px) {
    .gm-sign__btn { left: auto; right: 55px; }
}
@media (max-width: 1149px) {
    .gm-sign__btn { white-space: normal; }
}

/* «Запись» (games): replace the fixed left:909px pin with a grid. Column 1 holds
   the heading and the copy (design measure 548px), column 2 the button, centred
   against them and separated by the design's 18px gap (text ends x932, button
   starts x950). No fixed widths anywhere — the button sizes itself. */
.gm-sign {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-content: center;
    column-gap: 18px;
    padding: 30px 55px 30px 343px;
}
.gm-sign__t { grid-column: 1; grid-row: 1; }
.gm-sign__p { grid-column: 1; grid-row: 2; max-width: 548px; }
.gm-sign__btn {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    justify-self: end;
    position: static;
    left: auto;
    top: auto;
    right: auto;
}
@media (max-width: 1149px) {
    .gm-sign {
        grid-template-columns: minmax(0, 1fr);
        padding: 26px 26px 26px 92px;
        column-gap: 0;
        row-gap: 14px;
    }
    .gm-sign__t, .gm-sign__p, .gm-sign__btn { grid-column: 1; grid-row: auto; }
    .gm-sign__btn { justify-self: start; white-space: normal; }
    .gm-sign__p { max-width: none; }
}
@media (max-width: 560px) {
    .gm-sign { padding: 22px 20px 22px 80px; }
}

/* «Запись» (games) in the adaptive: drop the photographic background entirely and
   give the block the same surface as the cards above it on this page — the ones
   (#gm-why/.gm-three/.gm-aim/.gm-formats) render #FFFDFA with a 1px #EBE7DC
   border and an 18px radius. With the photo gone the deep 343/92px left gutter
   that cleared its flowers is no longer needed. */
@media (max-width: 1149px) {
    .gm-sign__bg { display: none; }
    .gm-sign {
        background: #FFFDFA;
        border: 1px solid #EBE7DC;
        padding: 26px 26px 26px 26px;
    }
}
@media (max-width: 560px) {
    .gm-sign { padding: 22px 20px; }
}

/* Карточка новостей на главной берёт текст из БД (JanVince.SmallRecords), поэтому
   её высота обязана следовать контенту: снимаем max-height/overflow, зашитые под
   прежний хардкод в три строки, иначе анонс обрезается посреди предложения.
   Длину анонса теперь определяет поле description записи. */
.news-card .news-card__body {
    max-height: none;
    overflow: visible;
}

/* CTA внутри заголовочного блока секции — страницы 404 и 500. */
.block-section__head .block-section__cta {
    margin: 1.6rem 0 0;
}

/* Контакты: два адреса (Москва, Краснодар) — города выделены, между адресами
   воздух. .ct-info__box p { margin: 0 } задаёт нулевой отступ у всех абзацев,
   поэтому второй адрес прижимался к первому вплотную. */
.page-contacts .ct-info__box--wide p + p { margin-top: 14px; }
.page-contacts .ct-info__box--wide p strong { font-weight: 700; }

/* ---------- Значки мессенджеров (partials/snippets/messengers.htm) ----------
   Три кликабельных значка со ссылками из настроек темы. Кружки вырезаны из
   макетного композита priv-social.webp: он 201x51 и состоит из трёх кружков
   50 + 26 + 49 + 26 + 50, поэтому gap: 26px воспроизводит макетную раскладку
   ровно, без пересчёта на глаз. */
.snippet-messengers {
    display: flex;
    align-items: center;
    gap: 26px;
}
.snippet-messengers__item { display: block; line-height: 0; }
.snippet-messengers__item img { display: block; width: auto; height: auto; }
.snippet-messengers__item:hover { opacity: .78; }

/* Hero «Привилегии»: значки справа от кнопки — раньше здесь была картинка-композит. */
.page-privilege .block-hero__socials { flex: 0 0 auto; }
.page-privilege .block-hero__socials .snippet-messengers__item img { width: 50px; }

/* CTA «Поддержка рядом»: значки прижаты к правому краю панели. */
.block-cta__socials { margin-left: auto; flex: 0 0 auto; }
.block-cta__socials .snippet-messengers__item img { width: 50px; }

@media (max-width: 1000px) {
    .block-cta__socials { margin-left: 0; }
}
@media (max-width: 700px) {
    .page-privilege .block-hero__socials { gap: 19px; }
    .page-privilege .block-hero__socials .snippet-messengers__item img { width: 37px; }
    .block-cta__socials { gap: 19px; }
    .block-cta__socials .snippet-messengers__item img { width: 42px; }
}

.block-snippet {
    container-type: inline-size;
}
.block-soon {
    background-color: blanchedalmond;
    padding: 2rem;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-direction: column;
    gap: 2rem;
    margin-block: 2rem;

    .title {
        font-weight: 600;
        font-size: 2rem;
        color: #cc947c;
        text-transform: uppercase;
    }

    .name {
        font-weight: 600;
        font-size: 3rem;
        color: #ab745c;
        text-transform: uppercase;
    }
}
.block-title {
    &.center {
        text-align: center;
    }
    &.right {
        text-align: right;
    }
}
.block-video {
    container-type: inline-size;
    margin-block: 2rem;

    .tabs {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        margin: 0 0 2rem;
        padding: 0;
        list-style: none;
        justify-content: center;

        @container (width < 1024px) {
            justify-content: flex-start;
        }
    }

    .tab {
        display: inline-block;
        padding: 0.6rem 1.5rem;
        border-radius: var(--pico-border-radius);
        background: transparent;
        color: #0e2231;
        text-decoration: none;
        font-weight: 500;
        font-size: 1rem;
        transition: background-color 0.2s, color 0.2s;
        white-space: nowrap;
        cursor: pointer;

        &:first-child {
            margin-right: 2rem;
            padding-inline: 4rem;
        }

        &:hover {
            background-color: #f0f0f0;
        }

        &.active {
            background: linear-gradient(135deg, #39936d 0%, #075859 100%);
            color: #fff;
        }

        &:focus {
            outline: 1px solid var(--pico-primary);
        }
    }

    .records-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;

        @container (width < 560px) {
            grid-template-columns: 1fr;
        }
    }

    .record-card {
        border-radius: var(--pico-border-radius);
        overflow: hidden;
        background-color: #f3f4f6;
        display: flex;
        flex-direction: column;

        &:nth-child(n + 7) {
            display: none;
        }

        &.show {
            display: flex;
        }
    }

    .record-image {
        width: 100%;
        height: 180px;
        overflow: hidden;

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
    }

    .record-image-link {
        cursor: pointer;
        display: block;
        position: relative;
    }

    .play-btn {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.6);
        display: flex;
        align-items: center;
        justify-content: center;
        color: #0e2231;
        pointer-events: none;
        transition: background 0.2s, transform 0.2s;
    }

    .play-btn svg {
        margin-left: 3px;
    }

    .record-image-link:hover .play-btn {
        background: rgba(255, 255, 255, 0.85);
        transform: translate(-50%, -50%) scale(1.08);
    }

    .record-info {
        padding: 1rem;
        display: flex;
        gap: 0.5rem;
        flex: 1;
    }

    .record-info-main {
        display: flex;
        flex-direction: column;
        gap: 0.3rem;
        flex: 1;
        min-width: 0;
    }

    .record-name,
    .record-name-link {
        font-weight: 600;
        font-size: 1.1rem;
        color: #0e2231;
        text-decoration: none;
    }

    .record-name-link:hover {
        color: var(--pico-primary);
    }

    .record-date {
        font-size: 0.85rem;
        color: var(--pico-muted-color);
    }

    .record-fav {
        flex-shrink: 0;
        width: 2rem;
        height: 2rem;
        padding: 0;
        border: none;
        background: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--pico-primary);
        outline: none;
        border: none;
        box-shadow: none;

        .fav-icon {
            stroke: var(--pico-primary);
            fill: none;
            transition: fill 0.2s;
        }

        &.active .fav-icon {
            fill: url(#fav-gradient);
            stroke: none;
        }
    }

    .show-more-wrap {
        display: flex;
        justify-content: center;
        margin-top: 2rem;
    }

    .show-more-btn {
        padding: 0.6rem 3rem;
        font-size: 1rem;
        cursor: pointer;

        &.hidden {
            display: none;
        }
    }

    @container (width < 480px) {
        .tabs {
            gap: 0.4rem;
        }
        .tab {
            padding: 0.5rem 1rem;
            font-size: 0.9rem;
        }
    }
}

/* Hide prev/next arrows in glightbox */
.gprev,
.gnext {
    display: none !important;
}

.block-videobox {
    container-type: inline-size;
    margin-block: 2rem;

    h3 {
        text-align: center;
    }

    .videobox-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;

        @container (width < 560px) {
            grid-template-columns: 1fr;
        }
    }

    .videobox-card {
        overflow: hidden;
        /*background-color: #f3f4f6;*/
    }

    .videobox-image {
        border-radius: var(--pico-border-radius);
        width: 100%;
        height: 220px;
        overflow: hidden;

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }
    }

    .videobox-image-link {
        cursor: pointer;
        display: block;
        position: relative;
    }

    .play-btn {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.6);
        display: flex;
        align-items: center;
        justify-content: center;
        color: #0e2231;
        pointer-events: none;
        transition: background 0.2s, transform 0.2s;
    }

    .play-btn svg {
        margin-left: 3px;
    }

    .videobox-image-link:hover .play-btn {
        background: rgba(255, 255, 255, 0.85);
        transform: translate(-50%, -50%) scale(1.08);
    }

    .videobox-info {
        padding: 0.75rem;
        text-align: center;
    }

    .videobox-title {
        font-weight: 600;
        font-size: 1.1rem;
        color: #0e2231;
    }
}

.block-wewant {
    margin-block: 2rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: center;
    container-type: inline-size;

    @container (width < 860px) {
        grid-template-columns: 1fr;
    }

    .content {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .title {
        margin: 0;
        font-size: 1.8rem;
        font-weight: bold;
        span {
            color: var(--pico-primary);
        }
        @container (width < 640px) {
            font-size: 1.6rem;
        }
    }

    .text {
        @container (width < 640px) {
            br {
                display: none;
            }
        }
    }

    .items {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        margin-top: 1rem;
    }

    .item {
        display: flex;
        align-items: flex-start;
        gap: .75rem;
    }

    .item-icon {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 48px;

        img {
            height: 48px;
            width: auto;
            object-fit: contain;
        }
    }

    .item-text {
        display: flex;
        flex-direction: column;
        gap: .25rem;
    }

    .item-title {
        font-size: 1rem;
        font-weight: 600;
    }

    .item-description {
        font-size: .875rem;
        line-height: 1.4;
    }

    .image {
        position: relative;
        display: flex;
        justify-content: center;

        img {
            max-width: 100%;
            height: auto;
            object-fit: contain;
            border-radius: 1rem;
        }

        &::after {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 1rem;
            box-shadow: inset 0 0 50px rgba(255, 255, 255, 0.5);
            pointer-events: none;
        }
    }
}

.block-whywe {
    position: relative;
    container-type: inline-size;
    margin-block: 2rem;
    margin-bottom: 150px;
    height: 730px;

    @container (width < 800px) {
        height: auto;
        margin-bottom: unset;
    }

    .bg {
        position: absolute;
        inset: 0;
        overflow: hidden;
        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }
    }

    .container {
        position: relative;
        bottom: -300px;

        @container (width < 800px) {
            bottom: unset;
            padding-block: 2rem;
        }
    }

    .block_title {
        color: white;
        text-transform: uppercase;
        font-size: 3rem;
        font-weight: bold;
        text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.567);
        span {
            font-size: 4rem;
            font-weight: 900;
        }
        @container (width < 640px) {
            font-size: 2rem;
            span {
                font-size: 2rem;
            }
        }
    }

    .cards {
        display: grid;
        gap: 2rem;
        grid-template-columns: repeat(4, 1fr);
        @container (width < 900px) {
            gap: 1rem;
        }
        @container (width < 800px) {
            grid-template-columns: repeat(2, 1fr);
        }
        @container (width < 400px) {
            grid-template-columns: repeat(1, 1fr);
        }
    }

    .card {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        background-color: #f8f4ee;
        border-radius: 1rem;
        padding: 1rem;

        .title {
            font-weight: bold;
        }

        &:nth-child(3) .title {
            max-width: 120px;
        }

        &:nth-child(4) .title {
            max-width: 140px;
        }
    }

}

.block-xraylabstages {
    container-type: inline-size;

    & table {
        font-weight: bold;
        border-collapse: collapse;

        & th, & td {
            border: 1px solid black;
        }

        & td {
            padding: 10px;
            vertical-align: top;
        }

        @container (width < 768px) {
            & td {
                padding: 6px;
            }
        }

        @container (width < 320px) {
            display: block;

            & tbody {
                display: flex;
                flex-wrap: wrap;

                & tr {
                    display: flex;
                    flex-wrap: wrap;
                }

                & td:first-child {
                    border-right: none;
                    background-color: var(--primary);
                    color: white;
                }

                & td:nth-child(2) {
                    flex: 1;
                    border-left: none;
                }

                & td:last-child {
                    min-width: 100%;
                    flex: 1;
                    font-weight: normal;
                }
            }
        }
    }

    & > .text {
        font-weight: bold;
    }
}
.block-youtube {
    &.aspect-video {
        aspect-ratio: 16 / 9;
    }
}
.dialog-agreement {
    container-type: inline-size;
}
.dialog-backcall {
    container-type: inline-size;
    border-radius: 0;

    & .logo {
        margin: var(--spacing) 0;
        text-align: center;

        & img {
            height: 80px;
        }
    }

    & p {
        text-align: center;
        font-size: 14px;

        & a {
            text-decoration: none;

            &:hover {
                text-decoration: underline;
            }
        }
    }

    & h2 {
        font-size: 18px;
        text-align: center;
        color: black;
    }

    & label {
        font-size: 14px;
    }

    & input[type="text"], & textarea {
        width: 100%;
        margin-bottom: var(--spacing);
    }

    & textarea {
        resize: vertical;
    }

    & .snippet-agreement {
        margin: var(--spacing) 0;
    }

    & .modal-button {
        display: block;
        margin: var(--spacing) auto;
    }
}

#BackcallForm_forms_flash {
    display: none;
}
.dialog-info {
    container-type: inline-size;
    color: white;
    background-color: var(--secondary);
    max-width: 640px;
}
.dialog-menu {
    container-type: inline-size;
    text-align: center;
}
.el-anchor {
    top: -60px;
    position: relative;
}

/*
 * Переход по внутристраничным якорям (#diagnostika, #priem и т.п.).
 * Шапка плавающая — position: absolute, её высота лежит в --hh (обновляется
 * в theme.js). Без этого прокрутка останавливается так, что заголовок блока
 * оказывается под шапкой. Значение по умолчанию — высота шапки на десктопе.
 */
html {
    scroll-padding-top: calc(var(--hh, 210px) + 16px);
}

.el-dummy {
    padding: 2rem;
    margin-block: 2rem;
    border: 2px dashed var(--secondary);
    color: var(--secondary);
    display: flex;
    align-items: center;
    justify-content: center;

    &.clear {
        border: none;
        background: none;
        color: var(--color);
    }
}

.expander-container {
    margin-left:  calc(-1 * var(--spacing));
    margin-right: calc(-1 * var(--spacing));
}

.expander {
    width: auto;
    max-width: var(--wrapper);

    @media (width >= 1980px) {
        margin-left:  calc(50% - var(--wrapper) / 2);
        margin-right: calc(50% - var(--wrapper) / 2);
    }

    &.padded {
        padding-left:  calc(var(--spacing) * 2);
        padding-right: calc(var(--spacing) * 2);
    }

    @media (width < 1980px) {
        width: 100vw;
        margin-left:  calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }
}

/*
 * hh - Header Height
 * необходимо чтобы делать верхний отступ контента при плавающей шапке
 * переменная --hh обновляется в theme.js
 */
.el-hh {
    height: var(--hh);
}
/*
 * Верхний отступ контента под прозрачную шапку (она position: absolute) для
 * страниц, которые не начинаются с hero-блока — 404, 500, новости. Значение
 * совпадает с .block-hero__content, оттуда и взято.
 * Второй селектор нужен, чтобы перебить padding-block у .block-section
 * независимо от порядка подключения файлов.
 */
.el-topspace,
.el-topspace.block-section {
    padding-top: clamp(220px, 19.77vw, 253px);
}

.el-margin-block {
    margin-block: 4rem;
    @media(width < 1080px) {
        margin-block: 3rem;
    }
    @media(width < 960px) {
        margin-block: 2rem;
    }
}

.el-menu {
    display: flex;
    list-style: none;
    padding: 0;
    position: relative;
    margin: 0 !important;
    gap: 30px;

    li {
        padding: 0;
        &:not(.fulldrop) {
            position: relative;
        }
    }

    a, span {
        margin: 0;
        padding: 0;
        display: inline-block;
    }

    & > li  ul  {
        display: none;
        position: absolute;
        z-index: 3;
        list-style: none;
        margin: 0;
        font-size: 16px;
        padding: 0;
        min-width: 240px;
        box-shadow: 0px 2px 4px rgba(black, .3);
        a, span {
            text-transform: none;
            white-space: nowrap;
        }
        li {
            width: 100%;
            a {
                display: block;
                width: 100%;
            }
        }
    }

    & > li:not(.fulldrop) > ul {
       transform: translateX(-50%);
       left: 50%;
    }

    & > li.fulldrop > ul {
        width: 100%;
        left: 0;
    }

    & li:hover > ul {
        display: block;
    }

}

.el-wrapper {
    max-width: var(--wrapper);
    margin: 0 auto;
    overflow: hidden;
}
body.layout-default {
    overflow-x: hidden;

    & > .el-wrapper {
        box-shadow: 0px 0px 10px rgba(0,0,0, .5);
        display: flex;
        flex-direction: column;
    }

    & .flash-message {
        top: 50%;
        font-size: 20px;
    }

    & button {
        /*width: auto;*/
    }

    & .splide__arrow {
        background-color: transparent;

        &:disabled {
            display: none;
        }

        & svg {
            fill: var(--primary);
        }
    }

    & .splide__pagination__page.is-active {
        background: var(--primary);
    }

    & .splide__arrow:hover:not(:disabled) svg {
        fill: var(--primary);
    }

    & [aria-busy="true"]:not(input, select, textarea):not(:empty)::before {
        display: none;
    }

    & .splide[aria-busy="true"] {
        white-space: normal !important;
    }
}

.mall-product {
    container-type: inline-size;

    .mall-product__body {
        display: grid;
        gap: 3rem;
        grid-template-columns: 1fr 1fr;

        .firstcol {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

        .secontcol {
            display: flex;
            flex-direction: column;
            gap: 2rem;
        }

        @container (width < 728px) {
            grid-template-columns: 1fr;
            & > .images {
                max-width: 360px;
                margin-inline: auto;
            }
        }
    }

    .mall-product__images {
        .main-slider {
            margin-bottom: 1.5rem;
            position: relative;

            .splide__slide {
                text-align: center;
                background-color: white;
                border-radius: var(--pico-border-radius);

                img {
                    border-radius: var(--pico-border-radius);
                    overflow: hidden;
                }
            }

            .splide__arrow {
                position: absolute;
                top: 50%;
                transform: translateY(-50%);
                z-index: 1;


            }
            .splide__arrow--prev {
                left: -16px;
            }
            .splide__arrow--next {
                right: -16px !important;
            }
        }
        .thumb-slider {
            .splide__track {
                margin-inline: 40px;
            }
            .splide__slide {
                background-color: white;
                border: none;
                padding: 0;
                text-align: center;
                aspect-ratio: 260 / 200;
                border-radius: var(--pico-border-radius);
                overflow: hidden;

                img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }

                &:focus {
                    border: none;
                }
            }
            .splide__arrow--prev {
                left: 0;
            }
            .splide__arrow--next {
                right: 0;
            }

            .splide__slide:focus,
            .splide__slide:focus-visible {
                outline: none !important;
                border: none !important;
                box-shadow: none !important;
            }
        }
    }

    .mall-product__description {
        .mall-product__description-text {
            display: -webkit-box;
            -webkit-line-clamp: 5;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .mall-product__description-btn {
            display: block;
            margin: 0.5rem auto 0;
            width: fit-content;
            cursor: pointer;
            font-weight: 600;
            font-size: 0.9rem;

            &:hover {
                opacity: 0.9;
            }
        }

        &:has(.mall-product__description-toggle:checked) {
            .mall-product__description-text {
                -webkit-line-clamp: unset;
                display: block;
            }

            .mall-product__description-btn {
                display: none;
            }
        }
    }

    .mall-product__info {
        display: grid;
        gap: 1.5rem;
        container-type: inline-size;
        align-content: start;
    }

    h1 {
        margin-bottom: 0;
        font-size: 1.875rem;
    }

    .mall-product__description-short {
        font-size: 1rem;
        font-weight: 400;
        margin: 0;
    }

    .mall-product__quantity_min {
        font-weight: bold;
        display: flex;
        gap: 1rem;
        align-items: baseline;
        .value {
            font-size: 1.4rem;
        }
    }

    .mall-product__properties {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        font-size: 1.2rem;

        h2 {
            font-size: 1.2rem;
            margin: 0;
        }

        .name {
            font-weight: bold;
        }
        .value {
            color: #7b0202;
        }
        .unit {
            color: #7b0202;
        }
    }

    .snippet-clickbuybutton {
        justify-self: start;
        margin-block: 2rem;
    }

    .mall-product__advantages-list {
        ul {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: .5rem 1rem;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        li {
            margin: 0;
            padding: 0 0 0 1.5rem;
            position: relative;
            font-size: .8rem;
            line-height: 1.3;
            list-style: none;

            &::before {
                content: '';
                position: absolute;
                left: 0;
                top: 2px;
                width: 16px;
                height: 16px;
                background: url("../themes/shadrina/assets/images/mall/product/check.webp") center no-repeat;
                background-size: contain;
            }
        }
    }

    .mall-product__advantages {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
        border: 1px solid var(--pico-muted-border-color);
        border-radius: var(--pico-border-radius);
        overflow: hidden;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    }

    .mall-product__advantages-item {
        display: flex;
        align-items: center;
        gap: .5rem;
        padding: .75rem 1rem;
        font-size: .8rem;
        line-height: 1.2;

        img {
            width: 32px;
            height: 32px;
            flex-shrink: 0;
            object-fit: contain;
        }
    }

    .mall-product__actions {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        margin-top: 1rem;
    }

    .mall-product__prices {
        display: flex;
        align-items: baseline;
        gap: 0.5rem;
    }

    .mall-product__price {
        font-size: 1.5rem;
        font-weight: 700;
    }

    .mall-product__old-price {
        font-size: 1rem;
        color: var(--pico-muted-color);
        text-decoration: line-through;
    }

    .mall-product__video {
        h3 {
            margin: 0 0 1rem;
            font-size: 1.2rem;
        }

        .splide__arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            z-index: 1;
        }

        .splide__arrow--prev {
            left: -16px;
        }

        .splide__arrow--next {
            right: -16px !important;
        }

        .splide__slide {
            background: none;
            border-radius: 0;
        }
    }

    .mall-product__video-card {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .mall-product__video-preview {
        position: relative;
        display: block;
        border-radius: var(--pico-border-radius);
        overflow: hidden;
        cursor: pointer;

        img {
            width: 100%;
            height: 180px;
            object-fit: cover;
            display: block;
            border-radius: var(--pico-border-radius);
        }
    }

    .mall-product__video-play {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.6);
        display: flex;
        align-items: center;
        justify-content: center;
        color: #0e2231;
        pointer-events: none;
        transition: background 0.2s, transform 0.2s;

        svg {
            margin-left: 3px;
        }
    }

    .mall-product__video-preview:hover .mall-product__video-play {
        background: rgba(255, 255, 255, 0.85);
        transform: translate(-50%, -50%) scale(1.08);
    }

    .mall-product__video-info {
        padding: 0;
    }

    .mall-product__video-name {
        font-weight: 400;
        font-size: 0.95rem;
        color: #0e2231;
        text-decoration: none;
        line-height: 1.3;
    }

    .mall-product__video-name:hover {
        color: var(--pico-primary);
    }
}

.mall-products-filter {
    display: flex;
    gap: 1rem;

    @media (width < 1080px) {
        flex-wrap: wrap;
    }

    @media (width < 540px) {
        flex-direction: column;
        & > * {
            width: 100%;
        } 
    }

    .mall-property {
        flex: 1;
    }

    .mall-property__label {
        display: none;
    }

    select {
        padding: 6px;
        padding-left: 20px;
        padding-right: 50px;
        font-size: 16px;
        margin-bottom: 0;
        min-width: 210px;
    }

    .mall-products-filter-clear {
        align-self: flex-end;
        border: none;
    }
}
.mall-products {
    container-type: inline-size;
    position: relative;

    .mall-loader {
        position: absolute;
        inset: 0;
        display: flex;
        align-items: flex-start;
        padding-top: 3rem;
        justify-content: center;
        background-color: rgba(173, 173, 173, 0.398);
        border-radius: 1rem;
        display: none;
        z-index: 1;
    }

    .snippet-mall-products {

    }

    .mall-products-empty {
        text-align: center;
        background: #eee;
        border-radius: 1rem;
        padding: 2rem;
    }
}


/* ==========================================================================
   Новости (/news и /news/:slug)
   Данные — JanVince.SmallRecords, область (Area) slug «news».
   Поверхность карточек повторяет карточки страницы «Игры»: #FFFDFA + #EBE7DC.
   ========================================================================== */

/* --- Список --- */
.news-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 28px;
    margin-top: 8px;
}

.news-teaser {
    background: #FFFDFA;
    border: 1px solid var(--c-line);
    border-radius: 18px;
    padding: 22px 24px 26px;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.news-teaser:hover {
    border-color: var(--c-olive-soft);
    box-shadow: 0 8px 24px rgba(61, 61, 43, .07);
}

.news-teaser__link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.news-teaser__img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: contain;
    background: var(--c-cream-2);
    border-radius: 12px;
    margin-bottom: 20px;
}

.news-teaser__date {
    display: block;
    font-family: var(--font-sans);
    font-size: .82rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-ink-soft);
    margin-bottom: 12px;
}

.news-teaser__title {
    font-family: var(--font-serif);
    font-size: 1.35rem;
    font-weight: 400;
    line-height: 1.3;
    color: var(--c-olive-deep);
    margin: 0 0 16px;
}

.news-teaser__text {
    font-size: 1rem;
    line-height: 1.5;
    color: var(--c-ink);
    margin: 0 0 22px;
    /* три строки анонса, дальше многоточие — карточки в сетке выравниваются */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-teaser__more {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: .95rem;
    color: var(--c-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.news-teaser__more img { width: 19px; height: 13px; }

.news-empty {
    font-size: 1.05rem;
    color: var(--c-ink-soft);
    margin-top: 24px;
}

/* --- Пагинация --- */
.news-pagination { margin-top: 48px; }

.news-pagination ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.news-pagination li { list-style: none; }

.news-pagination a,
.news-pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 12px;
    border: 1px solid var(--c-line);
    border-radius: 10px;
    background: #FFFDFA;
    color: var(--c-ink);
    font-size: 1rem;
    line-height: 1;
    text-decoration: none;
}

.news-pagination a:hover { border-color: var(--c-olive); }

.news-pagination li.is-active span {
    background: var(--c-olive-dark);
    border-color: var(--c-olive-dark);
    color: #fff;
}

/* --- Детальная страница --- */
.news-item {
    /* Pico оформляет любой <article> как карточку: белый фон, радиус, padding и
       крупная тень. Новость должна лежать прямо на фоне страницы. */
    max-width: 820px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    margin: 0;
}

.news-item__date {
    display: block;
    font-family: var(--font-sans);
    font-size: .85rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-ink-soft);
    margin-bottom: 14px;
}

.news-item__title {
    font-family: var(--font-serif);
    font-size: 2.1rem;
    font-weight: 400;
    line-height: 1.2;
    color: var(--c-olive-deep);
    margin: 0 0 28px;
}

.news-item__lead {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin: 0 auto 34px;
    border-radius: 18px;
}

.news-item__body {
    font-size: 1.1rem;
    line-height: 1.6;
    color: var(--c-ink);
}

.news-item__body > p { margin: 0 0 22px; }

.news-item__body blockquote {
    margin: 26px 0 28px;
    padding: 4px 0 4px 28px;
    border-left: 4px solid var(--c-line);
    font-family: var(--font-serif);
    font-size: 1.2rem;
    line-height: 1.45;
    color: var(--c-olive-deep);
}

.news-item__body blockquote p { margin: 0; }

.news-fig { margin: 34px 0; text-align: center; }

/* Изображения новости отдаются в естественном размере: исходники квадратные
   (~320px) и при растягивании на всю ширину колонки мылят. Центрируем. */
.news-fig img {
    display: inline-block;
    width: auto;
    max-width: 100%;
    height: auto;
    border-radius: 18px;
}

.news-item__foot {
    margin-top: 44px;
    padding-top: 28px;
    border-top: 1px solid var(--c-line);
}

.news-item__back {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 1rem;
    color: var(--c-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.news-item__back img { width: 19px; height: 13px; transform: rotate(180deg); }

/* --- Адаптив --- */
@media (max-width: 900px) {
    .news-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .news-item__title { font-size: 1.75rem; }
    .news-item__body { font-size: 1.05rem; }
}

@media (max-width: 640px) {
    .news-teaser { padding: 18px 18px 22px; }
    .news-teaser__title { font-size: 1.2rem; }
    .news-item__title { font-size: 1.5rem; margin-bottom: 22px; }
    .news-item__lead { border-radius: 14px; margin-bottom: 26px; }
    .news-item__body blockquote { padding-left: 18px; font-size: 1.1rem; margin: 22px 0; }
    .news-fig { margin: 26px 0; }
    .news-fig img,
    .news-item__lead { border-radius: 14px; }
    .news-pagination a,
    .news-pagination span { min-width: 40px; height: 40px; }
}

/* Цифры страниц наследуют курсив Pico — выравниваем по остальной типографике. */
.news-pagination a,
.news-pagination span {
    font-family: var(--font-sans);
    font-style: normal;
}

/* То же для карточек списка: у Pico <article> идёт с собственной крупной тенью,
   а подсветка при наведении у остальных карточек сайта не используется. */
.news-teaser {
    box-shadow: none;
}
.news-teaser:hover {
    border-color: var(--c-olive-soft);
    box-shadow: none;
}

.order-success {
    display: flex;
    justify-content: center;
    padding: 4rem 1rem;
}

.order-success__card {
    text-align: center;
    max-width: 480px;
    width: 100%;
}

.order-success__icon {
    margin-bottom: 1.5rem;
}

.order-success__title {
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--heading-color, #1a1a2e);
}

.order-success__number {
    font-size: 1.125rem;
    margin-bottom: 0.75rem;
    color: var(--text-color, #4a4a6a);
}

.order-success__number strong {
    color: var(--heading-color, #1a1a2e);
}

.order-success__note {
    font-size: 0.9375rem;
    color: var(--muted-color, #888);
    margin-bottom: 2rem;
    line-height: 1.5;
}

.snippet-advantages {
    display: flex;
    justify-content: space-around;
    gap: 1rem;
    margin: 0;
    &.vertical {
        flex-direction: column;
    }
    @container (width < 640px) {
        flex-direction: column;
    }
    li {
        margin: 0;
        padding: 0;
        display: grid;
        gap: 6px;
        grid-template-columns: 32px 1fr;
        align-items: flex-start;
        font-weight: bold;
        font-size: 1.4rem;
        &::before {
            content: '';
            height: 32px;
            margin-top: -2px;
            background: url("../themes/shadrina/assets/images/snippets/advantages/check.webp") center no-repeat;
        }
    }
}

.snippet-agreement {
    display: flex;
    gap: 1rem;
    margin-bottom: var(--pico-spacing);

    input {
        margin: 0;
    }
    .link {
        font-size: .8rem;
    }
}

.snippet-buycountbutton {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    height: 38px;
    padding: 0 6px 0 20px;
    background: #e8d5b8;
    border: none;
    border-radius: var(--border-radius);
    cursor: pointer;
    font-family: -apple-system, "Segoe UI", Roboto, Helvetica, sans-serif;
    font-weight: 600;
    color: #1a1a1a;
    letter-spacing: 0.02em;
    user-select: none;
    transition: background 0.15s ease, box-shadow 0.15s ease;
    position: relative;
    outline: none;
    -webkit-tap-highlight-color: transparent;
  
    &:hover {
      background: #dcc9a8;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.10);
    }
  
    &:active {
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    }
  
    .label {
      pointer-events: none;
      white-space: nowrap;
      line-height: 1;
    }
  
    .counter {
      display: inline-flex;
      align-items: center;
      gap: 0;
      height: 36px;
      border-radius: 18px;
    }
  
    .step {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 24px;
      height: 36px;
      padding: 0;
      margin-bottom: 0;
      border: none;
      border-radius: 4px;
      background: transparent;
      color: #1a1a1a;
      font-size: 20px;
      font-weight: 500;
      line-height: 1;
      cursor: pointer;
      transition: background 0.15s ease, opacity 0.15s ease;
      -webkit-tap-highlight-color: transparent;
      outline: none;
  
      &:hover {
        background: rgba(0, 0, 0, 0.07);
      }
  
      &:active {
        background: rgba(0, 0, 0, 0.12);
      }

      &:focus {
        outline: none;
        border: none;
      }
  
      &[disabled] {
        opacity: 0.3;
        cursor: default;
        pointer-events: none;
      }
    }
  
    .value {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 30px;
      height: 30px;
      border: 1px solid #1a1a1a;
      border-radius: 4px;
      background: transparent;
      font-family: inherit;
      font-size: 15px;
      font-weight: 600;
      color: #1a1a1a;
      text-align: center;
      line-height: 30px;
    }
  }
.snippet-cartlink {
    position: relative;
    .badge {
        min-width: 12px;
        text-align: center;
        background-color: var(--pico-primary);
        color: white;
        display: inline-block;
        position: absolute;
        border-radius: 20px;
        padding: 2px;
        font-size: 12px;
        font-weight: bold;
        right: -6px;
        top: 0;
        line-height: 1;

    }
}

.snippet-clickbuybutton {
    font-size: 16px;
    font-weight: bold;
    /*padding-inline: 4px;*/
}

.snippet-mall-cart {
    container-type: inline-size;

    .cart-layout {
        display: grid;
        grid-template-columns: 1fr 240px;
        gap: 2rem;
        align-items: start;

        @container (width < 768px) {
            grid-template-columns: 1fr;

            .cart-sidebar {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 1rem;

                .cart-sidebar__card {
                    height: 100%;
                }
            }
        }

        @container (width < 540px) {
            .cart-sidebar {
                grid-template-columns: 1fr;
            }

            .cart-item {
                grid-template-columns: auto 1fr;
            }

            .cart-item__total {
                grid-column: 2;
                text-align: left;
            }
        }

        @container (width < 480px) {
            .cart-item {
                grid-template-columns: 1fr;
            }

            .cart-item__image {
                width: 100%;
                height: auto;
                aspect-ratio: 4 / 3;
            }

            .cart-item__total {
                grid-column: 1;
                text-align: left;
            }
        }
    }

    .cart-left {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .cart-items {
        display: flex;
        flex-direction: column;
        background: #fff;
        border-radius: 0.75rem;
        box-shadow: 0 2px 8px rgba(0,0,0,0.08);
        padding: 1rem;
    }

    .cart-items__header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-bottom: 0.75rem;
        border-bottom: 1px solid #eee;
        margin-bottom: 0.5rem;
    }

    .cart-items__count {
        font-size: 1rem;
    }

    .cart-items__clear {
        background: none;
        border: none;
        color: #c00;
        cursor: pointer;
        font-size: 0.75rem;
        padding: 0;

        &:hover {
            text-decoration: underline;
        }
    }

    .cart-checkout-bottom {
        align-self: flex-start;
    }

    .cart-divider {
        border: none;
        border-top: 1px solid #eee;
        margin: 0;
    }

    .cart-item {
        position: relative;
        display: grid;
        grid-template-columns: auto 1fr auto;
        gap: 1rem;
        padding: 1rem 0;
        align-items: start;
    }

    .cart-item__image {
        flex-shrink: 0;
        width: 120px;
        height: 90px;
        background: #f5f5f5;
        border-radius: 0.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;

        img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }
    }

    .cart-item__info {
        min-width: 0;
    }

    .cart-item__name {
        font-weight: bold;
        text-decoration: none;
        color: inherit;
        display: block;
        margin-bottom: 0.25rem;

        &:hover {
            text-decoration: underline;
        }
    }

    .cart-item__desc {
        font-size: 0.8rem;
        color: #666;
        margin-bottom: 0.5rem;
        line-height: 1.4;
    }

    .cart-item__prices {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-bottom: 0.5rem;
    }

    .cart-item__unit-price {
        font-weight: bold;
        font-size: 1rem;
    }

    .cart-item__old-price {
        font-size: 0.875rem;
        color: #999;
        text-decoration: line-through;
    }

    .cart-item__actions {
        display: flex;
        align-items: center;
        gap: 1rem;
    }

    .cart-item__quantity {
        display: flex;
        align-items: center;
        gap: 4px;
        border-radius: 0.375rem;
    }

    .cart-item__qty-btn {
        width: 2rem;
        height: 2rem;
        border: none;
        background: #f5f5f5;
        cursor: pointer;
        font-size: 1.125rem;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #333;
        transition: background 0.15s;

        &:hover {
            background: #e0e0e0;
        }
    }

    .cart-item__qty-input {
        width: 3rem;
        height: 2rem;
        border: none;
        text-align: center;
        font-size: 0.875rem;
        margin: 0;
        -moz-appearance: textfield;

        &::-webkit-inner-spin-button,
        &::-webkit-outer-spin-button {
            -webkit-appearance: none;
            margin: 0;
        }
    }

    .cart-item__remove {
        background: none;
        border: none;
        color: #c00;
        cursor: pointer;
        font-size: 0.75rem;
        padding: 0;

        &:hover {
            text-decoration: none;
        }
    }

    .cart-item__total {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        align-self: stretch;
    }

    .cart-item__total-price {
        font-weight: bold;
        font-size: 1.125rem;
        white-space: nowrap;
    }

    .cart-item > .cart-item__remove {
        position: absolute;
        top: 0.25rem;
        right: 0.25rem;
        background: rgba(255,255,255,0.7);
        border: none;
        border-radius: 50%;
        width: 1.5rem;
        height: 1.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #333;
        cursor: pointer;
        font-size: 0.875rem;
        padding: 0;
        line-height: 1;
        z-index: 1;

        &:hover {
            color: #c00;
            background: rgba(255,255,255,0.9);
        }
    }

    .cart-sidebar {
        position: sticky;
        top: calc(var(--hh, 0px) + 1rem);
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .cart-sidebar__card {
        background: #00414b;
        background-size: cover;

        border-radius: 0.75rem;
        padding: 1rem;
        box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    }

    .cart-sidebar__order {
        color: white;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .cart-order__title {
        font-size: 1.125rem;
        font-weight: bold;
        margin-bottom: 1rem;
    }

    .cart-installment {
        margin-bottom: .5rem;
    }

    .cart-installment__label {
        font-size: 0.7rem;
        margin-bottom: 0.25rem;
    }

    .cart-installment__price {
        font-size: 2rem;
        font-weight: bold;
    }

    .cart-installment__period {
        font-size: 0.875rem;
        font-weight: normal;
        opacity: 0.8;
    }

    .cart-order__note {
        margin-top: 1rem;
        font-size: 0.8rem;
        line-height: 1.4;
        text-align: center;
    }

    .cart-totals {
        margin-bottom: 1rem;
    }

    .cart-total-row {
        display: flex;
        align-items: baseline;
        gap: .5rem;
    }

    .cart-total-row__label {
        font-weight: normal;
        font-size: .8rem;

    }

    .cart-total-row__value {
        font-weight: bold;
        font-size: 1.25rem;
    }

    .cart-checkout-btn {
        width: 100%;
        font-weight: bold;
    }

    .cart-sidebar__accessories {
        min-height: 340px;
        background-size: cover;
        background-color: white;
        background-position: center;
        background-repeat: no-repeat;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: 1rem;
    }

    .cart-accessories__title {
        font-size: 1.2rem;
        font-weight: bold;
    }

    .cart-accessories__link {
        align-self: flex-start;
    }

    .cart-empty {
        text-align: center;
        padding: 3rem 1rem;
        background: #f5f5f5;
        border-radius: 1rem;
        font-size: 1.125rem;
        color: #666;
    }
}

/* Скрываем исходный блок-шаблон вне диалога */
.cart-installment-items-source:not(#dialog-backcall *) {
    display: none;
}

.installment-items {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    margin-bottom: 0.5rem;
}

.installment-items__title {
    font-weight: bold;
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
}

.installment-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem;
    background: #f9f9f9;
    border-radius: 0.375rem;
    cursor: pointer;
    transition: background 0.15s;
    width: 100%;
    min-width: 100%;

    &:hover {
        background: #f0f0f0;
    }

    input[type="checkbox"] {
        flex-shrink: 0;
    }
}

.installment-item__name {
    flex: 1;
    font-size: 0.85rem;
    line-height: 1.3;
}

.installment-item--all {
    border: 1px solid #ddd;
    font-weight: bold;
    background: #f0f0f0;

    &:hover {
        background: #e8e8e8;
    }
}

.installment-item__price {
    flex-shrink: 0;
    font-weight: bold;
    font-size: 0.85rem;
    white-space: nowrap;
    margin-left: auto;
}

.snippet-mall-product-card {
    display: flex;
    flex-direction: column;
    border-radius: var(--pico-border-radius);
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--pico-muted-border-color);
    box-shadow: 0 4px 16px rgba(0,0,0,.08);
    min-height: 340px;
    white-space: normal;
}

.snippet-mall-product-card .image {
    display: block;
    aspect-ratio: 260 / 190;
    overflow: hidden;
    background: #f5f5f5;
    border-radius: var(--pico-border-radius);
}

.snippet-mall-product-card .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.snippet-mall-product-card .image .none {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--pico-muted-color);
    font-size: .875rem;
}

.snippet-mall-product-card .body {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding: .75rem;
    flex: 1;
}

.snippet-mall-product-card .name {
    font-weight: 600;
    font-size: 1rem;
    color: #000;
    text-decoration: none;
    line-height: 1.3;
}

.snippet-mall-product-card .name:hover {
    color: var(--pico-primary);
}

.snippet-mall-product-card .description-short {
    font-size: .875rem;
    color: #000;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.snippet-mall-product-card .prices {
    display: flex;
    align-items: baseline;
    gap: .5rem;
    margin-top: auto;
}

.snippet-mall-product-card .current-price {
    font-size: 1.125rem;
    font-weight: 700;
    color: #000;
}

.snippet-mall-product-card .old-price {
    font-size: .875rem;
    color: #000;
    text-decoration: line-through;
}

.snippet-mall-product-card .actions {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-top: .25rem;
}

.snippet-mall-product-card .actions .button {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .5rem 1rem;
    font-size: .875rem;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
}

.snippet-mall-product-card .cart-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    flex-shrink: 0;
}

.snippet-mall-product-card .cart-button img {
    display: block;
    width: 24px;
    height: 24px;
    transition: filter .2s ease;
}

.snippet-mall-product-card .cart-button:hover img {
    filter: brightness(0) saturate(100%) invert(36%) sepia(93%) saturate(374%) hue-rotate(118deg) brightness(96%) contrast(89%);
}

.snippet-mall-products-slider {
    .splide__track {
        margin-inline: 40px;
    }

    .splide__slide {
        display: flex;
        height: auto;
        overflow: hidden;

        .snippet-mall-product-card {
            width: 100%;
        }
    }

    .splide__arrow {
        border-radius: 50%;
        width: 32px;
        height: 32px;
        padding: 0;
        margin: 0;
        background-color: white;
        opacity: 1;
        border: 1px solid #ccc;
        box-shadow: 0 2px 4px rgba(0,0,0,.15);

        &:hover:not(:disabled) {
            border-color: #4caf50;
        }

        svg {
            height: 24px;
            fill: #000;
        }
    }

    .splide__arrow--prev {
        left: 0;
    }

    .splide__arrow--next {
        right: 0;
    }
}

.snippet-mall-products {
    container-type: inline-size;
    display: grid;
    gap: 2rem 1rem;
    grid-template-columns: repeat(4, 1fr);

    @container (width < 1080px) {
        grid-template-columns: repeat(3, 1fr);
    }
    @container (width < 840px) {
        grid-template-columns: repeat(2, 1fr);
    }
    @container (width < 540px) {
        grid-template-columns: repeat(1, 1fr);
    }

}

.snippet-pagination {
    display: flex;
    justify-content: center;
    margin-block: 2rem;
}

.snippet-pagination ul {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    list-style: none;
    margin: 0 !important;
    padding: 0 !important;
}

.snippet-pagination li {
    margin: 0 !important;
    padding: 0 !important;
}

.snippet-pagination li::before {
    display: none !important;
}

.snippet-pagination a,
.snippet-pagination span {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    margin: 0 !important;
    padding: 0 0.75rem;
    font-size: 0.9375rem;
    font-weight: 500;
    text-decoration: none;
    color: #0e2231;
    background: #fff;
    border: 1px solid var(--pico-muted-border-color, #e0e0e0);
    border-radius: var(--pico-border-radius, 0.6rem);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    transition: all 0.2s ease;
    cursor: pointer;
    line-height: 1;
}

.snippet-pagination a:hover {
    border-color: var(--pico-primary, #03b888) !important;
    color: var(--pico-primary, #03b888) !important;
    box-shadow: 0 4px 12px rgba(3, 184, 136, 0.2);
    background: #fff !important;
}

.snippet-pagination li.active span {
    background: linear-gradient(135deg, #39936d 0%, #075859 100%) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 4px 12px rgba(7, 88, 89, 0.3);
}

.snippet-phones {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    .number {
        font-weight: 1.2rem;
    }
}

.snippet-socials {
    img {
        height: revert-layer;
    }
}

.zone-breadcrumbs {
    container-type: inline-size;
    font-size: 14px;
    font-family: var(--font-family);

    &, a {
        color: #888D8E;
    }

    & ul {
        list-style: none;
        display: flex;
        flex-wrap: wrap;
        padding: 0;
        margin: 0;

        & li {
            margin-right: calc(var(--spacing) / 2);
            margin-bottom: calc(var(--spacing) / 2);
            display: inline;

            &:before {
                content: "\200B";
            }

            & a {
                text-decoration: none;
            }
        }
    }

    & a:after {
        content: ' > ';
        display: inline-block;
        margin-left: calc(var(--spacing) / 2);
    }

    & ul li:last-child a:after {
        display: none;
    }

    @container (width < 640px) {
        & ul > li:first-child,
        & ul > li:last-child {
            display: none;
        }
    }
}
.zone-flash {
    container-type: inline-size;

    & .alert {
        margin: var(--spacing) 0;
        border: 1px solid var(--primary);
        padding: 10px;
        background-color: var(--error);
    }

    & .alert.success {
        background-color: var(--success);
        color: white;
        border-color: var(--success);
    }
}
.zone-footer {
    position: relative;
    background: #FFFFFF;
    border-top: 1px solid var(--c-line-soft);
    padding-block: 47px 92px;
    color: var(--c-ink);
}

.zone-footer__grid {
    /* Column starts taken from the design's footer: 68 (container edge),
       286 (nav), 608 (FAQ), 862 (Краснодар), 1063 (Москва) — so the gap between
       the two city columns is 201, not 256. At 256 the Москва column began at
       1117 and ran to 1248, 36px past the 1144px content column. */
    display: grid;
    grid-template-columns: 218px 322px 253px 201px 1fr;
    align-items: start;
}

.zone-footer .logo img { height: 96px; width: auto; display: block; }

.zone-footer__nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0;
    line-height: 22px;
    font-size: 0;
}
.zone-footer__nav a {
    color: var(--c-ink);
    font-size: 1.05rem;
    line-height: 22px;
    display: block;
    text-decoration: none;
}
.zone-footer__nav a:hover { color: var(--c-olive-dark); }

.zone-footer__h {
    font-family: var(--font-sans);
    font-size: 1.05rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--c-olive-dark);
    margin: 0 0 12px;
}

.zone-footer__text {
    color: #9a9a92;
    font-size: 1.05rem;
    line-height: 1.23;
    margin: 14px 0 0;
}

.zone-footer__arrow { display: block; line-height: 0; margin-top: 34px; }
.zone-footer__arrow img { display: block; width: 48px; height: 13px; }

.zone-footer__phone {
    color: var(--c-ink);
    font-weight: 700;
    font-size: 1.05rem;
    text-decoration: none;
    white-space: nowrap;
}
.zone-footer__phone:hover { color: var(--c-olive-dark); }

/* The design lays the two cities out inside ONE PSD text layer, separated by
   literal spaces, so the headings are not on a shared alignment rule:
   "КРАСНОДАР" is centred over its number (ink 877-990 over 861-1001) while
   "МОСКВА" ends flush with the right edge of its number (1203 = 1203). */
/* The block hugs its number (which is nowrap), so "centre" and "right" resolve
   against the number's own box, not against the 201px grid column. */
.zone-footer__city { width: max-content; max-width: 100%; justify-self: start; }
.zone-footer__city .zone-footer__h { text-align: center; }
.zone-footer__city:last-child .zone-footer__h { text-align: right; }

.zone-footer .snippet-socials {
    /* Icons are rendered by partials/snippets/socials.htm. The row is absolutely
       positioned against .zone-footer, which spans the full viewport — so `right`
       must be measured from the container's edge, not the page's. A bare
       `right: 8px` put the last icon at x1272, outside the 1144px content
       column (which ends at x1212). */
    position: absolute;
    top: 151px;
    right: calc((100% - var(--content)) / 2 + 8px);
    display: flex;
    align-items: center;
}
.zone-footer .snippet-socials a { display: block; line-height: 0; }
.zone-footer .snippet-socials img { height: 34px; width: auto; display: block; }
.zone-footer .snippet-socials a + a { margin-left: -1px; }

.zone-footer__meta {
    margin-top: 49px;
    display: grid;
    grid-template-columns: 218px 369px 1fr;
    align-items: baseline;
}
.zone-footer__meta a {
    color: #9a9a92;
    font-size: 0.95rem;
    line-height: 13px;
    text-decoration: underline;
}
.zone-footer__meta a:first-child { grid-column: 2; }
.zone-footer__meta a:last-child { grid-column: 3; }

.zone-footer__ip {
    margin-top: 28px;
    padding-left: 540px;
    color: #9a9a92;
    font-size: 0.95rem;
    line-height: 11px;
}

@media (max-width: 1180px) {
    .zone-footer__grid { grid-template-columns: 1fr 1fr 1fr; gap: 1.5rem 2rem; }
    .zone-footer .snippet-socials { position: static; margin-top: 24px; }
    .zone-footer__meta { grid-template-columns: 1fr 1fr; gap: 0.6rem 2rem; }
    .zone-footer__meta a:first-child,
    .zone-footer__meta a:last-child { grid-column: auto; }
    .zone-footer__ip { padding-left: 0; }
}

h1.zone-h1 {
    container-type: inline-size;
    font-weight: 600;
    font-size: 48px;
    text-decoration: none;
    margin-bottom: 30px;
    text-align: center;

    @container (width < 1200px) {
        font-size: 42px;
    }

    @container (width < 992px) {
        font-size: 36px;
    }

    @container (width < 768px) {
        font-size: 32px;
    }
}

.zone-headbox {
    container-type: inline-size;
    display: flex;
    flex-direction: column;
    margin-bottom: var(--spacing);
}

.zone-main.layoutRemovePaddingTop .zone-headbox {
    margin-bottom: 0;
}
/* Header overlays the hero photo */
.zone-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    background: transparent;
}

.zone-header__row {
    display: flex;
    align-items: center;
}
.zone-header__row--top {
    padding-block: 23px 0;
    justify-content: flex-start;
    gap: 55px;
}
.zone-header__row--bottom {
    padding-block: 40px 0;
    justify-content: flex-start;
    gap: 62px;
}

/* Logo */
.zone-header .logo img { height: 96px; width: auto; display: block; }

/* Locations */
.zone-header .locations { display: inline-flex; align-items: center; gap: 71px; }
.locations__item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13.6px;
    color: var(--c-ink);
    white-space: nowrap;
}
.locations__item .dot {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: var(--c-olive);
    box-shadow: inset 0 0 0 2px var(--c-olive), inset 0 0 0 4.5px #fff;
    display: inline-block;
    flex: 0 0 auto;
}
.locations__item .dot--outline {
    background: #fff;
    box-shadow: inset 0 0 0 1.5px var(--c-olive), inset 0 0 0 3.5px #fff, inset 0 0 0 5px var(--c-olive);
}
.locations__item.is-active { font-weight: 700; }

/* Audience pills */
.zone-header .audience {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--c-pill-line);
    border-radius: 999px;
    padding: 5px;
    gap: 28px;
}
.audience__pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 14.4px;
    color: var(--c-ink);
    text-decoration: none;
    white-space: nowrap;
    text-transform: uppercase;
}
.audience__pill img { height: 30px; width: auto; display: block; }
.audience__pill:hover { color: var(--c-olive-dark); }
.audience__pill.is-active { background: var(--c-pill-active); color: var(--c-olive-dark); }

/* Nav */
.zone-header .mainnav { margin-left: 0; }
.zone-header nav ul {
    display: flex;
    gap: 67px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}
.zone-header nav li { padding: 0; margin: 0; }
.zone-header nav a {
    display: block;
    padding: 0;
    font-size: 17.5px;
    color: var(--c-ink);
    text-decoration: none;
    white-space: nowrap;
}
.zone-header nav a:hover { color: var(--c-olive-dark); }
.zone-header nav li.active > a { color: var(--c-olive-dark); }
.zone-header nav li ul { display: none; }

.zone-header .mobiletoggle { display: none; }

@media (max-width: 1180px) {
    .zone-header__row--top { gap: 2rem; }
    .zone-header__row--bottom { gap: 2rem; }
    .zone-header .locations { gap: 1.8rem; }
    .zone-header .audience { gap: 0.5rem; }
    .zone-header nav ul { gap: 1.4rem; }
}

@media (max-width: 900px) {
    .zone-header { position: static; background: var(--c-cream); }
    .zone-header__row--bottom { flex-wrap: wrap; padding-block: 1rem; }
    .zone-header .mainnav { width: 100%; order: 3; margin-left: 0; overflow-x: auto; }
}

/* Compact header below 900px. The header was 267px tall at every width from 900
   down to 480 (and 320 at 390): row 1 is the 96px logo + 23px padding, and at
   <=900 .mainnav gets width:100%/order:3 so the pills and the nav stack, with a
   third line once the nav itself wraps. Shrink the logo, tighten the paddings and
   let the nav scroll on one line instead of wrapping. */
@media (max-width: 900px) {
    .zone-header .logo img { height: 56px; }
    .zone-header__row--top { padding-block: 12px 0; gap: 1rem; align-items: center; }
    .zone-header__row--bottom { padding-block: 12px 10px; gap: 0.6rem 1.2rem; align-items: center; }
    .zone-header .locations { gap: 1rem; }
    .locations__item { font-size: 12.5px; }
    .locations__item .dot { width: 13px; height: 13px; }
    .zone-header .audience { gap: 0.25rem; padding: 3px; }
    .audience__pill { padding: 2px 8px; font-size: 12.5px; gap: 6px; }
    .audience__pill img { height: 22px; }
    .zone-header nav ul { gap: 1.1rem; flex-wrap: nowrap; }
    .zone-header nav a { font-size: 15px; }
    .zone-header .mainnav { -webkit-overflow-scrolling: touch; scrollbar-width: none; }
    .zone-header .mainnav::-webkit-scrollbar { display: none; }
}
@media (max-width: 480px) {
    .zone-header .logo img { height: 46px; }
    .zone-header__row--top { padding-block: 10px 0; }
    .zone-header .locations { gap: 0.7rem; }
    .locations__item { font-size: 11.5px; }
    .zone-header nav ul { gap: 0.9rem; }
    .zone-header nav a { font-size: 14px; }
}

/* The row-2 split was forced: .mainnav had width:100%/order:3 from the 900px
   block, so the pills and the nav always sat on separate lines even at 880 where
   they still fit together (~250px pills + ~500px nav). Let the nav keep its
   natural width and only wrap when the row genuinely runs out; max-width:100%
   with overflow-x:auto covers the narrow case where 500px exceeds the row. */
@media (max-width: 900px) {
    .zone-header .mainnav {
        width: auto;
        order: 0;
        flex: 0 0 auto;
        max-width: 100%;
        min-width: 0;
        overflow-x: auto;
    }
}

.zone-main {
    flex: 1;
}
.zone-main__container {
    display: block;
}

.zone-main__content {
    width: 100%;
}

.zone-main__sidebar {
    display: none;
}

.zone-modals {
    container-type: inline-size;
}
.zone-page {
    container-type: inline-size;
}

/* Content sections sit in the 1144px design column; the hero stays full-bleed */
.zone-page > *:not(.block-hero) {
    max-width: var(--content);
    margin-inline: auto;
}

.zone-sidebar {
    container-type: inline-size;
    padding: var(--spacing);
    box-sizing: border-box;
    height: 100%;
}