/* Campus editorial system: immersive film, forest green, generous white space. */
:root{--ink:#152d26;--navy:#00543c;--forest:#00543c;--emerald:#00543c;--gold:#d6c17e;--wine:#006747;--paper:#fff;--cream:#f5f7f2;--muted:#4c6159;--line:#d9e2dd;--shadow:0 12px 36px #003b2810;--ui-max:1320px}
body{background:#fff;color:var(--ink)}.rich-text h1,.rich-text h2,.rich-text h3{font-family:Arial,'Noto Sans SC',sans-serif;font-weight:800;color:var(--ink)}.button{border-radius:0;background:#00543c;border-color:#00543c;box-shadow:none}.button:hover{background:#003b2a;border-color:#003b2a}a:focus-visible,button:focus-visible{outline:3px solid #bf9b30;outline-offset:5px}.site-header{background:#fff;padding:18px 5vw;gap:25px}.brand{gap:15px;color:#00543c;font-size:29px;letter-spacing:.06em}.brand img{width:60px;height:60px;background:white;border-radius:50%;padding:3px}.brand span{line-height:1.05}.brand small{display:block;margin-top:7px;font-size:10px;letter-spacing:.02em;line-height:1.35;font-weight:600}.campus-search{border:0;padding:10px;min-width:44px;min-height:44px;color:#00543c;order:3}.campus-search svg{width:24px;height:24px}.site-header nav>a,.site-header .nav-group>a{color:#00543c;font-size:14px}.submenu{border-color:#d6c17e}.ui-utility{background:#004631}.home-page .ui-utility{position:absolute;top:0;left:0;right:0;z-index:52;background:transparent;padding:9px 5vw;color:white;border-bottom:1px solid #ffffff25}.home-page .site-header{position:fixed;top:37px;left:0;right:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;padding:22px 5vw;color:white;transition:background .25s,padding .25s,top .25s}.home-page .site-header .brand,.home-page .site-header nav>a,.home-page .site-header .nav-group>a,.home-page .campus-search{color:white}.home-page .site-header nav>a[aria-current]{color:white}.home-page .site-header .submenu{background:white;color:#00543c}.home-page .site-header .submenu a{color:#00543c}.home-page .site-header.campus-scrolled{top:0;background:#004631f5;padding-top:13px;padding-bottom:13px;box-shadow:0 3px 20px #0002;backdrop-filter:blur(12px)}.home-page .menu-toggle span{background:white}.home-page .submenu-toggle span{border-color:white}.home-page .site-header nav>a:after,.home-page .site-header .nav-group>a:after{background:white}
/* Welcome video fills the first screen, including phones. */
.home-welcome.video-welcome{background:#003b2a}.home-welcome.video-welcome .cinema-stage{height:100svh;min-height:660px;max-height:none;aspect-ratio:auto;width:100%;display:block;position:relative}.home-welcome .welcome-film{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;background:#003b2a}.home-welcome .cinema-veil{background:linear-gradient(180deg,#003b2ad9 0%,#003b2a33 25%,#00000018 42%,#000000ad 100%)}.home-welcome .film-text-hidden .cinema-veil{opacity:.35}.home-welcome .cinema-copy{position:absolute;top:50%;bottom:auto;left:5%;right:5%;max-width:none;transform:translateY(-30%);text-align:center;padding:0;background:none}.home-welcome .cinema-copy .rich-text{width:100%;margin:auto;max-width:1050px}.home-welcome .cinema-copy .welcome-chinese{margin:0 auto 18px!important;font-size:14px!important;letter-spacing:.08em;text-align:center}.home-welcome .cinema-copy .welcome-title{text-align:center;line-height:1.1!important;margin:0}.home-welcome .welcome-word{display:block;font-size:clamp(54px,7vw,104px);text-transform:uppercase;letter-spacing:-.045em;line-height:1.05;font-weight:850;color:#fff}.home-welcome .welcome-rest{display:block;max-width:850px;margin:20px auto 0;font-size:clamp(20px,2.3vw,30px);line-height:1.5;color:#fff;letter-spacing:0;font-weight:400}.home-welcome .cinema-action{top:72%;bottom:auto;left:50%;right:auto;transform:translateX(-50%);width:max-content;padding:0}.home-welcome .cinema-action .button{background:transparent;color:white;border:0;border-bottom:2px solid white;padding:10px 0;font-size:20px;letter-spacing:0;min-height:48px}.home-welcome .cinema-action .button:after{content:' →';margin-left:15px}.home-welcome .cinema-action .button:hover{background:none;color:#f1dfaa;transform:none}.home-welcome .video-toggle{bottom:35px;right:35px;width:60px;height:60px;border:3px solid white;border-radius:50%;background:transparent;box-shadow:none}.home-welcome .video-toggle svg{width:26px;height:26px}.home-welcome .video-sound{right:110px;bottom:43px;background:#0004;border:1px solid #fff9;color:white;border-radius:2px;font-size:13px}.ui-journey{padding:15px 5vw;background:#00543c;border:0;grid-template-columns:1.2fr repeat(4,1fr)}.ui-journey-label small{color:#e5d59d}.ui-journey-label strong{font-size:27px}.ui-journey a{font-size:16px;padding:25px 20px}.ui-journey a span{color:#fff}.ui-journey a:hover{background:#ffffff12;color:white}
/* A new editorial rhythm, with existing stories and imagery kept in place. */
.campus-discover{width:min(1320px,90%);margin:100px auto}.campus-section-heading{text-align:center;max-width:800px;margin:0 auto 45px}.campus-section-heading>span{font-size:12px;font-weight:700;letter-spacing:.15em;color:#006747}.campus-section-heading h2{font-size:clamp(34px,4vw,58px);letter-spacing:-.04em;line-height:1.1;margin:16px 0 22px;color:#00543c}.campus-section-heading p{color:#506058;font-size:18px;line-height:1.7}.campus-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.campus-story{color:#00543c;text-decoration:none;background:#f3f6f0;display:flex;flex-direction:column;overflow:hidden;border-bottom:4px solid #00543c}.campus-story img{display:block;width:100%;height:290px;object-fit:cover;transition:transform .5s ease}.campus-story:hover img{transform:scale(1.025)}.campus-story>div{padding:30px;flex:1;display:flex;flex-direction:column;gap:18px}.campus-story small{letter-spacing:.12em;font-size:11px;font-weight:700}.campus-story h3{font-size:28px;line-height:1.2;letter-spacing:-.035em;margin:0;flex:1}.campus-story span{font-size:14px;font-weight:700;line-height:1.5;display:flex;justify-content:space-between;gap:12px}.campus-story b{font-size:24px}.home-container{width:min(1320px,90%);margin:100px auto}.home-news-heading{border:0;margin-bottom:35px;padding:0}.home-news-heading h2{font-size:clamp(36px,4vw,55px);color:#00543c;font-weight:800;letter-spacing:-.035em}.home-news-heading a{color:#00543c;border-bottom:2px solid #00543c}.home-news .news-layout{gap:40px}.home-news .administration-news{padding:0;background:white;border:0;box-shadow:none;gap:25px}.home-news .administration-news>.image-link{padding:0;background:#f4f6f1;min-height:350px;height:400px;border:0}.home-news .news-item .photo-frame{height:100%;display:flex;justify-content:center;align-items:center}.home-news .news-item .photo-frame img{max-height:100%;max-width:100%;width:100%;height:100%;object-fit:contain}.home-news .card-copy{padding:0 10px!important}.home-news .card-copy h2,.home-news .card-copy h3{font-size:30px;line-height:1.35;color:#00543c}.home-news .update-kicker{color:#506058;font-size:12px;font-weight:700;letter-spacing:.08em}.home-news .card-copy p{color:#506058;line-height:1.7}.home-news .card-copy .button{background:none;color:#00543c;border:0;border-bottom:2px solid #00543c;padding:10px 0;min-height:44px}.home-recognition{width:100%;margin:0;padding:70px 5vw;background:#f0f4eb}.home-recognition-inner{max-width:1320px;margin:auto;background:none;border:0;padding:0;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.home-recognition-inner>a{background:white;padding:15px;box-shadow:0 10px 30px #00463112;transform:none}.home-recognition h2{font-size:clamp(36px,4vw,58px);color:#00543c;font-weight:800}.home-recognition .button{background:#00543c;border-color:#00543c}.home-recognition .update-kicker{color:#00543c}.tv-home-feature{background:#00543c;padding:100px 5vw;color:white}.tv-home-feature:before{display:none}.tv-home-inner{max-width:1320px;gap:90px}.tv-home-copy h2{font-family:Arial,'Noto Sans SC',sans-serif;font-weight:800;font-size:clamp(34px,4vw,56px);line-height:1.25;letter-spacing:-.035em}.tv-home-copy h2 em{color:#e4d59e}.tv-home-photo,.tv-home-small-frame{border:0;border-radius:0;box-shadow:0 12px 35px #0003;transform:none}.tv-home-robot{padding:8px;background:white;width:78%}.tv-home-small-frame{padding:8px 8px 0;background:white;width:45%}.tv-home-feature .button{background:none;border:0;border-bottom:2px solid white;color:white;padding:12px 0;box-shadow:none}.home-redesign .ip-overview{background:#f3f6f0;color:#00543c;padding:90px 5vw;margin:0;text-align:center}.home-redesign .ip-overview h2{color:#00543c;font-size:clamp(36px,4vw,58px)}.home-redesign .ip-overview .ip-note{color:#506058;margin:18px auto}.home-redesign .ip-overview .ip-eyebrow{color:#00543c}.home-redesign .ip-overview .ip-stats{max-width:1320px;margin:50px auto 35px;gap:0}.home-redesign .ip-overview .ip-stats article{border:0;border-right:1px solid #bdcec2;background:none;padding:30px}.home-redesign .ip-overview .ip-stats article:nth-child(3n){border-right:0}.home-redesign .ip-overview .ip-stats strong{color:#00543c;font-size:clamp(42px,5vw,72px);font-weight:800;letter-spacing:-.04em}.home-redesign .ip-overview .ip-stats span{color:#314d40;font-size:16px;line-height:1.6}.home-redesign .ip-overview .ip-text-link{color:#00543c;border-bottom:2px solid #00543c;padding:10px 0;display:inline-block}.home-highlights-link{margin:0 auto;padding:65px 0;gap:20px}.home-highlights-link a{background:#fff;border:1px solid #c6d6ca;border-top:4px solid #00543c;color:#00543c;padding:25px}.home-contact{background:#00543c;color:white;padding:75px 5vw}.home-contact h2{color:white;font-size:48px;letter-spacing:-.03em}.home-contact .office-panel{background:transparent;border:0;border-top:1px solid #ffffff60;border-radius:0;color:white;padding:22px 0}.home-contact .office-panel a{color:white}.home-contact .section-media .photo-frame{border:0;padding:6px;background:white;box-shadow:none}.home-contact .rich-text p{color:white}.rg-inline-cta{background:#eef3e7;border:0;border-radius:0;box-shadow:none;max-width:none;width:100%;margin:0;padding:65px 5vw;color:#00543c}.rg-inline-cta h2,.rg-inline-cta p,.rg-inline-cta .rg-eyebrow,.rg-inline-cta .rg-secondary{color:#00543c}.rg-inline-cta .button{background:#00543c;color:white;border-color:#00543c}footer{background:#003b2a;border:0;padding:55px 5vw;color:white}
/* Inner pages receive the same clean, green institutional language. */
.page-hero{background:#00543c;border:0}.page-hero:before{opacity:.35}.page-hero .rich-text h1{font-size:clamp(36px,4vw,62px);font-weight:800;letter-spacing:-.04em}.page-hero .photo-frame{transform:none!important;background:white;padding:7px;border:0;box-shadow:0 20px 50px #002f2525;border-radius:0}.page-hero .button{background:white;color:#00543c;border-color:white;box-shadow:none}.ip-section{border:0;border-radius:0;background:#f3f6f0;box-shadow:none;padding:clamp(25px,5vw,65px)}.ip-section h2{color:#00543c}.ip-cards article{background:white;border:0;border-top:3px solid #00543c;border-radius:0;box-shadow:none}.ip-photo,.photo-frame,.oc-frame{border:0;border-radius:0;background:white;padding:7px;box-shadow:0 12px 30px #003b2810}.photo-frame img,.ip-photo img,.oc-frame img{border-radius:0}.reading{border:0;border-top:4px solid #00543c;border-radius:0;box-shadow:none;background:#f5f7f2}.oc-album{background:#fff}.oc-copy h1{font-weight:800;color:#00543c;font-size:clamp(36px,4vw,60px)}.oc-copy p{color:#506058}.team-redesign{background:#fff}.team-redesign .educator-stage{background:#f3f6f0;border:0;border-top:5px solid #00543c;border-radius:0;box-shadow:none}.team-redesign .educator-stage:before{display:none}.team-redesign .teacher-thumb{border-radius:0;border-color:#c6d6ca;box-shadow:none;background:white}.team-redesign .teacher-thumb[aria-selected=true]{border-color:#00543c;background:#eef3e7}.team-redesign .teacher-portrait{border-radius:0;border-color:#c6d6ca;box-shadow:none}.ui-search-dialog{border-top-color:#00543c}.ui-search-results a{color:#00543c}
@media(min-width:1700px){.home-welcome.video-welcome .cinema-stage{height:100svh;max-height:none;aspect-ratio:auto}.home-welcome .welcome-film{object-fit:cover}}
@media(max-width:1100px){.site-header nav{gap:15px}.brand{font-size:25px}.brand small{font-size:9px}.brand img{width:50px;height:50px}.ui-journey a{font-size:14px;padding:22px 15px}.campus-story>div{padding:22px}.campus-story h3{font-size:24px}.campus-story img{height:240px}}
@media(max-width:780px){.home-page .ui-utility{display:none}.home-page .site-header{top:0;padding:20px 5vw}.home-page .site-header.campus-scrolled{padding:12px 5vw}.site-header .brand{margin-right:auto}.brand img{width:48px;height:48px}.brand{font-size:25px}.brand small{font-size:9px}.campus-search{order:initial;margin:0;padding:8px;min-width:44px}.menu-toggle{padding:8px}.menu-toggle span{width:26px;margin:6px 0}.home-page .site-header.menu-open{background:#004631}.home-page .site-header nav{background:#004631;border:0;max-height:calc(100svh - 96px);padding:20px 5vw 30px}.home-page .site-header nav>a,.home-page .site-header .nav-group>a{color:white;font-size:19px;padding:16px 0}.home-page .site-header .submenu{background:#004631;border-color:#ffffff40;padding-left:15px}.home-page .site-header .submenu a{color:white}.home-page .submenu-toggle{color:white}.home-welcome.video-welcome .cinema-stage{height:100svh;min-height:620px;aspect-ratio:auto}.home-welcome .welcome-film{height:100%;object-fit:cover;object-position:center}.home-welcome .cinema-copy{top:49%;bottom:auto;left:7%;right:7%;max-width:none;transform:translateY(-30%);text-align:center}.home-welcome .cinema-copy .welcome-chinese{font-size:12px!important;margin-bottom:16px!important;letter-spacing:.03em}.home-welcome .welcome-word{font-size:clamp(42px,9vw,72px);letter-spacing:-.035em}.home-welcome .welcome-rest{font-size:clamp(18px,3.4vw,25px);line-height:1.5;max-width:560px;margin:20px auto 0}.home-welcome .cinema-action{top:70%;bottom:auto;left:50%;transform:translateX(-50%);padding:0}.home-welcome .cinema-action .button{font-size:17px;min-height:48px;padding:8px 0}.home-welcome .video-toggle{right:25px;bottom:28px;width:54px;height:54px}.home-welcome .video-sound{right:92px;bottom:33px;font-size:12px;padding:9px 12px}.ui-journey{grid-template-columns:repeat(2,minmax(0,1fr));padding:25px 5vw;gap:0}.ui-journey-label{padding-bottom:20px}.ui-journey a{font-size:15px;padding:20px 15px;min-height:66px}.campus-discover,.home-container{margin:65px auto}.campus-section-heading{margin-bottom:30px}.campus-section-heading h2{font-size:38px}.campus-section-heading p{font-size:16px}.campus-stories{grid-template-columns:1fr;gap:25px}.campus-story img{height:auto;max-height:400px;object-fit:contain;background:#eaf0e4}.campus-story>div{padding:25px}.campus-story h3{font-size:29px}.campus-story h3 br{display:none}.home-news-heading{align-items:center;gap:15px}.home-news-heading h2{font-size:32px}.home-news-heading a{font-size:12px}.home-news .news-layout{grid-template-columns:1fr;gap:50px}.home-news .administration-news>.image-link{height:auto;min-height:0}.home-news .news-item .photo-frame img{width:100%;height:auto;max-height:500px}.home-news .card-copy h2,.home-news .card-copy h3{font-size:27px}.home-recognition{padding:55px 5vw}.home-recognition-inner{grid-template-columns:1fr;gap:35px}.home-recognition h2{font-size:38px}.tv-home-feature{padding:60px 5vw 75px}.tv-home-inner{grid-template-columns:1fr;gap:40px}.tv-home-copy h2{font-size:38px}.home-redesign .ip-overview{padding:60px 5vw;margin:0}.home-redesign .ip-overview h2{font-size:38px}.home-redesign .ip-overview .ip-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:25px auto}.home-redesign .ip-overview .ip-stats article{padding:25px 12px;border-right:1px solid #bdcec2}.home-redesign .ip-overview .ip-stats article:nth-child(3n){border-right:1px solid #bdcec2}.home-redesign .ip-overview .ip-stats article:nth-child(2n){border-right:0}.home-redesign .ip-overview .ip-stats strong{font-size:48px}.home-redesign .ip-overview .ip-stats span{font-size:13px}.home-highlights-link{grid-template-columns:1fr;padding:40px 0;gap:15px}.home-contact{padding:55px 5vw;grid-template-columns:1fr}.home-contact h2{font-size:38px}.rg-inline-cta{padding:50px 5vw}.page-hero{padding:45px 5vw}.page-hero .rich-text h1{font-size:38px}footer{padding:40px 5vw}}
@media(max-width:400px){.brand{font-size:22px}.brand img{width:42px;height:42px}.brand small{font-size:8px}.site-header{gap:8px}.home-welcome .welcome-word{font-size:42px}.home-welcome .welcome-rest{font-size:18px}.home-welcome .cinema-copy{top:47%;bottom:auto;max-width:none}.home-welcome .cinema-copy .welcome-chinese{font-size:11px!important}.home-welcome .video-toggle{right:20px}.home-welcome .video-sound{right:85px}.home-welcome .cinema-action .button{font-size:17px}.home-redesign .ip-overview .ip-stats strong{font-size:41px}}
@media(prefers-reduced-motion:reduce){.campus-story img,.home-page .site-header{transition:none}.campus-story:hover img{transform:none}}
@media(min-width:781px) and (max-width:1100px){.site-header .brand{margin-right:auto}.menu-toggle{display:block;order:4}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:25px 5vw;background:white;max-height:calc(100svh - 120px);overflow:auto;border-bottom:1px solid var(--line);align-items:stretch;gap:0}.site-header.menu-open nav{display:flex;flex-direction:column}.site-header nav>a,.site-header .nav-group>a{font-size:19px;padding:16px 0}.site-header .submenu{position:static;width:100%;box-shadow:none}.home-page .site-header.menu-open,.home-page .site-header nav{background:#004631}.home-page .site-header .submenu{background:#004631;border-color:#ffffff40}.home-page .site-header .submenu a{color:white}.home-page .site-header nav>a,.home-page .site-header .nav-group>a{color:white}}
.home-page .brand,.home-page .site-header nav>a,.home-page .campus-search{text-shadow:0 2px 12px #001a12b0}

/* Text-only homepage contact section. */
.home-contact.home-contact-text{display:block}.home-contact-text h2{margin:0 0 34px;padding-bottom:28px;border-bottom:1px solid #ffffff60}.home-contact-text .section-copy{width:100%;max-width:none;grid-column:auto}.home-contact-text .offices-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);width:100%;max-width:none;margin:0}.home-contact-text .office-panel{min-width:0;border-top:0;padding:0}.home-contact-text .office-panel+.office-panel{border-inline-start:1px solid #ffffff40;padding-inline-start:clamp(24px,4vw,56px)}.home-contact-text .rich-text p{font-size:clamp(16px,1.5vw,21px);line-height:1.7;margin:0 0 18px;overflow-wrap:anywhere}.home-contact-text .office-panel>p:first-child{font-size:14px;letter-spacing:.06em;margin-bottom:24px}.home-contact-text .office-panel:first-child>p:nth-child(2){font-size:clamp(25px,2.5vw,36px);line-height:1.3;margin-bottom:25px}.home-contact-text .office-panel a{overflow-wrap:anywhere;text-underline-offset:5px}.home-contact-text .office-panel>a{display:inline-flex;align-items:center;min-height:44px}.home-contact-text a:focus-visible{outline:2px solid white;outline-offset:5px}
@media(max-width:780px){.home-contact-text .offices-layout{grid-template-columns:minmax(0,1fr);gap:32px}.home-contact-text .office-panel+.office-panel{border-inline-start:0;border-top:1px solid #ffffff40;padding-inline-start:0;padding-top:28px}.home-contact-text h2{margin-bottom:28px}.home-contact-text .office-panel>p:first-child{letter-spacing:.03em}}

/* Welcome film: keep the optional link beside playback controls, clear of the scene. */
.home-welcome .cinema-action{top:auto;bottom:max(35px,env(safe-area-inset-bottom));left:auto;right:110px;transform:none;z-index:5;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.home-welcome .cinema-action .button{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:8px 16px;border:1px solid #ffffff99;border-radius:3px;background:#003b2a88;font-size:16px;line-height:1.4;color:#fff;backdrop-filter:blur(8px)}
.home-welcome .cinema-action .button:after{margin:0}.home-welcome .cinema-action .button:hover{background:#003b2acc;color:#fff}
.home-welcome .cinema-action .button:focus-visible{outline:3px solid #e6c575;outline-offset:4px}
@media(max-width:780px){.home-welcome .cinema-action{top:auto;bottom:max(28px,env(safe-area-inset-bottom));left:auto;right:92px;transform:none}.home-welcome .cinema-action .button{font-size:14px;min-height:48px;padding:8px 14px}}
@media(max-width:400px){.home-welcome .cinema-action{right:85px}.home-welcome .cinema-action .button{font-size:14px}}
