:root{
  --navy:#163b73;
  --navy-2:#0f2d58;
  --blue:#2463d4;
  --orange:#ef6a3a;
  --ink:#142238;
  --muted:#647087;
  --paper:#f4f2ed;
  --surface:#ffffff;
  --soft:#eef2f7;
  --line:#dbe1e9;
  --green:#1b7f5b;
  --red:#c8463b;
  --shadow:0 16px 40px rgba(21,42,75,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:78px}
body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:30;height:68px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;gap:32px;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:220px}
.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:17px;font-weight:900;border-radius:5px;box-shadow:4px 4px 0 #d6dfed}
.brand>span:last-child{display:grid;line-height:1.05}
.brand strong{font-size:15px;letter-spacing:.02em}
.brand small{font:700 9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;color:#8792a5;letter-spacing:.14em;margin-top:4px}
.desktop-nav{display:flex;align-self:stretch;align-items:center;gap:28px;margin-left:auto}
.desktop-nav a{position:relative;text-decoration:none;color:#526077;font-size:13px;font-weight:700}
.desktop-nav a:hover{color:var(--navy)}.desktop-nav a.active{color:var(--navy)}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-23px;height:3px;background:var(--orange);transition:right .2s}
.desktop-nav a:hover:after{right:0}.desktop-nav a.active:after{right:0}
.header-count{padding:7px 10px;text-decoration:none;border:1px solid #cad4e2;background:#f7f9fc;color:var(--navy);font-size:11px;font-weight:700}
.header-count b{font-size:14px;margin-right:2px}
main{width:min(1180px,calc(100% - 40px));margin:0 auto}
.command-center{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);min-height:350px;margin-top:22px;background:var(--navy);color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}
.command-center:before{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.11);border-radius:50%;left:-230px;bottom:-290px;box-shadow:0 0 0 52px rgba(255,255,255,.025),0 0 0 104px rgba(255,255,255,.02)}
.command-copy{position:relative;padding:42px 48px 36px;z-index:2}
.eyebrow{display:flex;align-items:center;gap:10px;color:#b9cae4;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}
.eyebrow span{color:#fff;background:var(--orange);padding:5px 7px;letter-spacing:.04em}
.eyebrow i{width:28px;height:1px;background:#6985ab}
.command-copy h1{font-size:42px;line-height:1.12;letter-spacing:-.055em;margin:18px 0 12px;max-width:610px}
.command-copy>p{margin:0 0 24px;color:#c7d5e8;font-size:15px;max-width:620px}
.global-search{height:54px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;background:#fff;color:var(--ink);padding:0 13px;border-left:4px solid var(--orange);max-width:680px;box-shadow:0 9px 24px rgba(3,17,38,.24)}
.global-search>span{font-size:25px;line-height:1;color:var(--navy);transform:rotate(-20deg)}
.global-search input{min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:15px}
.global-search input::placeholder{color:#8994a6}
kbd{border:1px solid #d7dde7;border-bottom-width:2px;background:#f5f7fa;color:#6e798b;padding:2px 7px;font:700 11px ui-monospace,monospace}
.global-results{position:absolute;left:48px;right:48px;top:250px;z-index:12;background:#fff;color:var(--ink);border:1px solid #cbd5e2;box-shadow:0 18px 44px rgba(4,17,37,.3);max-width:680px}
.global-result-head{height:38px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;background:#f2f5f9;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted);font-weight:700}
.global-result-head button{border:0;background:transparent;color:var(--blue);font-weight:800}
.global-results>a{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;border-bottom:1px solid #edf0f4}
.global-results>a:last-child{border:0}
.global-results>a:hover{background:#f7f9fc}
.global-results a b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.global-results a small{color:#7c8798;font-size:10px}
.no-global-result{margin:0;padding:16px;color:var(--muted);font-size:12px}
.mini-file{width:38px;padding:4px 2px;text-align:center;color:#fff;font:800 8px ui-monospace,monospace;background:var(--navy)}
.mini-file.pdf{background:var(--red)}.mini-file.word{background:#2463b4}.mini-file.sheet{background:var(--green)}.mini-file.ppt{background:#cb5b2d}.mini-file.archive{background:#7352a4}
.search-hints{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}
.search-hints button{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#d9e4f3;padding:5px 9px;font-size:11px}
.search-hints button:hover{background:#fff;color:var(--navy)}
.start-board{margin:20px 20px 20px 0;background:#fff;color:var(--ink);border-top:5px solid var(--orange);align-self:stretch;position:relative;z-index:2}
.board-head{height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#f8f9fb}
.board-head span{font-weight:800}
.board-head b{font:800 11px ui-monospace,monospace;color:var(--orange);letter-spacing:.08em}
.start-board ol{list-style:none;margin:0;padding:0}
.start-board li+li{border-top:1px solid var(--line)}
.start-board button{width:100%;border:0;background:#fff;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;text-align:left;padding:14px 16px;color:var(--ink);position:relative}
.start-board button:hover{background:#f5f8fc}
.start-board button:after{content:"→";position:absolute;right:15px;top:21px;color:#9aa4b4}
.start-board button>span{grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;margin-top:2px;border:1px solid #ccd7e6;color:var(--navy);font:800 10px ui-monospace,monospace}
.start-board button b{font-size:13px;padding-right:24px}
.start-board button small{color:#7d8798;font-size:10px;margin-top:2px}
.quick-entry{display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border:1px solid var(--line);border-top:0}
.quick-entry>:is(button,a){min-width:0;border:0;border-right:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;text-decoration:none;padding:16px 14px;display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;gap:0 9px;cursor:pointer}
.quick-entry>:is(button,a):last-child{border-right:0}
.quick-entry>:is(button,a):hover{background:#f4f7fb}
.quick-entry>:is(button,a)>span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;background:#eaf0f8;color:var(--navy);font-size:11px;font-weight:900}
.quick-entry>:is(button,a) b{font-size:12px;white-space:nowrap}
.quick-entry>:is(button,a) small{font-size:9px;color:#7f8999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.resource-section,.guide-section{padding-top:56px;scroll-margin-top:68px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:18px}
.section-heading>div:first-child{min-width:0}
.section-kicker{margin:0 0 4px!important;color:var(--orange)!important;font:800 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace!important;letter-spacing:.12em!important}
.section-heading h2{font-size:28px;letter-spacing:-.035em;margin:0;line-height:1.1}
.section-heading>div>p:last-child,.section-heading>p{margin:7px 0 0;color:var(--muted);font-size:12px;max-width:650px}
.resource-heading{align-items:flex-end}
.resource-stats{display:flex;border:1px solid var(--line);background:#fff;flex:0 0 auto}
.resource-stats span{padding:9px 13px;color:var(--muted);font-size:10px;white-space:nowrap}
.resource-stats span+span{border-left:1px solid var(--line)}
.resource-stats b{display:block;color:var(--navy);font-size:15px;line-height:1.1}
.featured-resources{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--line);gap:1px;margin-bottom:14px}
.featured-card{min-width:0;min-height:205px;background:#fff;padding:17px;display:flex;flex-direction:column;position:relative}
.featured-card:hover{z-index:1;box-shadow:0 10px 28px rgba(26,48,80,.14)}
.file-badge{align-self:flex-start;padding:5px 7px;background:var(--navy);color:#fff;font:800 9px ui-monospace,monospace;letter-spacing:.05em}
.file-badge.pdf,.file-icon.pdf{background:var(--red)}
.file-badge.word,.file-icon.word{background:#2463b4}
.file-badge.sheet,.file-icon.sheet{background:var(--green)}
.file-badge.ppt,.file-icon.ppt{background:#cb5b2d}
.file-badge.archive,.file-icon.archive{background:#7352a4}
.featured-copy{padding:13px 0 12px}
.featured-copy>span{font-size:9px;color:#7b8798;text-transform:uppercase;letter-spacing:.07em}
.featured-copy h3{font-size:14px;line-height:1.45;margin:5px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.featured-copy p{margin:0;color:var(--muted);font-size:10px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.featured-card>a{margin-top:auto;padding-top:10px;border-top:1px solid #edf0f4;text-decoration:none;color:var(--blue);font-size:11px;font-weight:800;display:flex;justify-content:space-between}
.skeleton-card{height:205px;background:linear-gradient(100deg,#f8f9fa 30%,#edf0f3 50%,#f8f9fa 70%);background-size:300% 100%;animation:pulse 1.5s infinite}
@keyframes pulse{to{background-position:-150% 0}}
.library-panel{background:#fff;border:1px solid var(--line)}
.library-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 150px 150px;gap:8px;padding:12px;border-bottom:1px solid var(--line);background:#f8f9fb}
.library-search{height:40px;display:grid;grid-template-columns:24px 1fr;align-items:center;background:#fff;border:1px solid #ccd5e1;padding:0 10px}
.library-search span{font-size:19px;color:var(--navy);transform:rotate(-20deg)}
.library-search input{min-width:0;border:0;outline:0;background:transparent;font-size:12px}
.library-toolbar select{border:1px solid #ccd5e1;background:#fff;padding:0 10px;color:#344157;font-size:11px;outline:0}
.category-filters{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}
.category-filters button{white-space:nowrap;border:1px solid #d5dce6;background:#fff;color:#536075;padding:6px 9px;font-size:10px;font-weight:700}
.category-filters button span{color:#9aa3b1;margin-left:3px}
.category-filters button.active{border-color:var(--navy);background:var(--navy);color:#fff}
.category-filters button.active span{color:#c9d7ea}
.result-summary{height:39px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;color:#778294;font-size:10px;background:#fcfcfd;border-bottom:1px solid var(--line)}
.result-summary b{color:var(--navy);font-size:12px}
.result-summary button{border:0;background:transparent;color:var(--blue);font-size:10px;font-weight:700}
.file-list{display:block}
.file-row{display:grid;grid-template-columns:48px minmax(0,1fr) 112px;gap:13px;align-items:center;padding:12px 14px;border-bottom:1px solid #e9edf2}
.file-row:last-child{border-bottom:0}
.file-row:hover{background:#fafbfd}
.file-icon{width:44px;height:44px;display:grid;place-items:center;background:var(--navy);color:#fff;font:800 8px ui-monospace,monospace;letter-spacing:.02em}
.file-info{min-width:0}
.file-info h3{font-size:12px;line-height:1.45;margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-info>p{margin:0 0 5px;color:#7a8495;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-meta{display:flex;gap:6px;flex-wrap:wrap}
.file-meta span{font-size:9px;color:#586679;background:#eef2f6;padding:2px 5px}
.file-actions{display:flex;align-items:flex-end;flex-direction:column;gap:6px}
.file-actions a,.file-actions button{width:86px;height:29px;display:grid;place-items:center;text-decoration:none;border:1px solid #cbd5e1;background:#fff;color:var(--navy);font-size:10px;font-weight:800}
.file-actions a{background:var(--navy);border-color:var(--navy);color:#fff}
.file-actions a:hover{background:var(--blue)}
.file-actions button:hover{border-color:var(--navy)}
.load-more{width:100%;height:44px;border:0;border-top:1px solid var(--line);background:#f8f9fb;color:var(--navy);font-size:11px;font-weight:800}
.empty-state{text-align:center;padding:50px 20px;color:var(--muted)}
.empty-state b{color:var(--ink);font-size:15px}
.empty-state p{font-size:11px;margin:5px 0 15px}
.empty-state button{border:1px solid var(--navy);background:#fff;color:var(--navy);padding:7px 12px;font-weight:700;font-size:11px}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:var(--line);gap:1px}
.guide-card{min-width:0;height:132px;background:#fff;border:0;color:var(--ink);padding:16px;text-align:left;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:1fr auto;gap:0 10px}
.guide-card:hover{background:#f7f9fc}
.guide-no{width:31px;height:31px;display:grid;place-items:center;border:1px solid #cbd6e4;color:var(--navy);font:800 10px ui-monospace,monospace}
.guide-copy b{display:block;font-size:14px;margin-bottom:4px}
.guide-copy small{display:block;color:var(--muted);font-size:10px;line-height:1.5}
.guide-meta{grid-column:1/3;align-self:end;padding-top:9px;border-top:1px solid #edf0f4;color:#7a8494;font-size:9px;font-weight:700;letter-spacing:.03em}
.guide-meta i{float:right;color:var(--blue);font-style:normal;font-size:13px}
.two-column-info{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;padding-top:56px}
.campus-section,.topic-index{background:#fff;border:1px solid var(--line);padding:20px;scroll-margin-top:82px}
.section-heading.compact{margin-bottom:14px;align-items:center}
.section-heading.compact h2{font-size:21px}
.campus-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}
.campus-tabs button{height:36px;border:0;border-right:1px solid var(--line);background:#f8f9fb;color:#677286;font-size:11px;font-weight:800}
.campus-tabs button:last-child{border-right:0}
.campus-tabs button.active{background:var(--navy);color:#fff}
.campus-detail{padding-top:18px}
.campus-title{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:8px}
.campus-title span{font-size:10px;color:var(--orange);font-weight:800}
.campus-title h3{margin:0;font-size:18px}
.campus-detail dl{margin:0}
.campus-detail dl>div{display:grid;grid-template-columns:72px 1fr;padding:11px 0;border-bottom:1px solid var(--line)}
.campus-detail dt{font-size:10px;color:#7b8697;font-weight:800}
.campus-detail dd{margin:0;font-size:11px;color:#39465a}
.campus-detail>p{font-size:10px;color:#687487;background:#f2f5f8;padding:9px 10px;margin:12px 0}
.campus-detail>button{border:0;background:transparent;color:var(--blue);padding:0;font-size:10px;font-weight:800}
.topic-links{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-bottom:0}
.topic-links button{height:48px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;color:var(--ink);padding:0 11px;text-align:left;font-size:11px;font-weight:700}
.topic-links button:nth-child(2n){border-right:0}
.topic-links button:hover{background:#f5f7fa}
.topic-links i{float:right;color:#9ba5b4;font-style:normal}
.notice-strip{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:42px;padding:16px 18px;background:#fff3df;border:1px solid #edcf9c;scroll-margin-top:82px}
.notice-mark{width:32px;height:32px;display:grid;place-items:center;background:#dc6a32;color:#fff;font-size:18px;font-weight:900}
.notice-strip b{font-size:12px;color:#62421e}
.notice-strip p{margin:2px 0 0;color:#806541;font-size:10px;line-height:1.6}
.notice-strip a{color:#694515;font-size:10px;font-weight:800;white-space:nowrap;text-decoration:none;border-bottom:1px solid #9a743f}
footer{width:min(1180px,calc(100% - 40px));margin:24px auto 0;padding:20px 0 35px;border-top:1px solid #cfd5dd;display:grid;grid-template-columns:220px 1fr auto;gap:20px;align-items:start;color:#778294;font-size:10px}
footer>div{display:grid}
footer b{color:#3f4d61;font-size:12px}
footer p{margin:0}
footer>a{text-decoration:none;color:var(--navy);font-weight:800}
.mobile-nav{display:none}
dialog{width:min(620px,calc(100% - 28px));max-height:calc(100dvh - 34px);border:0;padding:28px;background:#fff;color:var(--ink);box-shadow:0 24px 70px rgba(8,25,49,.35);overflow-y:auto}
dialog::backdrop{background:rgba(10,25,48,.72);backdrop-filter:blur(2px)}
.close{position:absolute;right:15px;top:12px;width:32px;height:32px;border:1px solid var(--line);background:#fff;color:#647186;font-size:22px;line-height:1}
dialog>p{margin:0 0 6px;color:var(--orange);font:800 10px ui-monospace,monospace;letter-spacing:.1em}
dialog h2{margin:0 42px 18px 0;font-size:25px;letter-spacing:-.035em}
.action-plan{border:1px solid #cfd9e6;background:#f3f6fa;padding:13px 15px 7px;margin-bottom:20px}
.action-label{margin:0 0 7px!important;color:var(--navy);font-size:11px;font-weight:900;letter-spacing:.04em}
.action-plan ol{list-style:none;counter-reset:steps;padding:0;margin:0}
.action-plan li{counter-increment:steps;position:relative;padding:9px 0 9px 34px;border-top:1px solid #d9e0e9;color:#30435e;font-size:12px;line-height:1.65}
.action-plan li:before{content:counter(steps);position:absolute;left:0;top:9px;width:23px;height:23px;display:grid;place-items:center;background:var(--navy);color:#fff;font:800 9px ui-monospace,monospace}
.detail-content{font-size:12px;line-height:1.8;color:#425069}
.detail-content h3{margin:20px 0 6px;color:var(--ink);font-size:15px;border-bottom:1px solid var(--line);padding-bottom:5px}
.detail-content h3:first-child{margin-top:0}
.detail-content ul,.detail-content ol{padding-left:20px}
.detail-content li+li{margin-top:4px}
.modal-note{margin:20px 0 0!important;padding:11px 12px;background:#fff4df;color:#725733!important;font:400 10px/1.7 inherit!important;letter-spacing:0!important}
.noscript{position:fixed;left:10px;right:10px;bottom:10px;padding:12px;background:#7f291f;color:#fff;z-index:100}
@media(max-width:980px){
  .site-header{padding:0 20px}.desktop-nav{display:none}.header-count{margin-left:auto}
  main{width:min(100% - 28px,760px)}
  .command-center{grid-template-columns:1fr;min-height:auto}.command-copy{padding:34px 30px 30px}.command-copy h1{font-size:36px}.start-board{margin:0 18px 18px}.global-results{left:30px;right:30px;top:241px}
  .quick-entry{grid-template-columns:repeat(3,1fr)}.quick-entry>:nth-child(3n){border-right:0}.quick-entry>:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .featured-resources{grid-template-columns:repeat(2,1fr)}
  .guide-grid{grid-template-columns:repeat(2,1fr)}
  .two-column-info{grid-template-columns:1fr}
  footer{width:min(100% - 28px,760px)}
}
@media(max-width:640px){
  html{scroll-padding-top:60px}
  body{padding-bottom:64px;background:#f2f2ef}
  .site-header{height:58px;padding:0 14px}.brand{min-width:0}.brand-mark{width:31px;height:31px}.brand strong{font-size:13px}.brand small{font-size:8px}.header-count{padding:5px 7px;font-size:9px}.header-count b{font-size:12px}
  main{width:100%;margin:0}
  .command-center{margin:0;box-shadow:none}.command-copy{padding:25px 17px 23px}.eyebrow{font-size:9px}.command-copy h1{font-size:30px;margin-top:15px}.command-copy>p{font-size:12px;margin-bottom:18px}.global-search{height:49px}.global-search input{font-size:13px}.global-results{position:absolute;left:17px;right:17px;top:218px;max-width:none}.global-results>a{grid-template-columns:38px minmax(0,1fr)}.global-results a small{display:none}.search-hints{gap:5px}.search-hints button{font-size:9px;padding:4px 6px}
  .start-board{margin:0;background:#fff;border-top:4px solid var(--orange)}.board-head{height:46px}.start-board ol{display:grid;grid-template-columns:1fr 1fr}.start-board li{border-bottom:1px solid var(--line)}.start-board li:nth-child(odd){border-right:1px solid var(--line)}.start-board li+li{border-top:0}.start-board button{padding:12px 10px;grid-template-columns:31px 1fr}.start-board button:after{display:none}.start-board button b{font-size:11px;padding:0}.start-board button small{font-size:8px}.start-board button>span{width:24px;height:24px;font-size:8px}
  .quick-entry{grid-template-columns:repeat(2,1fr);border-left:0;border-right:0}.quick-entry>:is(button,a){padding:12px 10px}.quick-entry>:nth-child(3n){border-right:1px solid var(--line)}.quick-entry>:nth-child(2n){border-right:0}.quick-entry>:nth-child(-n+4){border-bottom:1px solid var(--line)}.quick-entry>:is(button,a)>span{width:31px;height:31px}.quick-entry>:is(button,a) b{font-size:11px}.quick-entry>:is(button,a) small{font-size:8px}
  .resource-section,.guide-section{padding:38px 12px 0}.section-heading{display:block;margin-bottom:14px}.section-heading h2{font-size:25px}.section-heading>p{margin-top:7px}.resource-stats{margin-top:12px;display:inline-flex}.resource-stats span{padding:7px 10px}.resource-stats b{font-size:13px}
  .featured-resources{display:flex;overflow-x:auto;gap:1px;scroll-snap-type:x proximity;scrollbar-width:thin}.featured-card{flex:0 0 280px;min-width:280px;max-width:280px;min-height:175px;padding:13px;scroll-snap-align:start}.featured-copy h3{font-size:12px}.featured-copy p{font-size:9px}.featured-card>a{font-size:10px}
  .library-panel{border-left:0;border-right:0;margin-left:-12px;margin-right:-12px}.library-toolbar{grid-template-columns:1fr 1fr;padding:9px}.library-search{grid-column:1/3}.library-toolbar select{height:36px}.category-filters{padding:9px}.result-summary{padding:0 10px}
  .file-row{grid-template-columns:39px minmax(0,1fr);gap:10px;padding:11px 10px}.file-icon{width:37px;height:37px;font-size:7px}.file-info h3{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px}.file-info>p{display:none}.file-actions{grid-column:2;flex-direction:row;align-items:center}.file-actions a,.file-actions button{width:auto;height:27px;padding:0 10px;font-size:9px}.file-meta span{font-size:8px}
  .guide-grid{grid-template-columns:1fr}.guide-card{height:112px}.two-column-info{padding:38px 12px 0}.campus-section,.topic-index{padding:15px}.topic-links button{font-size:10px}
  .notice-strip{margin:30px 12px 0;grid-template-columns:30px 1fr;padding:13px}.notice-strip a{grid-column:2}
  footer{width:calc(100% - 24px);grid-template-columns:1fr;padding-bottom:18px}
  .mobile-nav{position:fixed;bottom:0;left:0;right:0;height:58px;z-index:28;display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 20px rgba(20,35,56,.08)}.mobile-nav a{display:grid;place-items:center;text-decoration:none;color:#6f7a8d;font-size:9px;padding:6px}.mobile-nav span{display:block;color:var(--navy);font-size:17px;line-height:17px}.mobile-nav a.active{color:var(--navy)}.mobile-nav a.active span{color:var(--orange)}
  dialog{padding:23px 17px}.close{right:10px;top:9px}dialog h2{font-size:22px}
}
@media(max-width:390px){.featured-card{flex-basis:260px;min-width:260px;max-width:260px;min-height:165px}.featured-copy p{-webkit-line-clamp:1}.global-results{top:236px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}


/* Search suggestions stay anchored below the input at every zoom level. */
.search-wrap{position:relative;max-width:680px}
.search-wrap .global-search{max-width:none;width:100%}
.search-wrap .global-results{position:absolute;left:0;right:0;top:calc(100% + 6px);width:100%;max-width:none;max-height:min(360px,55vh);margin:0;overflow-y:auto;overscroll-behavior:contain}
@media(max-width:640px){.search-wrap .global-results{left:0;right:0;top:calc(100% + 5px);max-width:none}}

/* Full campus map module, placed before the material library. */
.campus-hub{margin-top:56px;padding:20px;background:#fff;border:1px solid var(--line);scroll-margin-top:82px}
.official-map-source{flex:0 0 auto;color:var(--navy);font-size:10px;font-weight:800;text-decoration:none;border-bottom:1px solid #9aa9bd;padding-bottom:2px}
.campus-hub .campus-tabs{height:44px}
.campus-hub .campus-tabs button{height:42px;font-size:12px}
.campus-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.55fr);gap:16px;margin-top:14px;align-items:start}
.campus-map-card{margin:0;border:1px solid var(--line);background:#eef7fb;min-width:0}
.campus-map-card>a{height:600px;display:flex;align-items:flex-start;justify-content:center;overflow:auto;background:#dff2fb;text-decoration:none}
.campus-map-card img{display:block;width:auto;max-width:100%;height:auto;max-height:none;min-height:100%;object-fit:contain}
.campus-map-card figcaption{height:40px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-top:1px solid var(--line);color:#6f7b8e;font-size:9px}
.campus-map-card figcaption a{color:var(--blue);font-weight:800;text-decoration:none}
.campus-layout .campus-detail{padding:0;border-top:4px solid var(--orange)}
.campus-layout .campus-title{display:block;padding:15px 14px 12px;background:#f7f9fc;border-bottom:2px solid var(--ink)}
.campus-layout .campus-title h3{margin-top:4px;font-size:21px}
.campus-layout .campus-detail dl,.campus-layout .campus-detail>p,.campus-layout .campus-detail>button{margin-left:14px;margin-right:14px}
.campus-layout .campus-detail dl>div{display:block;padding:13px 0}
.campus-layout .campus-detail dt{margin-bottom:4px;color:var(--orange);letter-spacing:.06em}
.campus-layout .campus-detail dd{font-size:11px;line-height:1.65}
.campus-map-note{margin:11px 0 0;padding:9px 11px;background:#fff4df;color:#725a38;font-size:9px;line-height:1.65}
.campus-impressions{margin-top:42px;padding:20px;background:#fff;border:1px solid var(--line);scroll-margin-top:82px}
.impressions-heading{align-items:flex-end}.impressions-disclaimer{max-width:370px;margin:0!important;padding:9px 11px;border-left:3px solid var(--orange);background:#fff4df;color:#725a38;font-size:10px!important;line-height:1.65}.impressions-disclaimer b{color:var(--ink)}
.campus-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.photo-carousel{min-width:0;border:1px solid var(--line);background:#f7f9fc}.photo-carousel>header{min-height:102px;padding:14px 14px 12px;border-top:4px solid var(--navy);background:#fff}.photo-carousel:nth-child(2)>header{border-top-color:var(--orange)}.photo-carousel:nth-child(3)>header{border-top-color:var(--green)}.photo-carousel>header p{margin:0;color:#78869a;font:800 9px/1.3 ui-monospace,monospace;letter-spacing:.06em}.photo-carousel>header h3{margin:6px 0 4px;font-size:20px;line-height:1.1}.photo-carousel>header span{display:block;color:#66748a;font-size:10px;line-height:1.55}
.dormitory-gallery-entry{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin-top:15px;padding:15px 17px;border:1px solid var(--line);border-left:4px solid var(--orange);background:#fff;color:var(--ink);text-decoration:none}.dormitory-gallery-entry span{color:var(--orange);font:800 10px/1.2 ui-monospace,monospace;letter-spacing:.05em}.dormitory-gallery-entry b{font-size:14px}.dormitory-gallery-entry i{font-style:normal;color:var(--navy);font-weight:800}.dormitory-gallery-entry:hover{background:#fff8ed}
.photo-carousel-stage{position:relative;aspect-ratio:4/3;overflow:hidden;background:#dfe7ef;outline-offset:3px}.photo-carousel-stage:focus-visible{outline:3px solid var(--blue)}.gallery-photo,.gallery-photo img{width:100%;height:100%}.gallery-photo img{display:block;object-fit:cover}.gallery-overlay{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:end;justify-content:space-between;gap:8px;padding:20px 10px 9px;color:#fff;background:linear-gradient(transparent,rgba(11,25,46,.8));font-size:10px}.gallery-caption{font-weight:800}.gallery-count{font:800 10px ui-monospace,monospace}.gallery-controls{position:absolute;top:9px;right:9px;display:flex;gap:4px}.gallery-controls button{width:30px;height:30px;border:1px solid rgba(255,255,255,.7);background:rgba(12,30,57,.72);color:#fff;font-size:17px;line-height:1}.gallery-controls button:hover,.gallery-controls button:focus-visible{background:var(--orange);outline:0}.gallery-dots{display:flex;gap:4px;min-height:35px;align-items:center;overflow-x:auto;padding:0 10px;background:#fff}.gallery-dots button{width:6px;height:6px;flex:0 0 auto;padding:0;border:0;border-radius:99px;background:#c9d2de}.gallery-dots button.active{width:18px;background:var(--navy)}.gallery-dots button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.topic-index-wide{margin-top:42px;background:#fff;border:1px solid var(--line);padding:20px;scroll-margin-top:82px}
.topic-index-wide .topic-links{grid-template-columns:repeat(4,1fr)}
.topic-index-wide .topic-links button:nth-child(2n){border-right:1px solid var(--line)}
.topic-index-wide .topic-links button:nth-child(4n){border-right:0}
@media(max-width:820px){
  .campus-layout{grid-template-columns:1fr}
  .campus-map-card>a{height:560px}
  .campus-layout .campus-detail{border:1px solid var(--line);border-top:4px solid var(--orange)}
  .topic-index-wide .topic-links{grid-template-columns:1fr 1fr}
  .topic-index-wide .topic-links button:nth-child(2n){border-right:0}
}
@media(max-width:640px){
  .campus-hub{margin-top:38px;padding:15px 12px;border-left:0;border-right:0}
  .official-map-source{display:inline-block;margin-top:10px}
  .campus-hub .campus-tabs button{font-size:10px}
  .campus-map-card>a{height:440px}
  .campus-map-card img{min-height:0;height:100%;max-width:none;max-height:100%}
  .campus-layout .campus-title h3{font-size:18px}
  .topic-index-wide{margin:30px 12px 0;padding:15px}
  .campus-impressions{margin:30px 12px 0;padding:15px}.campus-gallery{grid-template-columns:1fr;gap:12px}.impressions-disclaimer{margin-top:11px!important;max-width:none}.photo-carousel>header{min-height:0}.photo-carousel-stage{aspect-ratio:16/10}
}

/* Longzihu has a high-resolution planning map and a practical labeled map. */
.campus-map-switcher{display:flex;gap:6px;padding:8px;background:#fff;border-bottom:1px solid var(--line)}
.campus-map-switcher button{min-height:32px;padding:0 13px;border:1px solid #c8d0db;background:#f7f9fc;color:#59677a;font-size:10px;font-weight:800;cursor:pointer}
.campus-map-switcher button.active{border-color:var(--navy);background:var(--navy);color:#fff}
.campus-map-card:has(.campus-map-switcher)>a{height:559px}
@media(max-width:820px){.campus-map-card:has(.campus-map-switcher)>a{height:519px}}
@media(max-width:640px){.campus-map-switcher{overflow-x:auto}.campus-map-switcher button{flex:1 0 auto}.campus-map-card:has(.campus-map-switcher)>a{height:399px}.campus-map-card.landscape-map>a{height:auto;min-height:0}.campus-map-card.landscape-map img{width:100%;height:auto;max-width:100%;max-height:none}}

/* Nested essential-app guides inside the existing detail dialog. */
.app-hub-intro{margin:0 0 16px;color:#485872;font-size:12px;line-height:1.75}
.app-guide-grid{display:grid;grid-template-columns:1fr;gap:10px}
.app-guide-card{border:1px solid var(--line);background:#fff;padding:15px;box-shadow:0 7px 18px rgba(20,43,75,.05)}
.app-guide-head{display:flex;align-items:center;gap:11px}
.app-guide-head>span,.app-guide-summary>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;background:var(--navy);color:#fff;font-size:17px;font-weight:900;border-radius:5px;box-shadow:3px 3px 0 #d7e1ef}
.app-guide-head small{display:block;color:var(--orange);font-size:9px;font-weight:800;letter-spacing:.05em}
.app-guide-head h3{margin:2px 0 0;font-size:18px}
.app-guide-card>p{margin:11px 0;color:#5b687b;font-size:11px;line-height:1.7}
.app-feature-list{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:13px}
.app-feature-list span{padding:4px 7px;background:#eef3f8;color:#40526d;font-size:9px;font-weight:700}
.app-guide-card>button{width:100%;height:36px;border:0;background:#f3f6fa;color:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:0 11px;font-size:10px;font-weight:900}
.app-guide-card>button:hover{background:var(--navy);color:#fff}
.modal-back{margin:-4px 0 13px;border:0;background:transparent;color:var(--blue);padding:0;font-size:10px;font-weight:900}
.app-guide-summary{display:flex;align-items:center;gap:13px;padding:13px;background:#eef3f8;border-left:4px solid var(--orange)}
.app-guide-summary p{margin:0;color:#405069;font-size:11px;line-height:1.7}
.app-section-nav{display:flex;gap:5px;overflow-x:auto;padding:12px 0 8px;scrollbar-width:thin}
.app-section-nav button{flex:0 0 auto;padding:5px 8px;border:1px solid #ccd6e3;background:#fff;color:#52617a;font-size:9px;font-weight:800}
.app-step-sections section{scroll-margin-top:10px;padding:15px 0;border-top:1px solid var(--line)}
.app-step-sections h3{display:flex;align-items:center;gap:9px;margin:0 0 9px;font-size:15px}
.app-step-sections h3 span{width:28px;height:25px;display:grid;place-items:center;background:var(--navy);color:#fff;font:800 9px ui-monospace,monospace}
.app-step-sections ol{list-style:none;counter-reset:appsteps;margin:0;padding:0}
.app-step-sections li{counter-increment:appsteps;position:relative;padding:8px 0 8px 34px;color:#405069;font-size:11px;line-height:1.7}
.app-step-sections li:before{content:counter(appsteps);position:absolute;left:3px;top:9px;width:20px;height:20px;display:grid;place-items:center;border:1px solid #b9c7d9;color:var(--navy);font:800 8px ui-monospace,monospace}
.app-warning{margin:4px 0 12px;padding:11px 12px;background:#fff4df;color:#725733;font-size:10px;line-height:1.7}
.app-guide-source{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;padding-top:11px;border-top:1px solid var(--line);color:#6d7889;font-size:9px}
.app-guide-source a,.app-guide-source button{border:0;background:transparent;color:var(--blue);padding:0;text-decoration:none;font-size:9px;font-weight:900}
@media(min-width:560px){.app-guide-grid{grid-template-columns:1fr 1fr}.app-guide-card:last-child{grid-column:1/3}}
@media(max-width:640px){.app-guide-card{padding:13px}.app-section-nav{margin-left:-2px;margin-right:-2px}.app-step-sections li{font-size:10px}.app-guide-source{align-items:flex-start;flex-direction:column}}

/* Evidence-based bed-size comparison in the packing guide. */
.bed-size-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 12px}
.bed-size-grid article{padding:11px;border:1px solid var(--line);background:#f7f9fc}
.bed-size-grid span{display:block;color:var(--orange);font-size:9px;font-weight:900}
.bed-size-grid strong{display:block;margin:4px 0 6px;color:var(--navy);font-size:13px;line-height:1.35}
.bed-size-grid p{margin:0;color:#5d697b;font-size:9px;line-height:1.65}
.bed-size-grid ul{margin:8px 0 0;padding-left:16px;color:#5d697b;font-size:9px;line-height:1.65}
.bed-size-grid li+li{margin-top:6px}
.bed-evidence{margin:10px 0 18px;border:1px solid #d6dee9;background:#fff}
.bed-evidence summary{padding:9px 11px;color:var(--navy);font-size:10px;font-weight:900;cursor:pointer}
.bed-evidence p{margin:0;padding:0 11px 11px;color:#627086;font-size:9px;line-height:1.7}
@media(max-width:640px){.bed-size-grid{grid-template-columns:1fr}.bed-size-grid article{padding:10px}.bed-size-grid p{font-size:9px}}

/* Non-official student community: visible near the top, QR shown on demand. */
.community-strip{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:14px;padding:14px 16px;background:#edf6ff;border:1px solid #c6d8ee;border-left:4px solid var(--blue)}
.community-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:50%;font:900 11px ui-monospace,monospace;box-shadow:3px 3px 0 #c9d8ec}
.community-copy p{margin:0;color:var(--blue);font:800 9px/1.2 ui-monospace,monospace;letter-spacing:.1em}
.community-copy h2{margin:3px 0 1px;font-size:17px;line-height:1.25}
.community-copy h2 span{color:var(--blue);font:900 15px ui-monospace,monospace;white-space:nowrap}
.community-copy small{display:block;color:#68778d;font-size:9px;line-height:1.55}
.community-actions{display:flex;gap:7px}
.community-actions button{height:34px;padding:0 11px;border:1px solid #b9cae0;background:#fff;color:var(--navy);font-size:9px;font-weight:900}
.community-actions button.primary{border-color:var(--blue);background:var(--blue);color:#fff}
.community-modal-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(230px,1fr);gap:18px;align-items:start}
.community-qr{margin:0;padding:9px;border:1px solid var(--line);background:#f4f5f7}
.community-qr img{display:block;width:100%;height:auto;background:#f2f3f5}
.community-qr figcaption{text-align:center;padding:8px 3px 1px;color:#6e7a8c;font-size:9px}
.community-join-guide{font-size:11px;color:#485872}
.community-group-number{display:grid;grid-template-columns:1fr auto;gap:3px 9px;align-items:center;padding:12px;background:#edf3fa;border-left:4px solid var(--blue)}
.community-group-number small{grid-column:1;color:#738096;font-size:9px}
.community-group-number strong{font:900 22px ui-monospace,monospace;color:var(--navy);letter-spacing:.02em}
.community-group-number button{grid-column:2;grid-row:1/3;height:32px;border:0;background:var(--blue);color:#fff;padding:0 10px;font-size:9px;font-weight:900}
.community-join-guide h3{margin:16px 0 5px;color:var(--ink);font-size:13px}
.community-join-guide ol{margin:0;padding-left:19px;line-height:1.8}
.community-join-guide p{margin:0;line-height:1.7}
@media(max-width:640px){.community-strip{grid-template-columns:38px minmax(0,1fr);gap:10px;margin-top:10px;padding:12px;border-left:0;border-right:0}.community-mark{width:36px;height:36px}.community-copy h2{font-size:14px}.community-copy h2 span{display:block;margin-top:2px;font-size:13px}.community-actions{grid-column:1/3;display:grid;grid-template-columns:1fr 1fr}.community-actions button{width:100%}.community-modal-grid{grid-template-columns:1fr}.community-qr{width:min(100%,310px);margin:0 auto}.community-join-guide{font-size:10px}}

/* Clearly separated voluntary commercial services, placed after public information. */
.service-preview-notice{margin:42px 0 10px;padding:11px 13px;border:1px solid #e7c498;border-left:4px solid var(--orange);background:#fff2df;color:#7c4c24;font-size:10px;font-weight:700;line-height:1.65}
.service-preview-notice b{color:#9f552e}
.service-preview-notice+.service-section{margin-top:0}
.service-section{margin-top:42px;padding:20px;background:#fff;border:1px solid var(--line);scroll-margin-top:82px}
.service-commercial-label{flex:0 0 auto;padding:6px 9px;background:#fff2df;color:#8b5223;border:1px solid #e7c498;font-size:9px;font-weight:900}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.service-card{padding:17px;border:1px solid #d5dde8;border-top:4px solid var(--blue);background:#f9fbfd}
.service-card:last-child{border-top-color:var(--orange)}
.service-card-head{display:flex;align-items:center;gap:11px}
.service-card-head>span{width:42px;height:42px;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:10px;font-weight:900}
.service-card:last-child .service-card-head>span{background:var(--orange)}
.service-card-head small{display:block;color:#8a5b2d;font-size:8px;font-weight:900;letter-spacing:.06em}
.service-card-head h3{margin:2px 0 0;font-size:17px}
.service-card>p{min-height:54px;margin:12px 0 9px;color:#59677b;font-size:10px;line-height:1.7}
.campus-card-plan{display:grid;gap:5px;margin:12px 0;padding:11px 12px;border:1px solid #efc47e;background:#fff7e8}.campus-card-plan>b{color:#9b4800;font-size:11px;line-height:1.5}.campus-card-plan>span{color:#81451b;font-size:10px;font-weight:800;line-height:1.6}.campus-card-plan>p{min-height:0;margin:0;color:#435269;font-size:9px;line-height:1.65}.campus-card-plan>small{color:#795d3c;font-size:8px;line-height:1.6}
.service-card ul{margin:0 0 14px;padding-left:18px;color:#536075;font-size:9px;line-height:1.8}
.service-card button{width:100%;height:38px;border:0;background:var(--navy);color:#fff;font-size:10px;font-weight:900}
.service-card:last-child button{background:#a74f2b}
.service-disclaimer{margin:12px 0 0;padding:10px 11px;background:#fff4df;color:#765a36;font-size:9px;line-height:1.7}
.service-inquiry{display:grid;grid-template-columns:1fr auto;gap:3px 9px;align-items:center;margin-top:9px;padding:10px 12px;background:#fff3df;border-left:4px solid var(--orange)}
.service-inquiry small{grid-column:1;color:#836745;font-size:8px}
.service-inquiry strong{color:#6d4321;font-size:13px}
.service-inquiry button{grid-column:2;grid-row:1/3;height:30px;border:0;background:#9f552e;color:#fff;padding:0 9px;font-size:8px;font-weight:900}
@media(max-width:640px){.service-preview-notice{margin:30px 12px 10px}.service-preview-notice+.service-section{margin-top:0}.service-section{margin-top:30px;padding:15px 12px;border-left:0;border-right:0}.service-commercial-label{display:inline-block;margin-top:10px}.service-grid{grid-template-columns:1fr}.service-card>p{min-height:0}.service-card{padding:14px}}
.campus-dorm-links{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.campus-dorm-links small{display:flex;align-items:center;margin-right:2px;color:#6f7c90;font:800 10px/1 ui-monospace,monospace;letter-spacing:.05em}.campus-dorm-links a{padding:7px 9px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:11px;font-weight:800;text-decoration:none}.campus-dorm-links a:hover{border-color:var(--orange);background:#fff4df}.campus-dorm-links i{color:var(--orange);font-style:normal}
.campus-dorm-locator{margin-top:16px;padding:14px;border:1px solid #d7e0ea;background:#f7fafc}.campus-dorm-locator header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.campus-dorm-locator header small{display:block;margin-bottom:4px;color:var(--orange);font:800 9px/1.2 ui-monospace,monospace;letter-spacing:.06em}.campus-dorm-locator header b{display:block;color:var(--ink);font-size:13px;line-height:1.45}.campus-dorm-locator header>span{flex:0 0 auto;padding:5px 7px;background:#fff4df;color:#8b5b34;font-size:10px;font-weight:800}.campus-dorm-locator>p{margin:10px 0 12px;color:#66758a;font-size:11px;line-height:1.65}.campus-dorm-locator>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.campus-dorm-locator a{position:relative;display:block;padding:10px 26px 10px 10px;border:1px solid #dce4ed;background:#fff;color:var(--ink);text-decoration:none}.campus-dorm-locator a span{display:block;font-size:12px;font-weight:800}.campus-dorm-locator a small{display:block;margin-top:3px;color:#748197;font-size:10px}.campus-dorm-locator a i{position:absolute;right:9px;top:50%;transform:translateY(-50%);color:var(--orange);font-style:normal;font-weight:800}.campus-dorm-locator a:hover{border-color:var(--orange);background:#fff8ed}@media(max-width:700px){.campus-dorm-locator>div{grid-template-columns:1fr}.campus-dorm-locator header{display:block}.campus-dorm-locator header>span{display:inline-block;margin-top:8px}}
.campus-location-map{position:relative;min-height:300px;margin-top:13px;overflow:hidden;border:1px solid #d5dde7;background:linear-gradient(135deg,#edf4ef 0 48%,#f7f3ea 48% 100%)}.campus-location-map:before,.campus-location-map:after{position:absolute;content:"";background:rgba(255,255,255,.65)}.campus-location-map:before{width:150%;height:18px;left:-20%;top:48%;transform:rotate(-18deg)}.campus-location-map:after{width:18px;height:140%;left:54%;top:-20%;transform:rotate(25deg)}.map-north{position:absolute;top:12px;right:14px;color:#597086;font:800 10px/1 ui-monospace,monospace}.map-campus{position:absolute;z-index:1;left:50%;top:50%;width:132px;min-height:74px;transform:translate(-50%,-50%);display:grid;place-content:center;text-align:center;border:2px solid var(--navy);background:#fff;color:var(--navy)}.map-campus b{font-size:15px}.map-campus small{margin-top:5px;color:#738197;font-size:10px}.map-residence{position:absolute;z-index:2;width:138px;padding:9px 10px;border:1px solid #e0b276;background:#fffaf2;color:var(--ink);box-shadow:0 4px 12px rgba(22,59,115,.08);text-decoration:none}.map-residence b,.map-residence small,.map-residence i{display:block}.map-residence b{font-size:12px}.map-residence small{margin-top:3px;color:#64748a;font-size:10px;line-height:1.45}.map-residence i{margin-top:7px;color:#b96432;font-size:10px;font-style:normal;font-weight:800}.map-residence:hover{border-color:var(--orange);transform:translateY(-2px)}.map-residence.north{top:28px;left:calc(50% - 69px)}.map-residence.south{bottom:19px;left:calc(50% - 69px);border-color:#8db5a0;background:#f6fbf7}.map-residence.east{right:18px;top:calc(50% - 35px)}.map-residence.southeast{right:32px;bottom:24px}.map-residence.inside{left:calc(50% - 69px);bottom:23px;border-color:#8db5a0;background:#f6fbf7}.map-residence.external{position:relative;display:inline-block;vertical-align:top;width:calc(50% - 8px);margin:13px 0 0 10px;left:auto;top:auto;right:auto;bottom:auto}.map-residence.external:first-of-type{margin-left:12px}@media(max-width:700px){.campus-location-map{min-height:390px}.map-residence{width:120px}.map-residence.east{right:10px;top:51%}.map-residence.southeast{right:10px;bottom:20px}.map-residence.external{display:block;width:auto;margin:10px 10px 0}.map-residence.external:first-of-type{margin-left:10px}.map-campus{top:45%}}
.campus-dorm-locator>.campus-location-map{display:block}
.campus-map-card{position:relative}.campus-map-link{position:absolute;z-index:3;transform:translate(-50%,-50%);min-width:88px;max-width:142px;padding:7px 9px;border:1px solid #b85c2d;border-radius:3px;background:#fff8ed;color:#853b18;font-size:10px;font-weight:800;line-height:1.35;text-align:center;text-decoration:none;box-shadow:0 2px 8px rgba(84,47,24,.22)}.map-x-8{left:8%}.map-x-23{left:23%}.map-x-36{left:36%}.map-x-46{left:46%}.map-x-49{left:49%}.map-x-54{left:54%}.map-x-81{left:81%}.map-x-89{left:89%}.map-x-95{left:95%}.map-y-15{top:15%}.map-y-18{top:18%}.map-y-42{top:42%}.map-y-43{top:43%}.map-y-45{top:45%}.map-y-54{top:54%}.map-y-73{top:73%}.map-y-76{top:76%}.map-y-81{top:81%}.campus-map-link:before{position:absolute;left:50%;bottom:-6px;width:9px;height:9px;content:"";transform:translateX(-50%) rotate(45deg);border-right:1px solid #b85c2d;border-bottom:1px solid #b85c2d;background:#fff8ed}.campus-map-link i{position:relative;font-style:normal;color:var(--orange)}.campus-map-link:hover{background:#fff0d5}@media(max-width:700px){.campus-map-link{min-width:0;max-width:104px;padding:5px 6px;font-size:8px}}
.campus-map-card>a.campus-map-link{height:auto;min-height:0;display:block;overflow:visible;background:#fff8ed}.campus-map-card>a.campus-map-link:hover{background:#fff0d5}.campus-map-link.align-right{transform:translate(-100%,-50%)}.campus-map-link.align-right:before{left:auto;right:10px;transform:rotate(45deg)}

/* Source and recency labels for every material. */
.material-label-guide{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:-4px 0 12px;padding:10px 12px;border:1px solid #d8e0ea;background:#f8fafc}
.material-label-guide>b{color:var(--navy);font-size:10px;margin-right:2px}
.material-label-guide p{flex:1 1 100%;margin:2px 0 0;color:#68758a;font-size:9px;line-height:1.55}
.material-labels{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.material-label{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:3px 6px;border:1px solid transparent;font-size:8px!important;font-weight:900;line-height:1.35;white-space:normal}
.material-label.source.campus-official{color:#165c3b;background:#e8f7ef;border-color:#afdac3}
.material-label.source.school-document{color:#174e79;background:#eaf3fb;border-color:#b9d3e8}
.material-label.source.college-document{color:#584180;background:#f1ecfa;border-color:#d3c5e9}
.material-label.source.template{color:#5f586b;background:#f2f0f5;border-color:#d6d0de}
.material-label.source.experience{color:#8a4a2f;background:#fff0e8;border-color:#edc7b5}
.material-label.source.reference{color:#556274;background:#eef2f6;border-color:#d4dbe4}
.material-label.time.current{color:#165c3b;background:#f1fbf5;border-color:#c5e5d2}
.material-label.time.historical{color:#6b5a3d;background:#f8f1e4;border-color:#dfd0b4}
.material-label.time.undated{color:#677384;background:#f3f5f7;border-color:#dce1e7}
.file-meta .material-label{background-clip:padding-box}
@media(max-width:640px){.material-label-guide{margin-left:-12px;margin-right:-12px;border-left:0;border-right:0}.material-label-guide p{font-size:8px}.featured-copy .material-label{font-size:8px!important}}

.rate-plan-intro{color:#526179;line-height:1.7}.rate-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 20px}.rate-plan-grid article{padding:16px;border:1px solid #d7e0ec;border-top:4px solid var(--navy);background:#f8fafc}.rate-plan-grid article:nth-child(2){border-top-color:#2d69b8;background:#f3f7fd}.rate-plan-grid article:nth-child(3){border-top-color:#b96032;background:#fff7f0}.rate-plan-grid h4{margin:0 0 8px;color:var(--navy);font-size:17px}.rate-plan-grid b{display:block;color:#b13d37;font-size:15px}.rate-plan-grid p{margin:10px 0;color:#27364d;font-size:14px;line-height:1.65}.rate-plan-grid small{display:block;color:#8a3b32;font-size:12px;line-height:1.6}@media(max-width:760px){.rate-plan-grid{grid-template-columns:1fr}.rate-plan-grid article{padding:14px}}
.rate-plan-highlight{display:grid;gap:5px;margin:12px 0;padding:14px 16px;border:1px solid #f1bf6b;background:#fff7e7}.rate-plan-highlight b{color:#a74b00;font-size:16px}.rate-plan-highlight span{color:#71491c;font-size:14px;line-height:1.6}.rate-plan-grid small strong{color:#a83b25}
