:root{--bg:#edf7f8;--surface:#fff;--surface-muted:#f4fbfc;--primary:#105890;--primary-dark:#085088;--primary-soft:#d8edf1;--secondary:#40b0c0;--accent:#40b0c0;--accent-soft:#d6f0f3;--primary-rgb:16, 88, 144;--primary-dark-rgb:8, 80, 136;--accent-rgb:64, 176, 192;--text:#1b2737;--text-soft:#5e6f84;--line:#c8dde4;--shadow:0 18px 36px rgba(var(--primary-dark-rgb), .08);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--container:1180px;--font-heading:"Merriweather", "Georgia", serif;--font-body:"Source Sans 3", "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);margin:0;line-height:1.6}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit}button{color:inherit;background:0 0;border:0;padding:0}main{min-height:100vh}.container{width:min(var(--container), calc(100% - 32px));margin:0 auto}.section{padding:76px 0}.section--tight{padding:44px 0}.section--alt{background:var(--surface)}.section--accent{background:linear-gradient(180deg, rgba(var(--accent-rgb), .12), rgba(var(--accent-rgb), 0))}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--secondary);align-items:center;gap:10px;margin:0 0 14px;font-size:13px;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:currentColor;width:34px;height:1px}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;display:flex}.section-heading h2,.section-heading h1,.hero-copy h1,.page-banner h1,.callout-panel h2{font-family:var(--font-heading);margin:0;line-height:1.2}.section-heading h2,.page-banner h1{font-size:clamp(2rem,4vw,2.8rem)}.section-heading p,.hero-copy p,.page-banner p,.card-copy p,.callout-panel p,.contact-card p,.panel-note p{color:var(--text-soft);margin:0}.lead{max-width:760px;font-size:1.06rem}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-size:.98rem;font-weight:700;transition:all .18s;display:inline-flex}.btn:hover,.btn:focus-visible{transform:translateY(-1px)}.btn:focus-visible,.nav-toggle:focus-visible,.nav-parent:focus-visible,.nav-list a:focus-visible,.field input:focus-visible,.field select:focus-visible,.upload-box input:focus-visible+.upload-box__surface,.checkbox input:focus-visible+span{outline:3px solid rgba(var(--primary-rgb), .18);outline-offset:3px}.btn--primary{background:var(--primary);color:#fff;box-shadow:0 10px 20px rgba(var(--primary-rgb), .18)}.btn--secondary{background:var(--surface);border-color:rgba(var(--primary-rgb), .18);color:var(--primary)}.btn--ghost{color:#fff;border-color:#ffffff57}.btn--full{width:100%}.tag{min-height:32px;color:inherit;background:#ffffff2e;border-radius:999px;align-items:center;gap:8px;padding:0 12px;font-size:.92rem;font-weight:600;display:inline-flex}.site-header{z-index:60;border-bottom:1px solid rgba(var(--primary-rgb), .1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;position:sticky;top:0}.topbar{background:var(--primary-dark);color:#ffffffd6;font-size:.9rem}.topbar a{color:#fff}.topbar-inner,.topbar-list{align-items:center;gap:18px;display:flex}.topbar-inner{justify-content:space-between;min-height:40px}.header-main{justify-content:space-between;align-items:center;gap:24px;min-height:88px;display:flex}.brand,.footer-brand__header{align-items:center;gap:14px;display:flex}.brand{flex-shrink:0}.brand-text strong{font-family:var(--font-heading);color:var(--primary-dark);font-size:1.08rem;display:block}.brand-text small{color:var(--text-soft);font-size:.9rem;display:block}.brand-logo{object-fit:contain;flex-shrink:0;width:62px;height:62px}.brand-logo--small{width:50px;height:50px}.brand-mark{border:2px solid rgba(var(--primary-rgb), .15);background:radial-gradient(circle at top,#ffffffb3,#0000 55%),linear-gradient(#105890 0%,#085088 100%);border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;padding:4px;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff24}.brand-mark__inner{color:#fff;width:100%;height:100%;font-family:var(--font-heading);letter-spacing:.16em;border:1px solid #ffffff3d;border-radius:50%;justify-content:center;align-items:center;font-size:1.08rem;display:inline-flex}.brand-mark--small{width:48px;height:48px}.nav-toggle{border:1px solid rgba(var(--primary-rgb), .16);background:var(--surface);border-radius:999px;min-height:44px;padding:0 16px;font-weight:700;display:none}.site-nav{margin-left:auto}.nav-list{align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.nav-list>li{position:relative}.nav-list a,.nav-parent{min-height:44px;color:var(--text);border-radius:999px;align-items:center;padding:0 14px;font-weight:700;display:inline-flex}.nav-parent:after{content:"";border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;margin-left:8px;transform:rotate(45deg)translateY(-2px)}.nav-dropdown{background:var(--surface);border:1px solid rgba(var(--primary-rgb), .12);min-width:230px;box-shadow:var(--shadow);opacity:0;pointer-events:none;border-radius:14px;gap:4px;padding:12px;transition:all .18s;display:grid;position:absolute;top:calc(100% + 10px);left:0;transform:translateY(8px)}.has-dropdown:hover .nav-dropdown,.has-dropdown:focus-within .nav-dropdown,.has-dropdown.is-open .nav-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-dropdown a{border-radius:10px}.nav-list a:hover,.nav-parent:hover,.nav-dropdown a:hover,.nav-list a.is-current,.nav-parent.is-current{background:var(--primary-soft);color:var(--primary-dark)}.page-banner,.hero{position:relative;overflow:hidden}.hero{background:radial-gradient(circle at top right, rgba(var(--accent-rgb), .34), transparent 32%), linear-gradient(135deg, rgba(var(--primary-rgb), .97), rgba(var(--primary-dark-rgb), .97));color:#fff;padding:88px 0 76px}.hero:before,.page-banner:before{content:"";opacity:.3;pointer-events:none;background:repeating-linear-gradient(90deg,#ffffff0f 0 1px,#0000 1px 92px),linear-gradient(#0000 0 55%,#ffffff0f 55% 56%,#0000 56% 100%);position:absolute;inset:0}.hero-shell,.page-banner__shell,.split-layout,.content-grid,.feature-layout,.contact-layout,.application-layout,.highlights-grid,.stats-grid,.news-grid,.person-grid,.faculty-grid,.gallery-grid,.card-grid,.contact-grid,.footer-grid,.quick-links{gap:22px;display:grid}.hero-shell{grid-template-columns:minmax(0,1.45fr) minmax(320px,.85fr);align-items:stretch}.hero-copy h1{max-width:11ch;font-size:clamp(2.8rem,5vw,4.6rem)}.hero-copy p{color:#ffffffd6;max-width:58ch;margin-top:18px;font-size:1.08rem}.hero-actions,.inline-actions,.detail-list,.meta-list,.summary-list,.hero-points,.chips{flex-wrap:wrap;gap:12px;display:flex}.hero-actions{margin-top:28px}.hero-points{margin-top:26px}.hero-card,.panel,.stat-card,.feature-card,.person-card,.faculty-card,.article-card,.contact-card,.gallery-card,.pricing-card,.form-panel,.info-panel,.footer-panel,.map-panel,.download-card,.notice-card{background:var(--surface);border:1px solid rgba(var(--primary-rgb), .1);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.hero-card{color:#fff;background:linear-gradient(#ffffff29,#ffffff1a),linear-gradient(#ffffff14,#ffffff05);border-color:#ffffff24;padding:28px}.hero-card h2,.panel h3,.card-copy h3,.person-card h3,.faculty-card h3,.article-card h3,.contact-card h3,.download-card h3,.notice-card h3{font-family:var(--font-heading);margin:0 0 10px;line-height:1.28}.hero-card p,.hero-card li,.hero-card small,.page-banner p,.page-banner li{color:#ffffffdb}.summary-list{flex-direction:column;gap:14px;margin:22px 0 0;padding:0;list-style:none}.summary-list li{border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:start;gap:16px;padding-bottom:12px;display:flex}.summary-list span:first-child{font-weight:700}.quick-links{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-link{background:var(--surface);border:1px solid rgba(var(--primary-rgb), .08);border-radius:var(--radius-md);padding:22px}.quick-link strong,.stat-card strong,.person-meta strong,.pricing-summary strong{color:var(--primary-dark);margin-bottom:8px;font-size:1.02rem;display:block}.quick-link p,.quick-link span,.person-meta span,.pricing-summary span{color:var(--text-soft)}.intro-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:22px;display:grid}.panel,.callout-panel,.form-panel,.info-panel,.download-card,.notice-card,.pricing-card{padding:28px}.panel--soft,.callout-panel{background:linear-gradient(#fff,#f4fbfc)}.callout-panel{border-top:4px solid var(--accent);align-content:start;gap:18px;display:grid}.split-layout,.feature-layout,.application-layout,.contact-layout{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:start}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.highlights-grid,.stats-grid,.news-grid,.card-grid,.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.person-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.faculty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card,.feature-card{padding:24px}.stat-card{border-top:4px solid var(--accent)}.stat-card strong{font-family:var(--font-heading);margin-bottom:4px;font-size:clamp(2rem,4vw,2.8rem)}.feature-card{background:linear-gradient(#fff,#f2fafb)}.feature-card ul,.panel ul,.download-card ul,.notice-card ul,.content-list,.article-card ul{color:var(--text-soft);margin:0;padding-left:18px}.content-list li+li,.panel ul li+li,.article-card ul li+li{margin-top:8px}.media-frame,.portrait,.map-frame{border-radius:var(--radius-md);border:1px solid #ffffff2e;position:relative;overflow:hidden}.media-frame--photo,.portrait--photo{background:linear-gradient(145deg,#105890,#085088)}.media-frame__image,.portrait__image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.portrait--photo{padding:0}.media-frame{background:linear-gradient(180deg, #ffffff1f, #0718321a), linear-gradient(140deg, #ffffff1f, transparent 45%), radial-gradient(circle at top right, rgba(var(--accent-rgb), .18), transparent 26%), linear-gradient(145deg, #105890, #085088);color:#fff;align-items:end;min-height:230px;padding:18px;display:flex}.media-frame:before,.portrait:before,.map-frame:before{content:"";pointer-events:none;border:1px solid #ffffff29;position:absolute;inset:14px}.media-frame:after,.portrait:after{content:"";opacity:.24;pointer-events:none;background:repeating-linear-gradient(90deg,#ffffff14 0 1px,#0000 1px 54px),linear-gradient(#0000 0 64%,#ffffff14 64% 65%,#0000 65% 100%);position:absolute;inset:0}.media-frame__copy{z-index:1;position:relative}.media-frame small{color:#fffc;margin-bottom:4px;display:block}.media-frame strong{font-family:var(--font-heading);font-size:1.28rem;display:block}.scene-campus{background:linear-gradient(180deg, #ffffff1f, #07183229), radial-gradient(circle at top right, rgba(var(--accent-rgb), .22), transparent 28%), linear-gradient(180deg, #07183200 50%, #ffffff14 50% 52%, #07183200 52%), linear-gradient(90deg, #ffffff12 0 10%, transparent 10% 18%, #ffffff12 18% 28%, transparent 28% 36%, #ffffff12 36% 46%, transparent 46% 54%, #ffffff12 54% 64%, transparent 64%), linear-gradient(145deg, #105890, #085088)}.scene-lab{background:linear-gradient(180deg, #ffffff1f, #0718321f), radial-gradient(circle at top right, rgba(var(--accent-rgb), .24), transparent 32%), repeating-linear-gradient(90deg, #ffffff14 0 1px, transparent 1px 42px), linear-gradient(180deg, #ffffff14 0 16%, transparent 16% 60%, #ffffff14 60% 62%, transparent 62%), linear-gradient(145deg, #40b0c0, #105890)}.scene-admin{background:linear-gradient(180deg, #ffffff1f, #07183224), radial-gradient(circle at top left, rgba(var(--accent-rgb), .24), transparent 30%), linear-gradient(90deg, #ffffff14 0 16%, transparent 16% 24%, #ffffff14 24% 40%, transparent 40% 48%, #ffffff14 48% 64%, transparent 64%), linear-gradient(180deg, transparent 0 58%, #ffffff14 58% 60%, transparent 60%), linear-gradient(145deg, #105890, #085088)}.scene-student{background:linear-gradient(180deg, #ffffff24, #07183224), radial-gradient(circle at top right, rgba(var(--accent-rgb), .22), transparent 24%), repeating-linear-gradient(0deg, #ffffff14 0 1px, transparent 1px 46px), linear-gradient(90deg, #ffffff14 0 12%, transparent 12% 22%, #ffffff14 22% 32%, transparent 32%), linear-gradient(145deg, #40b0c0, #105890)}.portrait{background:linear-gradient(180deg, #ffffff1f, #0718322e), radial-gradient(circle at top, rgba(var(--accent-rgb), .18), transparent 28%), linear-gradient(145deg, #105890, #085088);color:#fff;align-items:end;min-height:240px;padding:18px;display:flex}.portrait span{z-index:1;width:64px;height:64px;font-family:var(--font-heading);letter-spacing:.08em;background:#ffffff24;border-radius:50%;justify-content:center;align-items:center;font-size:1.26rem;display:inline-flex;position:relative}.portrait--warm{background:linear-gradient(180deg, #ffffff1f, #0718322e), radial-gradient(circle at top, rgba(var(--accent-rgb), .24), transparent 30%), linear-gradient(145deg, #40b0c0, #105890)}.card-copy{padding:22px}.person-card,.faculty-card,.article-card,.gallery-card,.contact-card{overflow:hidden}.person-meta,.article-meta,.faculty-meta,.gallery-meta,.contact-meta,.pricing-summary{flex-direction:column;gap:4px;display:flex}.detail-list,.meta-list{flex-direction:column;gap:10px;margin:16px 0 0;padding:0;list-style:none}.detail-list li,.meta-list li{border-bottom:1px solid rgba(var(--primary-rgb), .1);justify-content:space-between;gap:16px;padding-bottom:10px;display:flex}.detail-list span:first-child,.meta-list span:first-child{color:var(--text-soft)}.article-card .media-frame,.gallery-card .media-frame,.faculty-card .media-frame{border:0;border-radius:0;min-height:210px}.article-card .card-copy,.gallery-card .card-copy,.faculty-card .card-copy,.person-card .card-copy{padding:22px}.page-banner{background:radial-gradient(circle at top right, rgba(var(--accent-rgb), .28), transparent 30%), linear-gradient(135deg, rgba(var(--primary-rgb), .97), rgba(var(--primary-dark-rgb), .97));color:#fff;padding:62px 0 54px}.page-banner__shell{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:end}.breadcrumb{color:#ffffffc2;flex-wrap:wrap;gap:10px;margin:0 0 16px;padding:0;font-size:.94rem;list-style:none;display:flex}.breadcrumb li:not(:last-child):after{content:"/";margin-left:10px}.page-banner__panel{border-radius:var(--radius-lg);background:#ffffff1f;border:1px solid #ffffff24;padding:22px}.page-banner__panel strong{font-family:var(--font-heading);margin-bottom:8px;display:block}.table-wrap{background:var(--surface);border:1px solid rgba(var(--primary-rgb), .1);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:auto}.pricing-table{border-collapse:collapse;width:100%;min-width:760px}.pricing-table thead{background:var(--primary-dark);color:#fff}.pricing-table th,.pricing-table td{text-align:left;border-bottom:1px solid rgba(var(--primary-rgb), .08);padding:16px 18px}.pricing-table tbody tr:nth-child(2n){background:rgba(var(--primary-rgb), .03)}.pricing-table tbody tr:hover{background:rgba(var(--primary-rgb), .06)}.form-panel{background:linear-gradient(#fff,#f5fbfc)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.field{flex-direction:column;gap:8px;display:flex}.field--full{grid-column:1/-1}.field label,.upload-box__label,.checkbox span{color:var(--primary-dark);font-weight:700}.field input,.field select,.field textarea{border:1px solid rgba(var(--primary-rgb), .18);min-height:50px;color:var(--text);background:#fff;border-radius:10px;padding:0 14px}.field textarea{resize:vertical;min-height:140px;padding:14px}.field small,.upload-box__hint,.panel-note small{color:var(--text-soft)}.upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.upload-box{display:block}.upload-box input{opacity:0;pointer-events:none;position:absolute}.upload-box__surface{border:1px dashed rgba(var(--primary-rgb), .24);background:var(--surface-muted);border-radius:14px;gap:10px;min-height:156px;padding:18px;display:grid}.upload-box__name{border:1px solid rgba(var(--primary-rgb), .14);min-height:42px;color:var(--text-soft);background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-weight:600;display:inline-flex}.form-feedback{border:1px solid rgba(var(--primary-rgb), .14);background:var(--surface-muted);border-radius:12px;margin-top:18px;padding:14px 16px;display:none}.form-feedback.is-visible{display:block}.form-feedback.is-success{border-color:rgba(var(--accent-rgb), .24);background:rgba(var(--accent-rgb), .1)}.form-feedback.is-error{background:#b4363614;border-color:#b4363638}.empty-state{border:1px dashed rgba(var(--primary-rgb), .2);border-radius:var(--radius-lg);background:var(--surface-muted);color:var(--text-soft);padding:28px}.empty-state h3{font-family:var(--font-heading);color:var(--primary-dark);margin:0 0 8px}.map-link{margin-top:16px;display:inline-flex}.checkbox{gap:10px;margin-top:18px;display:flex}.checkbox input{margin-top:4px}.note-list{gap:14px;display:grid}.note-list .notice-card{box-shadow:none}.map-frame{background:linear-gradient(145deg,#dff1f4,#f7fcfd);min-height:360px}.map-frame iframe{border:0;width:100%;height:100%}.site-footer{border-top:1px solid rgba(var(--primary-rgb), .08);background:linear-gradient(#fff0,#fff 12%),linear-gradient(135deg,#f3fbfc,#ecf6f8);padding-top:36px}.footer-grid{grid-template-columns:1.3fr .7fr .7fr .8fr;align-items:start;padding-bottom:24px}.site-footer h3{font-family:var(--font-heading);color:var(--primary-dark);margin:0 0 14px;font-size:1.08rem}.footer-brand p,.footer-contact-list,.footer-links{color:var(--text-soft);margin:0}.footer-contact-list,.footer-links{padding:0;list-style:none}.footer-contact-list li,.footer-links li+li{margin-top:10px}.footer-contact-list span{color:var(--primary-dark);font-weight:700}.footer-bottom{border-top:1px solid rgba(var(--primary-rgb), .08);color:var(--text-soft);justify-content:space-between;gap:16px;padding:20px 0 28px;font-size:.94rem;display:flex}.loading-shell{min-height:120px}@media (width<=1080px){.hero-shell,.page-banner__shell,.intro-grid,.split-layout,.feature-layout,.application-layout,.contact-layout,.footer-grid{grid-template-columns:1fr}.highlights-grid,.stats-grid,.news-grid,.contact-grid,.gallery-grid,.person-grid,.faculty-grid,.content-grid,.quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=960px){.topbar{display:none}.header-main{min-height:78px}.nav-toggle{display:inline-flex}.site-nav{background:var(--surface);border:1px solid rgba(var(--primary-rgb), .12);box-shadow:var(--shadow);opacity:0;pointer-events:none;border-radius:16px;padding:14px;transition:all .18s;position:fixed;top:78px;left:16px;right:16px;transform:translateY(-6px)}.site-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-list{flex-direction:column;align-items:stretch}.nav-list a,.nav-parent{border-radius:12px;justify-content:space-between;width:100%;padding:0 16px}.nav-dropdown{min-width:0;box-shadow:none;background:var(--surface-muted);opacity:1;pointer-events:auto;border-radius:12px;margin-top:8px;padding:8px;display:none;position:static;transform:none}.has-dropdown.is-open .nav-dropdown{display:grid}.hero{padding-top:66px}}@media (width<=720px){.section{padding:58px 0}.quick-links,.highlights-grid,.stats-grid,.news-grid,.contact-grid,.gallery-grid,.person-grid,.faculty-grid,.content-grid,.form-grid,.upload-grid{grid-template-columns:1fr}.section-heading,.footer-bottom{flex-direction:column;align-items:start}.hero-copy h1{max-width:none}.brand-text small{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
