/* CIUOB heritage system — architectural detail, accessible modern controls. */
:root{--ink:#24382f;--navy:#174c3d;--forest:#174c3d;--emerald:#174c3d;--wine:#8b302c;--gold:#b58b46;--paper:#faf8f2;--cream:#f2ede2;--muted:#59675e;--line:#ded8cb;--shadow:0 12px 32px #24382f0b;--ui-radius:10px;--font-body:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans SC','Microsoft YaHei',sans-serif;--font-display:Georgia,'Noto Serif SC','Songti SC',serif}
body{font-family:var(--font-body);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.75}button,input,select,textarea{font-family:var(--font-body)}h1,h2,h3,.rich-text h1,.rich-text h2,.rich-text h3,.campus-section-heading h2,.campus-story h3,.home-news-heading h2,.home-recognition h2,.tv-home-copy h2,.oc-copy h1,.ne-hero-copy h1,.rg-heading h1{font-family:var(--font-display);font-weight:600;letter-spacing:-.025em;line-height:1.25;text-wrap:balance}h1{font-size:clamp(34px,4.5vw,64px)}h2{font-size:clamp(28px,3.3vw,46px)}h3{font-size:clamp(22px,2.3vw,30px)}.rich-text{font-size:17px;line-height:1.85}.rich-text p,.card-copy p{overflow-wrap:break-word}.rich-text h1,.rich-text h2,.rich-text h3{margin-block:0 20px}.rich-text p+h2,.rich-text p+h3{margin-block-start:32px}p{color:inherit}a{text-underline-offset:5px}a,button{transition:color .2s,background .2s,border-color .2s,box-shadow .2s,transform .2s}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ba7932;outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.6}button:not(.report-image-button):not(.tp-zoom){min-height:44px}button svg{flex-shrink:0}
/* A single primary and secondary action language across every route. */
.button,.rg-send,.rg-review button,.rg-form button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;max-width:100%;padding:12px 22px;border:1px solid var(--wine);border-radius:8px;background:var(--wine);color:#fff;font-family:var(--font-body);font-size:15px;font-weight:650;line-height:1.5;text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere;box-shadow:0 4px 12px #8b302c13}.button:hover,.rg-send:hover,.rg-form button[type=submit]:hover{background:#6d2421;border-color:#6d2421;color:#fff;transform:translateY(-2px);box-shadow:0 6px 18px #8b302c20}.button:active{transform:translateY(0)}.button.secondary,.rg-secondary,.rg-edit,.rg-copy,.rg-return a,.tp-return a,.oc-return a,.ne-related a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 18px;border:1px solid #bdb4a4;border-radius:8px;background:#fffdf8;color:var(--forest);font-size:15px;font-weight:600;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}.rg-secondary:hover,.rg-edit:hover,.rg-copy:hover,.tp-return a:hover,.oc-return a:hover{background:var(--cream);border-color:var(--gold);color:var(--forest)}.content-action,.rg-actions,.tp-return,.oc-return{display:flex;flex-wrap:wrap;gap:12px}.page-hero .button{background:#fffdf8;border-color:#fffdf8;color:var(--forest)}.page-hero .button:hover{background:#ede1c7;color:var(--forest)}.home-recognition .button,.rg-inline-cta .button{background:var(--wine);border-color:var(--wine)}.home-news .card-copy .button,.tv-home-feature .button{border-radius:0;box-shadow:none}.tv-home-feature .button{color:white}
/* Refined navigation with room for language selection. */
.site-header{gap:18px;padding:16px 4vw;background:#fffdf8f5;border-bottom:1px solid var(--line);box-shadow:0 3px 18px #24382f07}.site-header .brand{font-family:var(--font-body);font-size:26px;letter-spacing:.08em;gap:12px;flex-shrink:0}.brand small{font-size:10px;font-weight:500;line-height:1.5;letter-spacing:0;max-width:180px}.brand img{width:52px;height:52px;padding:2px}.site-header nav{gap:8px;align-items:center}.site-header nav>a,.site-header .nav-group>a{min-height:44px;padding:10px 12px;font-size:14px;font-weight:600;letter-spacing:0;color:var(--forest);border-radius:6px;display:inline-flex;align-items:center}.site-header nav>a:after,.site-header .nav-group>a:after{display:none!important}.site-header nav>a[aria-current],.site-header .nav-group>a[aria-current]{background:#e9eee7;color:var(--forest);box-shadow:inset 0 -2px var(--gold)}.site-header nav>a:hover,.site-header .nav-group>a:hover{background:#f0ece3}.nav-group{display:flex;align-items:center;position:relative}.submenu-toggle{min-width:44px;min-height:44px;padding:12px;border:0;border-radius:6px;background:transparent;color:var(--forest);float:none}.submenu-toggle:hover{background:#f0ece3}.submenu-toggle span{border-color:currentColor}.submenu{inset-inline-start:0;top:calc(100% + 8px);width:min(350px,86vw);max-height:65svh;overflow:auto;background:#fffdf8;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:0 0 10px 10px;padding:10px;box-shadow:0 18px 45px #24382f1c}.submenu a{font-size:14px;line-height:1.55;padding:12px;min-height:44px;border-radius:6px;color:var(--forest)}.submenu a:hover,.submenu a:focus{background:#f1eadc;color:var(--wine)}.language-control{border:1px solid #c8cfc7;border-radius:8px;background:#f4f5ef;color:var(--forest);padding:0 9px;gap:6px;min-height:44px}.language-control select{font-family:var(--font-body);font-size:13px;min-height:44px;max-width:108px}.language-control option{font-family:var(--font-body)}.campus-search,.menu-toggle{width:44px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px;border:1px solid #c8cfc7;border-radius:8px;background:transparent;color:var(--forest)}.menu-toggle{display:none;flex-direction:column;gap:6px}.menu-toggle span{margin:0;width:22px;height:2px;background:currentColor;transition:transform .2s}.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.campus-search:hover,.menu-toggle:hover{background:#e9eee7}.home-page .site-header{padding:18px 4vw}.home-page .site-header.campus-scrolled,.home-page .site-header.menu-open{background:#174c3df7}.home-page .language-control,.home-page .campus-search,.home-page .menu-toggle{color:#fff;background:#ffffff0b;border-color:#ffffff55}.home-page .site-header nav>a[aria-current],.home-page .site-header .nav-group>a[aria-current]{background:#ffffff12;color:#fff}.home-page .site-header nav>a:hover,.home-page .site-header .nav-group>a:hover,.home-page .submenu-toggle:hover{background:#ffffff16}.home-page .submenu-toggle{color:#fff}.home-page .site-header .submenu{background:#fffdf8}.home-page .site-header .submenu a{color:var(--forest)}
/* Courtyard-inspired shortcuts: clear labels with drawn arrows instead of emoji glyphs. */
.ui-journey{background:#174c3d;padding:28px 5vw;gap:12px;border-bottom:3px solid var(--gold);grid-template-columns:1.1fr repeat(4,minmax(0,1fr))}.ui-journey-label{padding:10px 20px 10px 0}.ui-journey-label strong{font-family:var(--font-display);font-weight:500;font-size:30px;line-height:1.2}.ui-journey-label small{font-size:11px;letter-spacing:.12em;color:#eddbb4}.ui-journey a{border:1px solid #ffffff30!important;border-radius:8px;background:#ffffff06;padding:20px 16px;font-size:15px;font-weight:550;line-height:1.5;min-height:80px}.ui-journey a:hover{background:#ffffff13;border-color:#d7bc80!important;transform:translateY(-2px);color:#fff}.ui-journey a span,.campus-story span b{font-size:0;display:block;width:24px;height:24px;flex:0 0 24px;position:relative}.ui-journey a span:after,.campus-story span b:after{content:'';position:absolute;width:10px;height:10px;border-top:2px solid currentColor;border-right:2px solid currentColor;right:3px;top:3px}.ui-journey a span:before,.campus-story span b:before{content:'';position:absolute;width:17px;height:2px;right:2px;top:9px;background:currentColor;transform:rotate(-45deg)}
/* Heritage accents stay behind content and never cover original photographs. */
.page-hero{background:#174c3d;position:relative;isolation:isolate;overflow:hidden}.page-hero:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.12;background:url('/assets/design/temple-courtyard.svg') right bottom/ min(65%,780px) auto no-repeat;pointer-events:none;transform:none}.page-hero .rich-text h1{font-family:var(--font-display);font-weight:500;letter-spacing:-.025em}.page-hero .rich-text{position:relative}.campus-discover{position:relative}.campus-section-heading{padding-top:35px}.campus-section-heading:before{content:'';display:block;width:165px;height:76px;margin:0 auto 22px;background:url('/assets/design/temple-courtyard.svg') center/contain no-repeat}.campus-section-heading h2{color:var(--forest)}.campus-section-heading>span,.update-kicker,.ip-eyebrow{color:#795825}.campus-story{background:#fffdf8;border:1px solid var(--line);border-bottom:3px solid var(--gold);border-radius:12px;box-shadow:var(--shadow)}.campus-story>div{padding:28px}.campus-story small{color:#795825}.campus-story h3{font-family:var(--font-display);font-weight:500;font-size:30px}.campus-story img{border-radius:0}.home-container{margin-block:80px}.home-recognition{background:#f1eadc}.home-redesign .ip-overview{background:#f3eee3}.home-redesign .ip-overview h2{font-family:var(--font-display);font-weight:500}.home-highlights-link a{border-radius:8px;background:#fffdf8;border-color:var(--line);border-top-color:var(--gold)}.photo-frame,.oc-frame,.ip-photo,.ne-frame,.tp-frame{border-radius:10px;box-shadow:var(--shadow)}.photo-frame img,.oc-frame img,.ip-photo img{border-radius:5px}.reading,.ip-section,.rg-panel,.rg-sidebar,.rg-review,.ne-intro{background:#fffdf8;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.reading{border-top:3px solid var(--gold)}.ip-cards article,.ne-feature-card,.tp-teaser{border-radius:10px;border-color:var(--line);background:#fffdf8;box-shadow:var(--shadow)}.ip-cards article{border-top-color:var(--gold)}.team-redesign{background:var(--paper)}.team-redesign .educator-stage{border-top:3px solid var(--gold);border-radius:12px;background:#fffdf8;box-shadow:var(--shadow)}.team-redesign .teacher-portrait{border-radius:10px;background:#f2ede2;padding:8px}.team-redesign .teacher-thumb{border-radius:8px;background:#fffdf8}.teacher-thumb[aria-selected=true]{outline:2px solid var(--wine);outline-offset:2px}.teacher-role,.tp-tag{border-radius:6px;background:#eee7d6;color:#624725;border-color:#d8c6a3;line-height:1.6;font-size:13px}.gallery-controls button,.teacher-navigation button,.tp-dialog-controls button{min-width:44px;border-radius:8px}.rg-field input,.rg-field select,.rg-field textarea,.ui-search-input{min-height:48px;padding:12px 14px;border:1px solid #aaa99d;border-radius:8px;background:#fff;color:var(--ink);font-size:16px;line-height:1.5}.rg-field label{font-weight:600;font-size:15px;color:var(--ink)}.rg-note{border-inline-start:3px solid var(--gold);background:#f2ede2;line-height:1.7}.rg-heading h1{color:var(--forest)}.ui-search-dialog{border-radius:12px;border-top:4px solid var(--gold);background:#fffdf8}.ui-search-results a{padding:18px;border-radius:8px}.ui-search-results a:hover{background:#f2ede2}.home-contact,footer,.tv-home-feature{background:#174c3d}.home-contact h2,.tv-home-copy h2{font-family:var(--font-display);font-weight:500}.home-contact a,footer a{color:#fff;text-underline-offset:5px}footer{border-top:3px solid var(--gold)}.home-back-top{background:var(--wine);border-color:#fff;border-radius:50%}
/* Keep the requested welcome film and its controls in place. */
.home-welcome .welcome-word{font-family:var(--font-body);font-weight:750;letter-spacing:-.035em}.home-welcome .welcome-rest{font-family:var(--font-body);font-weight:400}.home-welcome .cinema-action .button{border-radius:8px;background:#174c3dad;font-family:var(--font-body);font-weight:600;box-shadow:none}.home-welcome .cinema-action .button:hover{background:#174c3de6;color:white}.home-welcome .video-toggle{background:#174c3d55;border-width:2px}
/* Arabic and Pinyin need their own readable rhythm, without cramped labels. */
html[dir=rtl] body,html[dir=rtl] .rich-text h1,html[dir=rtl] .rich-text h2,html[dir=rtl] .rich-text h3,html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3{font-family:Tahoma,'Noto Sans Arabic',Arial,sans-serif;letter-spacing:0;line-height:1.6}html[dir=rtl] .nav-group{direction:rtl}html[dir=rtl] .ui-journey-label{padding-inline:0 18px}html[data-language=pinyin] .site-header nav>a,html[data-language=pinyin] .site-header .nav-group>a{font-size:13px}html[data-language=pinyin] .brand small{font-size:10px;max-width:200px}html[data-language=pinyin] h1,html[data-language=pinyin] h2,html[data-language=pinyin] h3{overflow-wrap:break-word;line-height:1.4}
@media(max-width:1280px){.site-header .brand{margin-inline-end:auto}.menu-toggle{display:inline-flex;order:4}.site-header nav{display:none;position:absolute;top:100%;inset-inline:0;padding:18px 4vw 26px;background:#fffdf8;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #24382f10;max-height:calc(100svh - 110px);overflow:auto;align-items:stretch;gap:5px}.site-header.menu-open nav{display:flex;flex-direction:column}.site-header nav>a,.site-header .nav-group>a{font-size:17px;padding:14px 16px;min-height:48px}.nav-group{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center}.submenu-toggle{width:44px;height:44px}.submenu{position:static;grid-column:1/-1;width:100%;max-height:none;margin:5px 0 10px;box-shadow:none;border:0;border-inline-start:2px solid var(--gold);border-radius:0;padding:0 12px}.nav-group:hover .submenu,.nav-group:focus-within .submenu{display:none}.nav-group.open .submenu{display:block}.home-page .site-header nav,.home-page .site-header .submenu{background:#174c3d}.home-page .site-header .submenu a{color:#fff}.home-page .submenu a:hover{background:#ffffff15}.home-page .nav-group>a,.home-page .site-header nav>a{color:#fff}.ui-journey{grid-template-columns:repeat(4,minmax(0,1fr));padding-block:26px}.ui-journey-label{grid-column:1/-1;padding:0 0 12px;gap:8px}.ui-journey-label strong{font-size:30px}}
@media(max-width:780px){.ui-journey{grid-template-columns:repeat(2,minmax(0,1fr));padding:28px 5vw;gap:12px}.ui-journey a{font-size:15px;min-height:94px;padding:18px 16px}.ui-journey-label{padding:0 0 12px!important}.campus-section-heading{padding-top:10px}.campus-section-heading h2{font-size:36px;line-height:1.22}.campus-section-heading p{font-size:16px}.campus-story h3{font-size:28px}.home-container{margin-block:56px}.page-hero:before{background-size:100% auto;opacity:.09}.rich-text{font-size:16px;line-height:1.85}.rich-text h1{font-size:36px!important}.rich-text h2{font-size:29px!important}.rich-text h3{font-size:23px!important}.home-welcome .cinema-copy .welcome-title{font-size:inherit!important}.content-action .button{min-height:48px}.rg-actions>*{flex:1 1 160px}.home-contact h2{font-size:34px}.teacher-role{max-width:100%;white-space:normal}.site-header nav{max-height:calc(100svh - 140px)}}
@media(max-width:600px){html{scroll-padding-top:150px}.site-header,.home-page .site-header,.home-page .site-header.campus-scrolled{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;grid-template-rows:auto auto;gap:10px 12px;padding:12px 5vw}.site-header .brand{grid-column:1/3;grid-row:1;margin:0!important;font-size:23px;gap:10px;min-width:0}.site-header .brand img{width:44px;height:44px}.site-header .brand small{display:block;font-size:9px;max-width:230px;line-height:1.45}.site-header .menu-toggle{grid-column:3;grid-row:1;order:initial;width:44px;padding:10px}.site-header .language-control{grid-column:1/3;grid-row:2;justify-self:start;margin:0;padding:0 10px;gap:8px;min-height:44px}.site-header .language-control svg{display:block;width:18px;height:18px}.site-header .language-control select{min-width:88px;max-width:120px;font-size:13px}.site-header .campus-search{grid-column:3;grid-row:2;order:initial;margin:0;min-width:44px}.site-header .campus-search svg{width:22px;height:22px}.site-header nav{max-height:calc(100svh - 145px);padding:14px 5vw 26px}.home-welcome .cinema-copy{top:53%}.home-welcome .welcome-word{font-size:clamp(40px,10vw,62px)}.home-welcome .welcome-rest{font-size:18px}.home-welcome .cinema-action{bottom:max(24px,env(safe-area-inset-bottom));right:90px}.home-welcome .video-toggle{right:24px;bottom:max(24px,env(safe-area-inset-bottom))}.home-welcome .cinema-action .button{font-size:14px;padding:11px 16px}.campus-stories{gap:22px}html[data-language=pinyin] .site-header .brand small{font-size:9px;max-width:230px}html[dir=rtl] .site-header .brand{margin:0}.page-hero .rich-text h1{font-size:34px!important}}
@media(prefers-reduced-motion:reduce){a,button,.menu-toggle span,.campus-story img{transition:none!important}.button:hover,.ui-journey a:hover{transform:none}}
.page-hero:before{width:auto;height:auto;border:0;border-radius:0;box-shadow:none}.submenu{top:100%}
@media(min-width:1281px){.site-header nav .nav-group{gap:0}.site-header .nav-group>a{padding-inline-end:4px}}
