/* First 928 homepage: dimensions follow the 1920 × 6756 design. */
.hv1 { --u: calc(max(720px, 100vw) / 1920); --navy: #1e3c78; --cyan: #00c5e5; --green: #008d46; color: var(--navy); font-family: "Noto Sans SC", sans-serif; font-size: calc(20 * var(--u)); line-height: 1.55; background: white; width: 100%; min-width: 720px; }
.hv1, .hv1 * { box-sizing: border-box; }
.hv1 h2, .hv1 h3, .hv1 p, .hv1 ul { margin: 0; padding: 0; }
.hv1 a { color: inherit; text-decoration: none; }
.hv1 button { appearance: none; border: 0; font: inherit; color: inherit; padding: 0; background: transparent; }
.hv1 a, .hv1 button { -webkit-tap-highlight-color: transparent; }
.hv1 a:focus-visible, .hv1 button:focus-visible { outline: 2px solid #00b9df; outline-offset: 3px; }
.hv1 img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hv1 svg { display: inline-block; width: calc(24 * var(--u)); height: calc(24 * var(--u)); flex-shrink: 0; vertical-align: middle; }
.hv1 [hidden] { display: none !important; }
.hv1-wrap { width: calc(1680 * var(--u)); margin: 0 auto; }
.hv1-header { height: calc(128 * var(--u)); background: #fff; position: relative; z-index: 20; }
.hv1-header-inner { width: calc(1720 * var(--u)); height: 100%; margin: auto; padding-right: calc(20 * var(--u)); display: flex; align-items: center; }
.hv1-brand { display: flex; align-items: center; gap: calc(20 * var(--u)); width: calc(496 * var(--u)); height: calc(97 * var(--u)); flex-shrink: 0; }
.hv1-brand img { object-fit: contain; }
.hv1-brand .hv1-brand-logo { width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.hv1-brand .hv1-brand-mark { width: calc(116 * var(--u)); height: 100%; flex-shrink: 0; }
.hv1-brand-wordmark { position: relative; display: block; width: calc(360 * var(--u)); height: 100%; overflow: hidden; flex-shrink: 0; }
.hv1-brand-wordmark img { position: absolute; left: calc(-136 * var(--u)); top: 0; width: calc(496 * var(--u)); height: 100%; max-width: none; }
.hv1-nav { margin-left: calc(122 * var(--u)); flex: 1; height: 100%; display: flex; align-items: center; }
.hv1-nav ul { list-style: none; }
.hv1-nav > ul { display: flex; gap: calc(14 * var(--u)); }
.hv1-nav li { position: relative; }
.hv1-nav > ul > li > a { display: flex; align-items: center; justify-content: center; font-family: "Noto Sans SC", sans-serif; font-size: calc(21 * var(--u)); width: calc(120 * var(--u)); height: calc(62 * var(--u)); white-space: nowrap; }
.hv1-nav > ul > li:hover > a, .hv1-nav > ul > li:focus-within > a { background: #edf5fa; }
.hv1-nav > ul > li:hover > a::after, .hv1-nav > ul > li:focus-within > a::after { content: ""; position: absolute; width: calc(36 * var(--u)); height: calc(3 * var(--u)); bottom: calc(2 * var(--u)); background: #00b6da; }
.hv1-submenu { display: none; position: absolute; top: 100%; left: 0; min-width: calc(250 * var(--u)); padding: calc(9 * var(--u)) 0 !important; background: white; border-radius: calc(5 * var(--u)); box-shadow: 0 6px 24px #163e7825; }
.hv1-submenu .hv1-submenu { top: 0; left: 100%; }
.hv1-nav li:hover > .hv1-submenu, .hv1-nav li:focus-within > .hv1-submenu { display: block; }
.hv1-submenu a { display: block; padding: calc(16 * var(--u)) calc(24 * var(--u)); white-space: nowrap; font-size: max(12px, calc(21 * var(--u))); }
.hv1-submenu a:hover, .hv1-submenu a:focus-visible { background: #edf6fb; color: #1688bb; }
.hv1-header-actions { display: flex; align-items: center; gap: calc(48 * var(--u)); margin-left: calc(34 * var(--u)); }
.hv1-search { width: calc(46 * var(--u)); height: calc(46 * var(--u)); border: calc(1 * var(--u)) solid #d9e7f0 !important; border-radius: calc(6 * var(--u)); display: grid; place-items: center; }
.hv1-search svg { width: calc(21 * var(--u)); height: calc(21 * var(--u)); }
.hv1-login { width: calc(164 * var(--u)); height: calc(58 * var(--u)); display: flex; align-items: center; justify-content: center; gap: calc(12 * var(--u)); border-radius: calc(7 * var(--u)); background: var(--navy) !important; color: #fff !important; font-size: calc(20 * var(--u)) !important; }
.hv1-login svg { width: calc(22 * var(--u)); height: calc(22 * var(--u)); }
.hv1-chevron { font-size: calc(20 * var(--u)); margin-left: calc(12 * var(--u)); }
.hv1-hero { width: 100%; height: min(calc(760 * var(--u)), calc(100svh - 428 * var(--u)), 680px); min-height: min(calc(620 * var(--u)), 680px); position: relative; overflow: hidden; isolation: isolate; }
.hv1-hero img { object-fit: cover; object-position: center; }
.hv1-hero-slide { position: absolute; inset: 0; opacity: 0; z-index: 0; pointer-events: none; }
.hv1-hero-slide.is-active { opacity: 1; z-index: 1; }
.hv1-hero-slide.is-entering { z-index: 2; transition: opacity 1200ms ease-in-out; }
.hv1-hero-ribbon-layer { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.hv1-hero-arrow, .hv1-hero-dots { opacity: 0; transition: opacity 180ms ease; }
.hv1-hero:hover .hv1-hero-arrow, .hv1-hero:focus-within .hv1-hero-arrow, .hv1-hero:hover .hv1-hero-dots, .hv1-hero:focus-within .hv1-hero-dots { opacity: 1; }
.hv1 .hv1-hero-arrow { position: absolute; top: 50%; z-index: 3; transform: translateY(-50%); display: grid; place-items: center; width: max(36px, calc(66 * var(--u))); height: max(36px, calc(66 * var(--u))); border-radius: 50%; background: #ffffffbf; color: #1e3c78; box-shadow: 0 2px 12px #17447718; }
.hv1-hero-arrow svg { width: max(18px, calc(32 * var(--u))); height: max(18px, calc(32 * var(--u))); }
.hv1-hero-prev { left: max(16px, calc(36 * var(--u))); }
.hv1-hero-next { right: max(16px, calc(36 * var(--u))); }
.hv1 .hv1-hero-arrow:hover { background: #fffffff2; }
.hv1-hero-dots { position: absolute; bottom: max(18px, calc(40 * var(--u))); left: 50%; transform: translateX(-50%); z-index: 3; display: flex; align-items: center; gap: max(8px, calc(16 * var(--u))); }
.hv1 .hv1-hero-dot { width: max(10px, calc(16 * var(--u))); height: max(10px, calc(16 * var(--u))); border-radius: 99px; background: #ffffff99; box-shadow: 0 0 0 1px #21588930; }
.hv1 .hv1-hero-dot.is-active { width: max(26px, calc(44 * var(--u))); background: #fff; }
.hv1-hero:focus-visible { outline: 2px solid #00b9df; outline-offset: -2px; }
@media (hover: none) { .hv1-hero-arrow, .hv1-hero-dots { opacity: 1; } }
.hv1-quick { height: calc(120 * var(--u)); background: var(--navy); color: white; }
.hv1-quick .hv1-wrap { height: 100%; display: grid; grid-template-columns: repeat(4,1fr); gap: calc(24 * var(--u)); align-items: center; }
.hv1-quick a { display: flex; align-items: center; gap: calc(24 * var(--u)); height: calc(96 * var(--u)); }
.hv1-quick a > svg { margin-left: auto; width: calc(25 * var(--u)); color: #a4c9e0; }
.hv1-quick-icon { display: grid; place-items: center; width: calc(64 * var(--u)); height: calc(64 * var(--u)); border-radius: calc(18 * var(--u)); background: #315780; color: var(--cyan); }
.hv1-quick-icon svg { width: calc(34 * var(--u)); height: calc(34 * var(--u)); }
.hv1-quick a:nth-child(2) .hv1-quick-icon { color: #a9c865; }
.hv1-quick a:nth-child(4) .hv1-quick-icon { color: #b3d971; }
.hv1-quick strong { display: block; font-family: "Noto Sans SC", sans-serif; font-size: calc(28 * var(--u)); line-height: 1.3; }
.hv1-quick small { display: block; margin-top: calc(9 * var(--u)); font-family: "Noto Sans SC", sans-serif; color: #a8c2d8; font-size: calc(13 * var(--u)); }
.hv1-section-heading { height: calc(180 * var(--u)); display: flex; align-items: flex-start; padding-top: calc(60 * var(--u)); justify-content: space-between; }
.hv1-section-title h2 { font-family: "Noto Serif SC", serif; font-weight: 700; font-size: calc(50 * var(--u)); line-height: calc(70 * var(--u)); }
.hv1-section-subtitle { display: flex; align-items: center; gap: calc(20 * var(--u)); margin-top: calc(6 * var(--u)); font-family: "Noto Sans SC", sans-serif; font-size: calc(16 * var(--u)); line-height: calc(24 * var(--u)); color: #557495; }
.hv1-section-subtitle::before { content: ""; width: calc(56 * var(--u)); height: calc(5 * var(--u)); background: var(--cyan); }
.hv1-more { width: calc(222 * var(--u)); height: calc(66 * var(--u)); border: calc(1.5 * var(--u)) solid var(--navy); border-radius: calc(10 * var(--u)); display: inline-flex; align-items: center; justify-content: space-between; padding: 0 calc(24 * var(--u)); font-family: "Noto Sans SC", sans-serif; font-size: calc(22 * var(--u)); line-height: 1.2; background: white; flex-shrink: 0; transition: background .15s, color .15s; }
.hv1-more svg { width: calc(24 * var(--u)); }
.hv1-more:hover { background: #edf6fb; }
.hv1-filled { background: var(--navy); color: white !important; }
.hv1-filled:hover { background: #31538d; }
.hv1-news { height: calc(1080 * var(--u)); background: #e8f1f8; }
.hv1-news-feature { position: relative; height: calc(582 * var(--u)); border-radius: calc(30 * var(--u)); border-top-right-radius: calc(105 * var(--u)); overflow: hidden; background: var(--navy); }
.hv1-news-slide { height: 100%; display: flex; }
.hv1-news-copy { width: calc(650 * var(--u)); padding: calc(44 * var(--u)) calc(48 * var(--u)); color: white; flex-shrink: 0; }
.hv1-news-tag { color: #9be2ed; display: flex; align-items: center; gap: calc(20 * var(--u)); font-family: "Noto Sans SC",sans-serif; font-size: calc(21 * var(--u)); font-weight: 700; line-height: 1.5; }
.hv1-news-tag > span { width: calc(48 * var(--u)); height: calc(48 * var(--u)); border-radius: calc(14 * var(--u)); display: grid; place-items: center; background: #315b85; color: var(--cyan); }
.hv1-news-copy h3 { font-family: "Noto Serif SC", serif; font-weight: 700; font-size: calc(39 * var(--u)); line-height: calc(59 * var(--u)); margin-top: calc(53 * var(--u)); max-width: calc(545 * var(--u)); height: calc(236 * var(--u)); }
.hv1-news-copy .hv1-more { margin-top: calc(83 * var(--u)); width: calc(240 * var(--u)); height: calc(68 * var(--u)); border: none; color: var(--navy); }
.hv1-news-image { display: block; flex: 1; min-width: 0; }
.hv1-news-image img { object-fit: cover; }
.hv1-news-controls { position: absolute; bottom: calc(22 * var(--u)); right: calc(26 * var(--u)); display: flex; gap: calc(8 * var(--u)); opacity: 0; transition: opacity .15s; }
.hv1-news-feature:hover .hv1-news-controls, .hv1-news-feature:focus-within .hv1-news-controls { opacity: 1; }
.hv1-news-controls button { background: #ffffffde; width: calc(44 * var(--u)); height: calc(44 * var(--u)); border-radius: 50%; font: calc(30 * var(--u))/1 Arial; }
.hv1-notices { height: calc(238 * var(--u)); margin-top: calc(32 * var(--u)); display: flex; overflow: hidden; background: white; border-radius: calc(24 * var(--u)); }
.hv1-notice-heading { width: calc(238 * var(--u)); padding: calc(28 * var(--u)) calc(30 * var(--u)); flex-shrink: 0; background: #d7e8f2; }
.hv1-notice-heading > svg { width: calc(38 * var(--u)); height: calc(38 * var(--u)); }
.hv1-notice-heading h3 { font-family: "Noto Serif SC",serif; font-size: calc(32 * var(--u)); font-weight: 700; margin-top: calc(22 * var(--u)); }
.hv1-notice-heading a { display: flex; align-items: center; justify-content: space-between; font-family: "Noto Sans SC",sans-serif; font-size: calc(20 * var(--u)); margin-top: calc(24 * var(--u)); }
.hv1-notice-list { display: grid; grid-template-columns: repeat(4,1fr); flex: 1; padding: calc(30 * var(--u)) calc(6 * var(--u)); }
.hv1-notice-card { padding: 0 calc(25 * var(--u)); border-right: calc(1 * var(--u)) solid #d3e4f0; }
.hv1-notice-card:last-child { border: 0; }
.hv1-notice-card time { color: #58769c; font: calc(18 * var(--u))/1.4 "Noto Sans SC", sans-serif; }
.hv1-notice-card h3 { margin-top: calc(20 * var(--u)); font-size: calc(22 * var(--u)); line-height: 1.6; font-weight: 400; }
.hv1-notice-card:hover h3 { color: #058cb4; }
.hv1-activities { height: calc(1000 * var(--u)); background: #f3f7fa; }
.hv1-activities .hv1-section-heading { height: calc(184 * var(--u)); }
.hv1-activity-columns { display: grid; grid-template-columns: calc(1024 * var(--u)) calc(620 * var(--u)); gap: calc(36 * var(--u)); height: calc(736 * var(--u)); }
.hv1-training { background: white; border-radius: calc(28 * var(--u)); overflow: hidden; }
.hv1-training-top { height: calc(126 * var(--u)); background: var(--navy); color: white; display: flex; align-items: center; gap: calc(24 * var(--u)); padding-left: calc(36 * var(--u)); position: relative; }
.hv1-training-top > svg { width: calc(48 * var(--u)); height: calc(48 * var(--u)); color: var(--cyan); }
.hv1-training-top h3 { font-family: "Noto Sans SC",sans-serif; font-size: calc(34 * var(--u)); line-height: 1.3; }
.hv1-training-top span { display: block; margin-top: calc(9 * var(--u)); font: calc(18 * var(--u))/1.3 "Noto Sans SC",sans-serif; }
.hv1-training-top img { position: absolute; right: 0; top: 0; height: 100%; width: calc(206 * var(--u)); }
.hv1-training-row { height: calc(122 * var(--u)); padding: 0 calc(24 * var(--u)); display: flex; align-items: center; gap: calc(26 * var(--u)); position: relative; }
.hv1-training-row::after { content: ""; position: absolute; left: calc(138 * var(--u)); right: calc(30 * var(--u)); bottom: 0; height: calc(1 * var(--u)); background: #dce8f1; }
.hv1-training-row:last-child::after { display: none; }
.hv1-row-highlight { background: #e0f3f6; border-left: calc(5 * var(--u)) solid var(--cyan); padding-left: calc(19 * var(--u)); }
.hv1-day { width: calc(88 * var(--u)); height: calc(80 * var(--u)); border-radius: calc(14 * var(--u)); background: #daeaf5; display: flex; flex-direction: column; align-items: center; justify-content: center; flex-shrink: 0; }
.hv1-row-highlight .hv1-day { background: #c2e6ed; }
.hv1-day strong { font-family: "Noto Serif SC", serif; font-size: calc(37 * var(--u)); font-weight: 700; line-height: 1.1; }
.hv1-day small { margin-top: calc(4 * var(--u)); font: calc(12 * var(--u))/1.1 "Noto Sans SC", sans-serif; }
.hv1-training-name { width: calc(450 * var(--u)); flex-shrink: 0; }
.hv1-training-name > a { font-family: "Noto Sans SC",sans-serif; font-size: calc(25 * var(--u)); }
.hv1-training-name > span { display: flex; align-items: center; gap: calc(10 * var(--u)); margin-top: calc(20 * var(--u)); font-size: calc(17 * var(--u)); color: #5c7b98; }
.hv1-training-name svg { width: calc(18 * var(--u)); height: calc(18 * var(--u)); }
.hv1-training-state { flex: 1; min-width: 0; }
.hv1-status { display: inline-flex; align-items: center; justify-content: flex-start; gap: calc(8 * var(--u)); border-radius: calc(8 * var(--u)); font-family: "Noto Sans SC", sans-serif; font-size: calc(18 * var(--u)); background: #e3eff8; padding: calc(5 * var(--u)) calc(14 * var(--u)); min-width: calc(112 * var(--u)); line-height: 1.45; }
.hv1-status.open { color: #008c39; background: #dcf4e6; }
.hv1-status.ongoing { color: #006784; background: #d9f3f9; }
.hv1-status.ended { color: #647684; background: #eef1f3; }
.hv1-training-state small { display: flex; align-items: center; gap: calc(9 * var(--u)); white-space: nowrap; margin-top: calc(15 * var(--u)); color: #5c7b98; font-size: calc(17 * var(--u)); }
.hv1-training-state svg { width: calc(18 * var(--u)); height: calc(18 * var(--u)); }
.hv1-training-row .hv1-more { width: calc(184 * var(--u)); height: calc(60 * var(--u)); padding: 0 calc(24 * var(--u)); font-size: calc(19 * var(--u)); margin-left: calc(12 * var(--u)); }
.hv1-lectures { background: #e8f3ee; border-radius: calc(30 * var(--u)); padding: calc(24 * var(--u)); }
.hv1-lectures > h3 { height: calc(86 * var(--u)); display: flex; align-items: flex-start; gap: calc(20 * var(--u)); font-family: "Noto Sans SC",sans-serif; font-size: calc(30 * var(--u)); line-height: calc(54 * var(--u)); }
.hv1-lectures > h3 > span { height: calc(54 * var(--u)); width: calc(54 * var(--u)); border-radius: calc(16 * var(--u)); background: #d1eadf; color: var(--green); display: grid; place-items: center; }
.hv1-lectures > h3 svg { width: calc(30 * var(--u)); height: calc(30 * var(--u)); }
.hv1-lecture-card { height: calc(182 * var(--u)); padding: calc(16 * var(--u)) calc(24 * var(--u)); margin-bottom: calc(20 * var(--u)); border-radius: calc(20 * var(--u)); background: white; }
.hv1-lecture-card:last-child { margin-bottom: 0; }
.hv1-lecture-card > div:first-child { display: flex; align-items: center; justify-content: space-between; }
.hv1-lecture-card time { font: calc(17 * var(--u))/1.3 "Noto Sans SC",sans-serif; color: #4e7b6c; }
.hv1-lecture-card h3 { height: calc(72 * var(--u)); margin-top: calc(12 * var(--u)); font-family: "Noto Sans SC",sans-serif; font-size: calc(24 * var(--u)); line-height: 1.5; }
.hv1-lecture-bottom { display: flex; align-items: center; justify-content: space-between; color: var(--green); font-size: calc(18 * var(--u)); }
.hv1-lecture-bottom > span { display: flex; align-items: center; gap: calc(8 * var(--u)); color: #50816d; font-size: calc(17 * var(--u)); }
.hv1-lecture-bottom svg { width: calc(18 * var(--u)); height: calc(18 * var(--u)); }
.hv1-lecture-bottom a { display: flex; gap: calc(35 * var(--u)); align-items: center; font-family: "Noto Sans SC", sans-serif; }
.hv1-courses { position: relative; height: calc(1204 * var(--u)); background: var(--navy); overflow: hidden; }
.hv1-courses .hv1-section-title h2 { color: white; }
.hv1-courses .hv1-section-subtitle { color: #b2d4e0; }
.hv1-courses .hv1-section-heading { height: calc(184 * var(--u)); }
.hv1-courses > .hv1-wrap { position: relative; z-index: 1; }
.hv1-course-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: calc(24 * var(--u)) calc(36 * var(--u)); }
.hv1-course-card { height: calc(466 * var(--u)); padding: calc(16 * var(--u)); background: white; border-radius: calc(22 * var(--u)); }
.hv1-course-image { position: relative; display: block; width: 100%; height: calc(284 * var(--u)); border-radius: calc(16 * var(--u)); overflow: hidden; }
.hv1-course-image img { object-fit: cover; }
.hv1-play { position: absolute; bottom: calc(14 * var(--u)); right: calc(16 * var(--u)); width: calc(50 * var(--u)); height: calc(50 * var(--u)); border-radius: 50%; display: grid; place-items: center; background: white; color: #2873ae; font: calc(32 * var(--u))/1 sans-serif; padding-left: calc(3 * var(--u)); }
.hv1-course-card h3 { height: calc(72 * var(--u)); margin: calc(14 * var(--u)) calc(10 * var(--u)) 0; font-family: "Noto Sans SC",sans-serif; font-size: calc(25 * var(--u)); line-height: calc(35 * var(--u)); }
.hv1-course-bottom { display: flex; justify-content: space-between; align-items: flex-end; padding: 0 calc(10 * var(--u)); }
.hv1-course-bottom > div { width: calc(304 * var(--u)); }
.hv1-course-bottom > div > span { display: flex; align-items: center; gap: calc(8 * var(--u)); color: #7891a8; font-size: calc(16 * var(--u)); line-height: calc(31 * var(--u)); white-space: nowrap; }
.hv1-course-bottom svg { width: calc(18 * var(--u)); height: calc(18 * var(--u)); }
.hv1-course-bottom .hv1-more { width: calc(168 * var(--u)); height: calc(54 * var(--u)); padding: 0 calc(20 * var(--u)); font-size: calc(19 * var(--u)); margin-bottom: calc(2 * var(--u)); }
.hv1-courses-wave { position: absolute; top: calc(974 * var(--u)); width: 100%; height: calc(318.554688 * var(--u)) !important; object-fit: fill !important; pointer-events: none; }
.hv1-teachers { height: calc(800 * var(--u)); padding-top: calc(44 * var(--u)); background: #e8f1f8; }
.hv1-teacher-card { width: calc(1760 * var(--u)); height: calc(702 * var(--u)); margin: auto; background: white; position: relative; border-radius: calc(30 * var(--u)); }
.hv1-teacher-card > .hv1-section-title { position: absolute; top: calc(32 * var(--u)); left: calc(40 * var(--u)); }
.hv1-teacher-card .hv1-section-subtitle::before { display: none; }
.hv1-teacher-card .hv1-section-title h2 { font-size: calc(48 * var(--u)); }
.hv1-teacher-card .hv1-section-subtitle { margin-top: calc(15 * var(--u)); font-size: calc(14 * var(--u)); }
.hv1-teacher-slide { width: 100%; height: 100%; }
.hv1-teacher-copy { position: absolute; top: calc(174 * var(--u)); left: calc(40 * var(--u)); width: calc(800 * var(--u)); }
.hv1-teacher-copy h3 { font-family: "Noto Serif SC",serif; font-weight: 700; font-size: calc(66 * var(--u)); line-height: 1.5; }
.hv1-teacher-position { margin-top: calc(15 * var(--u)); color: #53769b; font-size: calc(21 * var(--u)); }
.hv1-teacher-copy p { margin-top: calc(31 * var(--u)); color: #53769b; font-size: calc(22 * var(--u)); line-height: calc(42 * var(--u)); }
.hv1-teacher-photo { position: absolute; width: calc(631 * var(--u)); height: calc(641 * var(--u)); top: calc(25 * var(--u)); right: calc(99 * var(--u)); border-radius: calc(112 * var(--u)) calc(28 * var(--u)) calc(112 * var(--u)) calc(28 * var(--u)); overflow: hidden; }
.hv1-teacher-photo img { object-fit: cover; object-position: center; }
.hv1-teacher-controls { position: absolute; left: calc(36 * var(--u)); bottom: calc(32 * var(--u)); display: flex; align-items: center; height: calc(90 * var(--u)); }
.hv1-teacher-thumbnails { display: flex; align-items: center; gap: calc(20 * var(--u)); }
.hv1-teacher-thumbnails button { width: calc(80 * var(--u)); height: calc(80 * var(--u)); border-radius: calc(11 * var(--u)); overflow: hidden; }
.hv1-teacher-thumbnails button.active, .hv1-teacher-thumbnails button[aria-pressed="true"] { outline: calc(2 * var(--u)) solid #00b9dc; outline-offset: calc(4 * var(--u)); }
.hv1-teacher-arrows { display: flex; gap: calc(14 * var(--u)); margin-left: calc(56 * var(--u)); }
.hv1-teacher-arrows button { height: calc(46 * var(--u)); width: calc(46 * var(--u)); border-radius: calc(10 * var(--u)); background: var(--navy); color: white; font: calc(30 * var(--u))/1 Arial; }
.hv1-teacher-controls > .hv1-more { margin-left: calc(76 * var(--u)); width: calc(240 * var(--u)); height: calc(68 * var(--u)); }
.hv1-teacher-ribbon { position: absolute; width: calc(840 * var(--u)) !important; height: calc(144 * var(--u)) !important; right: calc(-46 * var(--u)); bottom: calc(-50 * var(--u)); object-fit: fill !important; pointer-events: none; }
.hv1-ethics { height: calc(700 * var(--u)); background: #e8f3ee; }
.hv1-ethics .hv1-section-heading { height: calc(194 * var(--u)); padding-top: calc(52 * var(--u)); }
.hv1-ethics-tabs { display: flex; gap: calc(12 * var(--u)); margin-top: calc(16 * var(--u)); }
.hv1-ethics-tabs button, .hv1-ethics-tabs > a { display: grid; place-items: center; width: calc(142 * var(--u)); height: calc(58 * var(--u)); border-radius: calc(12 * var(--u)); background: white; font-family: "Noto Sans SC",sans-serif; font-size: calc(20 * var(--u)); }
.hv1-ethics-tabs button.active { background: var(--navy); color: white; }
.hv1-ethics-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: calc(32 * var(--u)); }
.hv1-ethics-card { position: relative; height: calc(420 * var(--u)); border-radius: calc(26 * var(--u)); background: white; padding: calc(16 * var(--u)); }
.hv1-ethics-image { height: calc(208 * var(--u)); display: block; border-radius: calc(16 * var(--u)); overflow: hidden; }
.hv1-ethics-category { display: flex; align-items: center; gap: calc(16 * var(--u)); padding: 0 calc(10 * var(--u)); margin-top: calc(20 * var(--u)); color: var(--green); font-size: calc(18 * var(--u)); }
.hv1-ethics-category svg { width: calc(19 * var(--u)); height: calc(19 * var(--u)); }
.hv1-ethics-title { font-family: "Noto Sans SC",sans-serif; font-size: calc(25 * var(--u)); line-height: calc(32 * var(--u)); margin-top: calc(17 * var(--u)) !important; padding: 0 calc(10 * var(--u)) !important; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.hv1-ethics-bottom { position: absolute; bottom: calc(20 * var(--u)); left: calc(26 * var(--u)); right: calc(26 * var(--u)); display: flex; align-items: flex-end; justify-content: space-between; font-family: "Noto Sans SC",sans-serif; font-size: calc(20 * var(--u)); }
.hv1-resource-arrow { width: calc(48 * var(--u)); height: calc(48 * var(--u)); display: grid; place-items: center; color: var(--green) !important; background: #dcefe3; border-radius: calc(12 * var(--u)); }
.hv1-footer { height: calc(584 * var(--u)); background: var(--navy); color: white; position: relative; }
.hv1-footer::before { content: ""; position: absolute; top: 0; left: calc(120 * var(--u)); height: calc(5 * var(--u)); width: calc(570 * var(--u)); background: linear-gradient(90deg,#00c5e5 0 58%,#00a15a 58% 87%,#bce512 87%); z-index: 1; }
.hv1-footer-main { height: calc(500 * var(--u)); background: url('/assets/home-v1/footer-buildings.svg') no-repeat center bottom; background-size: 100% auto; padding-top: calc(84 * var(--u)); }
.hv1-footer-main .hv1-wrap { display: grid; grid-template-columns: calc(550 * var(--u)) calc(490 * var(--u)) calc(474 * var(--u)); gap: calc(82 * var(--u)); }
.hv1-footer-brand img { width: calc(504 * var(--u)); height: calc(100 * var(--u)); object-fit: contain; }
.hv1-footer-brand > h3 { font-family: "Noto Serif SC",serif; font-weight: 700; font-size: calc(32 * var(--u)); margin-top: calc(35 * var(--u)); }
.hv1-footer-brand > p { color: #c1d9e9; font-size: calc(21 * var(--u)); margin-top: calc(14 * var(--u)); }
.hv1-footer-brand > div { display: flex; gap: calc(24 * var(--u)); margin-top: calc(48 * var(--u)); }
.hv1-footer-brand button { display: flex; align-items: center; justify-content: center; gap: calc(18 * var(--u)); font-family: "Noto Sans SC",sans-serif; font-size: calc(21 * var(--u)); width: calc(194 * var(--u)); height: calc(58 * var(--u)); border: calc(1 * var(--u)) solid #759bb7; border-radius: calc(32 * var(--u)); background: #2b5180; }
.hv1-footer-brand button svg { width: calc(22 * var(--u)); height: calc(22 * var(--u)); }
.hv1-footer-contact > h3, .hv1-footer-links > h3 { font-family: "Noto Sans SC",sans-serif; font-size: calc(29 * var(--u)); padding-bottom: calc(25 * var(--u)); position: relative; margin-bottom: calc(23 * var(--u)); }
.hv1-footer-contact > h3::after, .hv1-footer-links > h3::after { content: ""; position: absolute; height: calc(3 * var(--u)); width: calc(48 * var(--u)); bottom: calc(14 * var(--u)); left: 0; background: var(--cyan); }
.hv1-footer-links > h3::after { background: #00a94e; }
.hv1-contact-item { display: flex; align-items: center; gap: calc(22 * var(--u)); margin-bottom: calc(30 * var(--u)); }
.hv1-contact-item > span { width: calc(44 * var(--u)); height: calc(44 * var(--u)); background: #2e5885; border-radius: calc(12 * var(--u)); color: #9fe0f0; display: grid; place-items: center; }
.hv1-contact-item svg { width: calc(25 * var(--u)); height: calc(25 * var(--u)); }
.hv1-contact-item small { font-size: calc(15 * var(--u)); color: #b2d2e6; display: block; line-height: 1.4; }
.hv1-contact-item p { font-size: calc(21 * var(--u)); margin-top: calc(7 * var(--u)); }
.hv1-footer-links a { display: flex; align-items: center; justify-content: space-between; padding: 0 calc(18 * var(--u)); height: calc(54 * var(--u)); margin-bottom: calc(11 * var(--u)); font-size: calc(20 * var(--u)); background: #2c5483; border: calc(1 * var(--u)) solid #6384a9; border-radius: calc(12 * var(--u)); }
.hv1-footer-links a span { color: #97cadc; font-size: calc(23 * var(--u)); }
.hv1-copyright { height: calc(84 * var(--u)); padding-top: calc(21 * var(--u)); text-align: center; background: #163362; color: #c6dceb; font-family: "Noto Sans SC",sans-serif; font-size: calc(17 * var(--u)); line-height: 1.6; }
.hv1-copyright small { font-size: calc(14 * var(--u)); color: #8aabc5; }
.hv1-nav > ul > li > a, .hv1-quick strong, .hv1-more, .hv1-news-tag, .hv1-notice-heading a, .hv1-training-top h3, .hv1-training-name > a, .hv1-status, .hv1-lectures > h3, .hv1-lecture-card h3, .hv1-lecture-bottom a, .hv1-course-card h3, .hv1-ethics-tabs button, .hv1-ethics-tabs > a, .hv1-ethics-title, .hv1-ethics-bottom, .hv1-footer-brand button, .hv1-footer-contact > h3, .hv1-footer-links > h3 { font-weight: 700; }
@media (prefers-reduced-motion: reduce) { .hv1 *, .hv1 *::before, .hv1 *::after { transition: none !important; } }
