/* Keep the whole document fixed to the viewport while local carousels remain scrollable. */
html,body{max-width:100%;overflow-x:clip;overscroll-behavior-x:none}

/* Mobile QA pass: keep content inside the viewport and let course cards grow with their content. */
@media(max-width:900px){
  img,svg{max-width:100%}
  .blind-card.is-active{height:auto;min-height:780px}
  .blind-card.is-active .card-content{height:auto;min-height:560px}
  .blind-card.is-active .card-block:nth-of-type(2){min-height:0;margin-top:48px}
  .blind-card.is-active .card-block:nth-of-type(3){margin-top:42px;margin-bottom:42px}
  .card-price-rotator{position:relative;inset:auto;align-self:stretch;width:100%;min-width:0;margin-top:auto;padding-top:17px;border-top:1px solid #c8c8c8;align-items:flex-start;text-align:left}
  .card-price-row{max-width:100%;flex-wrap:wrap;justify-content:flex-start;gap:8px 10px}
  .card-price-note{max-width:none;text-align:left}
  .blind-card.is-active .mono-link{margin-top:18px}
  html[data-site-theme="dark"] .card-price-rotator{border-top-color:#383838}
  .source-materials-head,.operation-sources-head,.site-footer-head,.site-principles-head{min-width:0}
  .source-materials-copy,.operation-sources-head p,.site-footer-head p,.site-principles-head p{width:100%;max-width:none}
}

@media(max-width:620px){
  .display-title,.display-title span,.display-title em,.card-title,.site-process-title,.site-principle-text{overflow-wrap:anywhere}
  .blind-card.is-active{min-height:820px;padding:18px 14px 24px}
  .blind-card.is-active .card-case-organizations{width:calc(100% - 104px);min-height:154px;margin-bottom:22px}
  .blind-card:first-child.is-active .card-case-organizations,.blind-card:nth-child(4).is-active .card-case-organizations{width:calc(100% - 94px)}
  .blind-card.is-active .card-content{min-height:584px}
  .blind-card.is-active .card-block:nth-of-type(2){margin-top:42px}
  .blind-card.is-active .card-block:nth-of-type(3){margin-top:36px;margin-bottom:34px}
  .card-price-rotator{gap:7px;padding-top:15px}
  .card-price-label,.card-price-note{font-size:13px}
  .card-price-value{font-size:27px}
  .card-price-old{font-size:15px}
  .card-price-discount{font-size:11px}
  .mono-link{font-size:15px}
  .why-columns p,.card-body,.source-materials-copy p,.operation-sources-head p,.site-footer-head p{font-size:15px;line-height:1.5}
}

@media(max-width:430px){
  .blind-card.is-active{min-height:850px}
  .blind-card.is-active .card-content{min-height:610px}
  .card-price-row{column-gap:8px}
  .card-price-value{font-size:25px}
  .card-price-old{font-size:14px}
  .operation-source-grid,.contact-organization-grid{grid-template-columns:1fr}
  .operation-source{min-height:126px}
  .source-materials-head,.operation-sources-head{gap:16px}
}

@media(max-width:350px){
  .blind-card.is-active{padding-inline:12px}
  .blind-card.is-active .card-case-organizations{width:calc(100% - 82px)}
  .card-price-row{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:center}
  .card-price-discount{grid-column:2}
}
