/* Public site and account area share the product-detail visual language. */
.mr-theme {
    --mr-blue: #1128af;
    --mr-ink: #24314d;
    --mr-muted: #758098;
    --mr-line: #e5eaf3;
    background: #f7f9fc;
    color: var(--mr-ink);
    line-height: 1.9;
    overflow-wrap: anywhere;
}
.mr-theme a { text-decoration: none; }
.mr-theme a:focus-visible, .mr-theme button:focus-visible, .mr-theme input:focus-visible, .mr-theme select:focus-visible, .mr-theme textarea:focus-visible { outline: 3px solid #8a9ce7; outline-offset: 3px; }
.mr-skip-link { position: fixed; top: -100px; right: 20px; z-index: 10000; padding: 12px 20px; background: #1128af; color: #fff; border-radius: 10px; }
.mr-skip-link:focus { top: 12px; color: #fff; }
.mr-theme #pok { background: #fff; margin-bottom: 0 !important; border-bottom: 1px solid var(--mr-line); }
.mr-theme .photo-site {
    background: linear-gradient(1deg, #f4fffe 10% 10%, #b5c2ff);
    height: auto;
    min-height: 0;
    padding: 0;
}
.mr-header { display: flex; align-items: center; gap: 28px; min-height: 104px; padding-top: 18px; padding-bottom: 18px; }
.mr-brand { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.mr-brand img { width: 64px; height: 60px; object-fit: contain; }
.mr-brand strong { display: block; font-size: 22px; color: #253662; }
.mr-brand small { display: block; color: #8992a7; font-size: 10px; }
.mr-header-links { display: flex; align-items: center; justify-content: center; gap: 24px; flex: 1; }
    .mr-header-links a {color: #16002d;font-size: 13px;}
.mr-header-links a:hover { color: var(--mr-blue); }
.mr-header-account { display: flex; align-items: center; gap: 8px; margin-inline-start: auto; }
.mr-theme .mr-button { display: inline-flex; justify-content: center; align-items: center; gap: 12px; padding: 10px 20px; min-height: 44px; border: 1px solid transparent; border-radius: 11px; background: var(--mr-blue); color: #fff; font-size: 12px; font-weight: 400;width:98px }
.mr-theme .mr-button:hover { background: #0c2095; }
.mr-theme .mr-button--light { background: #f0f3fa; color: #536184; }
.mr-account-button { display: flex; align-items: center; gap: 10px; background: #f4f6fc; border: 1px solid #e6ebf5; border-radius: 12px; padding: 6px 12px; color: #526080; font-size: 12px; }
.mr-account-button img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; }
.mr-theme .dropdown-menu { border: 1px solid var(--mr-line); border-radius: 14px; padding: 8px; box-shadow: 0 16px 45px #263a631a; text-align: right; font-size: 13px; }
.mr-theme .dropdown-item { padding: 9px 12px; border-radius: 7px; color: #56627c; }
.mr-theme .dropdown-item:hover { background: #f0f3fc; color: var(--mr-blue); }
.mr-theme .site-navbar { background: white; box-shadow: none; border-top: 1px solid #eff2f8; position: relative; padding: 0; }
.mr-theme .site-navbar > .row { margin: 0; }
.mr-theme .site-navbar .site-menu { margin-bottom: 0; padding: 0; }
.mr-theme .site-navbar .site-menu > li > a { color: #596780; font-size: 13px; padding: 18px 15px; }
.mr-theme .site-navbar .site-menu > li > a:hover { color: var(--mr-blue); background: #f4f6fd; border-radius: 8px; }
.mr-theme .site-navbar .site-navigation .site-menu > li > a > span { padding: 8px 10px; }
.mr-theme .site-menu-toggle { border: 0; background: #eef2fc; color: #536bb0; border-radius: 9px; padding: 7px 14px; }
.mr-theme .site-navbar a[aria-current="page"] { color: #1128af; }
.mr-theme .site-navbar .dropdown { border: 1px solid var(--mr-line); border-radius: 14px; box-shadow: 0 18px 40px #20386115; background: #fff; }
.mr-theme .site-mobile-menu { background: #fff; box-shadow: 0 0 60px #1f315125; }
.mr-theme .site-mobile-menu a { color: #4f5e7d; }
.mr-page-content { min-height: 55vh; padding-bottom: 40px; }
.mr-page-content > .container { padding-top: 24px; }
.mr-theme #stars, .mr-theme #stars2, .mr-theme #stars3 { display: none; }
.mr-theme .breadcrumb { margin: 0 10px 24px; padding: 12px 0; font-size: 12px; line-height: 2; color: #8490a8; }
.mr-theme .breadcrumb a { color: #677592; }
.mr-theme .breadcrumb-item.active { color: #98a0b0; }
.mr-theme .mr-content-page h1 { color: #263552; font-size: clamp(23px, 2.4vw, 34px); font-weight: 700; line-height: 1.8; }
.mr-theme .mr-page-content h2, .mr-theme .mr-page-content h3 { line-height: 1.8; }
.mr-home-hero { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 45px; padding-top: 58px; padding-bottom: 72px; }
.mr-kicker { color: #687bc4; font-size: 12px; margin-bottom: 16px; display: flex; align-items: center; gap: 9px; }
.mr-home-hero h1 { font-size: clamp(34px, 4vw, 56px); font-weight: 800; color: #223354; line-height: 1.65; letter-spacing: -1px; }
.mr-home-hero h1 em { font-style: normal; color: var(--mr-blue); }
.mr-home-hero__copy > p { color: #7d879b; font-size: 14px; line-height: 2.3; max-width: 510px; margin: 20px 0 28px; }
.mr-search { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #e0e6f3; box-shadow: 0 10px 30px #24376609; border-radius: 15px; padding: 8px 16px 8px 8px; }
.mr-search > i { color: #a0abc1; }
.mr-search input { border: 0; background: transparent; min-width: 0; flex: 1; padding: 10px 0; font-size: 12px; color: #495b7e; }
.mr-search button { border: 0; background: var(--mr-blue); color: white; padding: 12px 18px; border-radius: 10px; font-size: 12px; }
.mr-home-topics { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; font-size: 10px; color: #939eb4; }
.mr-home-topics a { background: #e9eefb; color: #6879ac; padding: 4px 10px; border-radius: 6px; }
.mr-home-hero__visual { min-height: 360px; position: relative; }
.mr-orbit { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; width: 300px; height: 300px; border: 1px solid #dce4f5; border-radius: 50%; margin: 26px auto; background: radial-gradient(circle, #e0e8fa, #f0f4ff 65%); outline: 1px dashed #dbe2f1; outline-offset: 22px; color: #8798c4; }
.mr-orbit > i { font-size: 92px; color: #617cc0; }
.mr-orbit > span { font-size: 12px; }
.mr-float-card { display: flex; align-items: center; gap: 14px; position: absolute; background: white; border: 1px solid #edf1fa; border-radius: 16px; box-shadow: 0 14px 35px #273e7112; padding: 18px 22px; }
.mr-float-card > i { display: grid; place-items: center; width: 44px; height: 44px; background: #eaf0ff; border-radius: 12px; font-size: 23px; color: #657ccb; }
.mr-float-card strong { display: block; font-size: 13px; color: #4e5f81; }
.mr-float-card small { font-size: 10px; color: #a1aabe; }
.mr-float-card--course { top: 0; right: 0; transform: rotate(-3deg); }
.mr-float-card--book { bottom: 0; left: 0; transform: rotate(3deg); }
.mr-float-card--book > i { background: #fff3de; color: #cba36a; }
.mr-float-card--forum { top: 160px; left: -10px; padding: 13px 18px; }
.mr-float-card--forum > i { background: #eaf7f0; color: #62a590; }
/* Shared cards, catalogs, articles, and directory pages. */
.mr-theme .box-shop { margin-top: 34px; margin-bottom: 30px; background: transparent; box-shadow: none; }
.mr-theme .box-shop > header { border: 0; margin-bottom: 20px; }
.mr-theme .box-shop > header h3 { color: #344462; font-size: 23px; font-weight: 700; margin: 0 !important; padding: 0 0 12px; }
.mr-theme .box-shop > header h3::before, .mr-theme .box-shop > header h3::after { display: none; }
.mr-theme .detail-top-link, .mr-theme .detail-bottom-link { color: #7a88ad; font-size: 12px; }
.mr-theme .terms-items { background: transparent; padding-top: 0; }
.mr-theme .term-col > article, .mr-theme .terms-items article, .mr-theme .product-slider article { border: 1px solid var(--mr-line); background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 5px 20px #26386206; transition: box-shadow .2s, transform .2s; height: 100%; }
.mr-theme .terms-items article:hover, .mr-theme .product-slider article:hover { transform: translateY(-4px); box-shadow: 0 16px 30px #24396514; }
.mr-theme .terms-items article > a > img, .mr-theme .product-slider article > a > img { width: 100%; height: 190px; object-fit: cover; margin: 0; border-radius: 0; }
.mr-theme .term-book article > a > img { object-fit: contain; background: #faf8f3;  height: 240px; }
.mr-theme .terms-items article h2, .mr-theme .product-slider article h2 { padding: 16px 18px 8px; margin: 0; font-size: 14px; line-height: 2; color: #3d4c69; min-height: 80px; }
.mr-theme .topdetail { padding: 5px 18px 14px; color: #8b96ac; font-size: 11px; }
.mr-theme .bottomdetail { border-top: 1px solid #f0f3f8; padding: 14px 18px; background: #fff; }
.mr-theme .bottomdetail p { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; margin: 0; padding: 0; line-height: 1.9; }
.mr-theme .bottomdetail span { color: #426a9d; font-size: 12px; float: none; }
.mr-theme .bottomdetail time { color: #95a0b4; font-size: 10px; float: none; }
.mr-theme .discount-hover { background: #eaf4ef; color: #468b6e; border-radius: 8px; padding: 5px 10px; font-size: 11px; }
.mr-theme .header-shop { background: #fff; border: 1px solid var(--mr-line); border-radius: 16px; padding: 18px; margin-bottom: 24px; box-shadow: none; }
.mr-theme .aside-section, .mr-theme .teacher-info, .mr-theme .ask-question, .mr-theme .user-account-content, .mr-theme .user-account aside > section, .mr-theme .contact-us, .mr-theme .about-us, .mr-theme .contex-episode, .mr-theme .jumbotron { border: 1px solid var(--mr-line); background: #fff; border-radius: 18px; box-shadow: 0 6px 24px #23375c05; padding: 24px; margin-bottom: 22px; }
.mr-theme .aside-section header h1, .mr-theme .aside-section header h2, .mr-theme .aside-section header h3 { font-size: 15px; line-height: 2; color: #536281; }
.mr-theme .widget_list ul { padding: 0 12px; }
.mr-theme .widget_list a { color: #74809a; font-size: 12px; line-height: 2.5; }
.mr-theme .switch-field { display: flex; gap: 4px; justify-content: center; flex-wrap: wrap; }
.mr-theme .switch-field .btn-danger { background: #e9edfc; border-color: #dfe6fc; color: #3f58a8; }
.mr-theme .section-news article, .mr-theme .categories_item { border-radius: 16px; overflow: hidden; box-shadow: none; }
.mr-theme .section-news article { background: #fff; border: 1px solid var(--mr-line); padding: 20px; margin-bottom: 16px; }
.mr-theme .categories { padding: 24px 0; }
.mr-theme .categories_text h2 { font-size: 21px; line-height: 1.9; }
.mr-theme .body-news h2 { font-size: 17px; color: #3c4e70; }
.mr-theme .body-news p { color: #8290a8; font-size: 13px; line-height: 2; }
.mr-theme .teacher-info img { max-width: 100%; object-fit: contain; }
.mr-theme .teacher-info h2 { font-size: 18px; }
.mr-theme .teacher-info h3 { font-size: 14px; }
.mr-theme .uni .scale { padding: 18px; background: #fff; border-radius: 14px; }
.mr-theme .uni .ima { background: #f6f8fc; border-radius: 16px; }
.mr-theme .uni .uniname { color: #4c5e82; font-weight: 600; }
.mr-theme .ask-question h3 { font-size: 17px; }
.mr-theme .ask-question h3 a { color: #425781; }
.mr-theme .ask-question span { color: #8c98ae; font-size: 11px; }
.mr-theme .ask-question img { border-radius: 50%; width: 58px; height: 58px; object-fit: cover; }
/* Forms retain their existing field names, validation, and submit behavior. */
.mr-theme .form-control, .mr-theme select:not([size]), .mr-theme .input100 { border: 1px solid #dfe5f0; border-radius: 10px; background-color: #fff; color: #4e5e7b; font-size: 13px; min-height: 44px; box-shadow: none; }
.mr-theme .form-control:focus, .mr-theme .input100:focus { border-color: #8395df; box-shadow: 0 0 0 4px #1128af09; }
.mr-theme .form-control::placeholder { color: #a0a9b9; }
.mr-theme textarea.form-control { padding: 14px; min-height: 110px; }
.mr-theme label { color: #63718b; font-size: 13px; }
.mr-theme .btn { border-radius: 10px; font-size: 13px; padding: 9px 16px; box-shadow: none; }
.mr-theme .btn-primary, .mr-theme .btn-success { background: #1128af; border-color: #1128af; color: #fff; }
.mr-theme .btn-primary:hover, .mr-theme .btn-success:hover { background: #0b1f91; border-color: #0b1f91; }
.mr-theme .btn-info { background: #edf2fe; border-color: #dde6fc; color: #536cab; }
.mr-theme .btn-danger { background: #bf4557; border-color: #bf4557; }
.mr-theme .alert { border-radius: 12px; padding: 16px 20px; font-size: 13px; line-height: 2; }
.mr-theme .alert-info { background: #eff5fc; border-color: #dee9f6; color: #567392; }
.mr-theme .alert-success { background: #edf7f2; border-color: #dbeee4; color: #3d8163; }
.mr-theme .alert-warning { background: #fff8ec; border-color: #f6e8ca; color: #957342; }
.mr-theme .alert-danger { background: #fcf0f2; border-color: #f0d9dd; color: #a75564; }
.mr-theme .login { background: transparent; }
.mr-theme .container-login100 { min-height: 0; padding: 32px 0 48px; background: transparent; }
.mr-theme .wrap-login100 { max-width: 520px; width: 100%; padding: 32px; border: 1px solid var(--mr-line); border-radius: 24px; background: #fff; box-shadow: 0 16px 55px #20366809; margin: auto; }
.mr-theme .wrap-login100 header h1 { font-size: 25px; text-align: center; margin-bottom: 20px; }
.mr-theme .warp-img { text-align: center; }
.mr-theme .warp-img img { max-width: 150px; max-height: 140px; object-fit: contain; }
.mr-theme .wrap-input100 { border: 0; margin: 24px 0; }
.mr-theme .input100 { padding: 14px; }
.mr-theme .wrap-login100 .link { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }
.mr-theme .wrap-login100 .link a { font-size: 11px; color: #7f8bab; }
.mr-theme .user-account aside .inner { padding: 0; background: transparent; box-shadow: none; }
.mr-theme .user-account aside ul { list-style: none; padding: 0; }
.mr-theme .user-account aside ul a { display: block; text-align: right; margin: 4px 0; border: 0; border-radius: 10px; color: #7d89a1; padding: 10px 14px; }
.mr-theme .user-account aside ul a:hover, .mr-theme .user-account aside ul a.active { background: #edf1fd; color: #344da5; }
.mr-theme .user-account .avatar-layer { border: 0; margin-top: 0; }
.mr-theme .user-account .avatar-layer img { border-radius: 50%; border: 5px solid #f1f4fc; }
.mr-theme .user-account-content > header { border-bottom: 1px solid var(--mr-line); padding-bottom: 14px; margin-bottom: 24px; }
.mr-theme .dashboard .form-group { padding: 14px 0; border-bottom: 1px solid #edf0f6; color: #8a96ac; font-size: 13px; }
.mr-theme .dashboard .form-group span { color: #4c5c7c; }
.mr-theme .table { background: #fff; color: #64738e; border-color: #e9edf5; font-size: 13px; }
.mr-theme .table > :not(caption) > * > * { padding: 14px; border-color: #e9edf5; vertical-align: middle; }
.mr-theme .table thead { background: #f2f5fb; color: #52678e; }
.mr-theme .table-responsive { border: 1px solid var(--mr-line); border-radius: 14px; }
.mr-theme .pagination { gap: 6px; justify-content: center; margin: 28px 0; }
.mr-theme .page-link { border: 1px solid var(--mr-line); color: #7887a8; border-radius: 9px !important; min-width: 38px; text-align: center; }
.mr-theme .page-item.active .page-link { background: var(--mr-blue); border-color: var(--mr-blue); }
.mr-theme .user-comments { border: 1px solid var(--mr-line); background: #fff; border-radius: 18px; margin-top: 24px; padding: 26px; }
.mr-theme .comment-list .comment-row { border-radius: 13px; border-color: #e8edf6 !important; }
.mr-theme .tags-layer a { border-radius: 8px; padding: 6px 12px; background: #edf1fa; color: #7a89aa; }
.mr-theme .aboutus, .mr-theme .contactus, .mr-theme .contactme { border: 1px solid var(--mr-line); border-radius: 18px; background: #fff; padding: 28px; box-shadow: 0 8px 30px #26386206; }
.mr-theme .aboutus p { font-size: 14px; color: #74829b; line-height: 2.3; padding: 12px 0; text-indent: 0; }
.mr-theme .abouth { border-bottom: 1px solid var(--mr-line); padding-bottom: 20px; margin-bottom: 20px; }
.mr-theme .contactus > p { color: #4d6288; font-size: 19px; }
.mr-theme .contactus td { padding: 12px 6px; color: #7b8ba6; font-size: 12px; }
.mr-theme .contactme h1, .mr-theme .contactme h2 { font-size: 23px; margin-bottom: 24px; }
.mr-theme .uniProvince { border: 1px solid var(--mr-line); border-radius: 18px; background: linear-gradient(120deg, #fff, #eef3ff); padding: 28px !important; }
.mr-theme .btn-custom { background: #fff; color: #62769c; border: 1px solid #e0e8f4; box-shadow: none; border-radius: 10px; height: 60px; }
.mr-theme .btn-custom:hover { transform: none; background: #edf2fe; }
.mr-theme .btn-warning-custom { background: #edf2fb; color: #8396b9; border: 1px solid #e0e8f4; border-radius: 10px; }
.mr-theme .messages .text_wrapper { background: #f0f4fc; border: 1px solid #e2eaf8; border-radius: 14px; box-shadow: none; }
.mr-theme .messages .text { color: #5f7599; }
.mr-theme .messages .time { color: #93a2b9; font-size: 11px; }
.mr-theme .mr-content-page { padding-bottom: 24px; }
.mr-page-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 32px; margin: 8px 0 26px; border: 1px solid #e3eaf7; border-radius: 20px; background: linear-gradient(125deg, #fff, #edf2fd); }
.mr-page-intro span { font-size: 11px;color: #7c1974;}
.mr-page-intro h1, .mr-page-intro h2 { font-size: 26px; color: #40567d; margin: 8px 0; font-weight: 700; }
.mr-page-intro p { font-size: 13px; color: #8a98b0; margin: 0; line-height: 2; }
.mr-page-intro > i { flex-shrink: 0; font-size: 50px; color: #a6b7dd; }
.mr-theme .mr-home-carousel { border-radius: 20px; overflow: hidden; border: 1px solid #e3e9f4; }
.mr-theme .mr-home-carousel h4 { font-size: 28px; line-height: 1.8; }
.mr-theme .ozv { margin: 0; padding: 28px 12px; background: #edf2fc; border-top: 1px solid #e1e8f5; }
.mr-theme .wrap-input100 { width: 100%; }
.mr-theme .focus-input100::after { color: #8998b2; font-size: 12px; }
.mr-theme .input100:focus + .focus-input100::after, .mr-theme .has-val.input100 + .focus-input100::after { color: #647bb5; font-size: 11px; padding-right: 0; }
.mr-theme .focus-input100::before { display: none; }
.mr-theme .mr-content-page > .row > .col-md-11 { width: 100%; }
.mr-theme .mr-responsive-table, .mr-admin .mr-responsive-table { max-width: 100%; overflow-x: auto; border-radius: 12px; margin-bottom: 18px; }
.mr-theme .mr-responsive-table > table, .mr-admin .mr-responsive-table > table { margin-bottom: 0; }
.mr-theme .site-navbar .site-menu > li:focus-within > .dropdown { visibility: visible; opacity: 1; margin-top: 0; }
.mr-theme .reply-modal .btn-close { padding: 10px; }
.mr-theme .product-detail .reply-modal .modal-title { font-size: 19px; }
.mr-theme .product-detail .pd-hero h1 { font-size: clamp(25px, 2.5vw, 38px); }
.mr-theme .material-scrolltop { background-color: #1128af; box-shadow: 0 5px 20px #1128af20; }
.mr-theme .mr-footer { background: #edf1f9; border-top: 1px solid #e0e6f1; padding: 48px 0 0; color: #78869e; margin-top: 0; }
.mr-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 32px; }
.mr-footer h3 { color: #4b5d7e; font-size: 14px; margin-bottom: 20px; }
.mr-footer p { font-size: 12px; line-height: 2.2; }
.mr-footer nav { display: flex; flex-direction: column; gap: 10px; }
.mr-theme .mr-footer a { font-size: 12px; color: #7b89a3; }
.mr-theme .mr-footer a:hover { color: #1128af; }
.mr-footer-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.mr-footer-brand img { width: 55px; height: 55px; object-fit: contain; }
.mr-footer-brand strong { font-size: 21px; color: #435679; }
.mr-footer-trust { display: flex; align-items: center; gap: 12px; }
.mr-footer-trust img { width: 70px; height: 82px; object-fit: contain; cursor: pointer; }
.mr-footer-bottom { display: flex; justify-content: space-between; gap: 14px; padding: 20px 0; margin-top: 32px; border-top: 1px solid #dce4f1; font-size: 10px; }
@media (max-width: 991.98px) {
    .mr-header-links { gap: 12px; }
    .mr-header-links a { font-size: 10px; }
    .mr-home-hero { gap: 24px; }
    .mr-float-card { padding: 12px 14px; }
    .mr-orbit { width: 240px; height: 240px; }
    .mr-home-hero__visual { min-height: 330px; }
    .mr-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .mr-header { min-height: 80px; gap: 12px; padding-top: 12px; padding-bottom: 12px; }
    .mr-brand img { width: 43px; height: 45px; }
    .mr-brand strong { font-size: 18px; }
    .mr-brand small, .mr-header-links { display: none; }
    .mr-header-account .mr-button { padding: 8px 12px; font-size: 11px; }
    .mr-account-button > span { display: none; }
    .mr-home-hero { grid-template-columns: 1fr; padding-top: 32px; padding-bottom: 32px; }
    .mr-home-hero__visual { min-height: 300px; max-width: 400px; width: 100%; margin: 16px auto 0; }
    .mr-home-hero h1 { font-size: 36px; }
    .mr-home-hero__copy > p { font-size: 13px; }
    .mr-home-topics { gap: 6px; }
    .mr-float-card--forum { left: 8px; }
    .mr-search { padding-inline-start: 12px; gap: 6px; }
    .mr-search button { padding: 12px; }
    .mr-search button i { display: none; }
    .mr-theme .wrap-login100 { padding: 24px 20px; }
    .mr-theme .box-shop > header h3 { font-size: 20px; }
    .mr-theme .header-shop { margin-inline: 0; padding: 14px; }
    .mr-theme .aside-section, .mr-theme .teacher-info, .mr-theme .user-account-content, .mr-theme .user-account aside > section { padding: 18px; }
    .mr-theme .user-account aside ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
    .mr-theme .user-account aside ul a { font-size: 11px; }
    .mr-footer-grid { gap: 28px 20px; }
    .mr-footer-grid > :first-child { grid-column: 1 / -1; }
    .mr-footer-bottom { flex-direction: column; }
    .mr-theme .contactus, .mr-theme .contactme, .mr-theme .aboutus { padding: 20px; margin-bottom: 20px; }
    .mr-page-intro { padding: 20px; gap: 14px; }
    .mr-page-intro h1, .mr-page-intro h2 { font-size: 21px; }
    .mr-page-intro > i { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) {
    .mr-theme *, .mr-theme *::before, .mr-theme *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    .mr-theme [data-aos] { opacity: 1 !important; transform: none !important; }
}
/* Photographic homepage hero and the refined global footer. */
.mr-home-hero__visual--photo { min-height: 420px; padding: 22px 14px 26px; }
.mr-hero-photo { position: relative; margin: 0; height: 365px; border-radius: 100px 24px 24px 24px; overflow: hidden; border: 4px solid #fff; box-shadow: 0 22px 60px #20345420; background: #c1b9a7; }
.mr-hero-photo > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 51% center; }
.mr-hero-photo::after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, #171f2ee0); pointer-events: none; }
.mr-hero-photo figcaption { position: absolute; z-index: 1; bottom: 32px; right: 28px; left: 20px; color: #fff; }
.mr-hero-photo figcaption span { display: block; color: #e3d0b1; font-size: 11px; margin-bottom: 8px; }
.mr-hero-photo figcaption strong { display: block; font-size: 20px; line-height: 1.9; }
.mr-home-hero__visual--photo .mr-float-card { z-index: 2; padding: 13px 18px; border-color: #ffffffb3; box-shadow: 0 12px 35px #182b4a18; }
.mr-home-hero__visual--photo .mr-float-card--course { top: 0; right: -10px; transform: rotate(-2deg); }
.mr-home-hero__visual--photo .mr-float-card--book { bottom: 0; left: -4px; transform: rotate(2deg); }
.mr-theme .mr-footer--premium { background: radial-gradient(ellipse at 95% 0, #243f62 0, transparent 50%), #121e32; border-top: 0; padding: 0; color: #a8b5cb; }
.mr-footer--premium .mr-footer-invitation { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: 42px 0; margin-bottom: 42px; border-bottom: 1px solid #ffffff14; }
.mr-footer-eyebrow { display: block; color: #c1a978; font-size: 11px; letter-spacing: .2px; margin-bottom: 9px; }
.mr-footer--premium .mr-footer-invitation h2 { color: #f6f8fc; font-size: 28px; font-weight: 700; line-height: 1.8; margin-bottom: 8px; }
.mr-footer--premium .mr-footer-invitation p { margin: 0; color: #9cadc5; font-size: 12px; }
.mr-theme .mr-footer--premium .mr-footer-cta { display: inline-flex; align-items: center; justify-content: center; gap: 28px; flex-shrink: 0; padding: 14px 22px; border-radius: 12px; border: 1px solid #d7c294; background: #dbc9a3; color: #25324a; font-size: 12px; font-weight: 600; transition: background .2s; }
.mr-theme .mr-footer--premium .mr-footer-cta:hover { background: #ecddbf; }
.mr-footer--premium .mr-footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 44px; padding-bottom: 10px; }
.mr-footer--premium .mr-footer-brand { margin-bottom: 20px; }
.mr-footer--premium .mr-footer-brand img { padding: 6px; background: #fff; border-radius: 14px; width: 58px; height: 58px; }
.mr-footer--premium .mr-footer-brand strong { color: #f0f4fb; font-size: 23px; }
.mr-footer--premium .mr-footer-grid > div > p { color: #9aabc4; max-width: 290px; line-height: 2.3; }
.mr-footer--premium h3 { color: #e9eef7; font-size: 13px; font-weight: 600; padding-top: 10px; margin-bottom: 22px; }
.mr-theme .mr-footer--premium a { color: #a5b4ca; }
.mr-theme .mr-footer--premium nav a { display: inline-block; width: fit-content; font-size: 12px; transition: color .2s, transform .2s; }
.mr-theme .mr-footer--premium nav a:hover { color: #e4d2ad; transform: translateX(-3px); }
.mr-theme .mr-footer--premium .mr-footer-email { display: inline-flex; align-items: center; gap: 9px; margin-top: 8px; color: #c8d4e7; }
.mr-footer-socials { display: flex; gap: 8px; margin-top: 18px; }
.mr-theme .mr-footer--premium .mr-footer-socials a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: #ffffff08; border: 1px solid #ffffff15; color: #bdcbe0; font-size: 17px; }
.mr-theme .mr-footer--premium .mr-footer-socials a:hover { background: #ffffff13; color: #e6d5b3; }
.mr-footer--premium .mr-footer-trust { gap: 10px; background: #f3f5f9; border: 1px solid #fff; border-radius: 16px; padding: 14px; justify-content: center; max-width: 200px; }
.mr-footer--premium .mr-footer-trust img { width: 64px; height: 78px; margin: 0; }
.mr-footer--premium .mr-footer-bottom { border-color: #ffffff12; color: #8194b1; padding: 22px 0; margin-top: 36px; align-items: center; }
.mr-theme .mr-footer--premium .mr-footer-top { display: inline-flex; align-items: center; gap: 12px; font-size: 11px; color: #becce0; }
.mr-footer-top i { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #ffffff1f; border-radius: 50%; }
@media (max-width: 991.98px) {
    .mr-footer--premium .mr-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
    .mr-home-hero__visual--photo { min-height: 380px; padding-inline: 4px; }
    .mr-hero-photo { height: 335px; }
}
@media (max-width: 767.98px) {
    .mr-home-hero__visual--photo { max-width: 480px; min-height: 340px; margin-top: 18px; padding: 16px 8px 26px; }
    .mr-hero-photo { height: 300px; border-radius: 65px 20px 20px 20px; border-width: 4px; }
    .mr-hero-photo figcaption { bottom: 38px; right: 20px; }
    .mr-hero-photo figcaption strong { font-size: 17px; }
    .mr-home-hero__visual--photo .mr-float-card--course { right: 0; }
    .mr-home-hero__visual--photo .mr-float-card--book { left: 0; }
    .mr-home-hero__visual--photo .mr-float-card { padding: 9px 12px; gap: 9px; }
    .mr-home-hero__visual--photo .mr-float-card > i { width: 34px; height: 34px; font-size: 19px; }
    .mr-footer--premium .mr-footer-invitation { flex-direction: column; align-items: flex-start; padding: 32px 0; gap: 20px; margin-bottom: 28px; }
    .mr-footer--premium .mr-footer-invitation h2 { font-size: 24px; }
    .mr-footer--premium .mr-footer-grid { gap: 24px; }
    .mr-footer--premium .mr-footer-grid > :first-child { grid-column: 1 / -1; }
    .mr-footer--premium .mr-footer-grid > :last-child { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
    .mr-footer--premium .mr-footer-grid > :last-child h3 { margin: 0; padding: 0; }
    .mr-footer--premium .mr-footer-bottom { align-items: flex-start; gap: 16px; margin-top: 24px; }
}
@media print {
    .mr-theme #pok, .mr-theme .mr-footer, .mr-theme .material-scrolltop, .mr-theme .user-account aside { display: none !important; }
    .mr-theme { background: #fff; }
}
