@font-face{font-family:RobotoLocal;src:url(/assets/roboto.woff)}@font-face{font-family:RobotoLocal;src:url(/assets/roboto-medium.woff);font-weight:500}@font-face{font-family:RobotoLocal;src:url(/assets/roboto-bold.woff);font-weight:700}:root{--red:#c42026;--red-dark:#aa171c;--nav:#333;--ink:#262626;--muted:#666;--paper:#fff;--soft:#f5f5f5;--band:#363636;--shadow:0 10px 26px #00000024;--section:46px;--ease:.22s ease}html[data-theme=summer]{--red:#d95f1e;--red-dark:#b94812;--soft:#fff8ea;--band:#174e5c}html[data-theme=winter]{--red:#b72232;--red-dark:#941727;--soft:#f2f7fb;--band:#243c56}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:RobotoLocal,Arial,sans-serif;font-size:14px;line-height:1.55;transition:background-color .35s,color .35s}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{max-width:100%}.wrap{width:min(1170px,100% - 40px);margin-inline:auto}.site-header{z-index:50;background:#fff;position:relative;box-shadow:0 1px #00000014}.topbar{align-items:center;gap:22px;height:103px;display:flex}.brand{flex:none;width:235px;display:block}.brand img{width:225px;height:auto;display:block}.school-name{letter-spacing:.025em;color:#111;flex-direction:column;min-width:0;font-size:18px;font-weight:700;line-height:1.25;display:flex}.school-name strong{margin-top:2px;font-size:18px}.header-actions{flex-direction:column;justify-content:center;align-self:stretch;align-items:flex-end;gap:9px;margin-left:auto;display:flex}.languages{align-items:center;gap:18px;display:flex}.languages img{object-fit:cover;width:31px;height:20px;display:block;box-shadow:0 0 0 1px #ddd}.search-form{background:#fff;border:1px solid #ddd;border-radius:18px;width:202px;height:31px;display:flex;overflow:hidden}.search-form input{color:#555;border:0;outline:0;flex:1;min-width:0;padding:0 12px}.search-form button{cursor:pointer;background:0 0;border:0;width:38px;font-size:22px;line-height:1}.hamburger{cursor:pointer;background:0 0;border:0;padding:7px;display:none}.hamburger i{background:#222;width:25px;height:2px;margin:5px;display:block}.main-nav{background:var(--nav);border-top:4px solid var(--red);height:43px;transition:border-color .35s}.nav-wrap{align-items:stretch;height:39px;display:flex}.nav-item{border-right:1px solid #ffffff14;flex:1;min-width:0;position:relative}.nav-item:first-child{border-left:1px solid #ffffff14}.nav-item>button{color:#fff;white-space:nowrap;cursor:pointer;width:100%;height:100%;transition:background var(--ease),color var(--ease);background:0 0;border:0;justify-content:center;align-items:center;padding:0 10px;font-size:13px;display:flex}.nav-item>button b{transition:transform var(--ease);margin-left:5px;font-size:14px;font-weight:400}.nav-item:hover>button,.nav-item.hovered>button{background:#474747}.nav-item.hovered>button b{transform:rotate(180deg)}.dropdown{width:285px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transition:opacity var(--ease),transform var(--ease),visibility var(--ease);background:#fff;padding:7px 0;position:absolute;top:100%;left:0;transform:translateY(8px)}.nav-item:nth-last-child(-n+2) .dropdown{left:auto;right:0}.nav-item:hover .dropdown,.nav-item.hovered .dropdown{opacity:1;visibility:visible;transform:none}.dropdown a{color:#444;transition:padding var(--ease),color var(--ease),background var(--ease);border-bottom:1px solid #eee;padding:9px 17px;font-size:13px;line-height:1.35;display:block}.dropdown a:last-child{border:0}.dropdown a:hover{color:var(--red);background:#f6f6f6;padding-left:22px}.hero{border-bottom:5px solid var(--red);color:#fff;background:#1d1d1d;height:377px;position:relative;overflow:hidden}.hero-bg{background-position:50%;background-size:cover;animation:.7s both heroIn;position:absolute;inset:0}.hero-bg:after{content:"";background:linear-gradient(90deg,#00000014,#0000001f);position:absolute;inset:0}.hero-content{justify-content:flex-end;align-items:center;height:100%;padding:30px 58px 40px;display:flex;position:relative}.hero-box{text-align:center;background:#4a2828bd;width:min(390px,42%);padding:20px 26px;box-shadow:0 8px 26px #00000026}.hero-box.dark{background:#151d27c7}.hero h1{margin:0 0 11px;font-size:20px;font-weight:400;line-height:1.35}.hero p{margin:0 0 19px;font-size:14px;line-height:1.65}.hero-button{background:var(--red);letter-spacing:.025em;transition:background var(--ease),transform var(--ease);padding:9px 23px;font-size:14px;font-weight:700;display:inline-block}.hero-button:hover{background:var(--red-dark);transform:translateY(-2px)}.hero-arrow{z-index:2;color:#fff;opacity:0;cursor:pointer;width:42px;height:60px;transition:opacity var(--ease),background var(--ease);background:#0000001f;border:0;font-size:42px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.hero:hover .hero-arrow{opacity:1}.hero-arrow:hover{background:#0000006b}.hero-arrow.previous{left:12px}.hero-arrow.next{right:12px}.hero-dots{gap:9px;display:flex;position:absolute;bottom:17px;left:50%;transform:translate(-50%)}.hero-dots button{cursor:pointer;width:40px;height:4px;transition:background var(--ease);background:#ffffff73;border:0;padding:0}.hero-dots button.active{background:#fff}@keyframes heroIn{0%{opacity:.25;transform:scale(1.015)}to{opacity:1;transform:none}}.section-title{text-align:center;text-transform:uppercase;letter-spacing:.025em;color:#111;margin:0 0 38px;font-size:25px;font-weight:400;line-height:1.2;position:relative}.section-title:after{content:"";background:var(--red);width:42px;height:2px;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)}.section-title.light{color:#fff}.section-title.light:after{background:#fff}.more-strip{text-align:center;margin:31px 0 -4px}.more-strip a{text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.more-strip a:after{content:"→";color:var(--red);transition:transform var(--ease);font-size:18px}.more-strip a:hover:after{transform:translate(4px)}.more-strip.red{margin:32px 0 -4px}.more-strip.red a,.more-strip.red a:after{color:#fff}.news-section{padding:42px 0 36px}.news-grid{grid-template-columns:repeat(4,1fr);gap:30px;display:grid}.news-card{min-width:0;transition:transform var(--ease),box-shadow var(--ease);background:#fff}.news-card:hover{transform:translateY(-3px);box-shadow:0 9px 22px #00000021}.thumb{aspect-ratio:1.48;background:#eee;display:block;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;transition:transform .45s;display:block}.news-card:hover .thumb img{transform:scale(1.045)}.thumb span{background:var(--red);color:#fff;letter-spacing:.05em;padding:5px 10px;font-size:10px;font-weight:700;position:absolute;bottom:0;right:0}.card-body{padding:13px 2px 4px}.card-body h3{margin:0 0 8px;font-size:15px;font-weight:500;line-height:1.42}.card-body h3 a{transition:color var(--ease)}.card-body h3 a:hover{color:var(--red)}.card-body p{color:#777;margin:0;font-size:12px;line-height:1.5}.events{background:var(--band);color:#fff;padding:45px 0 0;transition:background .35s}.event-list{grid-template-columns:repeat(4,1fr);gap:2px;display:grid}.event-card{color:#fff;background:#222;min-height:254px;position:relative;overflow:hidden}.event-card>img{object-fit:cover;opacity:.48;width:100%;height:100%;transition:transform .5s,opacity .35s;position:absolute;inset:0}.event-card:after{content:"";background:linear-gradient(#00000005 30%,#000000e6);position:absolute;inset:0}.event-card:hover>img{opacity:.68;transform:scale(1.045)}.event-body{z-index:1;grid-template-columns:52px 1fr;align-items:start;column-gap:14px;display:grid;position:absolute;inset:auto 17px 17px}.event-date{background:var(--red);flex-direction:column;grid-row:1/4;align-items:center;padding:7px 5px;line-height:1;display:flex}.event-date b{font-size:25px}.event-date small{margin-top:5px;font-size:10px;font-weight:700}.event-body h3{margin:0;font-size:14px;font-weight:500;line-height:1.35}.event-body p{color:#ddd;margin:6px 0 0;font-size:10px;line-height:1.35}.events>.more-strip{background:var(--red);height:50px;margin:30px 0 0;padding-top:14px}.feature{background:#fff;padding:46px 0 52px}.feature-shade{background:var(--band);color:#fff}.feature-shade .lead{color:#eee}.lead{text-align:center;color:#555;max-width:970px;margin:-2px auto 31px;font-size:14px;line-height:1.65}.feature-grid{grid-template-columns:1fr 1fr;gap:30px;display:grid}.feature-card{color:#333;min-height:213px;transition:transform var(--ease),box-shadow var(--ease);background:#fff;grid-template-columns:43% 1fr;display:grid;overflow:hidden;box-shadow:0 1px #0000001a}.feature-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.feature-image{background-position:50%;background-size:cover;min-height:100%;transition:transform .45s}.feature-card:hover .feature-image{transform:scale(1.035)}.feature-card>div:last-child{z-index:1;background:#fff;padding:23px 22px;position:relative}.feature-card h3{color:#222;margin:0 0 9px;font-size:16px;line-height:1.35}.feature-card p{color:#666;margin:0 0 6px;font-size:12px;line-height:1.6}.feature-card em{color:var(--red);font-size:11px;font-style:normal}.alumni{padding:46px 0 50px}.alumni-grid{grid-template-columns:repeat(5,1fr);gap:24px;display:grid}.alumni-grid article{min-width:0;transition:transform var(--ease)}.alumni-grid article:hover{transform:translateY(-3px)}.portrait{aspect-ratio:1/.92;object-fit:cover;object-position:center top;filter:saturate(.92);width:100%;transition:filter var(--ease),transform .45s ease;display:block}.alumni-grid article:hover .portrait{filter:saturate(1.06)}.alumni-copy{padding-top:12px}.alumni-copy span{color:var(--red);letter-spacing:.05em;font-size:10px;font-weight:700}.alumni-copy h3{margin:4px 0 7px;font-size:14px;line-height:1.42}.alumni-copy p{color:#777;margin:0;font-size:11px;line-height:1.45}.quotes{color:#fff;background:linear-gradient(#262626e8,#262626e8),url(/assets/footer-banner.jpg) 50%/cover;padding:45px 0 53px}.quote-row{grid-template-columns:125px 1fr;align-items:center;gap:36px;max-width:930px;margin:0 auto;display:grid}.quote-row>img{object-fit:cover;object-position:top;width:125px;height:190px}.quotes blockquote{margin:0;font-size:15px;font-style:italic;line-height:1.75;position:relative}.quotes blockquote:before{content:"“";color:#ffffff2e;font-family:Georgia,serif;font-size:70px;position:absolute;top:-25px;left:-24px}.quotes footer{color:#fff;margin-top:14px;font-size:14px;font-style:normal;font-weight:700}.quotes footer small{margin-top:2px;font-size:11px;font-weight:400;display:block}.facts{padding:44px 0 50px}.fact-grid{border-top:1px solid #ddd;border-left:1px solid #ddd;grid-template-columns:1.2fr 1fr .75fr 1.2fr 1.2fr;display:grid}.fact-grid>div{text-align:center;background:#fff;border-bottom:1px solid #ddd;border-right:1px solid #ddd;min-height:150px;padding:20px 15px}.fact-grid span{font-size:12px;display:block}.fact-grid strong{color:var(--red);margin:5px 0;font-size:27px;line-height:1.2;display:block}.fact-grid p{color:#666;margin:0;font-size:10px;line-height:1.45}.video-section{background:#fcf9e2;padding:45px 0 0}.video-grid{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.video{text-align:center;color:#fff;height:190px;transition:transform var(--ease),box-shadow var(--ease);flex-direction:column;justify-content:center;align-items:center;padding:15px;display:flex;overflow:hidden;background-position:50%!important;background-size:cover!important}.video:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.video span{width:46px;height:46px;transition:background var(--ease),color var(--ease);border:2px solid #fff;border-radius:50%;padding-left:3px;font-size:15px;line-height:42px}.video:hover span{color:var(--red);background:#fff}.video h3{max-width:88%;margin:12px 0 0;font-size:13px;line-height:1.4}.video-section>.more-strip{background:var(--red);height:52px;margin:32px 0 0;padding-top:15px}.site-footer{color:#ddd;background:#1f1f1f;position:relative;overflow:hidden}.footer-bg{background:linear-gradient(#242424f0,#242424f0),url(/assets/footer-banner.jpg) 50%/cover;position:absolute;inset:0}.footer-grid{grid-template-columns:1.2fr 1fr 1fr 1.15fr;gap:42px;padding:49px 0 40px;display:grid;position:relative}.footer-grid h3{color:#fff;margin:0 0 18px;font-size:13px}.footer-grid a,.footer-grid address{color:#ccc;font-size:12px;line-height:1.55}.footer-grid>div>a{transition:color var(--ease),padding var(--ease);margin-bottom:8px;display:block}.footer-grid>div>a:hover{color:#fff;padding-left:3px}.footer-grid address{font-style:normal}.footer-grid address p{margin:0 0 12px}.social{color:#fff;font-size:21px}.copyright{color:#bbb;border-top:1px solid #ffffff26;padding:14px 0;font-size:11px;position:relative}.copyright button{float:right;color:#fff;cursor:pointer;background:0 0;border:1px solid #aaa;width:27px;height:27px;margin-top:-6px}.page-banner{color:#fff;background:linear-gradient(90deg,#262626f0,#2626268c),url(/assets/soict30-banner.jpeg) 50%/cover;padding:45px 0}.page-banner p{margin:0 0 6px;font-size:11px}.page-banner h1{margin:0;font-size:29px;line-height:1.3}.page-content,.detail{padding:52px 0 65px}.tabs{border-bottom:1px solid #ddd;margin-bottom:27px}.tabs button{cursor:pointer;background:#fff;border:0;padding:10px 14px;font-size:12px;font-weight:700}.tabs .selected{color:var(--red);border-bottom:2px solid var(--red)}.listing{max-width:920px}.listing article{border-bottom:1px solid #e6e6e6;grid-template-columns:255px 1fr;gap:24px;padding:21px 0;display:grid}.listing img{object-fit:cover;width:100%;height:150px}.listing span{color:var(--red);font-size:10px;font-weight:700}.listing h2{margin:4px 0;font-size:20px;line-height:1.35}.listing h2 a:hover,.listing div>a:hover{color:var(--red)}.listing p{color:#666;margin:5px 0 8px;font-size:13px}.listing div>a{color:var(--red);font-size:12px}.pagination{gap:5px;margin-top:32px;display:flex}.pagination button{cursor:pointer;background:#fff;border:1px solid #ddd;width:34px;height:34px}.pagination .active{border-color:var(--red);background:var(--red);color:#fff}.info{max-width:870px;font-size:15px}.info h2{margin:0;font-size:27px}.underline{background:var(--red);width:42px;height:2px;margin:13px 0 24px}.info p,.detail p{line-height:1.8}.info img{width:100%;margin:5px 0 25px}.people{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.people article{text-align:center;background:#fff;border:1px solid #e5e5e5;padding:27px 15px}.avatar{background:var(--band);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:94px;height:94px;margin:0 auto 13px;font-weight:700;display:flex}.people h2{margin:0;font-size:17px}.people p,.people a{color:#666;font-size:12px}.detail{max-width:870px}.detail .meta{color:var(--red);font-size:11px;font-weight:700}.detail img{object-fit:cover;width:100%;max-height:520px;margin:15px 0 23px}.detail .intro{font-size:18px;font-weight:500}.theme-switcher{z-index:90;position:fixed;bottom:18px;right:18px}.theme-toggle{color:#fff;cursor:pointer;background:#2e2e2e;border:1px solid #ffffff40;border-radius:21px;align-items:center;gap:7px;height:39px;padding:0 12px;display:flex;box-shadow:0 6px 20px #0000003d}.theme-toggle span{color:#fff}.theme-toggle em{font-size:11px;font-style:normal;font-weight:700}.theme-menu{width:128px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform-origin:100% 100%;transition:all var(--ease);background:#fff;border-radius:8px;padding:6px;position:absolute;bottom:48px;right:0;transform:translateY(7px)scale(.98)}.theme-switcher.is-open .theme-menu{opacity:1;visibility:visible;transform:none}.theme-menu button{color:#333;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;width:100%;padding:8px;font-size:12px;display:flex}.theme-menu button:hover,.theme-menu button.active{background:var(--soft);color:var(--red)}.season-layer,.snowfall{z-index:80;pointer-events:none;position:fixed;inset:0;overflow:hidden}.snowfall i{top:-12px;left:var(--x);width:var(--size);height:var(--size);animation:snow var(--duration) linear infinite;animation-delay:var(--delay);background:#ffffffdb;border-radius:50%;position:absolute;box-shadow:0 0 4px #9bcdf0e6}.santa{filter:drop-shadow(0 3px 4px #0003);align-items:center;gap:2px;animation:4s ease-in-out infinite santaBob;display:flex;position:fixed;bottom:68px;right:22px}.santa span{font-size:28px}.santa small{color:#dceeff;font-size:11px}.summer-layer{background:radial-gradient(circle at 85% 4%,#ffcc542e,#0000 28%)}.summer-layer i{left:var(--x);width:5px;height:5px;animation:10s ease-in-out infinite summerFloat;animation-delay:var(--delay);background:#ffbe3c6b;border-radius:50%;position:absolute;top:-10px}@keyframes snow{to{transform:translate(34px,105vh)rotate(180deg)}}@keyframes santaBob{50%{transform:translateY(-7px)rotate(-2deg)}}@keyframes summerFloat{50%{opacity:.25;transform:translate(24px,65vh)}to{opacity:0;transform:translate(-15px,105vh)}}.reveal{opacity:0;transition:opacity .58s,transform .58s;transform:translateY(18px)}.reveal.revealed{opacity:1;transform:none}@media (width<=1080px){.wrap{width:min(960px,100% - 32px)}.brand{width:185px}.brand img{width:180px}.school-name,.school-name strong{font-size:15px}.nav-item>button{padding:0 6px;font-size:11px}.event-list{grid-template-columns:repeat(2,1fr)}.event-card{min-height:220px}.alumni-grid{grid-template-columns:repeat(3,1fr)}.alumni-grid article:nth-child(n+4){display:none}.hero-box{width:46%}}@media (width<=780px){.wrap{width:min(100% - 28px,620px)}.topbar{gap:10px;height:76px}.brand{width:114px}.brand img{width:110px}.school-name{border-left:1px solid #ddd;padding-left:10px;font-size:10px;line-height:1.25}.school-name strong{font-size:10px}.header-actions{display:none}.hamburger{margin-left:auto;display:block}.main-nav{border-top-width:3px;height:auto;display:none}.main-nav.open{display:block}.nav-wrap{height:auto;padding:5px 0 10px;display:block}.nav-item{border:0}.nav-item>button{border-bottom:1px solid #4b4b4b;justify-content:space-between;height:40px;padding:0;font-size:12px}.dropdown{visibility:visible;opacity:1;width:100%;box-shadow:none;padding:0;display:none;position:static;transform:none}.nav-item.hovered .dropdown{display:block}.dropdown a{padding:9px 18px}.hero{height:365px}.hero-content{justify-content:center;align-items:flex-end;padding:25px 14px 44px}.hero-box{background:#231e1ec7;width:100%;max-width:540px;padding:16px 18px}.hero h1{font-size:17px}.hero p{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:14px;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.hero-button{padding:7px 17px;font-size:12px}.hero-arrow{display:none}.hero-dots button{width:27px}.section-title{font-size:21px}.news-grid{grid-template-columns:1fr 1fr;gap:17px}.news-card:nth-child(n+3){display:none}.event-list,.feature-grid{grid-template-columns:1fr}.feature-card{min-height:185px}.lead{font-size:13px}.alumni-grid{grid-template-columns:1fr 1fr;gap:18px}.alumni-grid article:nth-child(n+5){display:none}.quote-row{grid-template-columns:85px 1fr;gap:22px}.quote-row>img{width:85px;height:135px}.quotes blockquote{font-size:13px}.fact-grid{grid-template-columns:1fr 1fr}.fact-grid>div{min-height:122px}.video-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:30px;padding:40px 0 32px}.listing article{grid-template-columns:120px 1fr;gap:14px}.listing img{height:90px}.listing h2{font-size:15px}.listing p{display:none}.people{grid-template-columns:1fr 1fr;gap:12px}.theme-switcher{bottom:12px;right:12px}.theme-toggle em{display:none}.theme-toggle{justify-content:center;width:39px;padding:0}.santa{bottom:59px;right:12px}}@media (width<=480px){.school-name span{display:none}.school-name strong{font-size:9px}.hero{height:330px}.news-grid{grid-template-columns:1fr}.news-card:nth-child(2){display:none}.feature-card{grid-template-columns:1fr}.feature-image{height:150px}.alumni-grid{grid-template-columns:1fr 1fr}.alumni-copy p{display:none}.quote-row{display:block}.quote-row>img{display:none}.fact-grid{grid-template-columns:1fr}.video{height:170px}.footer-grid,.people,.listing article{grid-template-columns:1fr}.listing img{height:160px}.copyright{padding-right:38px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation:none!important}.reveal{opacity:1;transform:none}.snowfall,.summer-layer{display:none}}
