
.course-card,.home-course-card{position:relative;isolation:isolate}
.course-card-link{display:flex;flex-direction:column;flex:1;align-self:stretch;min-width:0;border-radius:inherit;color:inherit;text-decoration:none;cursor:pointer}
.course-card-link:is(:hover,:focus-visible){color:inherit;text-decoration:none}
.course-card-link>:is(.home-course-cover,.card-cover){flex:none}
.course-card-link>:is(.home-course-copy,.card-content){flex:1}
.course-card-link:focus-visible{outline:3px solid #1765d8;outline-offset:-3px}
.public-shell .course-card h3,.public-shell .home-course-card h3{text-decoration:none}
.public-shell :is(button,.button,[role=button],.home-cta,.home-topic-links>a,.consultation-contact-link,.consultation-submit,.home-sample-lesson){transition:background-color .15s ease-out,color .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out}
@media(hover:hover){
 .public-shell :is(button:not(:disabled),a.button,[role=button],.home-topic-links>a,.consultation-submit,.consultation-contact-link):hover{background-color:#2d2d2f;color:#fff;border-color:#2d2d2f}
 .public-shell :is(.home-cta,.consultation-submit):hover{background-color:#2d2d2f;color:#ffef68}
 .public-shell .home-cta:hover{background-color:#ffef68;color:#2d2d2f}
 .public-shell :is(.course-card,.home-course-card):has(>.course-card-link):hover{box-shadow:0 7px 20px rgb(45 45 47 / .18)}
 .public-shell .home-sample-lesson:hover{background-color:#fff8bb;box-shadow:0 4px 14px rgb(45 45 47 / .2)}
 .public-shell :is(.filter-option,.consultation-consent):hover input[type=checkbox]:not(:disabled){border-color:#b8a000;box-shadow:0 0 0 1px #b8a000}
 .public-shell label:has(>input[type=radio]):hover input:not(:disabled){outline:2px solid #b8a000;outline-offset:2px}
}
.public-shell :is(button:not(:disabled),a.button,.consultation-submit):active{background-color:#1b1b1d;color:#ffef68}
.public-shell :is(button,a.button,.consultation-submit,.consultation-contact-link):focus-visible{outline:3px solid #1765d8;outline-offset:3px}
.public-shell :is(input[type=checkbox],input[type=radio]){cursor:pointer;transition:border-color .15s ease-out,box-shadow .15s ease-out}
@media(prefers-reduced-motion:reduce){.public-shell :is(button,.button,[role=button],a,.course-card,.home-course-card,input){transition:none!important}}

/* AMS launcher replaces the native rotating launcher; the native chat window remains available. */
body:has(.ams-consultant) .b24-widget-button-wrapper{display:none!important}
.ams-consultant{position:fixed;right:24px;bottom:24px;z-index:900}
.ams-consultant-toggle{display:grid;place-items:center;width:58px;height:58px;padding:0;border:1px solid #e6d859;border-radius:50%;background:#ffef68;color:#2d2d2f;box-shadow:0 4px 16px #2d2d2f24;cursor:pointer}
.ams-consultant-panel{position:absolute;right:0;bottom:74px;width:340px;max-width:calc(100vw - 32px);padding:24px;border:1px solid #e3e3e5;border-radius:18px;background:#fff;box-shadow:0 12px 40px #2d2d2f26}
.ams-consultant-panel[hidden]{display:none}
.ams-consultant-panel h2{font:600 21px/1.25 var(--font-body);margin:0 22px 14px 0}
.ams-consultant-panel p{font:400 14px/1.5 var(--font-body);margin:0 0 18px;color:#65656d}
.ams-consultant-panel .button{width:100%;justify-content:center;font-size:14px}
.ams-consultant-panel .ams-consultant-close{position:absolute;top:12px;right:12px;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:#f3f3f5;color:#2d2d2f;font-size:22px;cursor:pointer}
.ams-consultant-panel .ams-consultant-status:empty{display:none}
.ams-consultant-panel .ams-consultant-status{margin:12px 0}
.ams-consultant-request{display:block;margin:16px 0 22px;font-size:14px;text-align:center;color:#2d2d2f;text-underline-offset:3px}
.ams-consultant-panel nav{display:flex;gap:8px;border-top:1px solid #eee;padding-top:18px}
.ams-consultant-panel nav a{display:flex;flex:1;flex-direction:column;align-items:center;gap:8px;padding:8px 2px;border-radius:8px;font-size:12px;color:#2d2d2f;text-decoration:none;transition:background-color .15s ease-out}
.ams-consultant-panel nav a:hover{background:#fff8bd}
@media(max-width:600px){.ams-consultant{right:16px;bottom:16px}.ams-consultant-panel{padding:20px;max-height:calc(100dvh - 100px);overflow:auto}}

.consultation-max-phone{min-width:0}
.consultation-max-phone summary{list-style:none;cursor:pointer;background:#f3f3f3}
.consultation-max-phone summary::-webkit-details-marker,.ams-consultant-max summary::-webkit-details-marker{display:none}
.consultation-max-phone p{font-size:13px;line-height:1.5;margin:10px 0 0;padding:0 8px;overflow-wrap:anywhere}
.ams-consultant-max{flex:1;min-width:0;position:relative}
.ams-consultant-max summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 2px;border-radius:8px;font-size:12px}
.ams-consultant-max p{position:absolute;right:-45px;bottom:90px;width:210px;background:#fff8bd;padding:12px;border:1px solid #e6d859;border-radius:8px;box-shadow:0 4px 14px #2d2d2f20;z-index:1}
.consultation-consent input[type=checkbox]{appearance:none;background:#fff;border:1px solid #a5a5aa;border-radius:3px;display:grid;place-content:center}
.consultation-consent input[type=checkbox]:checked{background:#ffef68;border-color:#9c8b00}
.consultation-consent input[type=checkbox]:checked::after{content:'✓';font-size:13px;line-height:1;color:#2d2d2f}
@media(hover:hover){.public-shell .consultation-max-phone summary:hover{background:#2d2d2f;color:#fff}.public-shell .ams-consultant-max summary:hover{background:#fff8bd}}
.consultation-max-phone summary:focus-visible,.ams-consultant-max summary:focus-visible{outline:3px solid #1765d8;outline-offset:3px}
body:has(.ams-consultant) .bx-livechat-head{background:#ffef68!important;color:#2d2d2f!important}
body:has(.ams-consultant) .bx-livechat-wrapper{font-family:var(--font-body),Arial,sans-serif;border-radius:12px;overflow:hidden}

@media(max-width:760px){.consultation-dialog{width:calc(100vw - 30px)}.consultation-dialog .consultation-card{width:100%;min-width:0;padding:28px 24px}.consultation-dialog .consultation-content,.consultation-dialog .consultation-success{width:100%}}

/* Keep dark SVG controls readable; opaque arrow discs also need a visible hover. */
@media(hover:hover){
 .public-shell :is(.site-mobile-toggle,.site-mobile-close,.consultation-close,.catalog-mobile-filter-toggle,.catalog-filter-close,[data-gallery-close],[data-lesson-toc-close]):hover{background-color:#ffef68;color:#2d2d2f;border-color:#e6d859}
 .public-shell .home-carousel-controls button:not(:disabled):hover>img,.public-shell button:not(:disabled):hover .editorial-gallery-arrow>img:first-child{filter:brightness(.9)}
}

/* Public acceptance: one link per course, with visible feedback on its CTA. */
.public-shell :is(.site-mobile-toggle,.site-mobile-close):not(:disabled):active{background-color:#fff8bb;color:#2d2d2f;border-color:#e6d859}
.public-shell :is(.course-card,.home-course-card){transition:transform 240ms cubic-bezier(.2,0,.38,.9),box-shadow 150ms ease-out}
.public-shell :is(.home-section-link,.home-article-directions>a,.home-course-arrow,.card-course-open){transition:background-color .15s ease,color .15s ease}
.home-page .home-block-portfolio .home-item>a{display:block;overflow:hidden;border-radius:24px}
.home-page .home-block-portfolio .home-item>a>img{transition:transform .35s ease}
@media(hover:hover){
 .public-shell :is(.home-section-link,.home-article-directions>a):hover{background:#2d2d2f;color:#fff;text-decoration:none}
 .public-shell :is(.paid-card,.home-paid-card):has(>.course-card-link):hover{transform:scale(1.015);z-index:4}
 .public-shell :is(.free-card,.home-free-card):has(>.course-card-link):hover{transform:none}
 .home-page .home-block-free_courses .home-course-card:has(>.course-card-link):hover{box-shadow:0 4px 12px rgb(45 45 47 / .16)}
 .public-shell :is(.course-card,.home-course-card):has(>.course-card-link) :is(.home-course-arrow,.card-course-open):hover{background:#2d2d2f;color:#fff;border-color:#2d2d2f}
 .public-shell :is(.home-course-arrow,.card-course-open):hover :is(.home-course-round,.card-course-arrow)>img{filter:brightness(0)}
 .public-shell :is(.home-course-arrow,.card-course-open):hover :is(.home-course-round,.card-course-arrow)>span>img{filter:brightness(0) invert(1)}
 .home-page .home-block-portfolio .home-item>a:hover>img{transform:scale(1.035)}
 .public-shell :is(.home-carousel-controls>button,.editorial-detail-slider-arrow,.home-story-link):not(:disabled):hover{border-color:transparent;background:transparent;box-shadow:none;outline:none}
 .public-shell :is(.home-carousel-controls>button,.home-story-link):not(:disabled):hover>img{filter:brightness(0) saturate(100%);opacity:1}
 .public-shell :is(.home-carousel-controls>button,.home-story-link):not(:disabled):hover>span>img{filter:brightness(0) invert(1)}
 .public-shell button:not(:disabled):hover .editorial-gallery-arrow>img:first-child{filter:brightness(0)}
 .public-shell button:not(:disabled):hover .editorial-gallery-arrow>img:last-child{filter:brightness(0) invert(1)}
}
.public-shell :is(.course-card,.home-course-card):has(>.course-card-link:focus-visible) :is(.home-course-arrow,.card-course-open){background:#2d2d2f;color:#fff}
.public-shell .course-card-link:focus-visible :is(.home-course-round,.card-course-arrow)>img{filter:brightness(0)}
.public-shell .course-card-link:focus-visible :is(.home-course-round,.card-course-arrow)>span>img{filter:brightness(0) invert(1)}
.home-page .home-course-grid{padding-top:6px;padding-bottom:12px}
.editorial-detail-recommendations:has(#article-free-courses) .editorial-detail-slider-track{scrollbar-width:none;padding-top:6px}
.editorial-detail-recommendations:has(#article-free-courses) .editorial-detail-slider-track::-webkit-scrollbar{display:none}
.public-shell button.editorial-feed-work-image{display:block;width:100%;padding:0;border:0;border-radius:16px;overflow:hidden;background:transparent;cursor:pointer}
.public-shell button.editorial-feed-work-image img{transition:transform .25s ease}
.public-shell .editorial-work-person-open{padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
@media(hover:hover){.public-shell button.editorial-feed-work-image:hover img{transform:scale(1.025)}.public-shell button.editorial-work-person-open:is(:hover,:active){background:transparent;color:#6f6f75;border-color:transparent;text-decoration:none;filter:none}}
@media(min-width:851px){.catalog-page .catalog-filter-panel{position:sticky;top:20px;max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}
.home-stat{font-variant-numeric:tabular-nums}
/* Obscure the obsolete Telegram URL inside the legacy phone screenshot, without changing media. */
.home-page .home-block-promo .home-hero-image{position:relative;display:block}
.home-page .home-block-promo .home-hero-image::after{content:"";position:absolute;pointer-events:none;left:9%;right:17%;top:41.5%;height:4%;backdrop-filter:blur(7px);background:rgb(27 37 48 / .7);border-radius:3px}
@media(prefers-reduced-motion:reduce){.public-shell :is(.course-card,.home-course-card),.home-page .home-block-portfolio .home-item>a>img,.public-shell button.editorial-feed-work-image img{transition:none!important;transform:none!important}}

@media(hover:hover){.public-shell .editorial-detail-slider-arrow:not(:disabled):hover>img:first-child{filter:brightness(0)}.public-shell .editorial-detail-slider-arrow:not(:disabled):hover>img:last-child{filter:brightness(0) invert(1)}}

/* Preserve the whole approved collage in square and portrait cards. */
img[data-course-cover-fit="contain"]{object-fit:contain!important;background:var(--course-cover-bg)}
@media(max-width:760px){img[data-course-cover-fit="contain-mobile"]{object-fit:contain!important;background:var(--course-cover-bg)}}

/* Mobile cards need a visible edge on white and room for their short shadow. */
@media(max-width:760px){
 .public-shell :is(.course-card,.home-course-card){border:1px solid #dedee1;box-shadow:0 4px 8px rgb(45 45 47 / .06)}
 .home-page :is(.home-block-free_courses,.home-block-paid_courses) .home-course-card,
 .home-page :is(.home-block-free_courses,.home-block-paid_courses) .home-course-card:hover{border:1px solid #dedee1;box-shadow:0 4px 8px rgb(45 45 47 / .06)}
 .home-page :is(.home-block-free_courses,.home-block-paid_courses) .home-course-grid{filter:none}
 .home-page .home-course-grid.home-track,.editorial-detail-course-track{width:calc(100% + 12px);max-width:none;padding:6px 6px 14px;margin:-6px -6px -14px;scroll-padding-inline:6px}
}
