/* Public layout based on the approved TimbaTM mockup. */
body{background:#fff;color:#111827}.mock-site-header{padding:8px 0;border:0;background:#fff}.mock-header-grid{display:grid;grid-template-columns:250px 1fr;gap:12px;align-items:stretch}.author-card,.logo-card,.home-panel{border:1px solid #d7dbe2;border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.05)}.author-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 22px}.contact-envelope-icon{font-family:Arial,sans-serif;font-size:42px;line-height:1;color:#075bd8;margin-bottom:12px}.author-button{display:block;width:100%;padding:11px 15px;border-radius:5px;background:#075bd8;color:#fff;font-size:14px;font-weight:800;text-align:center;box-shadow:0 4px 12px rgba(7,91,216,.22)}.social-caption{align-self:flex-start;margin:16px 0 9px;font-size:12px}.mock-social-links{display:flex;width:100%;gap:16px}.mock-social-links a{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;color:#fff!important;font-weight:900;font-size:14px;box-shadow:0 3px 8px rgba(0,0,0,.12)}.mock-social-links .social-vk{background:#1477dd}.mock-social-links .social-tg{background:#16a6e3;font-size:24px}.mock-social-links .social-max{background:linear-gradient(145deg,#7040dc,#390e91);font-size:9px}.mock-social-links .is-placeholder{pointer-events:none}.logo-card{min-height:220px;display:flex;align-items:center;justify-content:center;padding:24px 40px}.logo-card img{width:min(720px,92%);height:auto;max-height:165px;object-fit:contain}.home-stack{margin-top:8px;margin-bottom:24px}.home-panel{padding:14px;margin-bottom:14px}.mock-section-heading,.programs-heading{display:flex;align-items:center;gap:28px;min-height:35px;margin-bottom:10px}.mock-section-heading h2,.programs-heading h2{font-size:19px;line-height:1;margin:0;letter-spacing:.1px}.mock-section-heading>a{margin-left:auto;color:#075bd8;font-size:12px;font-weight:750}.mock-section-heading>a span{font-size:21px;margin-left:8px}.news-section{padding:14px}.news-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;overflow:visible;padding:0}.news-tile{min-height:0;border:1px solid #d7dbe2;border-radius:7px;padding:9px;background:#fff;box-shadow:none;overflow:hidden}.news-tile:hover{transform:none;box-shadow:0 6px 18px rgba(15,23,42,.1)}.news-image-wrap{position:relative!important;padding:0!important}.news-tile .news-image-wrap img{width:100%;height:132px;border-radius:5px;object-fit:cover}.new-label{position:absolute;z-index:2;left:5px;top:5px;background:#ff5a0a;color:#fff;border-radius:3px;padding:4px 6px;font-size:9px;font-weight:900}.news-tile .news-copy{padding:9px 1px 2px}.news-copy h3{font-size:14px;line-height:1.25;margin:0 0 6px}.news-copy p{font-size:11px;line-height:1.45;margin:0 0 8px;color:#232b38;-webkit-line-clamp:2}.news-copy time{font-size:10px;color:#075bd8;font-weight:600}.catalog-section{background:#fff;padding:14px}.programs-heading{border-bottom:1px solid #edf0f4;margin:-2px 0 13px;padding-bottom:3px}.programs-heading .category-tabs{flex:1;justify-content:center;margin:0;padding:0;gap:42px;overflow-x:auto}.programs-heading .category-tabs a{border:0;border-radius:0;background:transparent;padding:8px 2px 10px;color:#202938;font-size:13px;font-weight:500}.programs-heading .category-tabs a.active{color:#075bd8;border-bottom:2px solid #075bd8;font-weight:800}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.program-card-shell.is-extra{display:none}.material-card{min-height:320px;padding:13px;border:1px solid #d7dbe2;border-radius:7px;box-shadow:0 2px 7px rgba(15,23,42,.05)}.material-card .category-badge{right:9px;top:9px;border-radius:4px;padding:5px 8px;font-size:9px;background:#075bd8;color:#fff;box-shadow:none}.material-card .badge-purple{background:#ff5a0a}.material-card .badge-emerald{background:#075bd8}.material-card .badge-blue{background:#1c78dc}.material-card .card-top{grid-template-columns:46% 1fr;gap:13px}.material-card .card-image img{height:190px;border-radius:5px;object-fit:cover}.material-card .card-summary{padding-top:44px}.material-card .card-summary h3{font-size:15px;line-height:1.25;margin-bottom:8px}.material-card .card-summary p{font-size:12px;line-height:1.45;color:#202938;-webkit-line-clamp:7}.material-card .card-actions{border-top:1px solid #e4e7ec;padding-top:11px;margin-top:11px;gap:18px}.material-card .card-actions .button{height:38px;min-height:38px;border-radius:5px;font-size:13px;padding:7px 10px}.material-card .button-light{border:1px solid #075bd8;background:#fff;color:#075bd8}.material-card .button-primary{background:#ff5a0a;color:#fff;box-shadow:none}.show-more-programs{display:block;margin:14px auto -30px;position:relative;z-index:3;min-width:174px;border:1px solid #075bd8;border-radius:5px;padding:9px 20px;background:#fff;color:#075bd8;font-weight:800;cursor:pointer}.site-footer{margin-top:0}.modal-open{overflow:hidden}.product-modal[hidden]{display:none}.product-modal{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:20px}.product-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.66)}.product-modal-dialog{position:relative;z-index:1;width:min(900px,calc(100vw - 30px));max-height:calc(100vh - 30px);overflow:auto;background:#fff;border-radius:8px;padding:18px 30px 22px;box-shadow:0 20px 70px rgba(0,0,0,.38)}.product-modal-close{position:absolute;right:14px;top:8px;border:0;background:none;color:#6b7280;font-size:30px;line-height:1;cursor:pointer}.product-modal-title{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-right:34px;margin-bottom:12px}.product-modal-title h2{font-size:20px;line-height:1.2;margin:0}.modal-category{margin-left:auto;background:#edf3ff;color:#075bd8;border-radius:4px;padding:5px 9px;font-size:10px;font-weight:800}.modal-gallery{position:relative;border:1px solid #d7dbe2;border-radius:7px;padding:8px 58px 10px}.modal-main-image{width:100%;height:270px;object-fit:contain;border-radius:5px;background:#f5f7fa}.modal-arrow{position:absolute;top:124px;width:38px;height:38px;border:1px solid #075bd8;border-radius:50%;background:#fff;color:#075bd8;font-size:29px;line-height:28px;cursor:pointer}.modal-prev{left:17px}.modal-next{right:17px}.modal-thumbs{display:flex;justify-content:center;gap:16px;margin-top:8px;overflow-x:auto}.modal-thumbs button{flex:0 0 82px;height:48px;padding:2px;border:1px solid transparent;border-radius:3px;background:#fff;cursor:pointer}.modal-thumbs button.active{border-color:#075bd8}.modal-thumbs img{width:100%;height:100%;object-fit:cover}.modal-description{border:1px solid #d7dbe2;border-radius:7px;padding:14px;margin-top:9px;max-height:250px;overflow:auto}.modal-description h3{font-size:16px;margin:0 0 10px}.modal-content{font-size:13px;line-height:1.55}.modal-content h2:first-child{display:none}.modal-content h2,.modal-content h3{font-size:16px}.modal-content p{margin:0 0 11px}.modal-content img{max-width:100%;height:auto;border-radius:5px}.modal-content iframe{width:100%;aspect-ratio:16/9;height:auto;border:0}.modal-buy-button{display:block;width:190px;margin:12px auto 0;padding:11px 20px;border-radius:5px;background:#ff5a0a;color:#fff;text-align:center;font-size:17px;font-weight:800}.modal-buy-button[hidden]{display:none}
@media(max-width:900px){.mock-header-grid{grid-template-columns:210px 1fr}.logo-card{min-height:190px}.news-rail{grid-template-columns:repeat(2,1fr)}.cards-grid{grid-template-columns:repeat(2,1fr)}.programs-heading{align-items:flex-start;flex-direction:column;gap:4px}.programs-heading .category-tabs{justify-content:flex-start;width:100%;gap:26px}.product-modal-dialog{padding:18px}.modal-gallery{padding-left:45px;padding-right:45px}}
@media(max-width:620px){.mock-header-grid{display:flex;flex-direction:column}.logo-card{order:1;min-height:132px;padding:15px}.author-card{order:2;padding:13px 18px;display:grid;grid-template-columns:54px 1fr;gap:8px 12px}.contact-envelope-icon{grid-row:1/3;margin:0;font-size:38px}.social-caption{margin:4px 0 0}.mock-social-links{grid-column:2;gap:10px}.mock-social-links a{width:34px;height:34px}.news-rail{grid-template-columns:1fr;gap:10px}.news-tile{display:grid;grid-template-columns:42% 1fr;gap:10px}.news-tile .news-image-wrap img{height:125px}.cards-grid{grid-template-columns:1fr}.programs-heading .category-tabs{gap:22px}.product-modal{padding:7px}.product-modal-dialog{width:calc(100vw - 14px);max-height:calc(100vh - 14px);padding:15px 12px}.product-modal-title h2{font-size:17px}.modal-gallery{padding:7px 34px}.modal-main-image{height:190px}.modal-arrow{top:87px;width:30px;height:30px;font-size:23px}.modal-prev{left:3px}.modal-next{right:3px}.modal-thumbs{gap:6px}.modal-thumbs button{flex-basis:61px;height:40px}.modal-description{max-height:220px}.site-footer{margin-top:0}}

/* User-requested final positioning: contact panel right, footer pinned inside site width. */
.news-copy .news-excerpt{font-size:11px;line-height:1.45;margin:0 0 8px;color:#232b38;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.formatted-excerpt a{color:#075bd8;text-decoration:underline}
.material-card .card-summary .card-excerpt{font-size:12px;line-height:1.45;color:#202938;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}.material-card .card-excerpt p{display:block;margin:0 0 .45em;-webkit-line-clamp:unset;overflow:visible}
.material-card .card-top,.material-card .card-summary,.material-card .card-excerpt{min-width:0;max-width:100%}.material-card .card-summary h3,.material-card .card-excerpt,.material-card .card-excerpt *{overflow-wrap:anywhere;word-break:break-word}
.programs-heading>h2{display:none}.programs-heading .category-tabs{flex:0 0 100%;width:100%;justify-content:center}.material-card .card-summary h3{text-align:center}
.site-menu-panel{margin:14px 0}.site-menu-inner{min-height:48px;border:1px solid #d7dbe2;border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.05);display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 14px;overflow-x:auto}.site-menu-inner a{flex:0 0 auto;min-width:112px;padding:8px 18px;border:1px solid #075bd8;border-radius:6px;background:#fff;color:#075bd8;font-size:13px;font-weight:800;text-align:center;white-space:nowrap;transition:.15s}.site-menu-inner a:hover{background:#075bd8;color:#fff;box-shadow:0 3px 10px rgba(7,91,216,.22)}.has-site-menu .home-stack{margin-top:0}@media(max-width:700px){.site-menu-panel{margin:12px 0}.site-menu-inner{justify-content:flex-start;padding:6px 9px}.site-menu-inner:empty{justify-content:center}}
.contact-modal{position:fixed;inset:0;z-index:1900;display:grid;place-items:center;padding:20px}.contact-modal[hidden]{display:none}.contact-modal-backdrop{position:absolute;inset:0;background:rgba(8,14,26,.68)}.contact-modal-window{position:relative;width:min(520px,100%);max-height:calc(100vh - 30px);overflow:auto;border-radius:12px;background:#fff;padding:26px 28px;box-shadow:0 24px 80px rgba(0,0,0,.35)}.contact-modal-window h2{margin:0 35px 20px 0;font-size:24px}.contact-modal-close{position:absolute;right:14px;top:10px;width:35px;height:35px;border:0;background:transparent;color:#667085;font-size:30px;line-height:1;cursor:pointer}.contact-modal-window label{margin-bottom:14px}.contact-modal-window input,.contact-modal-window textarea{margin-top:6px}.contact-modal-window textarea{resize:vertical}.contact-modal-window .button{width:100%;border-radius:6px}.contact-modal-status{display:none;margin:0 0 14px;padding:10px 12px;border-radius:7px;font-size:13px}.contact-modal-status.is-error{display:block;background:#ffe3e1;color:#9e2520}.contact-modal-status.is-success{display:block;background:#dcf7ed;color:#086842}
.site-menu-inner{height:48px;min-height:48px;margin-left:auto;margin-right:auto;flex-wrap:nowrap;justify-content:safe center;overflow-x:auto;overflow-y:hidden}
.site-menu-inner{background:var(--menu-panel-bg,#fff)}.site-menu-inner a{background:var(--menu-button-bg,#fff);color:var(--menu-button-color,#075bd8);border-color:var(--menu-button-color,#075bd8);font-size:var(--menu-button-font-size,13px)}.site-menu-inner.menu-border-off a{border-color:transparent}.site-menu-inner a:hover{background:var(--menu-button-color,#075bd8);color:var(--menu-button-bg,#fff)}
body{min-height:100vh;display:flex;flex-direction:column}
body>main{flex:1;display:flex;flex-direction:column}
.home-stack{margin-top:auto;margin-bottom:auto;padding-top:14px;padding-bottom:14px}
.mock-header-grid{grid-template-columns:1fr 250px}
.mock-header-grid.social-only .logo-card{display:none}.mock-header-grid.social-only .author-card{grid-column:1/-1;width:100%;min-height:150px}.mock-header-grid.social-only .mock-social-links{justify-content:space-around;gap:24px}.mock-header-grid.social-only .mock-social-links a{flex:0 0 42px}
.site-footer{width:100%;margin-top:auto;padding:0;background:transparent}
.site-footer .footer-row{margin:0 auto;padding:10px 40px;background:var(--ink)}
@media(max-width:620px){.mock-header-grid{display:flex}.site-footer .footer-row{padding:12px 20px}}

/* Supplied TimbaTM artwork and centered social block. */
.provided-logo{display:flex;align-items:center;justify-content:center;gap:34px;width:min(760px,94%)}
.logo-card .brand-monitor-image{width:138px;height:132px;max-height:none;object-fit:contain;flex:0 0 auto}
.logo-card .brand-wordmark-image{width:min(540px,calc(100% - 172px));height:auto;max-height:108px;object-fit:contain}
.logo-card .main-logo-image{width:min(760px,94%);height:auto;max-height:165px;object-fit:contain}
.contact-envelope-icon{display:block;width:52px;height:39px;object-fit:contain;margin:0 auto 12px}
.social-caption{align-self:center;width:100%;text-align:center}
.mock-social-links{justify-content:center}
.mock-social-links .social-vk,.mock-social-links .social-tg{overflow:hidden;background:transparent;box-shadow:0 3px 8px rgba(0,0,0,.12)}
.mock-social-links a img{width:100%;height:100%;object-fit:cover}
.mock-social-links .social-custom{overflow:hidden;background:transparent}
.mock-header-grid.social-block-absent{grid-template-columns:1fr}.mock-header-grid.social-block-absent .logo-card{width:100%}
.site-menu-buttons{min-width:0;height:100%;display:flex;align-items:center;justify-content:safe center;gap:12px;overflow-x:auto;overflow-y:hidden}.site-menu-inner.has-social-module{display:grid;gap:0;padding:6px 10px}.site-menu-inner.has-social-module.social-module-left{grid-template-columns:30% 70%}.site-menu-inner.has-social-module.social-module-right{grid-template-columns:70% 30%}.menu-social-module{min-width:0;height:100%;display:flex;align-items:center;justify-content:center;gap:7px;overflow-x:auto;overflow-y:hidden;padding:0 5px}.menu-social-module .modular-social-links{flex:0 0 auto;width:auto;gap:6px}.site-menu-inner .menu-social-module .modular-social-links a{min-width:34px;width:34px;height:34px;padding:0;border-radius:7px}.site-menu-inner .menu-social-module .menu-write-button{flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-width:100px;height:34px;padding:4px 12px;border-radius:6px;background:var(--menu-button-bg,#fff);color:var(--menu-button-color,#075bd8);border:1px solid var(--menu-button-color,#075bd8);font-size:var(--menu-button-font-size,13px);font-weight:800;white-space:nowrap}.site-menu-inner.menu-border-off .menu-social-module .menu-write-button{border-color:transparent}@media(max-width:620px){.mock-header-grid.social-block-absent{display:grid}.site-menu-inner.has-social-module.social-module-left,.site-menu-inner.has-social-module.social-module-right{grid-template-columns:30% 70%}.menu-social-module{justify-content:flex-start}.site-menu-inner .menu-social-module .menu-write-button{min-width:88px;padding-inline:8px}}
.contact-envelope img{width:150px;height:auto;opacity:.22}
@media(max-width:620px){.logo-card .provided-logo{gap:14px;width:96%}.logo-card .brand-monitor-image{width:74px;height:72px}.logo-card .brand-wordmark-image{width:calc(100% - 88px);max-height:62px}.author-card{display:flex;flex-direction:column;align-items:center}.contact-envelope-icon{width:46px;height:34px;margin-bottom:8px}.social-caption{margin:4px 0}.mock-social-links{grid-column:auto;width:auto}}

/* Interactive social buttons. */
.author-button,.mock-social-links a{outline:2px solid transparent;outline-offset:2px;transition:transform .16s ease,outline-color .16s ease,box-shadow .16s ease,filter .16s ease}
.author-button:hover,.author-button:focus-visible,.mock-social-links a:hover,.mock-social-links a:focus-visible{outline-color:#65a1f5;box-shadow:0 5px 14px rgba(7,91,216,.28);transform:translateY(-2px);filter:brightness(1.04)}
.author-button:active,.mock-social-links a:active{transform:translateY(0);box-shadow:0 2px 7px rgba(7,91,216,.22)}
.mock-social-links .is-placeholder{pointer-events:auto;cursor:default}
.site-menu-buttons>a,.site-menu-inner .menu-social-module .menu-write-button,.site-menu-inner .menu-social-module .modular-social-links a{box-sizing:border-box;height:34px;min-height:34px;max-height:34px}.site-menu-buttons>a{padding:4px 18px;line-height:24px}.mock-header-grid.social-block-absent .logo-card .main-logo-image{width:auto;max-width:100%;height:auto;max-height:300px;object-fit:contain}.mock-header-grid:not(.social-block-absent) .logo-card .main-logo-image{width:100%;height:220px;max-height:220px;object-fit:contain}@media(max-width:620px){.mock-header-grid .logo-card .main-logo-image{width:auto!important;max-width:100%!important;height:auto!important;max-height:220px!important;object-fit:contain!important}}
.news-rail{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}.news-rail .news-tile{flex:0 1 calc((100% - 54px)/4);min-width:0}@media(max-width:900px){.news-rail .news-tile{flex-basis:calc((100% - 18px)/2)}}@media(max-width:620px){.news-rail{gap:10px}.news-rail .news-tile{flex-basis:100%;width:100%}}
.site-menu-inner.social-module-right .menu-social-module{flex-direction:row-reverse}.site-menu-inner.social-module-right .modular-social-links{flex-direction:row-reverse}
.site-menu-inner.has-social-module .site-menu-buttons{direction:ltr}.site-menu-inner.social-module-right .menu-social-module{border-left:1px solid #d7dbe2}.site-menu-inner.social-module-left .menu-social-module{border-right:1px solid #d7dbe2}.site-menu-inner.has-social-module.menu-border-off .menu-social-module{border-color:#d7dbe2}
.site-menu-inner.has-social-module{display:flex;align-items:stretch;gap:.5rem;padding:0;border:0;background:transparent!important;box-shadow:none;overflow:visible}.site-menu-inner.has-social-module .site-menu-buttons,.site-menu-inner.has-social-module .menu-social-module{box-sizing:border-box;height:48px;border:1px solid #d7dbe2;border-radius:8px;background:var(--menu-panel-bg,#fff);box-shadow:0 2px 8px rgba(15,23,42,.05);padding:6px 10px}.site-menu-inner.has-social-module .site-menu-buttons{flex:1 1 auto;width:auto}.site-menu-inner.has-social-module .menu-social-module{flex:0 1 auto;width:max-content;max-width:30%;min-width:0}.site-menu-inner.social-module-right .site-menu-buttons{justify-content:flex-start}.site-menu-inner.social-module-right .menu-social-module{justify-content:flex-end}.site-menu-inner.social-module-left .site-menu-buttons{justify-content:flex-end}.site-menu-inner.social-module-left .menu-social-module{justify-content:flex-start}@media(max-width:620px){.site-menu-inner.has-social-module{display:flex}.site-menu-inner.has-social-module .menu-social-module{max-width:45%}.site-menu-inner.has-social-module .site-menu-buttons{min-width:0}}
.site-menu-buttons>a{display:flex;align-items:center;justify-content:center;gap:7px}.site-menu-button-icon{flex:0 0 20px;width:20px;height:20px;object-fit:cover;border-radius:4px}
.programs-page-stack{margin:14px auto 24px}
.site-menu-buttons>a.system-menu-button{background:var(--system-button-bg,#fff)!important;color:var(--system-button-color,#075bd8)!important;border-color:var(--system-button-color,#075bd8)!important}.site-menu-buttons>a.system-menu-button:hover{filter:brightness(.96)}.header-banner-slider{position:relative;display:block;width:100%;height:220px;overflow:hidden;border-radius:6px}.logo-card .header-banner-slider img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;opacity:0;transition:opacity .6s ease}.logo-card .header-banner-slider img.is-active{opacity:1}@media(max-width:620px){.header-banner-slider{height:140px}}
.programs-separate-page>main{display:flex;flex-direction:column}.programs-separate-page>main>.home-stack{flex:1;display:flex;flex-direction:column;margin-bottom:14px}.programs-separate-page>main>.home-stack>.news-section{flex:1;margin-bottom:0}.photoalbums-section{margin-top:14px;padding:14px}.photoalbums-heading{min-height:35px;margin-bottom:12px;border-bottom:1px solid #edf0f4;text-align:center}.photoalbums-heading h2{margin:0;padding:0 0 10px;font-size:19px}.photoalbums-grid{display:grid;grid-template-columns:repeat(var(--album-count,1),minmax(0,1fr))}.photoalbums-grid.count-1{--album-count:1}.photoalbums-grid.count-2{--album-count:2}.photoalbums-grid.count-3{--album-count:3}.photoalbum-card{min-width:0;padding:0 18px}.photoalbum-card:first-child{padding-left:0}.photoalbum-card:last-child{padding-right:0}.photoalbum-card+.photoalbum-card{border-left:1px solid #d7dbe2}.photoalbum-card h3{text-align:center;margin:2px 0 12px;font-size:16px}.photoalbum-viewer{display:flex;flex-direction:column;gap:10px}.photoalbum-main{display:block;width:100%;padding:0;border:0;border-radius:8px;background:#edf0f4;overflow:hidden;cursor:zoom-in}.photoalbum-main.shape-rectangle{aspect-ratio:16/9}.photoalbum-main.shape-square{aspect-ratio:1}.photoalbum-main img{width:100%;height:100%;object-fit:cover}.photoalbum-thumbs{display:flex;justify-content:center;gap:8px;overflow-x:auto;padding:2px}.photoalbum-thumbs button{flex:0 0 58px;width:58px;height:46px;padding:2px;border:1px solid transparent;border-radius:6px;background:#fff;cursor:pointer}.photoalbum-thumbs button.active{border-color:#075bd8}.photoalbum-thumbs img{width:100%;height:100%;border-radius:3px;object-fit:cover}.photoalbums-grid.count-1 .photoalbum-card{width:min(900px,100%);margin:0 auto}.photoalbums-grid.count-1 .photoalbum-card.strip-left .photoalbum-viewer,.photoalbums-grid.count-1 .photoalbum-card.strip-right .photoalbum-viewer{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:start}.photoalbums-grid.count-1 .photoalbum-card.strip-right .photoalbum-viewer{grid-template-columns:minmax(0,1fr) 90px}.photoalbums-grid.count-1 .strip-left .photoalbum-thumbs,.photoalbums-grid.count-1 .strip-right .photoalbum-thumbs{display:flex;flex-direction:column;max-height:520px;overflow-y:auto}.photoalbums-grid.count-1 .strip-right .photoalbum-thumbs{grid-column:2;grid-row:1}.photoalbum-empty{padding:60px 20px;text-align:center;color:#697386}@media(max-width:700px){.photoalbums-grid{grid-template-columns:1fr}.photoalbum-card,.photoalbum-card:first-child,.photoalbum-card:last-child{padding:16px 0}.photoalbum-card+.photoalbum-card{border-left:0;border-top:1px solid #d7dbe2}.photoalbums-grid.count-1 .photoalbum-card.strip-left .photoalbum-viewer,.photoalbums-grid.count-1 .photoalbum-card.strip-right .photoalbum-viewer{display:flex}.photoalbums-grid.count-1 .strip-left .photoalbum-thumbs,.photoalbums-grid.count-1 .strip-right .photoalbum-thumbs{flex-direction:row;max-height:none;overflow-x:auto}.photoalbums-grid.count-1 .strip-right .photoalbum-thumbs{order:2}}
.photoalbum-card.strip-bottom .photoalbum-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,58px));grid-template-rows:repeat(2,46px);justify-content:center;overflow-x:auto}.photoalbum-card.strip-bottom .photoalbum-thumbs button{width:100%;height:46px;min-width:0}
.photoalbum-material-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 14px}.photoalbum-material-card{display:grid;grid-template-columns:42% minmax(0,1fr);min-height:150px;overflow:hidden;border:1px solid #d7dbe2;border-radius:8px;background:#fff}.photoalbum-material-image{display:block;min-width:0}.photoalbum-material-image img{width:100%;height:100%;object-fit:cover}.photoalbum-material-copy{display:flex;min-width:0;flex-direction:column;padding:10px}.photoalbum-material-copy h3{margin:0 0 7px;text-align:left;font-size:14px;line-height:1.25}.photoalbum-material-copy p{display:-webkit-box;margin:0;color:#596579;font-size:11px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}.photoalbum-material-copy time{margin-top:auto;color:#075bd8;font-size:10px;font-weight:700}@media(max-width:900px){.photoalbum-material-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.photoalbum-material-rail{grid-template-columns:1fr}}

/* Landing cards share one height; news uses its own wide horizontal layout. */
:root{--landing-card-height:320px}
.news-landing-cards .news-rail{
    display:flex;
    flex-direction:column;
    flex-wrap:nowrap;
    overflow:hidden;
}

.purchase-page{padding:64px 0 90px}.purchase-card{width:min(700px,100%);margin:0 auto;padding:clamp(26px,5vw,52px);border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);text-align:center}.purchase-card h1{margin:8px 0 10px;font-size:clamp(30px,5vw,48px);line-height:1.08}.purchase-price{margin:0 0 18px;color:var(--orange);font-size:28px;font-weight:850}.purchase-form{display:grid;gap:12px;margin:26px auto 18px;text-align:left}.purchase-form .button{width:100%}.purchase-card code{display:inline-block;margin-top:8px;padding:8px 12px;border-radius:8px;background:#f2f4f7;font-size:16px;overflow-wrap:anywhere}.purchase-card .field-hint{display:block;margin-top:16px;color:var(--muted);font-size:12px}
.news-landing-cards .news-rail .news-tile-landing-card{
    flex:0 0 var(--landing-card-height);
    width:100%;
    min-height:var(--landing-card-height);
    height:var(--landing-card-height);
    max-height:var(--landing-card-height);
    padding:0;
}
.news-landing-cards .news-card-link{
    display:grid;
    grid-template-columns:minmax(220px,32%) minmax(0,1fr);
    width:100%;
    height:100%;
    min-width:0;
}
.news-landing-cards .news-tile-landing-card .news-image-wrap{
    width:100%;
    height:100%;
}
.news-landing-cards .news-tile-landing-card .news-image-wrap img{
    width:100%;
    height:100%;
    min-height:0;
    border-radius:6px 0 0 6px;
    object-fit:cover;
}
.news-landing-cards .news-tile-landing-card .news-copy{
    min-width:0;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:22px!important;
}
.news-landing-cards .news-tile-landing-card .news-copy h3{
    font-size:20px;
    text-align:left;
}
.news-landing-cards .news-tile-landing-card .news-excerpt{
    display:block;
    overflow:hidden;
    color:#232b38;
    font-size:14px;
    line-height:1.55;
    text-align:justify;
}
.news-landing-cards .news-tile-landing-card time{
    margin-top:12px;
}
.home-stack>.catalog-section .material-card,
.photoalbum-material-card{
    min-height:var(--landing-card-height);
    height:var(--landing-card-height);
}
@media(max-width:620px){
    .news-landing-cards .news-card-link{
        grid-template-columns:1fr;
    }
    .news-landing-cards .news-tile-landing-card{
        height:auto;
        max-height:none;
    }
    .news-landing-cards .news-tile-landing-card .news-image-wrap,
    .news-landing-cards .news-tile-landing-card .news-image-wrap img{
        height:180px;
    }
}

/* Landing news: one-third-width, taller preview with text flowing below the image. */
:root{--landing-card-height:350px}
.news-landing-cards .news-rail .news-tile.news-tile-landing-card>.article-preview-without-badge{
    padding:16px;
}
.news-landing-cards .news-rail .news-tile.news-tile-landing-card .article-preview-card-body{
    display:block;
    min-height:0;
    overflow:hidden;
}
.news-landing-cards .news-rail .news-tile.news-tile-landing-card .news-image-wrap{
    float:left;
    width:42%;
    height:auto!important;
    margin:0 14px 8px 0;
    aspect-ratio:1;
}
.news-landing-cards .news-rail .news-tile.news-tile-landing-card .news-copy{
    display:block;
    height:auto!important;
    max-height:none!important;
    padding:0!important;
    overflow:visible;
}
.news-landing-cards .news-rail .news-tile.news-tile-landing-card .news-copy h3{
    margin:0 0 8px;
}
.news-landing-cards .news-rail .news-tile.news-tile-landing-card .news-excerpt{
    display:block!important;
    overflow:visible;
    text-align:left!important;
    -webkit-line-clamp:unset!important;
}
.news-landing-cards .news-rail .news-tile.news-tile-landing-card .article-preview-action{
    cursor:pointer;
}

/* News and Photoalbum previews use exactly the same inner geometry. */
.news-landing-cards .news-rail .news-tile.news-tile-landing-card{
    width:calc((100% - 28px)/3);
}
.news-landing-cards .news-rail .news-tile.news-tile-landing-card>.article-preview-without-badge{
    padding-top:58px;
}
.article-preview-card-link .article-preview-card-body{
    align-items:center;
}
.news-landing-cards .article-preview-card-link .news-image-wrap,
.photoalbum-material-card .article-preview-card-link .photoalbum-material-image{
    align-self:center;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1;
}
.news-landing-cards .article-preview-card-link .news-image-wrap img,
.photoalbum-material-card .article-preview-card-link .photoalbum-material-image img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:cover;
}
.news-landing-cards .article-preview-card-link .news-copy,
.photoalbum-material-card .article-preview-card-link .photoalbum-material-copy{
    align-self:center;
    height:auto!important;
    min-height:0!important;
    max-height:100%!important;
    overflow:hidden;
}
.news-landing-cards .news-rail .news-tile.news-tile-landing-card .news-excerpt,
.photoalbum-material-card .article-preview-card-link .photoalbum-material-excerpt{
    display:-webkit-box!important;
    margin:0;
    overflow:hidden;
    text-align:left!important;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:6!important;
}
@media(max-width:620px){
    .news-landing-cards .news-rail .news-tile.news-tile-landing-card{
        width:100%;
    }
}

/* Definitive shared card template used by News, Programs and Photoalbums. */
.home-stack>.home-panel{
    display:flex;
    min-height:0;
    flex-direction:column;
}
.home-stack .mock-section-heading,
.home-stack .programs-heading,
.home-stack .photoalbums-heading{
    flex:0 0 auto;
    width:100%;
    justify-content:flex-start;
    text-align:left;
}
.home-stack .programs-heading>h2{
    display:block;
    flex:0 0 auto;
}
.home-stack .programs-heading .category-tabs{
    flex:1 1 auto;
}
.home-stack .photoalbums-heading h2{
    text-align:left;
}
.home-stack .news-rail,
.home-stack .cards-grid,
.home-stack .photoalbum-material-rail{
    flex:1 1 auto;
    min-height:0;
}
.home-stack .cards-grid{
    grid-auto-rows:minmax(0,1fr);
}
.home-stack .program-card-shell{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
}
.home-stack .news-rail .unified-preview-card,
.home-stack .program-card-shell .unified-preview-card,
.home-stack .photoalbum-material-rail .unified-preview-card{
    position:relative;
    display:block;
    width:100%;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    padding:0!important;
    overflow:hidden;
    border:1px solid #d9dde4;
    border-radius:20px;
    background:#fff;
    box-shadow:0 8px 22px rgba(15,23,42,.08);
}
.home-stack .news-rail .unified-preview-card{
    width:calc((100% - 28px)/3);
}
.unified-preview-inner{
    position:relative;
    display:flex;
    width:100%;
    height:100%;
    min-height:0;
    flex-direction:column;
    padding:16px!important;
}
.unified-preview-content{
    flex:1 1 auto;
    min-height:0;
    padding:0!important;
    overflow:hidden;
}
.unified-preview-media{
    float:left;
    display:block;
    width:42%;
    margin:0 14px 8px 0;
    overflow:hidden;
    aspect-ratio:1;
    border-radius:4px;
    background:#edf0f4;
}
.unified-preview-media img{
    display:block;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    border-radius:0!important;
    object-fit:cover;
}
.unified-preview-copy{
    display:block;
    padding:0!important;
}
.unified-preview-title{
    margin:0 0 8px;
    color:#182033;
    font-size:16px!important;
    font-weight:850;
    line-height:1.2;
    text-align:left;
}
.unified-preview-excerpt{
    margin:0;
    color:#687386;
    font-size:12px!important;
    line-height:1.45;
    text-align:left;
}
.unified-preview-actions{
    clear:both;
    flex:0 0 auto;
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    width:100%;
    margin-top:12px!important;
    padding:0!important;
}
.unified-preview-actions.has-buy{
    grid-template-columns:1fr 1fr;
}
.unified-preview-button{
    display:flex;
    min-width:0;
    min-height:44px;
    align-items:center;
    justify-content:center;
    padding:7px 9px;
    border:1px solid #dedbd5;
    border-radius:12px;
    background:#f8f7f4;
    color:#182033;
    font-size:14px;
    font-weight:850;
    text-align:center;
}
.unified-preview-button:hover{
    border-color:#ff9f1a;
    background:#fff8ed;
}
.unified-preview-buy{
    border-color:#ff9f1a;
    background:#ff9f1a;
    color:#201607;
}
.unified-preview-badge{
    position:absolute;
    z-index:3;
    top:10px;
    left:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:5px 9px;
    border-radius:9px;
    background:#fff;
    color:#182033;
    box-shadow:0 5px 16px rgba(15,23,42,.12);
    font-size:9px;
    font-weight:900;
    letter-spacing:.25px;
}
@media(max-width:620px){
    .home-stack .news-rail .unified-preview-card{
        width:100%;
    }
}

/* One card template for News, Programs and Photoalbums. */
:root{--landing-card-height:350px}
.cards-grid{
    grid-auto-rows:var(--landing-card-height);
}
.program-card-shell,
.program-card-shell .material-card,
.photoalbum-material-card,
.news-landing-cards .news-rail .news-tile.news-tile-landing-card{
    height:var(--landing-card-height)!important;
    min-height:var(--landing-card-height)!important;
    max-height:var(--landing-card-height)!important;
}
.program-card-shell{
    max-height:var(--landing-card-height)!important;
}
.article-unified-card,
.news-landing-cards .news-rail .news-tile.news-tile-landing-card{
    position:relative;
    display:block;
    padding:0!important;
    overflow:hidden;
    border:1px solid #d9dde4;
    border-radius:20px;
    background:#fff;
    box-shadow:0 8px 22px rgba(15,23,42,.08);
}
.news-landing-cards .news-rail .news-tile.news-tile-landing-card{
    width:calc((100% - 28px)/3);
}
.article-unified-card>.article-preview-card-link,
.news-landing-cards .news-rail .news-tile.news-tile-landing-card>.article-preview-card-link{
    position:relative;
    display:flex;
    width:100%;
    height:100%;
    flex-direction:column;
    padding:16px!important;
    color:#182033;
}
.article-unified-card .article-preview-card-body,
.news-landing-cards .news-rail .news-tile.news-tile-landing-card .article-preview-card-body{
    flex:1 1 auto;
    display:block!important;
    min-height:0;
    padding:0!important;
    overflow:hidden;
}
.article-unified-card .article-preview-media,
.news-landing-cards .news-rail .news-tile.news-tile-landing-card .article-preview-media{
    float:left;
    display:block;
    width:42%!important;
    height:auto!important;
    min-height:0!important;
    margin:0 14px 8px 0;
    overflow:hidden;
    aspect-ratio:1;
    border-radius:4px;
    background:#edf0f4;
}
.article-unified-card .article-preview-media img,
.news-landing-cards .news-rail .news-tile.news-tile-landing-card .article-preview-media img{
    display:block;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0;
    border-radius:0!important;
    object-fit:cover;
}
.article-unified-card .article-preview-copy,
.news-landing-cards .news-rail .news-tile.news-tile-landing-card .article-preview-copy{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
    overflow:visible!important;
}
.article-unified-card .article-preview-title,
.news-landing-cards .news-rail .news-tile.news-tile-landing-card .article-preview-title{
    margin:0 0 8px!important;
    color:#182033;
    font-size:16px!important;
    font-weight:850;
    line-height:1.2;
    text-align:left!important;
}
.article-unified-card .article-preview-excerpt,
.news-landing-cards .news-rail .news-tile.news-tile-landing-card .article-preview-excerpt{
    display:block!important;
    margin:0!important;
    overflow:visible!important;
    color:#687386;
    font-size:12px!important;
    line-height:1.45!important;
    text-align:left!important;
    -webkit-line-clamp:unset!important;
}
.article-preview-actions{
    clear:both;
    flex:0 0 auto;
    display:grid!important;
    grid-template-columns:1fr;
    gap:8px!important;
    width:100%;
    margin:16px 0 0!important;
    padding:0!important;
    border:0!important;
}
.article-preview-actions .article-preview-action{
    display:flex;
    width:100%;
    min-width:0;
    min-height:48px;
    margin:0!important;
    align-items:center;
    justify-content:center;
    padding:8px 10px;
    border:1px solid #dedbd5;
    border-radius:12px;
    background:#f8f7f4;
    color:#182033;
    font-size:15px;
    font-weight:850;
    text-align:center;
    cursor:pointer;
}
.article-preview-actions:has(.article-preview-buy){
    grid-template-columns:1fr 1fr;
}
.article-preview-actions .article-preview-action:hover{
    border-color:#ff9f1a;
    background:#fff8ed;
}
.article-preview-actions .article-preview-buy{
    border-color:#ff9f1a;
    background:#ff9f1a;
    color:#201607;
}
.article-unified-card>.category-badge,
.article-unified-card .article-preview-badge{
    z-index:4;
    top:10px!important;
    right:auto!important;
    left:10px!important;
    width:auto!important;
}
@media(max-width:620px){
    .news-landing-cards .news-rail .news-tile.news-tile-landing-card{
        width:100%;
    }
}

.material-back-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    margin:0 0 14px;
    padding:8px 16px;
    border:1px solid #ff9f1a;
    border-radius:7px;
    background:#fff8ed;
    color:#c96800;
    font-weight:800;
}
.material-back-button:hover{background:#ff9f1a;color:#111827}
.photoalbum-material-card{display:block}
.photoalbum-material-card-link{
    display:grid;
    grid-template-columns:42% minmax(0,1fr);
    width:100%;
    height:100%;
}
.photoalbum-material-card-link .photoalbum-material-excerpt{
    display:-webkit-box;
    margin:0;
    color:#596579;
    font-size:11px;
    line-height:1.4;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:8;
    overflow:hidden;
}

/* Shared public preview-card style for News and Photoalbum articles. */
.news-landing-cards .news-rail .news-tile.news-tile-landing-card,
.photoalbum-material-card{
    border:1px solid #d9dde4;
    border-radius:20px;
    background:#fff;
    box-shadow:0 8px 22px rgba(15,23,42,.08);
    overflow:hidden;
}
.news-landing-cards .news-rail .news-tile.news-tile-landing-card>.article-preview-card-link,
.photoalbum-material-card>.article-preview-card-link{
    position:relative;
    display:flex;
    flex-direction:column;
    width:100%;
    height:100%;
    padding:58px 16px 16px;
    color:#182033;
}
.news-landing-cards .news-rail .news-tile.news-tile-landing-card>.article-preview-without-badge{
    padding-top:16px;
}
.article-preview-card-link .article-preview-badge{
    position:absolute;
    z-index:2;
    top:12px;
    right:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:6px 11px;
    border-radius:9px;
    background:#fff;
    color:#182033;
    box-shadow:0 5px 16px rgba(15,23,42,.12);
    font-size:10px;
    font-weight:900;
    letter-spacing:.35px;
}
.article-preview-card-link .article-preview-card-body{
    flex:1 1 auto;
    min-height:0;
    display:grid;
    grid-template-columns:42% minmax(0,1fr);
    gap:14px;
}
.article-preview-card-link .news-image-wrap,
.article-preview-card-link .photoalbum-material-image{
    display:block;
    width:100%;
    height:100%;
    min-height:0;
    overflow:hidden;
    border-radius:4px;
    background:#edf0f4;
}
.article-preview-card-link .news-image-wrap img,
.article-preview-card-link .photoalbum-material-image img{
    width:100%;
    height:100%;
    min-height:0;
    border-radius:0;
    object-fit:cover;
}
.article-preview-card-link .news-copy,
.article-preview-card-link .photoalbum-material-copy{
    display:flex;
    min-width:0;
    height:100%;
    flex-direction:column;
    justify-content:center;
    padding:0!important;
}
.article-preview-card-link .news-copy h3,
.article-preview-card-link .photoalbum-material-copy h3{
    margin:0 0 8px;
    color:#182033;
    font-size:16px!important;
    font-weight:850;
    line-height:1.2;
    text-align:left;
}
.article-preview-card-link .news-excerpt,
.article-preview-card-link .photoalbum-material-excerpt{
    display:-webkit-box;
    margin:0;
    overflow:hidden;
    color:#687386;
    font-size:12px;
    line-height:1.45;
    text-align:justify;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:6;
}
.article-preview-card-link .article-preview-action{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:48px;
    margin-top:16px;
    border:1px solid #dedbd5;
    border-radius:12px;
    background:#f8f7f4;
    color:#182033;
    font-size:16px;
    font-weight:850;
}
.article-preview-card-link:hover .article-preview-action{
    border-color:#ff9f1a;
    background:#fff8ed;
}
.program-card-shell.is-filtered-out{display:none!important}.catalog-filter-empty{text-align:center;padding:60px 20px}.catalog-filter-empty h3{margin:0 0 10px}
.programs-heading{padding-bottom:0}.programs-heading .category-tabs{gap:8px;align-items:flex-end}.programs-heading .category-tabs a{min-width:120px;padding:13px 22px 11px;border:1px solid #d7dbe2;border-bottom:0;border-radius:9px 9px 0 0;background:#f5f7fa;font-size:16px;font-weight:750;text-align:center}.programs-heading .category-tabs a.active{background:#fff;color:#075bd8;border:1px solid #075bd8;border-bottom:3px solid #fff;transform:translateY(1px)}@media(max-width:620px){.programs-heading .category-tabs a{min-width:104px;padding:11px 16px;font-size:14px}}
.cards-grid{grid-auto-rows:320px;align-items:stretch}.program-card-shell{height:320px;min-height:320px;max-height:320px}.program-card-shell .material-card{height:100%;min-height:0;max-height:100%;overflow:hidden}.program-card-shell .card-top{min-height:0;overflow:hidden}.program-card-shell .card-summary{min-height:0;overflow:hidden}.program-card-shell .card-actions{flex:0 0 auto}
.logo-card{height:220px;min-height:220px;max-height:220px}.logo-card .header-banner-slider{height:100%}.mock-header-grid .logo-card .main-logo-image{width:auto!important;max-width:100%!important;height:100%!important;max-height:100%!important;object-fit:contain!important}@media(max-width:620px){.logo-card{height:150px;min-height:150px;max-height:150px}.logo-card .header-banner-slider{height:100%}.mock-header-grid .logo-card .main-logo-image{height:100%!important;max-height:100%!important}}

/* Header mode presets. */
.header-layout-modular .site-menu-panel{margin-top:0}.header-layout-modular .site-menu-inner{border-radius:0 0 8px 8px}.site-menu-inner.has-menu-logo{justify-content:flex-start}.site-menu-inner .site-menu-brand{order:-2;flex:0 0 auto;min-width:0;width:auto;height:34px;min-height:34px;max-height:34px;margin-right:8px;padding:2px 8px;border:0!important;background:transparent!important;display:flex;align-items:center;gap:7px;color:inherit!important}.site-menu-inner .site-menu-brand img{width:auto;height:30px;max-width:128px;object-fit:contain;border-radius:3px}.site-menu-inner .site-menu-brand b{color:var(--orange);font-size:17px}.site-menu-inner.has-menu-logo .site-menu-buttons{justify-content:flex-start}
.site-menu-panel .site-menu-buttons>a,.site-menu-panel .menu-write-button{height:34px!important;min-height:34px!important;max-height:34px!important;display:flex;align-items:center;justify-content:center}.site-menu-panel .site-menu-buttons>a:hover,.site-menu-panel .menu-write-button:hover{background:var(--menu-hover-color,#172033)!important;color:#fff!important;border-color:var(--menu-hover-color,#172033)!important}.site-menu-panel.menu-style-classic .site-menu-buttons>a.is-active{background:#111!important;color:#fff!important;border-color:#111!important}.site-menu-panel.menu-style-admin .site-menu-inner,.site-menu-panel.menu-style-admin .site-menu-buttons,.site-menu-panel.menu-style-admin .menu-social-module{background:#172033!important;border-color:#172033!important}.site-menu-panel.menu-style-admin .site-menu-buttons>a,.site-menu-panel.menu-style-admin .menu-write-button{background:#172033!important;color:#ced3de!important;border-color:transparent!important}.site-menu-panel.menu-style-admin .site-menu-buttons>a:hover,.site-menu-panel.menu-style-admin .site-menu-buttons>a.is-active,.site-menu-panel.menu-style-admin .menu-write-button:hover{background:var(--menu-hover-color,#29334a)!important;color:#fff!important}.site-menu-panel.menu-style-admin .site-menu-brand{color:#fff!important}

/* Equal-height home modules without internal scrollbars. */
.home-stack>.news-section,
.home-stack>.catalog-section{
    height:400px;
    min-height:400px;
    max-height:400px;
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.home-stack>.news-section .news-rail,
.home-stack>.catalog-section .cards-grid,
.home-stack>.news-section .empty-inline,
.home-stack>.catalog-section .empty-state,
.home-stack>.catalog-section .catalog-filter-empty{
    flex:1 1 auto;
    min-height:0;
}
.home-stack>.news-section .news-rail{
    align-content:flex-start;
    align-items:flex-start;
    justify-content:flex-start;
}
.news-rail .news-tile-latest{
    flex:0 0 100%;
    width:100%;
    height:278px;
    max-height:278px;
    display:grid;
    grid-template-columns:minmax(220px,32%) minmax(0,1fr);
    align-self:flex-start;
}
.news-rail .news-tile-latest>a{
    display:block;
    min-width:0;
    height:100%;
}
.news-rail .news-tile-latest .news-image-wrap{
    width:100%;
    height:100%;
}
.news-rail .news-tile-latest .news-image-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.news-rail .news-tile-latest .news-copy{
    min-width:0;
    height:100%;
    display:flex;
    flex-direction:column;
    padding:18px!important;
}
.news-rail .news-tile-latest .news-copy h3{
    font-size:20px;
}
.news-rail .news-tile-latest .news-excerpt{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:7;
    overflow:hidden;
}
.news-rail .news-tile-latest time{
    margin-top:auto;
}
.home-stack>.catalog-section .cards-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-content:center;
    align-items:center;
    gap:20px;
}
.home-stack>.catalog-section .program-card-shell{
    flex:0 1 calc((100% - 40px)/3);
    width:calc((100% - 40px)/3);
}
.home-stack>.news-section .empty-inline,
.home-stack>.catalog-section .empty-state,
.home-stack>.catalog-section .catalog-filter-empty{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:20px;
}
.home-stack .programs-heading .category-tabs{
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
}
.home-stack .programs-heading .category-tabs::-webkit-scrollbar{
    display:none;
}
@media(max-width:900px){
    .home-stack>.catalog-section .program-card-shell{
        flex-basis:calc((100% - 20px)/2);
        width:calc((100% - 20px)/2);
    }
}
@media(max-width:620px){
    .home-stack>.news-section,
    .home-stack>.catalog-section{
        height:auto;
        min-height:0;
        max-height:none;
        overflow:visible;
    }
    .home-stack>.catalog-section .program-card-shell{
        flex-basis:100%;
        width:100%;
    }
    .home-stack{
        margin-top:0;
        margin-bottom:24px;
        padding-top:0;
        padding-bottom:0;
    }
}

/* Catalog content starts directly below the tabs; tabs never show scrollbars. */
.programs-heading .category-tabs{
    overflow:visible;
    flex-wrap:wrap;
}
.programs-page-stack>.catalog-section>.cards-grid{
    flex:0 0 auto;
    align-content:start;
    margin-top:18px;
}

/* Keep catalog cards strictly below the bookmark tabs. */
.catalog-section{display:flex;flex-direction:column}
.catalog-section .programs-heading{flex:0 0 auto;width:100%;min-height:56px;margin-bottom:0}
.catalog-section .cards-grid,.catalog-section .catalog-filter-empty,.catalog-section>.empty-state{flex:0 0 auto;width:100%;margin-top:18px}
.catalog-section .catalog-filter-empty[hidden]{display:none!important}
.social-blocks-wrap{display:flex;align-items:stretch;justify-content:center;gap:18px;grid-column:1/-1;width:100%}.social-blocks-wrap .author-card{flex:0 1 250px;min-width:0}.social-blocks-count-1 .author-card{flex-basis:250px}.social-blocks-count-2,.social-blocks-count-3{justify-content:space-evenly}.social-blocks-count-2 .author-card,.social-blocks-count-3 .author-card{flex:0 1 250px}.mock-header-grid.social-only .social-blocks-wrap{grid-column:1/-1}.mock-header-grid.social-only .logo-card{display:none}
.social-blocks-count-4{justify-content:space-between}.social-blocks-count-4 .author-card{flex:0 1 220px}
.social-blocks-count-1{justify-content:center}.social-blocks-count-1 .author-card{flex-basis:360px}.social-blocks-count-2,.social-blocks-count-3,.social-blocks-count-4{justify-content:center;gap:24px}.social-blocks-count-2 .author-card,.social-blocks-count-3 .author-card{flex-basis:250px}.social-blocks-count-4 .author-card{flex-basis:220px}
.mock-header-grid.social-only .social-blocks-wrap{gap:12px;justify-content:center}.mock-header-grid.social-only .social-blocks-wrap .author-card{grid-column:auto!important;flex:0 0 250px;width:250px;min-width:250px;max-width:250px;height:220px;min-height:220px;max-height:220px}
.mock-header-grid.social-only .social-blocks-wrap .author-button{order:1}.mock-header-grid.social-only .social-blocks-wrap .social-caption{order:2;align-self:center;margin:10px 0 7px}.mock-header-grid.social-only .social-blocks-wrap .mock-social-links{order:3;display:flex;width:100%;align-items:center;justify-content:center;gap:7px}.mock-header-grid.social-only .social-blocks-wrap .mock-social-links a{flex:0 0 42px}.mock-header-grid.social-only .social-blocks-wrap .contact-envelope-icon{order:0;margin-bottom:8px}
@media(max-width:620px){.mock-header-grid.social-only .social-blocks-wrap{overflow-x:auto;justify-content:flex-start}.mock-header-grid.social-only .social-blocks-wrap .author-card{flex-basis:250px;width:250px;min-width:250px;max-width:250px;height:220px;min-height:220px;max-height:220px}}
.header-layout-brand_social .mock-header-grid{grid-template-columns:minmax(0,1fr) 220px}.header-layout-brand_social .social-blocks-wrap{grid-column:2;width:220px;max-width:220px}.header-layout-brand_social .social-blocks-wrap .author-card{flex:0 0 220px;width:220px;min-width:220px;max-width:220px;height:220px;min-height:220px;max-height:220px;padding-left:16px;padding-right:16px}.header-layout-brand_social .author-button{width:170px;max-width:100%;align-self:center}
@media(max-width:620px){.header-layout-brand_social .mock-header-grid{display:flex}.header-layout-brand_social .social-blocks-wrap{width:100%;max-width:100%}.header-layout-brand_social .social-blocks-wrap .author-card{flex:1 1 auto;width:100%;min-width:0;max-width:100%;height:auto;min-height:150px;max-height:none}}
.programs-heading .category-tabs{flex-direction:row-reverse;justify-content:flex-start}

/* News-only home page used when Programs are opened as separate pages. */
.programs-separate-page>main>.home-stack{
    flex:1 1 auto;
    min-height:0;
}
.programs-separate-page>main>.home-stack>.news-section{
    flex:1 1 auto;
    height:auto;
    min-height:400px;
    max-height:none;
    margin-bottom:0;
}
.programs-separate-page .news-section .news-rail{
    flex:1 1 auto;
    align-content:flex-start;
}
.programs-separate-page .news-rail .news-tile-wide{
    flex-basis:calc((100% - 18px)/2);
}
.news-module-heading.heading-label-hidden{
    justify-content:flex-end;
}
.programs-separate-page>main>.programs-page-stack{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    margin-top:14px;
    margin-bottom:14px;
}
.programs-separate-page>main>.programs-page-stack>.catalog-section{
    flex:1 1 auto;
    min-height:400px;
    display:flex;
    flex-direction:column;
}
.programs-page-stack>.catalog-section>.cards-grid,
.programs-page-stack>.catalog-section>.empty-state,
.programs-page-stack>.catalog-section>.catalog-filter-empty{
    flex:1 1 auto;
    min-height:0;
}
.programs-page-stack>.catalog-section>.cards-grid{
    align-content:center;
}
.programs-page-stack>.catalog-section>.empty-state,
.programs-page-stack>.catalog-section>.catalog-filter-empty{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}
@media(max-width:900px){
    .programs-separate-page .news-rail .news-tile-wide{
        flex-basis:100%;
    }
}
@media(max-width:620px){
    .programs-separate-page>main>.home-stack>.news-section{
        min-height:0;
    }
    .programs-separate-page>main>.programs-page-stack>.catalog-section{
        min-height:0;
    }
    .news-rail .news-tile-latest{
        height:170px;
        max-height:170px;
        grid-template-columns:42% minmax(0,1fr);
    }
    .news-rail .news-tile-latest .news-copy{
        padding:10px!important;
    }
    .news-rail .news-tile-latest .news-copy h3{
        font-size:14px;
    }
    .news-rail .news-tile-latest .news-excerpt{
        -webkit-line-clamp:3;
    }
}

/* Keep the News + Programs group vertically centered when the modular menu is disabled. */
body:not(.has-site-menu):not(.programs-separate-page)>main>.home-stack{
    flex:0 0 auto;
    margin-top:auto!important;
    margin-bottom:auto!important;
}

/* Content pages created through the custom tabs editor. */
.custom-tab-page{
    margin:auto;
    padding:18px 0;
}
.custom-tab-panel{
    padding:24px;
}
.custom-tab-panel>h1{
    margin:0 0 20px;
    text-align:center;
}
.custom-tab-article{
    width:100%;
    margin:0 0 16px;
}
.custom-tab-article:last-child{
    margin-bottom:0;
}
.custom-tab-article>h2{
    margin-top:0;
    text-align:center;
}

/* Every page in separate-tabs mode fills the space between the header/menu and footer. */
.programs-separate-page>main>.photoalbums-page-stack{
    flex:1 1 auto;
    min-height:0;
}
.programs-separate-page>main>.photoalbums-page-stack>.photoalbums-section{
    flex:1 1 auto;
    min-height:400px;
    margin-top:0;
    display:flex;
    flex-direction:column;
}
.programs-separate-page .photoalbums-page-stack .photoalbums-grid{
    flex:1 1 auto;
    min-height:0;
    align-content:center;
}
.programs-separate-page>main>.custom-tab-page{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    margin-top:14px;
    margin-bottom:14px;
    padding:0;
}
.programs-separate-page>main>.custom-tab-page>.custom-tab-panel{
    flex:1 1 auto;
    min-height:400px;
    display:flex;
    flex-direction:column;
}
.programs-separate-page .custom-tab-panel>.empty-state{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}
@media(max-width:620px){
    body:not(.has-site-menu):not(.programs-separate-page)>main>.home-stack{
        margin-top:0!important;
        margin-bottom:24px!important;
    }
    .custom-tab-page{
        padding:12px 0;
    }
    .custom-tab-panel{
        padding:16px;
    }
    .programs-separate-page>main>.photoalbums-page-stack>.photoalbums-section,
    .programs-separate-page>main>.custom-tab-page>.custom-tab-panel{
        min-height:0;
    }
}

/* The separate Programs page keeps its panel tall, but its cards start at the top. */
.programs-separate-page .programs-page-stack>.catalog-section>.cards-grid{
    flex:0 0 auto;
    align-content:start;
}

/* Landing mode: incomplete rows of material cards stay centered. */
body:not(.programs-separate-page) .home-stack>.catalog-section>.cards-grid{
    justify-content:center;
}

/* Text-only site name is vertically aligned with modular-menu buttons. */
.site-menu-inner .site-menu-brand{
    height:34px;
    min-height:34px;
    max-height:34px;
    align-self:center;
    justify-content:center;
    line-height:1;
}
.site-menu-inner .site-menu-brand b{
    display:flex;
    align-items:center;
    height:34px;
    line-height:34px;
}

/* Separate Photoalbum page: content begins under the page heading. */
.programs-separate-page .photoalbums-page-stack .photoalbums-grid{
    flex:0 0 auto;
    align-content:start;
}
.programs-separate-page .photoalbums-page-stack .photoalbum-empty{
    padding:20px;
}

/* Landing modules share all space between the header and footer equally. */
@media(min-width:621px){
    body.landing-page{
        height:100vh;
        height:100dvh;
        min-height:0;
        overflow:hidden;
    }
    body.landing-page>main{
        flex:1 1 auto;
        min-height:0;
        overflow:hidden;
    }
    body.landing-page>.mock-site-header,
    body.landing-page>.site-menu-panel,
    body.landing-page>.site-footer{
        flex:0 0 auto;
    }
    body.landing-page>main>.home-stack{
        flex:1 1 auto;
        min-height:0;
        display:grid;
        grid-template-columns:minmax(0,1fr);
        grid-auto-rows:minmax(0,1fr);
        gap:14px;
        margin-top:0!important;
        margin-bottom:0!important;
        padding-top:14px;
        padding-bottom:14px;
    }
    body.landing-page>main>.home-stack>.home-panel{
        height:auto;
        min-height:0;
        max-height:none;
        margin:0;
        overflow:hidden;
    }
    body.landing-page>main>.home-stack>.photoalbums-section{
        display:flex;
        flex-direction:column;
    }
    body.landing-page>main>.home-stack>.photoalbums-section>.photoalbums-grid{
        flex:1 1 auto;
        min-height:0;
        align-content:center;
    }
    body.landing-page>main>.home-stack>.catalog-section>.cards-grid{
        min-height:0;
    }
    body.landing-page>main>.home-stack>.catalog-section>.cards-grid>.program-card-shell{
        height:100%;
        min-height:0;
        max-height:320px;
    }
}

/* Program playlists live inside the permanent Programs section. */
.program-playlist-tabs{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    overflow-x:auto;
    margin:0 0 14px;
    padding:12px;
    border:1px solid var(--site-border,#d7dbe2);
    border-radius:12px;
    background:var(--site-panel-bg,#fff);
    scrollbar-width:thin;
}
.program-playlist-tabs a{
    flex:0 0 auto;
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:9px 18px;
    border:1px solid var(--site-border,#d7dbe2);
    border-radius:9px;
    background:#f7f8fa;
    color:var(--site-text,#111827);
    font-weight:750;
}
.program-playlist-tabs a.active{
    border-color:var(--site-accent,#ff9f1c);
    background:var(--site-accent,#ff9f1c);
    color:#201607;
}
.article-content .continuous-video-block{
    display:block;
    width:100%;
    margin:24px auto;
}
.article-content .continuous-video-block iframe{
    display:block;
    width:100%;
    aspect-ratio:16/9;
    height:auto;
    border:0;
    border-radius:12px;
}
@media(max-width:620px){
    .program-playlist-tabs{
        justify-content:flex-start;
        padding:9px;
    }
    .program-playlist-tabs a{
        min-height:38px;
        padding:7px 13px;
        font-size:12px;
    }
}

/* Preview actions always remain inside the visible bottom edge of every card. */
.home-stack .unified-preview-card{
    --preview-card-padding:16px;
    --preview-action-height:44px;
    --preview-action-gap:12px;
}
.home-stack .unified-preview-card .unified-preview-inner{
    position:relative;
    padding:var(--preview-card-padding)!important;
    padding-bottom:calc(var(--preview-card-padding) + var(--preview-action-height) + var(--preview-action-gap))!important;
}
.home-stack .unified-preview-card .unified-preview-content{
    width:100%;
    height:100%;
    min-height:0;
}
.home-stack .unified-preview-card .unified-preview-actions{
    position:absolute;
    z-index:3;
    right:var(--preview-card-padding);
    bottom:var(--preview-card-padding);
    left:var(--preview-card-padding);
    width:auto;
    height:var(--preview-action-height);
    margin:0!important;
}
.home-stack .unified-preview-card .unified-preview-button{
    height:var(--preview-action-height);
    min-height:var(--preview-action-height);
}
/* Final landing-news precedence over the older generic latest-card rules. */
.news-landing-cards .news-rail .news-tile.news-tile-landing-card{
    display:block;
    width:33.3333%;
    height:var(--landing-card-height);
    min-height:var(--landing-card-height);
    max-height:var(--landing-card-height);
}
.home-stack>.news-section.news-landing-cards{
    width:100%;
}
.news-landing-cards .news-rail .news-tile.news-tile-landing-card>.news-card-link{
    display:flex;
    flex-direction:column;
    width:100%;
    height:100%;
}
.news-landing-cards .news-rail .news-tile.news-tile-landing-card .news-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    height:100%;
}
.news-landing-cards .news-rail .news-tile.news-tile-landing-card .news-excerpt{
    display:block;
    overflow:hidden;
    text-align:justify;
    -webkit-line-clamp:unset;
}
@media(max-width:620px){
    .home-stack>.news-section.news-landing-cards{
        width:100%;
    }
    .news-landing-cards .news-rail .news-tile.news-tile-landing-card{
        width:100%;
        height:auto;
        max-height:none;
    }
    .news-landing-cards .news-rail .news-tile.news-tile-landing-card>.news-card-link{
        display:flex;
    }
}

/* Final public article alignment and shared News/Photoalbum preview geometry. */
.material-page{
    align-self:stretch;
    margin-right:auto;
    margin-left:auto;
    overflow:visible;
}
.material-page-toolbar{
    display:flex;
    width:100%;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}
.material-page-toolbar .material-back-button,
.material-page-toolbar .material-publication-meta{
    margin:0;
}
.material-page-toolbar .material-publication-meta{
    min-width:0;
    flex-wrap:wrap;
}
.material-page>.material-heading{
    width:100%;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.material-page>.material-heading>div{
    min-width:0;
    flex:1 1 auto;
    text-align:center;
}
.material-page>.material-heading h1{
    width:100%;
    margin-right:auto;
    margin-left:auto;
    text-align:center;
}

/* Шапка отдельной страницы программы: превью, название и действия. */
.material-program-hero{
    display:grid;
    grid-template-columns:minmax(190px,1fr) minmax(0,1.55fr) minmax(190px,1fr);
    align-items:center;
    gap:32px;
    width:100%;
    margin:10px 0 38px;
}
.material-program-preview{
    display:grid;
    width:min(280px,100%);
    aspect-ratio:1;
    padding:0;
    place-items:center;
    justify-self:start;
    overflow:hidden;
    border:0;
    border-radius:18px;
    background:#fff;
    cursor:zoom-in;
}
.material-program-preview img{width:100%;height:100%;object-fit:contain}
.material-program-hero h1{
    min-width:0;
    margin:0;
    font-size:clamp(34px,4.6vw,62px);
    line-height:1.05;
    letter-spacing:-2px;
    text-align:center;
    overflow-wrap:break-word;
}
.material-program-actions{
    display:grid;
    width:min(220px,100%);
    justify-self:end;
    gap:12px;
}
.material-program-actions .button{width:100%}
.material-program-actions .material-forum-link{border-color:#075bd8;background:#fff;color:#075bd8}
.material-page.material-type-news>.article-content img[data-lightbox],
.material-page.material-type-product>.article-content img[data-lightbox]{cursor:zoom-in}
@media(max-width:800px){
    .material-program-hero{grid-template-columns:1fr;gap:20px}
    .material-program-preview,.material-program-actions{justify-self:center}
    .material-program-hero h1{grid-row:1;font-size:clamp(32px,9vw,52px)}
    .material-program-preview{grid-row:2}
    .material-program-actions{grid-row:3;width:min(320px,100%)}
}

.news-landing-cards .news-rail .news-tile.news-tile-landing-card{
    width:calc((100% - 28px)/3);
}
.news-landing-cards .news-rail .news-tile.news-tile-landing-card>.article-preview-card-link,
.photoalbum-material-card>.article-preview-card-link{
    display:flex;
    width:100%;
    height:100%;
    flex-direction:column;
    padding:58px 16px 16px;
}
.news-landing-cards .article-preview-card-link .article-preview-card-body,
.photoalbum-material-card .article-preview-card-link .article-preview-card-body{
    flex:1 1 auto;
    min-height:0;
    display:grid;
    grid-template-columns:42% minmax(0,1fr);
    align-items:center;
    gap:14px;
}
.news-landing-cards .article-preview-card-link .news-image-wrap,
.photoalbum-material-card .article-preview-card-link .photoalbum-material-image{
    align-self:center;
    width:100%;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1;
}
.news-landing-cards .article-preview-card-link .news-image-wrap img,
.photoalbum-material-card .article-preview-card-link .photoalbum-material-image img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:cover;
}
.news-landing-cards .article-preview-card-link .news-copy,
.photoalbum-material-card .article-preview-card-link .photoalbum-material-copy{
    align-self:center;
    height:auto!important;
    min-height:0!important;
}
.article-preview-card-link .news-excerpt,
.article-preview-card-link .photoalbum-material-excerpt{
    text-align:left;
}
@media(max-width:620px){
    .material-page-toolbar{
        align-items:stretch;
        flex-direction:column;
    }
    .material-page-toolbar .material-publication-meta{
        justify-content:flex-start;
        text-align:left;
    }
    .news-landing-cards .news-rail .news-tile.news-tile-landing-card{
        width:100%;
    }
}

/* Absolute final precedence for the single reusable preview-card component. */
.home-stack .news-rail,
.home-stack .cards-grid,
.home-stack .photoalbum-material-rail{
    flex:0 0 285px;
    height:285px;
    min-height:0;
    align-content:start;
}
.home-stack .cards-grid,
.home-stack .photoalbum-material-rail{
    grid-auto-rows:285px;
}
.home-stack .program-card-shell{
    height:285px!important;
    min-height:0!important;
    max-height:285px!important;
}
.home-stack .unified-preview-card,
.home-stack .news-rail .unified-preview-card,
.home-stack .program-card-shell .unified-preview-card,
.home-stack .photoalbum-material-rail .unified-preview-card{
    display:block!important;
    height:285px!important;
    min-height:0!important;
    max-height:285px!important;
    padding:0!important;
}
.home-stack .news-rail .unified-preview-card{
    width:calc((100% - 28px)/3)!important;
}
.home-stack .news-landing-cards .news-rail .news-tile.news-tile-latest.news-tile-landing-card.unified-preview-card{
    height:285px!important;
    min-height:0!important;
    max-height:285px!important;
}
.home-stack .mock-section-heading,
.home-stack .programs-heading,
.home-stack .photoalbums-heading{
    justify-content:flex-start!important;
    text-align:left!important;
}
.home-stack .programs-heading>h2{
    display:block!important;
}
.home-stack .photoalbums-heading h2{
    text-align:left!important;
}
@media(max-width:620px){
    .home-stack .news-rail .unified-preview-card{
        width:100%!important;
    }
}

/* Fixed shared preview geometry: square image, wrapping text and bottom actions. */
:root{--unified-preview-media-size:132px}
.home-stack .unified-preview-content{
    display:block!important;
    min-width:0;
    overflow:hidden!important;
}
.home-stack .unified-preview-media{
    float:left!important;
    display:flex!important;
    width:min(var(--unified-preview-media-size),42%)!important;
    height:auto!important;
    aspect-ratio:1!important;
    align-items:center;
    justify-content:center;
    margin:0 14px 8px 0!important;
    overflow:hidden;
    border-radius:8px;
    background:#edf0f4;
}
.home-stack .unified-preview-media img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important;
    object-position:center!important;
}
.home-stack .unified-preview-copy{
    display:block!important;
    min-width:0;
    padding:0!important;
}
.home-stack .unified-preview-actions{
    clear:both;
    flex:0 0 auto;
    width:100%;
    margin-top:12px!important;
}
.home-stack .unified-preview-actions.has-buy{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
}
.unified-preview-buy.is-disabled{
    cursor:not-allowed;
    opacity:.55;
    filter:grayscale(.35);
}

/* One admin-controlled width for every public outer container. */
:root{
    --public-layout-width:1380px;
    --public-layout-side-space:16px;
    --public-card-gap:20px;
}
.container{
    width:min(var(--public-layout-width),calc(100% - var(--public-layout-side-space)))!important;
    max-width:var(--public-layout-width)!important;
    margin-right:auto!important;
    margin-left:auto!important;
}
.material-page>.article-content{
    width:100%!important;
    max-width:100%!important;
}
.home-stack .news-rail{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:var(--public-card-gap)!important;
}
.home-stack .news-rail .unified-preview-card{
    flex:0 0 calc((100% - (var(--public-card-gap) * 2))/3)!important;
    width:calc((100% - (var(--public-card-gap) * 2))/3)!important;
}
.home-stack .cards-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:var(--public-card-gap)!important;
}
@media(max-width:900px){
    .home-stack .news-rail .unified-preview-card{
        flex-basis:calc((100% - var(--public-card-gap))/2)!important;
        width:calc((100% - var(--public-card-gap))/2)!important;
    }
    .home-stack .cards-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media(max-width:620px){
    :root{
        --public-layout-side-space:12px;
    }
    .home-stack .news-rail .unified-preview-card{
        flex-basis:100%!important;
        width:100%!important;
    }
    .home-stack .cards-grid{
        grid-template-columns:1fr!important;
    }
}

/* Programs use the same reusable preview-card geometry as News. */
.catalog-section .cards-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:var(--public-card-gap,20px)!important;
    grid-auto-rows:285px!important;
    align-content:start!important;
}
.catalog-section .program-card-shell{
    width:100%!important;
    min-width:0!important;
    height:285px!important;
    min-height:285px!important;
    max-height:285px!important;
}
@media(max-width:900px){
    .catalog-section .cards-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media(max-width:620px){
    .catalog-section .cards-grid{
        grid-template-columns:1fr!important;
    }
}

/* Full-width advertising slider between News and Programs. */
.home-stack>.advertising-section{
    flex:0 0 auto;
    width:100%;
    padding:0;
    overflow:hidden;
}
.advertising-module-heading{
    min-height:49px;
    margin:0!important;
    padding:14px 14px 10px;
}
.advertising-module-heading h2{
    margin:0;
    font-size:var(--site-section-title-size,19px);
    line-height:1;
}
.advertising-slider{
    position:relative;
    width:100%;
    height:200px;
    overflow:hidden;
    background:#edf0f4;
}
.advertising-slider .advertising-slide{
    position:absolute;
    inset:0;
    z-index:0;
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    opacity:0;
    transform:translateX(100%);
}
.advertising-slider .advertising-slide.is-active{
    z-index:1;
    opacity:1;
    transform:translateX(0);
}
.advertising-slider .advertising-slide img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.advertising-slider .advertising-slide[aria-disabled="true"]{
    cursor:default;
}

/* Footer can either fill the viewport or follow the natural document flow. */
.site-footer .footer-row{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.site-footer .footer-brand{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    width:100%;
}
.site-footer .footer-brand b{
    font-size:15px;
}
.site-footer .footer-brand span{
    display:block;
}
body.footer-flow{
    display:flex!important;
    flex-direction:column!important;
    width:100%;
    height:auto!important;
    min-height:100vh!important;
    min-height:100dvh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
}
body.footer-flow>main{
    display:flex!important;
    flex:1 0 auto!important;
    flex-direction:column!important;
    min-height:0!important;
    overflow:visible!important;
}
body.footer-flow>main>.home-stack{
    display:flex!important;
    flex-direction:column;
    gap:14px;
    min-height:0!important;
    margin-top:8px!important;
    margin-bottom:24px!important;
    padding-top:14px;
    padding-bottom:14px;
}
body.footer-flow>main>.home-stack>.home-panel{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    overflow:visible!important;
}
body.footer-flow>main>.home-stack>.news-section,
body.footer-flow>main>.home-stack>.catalog-section{
    min-height:365px!important;
}
body.footer-flow>main>.home-stack>.advertising-section{
    flex:0 0 200px;
    height:200px!important;
    min-height:200px!important;
    max-height:200px!important;
}
body.footer-flow>main>.home-stack>.advertising-section .advertising-slider{
    height:100%!important;
}
body.footer-flow>.site-footer{
    flex:none!important;
    margin-top:auto!important;
}

/* Header banners never change preview-card or action-button dimensions. */
.home-stack .news-rail,
.home-stack .cards-grid,
.home-stack .photoalbum-material-rail{
    min-height:285px!important;
}
.home-stack .program-card-shell,
.home-stack .unified-preview-card,
.home-stack .news-rail .unified-preview-card,
.home-stack .program-card-shell .unified-preview-card,
.home-stack .photoalbum-material-rail .unified-preview-card,
.home-stack .news-landing-cards .news-rail .news-tile.news-tile-latest.news-tile-landing-card.unified-preview-card{
    height:285px!important;
    min-height:285px!important;
    max-height:285px!important;
}
.home-stack .unified-preview-card{
    --preview-card-padding:16px;
    --preview-action-height:44px;
    --preview-action-gap:12px;
}
.home-stack .unified-preview-card .unified-preview-button{
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
}
.programs-separate-page .news-section .news-rail{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    align-content:start!important;
}
.news-inline-advertising{
    flex:0 0 100%;
    width:100%;
    height:200px;
    min-height:200px;
    overflow:hidden;
    border:1px solid #d9dde4;
    border-radius:20px;
    background:#edf0f4;
    box-shadow:0 8px 22px rgba(15,23,42,.08);
}
.news-inline-advertising .advertising-slider{
    height:100%;
}
.news-rail>.news-inline-advertising{
    order:1;
}
.news-rail>.unified-preview-card{
    order:2;
}
.news-rail>.unified-preview-card:nth-child(-n+3){
    order:0;
}
.program-inline-advertising{
    grid-column:1/-1;
    grid-row:2;
    width:100%;
    height:200px;
    min-height:200px;
    overflow:hidden;
    border:1px solid #d9dde4;
    border-radius:20px;
    background:#edf0f4;
    box-shadow:0 8px 22px rgba(15,23,42,.08);
}
.catalog-section .cards-grid.has-inline-advertising{
    grid-template-rows:285px 200px!important;
}
.program-inline-advertising .advertising-slider{
    height:100%;
}
@media(max-width:900px){
    .news-rail>.unified-preview-card:nth-child(n){
        order:2;
    }
    .news-rail>.unified-preview-card:nth-child(-n+2){
        order:0;
    }
}
@media(max-width:620px){
    .advertising-slider{
        height:200px;
    }
    .news-rail>.unified-preview-card:nth-child(n){
        order:2;
    }
    .news-rail>.unified-preview-card:first-child{
        order:0;
    }
}

/* The news preview always reserves its own bottom row for the details button. */
.home-stack>.news-section .news-rail>.unified-preview-card.news-tile{
    position:relative!important;
    display:block!important;
    box-sizing:border-box!important;
    height:285px!important;
    min-height:285px!important;
    max-height:285px!important;
    overflow:hidden!important;
}
.home-stack>.news-section .news-rail>.unified-preview-card.news-tile>.unified-preview-inner{
    position:relative!important;
    display:grid!important;
    grid-template-rows:minmax(0,1fr) 44px!important;
    gap:12px!important;
    box-sizing:border-box!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    padding:16px!important;
}
.home-stack>.news-section .news-rail>.unified-preview-card.news-tile>.unified-preview-inner>.unified-preview-content{
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
}
.home-stack>.news-section .news-rail>.unified-preview-card.news-tile>.unified-preview-inner>.unified-preview-actions{
    position:static!important;
    z-index:auto!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    align-self:end!important;
    box-sizing:border-box!important;
    width:100%!important;
    height:44px!important;
    min-height:44px!important;
    margin:0!important;
    padding:0!important;
    opacity:1!important;
    visibility:visible!important;
    overflow:visible!important;
}
.home-stack>.news-section .news-rail>.unified-preview-card.news-tile .unified-preview-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    width:100%!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    margin:0!important;
    opacity:1!important;
    visibility:visible!important;
}

/* A single enabled home module fills all free space above the footer. */
body.footer-flow>main>.home-stack{
    flex:1 1 auto!important;
}
body.footer-flow>main>.home-stack.single-home-module>.home-panel:not(.advertising-section){
    flex:1 1 auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
}

/*
 * News + Programs without advertising:
 * News publishes one desktop row (three cards), while Programs initially
 * exposes up to two rows (six cards). Extra rows extend the document and move
 * the footer down instead of being clipped inside the module.
 */
@media(min-width:901px){
    body.footer-flow>main>.home-stack.news-one-row-programs-two-rows>.news-section,
    body.footer-flow>main>.home-stack.news-one-row-programs-two-rows>.catalog-section{
        height:auto!important;
        max-height:none!important;
        overflow:visible!important;
    }
    body.footer-flow>main>.home-stack.news-one-row-programs-two-rows>.news-section{
        flex:0 0 auto!important;
        min-height:365px!important;
    }
    body.footer-flow>main>.home-stack.news-one-row-programs-two-rows>.catalog-section{
        flex:1 0 auto!important;
        min-height:365px!important;
    }
    body.footer-flow>main>.home-stack.news-one-row-programs-two-rows>.news-section .news-rail{
        flex:0 0 285px!important;
        height:285px!important;
        min-height:285px!important;
        max-height:285px!important;
    }
    body.footer-flow>main>.home-stack.news-one-row-programs-two-rows>.catalog-section .cards-grid{
        flex:0 0 auto!important;
        height:auto!important;
        min-height:285px!important;
        max-height:none!important;
        grid-auto-rows:285px!important;
        overflow:visible!important;
    }
}

/* Header compositions: social block stays beside the logo or banner. */
.header-layout-logo_social_menu .mock-header-grid,
.header-layout-logo_social_block_banner .mock-header-grid,
.header-layout-logo_social_menu_block_banner .mock-header-grid,
.header-layout-banner_social .mock-header-grid,
.header-layout-banner_social_menu .mock-header-grid{
    grid-template-columns:minmax(0,1fr) 220px;
}
.header-layout-logo_social_menu .social-blocks-wrap,
.header-layout-logo_social_block_banner .social-blocks-wrap,
.header-layout-logo_social_menu_block_banner .social-blocks-wrap,
.header-layout-banner_social .social-blocks-wrap,
.header-layout-banner_social_menu .social-blocks-wrap{
    grid-column:2;
    width:220px;
    max-width:220px;
}
.header-layout-logo_social_menu .social-blocks-wrap .author-card,
.header-layout-logo_social_block_banner .social-blocks-wrap .author-card,
.header-layout-logo_social_menu_block_banner .social-blocks-wrap .author-card,
.header-layout-banner_social .social-blocks-wrap .author-card,
.header-layout-banner_social_menu .social-blocks-wrap .author-card{
    flex:0 0 220px;
    width:220px;
    min-width:220px;
    max-width:220px;
    height:220px;
    min-height:220px;
    max-height:220px;
    padding-right:16px;
    padding-left:16px;
}
.header-layout-logo_social_menu .mock-header-grid.social-side-right .logo-card,
.header-layout-banner_social_menu .mock-header-grid.social-side-right .logo-card{
    grid-column:1;
    grid-row:1;
}
.header-layout-logo_social_menu .mock-header-grid.social-side-right .social-blocks-wrap,
.header-layout-banner_social_menu .mock-header-grid.social-side-right .social-blocks-wrap{
    grid-column:2;
    grid-row:1;
}
.header-layout-logo_social_menu .mock-header-grid.social-side-left,
.header-layout-banner_social_menu .mock-header-grid.social-side-left{
    grid-template-columns:220px minmax(0,1fr);
}
.header-layout-logo_social_menu .mock-header-grid.social-side-left .logo-card,
.header-layout-banner_social_menu .mock-header-grid.social-side-left .logo-card{
    grid-column:2;
    grid-row:1;
}
.header-layout-logo_social_menu .mock-header-grid.social-side-left .social-blocks-wrap,
.header-layout-banner_social_menu .mock-header-grid.social-side-left .social-blocks-wrap{
    grid-column:1;
    grid-row:1;
}
.header-block-banner{
    padding-top:0;
    padding-bottom:8px;
}
.header-block-banner .header-block-banner-card{
    box-sizing:border-box;
    width:100%;
    min-height:220px;
    padding:0;
    overflow:hidden;
}
.header-block-banner .header-banner-slider{
    height:220px;
}
@media(max-width:620px){
    .header-layout-logo_social_menu .mock-header-grid,
    .header-layout-logo_social_block_banner .mock-header-grid,
    .header-layout-logo_social_menu_block_banner .mock-header-grid,
    .header-layout-banner_social .mock-header-grid,
    .header-layout-banner_social_menu .mock-header-grid{
        display:flex;
    }
    .header-layout-logo_social_menu .social-blocks-wrap,
    .header-layout-logo_social_block_banner .social-blocks-wrap,
    .header-layout-logo_social_menu_block_banner .social-blocks-wrap,
    .header-layout-banner_social .social-blocks-wrap,
    .header-layout-banner_social_menu .social-blocks-wrap{
        width:100%;
        max-width:100%;
    }
    .header-layout-logo_social_menu .social-blocks-wrap .author-card,
    .header-layout-logo_social_block_banner .social-blocks-wrap .author-card,
    .header-layout-logo_social_menu_block_banner .social-blocks-wrap .author-card,
    .header-layout-banner_social .social-blocks-wrap .author-card,
    .header-layout-banner_social_menu .social-blocks-wrap .author-card{
        flex:1 1 auto;
        width:100%;
        min-width:0;
        max-width:100%;
        height:auto;
        min-height:150px;
        max-height:none;
    }
    .header-layout-logo_social_menu .mock-header-grid.social-side-left .social-blocks-wrap,
    .header-layout-banner_social_menu .mock-header-grid.social-side-left .social-blocks-wrap{
        order:1;
    }
    .header-layout-logo_social_menu .mock-header-grid.social-side-left .logo-card,
    .header-layout-banner_social_menu .mock-header-grid.social-side-left .logo-card{
        order:2;
    }
    .header-block-banner .header-block-banner-card,
    .header-block-banner .header-banner-slider{
        min-height:140px;
        height:140px;
    }
}
/* Extra card rows after an inline advertising banner extend the document and push the footer down. */
@media(min-width:621px){
    body.landing-page.has-inline-card-overflow{
        height:auto!important;
        min-height:100vh!important;
        min-height:100dvh!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
    }
    body.landing-page.has-inline-card-overflow>main{
        flex:1 0 auto!important;
        min-height:0!important;
        overflow:visible!important;
    }
    body.landing-page.has-inline-card-overflow>main>.home-stack{
        display:flex!important;
        flex:1 0 auto!important;
        flex-direction:column!important;
        grid-auto-rows:auto!important;
        min-height:0!important;
    }
    body.landing-page.has-inline-card-overflow>main>.home-stack>.home-panel{
        height:auto!important;
        min-height:365px!important;
        max-height:none!important;
        overflow:visible!important;
    }
    body.landing-page.has-inline-card-overflow>.site-footer{
        flex:0 0 auto!important;
        margin-top:auto!important;
    }
}

/* One program-preview component is reused unchanged in every tab. */
.program-preview-card .unified-preview-title{
    display:block;
    height:57.6px;
    min-height:57.6px;
    max-height:57.6px;
    margin:0 0 8px!important;
    padding:0!important;
    overflow:hidden;
    text-align:center!important;
}
.program-preview-card .unified-preview-excerpt{
    margin:0!important;
    padding:0!important;
}
.program-preview-card .unified-preview-title.is-single-line{
    display:flex;
    align-items:center;
    justify-content:center;
}

/* Program-card geometry belongs to the component, not to the tab containing it. */
.program-preview-card.unified-preview-card{
    box-sizing:border-box!important;
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:285px!important;
    min-height:285px!important;
    max-height:285px!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #d9dde4!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 8px 22px rgba(15,23,42,.08)!important;
}
.program-preview-card.unified-preview-card>.unified-preview-inner{
    box-sizing:border-box!important;
    position:relative!important;
    display:grid!important;
    grid-template-rows:minmax(0,1fr) 44px!important;
    gap:12px!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    padding:16px!important;
}
.program-preview-card.unified-preview-card>.unified-preview-inner>.unified-preview-content{
    grid-row:1!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
}
.program-preview-card .unified-preview-media{
    float:left!important;
    display:flex!important;
    width:min(var(--unified-preview-media-size),42%)!important;
    height:auto!important;
    aspect-ratio:1!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0 14px 8px 0!important;
    overflow:hidden!important;
    border-radius:8px!important;
    background:#edf0f4!important;
}
.program-preview-card .unified-preview-media img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    border-radius:0!important;
    object-fit:cover!important;
    object-position:center!important;
}
.program-preview-card .unified-preview-copy{
    display:block!important;
    min-width:0!important;
    padding:0!important;
}
.program-preview-card .unified-preview-excerpt{
    color:#687386!important;
    font-size:12px!important;
    line-height:1.45!important;
    text-align:left!important;
}
.program-preview-card.unified-preview-card>.unified-preview-inner>.unified-preview-actions{
    position:static!important;
    z-index:auto!important;
    grid-row:2!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;
    width:100%!important;
    height:44px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
}
.program-preview-card .unified-preview-button{
    box-sizing:border-box!important;
    width:100%!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
}

/* Saved alignment of modular-menu buttons inside the available menu area. */
.site-menu-inner .site-menu-buttons{flex:1 1 auto;width:auto}
.site-menu-inner.menu-buttons-align-left .site-menu-buttons{justify-content:flex-start!important}
.site-menu-inner.menu-buttons-align-center .site-menu-buttons{justify-content:center!important;justify-content:safe center!important}
.site-menu-inner.menu-buttons-align-right .site-menu-buttons{justify-content:flex-end!important;justify-content:safe flex-end!important}
.site-menu-panel.site-menu-above.menu-background-full-width{width:100%;margin:0;background:var(--menu-panel-bg,#fff);box-shadow:0 2px 8px rgba(15,23,42,.08)}
.site-menu-panel.site-menu-above.menu-background-full-width>.site-menu-inner{border-color:transparent;background:transparent!important;border-radius:0;box-shadow:none}
.site-menu-panel.site-menu-above.menu-background-full-width>.site-menu-inner.has-social-module .site-menu-buttons,
.site-menu-panel.site-menu-above.menu-background-full-width>.site-menu-inner.has-social-module .menu-social-module{border-color:transparent;background:transparent!important;box-shadow:none}

/* The Programs page uses one large panel; playlist links are controls inside it. */
.programs-page-stack>.catalog-section>.program-playlist-tabs{flex:0 0 auto;width:100%;margin:0 0 18px;padding:0 0 14px;border:0;border-bottom:1px solid var(--site-border,#d7dbe2);border-radius:0;background:transparent;box-shadow:none}
.programs-page-stack>.catalog-section>.system-page-article{width:100%;max-width:none;margin:0 0 18px;padding:18px;border:0;border-radius:0;background:transparent;box-shadow:none}

/* Shared spacing around the Home and Programs modules. */
:root{
    --public-menu-module-margin:8px;
    --public-module-padding:14px;
    --public-card-gap:20px;
}
body.footer-flow>main>.home-stack,
body.footer-flow>main>.programs-page-stack{
    margin-top:var(--public-menu-module-margin)!important;
    margin-bottom:24px!important;
    padding-top:var(--public-module-padding)!important;
    padding-bottom:var(--public-module-padding)!important;
}
body.footer-flow>main>.home-stack>.home-panel,
body.footer-flow>main>.programs-page-stack>.home-panel{
    padding:var(--public-module-padding)!important;
}
.home-stack .news-rail,
.programs-page-stack .cards-grid{
    gap:var(--public-card-gap)!important;
}
.programs-page-stack>.catalog-section:not(.has-program-leading-content)>.cards-grid{
    margin-top:0!important;
}
