/* PC homepage iteration: compact editorial hierarchy, scoped to this page. */
body:has(.home-portal) { background:#f7f9fc; color:#344052; }
body:has(.home-portal) { --hp-blue:#246fe5; --hp-ink:#293443; --hp-line:#e8edf3; --hp-muted:#8590a1; }
.home-portal { width:var(--pc-content-width); max-width:var(--pc-content-max); min-width:0; padding:0 0 32px; margin:0 auto; font:15px/1.6 "Microsoft YaHei","PingFang SC",sans-serif; }
.home-portal *, .home-portal *::before, .home-portal *::after { box-sizing:border-box; }
.home-portal h1,.home-portal h2,.home-portal h3,.home-portal h4,.home-portal p { margin:0; }
.home-portal a { text-decoration:none; transition:color .15s,background-color .15s,border-color .15s; }
.home-portal a:hover { color:#246fe5; }
.home-portal a:focus-visible,.home-portal button:focus-visible,.home-portal input:focus-visible,.home-portal select:focus-visible { outline:2px solid #c26828; outline-offset:3px; }
.home-portal [hidden] { display:none!important; }
.home-portal button,.home-portal input,.home-portal select { font:inherit; }
.home-portal button { cursor:pointer; }
.home-portal :is(section,div,nav)[id] { scroll-margin-top:20px; }
.hp-dateline { height:40px; display:flex; align-items:center; justify-content:space-between; color:#7d8898; font-size:12px; }
.hp-dateline > span:first-child { color:#52647e; letter-spacing:.6px; }
.hp-dateline i { display:inline-block; width:5px; height:5px; background:#4387f0; border-radius:50%; margin-right:7px; vertical-align:middle; }
.hp-dateline b { margin:0 8px; font-weight:400; color:#b7c0cc; }
.hp-lead { display:grid; grid-template-columns:280px minmax(0,1fr) 278px; grid-template-rows:auto 1fr; gap:14px 16px; align-items:stretch; }
/* Share two rows across the side columns so panel edges follow content, not fixed heights. */
.hp-lead__left,.hp-lead__right { display:contents; }
.hp-carousel { grid-column:1; grid-row:1; min-height:238px; position:relative; overflow:hidden; border-radius:5px; background:#ecf2ff; border:1px solid #dce6f5; }
.hp-carousel__stage { position:absolute; inset:0; }
.hp-carousel__slide { display:block; width:100%; height:100%; animation:hp-carousel-reveal .25s ease-out; }
@keyframes hp-carousel-reveal { from { opacity:.45; } to { opacity:1; } }
.hp-carousel__slide img { display:block; width:100%; height:100%; object-fit:contain; }
.hp-carousel__slide:focus-visible { outline-offset:-4px; }
.hp-carousel__controls button { border:0; color:#fff; background:rgba(23,43,78,.42); }
.hp-carousel__arrow { position:absolute; top:50%; transform:translateY(-50%); width:25px; height:36px; border-radius:3px; opacity:0; transition:opacity .15s; font-size:24px!important; line-height:1; }
.hp-carousel:hover .hp-carousel__arrow,.hp-carousel:focus-within .hp-carousel__arrow { opacity:1; }
.hp-carousel__arrow--prev { left:5px; }
.hp-carousel__arrow--next { right:5px; }
.hp-carousel__dots { position:absolute; bottom:7px; right:37px; display:flex; padding:0 3px; background:rgba(23,43,78,.2); border-radius:15px; }
.hp-carousel__dots button { display:grid; place-items:center; width:22px; height:22px; padding:0; background:transparent; }
.hp-carousel__dots span { width:5px; height:5px; background:#fff; opacity:.55; border-radius:4px; transition:width .15s; }
.hp-carousel__dots [aria-pressed="true"] span { width:15px; opacity:1; }
.hp-carousel__pause { position:absolute; right:7px; bottom:7px; width:22px; height:22px; padding:0; border-radius:4px; font-size:10px!important; }
.hp-carousel__sr { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (prefers-reduced-motion:reduce) { .hp-carousel * { transition:none!important; animation:none!important; } }
.hp-lead .hp-welcome { grid-column:1; grid-row:1; }
.hp-lead .hp-calendar { grid-column:1; grid-row:2; }
.hp-lead .hp-top-stories { grid-column:2; grid-row:1 / span 2; }
.hp-lead .hp-beginner { grid-column:3; grid-row:1; }
.hp-lead .hp-regions { grid-column:3; grid-row:2; }
.hp-lead :is(.hp-calendar,.hp-beginner,.hp-regions) { display:flex; flex-direction:column; }
.hp-lead .hp-panel__head { flex:none; background:linear-gradient(105deg,#fff0df,#fff7ed); border-bottom-color:#f1dfca; border-radius:4px 4px 0 0; }
.hp-lead .hp-panel__head :is(h2,h3) { color:#79502d; }
.hp-lead .hp-panel__head > a { color:#937458; }
.hp-lead .hp-calendar__list { flex:1; display:flex; flex-direction:column; justify-content:space-evenly; }
.hp-lead .hp-beginner__grid { flex:1; align-content:space-evenly; }
.hp-lead .hp-regions__grid { flex:1; align-content:space-evenly; }
.hp-lead :is(.hp-context-link,.hp-regions__help) { margin-top:auto; flex:none; border-radius:0 0 4px 4px; }
.hp-lead .hp-top-stories__eyebrow { height:48px; margin:0 -18px 8px; padding:0 18px; background:linear-gradient(105deg,#fff0df,#fff7ed); border-bottom:1px solid #f1dfca; border-radius:4px 4px 0 0; color:#a28a71; }
.hp-lead .hp-top-stories__eyebrow span:first-child { color:#9b622f; }
.hp-lead .hp-tabs { margin:0 -18px; padding:0 18px; background:linear-gradient(105deg,#fff0df,#fff7ed); border-bottom-color:#f1dfca; }
.hp-lead .hp-tabs button { color:#94775d; }
.hp-lead .hp-tabs button[aria-selected="true"] { color:#a35b22; border-bottom-color:#cc8c4b; }
.hp-lead .hp-tabs > a { color:#937458; }
.hp-panel { border:1px solid #e4e9f0; border-radius:5px; background:#fff; min-width:0; }
.hp-panel__head { display:flex; gap:12px; align-items:center; min-height:48px; padding:0 17px; border-bottom:1px solid var(--hp-line); }
.hp-panel__head h2,.hp-panel__head h3 { color:var(--hp-ink); font-size:19px; font-weight:700; letter-spacing:-.4px; white-space:nowrap; }
.hp-panel__head > a { margin-left:auto; white-space:nowrap; color:#8993a3; font-size:12px; }
.hp-panel__head > span { color:#95a0ad; font-size:12px; }
.hp-panel__head a span { margin-left:4px; }
.hp-panel__hint { color:#8a94a2; padding:11px 17px 2px; font-size:12px; }
.hp-welcome { min-height:224px; padding:22px 22px 19px; background:linear-gradient(120deg,#e9f2ff,#e0f5ff); color:#2269d0; position:relative; overflow:hidden; border-radius:5px; border:1px solid #d6e9ff; }
.hp-welcome__label { display:block; color:#5a85bd; font-size:12px; letter-spacing:2px; }
.hp-welcome h1 { font-size:30px; line-height:1.4; font-weight:700; margin:10px 0 8px; letter-spacing:1px; }
.hp-welcome p { font-size:12px; color:#6089bb; letter-spacing:1px; }
.hp-welcome > a { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; margin-top:17px; padding:8px 11px; background:#246fe5; border-radius:3px; color:#fff; font-size:13px; font-weight:600; }
.hp-welcome > a:hover { color:#fff; background:#1c60cd; }
.hp-welcome__art { position:absolute; width:152px; height:177px; right:-13px; top:8px; transform:rotate(-10deg); pointer-events:none; }
.hp-welcome__art path { stroke:#65a4ef; }
.hp-welcome__art path[fill] { fill:#78b5ff; }
.hp-calendar .hp-panel__head h2 { font-size:18px; }
.hp-exam-calendar .hp-panel__head { padding:0 15px; gap:8px; }
.hp-exam-calendar .hp-panel__head h2 { font-size:17px; letter-spacing:-.5px; }
.hp-exam-calendar .hp-panel__head > a:hover { color:#79502d; }
.hp-exam-year { font-family:Arial,sans-serif; font-weight:400; font-size:17px; color:inherit; }
.hp-exam-timeline { padding:9px 15px 7px; flex:1; }
.hp-exam-period { position:relative; }
.hp-exam-period::before { content:""; position:absolute; left:48px; top:20px; bottom:-20px; width:1px; background:#e3e8f0; }
.hp-exam-period:last-child::before { bottom:18px; }
.hp-exam-period summary { display:flex; align-items:center; gap:8px; min-height:40px; cursor:pointer; list-style:none; position:relative; }
.hp-exam-period summary::-webkit-details-marker { display:none; }
.hp-exam-month { width:36px; flex:none; font:600 20px/1 Arial,sans-serif; color:#77879c; white-space:nowrap; }
.hp-exam-month small { font:11px "Microsoft YaHei",sans-serif; margin-left:1px; }
.hp-exam-point { flex:none; width:9px; height:9px; border:2px solid #c7d2e2; border-radius:50%; background:#fff; position:relative; z-index:1; }
.hp-exam-label { display:flex; align-items:center; gap:7px; font-size:13px; color:#59687b; flex:1; white-space:nowrap; }
.hp-exam-label small { font-size:10px; color:#97a2b2; font-weight:400; }
.hp-exam-chevron { color:#a0adbc; font:22px/1 Arial,sans-serif; transition:transform .15s; }
.hp-exam-period[open] .hp-exam-chevron { transform:rotate(90deg); color:#354fc4; }
.hp-exam-period[open] .hp-exam-month { color:#2948d1; }
.hp-exam-period[open] .hp-exam-point { border-color:#2948d1; background:#2948d1; box-shadow:0 0 0 4px #eef1fc; }
.hp-exam-period[open] .hp-exam-label { color:#293c56; font-weight:700; }
.hp-exam-detail { margin:0 0 7px 60px; padding:3px 0 6px; }
.hp-exam-detail dl { margin:0; }
.hp-exam-detail dl > div { display:flex; gap:7px; line-height:1.6; padding:3px 0; font-size:12px; }
.hp-exam-detail dt { flex:none; width:52px; color:#8994a4; white-space:nowrap; }
.hp-exam-detail dd { margin:0; color:#5a697e; min-width:0; }
.hp-exam-detail .hp-exam-date { color:#303d60; font-weight:700; }
.hp-exam-detail a { color:#3975c4; }
.hp-exam-detail p { color:#9ba3af; font-size:10px; line-height:1.6; padding-top:4px; }
.hp-exam-period summary:focus-visible { outline:2px solid #2948d1; outline-offset:2px; border-radius:3px; }
.hp-exam-countdown { margin:0; padding:14px 16px; display:flex; align-items:center; justify-content:space-between; gap:8px; border:0; border-radius:0; background:#2948d1; }
.hp-exam-countdown > div > span { display:block; font-size:10px; color:#dce3ff; }
.hp-exam-countdown strong { display:block; font-size:13px; color:#fff; margin-top:3px; font-weight:600; }
.hp-exam-days { display:flex; align-items:baseline; gap:5px; }
.hp-exam-days b { font:400 38px/1 Arial,sans-serif; letter-spacing:-1.5px; color:#fff; font-variant-numeric:tabular-nums; }
.hp-exam-days > span { font-size:11px!important; color:#dce3ff; }
.hp-exam-ongoing { color:#fff; font-size:16px; }
.hp-exam-calendar .hp-context-link { font-size:12px; color:#566582; background:#fff; }
.hp-countdown { margin:13px 16px 0; padding:11px 12px; border-radius:3px; background:#edf6ff; display:flex; align-items:center; justify-content:space-between; color:#4e74a5; }
.hp-countdown > div > span { display:block; font-size:11px; }
.hp-countdown > div > strong { display:block; font-size:15px; margin-top:2px; }
.hp-countdown .hp-countdown__days { text-align:right; }
.hp-countdown .hp-countdown__days > strong { font:700 30px/1.1 Arial,sans-serif; color:#246fe5; }
.hp-countdown__days small { margin-left:4px; font:12px "Microsoft YaHei",sans-serif; color:#6d7e97; }
.hp-calendar__list { margin:8px 16px; padding:0; list-style:none; }
.hp-calendar__list li { display:flex; gap:12px; align-items:flex-start; padding:9px 0; border-bottom:1px dashed #e6ebf1; }
.hp-calendar__list li:last-child { border:0; }
.hp-calendar__date { flex:none; font:600 13px/1.6 Arial,sans-serif; color:#3275d7; padding:2px 0; }
.hp-calendar__list li > div { min-width:0; }
.hp-calendar__list a { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13px; line-height:21px; }
.hp-calendar__list small { display:block; color:#939caa; font-size:11px; line-height:17px; }
.hp-context-link { display:flex; justify-content:space-between; border-top:1px solid var(--hp-line); padding:11px 16px; color:#9d733b; background:#fffdf9; font-size:12px; }
.hp-top-stories { padding:0 18px 9px; }
.hp-top-stories__eyebrow { display:flex; justify-content:space-between; align-items:center; height:34px; color:#9aa3b0; font-size:11px; }
.hp-top-stories__eyebrow span:first-child { color:#3478df; font-size:12px; font-weight:600; }
.hp-headlines article { padding:4px 0 10px; }
.hp-headlines h2 { font-size:19px; line-height:1.5; font-weight:700; color:#293443; }
.hp-headlines article:first-child h2 { color:#de593f; }
.hp-headlines h2 a { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.hp-headlines .hp-headline__fire { display:inline-block; width:17px; height:20px; margin-left:7px; vertical-align:-3px; }
.hp-headlines article p { display:flex; justify-content:space-between; margin-top:5px; font-size:11px; line-height:16px; color:#9aA3b0; }
.hp-headlines article p > span { color:#7486a1; }
.hp-subject-links { padding:8px 0 11px; border-bottom:1px solid var(--hp-line); display:flex; justify-content:space-between; font-size:12px; line-height:18px; color:#647da2; gap:8px; }
.hp-subject-links a:last-child { color:#b47435; }
.hp-tabs { display:flex; align-items:stretch; min-height:47px; border-bottom:1px solid var(--hp-line); gap:24px; }
.hp-tabs button { color:#7d899a; background:transparent; border:0; border-bottom:2px solid transparent; padding:11px 0 10px; font-size:17px; font-weight:600; }
.hp-tabs button[aria-selected="true"] { color:#246fe5; border-bottom-color:#246fe5; }
.hp-tabs > a { margin-left:auto; align-self:center; color:#98a1ad; font-size:12px; white-space:nowrap; }
.hp-feed { list-style:none; padding:8px 0; margin:0; }
.hp-feed li { display:flex; align-items:center; gap:9px; min-height:34px; }
.hp-feed li > a { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; color:#3e4b60; font-size:15px; }
.hp-feed li > a:hover { color:#246fe5; text-decoration:underline; text-underline-offset:4px; }
.hp-feed time { color:#a0a8b3; font-size:11px; flex:none; font-variant-numeric:tabular-nums; }
.hp-feed__tag { padding:1px 6px; color:#4b7ac1; background:#f0f6ff; min-width:37px; text-align:center; font-size:12px; flex:none; }
.hp-feed__dot { flex:none; width:3px; height:3px; border-radius:50%; background:#b3bfce; }
.hp-beginner__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.18fr) minmax(0,1fr); padding:14px 13px 16px; row-gap:18px; }
.hp-beginner__grid a { font-size:13px; line-height:18px; white-space:nowrap; display:flex; align-items:center; justify-content:flex-start; gap:3px; color:#4b5b72; }
.hp-beginner__grid .icon { width:16px; height:16px; color:#5790e8; flex:none; }
.hp-regions__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; padding:10px 16px 13px; }
.hp-regions__grid a { font-size:14px; text-align:center; line-height:28px; background:#f7f9fc; border-radius:2px; white-space:nowrap; }
.hp-regions__grid a:hover { color:#fff; background:#246fe5; }
.hp-regions__help { display:flex; justify-content:space-between; border-top:1px solid var(--hp-line); padding:10px 16px; color:#6280a7; font-size:12px; }
.hp-flow { display:grid; grid-template-columns:205px minmax(0,1fr); min-height:112px; margin:18px 0 29px; border:1px solid #dfe5ff; border-radius:14px; background:linear-gradient(110deg,#eaf1ff 0%,#f2f6ff 60%,#f4f0ff 100%); box-shadow:0 2px 4px rgb(54 78 151 / 4%); }
.hp-flow__intro { display:flex; flex-direction:column; justify-content:center; padding:12px 20px; border-right:1px solid #dfe5ff; }
.hp-flow__brand { display:flex; align-items:center; gap:9px; }
.hp-flow__brand > span { display:grid; place-items:center; width:29px; height:29px; border-radius:9px; background:linear-gradient(120deg,#2467ee,#5140ed); color:#fff; }
.hp-flow__brand .icon { width:19px; height:19px; }
.hp-flow__brand strong { color:#263448; font-size:15px; font-weight:700; }
.hp-flow__intro h2 { margin:5px 0 1px; font-size:19px; line-height:1.4; font-weight:700; color:#263448; }
.hp-flow__intro p { color:#7888a0; font-size:11px; }
.hp-flow__steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:0; padding:12px 15px; list-style:none; }
.hp-flow__steps > li { position:relative; min-width:0; }
.hp-flow__card { display:flex; flex-direction:column; height:100%; background:#fff; border:1px solid #d8e5ff; border-radius:10px; box-shadow:0 2px 3px rgb(54 78 151 / 5%); }
.hp-flow__card h3 { display:flex; align-items:center; min-height:34px; padding:6px 11px; border-radius:9px 9px 0 0; background:linear-gradient(110deg,#2467ee,#5140ed); color:#fff; font-size:14px; font-weight:700; line-height:1.5; }
.hp-flow__card p { flex:1; display:flex; align-items:center; padding:9px 11px; font-size:12px; line-height:1.65; color:#637188; }
.hp-flow__card:hover { border-color:#a9c2ff; box-shadow:0 3px 9px rgb(54 78 151 / 12%); }
.hp-flow__arrow { position:absolute; right:-11px; top:50%; z-index:1; display:grid; place-items:center; width:22px; height:22px; transform:translateY(-50%); border:1px solid #dbe6ff; border-radius:50%; background:#fff; color:#4d78ed; pointer-events:none; }
.hp-flow__arrow .icon { width:13px; height:13px; }
.hp-section-title { display:flex; justify-content:space-between; align-items:center; margin:0 0 15px; }
.hp-section-title > div { display:flex; align-items:baseline; gap:15px; }
.hp-section-title h2 { font-size:23px; letter-spacing:-.7px; font-weight:700; color:#293443; }
.hp-section-title p { font-size:12px; color:#8c98a9; }
.hp-section-title > a,.hp-section-title nav { color:#7189aa; font-size:12px; }
.hp-section-title nav { display:flex; align-items:center; gap:19px; }
.hp-plan-search { display:flex; align-items:center; gap:10px; padding:16px 18px; background:#fff; border:1px solid #e3eaf3; border-top:2px solid #639df4; border-radius:4px 4px 0 0; }
.hp-plan-search > div { display:flex; align-items:center; gap:9px; margin-right:10px; font-size:15px; color:#3275d7; }
.hp-plan-search .icon { width:20px; height:20px; }
.hp-plan-search select,.hp-plan-search input,.hp-adviser select { width:100%; height:37px; border:1px solid #dfe6ef; border-radius:3px; padding:0 11px; font-size:13px; color:#63718a; background:#fafbfd; }
.hp-plan-search label { min-width:0; flex:0 1 160px; }
.hp-plan-search .hp-plan-search__keyword { flex:1; }
.hp-plan-search input::placeholder { color:#9da8b6; }
.hp-button { color:#fff; background:#246fe5; border:0; border-radius:3px; padding:8px 21px; white-space:nowrap; font-size:13px!important; }
.hp-button:hover { background:#1c60cd; }
.hp-schools-layout { display:grid; grid-template-columns:minmax(0,1fr) 278px; gap:16px; margin-top:14px; }
.hp-schools__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:3px 12px 12px; }
.hp-school { display:flex; align-items:center; gap:14px; padding:20px 10px; min-width:0; border-bottom:1px solid #edf1f6; }
.hp-school:nth-last-child(-n+3) { border-bottom:0; }
.hp-school:hover { background:#f7faff; }
.hp-school img { width:60px; height:60px; flex:none; object-fit:contain; }
.hp-school__initial { display:grid; place-items:center; flex:none; width:60px; height:60px; border-radius:50%; border:1px solid #d8e3f0; color:#6c84a3; background:#f0f6ff; font-size:27px; }
.hp-school > div { min-width:0; }
.hp-school h4 { font-size:17px; font-weight:600; color:#29384d; line-height:1.5; overflow-wrap:anywhere; }
.hp-school p { font-size:13px; line-height:1.65; color:#748297; margin:4px 0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.hp-school div > span { font-size:13px; color:#4c77b5; }
.hp-school b { font-weight:400; padding-left:5px; }
.hp-adviser { background:#eff7ff; border:1px solid #dfe7f2; border-radius:5px; padding:22px; }
.hp-adviser__banner { margin:-22px -22px 18px; padding:16px 20px 14px; border-bottom:1px solid #eddfcb; border-radius:4px 4px 0 0; background:linear-gradient(110deg,#f7e7d1,#fff3e3); }
.hp-adviser__banner > strong { display:block; color:#765333; font-size:16px; font-weight:600; letter-spacing:.2px; }
.hp-adviser__banner nav { display:flex; align-items:center; justify-content:space-between; margin-top:10px; }
.hp-adviser__banner a { color:#806146; font-size:12px; white-space:nowrap; }
.hp-adviser__banner a + a { border-left:1px solid #e7d4bb; padding-left:12px; }
.hp-adviser__banner a span { color:#a6815b; margin-left:2px; }
.hp-adviser__label { color:#7e92b0; font-size:11px; letter-spacing:1px; }
.hp-adviser h3 { font-size:25px; font-weight:700; line-height:1.5; color:#2868c6; margin:9px 0; }
.hp-adviser p { color:#6b809d; font-size:12px; line-height:1.9; }
.hp-adviser form { margin-top:17px; }
.hp-adviser select { background:#fff; }
.hp-adviser button { width:100%; margin-top:9px; padding:10px 12px; background:#246fe5; border:0; color:#fff; font-size:13px; border-radius:3px; }
.hp-adviser button span { margin-left:12px; }
.hp-adviser > small { display:block; text-align:center; font-size:10px; color:#96a4b8; margin-top:9px; }
.hp-majors { margin-top:22px; }
.hp-catalog-head { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:50px; padding-right:16px; margin-bottom:14px; overflow:hidden; border:1px solid #d3e0f1; border-radius:8px; background:linear-gradient(105deg,#e5effb,#f0f5fc 65%,#f8faff); }
.hp-catalog-head > :is(h2,h3) { display:flex; align-items:center; align-self:stretch; flex:none; padding:0 40px 0 22px; color:#fff; background:linear-gradient(110deg,#2b63b0,#347abc); clip-path:polygon(0 0,100% 0,calc(100% - 18px) 100%,0 100%); font-size:23px; font-weight:700; line-height:1.4; letter-spacing:1px; white-space:nowrap; }
.hp-catalog-head nav { display:flex; align-items:center; gap:8px; }
.hp-catalog-head a { display:inline-flex; align-items:center; flex:none; padding:4px 11px; border:1px solid #ccdbee; border-radius:4px; background:rgba(255,255,255,.8); color:#496f9b; font-size:12px; white-space:nowrap; }
.hp-catalog-head a:hover { color:#225fa7; background:#fff; border-color:#94b5db; }
.home-portal .hp-catalog-head a:focus-visible { outline:2px solid #347abc; outline-offset:3px; }
.hp-catalog-head a > span { margin-left:8px; font-size:15px; }
.hp-majors__grid { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:18px; }
.hp-major-panel { min-width:0; padding:15px 16px 12px; border:1px solid #e9edf0; border-radius:12px; background:#fff; box-shadow:0 3px 12px rgba(35,59,70,.025); }
.hp-major-panel__head { position:relative; display:flex; align-items:center; justify-content:space-between; padding-bottom:12px; border-bottom:1px solid #e8ecee; margin-bottom:14px; }
.hp-major-panel__head::after { content:""; position:absolute; bottom:-2px; left:0; width:66px; height:3px; border-radius:3px; background:linear-gradient(90deg,#18c9b0,#51d789); }
.hp-major-panel__head h4 { color:#323b43; font-size:19px; font-weight:600; line-height:1.4; }
.hp-major-panel__head > a { color:#929a9f; font-size:12px; }
.hp-major-panel__head > a span { margin-left:5px; }
.hp-major-banner { position:relative; display:block; width:100%; min-height:98px; isolation:isolate; overflow:hidden; border-radius:8px; background:linear-gradient(100deg,#cefae4,#b4ebe0); }
.hp-major-panel--business .hp-major-banner { background:linear-gradient(100deg,#ffed91,#ffe2a0); }
.hp-major-panel--humanities .hp-major-banner { background:linear-gradient(100deg,#c5f1fb,#a5ddf9); }
.hp-major-banner > img { position:absolute; top:0; right:0; width:auto; height:100%; max-width:none; object-fit:contain; mask-image:linear-gradient(90deg,transparent,#000 28%); }
.hp-major-banner__copy { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; width:66%; min-height:98px; padding:9px 16px; }
.hp-major-banner__copy > span { color:#183e3f; font-size:15px; font-weight:700; line-height:1.3; letter-spacing:1px; }
.hp-major-banner__copy > strong { color:#1464c2; font-size:23px; font-weight:800; line-height:1.35; letter-spacing:.5px; white-space:nowrap; }
.hp-major-panel--business .hp-major-banner__copy > span { color:#6a4916; }
.hp-major-panel--business .hp-major-banner__copy > strong { color:#8f4b08; }
.hp-major-banner__copy > small { display:inline-flex; align-items:center; gap:10px; margin-top:5px; padding:1px 11px 2px; border-radius:20px; background:rgba(255,255,255,.88); color:#355361; box-shadow:inset 0 0 0 1px rgba(255,255,255,.76); font-size:10px; font-weight:600; line-height:1.5; }
.hp-major-banner:is(:hover,:focus-visible) .hp-major-banner__copy > small { background:#fff; color:#1d7265; }
.hp-major-panel__list { margin:10px 0 0; padding:0; list-style:none; }
.hp-major { display:flex; align-items:center; gap:7px; min-height:32px; padding:4px 0; line-height:1.5; border-radius:3px; }
.hp-major::before { content:""; flex:none; width:4px; height:4px; border-radius:1px; background:#ff941f; }
.hp-major__name { min-width:0; color:#414d57; font-size:15px; overflow-wrap:anywhere; }
.hp-major__level { flex:none; color:#87939e; background:#f4f6f8; border-radius:3px; padding:1px 4px; font-size:10px; }
.hp-major__count { flex:none; margin-left:auto; color:#929ea9; font-size:11px; white-space:nowrap; }
.hp-major:hover { background:#f6fbfa; }
.hp-major:hover .hp-major__name { color:#117f72; }
.hp-majors a:focus-visible { outline:2px solid #178b79; outline-offset:3px; }
.hp-majors__foot { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:10px; font-size:11px; color:#909ba6; }
.hp-majors__foot a { color:#57897c; }
.hp-reading { margin-top:30px; }
.hp-reading__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.hp-reading__column { min-width:0; padding:15px 16px 12px; border:1px solid #e9edf0; border-radius:12px; background:#fff; box-shadow:0 3px 12px rgba(35,59,70,.025); }
.hp-reading__column-head { position:relative; display:flex; align-items:center; justify-content:space-between; padding-bottom:12px; border-bottom:1px solid #e8ecee; margin-bottom:14px; }
.hp-reading__column-head::after { content:""; position:absolute; bottom:-2px; left:0; width:66px; height:3px; border-radius:3px; background:linear-gradient(90deg,#18c9b0,#51d789); }
.hp-reading__column-head h3 { color:#323b43; font-size:19px; font-weight:600; line-height:1.4; }
.hp-reading__column-head > a { color:#929a9f; font-size:12px; }
.hp-reading__column-head > a span { margin-left:5px; }
.hp-reading-banner { position:relative; display:block; min-height:98px; isolation:isolate; overflow:hidden; border-radius:8px; background:linear-gradient(100deg,#c9edff,#a9dbf8); }
.hp-reading__column--guides .hp-reading-banner { background:linear-gradient(100deg,#d0f8e8,#b2e9dd); }
.hp-reading__column--questions .hp-reading-banner { background:linear-gradient(100deg,#ffdbd3,#ffb4a5); }
.hp-reading-banner > img { position:absolute; top:0; right:0; width:auto; height:100%; max-width:none; object-fit:contain; mask-image:linear-gradient(90deg,transparent,#000 28%); }
.hp-reading-banner__copy { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; width:70%; min-height:98px; padding:9px 16px; }
.hp-reading-banner__copy > span { color:#264f65; font-size:14px; font-weight:700; line-height:1.3; letter-spacing:.5px; }
.hp-reading-banner__copy > strong { color:#1464c2; font-size:23px; font-weight:800; line-height:1.35; letter-spacing:.5px; white-space:nowrap; }
.hp-reading__column--guides .hp-reading-banner__copy > strong { color:#137566; }
.hp-reading__column--questions .hp-reading-banner__copy > span { color:#763d36; }
.hp-reading__column--questions .hp-reading-banner__copy > strong { color:#a53f37; }
.hp-reading-banner__copy > small { display:inline-flex; align-items:center; gap:10px; margin-top:5px; padding:1px 11px 2px; border-radius:20px; background:rgba(255,255,255,.88); color:#355361; box-shadow:inset 0 0 0 1px rgba(255,255,255,.76); font-size:10px; font-weight:600; line-height:1.5; }
.hp-reading-banner:is(:hover,:focus-visible) .hp-reading-banner__copy > small { background:#fff; color:#225fa7; }
.hp-reading a:focus-visible { outline:2px solid #347abc; outline-offset:3px; }
.hp-reading__column .hp-feed { padding:10px 0 0; }
.hp-reading__column .hp-feed__dot { width:4px; height:4px; border-radius:1px; background:#ff941f; }
.hp-reading__column .hp-feed li { min-height:37px; }
.hp-reading__column .hp-feed a { font-size:14px; }
.hp-resources { margin-top:26px; }
.hp-resources__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.hp-resource-card { --resource-ink:#65439d; --resource-soft:#f6f1fd; --resource-line:#e4d8f3; --resource-banner:#e8dcff; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--resource-line); border-radius:12px; background:linear-gradient(160deg,#fff 35%,var(--resource-soft)); box-shadow:0 5px 16px #273c6206; transition:box-shadow .2s,border-color .2s; }
.hp-resource-card--dagang { --resource-ink:#a65025; --resource-soft:#fff5eb; --resource-line:#f4dfcd; --resource-banner:#ffead2; }
.hp-resource-card--jiaocai { --resource-ink:#235db0; --resource-soft:#eff6ff; --resource-line:#d6e5fa; --resource-banner:#dcecff; }
.hp-resource-card--jianzhang { --resource-ink:#167475; --resource-soft:#eef9f7; --resource-line:#d3eae6; --resource-banner:#d9f2ef; }
.hp-resource-card:hover { border-color:var(--resource-ink); box-shadow:0 8px 20px #273c6210; }
.hp-resource-card__banner { display:block; position:relative; min-height:112px; overflow:hidden; background:var(--resource-banner); }
.hp-resource-card__banner > img { position:absolute; right:0; top:0; width:auto; height:100%; max-width:none; object-fit:contain; mask-image:linear-gradient(90deg,transparent,#000 30%); }
.hp-resource-card__banner > div { position:relative; min-height:112px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:12px 16px; }
.hp-resource-card__banner > div > span { color:var(--resource-ink); font-size:10px; font-weight:600; letter-spacing:2px; }
.hp-resource-card__banner h3 { color:var(--resource-ink); font-size:25px; line-height:1.3; font-weight:800; letter-spacing:.5px; margin:5px 0 7px; }
.hp-resource-card__banner p { margin:0; padding:3px 7px; border-radius:4px; background:#ffffffcc; color:var(--resource-ink); font-size:10px; line-height:1.5; }
.hp-resource-card__body { display:flex; flex:1; flex-direction:column; padding:15px 16px 14px; }
.hp-resource-card__label { display:flex; gap:7px; align-items:center; color:var(--resource-ink); font-size:12px; font-weight:600; }
.hp-resource-card__label::before { content:""; width:3px; height:12px; border-radius:2px; background:var(--resource-ink); }
.hp-resource-card__body ul { list-style:none; padding:0; margin:9px 0 13px; }
.hp-resource-card__body li { position:relative; padding:5px 0 5px 12px; font-size:12px; color:#536079; line-height:1.8; }
.hp-resource-card__body li::before { content:""; position:absolute; top:14px; left:0; width:4px; height:4px; border-radius:1px; background:var(--resource-ink); opacity:.6; }
.hp-resource-card__action { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:34px; padding:7px 11px; margin-top:auto; border:1px solid var(--resource-line); border-radius:6px; background:#ffffffba; color:var(--resource-ink); font-size:12px; font-weight:600; }
.hp-resource-card__action:hover { background:var(--resource-ink); color:#fff; }
.hp-resource-card a:focus-visible { outline:2px solid var(--resource-ink); outline-offset:-3px; }
.hp-resources__more { display:flex; align-items:center; flex-wrap:wrap; gap:10px 22px; padding:13px 2px 0; font-size:12px; }
.hp-resources__more > span { color:#8c96a7; }
.hp-resources__more a { display:flex; gap:16px; align-items:center; color:#536d93; }
.hp-resources__more a:hover { color:#245eb1; }
.hp-resources__more small { margin-left:auto; color:#8b97a9; font-size:11px; }
.hp-pathways { margin-top:30px; }
.hp-pathways__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.hp-pathways .hp-pathway { --path-ink:#2862ac; --path-tint:#e4efff; --path-soft:#f5f9ff; padding:0; overflow:hidden; border:1px solid #e1e8f0; border-radius:12px; box-shadow:0 4px 14px rgba(36,65,103,.035); transition:box-shadow .2s,border-color .2s; }
.hp-pathways .hp-pathway--chengjiao { --path-ink:#217b7c; --path-tint:#def3ef; --path-soft:#f3faf8; }
.hp-pathways .hp-pathway--kaifang { --path-ink:#5a60a9; --path-tint:#eaeaff; --path-soft:#f8f8ff; }
.hp-pathway:hover { border-color:var(--path-ink); box-shadow:0 8px 22px rgba(36,65,103,.08); }
.hp-pathway__title { position:relative; isolation:isolate; display:flex; gap:12px; align-items:center; justify-content:space-between; min-height:88px; padding:15px 20px; background:linear-gradient(110deg,var(--path-tint),var(--path-soft)); overflow:hidden; }
.hp-pathway__title::after { content:""; position:absolute; z-index:-1; right:-25px; top:-68px; width:180px; height:180px; border:24px solid #ffffff55; border-radius:50%; pointer-events:none; }
.hp-pathway__title h3 { margin:0 0 6px; font-size:22px; line-height:1.25; font-weight:700; color:var(--path-ink); letter-spacing:.3px; }
.hp-pathway__entry { display:flex; align-items:center; gap:12px; color:var(--path-ink); font-size:12px; }
.hp-pathway__icon { display:grid; place-items:center; flex:none; width:48px; height:48px; border:1px solid #fff; border-radius:14px; background:linear-gradient(145deg,#fff,#ffffff80); box-shadow:0 4px 10px #31527d0c; transform:rotate(-6deg); }
.hp-pathway__icon .icon { width:28px; height:28px; color:var(--path-ink); transform:rotate(6deg); }
.hp-pathways dl { margin:0; padding:8px 20px 4px; }
.hp-pathways dl > div { display:grid; grid-template-columns:76px minmax(0,1fr); gap:12px; align-items:start; min-height:52px; padding:9px 0; border-bottom:1px solid #edf1f5; }
.hp-pathways dl > div:last-child { border-bottom:0; }
.hp-pathways dt { display:flex; align-items:center; gap:6px; padding-top:1px; color:#758396; font-size:12px; line-height:1.7; }
.hp-pathways dt::before { content:""; width:4px; height:4px; flex:none; border-radius:50%; background:var(--path-ink); opacity:.65; }
.hp-pathways dd { margin:0; color:#40516a; font-size:13px; line-height:1.7; }
.hp-pathways article nav { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:8px; border-top:1px solid #edf1f5; margin:0; padding:10px 16px; font-size:12px; }
.hp-pathways article nav a { display:flex; align-items:center; justify-content:center; gap:6px; min-height:30px; border-radius:5px; color:#52647e; }
.hp-pathways article nav a:last-child { background:var(--path-soft); color:var(--path-ink); font-weight:600; }
.hp-pathways article nav a:hover { background:var(--path-tint); color:var(--path-ink); }
.hp-pathway a:focus-visible { outline:2px solid var(--path-ink); outline-offset:-3px; }
.hp-final-help { display:flex; align-items:center; gap:19px; border:1px solid #dceafa; border-radius:5px; background:#eef7ff; padding:26px 28px; margin-top:23px; }
.hp-final-help > .icon { width:41px; height:41px; color:#78a7ec; }
.hp-final-help h2 { color:#2868c6; font-size:19px; font-weight:600; }
.hp-final-help p { color:#8697ae; font-size:12px; margin-top:5px; }
.hp-final-help > a { margin-left:auto; border:1px solid #a6c8f8; border-radius:3px; padding:10px 24px; color:#3275d7; font-size:13px; background:#fff; white-space:nowrap; }
@media (max-width:1200px) {
    .home-portal { padding-left:20px; padding-right:20px; }
    .hp-lead { grid-template-columns:245px minmax(0,1fr) 256px; gap:12px; }
    .hp-headlines h2 { font-size:17px; }
    .hp-beginner__grid { padding-left:10px; padding-right:8px; }
    .hp-beginner__grid a { font-size:11px; }
    .hp-flow { grid-template-columns:170px minmax(0,1fr); }
    .hp-flow__intro { padding:12px; }
    .hp-flow__steps { gap:8px; padding:12px 10px; }
    .hp-flow__card h3 { font-size:12px; padding:6px 8px; }
    .hp-flow__card p { font-size:11px; padding:8px; }
    .hp-section-title p { display:none; }
    .hp-schools-layout { grid-template-columns:minmax(0,1fr) 256px; }
    .hp-schools__grid { padding-left:8px; padding-right:8px; }
    .hp-school { gap:10px; padding:20px 6px; }
    .hp-school img,.hp-school__initial { width:52px; height:52px; }
    .hp-school h4 { font-size:16px; }
    .hp-plan-search > div { font-size:13px; gap:5px; margin-right:0; }
    .hp-plan-search label { flex-basis:127px; }
    .hp-plan-search input { font-size:12px; }
    .hp-majors__grid { gap:12px; }
    .hp-major-panel { padding-left:12px; padding-right:12px; }
    .hp-major-banner__copy { padding-left:12px; }
    .hp-major-banner__copy > strong { font-size:21px; }
    .hp-major__name { font-size:14px; }
    .hp-major__count { font-size:10px; }
}
@media (prefers-reduced-motion:reduce) { .home-portal a { transition:none; } }
