/* RCNWEB – clean, reference-aligned public interface. Scoped to homepage wherever practical. */
:root{--rcn-ink:#0b2147;--rcn-quiet:#66748a;--rcn-stroke:#e4e8ef;--rcn-blue:#102855}
body{background:#f9fafc;color:var(--rcn-ink)}
.top{height:83px;gap:20px;padding:0 30px;background:#fff;border-bottom:1px solid #e9ecf1;box-shadow:none;z-index:50}
.top .brand{gap:13px;min-width:0;align-items:center;color:var(--rcn-ink)}
.top .brandLogo{width:56px;height:56px;border:0;box-shadow:none;object-fit:contain}
.top .brandCopy{min-width:0;display:block}
.top .brandCopy b{font-size:25px;line-height:1.05;font-weight:850;letter-spacing:-.8px;color:var(--rcn-ink)}
.top .brandCopy small{font-size:12px;line-height:1.3;margin-top:4px;color:#526076;white-space:normal}
.top .search{margin-left:auto;width:min(360px,28vw);height:44px;background:#f8fafc;border:1px solid var(--rcn-stroke);border-radius:13px;color:#182c53}
.top .search svg{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.top .search input{font-size:14px;color:var(--rcn-ink)}
.headerActions{display:flex;align-items:center;gap:9px}
.headerActions button{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--rcn-stroke);border-radius:13px;color:#152b50;background:#fff;box-shadow:none;padding:11px}
.headerActions button svg{width:24px;height:24px}
.headerSearch{display:none!important}
.menuBtn{display:none!important}
#sidebar{background:#fff}
.shell main{max-width:1330px;width:100%;padding:25px clamp(18px,2.5vw,38px) 100px}
#p-home{--home-ink:var(--rcn-ink);color:var(--rcn-ink)}
#p-home .rcnHero{height:clamp(290px,32vw,410px);position:relative;overflow:hidden;border:1px solid #e7ebf1;border-radius:18px;margin:0;background-image:linear-gradient(90deg,rgba(244,249,255,.99) 0%,rgba(241,247,253,.95) 29%,rgba(245,249,253,.55) 49%,rgba(255,255,255,0) 80%),url("assets/rcn-campus-hero.jpg");background-size:cover;background-position:center 43%}
#p-home .rcnHeroContent{padding:clamp(29px,4vw,56px);max-width:min(61%,550px);position:relative;z-index:1}
#p-home .rcnHeroKicker{font-size:12px;letter-spacing:.24em;font-weight:750;color:#283750;margin:0 0 18px;line-height:1.4}
#p-home .rcnHero h1{color:#071a3d;font-size:clamp(33px,3.8vw,53px);line-height:1.1;letter-spacing:-1.6px;font-weight:850;margin:0 0 16px}
#p-home .rcnHeroDesc{font-size:15px;line-height:1.55;color:#4c5a6d;margin:0;max-width:450px}
#p-home .rcnHeroActions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0 25px}
#p-home .rcnHeroActions button{display:flex;align-items:center;justify-content:center;gap:12px;border-radius:12px;min-height:60px;padding:12px;font-size:15px;font-weight:650;transition:background .18s,color .18s,border-color .18s,transform .18s}
#p-home .rcnHeroActions button svg{height:22px;width:22px;flex:none}
#p-home .rcnHeroPrimary{background:#0c2049;border:1px solid #0c2049;color:#fff;box-shadow:0 3px 8px #0c20491a}
#p-home .rcnHeroPrimary:hover{background:#193e78}
#p-home .rcnHeroSecondary{background:#fff;border:1px solid #d9dfe9;color:#0b2147}
#p-home .rcnHeroSecondary:hover{background:#f7f9fd}
#p-home .rcnShortcutGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
#p-home .rcnShortcut{min-width:0;min-height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;border:1px solid #e5e8ee;border-radius:17px;background:#fff;box-shadow:0 2px 10px #10285806;color:#0f2149;text-align:center;padding:15px 8px;transition:background .16s,border-color .16s,transform .16s}
#p-home .rcnShortcut svg{width:30px;height:30px;color:#0d2b68;flex:0 0 auto}
#p-home .rcnShortcut span{font-size:15px;line-height:1.3;font-weight:550;max-width:100%;}
#p-home .rcnShortcut:hover{background:#f4f7fd;border-color:#b9c8df;transform:translateY(-1px)}
#p-home .homeUpdates{margin-top:30px}
#p-home .homeSectionHead{margin:0 0 13px;display:flex;align-items:center;gap:12px;justify-content:space-between}
#p-home .homeSectionHead h2{font-size:23px;font-weight:760;letter-spacing:-.6px;margin:0;color:#121c31}
#p-home .homeTextButton{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:#173368;padding:8px 0;white-space:nowrap;background:transparent;border:0;min-height:35px}
#p-home .homeTextButton svg{width:18px;height:18px}
#p-home #homeNoticeList{padding:0 17px;background:#fff;border:1px solid var(--rcn-stroke);border-radius:15px}
#p-home .homeNotice{padding:16px 4px;gap:14px;color:var(--rcn-ink);display:flex;align-items:center}
#p-home .homeNotice::before{content:"";width:19px;height:23px;flex:0 0 19px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23223b62' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h8l5 5v15H6V2zM14 2v6h5M9 13h7M9 17h7'/%3E%3C/svg%3E") no-repeat center/contain}
#p-home .homeNoticeText{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;flex:1}
#p-home .homeNoticeText b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:550;font-size:14px;color:#17243c}
#p-home .homeNoticeText small{font-size:12px;color:#66768a;white-space:nowrap;text-align:right}
#p-home .homeNotice>span:last-child{font-size:16px;color:#253e72}
#p-home #homeNoticeList .homeQuiet{font-size:13px;padding:19px 3px;margin:0;color:#687990}
#p-home .rcnBelowFold{margin-top:30px}
#p-home #homeLive{background:#fff;border:1px solid var(--rcn-stroke);color:#0b2147;border-radius:15px;box-shadow:none}
#p-home .rcnExploreMore{background:#fff;border:1px solid var(--rcn-stroke);border-radius:14px;margin-top:18px;padding:0 15px}
#p-home .rcnExploreMore summary{list-style:none;min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-size:14px;font-weight:650;color:#173463}
#p-home .rcnExploreMore summary::-webkit-details-marker{display:none}
#p-home .rcnExploreMore summary svg{width:18px;height:18px;transition:transform .2s}
#p-home .rcnExploreMore[open] summary svg{transform:rotate(90deg)}
#p-home .rcnExtraGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 0 15px}
#p-home .rcnExtraGrid .rcnShortcut{min-height:93px}
#p-home .rcnExtraGrid .rcnShortcut svg{width:23px;height:23px}
#p-home .rcnHomeDate{display:block;text-align:right;font-size:11px;color:#7f8b9c;margin:20px 0 0}
#p-home .rcnSearchPanel{position:fixed;top:83px;right:35px;width:min(440px,calc(100vw - 30px));z-index:70;margin:0;border:1px solid #d9e2f1;border-radius:15px;background:#fff;box-shadow:0 17px 70px #152a5230;padding:16px}
#p-home .rcnSearchPanel[hidden]{display:none!important}
#p-home .rcnSearchPanel .homeFindRow{display:flex;align-items:center}
#p-home .rcnSearchPanel #homeSearch{min-width:0}
#p-home button:focus-visible,.headerActions button:focus-visible,.bottomnav button:focus-visible{outline:3px solid #3574d3;outline-offset:2px}
.bottomnav{display:none}
@media(max-width:1024px){.top{padding:0 17px}.shell main{padding:17px 17px 90px}#p-home .rcnHeroContent{max-width:67%}#p-home .rcnShortcutGrid{gap:10px}#p-home .rcnShortcut span{font-size:13px}}
@media(max-width:740px){
  body{background:#fff}
  .top{height:79px;padding:0 15px;background:#fff;box-shadow:none;border-bottom:1px solid #e7eaf0;gap:8px}
  .top .brand{max-width:calc(100% - 113px);gap:8px}
  .top .brandLogo{width:51px;height:51px;flex:0 0 51px}
  .top .brandCopy b{font-size:21px;letter-spacing:-.7px}
  .top .brandCopy small{font-size:10px;line-height:1.3;margin-top:3px;max-width:230px}
  .top .search{display:none!important}
  .headerActions{gap:7px;margin-left:auto}
  .headerActions button{width:43px;height:43px;border-radius:12px;padding:9px;background:#fff;flex:0 0 43px;box-shadow:none}
  .headerActions button svg{width:23px;height:23px}
  .headerSearch{display:grid!important}
  .menuBtn{display:grid!important}
  aside#sidebar{top:79px}
  .shell main{padding:0 0 calc(85px + env(safe-area-inset-bottom));max-width:none}
  #p-home{margin:0;padding:0 14px}
  #p-home .rcnHero{border-radius:0;border:none;margin:0 -14px;height:clamp(250px,72vw,330px);background-position:center 44%;background-image:linear-gradient(180deg,rgba(246,250,255,.98) 0%,rgba(248,250,255,.89) 37%,rgba(246,250,255,.35) 65%,rgba(255,255,255,0) 86%),linear-gradient(90deg,rgba(245,249,255,.77) 0%,transparent 75%),url("assets/rcn-campus-hero.jpg")}
  #p-home .rcnHeroContent{max-width:100%;padding:20px 19px 0}
  #p-home .rcnHeroKicker{font-size:10px;letter-spacing:.19em;margin-bottom:10px}
  #p-home .rcnHero h1{font-size:clamp(29px,8.1vw,43px);line-height:1.08;letter-spacing:-1.1px;margin-bottom:10px;max-width:315px}
  #p-home .rcnHeroDesc{max-width:300px;font-size:12px;line-height:1.42;color:#485469}
  #p-home .rcnHeroActions{grid-template-columns:1fr 1fr;gap:9px;margin:15px 0 18px}
  #p-home .rcnHeroActions button{min-height:49px;gap:7px;border-radius:11px;font-size:12px;font-weight:620;padding:8px 5px}
  #p-home .rcnHeroActions button svg{width:19px;height:19px}
  #p-home .rcnShortcutGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  #p-home .rcnShortcut{min-height:105px;padding:11px 3px;gap:9px;border:1px solid #e4e8ee;border-radius:13px;box-shadow:none}
  #p-home .rcnShortcut svg{width:27px;height:27px}
  #p-home .rcnShortcut span{font-size:11px;line-height:1.24;font-weight:560}
  #p-home .homeUpdates{margin-top:24px}
  #p-home .homeSectionHead{margin-bottom:12px}
  #p-home .homeSectionHead h2{font-size:21px}
  #p-home .homeTextButton{font-size:12px;max-width:none;min-height:36px}
  #p-home .homeTextButton svg{width:16px;height:16px}
  #p-home #homeNoticeList{border-radius:12px;padding:0 10px}
  #p-home .homeNotice{gap:9px;padding:13px 4px}
  #p-home .homeNotice::before{width:17px;height:19px;flex-basis:17px}
  #p-home .homeNoticeText b{font-size:12px;font-weight:550}
  #p-home .homeNoticeText small{font-size:10px}
  #p-home .homeNoticeText{gap:1px 5px}
  #p-home #homeLive{margin-bottom:0}
  #p-home .rcnExtraGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  #p-home .rcnExtraGrid .rcnShortcut{min-height:94px}
  #p-home .rcnBelowFold{margin-top:25px}
  #p-home .rcnSearchPanel{position:fixed;top:79px;left:10px;right:10px;width:auto;padding:14px;border-radius:13px}
  .bottomnav{position:fixed;bottom:0;left:0;right:0;z-index:60;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 4px max(8px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e5e8ef;box-shadow:0 -5px 14px #0a25500c;gap:0}
  .bottomnav button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:61px;gap:4px;border:0;border-radius:13px;padding:6px 2px;background:transparent;color:#192742;font-size:10px;font-weight:520;line-height:1.1}
  .bottomnav button svg{width:23px;height:23px;flex-shrink:0}
  .bottomnav button span{font-size:10px;line-height:1.1;white-space:nowrap}
  .bottomnav button.active{background:#edf2fd;color:#0d2d6d;font-weight:680}
}
@media(max-width:380px){.top .brandCopy b{font-size:18px}.top .brandCopy small{font-size:9px}.top .brandLogo{width:45px;height:45px;flex-basis:45px}.headerActions button{width:39px;height:39px;flex-basis:39px}#p-home .rcnShortcut{min-height:99px}#p-home .rcnShortcut span{font-size:10px}.bottomnav button span{font-size:9px}}
@media(prefers-reduced-motion:reduce){#p-home .rcnShortcut,#p-home .rcnExploreMore summary svg{transition:none}}

/* Accessibility: skip link and reduced motion (3 Nov 2026 hardening) */
.skipLink{position:absolute;left:-9999px;top:0;z-index:10000;background:#0B1F3A;color:#fff;padding:.75rem 1rem;border-radius:0 0 8px 0;font-weight:700}.skipLink:focus{left:0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
