/* CMS page-layout controls. These classes tune the authored public modules
   without replacing their content structure or interaction scripts. */
.nd-page{--cms-columns:3;--cms-gap:20px}
.nd-page.cms-width-contained .nd-content,.nd-page.cms-width-contained .nd-masthead>*{max-width:1280px;margin-inline:auto}
.nd-page.cms-spacing-compact .nd-content{padding-bottom:32px}.nd-page.cms-spacing-compact .nd-section{margin-bottom:26px}
.nd-page.cms-spacing-airy .nd-content{padding-bottom:78px}.nd-page.cms-spacing-airy .nd-section{margin-bottom:62px}
.nd-page.cms-spacing-airy .nd-filters{padding-block:30px;margin-bottom:42px}
.nd-page :is(.nd-grid,.vp-grid,.sp-grid){gap:var(--cms-gap)}

.nd-page.cms-template-grid :is(#nd-result-grid,.vp-grid,.sp-grid){grid-template-columns:repeat(var(--cms-columns),minmax(0,1fr))}
.nd-page.cms-template-grid .nd-card{display:flex}.nd-page.cms-template-grid .nd-image{aspect-ratio:16/9;height:auto;min-height:0}
.nd-page.cms-template-list :is(#nd-result-grid,.vp-grid,.sp-grid){display:grid;grid-template-columns:1fr}
.nd-page.cms-template-list :is(#nd-result-grid,.vp-grid,.sp-grid) .nd-card{display:grid;grid-template-columns:minmax(220px,32%) 1fr}
.nd-page.cms-template-list :is(#nd-result-grid,.vp-grid,.sp-grid) .nd-image,.nd-page.cms-template-list .vp-thumb{height:100%;min-height:210px;aspect-ratio:auto}
.nd-page.cms-template-editorial #nd-result-grid{grid-template-columns:repeat(var(--cms-columns),minmax(0,1fr))}
.nd-page.cms-template-editorial #nd-overview .nd-grid{grid-template-columns:repeat(var(--cms-columns),minmax(0,1fr))}
.nd-page.cms-template-editorial #nd-overview .nd-card{display:flex}
.nd-page.cms-template-editorial #nd-overview .nd-image{height:auto;min-height:0;aspect-ratio:16/9}
.nd-page.cms-template-editorial #nd-overview .nd-lead h3{font-size:18px;line-height:1.5}
.nd-page.cms-template-editorial #nd-overview .nd-lead .nd-body{padding:20px}
.nd-excerpt{color:#607b8a;font-size:14px;line-height:1.65;margin:-10px 0 18px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.nd-page.cms-has-sidebar .nd-content{display:grid;grid-template-columns:minmax(0,1fr) 300px;column-gap:34px;align-items:start}
.nd-page.cms-has-sidebar .nd-content> :not(.cms-page-sidebar){grid-column:1}
.cms-page-sidebar{grid-column:2!important;grid-row:1/span 40;position:sticky;top:105px;display:grid;gap:22px;padding-top:22px}
.cms-page-sidebar section{background:#fff;border:1px solid #c6e2ed;border-radius:12px;padding:20px}
.cms-page-sidebar h2{font-size:18px;line-height:1.3;margin:7px 0 15px;color:#143e55}
.cms-side-kicker{font-size:10px;letter-spacing:.14em;color:#007da8;font-weight:700}
.cms-page-sidebar button{display:block;width:100%;padding:10px 0;border:0;border-top:1px solid #e0edf2;background:none;text-align:left;color:#365e73;font-size:13px}
.cms-page-sidebar a{display:grid;grid-template-columns:72px 1fr;gap:10px;padding:11px 0;border-top:1px solid #e0edf2;font-size:12px;line-height:1.35;font-weight:600}
.cms-page-sidebar img{width:72px;height:52px;object-fit:cover;border-radius:6px}.cms-page-sidebar small{display:block;margin-top:5px;color:#78909d;font-weight:400}

@media(max-width:1100px){.nd-page.cms-template-grid :is(#nd-result-grid,.vp-grid,.sp-grid),.nd-page.cms-template-editorial #nd-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nd-page.cms-has-sidebar .nd-content{grid-template-columns:1fr}.cms-page-sidebar{grid-column:1!important;grid-row:auto;position:static;grid-template-columns:1fr 1fr}}
@media(max-width:680px){.nd-page.cms-template-grid :is(#nd-result-grid,.vp-grid,.sp-grid),.nd-page.cms-template-editorial :is(#nd-result-grid,#nd-overview .nd-grid){grid-template-columns:1fr}.nd-page.cms-template-list :is(#nd-result-grid,.vp-grid,.sp-grid) .nd-card{display:flex;grid-column:auto}.nd-page.cms-template-list :is(#nd-result-grid,.vp-grid,.sp-grid) .nd-image,.nd-page.cms-template-list .vp-thumb{aspect-ratio:16/9;height:auto;min-height:0}.cms-page-sidebar{grid-template-columns:1fr}}
