@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');:root{--ink:#14242a;--red:#155b88;--cream:#f7f6f2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Manrope,Arial,sans-serif;background:#fff}a{color:inherit;text-decoration:none}.top{height:94px;display:flex;align-items:center;padding:0 5%;gap:3%;background:white;position:sticky;top:0;z-index:20;box-shadow:0 2px 12px #00000009}.brand{display:flex;align-items:center;gap:13px;font-size:14px;font-weight:800;letter-spacing:.03em;line-height:1.4;min-width:225px}.brand small{display:block;font-size:9px;letter-spacing:.2em;color:#888;margin-top:4px}.seal{display:grid;place-items:center;background:var(--red);color:white;border-radius:50%;width:54px;height:54px;font-size:17px}.top nav{display:flex;gap:22px;align-items:center;flex:1;justify-content:center}.top nav a{font-size:12px;font-weight:700;white-space:nowrap}.top nav a:hover{color:var(--red)}.login{background:var(--ink);color:white;padding:13px 20px;font-size:12px;font-weight:800}.menu{display:none}.hero{height:min(760px,calc(100vh - 94px));min-height:560px;position:relative;overflow:hidden;background:linear-gradient(130deg,#152c39,#293d4a 48%,#798e93)}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:background-image .5s}.hero-grain{position:absolute;inset:0;background:linear-gradient(90deg,#0c2331c9,#122b3288 48%,#101f261a)}.hero-content{position:absolute;left:9%;top:25%;width:min(760px,82%);color:white}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.25em}.hero h1{font-size:clamp(54px,7vw,106px);line-height:1.06;letter-spacing:-.065em;margin:25px 0;max-width:900px}.hero-content>p:not(.eyebrow){font-size:17px;max-width:580px;line-height:1.8;color:#f1f1f1}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}.primary,.secondary{padding:18px 25px;font-weight:800;font-size:12px;display:inline-block}.primary{background:var(--red);color:white}.secondary{border:1px solid #ffffff8a;color:white}.slide-controls{position:absolute;bottom:45px;left:9%;color:white;display:flex;align-items:center;gap:22px;font-size:12px}.slide-controls button{background:transparent;color:white;border:1px solid #ffffff88;border-radius:50%;width:43px;height:43px;cursor:pointer}.vertical{position:absolute;right:30px;bottom:70px;color:white;writing-mode:vertical-rl;font-size:10px;letter-spacing:.3em}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:120px 10%}.red{color:var(--red)}h2{font-size:clamp(36px,4vw,65px);line-height:1.1;letter-spacing:-.055em;margin:20px 0 40px}h2 em{font-style:normal;color:var(--red)}.intro>div:nth-child(2){padding-top:50px}.intro p:not(.eyebrow){font-size:19px;line-height:1.9;color:#53636b}.textlink{font-weight:800;border-bottom:2px solid var(--red);padding-bottom:8px}.feature{background:var(--cream);padding:110px 9%}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cards a{background:white;padding:40px 30px;min-height:300px;display:flex;flex-direction:column}.cards span{color:var(--red);font-size:10px;font-weight:800;letter-spacing:.15em}.cards h3{font-size:25px;margin-top:50px}.cards p{color:#647178;font-size:13px;line-height:1.8}.cards b{margin-top:auto;font-size:12px}.services,.news{padding:110px 9%}.section-title{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-title>p{max-width:350px;line-height:1.8;color:#667}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#ddd}.service-grid a{display:flex;align-items:center;gap:20px;background:white;padding:35px 20px;border-bottom:1px solid #eee}.service-grid span{color:var(--red);font-size:12px}.service-grid strong{font-size:19px;flex:1}.service-grid b{font-size:23px}.news{background:var(--cream)}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.news-grid article{background:white;padding:25px;min-height:220px}.news-grid img{width:100%;height:190px;object-fit:cover}.news-grid small{color:var(--red)}.news-grid p,.muted{color:#667;line-height:1.7}.banner{background:#9e2138;color:white;padding:95px 9%}.banner .primary{background:white;color:#9e2138}footer{background:#11262e;color:white;padding:70px 9% 35px;display:grid;grid-template-columns:2fr 2fr 1fr;gap:25px;font-size:13px;line-height:1.9}footer a{display:block}.footer-brand{font-size:24px;font-weight:800}footer small{grid-column:1/-1;color:#aab}.content{max-width:920px;min-height:60vh;margin:auto;padding:90px 20px}.content h1{font-size:54px}.article{line-height:2;white-space:normal}@media(max-width:1000px){.top nav{display:none;position:absolute;top:94px;left:0;right:0;background:white;padding:20px;flex-direction:column;align-items:stretch}.top nav.open{display:flex}.menu{display:block;margin-left:auto;border:0;background:white;font-size:25px}.login{display:none}.cards{grid-template-columns:1fr}.intro{grid-template-columns:1fr;gap:0}.intro>div:nth-child(2){padding-top:0}}@media(max-width:650px){.top{height:75px;padding:0 5%}.top nav{top:75px}.hero{height:650px;min-height:0}.hero-content{top:24%;left:7%;width:86%}.hero h1{font-size:53px}.intro,.feature,.services,.news{padding:70px 7%}.service-grid,.news-grid{grid-template-columns:1fr}.section-title{display:block}footer{grid-template-columns:1fr}.vertical{display:none}}

.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:30px 0}.portal-grid a{border:1px solid #e3e5e7;border-radius:12px;padding:25px;text-decoration:none;color:#18242b;background:#fff;min-height:110px}.portal-grid a:hover{border-color:#aa203f}.portal-form{display:grid;gap:12px;max-width:620px;margin:22px 0}.portal-form input,.portal-form textarea{padding:14px;border:1px solid #ccc;border-radius:7px;font:inherit}.portal-form button{background:#155b88;color:white;border:0;padding:14px;border-radius:7px;cursor:pointer}.notice{padding:20px 0;border-bottom:1px solid #ddd}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:750px}th,td{border-bottom:1px solid #ddd;padding:13px;text-align:left}


/* HUMANITY BRAND SYSTEM v2 — additive overrides, safe for existing PHP views */
:root{--brand:#2061b7;--brand-deep:#123e80;--brand-navy:#0c2852;--brand-soft:#eaf2fd;--ink:#142843;--red:#2061b7;--cream:#f3f7fd}
html{scroll-padding-top:112px}body{color:var(--ink);background:#fff}a,button{transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}a:focus-visible,button:focus-visible{outline:3px solid #8eb9f6;outline-offset:3px}
.utility-bar{min-height:35px;padding:7px 5%;background:var(--brand-navy);color:#d6e7ff;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:10px;font-weight:700;letter-spacing:.09em}.utility-bar div{display:flex;gap:23px}.utility-bar a:hover{color:white}
.top{height:88px;top:0;box-shadow:0 5px 28px #0d326013;border-bottom:1px solid #edf2f9}.brand{color:#173a68;min-width:226px}.brand small{color:#6682a4}.seal{background:linear-gradient(145deg,#2b79d5,#16488f);border:3px solid #e4efff;box-shadow:0 0 0 1px #a9c8ed,0 8px 18px #2061b729;width:58px;height:58px}.top nav{gap:clamp(9px,1.2vw,21px)}.top nav a{font-size:11px;color:#2a3e58}.top nav a:hover{color:var(--brand)}.login{background:var(--brand);border-radius:8px;padding:14px 18px;white-space:nowrap;box-shadow:0 8px 22px #2061b72b}.login:hover{background:var(--brand-deep);transform:translateY(-1px)}
.hero{height:min(770px,calc(100svh - 123px));min-height:610px;background:radial-gradient(circle at 78% 28%,#3879ca 0%,#1b5196 38%,#0a2854 90%)}.hero-bg{filter:saturate(.95);transform:scale(1.015)}.hero-grain{background:linear-gradient(90deg,#092957ec 0%,#0d356bc7 40%,#143d6d4d 78%,#09295738 100%)}.hero-content{top:23%;left:9%;max-width:900px}.hero-kicker{display:flex;align-items:center;gap:13px;font-size:11px;font-weight:800;letter-spacing:.23em;color:#dceaff}.hero-kicker-line{height:2px;width:32px;background:#84c4ff}.hero .eyebrow{color:#a6d2ff;margin-top:28px}.hero h1{font-size:clamp(54px,7.4vw,108px);letter-spacing:-.07em;text-wrap:balance;text-shadow:0 3px 25px #061d4259}.hero-content>p:not(.eyebrow){color:#dce9fb;font-size:18px;max-width:630px}.primary,.secondary{border-radius:7px;letter-spacing:.02em}.primary{background:var(--brand);box-shadow:0 10px 28px #071f4550}.primary:hover{background:#347cda;transform:translateY(-2px)}.secondary:hover{background:#ffffff22}.slide-controls{bottom:61px}.slide-controls button:hover{background:#ffffff2b;border-color:#fff}.vertical{right:35px;color:#c6ddf9}.hero-bottom{position:absolute;right:9%;bottom:64px;display:flex;gap:32px;color:#c8dcf6;font-size:10px;letter-spacing:.14em;font-weight:700}
.quick-access{position:relative;z-index:2;margin:-25px auto 0;width:min(1280px,88%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border:1px solid #e1eaf6;border-radius:15px;box-shadow:0 24px 60px #0d356b1b;overflow:hidden}.quick-access a{padding:27px 20px;display:flex;align-items:center;gap:14px;border-right:1px solid #e6edf7}.quick-access a:last-child{border-right:0}.quick-access a:hover{background:#f1f7ff}.quick-icon{background:#e9f2ff;color:var(--brand);width:44px;height:44px;border-radius:11px;display:grid;place-items:center;font-size:22px;font-weight:800;flex-shrink:0}.quick-access strong{display:block;font-size:13px}.quick-access small{display:block;font-size:10px;color:#73849b;margin-top:5px}.quick-access b{margin-left:auto;color:var(--brand);font-size:17px}
.intro{padding-top:140px}.intro h2{color:#17355c}.intro p:not(.eyebrow){color:#62758c}.feature{background:linear-gradient(180deg,#f5f9ff,#eaf2fc)}.section-overline{font-size:10px;letter-spacing:.2em;color:var(--brand);font-weight:800;display:flex;align-items:center;gap:15px;margin-bottom:26px}.section-overline span{width:44px;height:1px;background:#9fc4ee}.cards{gap:22px}.cards a{border:1px solid #e4edf9;border-radius:14px;box-shadow:0 8px 25px #1b4d8a0a;min-height:315px;position:relative;overflow:hidden}.cards a:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#2061b7,#83c2ff);opacity:0;transition:opacity .2s}.cards a:hover{transform:translateY(-7px);box-shadow:0 20px 45px #1b4d8a20}.cards a:hover:before{opacity:1}.cards h3{color:#153b6b}.cards b{color:var(--brand)}.services{background:#fff}.service-grid{gap:13px;background:transparent}.service-grid a{border:1px solid #e1eaf6;border-radius:10px;box-shadow:0 4px 16px #1d4f8a09;padding:29px}.service-grid a:hover{background:#f0f6ff;border-color:#a9c9ee;transform:translateY(-2px)}.service-grid b{color:var(--brand)}.news{background:#f3f7fc}.news-grid article{border:1px solid #e6edf6;border-radius:12px;overflow:hidden;padding:22px;box-shadow:0 7px 22px #133e780b}.news-grid article:hover{box-shadow:0 15px 38px #133e781c}.news-grid img{border-radius:8px}.news-grid h3{color:#173b6a}.banner{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#0b2d61,#2061b7 72%,#3c86d9);padding:115px 9%}.banner:after{content:"";position:absolute;right:-8%;top:-50%;width:550px;height:550px;border:90px solid #ffffff0d;border-radius:50%;z-index:-1}.banner-mark{position:absolute;right:10%;top:0;font-size:370px;font-weight:800;line-height:1;color:#ffffff0c;pointer-events:none}.banner .primary{color:var(--brand);box-shadow:none}.banner .primary:hover{background:#e9f3ff}
footer{background:#091e3d;position:relative;grid-template-columns:2fr 2fr 1fr;padding-top:100px}footer .footer-topline{position:absolute;top:33px;left:9%;right:9%;padding-bottom:17px;border-bottom:1px solid #ffffff28;font-size:11px;letter-spacing:.2em;font-weight:800;color:#8cbdf6}footer .footer-topline span{color:#fff}footer a:hover{color:#9dcaff}.content h1{color:#173d73}.content .article{color:#405771}
.portal-grid a{border-color:#dbe7f6;box-shadow:0 5px 15px #1a4a8a0c}.portal-grid a:hover{border-color:var(--brand);background:#f3f8ff;transform:translateY(-2px)}.portal-form button{background:var(--brand)}
@media(max-width:1180px){.top{padding:0 3%}.top nav{gap:10px}.brand{min-width:190px;font-size:12px}.top nav a{font-size:10px}.login{padding:12px}.quick-access{width:94%}}
@media(max-width:1000px){.top nav{top:88px;box-shadow:0 20px 28px #09295724;border-top:1px solid #e8f0fb}.top nav a{font-size:14px;padding:8px 0}.menu{color:var(--brand);background:#eef5ff;border-radius:9px;padding:8px 12px}.login{display:inline-flex}.quick-access{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-access a:nth-child(2){border-right:0}.quick-access a:nth-child(-n+2){border-bottom:1px solid #e6edf7}.hero-bottom{display:none}}
@media(max-width:650px){.utility-bar{font-size:9px;padding:8px 5%}.utility-bar>span{font-size:8px;max-width:60%}.utility-bar div{gap:10px}.utility-bar a:first-child{display:none}.top{height:76px}.top nav{top:76px}.brand{font-size:10px;min-width:0;gap:8px}.brand small{font-size:8px}.seal{width:44px;height:44px;font-size:13px;flex-shrink:0}.menu{margin-left:auto}.login{font-size:0;padding:11px}.login span{font-size:15px}.hero{height:610px;min-height:0}.hero-content{top:18%;left:7%;width:86%}.hero h1{font-size:clamp(45px,11vw,65px);line-height:1.08}.hero-content>p:not(.eyebrow){font-size:15px}.hero-kicker{font-size:9px;letter-spacing:.12em}.actions{gap:10px}.primary,.secondary{padding:15px 16px}.quick-access{margin-top:-16px;width:92%;grid-template-columns:repeat(2,minmax(0,1fr))}.quick-access a{padding:15px 10px;gap:8px}.quick-icon{width:32px;height:32px;font-size:16px}.quick-access strong{font-size:11px}.quick-access small{font-size:9px}.quick-access b{display:none}.intro{padding-top:85px}.cards a{min-height:250px}.cards h3{margin-top:30px}.banner{padding:90px 7%}footer{padding-top:115px}.hero .eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Stage 3 — official identity and Facebook news */
.seal{overflow:hidden;display:flex;align-items:center;justify-content:center}.seal .school-logo{display:block;width:100%;height:100%;max-height:74px;object-fit:contain}.fb-carousel-wrap{display:flex;gap:12px;align-items:center;margin:30px 0}.fb-arrow{border:1px solid #cdd9ea;border-radius:50%;width:40px;height:40px;flex-shrink:0;background:#fff;color:#2061b7;cursor:pointer;font-size:22px}.fb-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding:6px 4px 16px;scrollbar-width:thin;min-width:0;flex:1}.fb-card{scroll-snap-align:start;flex:0 0 354px;max-width:calc(100vw - 90px);border:1px solid #dce6f4;border-radius:18px;background:white;padding:12px;box-shadow:0 8px 30px rgba(15,55,105,.07)}.fb-card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.fb-card-head strong{font-size:13px;color:#153d75}.fb-card-head small{display:block;color:#667891;font-size:11px}.fb-f{display:grid;place-items:center;background:#2061b7;color:white;width:38px;height:38px;border-radius:10px;font:bold 27px Arial}.fb-embed{overflow:hidden;min-height:390px}.fb-card>a{color:#2061b7;font-size:13px;font-weight:700;display:inline-block;padding:12px 4px}.fb-page-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,500px);align-items:center;gap:30px;border-radius:22px;padding:24px;background:#eff5ff;border:1px solid #d8e6fb}.fb-page-box strong{font-size:22px;color:#143d76}.fb-page-box p{color:#516680;line-height:1.7}.fb-page-box a{color:#2061b7;font-weight:700}.fb-timeline{min-width:0;text-align:center}@media(max-width:800px){.fb-page-box{grid-template-columns:1fr}.fb-arrow{width:30px;height:30px}.fb-carousel-wrap{gap:5px}.fb-card{flex-basis:330px}}
