/* GKV Study 2.1 — responsive navigation, reading layouts and restrained motion. */
.gkvs-header{position:sticky;top:0;box-shadow:0 4px 24px #10234405}
.admin-bar .gkvs-header{top:32px}
.gkvs-btn,.semester-link,.branch-bottom,.gkvs-menu a{transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.branch-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
@media(hover:hover){.branch-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #163d8210;border-color:#b9cdf4}.gkvs-btn:hover{transform:translateY(-2px)}.semester-link:hover{transform:translateY(-2px);box-shadow:0 3px 8px #1656df15}}
.resource-tabs{background:#f1f5fc;border:1px solid #e2e9f4;border-radius:12px;padding:5px;gap:5px;width:fit-content;max-width:100%;margin-bottom:28px}
.resource-tabs a{border:0;border-radius:8px;min-height:46px;padding:10px 22px;font-size:13px;white-space:nowrap;justify-content:center}
.resource-tabs a[aria-selected=true]{background:#fff;color:#164fcb;box-shadow:0 2px 8px #173d8210;border:0}
.resource-panel.panel-enter{animation:panel-in .24s ease both}
@keyframes panel-in{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes soft-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.js .gkvs-hero-copy{animation:soft-in .5s ease both}.js .finder-card{animation:soft-in .55s .08s ease both}.js .gkvs-resource-hero{animation:soft-in .4s ease both}.reveal-in{animation:soft-in .45s ease both}}
.gkvs-resource-hero{position:relative;padding:38px 40px;background:linear-gradient(115deg,#eef4ff,#f8faff);border:1px solid #dbe6fa;border-radius:16px;overflow:hidden}
.gkvs-resource-hero:after{content:'';position:absolute;width:190px;height:190px;border:30px solid #2f6ce907;border-radius:50%;right:-75px;top:-90px;pointer-events:none}
.gkvs-resource-hero h1{max-width:850px;font-size:clamp(28px,3.2vw,42px);margin-bottom:14px}
.resource-intro{max-width:720px;color:#536780;line-height:1.7;margin:0;font-size:15px}
.resource-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:21px}
.resource-hero-actions a{font-size:12px;color:#1954c8;background:white;border:1px solid #d7e3f9;border-radius:7px;padding:9px 13px;min-height:42px;display:inline-flex;gap:8px;align-items:center}
.context-nav{border-radius:12px;padding:22px 25px;background:#fff}
.context-nav .semester-links{display:flex;flex-wrap:wrap;gap:8px}
.context-nav .semester-links>*{min-width:64px;min-height:42px;font-size:12px;padding:10px}
.context-nav .related-route-links{margin-top:14px}
.branch-context-label{font-size:13px;color:#526480;margin:12px 0 0}
.gkvs-article-layout{margin-top:28px;align-items:start}
.gkvs-content-card{padding:32px;border-radius:14px;box-shadow:0 4px 24px #173d8203}
.entry-content{font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.entry-content :is(h2,h3){scroll-margin-top:110px}
.entry-content :is(h2,h3,p).has-background{background:#eef4ff!important;color:#234677!important;text-align:left!important;padding:14px 17px;border-left:3px solid #4e7ee3;border-radius:0 8px 8px 0;font-size:18px!important;line-height:1.5;margin-top:30px}
.entry-content :is(h2,h3,p).has-background :is(strong,mark){color:inherit!important}
.entry-content table{border-collapse:separate;border-spacing:0;border:1px solid #e2e8f1;border-radius:10px;overflow:hidden;width:100%;font-size:14px}
.entry-content th,.entry-content td{padding:14px 16px;border:0;border-bottom:1px solid #e7edf5;text-align:left;vertical-align:middle}
.entry-content thead th,.entry-content tr:first-child:has(strong) td{background:#edf3ff;color:#294977;font-size:12px}
.entry-content tr:nth-child(even) td{background:#f9fbff}
.entry-content tr:last-child td{border-bottom:0}
.entry-content td a{display:inline-block;padding:5px 9px;line-height:1.6;border-radius:5px;font-weight:600;text-decoration:none;background:#edf3ff;color:#1551ce;min-height:34px}
.entry-content td a:hover{background:#dce8ff;text-decoration:underline}
.entry-content figure.wp-block-table{margin:24px 0;overflow:auto}
.gkvs-sidebar-card{border-radius:12px}
.subject-toc{max-height:calc(100dvh - 150px);overflow:auto}
.subject-toc a{font-size:12px;line-height:1.6;border-left:2px solid transparent;padding:7px 10px}
.subject-toc a[aria-current=true]{border-color:#1656df;background:#edf3ff;color:#164fc8}
.gkvs-resource-sidebar{position:sticky;top:110px}
.gkvs-breadcrumbs{flex-wrap:wrap;overflow-wrap:anywhere}
@media(max-width:1100px){.gkvs-header-inner{gap:16px}.gkvs-menu{gap:16px}.gkvs-menu a{font-size:12px}}
@media(max-width:960px){
 .gkvs-header-inner{position:relative;gap:0;min-height:76px;padding-block:14px}
 .gkvs-menu-toggle{min-height:44px;min-width:44px;width:44px;justify-content:center;padding:0;border-color:#d5dff0;background:#f7f9fd;font-size:13px;border-radius:12px}
 .gkvs-menu-toggle[aria-expanded=true]{background:#eaf1ff;color:#164fc8;border-color:#bcd1f6}
 .js #gkvs-navigation.is-open{position:absolute;top:calc(100% - 1px);left:0;right:0;width:100%;margin:0;padding:16px;background:#fff;border:1px solid #dfe7f4;border-radius:0 0 14px 14px;box-shadow:0 20px 35px #10234422;max-height:calc(100dvh - 110px);overflow:auto;animation:panel-in .18s ease both;overscroll-behavior:contain}
 .gkvs-menu>li>a{padding:13px 12px;min-height:46px;border-radius:7px;font-size:15px}
 .gkvs-menu>li+li{border-top:1px solid #f0f3f9}
 .gkvs-menu .sub-menu a{font-size:14px;padding:11px 8px;min-height:44px}
 .submenu-button{min-height:44px;min-width:44px;float:right}.gkvs-menu .sub-menu{clear:both}
 .mobile-app-link{display:flex;font-size:14px;gap:10px;align-items:center;justify-content:center;padding:13px;background:#1656df;color:#fff;border-radius:8px;margin-top:14px;min-height:46px}
 .gkvs-hero-grid{grid-template-columns:1fr 1fr;gap:28px}.gkvs-hero h1{font-size:40px}.gkvs-hero-copy>p{font-size:15px}
 .gkvs-resource-hero{padding:30px}.gkvs-article-layout{grid-template-columns:minmax(0,1fr) 220px;gap:22px}.gkvs-content-card{padding:24px}
}
@media(max-width:782px){.admin-bar .gkvs-header{top:46px}.gkvs-resource-sidebar{position:static}.gkvs-article-layout{display:flex;flex-direction:column}.gkvs-article-main{width:100%;min-width:0}.gkvs-resource-sidebar{width:100%;order:-1;display:block}.gkvs-resource-sidebar>.gkvs-sidebar-card:not(.subject-toc),.sidebar-report{display:none}.subject-toc{max-height:190px;margin-bottom:0}.subject-toc ol{display:flex;flex-wrap:wrap;gap:6px}.subject-toc li+li{margin:0}.subject-toc a{background:#f4f7fd;border-radius:6px}.gkvs-article-layout{gap:20px}}
@media(max-width:700px){
 .gkvs-hero-grid{grid-template-columns:1fr;padding-block:30px;gap:25px}.gkvs-hero h1{font-size:38px;max-width:430px}.gkvs-hero-copy>p{font-size:15px;line-height:1.7}.gkvs-eyebrow{font-size:10px;letter-spacing:.07em}
 .finder-card{padding:22px;border-radius:13px}.finder-heading h2{font-size:20px}.finder-heading p{font-size:12px}.finder-card label{font-size:13px}.finder-card select{font-size:16px;min-height:48px}.finder-fields{grid-template-columns:1fr;gap:13px}.finder-status{font-size:12px;line-height:1.5}.finder-card button{font-size:14px;min-height:48px}
 .gkvs-search-form input{font-size:16px;min-width:0}.gkvs-search-form button{font-size:12px;min-height:44px}
 .resource-tabs{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:10px}.resource-tabs a{white-space:normal;font-size:13px;padding:10px 5px;min-height:48px;gap:5px;text-align:center;line-height:1.3}.resource-tabs .gkvs-icon{width:16px;height:16px;display:inline-block}
 .branch-grid{grid-template-columns:1fr;gap:16px}.branch-card{padding:22px 22px 0;border-radius:12px}.branch-card h3{font-size:20px;min-height:0;margin-bottom:18px;max-width:290px}.branch-title{margin-bottom:14px}.branch-code{font-size:12px}.gkvs-icon-box{width:40px;height:40px}.gkvs-icon-box .gkvs-icon{width:22px;height:22px}
 .semester-label{font-size:10px;letter-spacing:.08em}.semester-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.semester-link,.semester-unlisted{font-size:12px;min-height:46px}.branch-bottom{font-size:13px;min-height:48px}.branch-note{font-size:11px}.availability{font-size:12px;line-height:1.6}
 .first-year-bar{gap:15px}.first-year-bar>div>span{font-size:12px}.first-year-bar>a{font-size:13px;min-height:44px;padding:8px 0}.gkvs-section-head p{font-size:14px}.gkvs-section-head h2{font-size:28px}.hero-shortcuts{font-size:12px;gap:15px}.hero-shortcuts a{min-height:44px;display:inline-flex;align-items:center}
 .app-card p,.upcoming-card p{font-size:14px}.app-brand-tile{display:none}.help-grid p,.help-questions summary,.help-questions p{font-size:14px}.gkvs-footer-links a{font-size:12px;line-height:1.8;padding:5px 0}.gkvs-footer-column h3{font-size:12px}.gkvs-footer-grid{grid-template-columns:1fr 1fr;gap:26px}.gkvs-footer-brand{grid-column:1/-1}.gkvs-footer-brand p{font-size:13px}
 .gkvs-resource-hero{padding:24px;border-radius:12px}.gkvs-resource-hero h1{font-size:28px}.resource-intro{font-size:14px}.gkvs-content-card{padding:20px}.entry-content{font-size:15px}.entry-content table{font-size:13px;min-width:0}.entry-content td,.entry-content th{padding:12px 9px}.entry-content td a{min-height:44px;padding:9px}.context-nav{padding:18px}.context-nav .semester-links>*{min-width:56px;min-height:44px;font-size:11px}.gkvs-breadcrumbs{font-size:11px}.subject-toc a{font-size:12px}
}
@media(max-width:600px){.admin-bar .gkvs-header{top:0}}
@media(max-width:430px){.gkvs-header-inner{min-height:72px}.gkvs-brand small{font-size:8px;max-width:180px}.gkvs-brand strong{font-size:21px}.gkvs-menu-toggle{font-size:12px;min-height:44px}.finder-card select{font-size:16px}.resource-tabs a{font-size:12px}.resource-tabs .gkvs-icon{display:none}.gkvs-shell{width:calc(100% - 32px)}.gkvs-section{padding-block:30px}.gkvs-hero h1{font-size:36px}.branch-card{padding:20px 18px 0}.branch-card h3{font-size:19px}.semester-link,.semester-unlisted{font-size:11px}.gkvs-content-card{padding:17px}.gkvs-resource-hero{padding:21px}.gkvs-resource-hero h1{font-size:26px}.gkvs-resource-badge{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.branch-card:hover,.gkvs-btn:hover,.semester-link:hover{transform:none}}
@media print{.gkvs-resource-sidebar{display:none}.gkvs-header{position:static}.resource-hero-actions{display:none}}
/* Existing Ultimate Blocks syllabus content: maintain the saved content and URLs. */
.entry-content .wp-block-ub-tabbed-content{margin:28px 0;border:0!important}
.entry-content .wp-block-ub-tabbed-content-tabs-title{display:flex!important;flex-wrap:wrap;gap:7px;padding:6px!important;background:#f1f5fc;border:1px solid #e1e8f4;border-radius:10px}
.entry-content .wp-block-ub-tabbed-content-tab-title-wrap{margin:0!important;min-height:46px;padding:10px 16px!important;background:transparent!important;color:#536680!important;border:0!important;border-radius:7px;cursor:pointer;font-size:14px!important;flex:1;text-align:center!important}
.entry-content .wp-block-ub-tabbed-content-tab-title-wrap.active{background:#fff!important;color:#1656df!important;box-shadow:0 2px 7px #10234410}
.entry-content .wp-block-ub-tabbed-content-tab-title-wrap mark{background:transparent!important;color:inherit!important}
.entry-content .wp-block-ub-tabbed-content-tab-content-wrap{padding:20px 0 0!important;border:0!important;background:transparent!important}
.entry-content .wp-block-ub-tabbed-content-accordion-toggle{display:none!important}
.entry-content .gkv-legacy-tabs .wp-block-ub-tabbed-content-tab-content-wrap{display:block!important;visibility:visible!important;height:auto!important;opacity:1!important}
.entry-content .gkv-legacy-tabs .wp-block-ub-tabbed-content-tab-content-wrap[hidden]{display:none!important}
html:not(.js) .entry-content .wp-block-ub-tabbed-content-tab-content-wrap{display:block!important;height:auto!important;visibility:visible!important}
html:not(.js) .entry-content .wp-block-ub-tabbed-content-accordion-toggle{display:block!important;background:#eef4ff;padding:12px;margin-top:20px;color:#234677}
@media(max-width:700px){.entry-content .wp-block-ub-tabbed-content-tab-title-wrap{font-size:12px!important;padding:10px!important}.gkv-legacy-tabs table{min-width:300px}.gkv-legacy-tabs .wp-block-table{overflow-x:auto}}
/* An expanded no-script menu must not cover the page while scrolling. */
html:not(.js) .gkvs-header{position:relative;top:0}

.entry-content a:empty{display:none}
/* Explicit expanded state wins over the no-script focus/hover fallback. */
.js .gkvs-menu li:not(.submenu-open)>.sub-menu{display:none}
