/* Refined campus identity; quick access to the existing student services. */
.home-page .hero-v2{min-height:580px;padding-top:48px;gap:28px 4vw}
.hero-v2 h1{font-size:clamp(48px,4.9vw,72px);line-height:1.22;margin-bottom:22px}
.hero-label{margin-bottom:24px}.hero-content p{line-height:1.85;margin-bottom:25px}
.campus-visual .hero-background{height:310px}
.home-guide-search{max-width:530px;margin-top:26px;padding-top:23px;border-top:1px solid #a1c9f12b}
.home-guide-search>label{display:block;color:#c8daec;font-size:14px;font-weight:600;margin-bottom:10px}
.home-guide-search>div{display:flex;border:1px solid #779abc;border-radius:10px;background:#f8fbff;padding:4px;gap:4px}
.home-guide-search input{min-width:0;width:100%;border:0;background:transparent;color:#163552;padding:11px;font-size:16px;border-radius:6px}
.home-guide-search input::placeholder{color:#58718a}
.home-guide-search button{flex-shrink:0;border:0;background:#1561c7;color:#fff;min-height:44px;padding:10px 15px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}
.home-guide-search button:hover{background:#064da7}
.home-guide-search p{display:flex;gap:12px 20px;flex-wrap:wrap;margin:12px 0 0;font-size:14px}
.home-guide-search p a{color:#b7dff4;text-decoration:underline;text-underline-offset:4px;padding:4px 0}
.mobile-dock{display:none}
.menu-toggle{min-width:44px;min-height:44px;align-items:center;justify-content:center}
.site-header.menu-open nav{max-height:calc(100dvh - 180px);overflow-y:auto;overscroll-behavior:contain}
.guide-search-bottom{flex-wrap:wrap;gap:10px}.guide-search-bottom select{min-height:44px;font-size:16px;max-width:100%}
.guide-search .guide-clear{background:transparent!important;border:1px solid #b1c7dc;color:inherit;min-height:44px;padding:9px 12px;font-size:14px}
.guide-find-panel .guide-clear,.chapter-hero .guide-clear{color:#e3f4ff}
.guide-results[aria-busy=true]{min-height:65px}
.contest-availability{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0}
.contest-availability span{padding:8px 12px;border:1px solid #527898;border-radius:6px;background:#163853;color:#e2f3ff;font-size:14px;line-height:1.6}
.contest-availability span[data-open=false]{background:#332f2c;border-color:#8e7e62;color:#ffe3b3}
.photo-empty .empty-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:20px}.photo-empty .empty-actions a{margin:0}
.view-button,.photo-toolbar select{min-height:44px}
.quick-links>a:focus-visible{outline-offset:-4px}
@media(min-width:1281px){.site-header{padding-left:3vw;padding-right:3vw;gap:18px}.site-header nav{gap:17px}.site-header .wordmark{font-size:27px}.site-header .brand-logo-frame{width:52px;height:52px;flex-basis:52px}.header-actions{gap:12px}}
@media(max-width:760px){
 html{scroll-padding-top:96px;scroll-padding-bottom:90px}
 .home-page .hero-v2{padding:28px 6vw 22px;gap:25px;min-height:0}
 .hero-label{margin-bottom:19px;font-size:12px}.hero-v2 h1{font-size:clamp(36px,9.7vw,54px);line-height:1.25;margin-bottom:19px}
 .hero-content p{font-size:16px;margin-bottom:21px;line-height:1.8}
 .home-guide-search{margin-top:22px;padding-top:19px}.home-guide-search p{font-size:14px;margin-bottom:0}
 .campus-visual .hero-background{height:210px}.campus-frame-top{padding:10px 14px}
 .campus-visual figcaption{padding:14px}.campus-visual .association-emblem{width:60px;height:60px;flex-basis:60px}
 .hero-bottom{padding-top:15px}.home-page .section-v2{padding-top:58px;padding-bottom:58px}
 .home-page .about-v2{padding-top:16px}.home-page .photo-invite{margin-bottom:58px;padding-top:32px;padding-bottom:32px}
 .has-mobile-dock{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 .mobile-dock{position:fixed;z-index:35;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));background:#071a33;border-top:1px solid #668fb250;box-shadow:0 -5px 24px #0418321a}
 .mobile-dock a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-height:52px;padding:4px;border-radius:8px;color:#c6d9ec;font-size:14px;line-height:1.5;font-weight:600}
 .mobile-dock svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
 .mobile-dock a[aria-current],.mobile-dock a:hover{background:#1a3c5d;color:#8eeaff}
 .mobile-dock a:focus-visible{outline-offset:-2px}.photo-toolbar{gap:18px}
 .photo-toolbar .view-buttons{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .contest-intro{padding:24px 22px;margin-bottom:22px}.contest-intro h1{font-size:32px;margin:15px 0 18px}.contest-rules{gap:8px;margin-top:18px}.contest-availability{margin-top:18px}.contest-intro>p:not(.kicker){font-size:16px;line-height:1.85}
 .guide-home-hero{padding:28px 22px;gap:24px}.guide-home-hero h1{font-size:39px}
 .guide-search-bottom>span{flex-basis:100%}.guide-search .guide-clear{margin-left:auto}
}
@media(max-width:360px){.home-guide-search input{padding:10px 6px}.home-guide-search button{padding:10px}.hero-buttons .pill{padding:12px 14px}.mobile-dock a{font-size:13px}.guide-home-hero{padding:24px 16px}.contest-intro h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){.pill:hover,.quick-links>a:hover,.service-card:hover,.contact-card:hover,.guide-topic-card:hover{transform:none}}
