﻿/* Shared homepage language, adapted for quiet reading and dense directories. */
@font-face{font-family:CollegeBrush;src:url('fonts/college-calligraphy.woff2?v=information') format('woff2');font-display:swap;font-weight:400}
body:not(.home-page){background:#f5f7fb url('../images/art/paper-warm.jpg');--inner-brush:CollegeBrush,"STKaiti","KaiTi",var(--serif)}
body:not(.home-page) #main{position:relative;isolation:isolate}
body:not(.home-page) #main:before{content:"";position:absolute;inset:300px 0 auto;height:660px;background:url('../images/art/campus-wash.png') center top/1600px auto no-repeat;opacity:.65;z-index:-1;pointer-events:none}
body:not(.home-page) #main:after{content:"";position:absolute;inset:420px 0 auto;height:650px;background:url('../images/art/neural-field.svg') right top/850px auto no-repeat;opacity:.22;z-index:-1;pointer-events:none}
.inner-hero{min-height:272px;background:#18399e url('../images/art/paper-warm.jpg');background-blend-mode:multiply;border-bottom:3px solid #527ac1}
.inner-background{opacity:.19;filter:grayscale(1);object-position:center 60%;mask-image:linear-gradient(90deg,transparent,#000 55%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 55%)}
.inner-hero:after{background:linear-gradient(90deg,#183266b3,transparent 75%),url('../images/art/neural-field.svg') right center/760px auto no-repeat;opacity:.7}
.inner-hero>.wrap{padding-block:40px}
.inner-hero h1{font:400 56px/1.5 var(--inner-brush);letter-spacing:.07em;margin:6px 0;overflow-wrap:anywhere}
.inner-hero .en-label{font-family:Georgia,serif;font-size:10px;letter-spacing:.19em;color:#c5d6f0}
.inner-hero p{font-size:14px;line-height:1.9;max-width:680px;color:#e5edf8}
.breadcrumb{font-size:12px;border-color:#527ac145;padding-block:20px;row-gap:6px}
.content-layout{gap:40px;margin-top:36px;margin-bottom:76px}
.section-sidebar{background:#fbfcffde;border-radius:2px 2px 28px 2px;overflow:hidden;border:1px solid #527ac140}
.section-sidebar h2{background:#18399e url('../images/art/neural-field.svg') center/450px;font:400 28px/1.6 var(--inner-brush);padding:24px}
.section-sidebar nav a{min-height:54px;align-items:center;border-color:#527ac130}
.section-sidebar nav a[aria-current=page]{background:#e5edf8;border-left:3px solid var(--red);padding-left:19px}
.sidebar-search{margin:22px 18px;padding:12px 10px;min-height:44px}
.section-content{min-width:0;padding:32px 36px 36px;background:#fffdfaeb;border:1px solid #527ac12d;border-radius:2px 2px 34px 2px}
.content-heading{border-bottom:1px solid #527ac180;padding-bottom:20px;gap:18px;align-items:baseline}
.content-heading h2{font:400 31px/1.5 var(--serif);color:var(--red);letter-spacing:.05em}
.content-heading>span{flex-shrink:0;color:#45669c}
.article-row{padding-block:24px;gap:22px;border-color:#527ac140}
.article-row h3{font-weight:500;font-size:17px;line-height:1.85;overflow-wrap:anywhere}
.article-row .row-date{border-right:1px solid #527ac138;padding-right:16px;width:72px}
.row-photo{border-radius:1px 1px 15px 1px}
.filter-search input,.year-filter select{background:#fbfcff;border-color:#527ac170;min-height:44px}
.filter-search input:focus-visible,.year-filter select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.pagination button{min-width:44px;height:44px;background:#fbfcff}
.directory-grid a,.program-card,.faculty-card,.studio-card,.related-callout{border:1px solid #527ac133;border-radius:2px 2px 24px 2px;overflow:hidden;background:#f2f6fc}
.directory-grid h3,.program-card h3{line-height:1.6;overflow-wrap:anywhere}
.faculty-card,.studio-card{background:#f2f6fc}
.faculty-card>div:last-child{padding:20px}
.program-card{border-bottom:2px solid var(--gold)}
.team-block>div{min-width:0}
.article-body{color:#353731;line-height:2.05}
.article-body img{border-radius:2px;max-width:100%!important}
.article-body table{background:#fffdfa}
.table-scroll{max-width:100%;overscroll-behavior-inline:contain;border:1px solid #527ac140}
.table-scroll:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.content-source{gap:16px;flex-wrap:wrap;line-height:1.9;border-color:#527ac155}
.detail-main{padding-top:166px}
body:not(.home-page) .detail-main:before{inset:145px 0 auto;background-position:center top;opacity:.7}
body:not(.home-page) .detail-main:after{inset:160px 0 auto;opacity:.27}
.detail-main>.breadcrumb{max-width:1080px}
.article-shell{max-width:1040px;padding:48px 64px 44px;margin-top:25px;background:#fffdf9f5;border:1px solid #527ac140;border-top:3px solid var(--red);border-radius:2px 2px 32px 2px;box-shadow:0 12px 45px #10286e05}
.article-heading{position:relative}
.article-category{color:var(--red);letter-spacing:.15em;padding-bottom:9px;margin-bottom:20px}
.article-heading h1{font:600 32px/1.65 var(--serif);letter-spacing:.02em;overflow-wrap:anywhere}
.article-meta{border-color:#527ac140;font-size:12px;flex-wrap:wrap;line-height:1.8;padding-block:12px}
.reading-tools{gap:8px}
.reading-tools button{min-width:44px;min-height:44px;border:1px solid #527ac145;background:#f2f6fc;font-size:12px}
.reading-tools button:disabled{opacity:.4;cursor:default}
.article-pagination{gap:30px;border-color:#527ac155}
.article-pagination a{min-width:0;overflow-wrap:anywhere;line-height:1.9}
.back-list{min-height:44px;display:inline-flex;align-items:center;margin-top:16px;padding-top:0}
.related-section{max-width:1040px}
.related-section>h2{font:400 34px/1.5 var(--inner-brush);color:var(--red)}
.related-section>div{gap:22px}
.related-section a{padding:22px;background:#fffdfaab;border-top:2px solid #527ac180;border-radius:0 0 22px 0}
.related-section h3{font-weight:400;overflow-wrap:anywhere}
.attachments a{overflow-wrap:anywhere}
.search-page{padding:28px;background:#fffdf9e8;border:1px solid #527ac140;border-radius:0 0 28px 0}
body:not(.home-page) .site-footer{position:relative;isolation:isolate;overflow:hidden}
body:not(.home-page) .site-footer:after{content:"";position:absolute;width:132px;height:132px;right:40px;top:30px;background:url('../images/4cff974ce6012bcb.webp') center/contain;border-radius:50%;clip-path:circle(49.7%);filter:grayscale(1) invert(1);mix-blend-mode:screen;opacity:.035;z-index:-1;pointer-events:none}
@media(max-width:1100px){.detail-main{padding-top:108px}.content-layout{gap:26px}.section-content{padding:28px}.listing-faculty,.listing-studios{grid-template-columns:repeat(2,minmax(0,1fr))}.article-shell{padding:40px}.inner-hero h1{font-size:48px}}
@media(max-width:800px){
 .inner-hero{min-height:225px}.inner-hero h1{font-size:44px}.inner-hero>.wrap{padding-block:32px}
 .section-sidebar{border-radius:2px 2px 18px 2px;margin-bottom:24px}.section-sidebar nav{border-bottom:0;scroll-padding-inline:12px}.section-sidebar nav a{min-height:48px;font-size:14px}.section-sidebar nav a[aria-current=page]{border-left:0;border-bottom:2px solid var(--red);padding-left:17px}
 .section-content{padding:26px}.content-layout{margin-top:24px}.article-shell{padding:32px}.article-heading h1{font-size:28px}
 .detail-main{padding-top:102px}.article-row h3{font-size:16px}.article-row .row-date{width:60px;padding-right:12px}.content-heading h2{font-size:28px}
}
@media(max-width:520px){
 .inner-hero{min-height:210px}.inner-hero h1{font-size:38px;letter-spacing:.04em}.inner-hero>.wrap{padding-block:28px}.inner-hero .en-label{font-size:8px;letter-spacing:.1em}.inner-hero p{font-size:12px}
 .breadcrumb{font-size:11px;padding-block:16px;gap:7px}.breadcrumb>span:last-child{white-space:normal;overflow-wrap:anywhere}
 .content-layout{width:calc(100% - 28px);margin-bottom:46px}.section-content{padding:23px 18px 26px;border-radius:2px 2px 24px 2px}.content-heading{gap:10px;padding-bottom:16px;margin-bottom:22px}.content-heading h2{font-size:25px}.content-heading>span{font-size:9px}
 .article-row{gap:12px;padding-block:21px}.article-row .row-date{width:46px;padding-right:9px}.article-row h3{font-size:15px;line-height:1.8}.article-row p{font-size:12px}.article-row>.row-arrow{font-size:16px;flex-shrink:0}
 .filter-search{min-width:130px}.year-filter select{max-width:108px}.list-toolbar{gap:10px}.list-toolbar>span{font-size:12px}
 .article-body{font-size:16px;line-height:2}.article-body td,.article-body th{padding:9px 10px}.article-body img{margin-block:20px}
 .directory-grid{grid-template-columns:1fr;gap:14px}.directory-grid a{min-height:100px;padding:22px}.listing-faculty,.listing-studios{gap:12px}.faculty-card>div:last-child{padding:14px 12px}.studio-card{padding:20px 10px}.studio-card h3{font-size:16px}.studio-card img{height:70px}
 .detail-main{padding-top:92px}.article-shell{width:calc(100% - 24px);padding:25px 19px 28px;margin-top:14px;border-bottom-right-radius:24px}.article-heading h1{font-size:24px;line-height:1.7}.article-category{font-size:12px;margin-bottom:16px}.article-meta{gap:10px;font-size:11px}.article-meta>span{width:100%}.reading-tools{gap:8px}.article-heading{margin-bottom:26px}
 .article-pagination{grid-template-columns:1fr;gap:18px;padding-block:20px}.article-pagination a:last-child{text-align:left}.article-pagination a:empty,.article-pagination>span:empty{display:none}.article-pagination b{font-size:14px}.article-pagination span{font-size:12px}
 .content-source{font-size:11px}.related-section>h2{font-size:30px}.related-section a{padding:20px 44px 20px 20px}.related-section a>span{right:18px}.search-page{padding:20px 16px}
 body:not(.home-page) .site-footer:after{width:100px;height:100px;right:18px}
}
@media print{body:not(.home-page){background:white}body:not(.home-page) #main:before,body:not(.home-page) #main:after{display:none}.article-shell{border:0;box-shadow:none;background:white;width:100%;max-width:none;padding:0;margin:0}.article-heading h1{font-size:20pt}.detail-main{padding-top:0}.table-scroll{overflow:visible;border:0}.article-body{font-size:12pt}}

/* Match the shared homepage footer without an inner-page-only watermark. */
body:not(.home-page) .site-footer:after{display:none}

/* Shared compact vertical rhythm for section, article and search pages. */
@media screen{
 .inner-hero{min-height:224px}
 .inner-hero>.wrap{padding-block:24px}
 .breadcrumb{padding-block:14px}
 .content-layout{margin-top:24px;margin-bottom:36px}
 .section-content{padding-block:26px}
 .content-heading{padding-bottom:16px;margin-bottom:22px}
 .content-source{margin-top:24px;padding-top:16px}
 .detail-main{padding-top:152px}
 .article-shell{padding-top:32px;padding-bottom:28px;margin-top:18px;margin-bottom:32px}
 .article-heading{margin-bottom:24px}
 .article-category{margin-bottom:14px}
 .article-pagination{margin-top:24px;padding-block:16px}
 .related-section{margin-bottom:36px}
 .related-section>h2{margin-bottom:20px}
 .search-page{margin-block:24px 36px;padding-block:24px}
}
@media screen and (max-width:1100px){.detail-main{padding-top:94px}}
@media screen and (max-width:800px){
 .inner-hero{min-height:196px}.inner-hero>.wrap{padding-block:22px}
 .detail-main{padding-top:92px}.content-layout{margin-top:20px;margin-bottom:32px}
 .article-shell{padding-block:28px;margin-top:16px;margin-bottom:28px}
 .related-section{margin-bottom:32px}
}
@media screen and (max-width:520px){
 .inner-hero{min-height:180px}.inner-hero>.wrap{padding-block:20px}
 .breadcrumb{padding-block:12px}.detail-main{padding-top:85px}
 .content-layout{margin-top:16px;margin-bottom:28px}.section-content{padding-block:20px}
 .content-heading{margin-bottom:18px;padding-bottom:14px}
 .article-shell{padding-block:22px;margin-top:12px;margin-bottom:24px}
 .article-heading{margin-bottom:20px}.article-category{margin-bottom:12px}
 .content-source{margin-top:20px;padding-top:14px}
 .article-pagination{margin-top:20px;padding-block:14px}
 .related-section{margin-bottom:28px}.related-section>h2{margin-bottom:16px}
 .search-page{margin-block:16px 28px;padding-block:20px}
}

/* Main-university sidebar interaction, with restrained circuit-node details. */
.section-sidebar{background:var(--red) url('../images/art/neural-field.svg') right bottom/480px auto no-repeat;border:0;border-radius:28px 0 28px 0;isolation:isolate}
.section-sidebar h2{background:transparent;text-align:center;color:#f2f6fc;padding:22px 16px}
.section-sidebar nav a{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:58px;padding:15px 48px 15px 24px;border:0;border-top:1px solid #ffffff38;background:transparent;color:#f2f6fc;transition:color .28s ease}
.section-sidebar nav a::before{content:"";position:absolute;inset:0;background:#f2f6fc url('../images/art/paper-white.jpg') center/cover;transform:scaleX(0);transform-origin:left;transition:transform .32s ease;z-index:-1;pointer-events:none}
.section-sidebar nav a::after{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .28s ease;pointer-events:none}
.section-sidebar nav a .sidebar-label{display:inline-block;position:relative;color:inherit;font-size:16px;line-height:1.6;transition:transform .28s ease}
.section-sidebar .sidebar-circuit{position:absolute;right:10px;top:50%;width:32px;height:28px;transform:translate(-5px,-50%);fill:none;stroke:#45669c;stroke-width:1.2;opacity:0;transition:opacity .28s ease,transform .28s ease;pointer-events:none}
.section-sidebar nav a:hover,.section-sidebar nav a:focus-visible,.section-sidebar nav a[aria-current=page]{background:transparent;color:#18399e;border-left:0;padding-left:24px}
.section-sidebar nav a:hover::before,.section-sidebar nav a:focus-visible::before,.section-sidebar nav a[aria-current=page]::before{transform:scaleX(1)}
.section-sidebar nav a:hover::after,.section-sidebar nav a:focus-visible::after,.section-sidebar nav a[aria-current=page]::after{transform:scaleX(1)}
.section-sidebar nav a:hover .sidebar-label,.section-sidebar nav a:focus-visible .sidebar-label,.section-sidebar nav a[aria-current=page] .sidebar-label{transform:translateX(3px)}
.section-sidebar nav a:hover .sidebar-circuit,.section-sidebar nav a:focus-visible .sidebar-circuit,.section-sidebar nav a[aria-current=page] .sidebar-circuit{opacity:.7;transform:translate(0,-50%)}
.section-sidebar nav a:focus-visible{outline:2px solid #527ac1;outline-offset:-3px}
.section-sidebar .sidebar-search{color:#c5d6f0;border-color:#ffffff38;margin:14px 18px;padding:10px 4px;font-size:12px}
@media(max-width:800px){
 .section-sidebar{border-radius:16px 0 16px 0}
 .section-sidebar nav a,.section-sidebar nav a:hover,.section-sidebar nav a:focus-visible,.section-sidebar nav a[aria-current=page]{min-height:48px;padding:12px 18px;border:0;border-right:1px solid #ffffff30}
 .section-sidebar nav a .sidebar-label{font-size:14px;white-space:nowrap}
 .section-sidebar nav a::after{inset:auto 0 0;width:100%;height:3px}
 .section-sidebar .sidebar-circuit{display:none}
 .section-sidebar nav a .sidebar-label{transform:none!important}
}
@media(prefers-reduced-motion:reduce){.section-sidebar nav a,.section-sidebar nav a::before,.section-sidebar nav a::after,.section-sidebar nav a .sidebar-label,.section-sidebar .sidebar-circuit{transition:none}}

/* More legible circuitry, with a single restrained activation rather than a loop. */
@media(min-width:801px){
 .section-sidebar nav a{padding-right:62px}
 .section-sidebar .sidebar-circuit{width:40px;height:32px;right:12px;stroke:#9bb5df;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.42;transform:translate(0,-50%)}
 .sidebar-circuit path{stroke-dasharray:100;stroke-dashoffset:0}
 .sidebar-circuit circle{transform-box:fill-box;transform-origin:center;fill:transparent;transition:fill .25s ease}
 .section-sidebar nav a:hover .sidebar-circuit,.section-sidebar nav a:focus-visible .sidebar-circuit,.section-sidebar nav a[aria-current=page] .sidebar-circuit{opacity:1;stroke:#45669c}
 .section-sidebar nav a:hover .sidebar-circuit circle,.section-sidebar nav a:focus-visible .sidebar-circuit circle,.section-sidebar nav a[aria-current=page] .sidebar-circuit circle{fill:#c5d6f0}
 .section-sidebar nav a[aria-current=page] .sidebar-circuit circle:last-child{fill:#527ac1}
 .section-sidebar nav a:not([aria-current=page]):hover .sidebar-circuit path,.section-sidebar nav a:not([aria-current=page]):focus-visible .sidebar-circuit path{animation:sidebar-circuit-trace .5s ease-out both}
 .section-sidebar nav a:not([aria-current=page]):hover .sidebar-circuit circle,.section-sidebar nav a:not([aria-current=page]):focus-visible .sidebar-circuit circle{animation:sidebar-node-activate .55s ease-out both}
 .section-sidebar nav a .sidebar-circuit circle:nth-of-type(2){animation-delay:.06s}
 .section-sidebar nav a .sidebar-circuit circle:nth-of-type(3){animation-delay:.12s}
}
@keyframes sidebar-circuit-trace{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes sidebar-node-activate{0%,100%{transform:scale(1)}45%{transform:scale(1.25)}}
@media(prefers-reduced-motion:reduce){.section-sidebar nav a .sidebar-circuit path,.section-sidebar nav a .sidebar-circuit circle{animation:none!important;transition:none}}
.reduce-motion .section-sidebar nav a .sidebar-circuit path,.reduce-motion .section-sidebar nav a .sidebar-circuit circle{animation:none!important;transition:none}

/* Horizontal navigation uses simple tabs, without the vertical-menu sweep. */
@media(max-width:800px){
.section-sidebar{background:transparent;border-radius:0}
.section-sidebar nav{gap:12px;border-bottom:1px solid #527ac140}
.section-sidebar nav a,.section-sidebar nav a:hover,.section-sidebar nav a:focus-visible,.section-sidebar nav a[aria-current=page]{padding:12px 16px;min-height:48px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink);justify-content:center}
.section-sidebar nav a::before,.section-sidebar nav a::after,.section-sidebar .sidebar-circuit{display:none}
.section-sidebar nav a .sidebar-label{display:inline-block;transform:scale(1)!important;transition:transform .2s ease,color .2s ease}
.section-sidebar nav a:hover,.section-sidebar nav a:focus-visible{color:var(--red)}
.section-sidebar nav a:hover .sidebar-label,.section-sidebar nav a:focus-visible .sidebar-label{transform:scale(1.05)!important}
.section-sidebar nav a[aria-current=page]{color:var(--red);border-bottom-color:var(--gold)}
.section-sidebar nav a[aria-current=page] .sidebar-label{font-weight:600}
}