
:root{--blue:#319be1;--ink:#181818;--muted:#666;--line:#e6e6e6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:1.85}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}.wrap{width:min(1120px,calc(100% - 52px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:99}.topbar{height:32px;font:11px 'Open Sans',sans-serif;color:#999}.topbar .wrap{padding-top:7px}.site-header{background:white}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:inline-flex;flex-direction:column;align-items:flex-start;color:#2e5a78!important;line-height:1;letter-spacing:-1px;min-width:85px}.logo strong{font-size:27px;font-weight:700}.logo span{font-size:8px;font-weight:700;letter-spacing:1.3px;margin-top:3px}.nav{display:flex;align-items:center;gap:30px}.nav a{font-size:11px;font-weight:700;letter-spacing:.2px;white-space:nowrap}.nav a[aria-current=page]{color:var(--blue)}.nav .member-link{margin-left:18px;color:#9c9c9c;font-weight:500}.menu-toggle{display:none}.hero-home{display:grid;grid-template-columns:1fr 42%;max-width:1380px;margin:0 auto;min-height:485px}.hero-text{align-self:center;padding:65px max(45px,calc((100vw - 1120px)/2));padding-right:36px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--blue)}h1,h2,h3{line-height:1.3;letter-spacing:.1px}h1{font-size:40px;font-weight:600}h2{font-size:30px;font-weight:600}.hero-text h1{font-size:45px;margin:20px 0}.hero-text p:not(.eyebrow){color:#666;max-width:480px}.subtle-link{display:inline-block;margin-top:25px;font-size:12px;font-weight:600;letter-spacing:1px}.subtle-link span{color:var(--blue)}.hero-photo{overflow:hidden;background:#3d291e}.bookcase{height:100%;min-height:485px;display:flex;flex-direction:column;justify-content:space-evenly;padding:25px;background:linear-gradient(90deg,#24160f 0%,#6a4025 8%,#27170e 13%,#1d1511 87%,#704a2e 94%,#28160d 100%)}.shelf{height:125px;display:flex;align-items:flex-end;gap:6px;border-bottom:14px solid #6b4027;box-shadow:0 11px 12px #100b09;padding:0 12px}.shelf i{height:75%;flex:1;background:linear-gradient(90deg,#39271f,#7e4130,#3b221b);border:2px solid #a9794b;box-shadow:inset 2px 0 #c29a64}.shelf i:nth-child(2n){height:91%;background:linear-gradient(90deg,#343a38,#4e6866,#293b3c)}.shelf i:nth-child(3n){height:62%;background:linear-gradient(90deg,#6e302d,#b44b3e,#652a25)}.shelf i:nth-child(4n){height:84%;background:linear-gradient(90deg,#776044,#c4a374,#5b4834)}.intro{padding:80px 0 95px;text-align:center}.intro h2{margin:0 0 34px}.intro p{max-width:1050px;margin:auto;color:#777;text-align:justify}.upcoming{text-align:center;padding:50px 0 155px}.upcoming h2{font-size:34px}.upcoming p,.coming{color:var(--blue);font-weight:600}.standard-page{width:min(1080px,calc(100% - 52px));margin:0 auto;padding:75px 0 120px;min-height:500px}.standard-page.narrow{max-width:920px}.standard-page h1{text-align:center;margin:0 0 45px;font-size:36px}.standard-page>p{color:#626262;font-size:14px;line-height:2.15;text-align:justify;margin:0 0 25px}.faculty-card{max-width:450px;margin:55px auto 0;text-align:center}.portrait-placeholder{width:240px;height:240px;border-radius:50%;margin:auto;background:linear-gradient(140deg,#d7e5e9,#9dbac5);display:grid;place-items:center;font-size:68px;font-weight:600;color:#fff}.faculty-caption{box-shadow:0 5px 25px #00000010;padding:20px}.faculty-caption h2{font-size:21px;margin:0 0 12px}.faculty-caption p{font-size:11px;color:var(--blue);font-weight:600;line-height:1.8}.standard-page .editor-note{font-size:11px;color:#999;text-align:center}.events-page{text-align:center}.events-page .coming{font-size:18px;margin:30px 0 130px}.section-title{font-size:30px;margin-bottom:35px}.event-card{width:290px;margin:0 auto;border:1px solid #eee;text-align:left;padding:20px;box-shadow:0 3px 12px #00000006}.event-visual{height:155px;background:radial-gradient(circle at 40% 50%,#d84454,#721a35 42%,#172e4c 72%,#0c1626);display:grid;place-items:center;color:#f7c9cf;font-size:60px;font-weight:700;letter-spacing:8px}.event-card .date{color:var(--blue);font-size:11px;font-weight:700;letter-spacing:1px;margin:14px 0 3px}.event-card h3{font-size:19px;line-height:1.4;margin:0 0 20px}.event-card>a{font-size:11px;color:#888;font-weight:600}.alumni-page{max-width:1120px}.searchrow{margin:0 0 22px;display:flex;gap:15px;align-items:center;justify-content:flex-end}.searchrow label{font-size:12px}.searchrow input{border:1px solid #ddd;border-radius:3px;padding:11px 13px;min-width:250px;font:inherit}.tablewrap{overflow:auto}.alumni-page table{border-collapse:collapse;width:100%;text-align:center}.alumni-page th,.alumni-page td{border:1px solid #ddd;padding:11px 15px;line-height:1.55}.alumni-page th{font-weight:700}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:35px 0 60px}.contact-grid h2{font-size:19px}.contact-grid p{color:#777;line-height:2}.contact-grid .contact-icon{font-size:22px;margin:18px 0 0}.contact-grid a{color:var(--blue);font-size:13px;font-weight:600}.mapbox{max-width:940px;margin:auto}.mapbox iframe{width:100%;height:380px;border:0}.login-page{max-width:1000px}.login-page h1{text-align:left;color:#aaa;font-size:32px}.login-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.login-form label span{display:block;font-size:12px;color:#777}.login-form input{width:100%;border:1px solid #eee;padding:15px;font:inherit}.login-form button{justify-self:start;border:0;background:#fff;padding:12px 8px;cursor:pointer;font-weight:700;font-size:12px}.login-help{font-size:12px!important;color:#888!important}.library-page{text-align:center}.library-page p{text-align:center}.action-link{color:var(--blue)}.footer{border-top:1px solid #f5f5f5;color:#999;padding:75px 0 35px;font-family:'Open Sans',Arial,sans-serif}.footer-grid{display:grid;grid-template-columns:.8fr 1fr 1.5fr;gap:65px}.footer h2{font-size:20px;color:#999;font-weight:500;margin:0 0 25px}.footer-links{display:flex;flex-direction:column;gap:12px}.footer a,.footer p{font-size:13px;line-height:2;color:#999}.footer .logo strong{font-size:24px}.footer .logo span{font-size:7px}.copyright{text-align:center;margin-top:95px;font-size:12px}.event-detail .pagehero,.event-detail .section{padding:20px 0}.event-detail .container{max-width:100%}.event-detail h1{text-align:left}.event-detail .btn{display:inline-block;padding:10px 18px;border:1px solid #ddd}.event-detail .card{border:1px solid #eee;padding:20px;margin:12px 0}.event-detail .eyebrow{color:var(--blue)}
@media(max-width:850px){.header-inner{min-height:78px;flex-wrap:wrap}.menu-toggle{display:flex;align-items:center;gap:6px;background:none;border:1px solid #ddd;padding:8px 12px}.nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;padding-bottom:16px}.nav.open{display:flex}.nav a{padding:11px 0}.nav .member-link{margin-left:0}.hero-home{grid-template-columns:1fr}.hero-text{padding:55px 30px}.hero-photo{max-height:330px}.bookcase{min-height:330px}.shelf{height:90px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1}.contact-grid{gap:20px}}@media(max-width:560px){.wrap,.standard-page{width:calc(100% - 36px)}.hero-text h1{font-size:35px}.standard-page h1{font-size:30px}.intro{padding:50px 0}.upcoming{padding-bottom:90px}.contact-grid,.login-form,.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.searchrow{display:block}.searchrow input{width:100%;min-width:0}.alumni-page th,.alumni-page td{padding:9px 7px;font-size:12px}.footer{padding-top:45px}.copyright{margin-top:50px}}

/* Version 3: NUS-inspired blue header/footer and accessible type sizes */
:root{--nus-blue:#003D7C;--blue:#0067B9;--ink:#202936}
body{font-size:17px;line-height:1.8}
.topbar{height:auto;min-height:36px;background:#002C5D;color:#fff;font-size:13px}
.topbar a,.topbar a:hover{color:#fff}
.site-header{background:var(--nus-blue);color:#fff}
.logo,.site-header .logo,.footer .logo{color:#fff!important}
.nav a{font-size:14px;color:#fff;letter-spacing:.2px}
.nav a:hover,.nav a[aria-current=page],.nav .member-link{color:#bfe3ff}
.menu-toggle{color:#fff;border-color:#a8c9e5}
h1{font-size:44px}h2{font-size:34px}h3{font-size:23px}
.hero-text h1{font-size:48px}.eyebrow{font-size:14px}
.hero-text p:not(.eyebrow),.intro p,.standard-page>p{font-size:17px}
.subtle-link,.event-card>a{font-size:15px}
.standard-page h1{font-size:40px}
.faculty-caption h2{font-size:24px}.faculty-caption p{font-size:14px}
.event-card .date{font-size:13px}.event-card h3{font-size:22px}
.searchrow label,.login-form label span,.login-help{font-size:15px!important}
.alumni-page th,.alumni-page td{font-size:16px}
.contact-grid a{font-size:16px}
.footer{background:var(--nus-blue);color:#fff;border-top:0}
.footer h2{font-size:24px;color:#fff}
.footer a,.footer p,.copyright{font-size:16px;color:#fff}
.footer a:hover{color:#bfe3ff}
.footer .logo strong{font-size:30px}
.hero-photo{position:relative}
.hero-photo .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.portrait-placeholder{position:relative;overflow:hidden}
.portrait-placeholder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.event-visual{position:relative;overflow:hidden}
.event-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:850px){.nav a{font-size:16px}.nav{background:var(--nus-blue)}.menu-toggle{font-size:16px}}
@media(max-width:560px){body{font-size:16px}.hero-text h1{font-size:38px}.standard-page h1{font-size:34px}.alumni-page th,.alumni-page td{font-size:14px}.footer a,.footer p{font-size:15px}}
