/* ==========================================================================
   PORTAL design: a formal institute portal. Navy, Bangladesh green and crimson on cool grey, flat white panels with
   thin borders, an identity header (EIIN), a full-width menu whose menus open as wide multi-column panels, the
   notice board beside the photo slider, three highlight banners, and a main column with a sidebar.
   Its own layout, hero and home page (Views/Shared/_LayoutPortal.cshtml, PageMasterPortal.cshtml, Home/IndexPortal.cshtml).
   No extra fonts: it uses Hind Siliguri, which the site already loads. Loaded after Content/modern/site.css, which still
   provides the behaviour-critical rules (slider, lightbox, rich text, Facebook frame ...). Every rule starts with  .theme-portal  .
   ========================================================================== */
body.theme-portal{
  --navy:#0B2A4A; --navy-d:#071C33; --navy-t:#E3ECF6;
  --green:#00704F; --green-d:#00553C; --green-t:#E0F2EB;
  --red:#C8102E; --red-d:#9E0C24; --red-t:#FCE5E9;
  --gold:#E3A400; --gold-d:#8A6200; --gold-t:#FFF4D1;
  --blue:#1F5FA8; --blue-d:#164A85; --blue-t:#DCE9F7;
  --ink:#14233A; --ink-2:#34465E; --muted:#5E6E85; --faint:#8D9AAE; --line:#D8E0EA; --line-2:#E8EDF3;
  --paddy:var(--green); --paddy-d:var(--green-d); --paddy-t:var(--green-t);
  --marigold:var(--gold); --marigold-d:var(--gold-d); --marigold-t:var(--gold-t);
  --kingfisher:var(--blue); --kingfisher-d:var(--blue-d); --kingfisher-t:var(--blue-t);
  --shapla:var(--red); --shapla-d:var(--red-d); --shapla-t:var(--red-t);
  --sky:#F2F5F9;
  --r-s:4px; --r:6px; --r-l:8px;
  --shadow-1:0 1px 2px rgba(11,42,74,.08),0 6px 16px -10px rgba(11,42,74,.3);
  --shadow-2:0 2px 4px rgba(11,42,74,.08),0 20px 36px -22px rgba(11,42,74,.5);
  --display:"Hind Siliguri","Noto Sans Bengali","Vrinda","Segoe UI",system-ui,sans-serif;
  background:var(--sky);color:var(--ink);
}
body.theme-portal::before{background:none}
body.theme-portal.has-bg-photo::before{background:linear-gradient(rgba(242,245,249,var(--ms-bg-veil)),rgba(242,245,249,var(--ms-bg-veil))),var(--ms-bg-photo) center/cover no-repeat}
body.theme-portal .pt-i{width:1.3em;height:1.3em;flex:none;fill:currentColor}
body.theme-portal .pt-wrap{box-sizing:border-box;width:100%;max-width:1220px;margin-left:auto;margin-right:auto;padding-left:clamp(14px,2.6vw,28px);padding-right:clamp(14px,2.6vw,28px)}
body.theme-portal .pt-sr-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Buttons ---------- */
body.theme-portal .pt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:var(--r);color:#fff!important;font-weight:600;font-size:15px;line-height:1.2;white-space:nowrap;transition:background-color .15s,transform .15s,box-shadow .15s}
body.theme-portal .pt-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px -8px rgba(11,42,74,.6)}
body.theme-portal .pt-btn .pt-i{width:1.25em;height:1.25em}
body.theme-portal .pt-btn--red{background:var(--red)}
body.theme-portal .pt-btn--red:hover{background:var(--red-d)}
body.theme-portal .pt-btn--green{background:var(--green)}
body.theme-portal .pt-btn--green:hover{background:var(--green-d)}
body.theme-portal .pt-btn--navy{background:var(--navy)}
body.theme-portal .pt-btn--navy:hover{background:var(--navy-d)}
body.theme-portal .pt-btn--white{background:#fff;border-color:var(--line);color:var(--navy)!important}
body.theme-portal .pt-btn--ghost{background:transparent;border-color:rgba(255,255,255,.7);box-shadow:none}
body.theme-portal .pt-btn--block{width:100%}
body.theme-portal .pt-iconbtn{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--r);background:rgba(255,255,255,.14);color:#fff}
body.theme-portal .pt-iconbtn .pt-i{width:24px;height:24px}
body.theme-portal .pt-roundbtn{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.92);color:var(--navy);transition:background-color .15s,transform .15s}
body.theme-portal .pt-roundbtn:hover{background:var(--gold)}
body.theme-portal .pt-roundbtn:active{transform:scale(.94)}
body.theme-portal .pt-textlink{color:var(--blue-d)!important;font-weight:600;font-size:15px}
body.theme-portal .pt-textlink:hover{color:var(--red)!important;text-decoration:underline}

/* ---------- Top strip and identity header ---------- */
body.theme-portal .pt-util{background:var(--navy-d);color:#C3D2E6}
body.theme-portal .pt-util .pt-i{color:var(--gold)}
body.theme-portal .pt-util .ms-topbar__en{color:#8FA5C0}
body.theme-portal .pt-util .ms-topbar__links a,body.theme-portal .pt-util .ms-topbar__links button{color:#E6EEF8}
body.theme-portal .pt-util .ms-topbar__links a:hover,body.theme-portal .pt-util .ms-topbar__links button:hover{background:rgba(255,255,255,.12)}
body.theme-portal .pt-head{background:#fff;border-top:4px solid var(--green);border-bottom:1px solid var(--line)}
body.theme-portal .pt-head__row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:18px;padding-bottom:18px}
body.theme-portal .pt-brand{display:flex;align-items:center;gap:16px;min-width:0;color:var(--navy)}
body.theme-portal .pt-brand__logo{width:76px;height:76px;flex:none;object-fit:contain}
body.theme-portal .pt-brand__mono{width:76px;height:76px;flex:none;display:grid;place-items:center;border-radius:var(--r);background:var(--navy);color:#fff;font:700 40px/1 var(--display)}
body.theme-portal .pt-brand__text{display:block;min-width:0}
body.theme-portal .pt-brand__name{display:block;font:700 clamp(22px,2.6vw,33px)/1.15 var(--display);color:var(--navy)}
body.theme-portal .pt-brand__addr{display:block;margin-top:4px;font-size:15px;color:var(--muted)}
body.theme-portal .pt-ids{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
body.theme-portal .pt-id{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--sky);color:var(--ink-2);font-size:13.5px;font-weight:600}
body.theme-portal .pt-id b{color:var(--red);letter-spacing:.05em}
body.theme-portal .pt-id .pt-i{width:1.1em;height:1.1em;color:var(--green)}
body.theme-portal .pt-head__actions{display:flex;align-items:center;gap:10px;flex:none}
body.theme-portal .pt-iconlink{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--r);background:#1877F2;color:#fff;transition:transform .15s}
body.theme-portal .pt-iconlink:hover{transform:translateY(-1px)}
body.theme-portal .pt-brand--sm{display:none}

/* ---------- Menu bar: desktop = wide multi-column panels ---------- */
body.theme-portal .pt-nav{position:sticky;top:0;z-index:90;background:var(--navy);box-shadow:0 3px 0 var(--red)}
body.theme-portal .pt-nav.is-stuck{box-shadow:0 3px 0 var(--red),0 10px 24px -12px rgba(0,0,0,.5)}
body.theme-portal .pt-nav__row{position:relative}
body.theme-portal .pt-nav__bar,body.theme-portal .pt-nav__top,body.theme-portal .pt-nav__cta,body.theme-portal .pt-nav__backdrop,body.theme-portal .pt-burger{display:none}
body.theme-portal .pt-menu{display:flex;flex-wrap:wrap}
body.theme-portal .pt-menu>li{position:static}
body.theme-portal .pt-menu>li>a{display:flex;align-items:center;gap:6px;padding:15px 16px 12px;border-bottom:3px solid transparent;color:#fff;font-weight:600;font-size:15.5px;line-height:1.2;transition:background-color .15s}
body.theme-portal .pt-menu>li:hover>a,body.theme-portal .pt-menu>li:focus-within>a{background:var(--navy-d);border-bottom-color:var(--gold)}
body.theme-portal .pt-menu>li.is-current>a{border-bottom-color:var(--gold);background:rgba(255,255,255,.07)}
body.theme-portal .pt-menu .ms-caret{width:14px;height:14px;opacity:.85;transition:transform .2s}
body.theme-portal .pt-menu>li:hover>a .ms-caret{transform:rotate(180deg)}
body.theme-portal .pt-menu .ms-sub-toggle{display:none}
body.theme-portal .pt-menu>li>ul{position:absolute;left:0;right:0;top:100%;z-index:5;padding:22px 26px 16px;columns:3 230px;column-gap:30px;background:#fff;border-top:4px solid var(--red);border-radius:0 0 var(--r-l) var(--r-l);box-shadow:var(--shadow-2);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .16s,transform .16s,visibility .16s}
body.theme-portal .pt-menu>li:hover>ul,body.theme-portal .pt-menu>li:focus-within>ul{opacity:1;visibility:visible;transform:none}
body.theme-portal .pt-menu>li>ul>li{break-inside:avoid;margin:0 0 4px}
body.theme-portal .pt-menu ul a{display:block;padding:7px 10px;border-radius:var(--r-s);color:var(--ink);font-size:15px;font-weight:500;line-height:1.35}
body.theme-portal .pt-menu ul a:hover,body.theme-portal .pt-menu ul li:focus-within>a{background:var(--navy-t);color:var(--navy)}
body.theme-portal .pt-menu ul li.has-sub>a{color:var(--navy);font-weight:700}
body.theme-portal .pt-menu ul .ms-caret{display:none}
/* a third level (a group inside a menu) is simply listed under its heading */
body.theme-portal .pt-menu ul ul{position:static;display:block;margin:0 0 8px 10px;padding:0 0 0 10px;border-left:2px solid var(--line);opacity:1;visibility:visible;transform:none}
body.theme-portal .pt-menu ul ul a{font-weight:500;color:var(--ink-2)}

/* ---------- Ribbon (news ticker) ---------- */
body.theme-portal .ms-ticker{background:var(--gold-t);border-bottom:1px solid #EBD28A}
body.theme-portal .ms-ticker__label{border-radius:var(--r-s);background:var(--red);color:#fff}
body.theme-portal .ms-ticker__dot{background:#fff}
body.theme-portal .ms-ticker__item{color:var(--ink)!important}
body.theme-portal .ms-ticker__item:hover{color:var(--red)!important}
body.theme-portal .ms-ticker__item::after{background:var(--red);border-radius:50%;transform:none}
body.theme-portal .ms-ticker__track{-webkit-mask-image:none;mask-image:none}

/* ---------- Top: slider and notice board side by side ---------- */
body.theme-portal .pt-top{padding:22px 0 8px}
body.theme-portal .pt-top__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:22px;align-items:stretch}
body.theme-portal .pt-slidercol{min-width:0}
body.theme-portal .pt-slider.ms-hero{height:clamp(300px,34vw,470px);border:1px solid var(--line);border-radius:var(--r-l);background:var(--navy);box-shadow:var(--shadow-1)}
body.theme-portal .pt-slider::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;z-index:4;pointer-events:none;background:linear-gradient(0deg,rgba(7,28,51,.7),transparent)}
body.theme-portal .pt-slider .ms-hero__bar{display:flex;align-items:center;gap:12px;padding:0 16px 14px;z-index:6}
body.theme-portal .pt-slider .ms-seg i{background:var(--gold)}
body.theme-portal .pt-slider .ms-hero__count b{color:var(--gold)}
body.theme-portal .pt-slider.ms-hero--empty{background:linear-gradient(135deg,var(--navy),#17497D)}
body.theme-portal .pt-slider__empty{display:grid;place-items:center;height:100%;padding:24px;color:#fff;text-align:center;font:700 clamp(24px,3vw,38px)/1.2 var(--display)}
body.theme-portal .pt-board{display:flex;flex-direction:column;height:clamp(300px,34vw,470px);overflow:hidden;border:1px solid var(--line);border-top:4px solid var(--red);border-radius:var(--r-l);background:#fff;box-shadow:var(--shadow-1)}
body.theme-portal .pt-board__head{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;background:var(--navy);color:#fff}
body.theme-portal .pt-board__head h2{display:flex;align-items:center;gap:8px;margin:0;font:700 18px/1.2 var(--display);color:#fff}
body.theme-portal .pt-board__head .pt-i{color:var(--gold)}
body.theme-portal .pt-board__count{padding:2px 10px;border-radius:999px;background:rgba(255,255,255,.18);font-size:13px;font-weight:600}
body.theme-portal .pt-board .ms-board__tools{padding:10px 14px 0;margin:0}
body.theme-portal .pt-board .ms-search input{border-radius:var(--r);background:var(--sky)}
body.theme-portal .pt-board .ms-search .pt-i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--faint)}
body.theme-portal .pt-board .ms-notices{flex:1 1 0;min-height:0;margin:6px 0 0;padding:0 8px 0 14px}
body.theme-portal .pt-board .ms-empty{flex:1 1 0;display:flex;align-items:center;justify-content:center;min-height:0;margin:0}
body.theme-portal .ms-notice{border-bottom:1px solid var(--line-2)}
body.theme-portal .ms-notice:hover{background:var(--sky)}
body.theme-portal .ms-notice .ms-date,body.theme-portal .ms-notice:nth-child(n) .ms-date{width:52px;height:56px;border-radius:var(--r-s);background:var(--navy);color:var(--gold-t)}
body.theme-portal .ms-date b{color:#fff;font:700 21px/1 var(--display)}
body.theme-portal .ms-notice__title{font-size:15.5px}
body.theme-portal .ms-notice__title:hover{color:var(--red)!important}
body.theme-portal .ms-new{border-radius:var(--r-s);background:var(--red)}

/* ---------- Sections, cards, headings ---------- */
body.theme-portal .pt-sec{padding:26px 0}
body.theme-portal .pt-sec--banners{padding:16px 0 2px}
body.theme-portal .pt-card{padding:clamp(16px,2vw,24px);border:1px solid var(--line);border-radius:var(--r-l);background:#fff;box-shadow:var(--shadow-1)}
body.theme-portal .pt-h{position:relative;margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid var(--line-2);font:700 clamp(20px,2.2vw,25px)/1.2 var(--display);color:var(--navy)}
body.theme-portal .pt-h::after{content:"";position:absolute;left:0;bottom:-2px;width:64px;height:2px;background:var(--red)}
body.theme-portal .pt-h--sm{margin-bottom:12px;font-size:19px}
body.theme-portal .pt-h-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px;border-bottom:2px solid var(--line-2)}
body.theme-portal .pt-h-row .pt-h{flex:1;margin:0;border:0}
body.theme-portal .pt-h-row .pt-textlink{padding-bottom:10px}

/* highlight banners */
body.theme-portal .pt-banners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
body.theme-portal .pt-banner{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:var(--r-l);color:#fff!important;box-shadow:var(--shadow-1);transition:transform .15s,box-shadow .15s}
body.theme-portal .pt-banner:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}
body.theme-portal .pt-banner--navy{background:linear-gradient(135deg,#0B2A4A,#17497D)}
body.theme-portal .pt-banner--green{background:linear-gradient(135deg,#00704F,#009468)}
body.theme-portal .pt-banner--red{background:linear-gradient(135deg,#C8102E,#E4243F)}
body.theme-portal .pt-banner__ico{flex:none;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.18)}
body.theme-portal .pt-banner__ico .pt-i{width:30px;height:30px}
body.theme-portal .pt-banner__text{flex:1;min-width:0;display:flex;flex-direction:column}
body.theme-portal .pt-banner__text b{font:700 19px/1.2 var(--display)}
body.theme-portal .pt-banner__text small{font-size:14px;opacity:.92}
body.theme-portal .pt-banner__go{width:26px;height:26px;transition:transform .15s}
body.theme-portal .pt-banner:hover .pt-banner__go{transform:translateX(4px)}

/* main column and sidebar */
body.theme-portal .pt-main{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:24px;align-items:start}
body.theme-portal .pt-col,body.theme-portal .pt-side{display:flex;flex-direction:column;gap:22px;min-width:0}
body.theme-portal .pt-welcome .ms-clamp{--clamp:18em}
body.theme-portal .pt-welcome__foot{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:6px}
body.theme-portal .pt-welcome__foot .ms-more-btn{margin-top:14px}
body.theme-portal .pt-welcome__foot .pt-textlink{margin-top:14px}
body.theme-portal .pt-achievers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
body.theme-portal .pt-achiever{text-align:center}
body.theme-portal .pt-achiever img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:var(--r);background:var(--sky)}
body.theme-portal .pt-achiever__name{display:block;margin:9px 0 2px;color:var(--navy)!important;font-weight:700;font-size:15.5px;line-height:1.3}
body.theme-portal .pt-achiever__name:hover{color:var(--red)!important}
body.theme-portal .ms-mosaic.pt-photos{grid-auto-rows:clamp(100px,12vw,150px);gap:10px}
body.theme-portal .pt-photos a{border:1px solid var(--line);border-radius:var(--r)}
body.theme-portal .ms-videos.pt-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
body.theme-portal .pt-videos .ms-video{grid-column:auto!important;grid-row:auto!important}
body.theme-portal .pt-videos .ms-video__frame{border-radius:var(--r)}
body.theme-portal .ms-video__play{background:var(--red);box-shadow:0 0 0 8px rgba(200,16,46,.25)}
body.theme-portal .ms-video__frame:hover .ms-video__play{box-shadow:0 0 0 14px rgba(200,16,46,.18)}
body.theme-portal .ms-video__play .pt-i{width:28px;height:28px;margin-left:4px}
body.theme-portal .ms-video__badge{border-radius:var(--r-s);background:var(--green)}
body.theme-portal .ms-video__title{font-size:15.5px;font-weight:600;color:var(--ink)}
body.theme-portal .ms-videos .ms-video:nth-child(4n+1) .ms-video__frame--list{--c1:#17497D;--c2:#0B2A4A}
body.theme-portal .ms-videos .ms-video:nth-child(4n+2) .ms-video__frame--list{--c1:#00855E;--c2:#00553C}
body.theme-portal .ms-videos .ms-video:nth-child(4n+3) .ms-video__frame--list{--c1:#C8102E;--c2:#7D0A1D}
body.theme-portal .ms-videos .ms-video:nth-child(4n+4) .ms-video__frame--list{--c1:#B07F00;--c2:#5E4300}
body.theme-portal .pt-msg__row{display:flex;align-items:flex-start;gap:14px}
body.theme-portal .pt-msg__photo{flex:none;width:92px;overflow:hidden;border:1px solid var(--line);border-radius:var(--r)}
body.theme-portal .pt-msg__photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
body.theme-portal .pt-msg .ms-msg__text{flex:1;min-width:0;max-height:9.4em;font-size:14.5px}
body.theme-portal .pt-msg .pt-textlink{display:inline-block;margin-top:10px}
body.theme-portal .pt-links ul{margin:0;padding:0}
body.theme-portal .pt-links li a{display:flex;align-items:center;gap:10px;padding:9px 6px;border-bottom:1px dashed var(--line);color:var(--ink);font-size:15px;font-weight:500;line-height:1.35;transition:background-color .12s,color .12s}
body.theme-portal .pt-links li:last-child a{border-bottom:0}
body.theme-portal .pt-links li a:hover{background:var(--sky);color:var(--navy)}
body.theme-portal .pt-links .pt-i{width:1.25em;height:1.25em;color:var(--green)}
body.theme-portal .pt-fb{display:flex;flex-direction:column}
body.theme-portal .pt-fb .ms-fb__frame{flex:1 1 0;min-height:420px;border:1px solid var(--line);border-radius:var(--r)}
body.theme-portal .pt-fb .ms-fb__ph .pt-i{width:44px;height:44px;color:#1877F2}
body.theme-portal .pt-fb .pt-btn{margin-top:12px}
body.theme-portal .pt-contact p{display:flex;gap:10px;margin:0 0 8px;font-size:15px;line-height:1.45}
body.theme-portal .pt-contact .pt-i{margin-top:2px;color:var(--green)}
body.theme-portal .pt-contact__name{font-weight:700;color:var(--navy)}
body.theme-portal .pt-contact .pt-textlink{display:inline-block;margin-top:4px}

/* ---------- Inner pages ---------- */
body.theme-portal .ms-crumbs .pt-i{width:14px;height:14px;color:var(--faint)}
body.theme-portal .ms-crumbs a{color:var(--blue-d)!important}
body.theme-portal .pt-page{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px;align-items:start;padding-bottom:50px}
body.theme-portal .pt-page__main{box-sizing:border-box;min-width:0;padding:clamp(14px,2vw,26px);border:1px solid var(--line);border-radius:var(--r-l);background:#fff;box-shadow:var(--shadow-1)}
body.theme-portal .pt-page__aside{position:sticky;top:74px;display:flex;flex-direction:column;gap:16px}
body.theme-portal .pt-widget{padding:20px;border-radius:var(--r-l);box-shadow:var(--shadow-1)}
body.theme-portal .pt-widget h3{margin:0 0 6px;font:700 20px/1.2 var(--display)}
body.theme-portal .pt-widget p{margin:0 0 14px;font-size:14.5px;line-height:1.5;opacity:.94}
body.theme-portal .pt-widget .pt-btn+.pt-btn{margin-top:8px}
body.theme-portal .pt-widget--navy{background:var(--navy);color:#fff}
body.theme-portal .pt-widget--red{background:var(--red);color:#fff}
body.theme-portal .pt-widget--green{background:var(--green);color:#fff}
body.theme-portal .pt-widget--list{padding:16px 12px;border:1px solid var(--line);background:#fff}
body.theme-portal .pt-widget--list h3{padding:0 8px 8px;color:var(--navy)}
body.theme-portal .pt-widget--list a{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:var(--r-s);color:var(--ink);font-size:15px;font-weight:500}
body.theme-portal .pt-widget--list a:hover{background:var(--sky);color:var(--navy)}
body.theme-portal .pt-widget--list .pt-i{color:var(--green)}

/* ---------- Footer ---------- */
body.theme-portal .pt-footer{margin-top:10px;border-top:4px solid var(--red);background:var(--navy-d);color:#B4C4D9;font-size:15px}
body.theme-portal .pt-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;padding-top:44px;padding-bottom:32px}
body.theme-portal .pt-footer__name{margin:0 0 12px;font:700 22px/1.25 var(--display);color:#fff}
body.theme-portal .pt-footer__row{display:flex;gap:10px;margin:9px 0 0;line-height:1.5}
body.theme-portal .pt-footer__row .pt-i{margin-top:2px;color:var(--gold)}
body.theme-portal .pt-footer__about .pt-btn{margin-top:16px}
body.theme-portal .pt-footer h4{position:relative;margin:0 0 16px;padding-bottom:10px;font:700 18px/1.2 var(--display);color:#fff}
body.theme-portal .pt-footer h4::after{content:"";position:absolute;left:0;bottom:0;width:40px;height:3px;background:var(--gold)}
body.theme-portal .pt-footer ul a{display:inline-block;padding:4px 0;color:#D3DFEE!important;transition:color .15s,transform .15s}
body.theme-portal .pt-footer ul a:hover{color:var(--gold)!important;transform:translateX(3px)}
body.theme-portal .pt-footer__bottom{border-top:1px solid rgba(255,255,255,.12)}
body.theme-portal .pt-footer__bottom .pt-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:15px;padding-bottom:15px;font-size:14px;color:#8FA5C0}
body.theme-portal .pt-footer__bottom a{color:#fff!important;font-weight:700}
body.theme-portal .ms-toast .pt-i{margin-top:2px;color:var(--red)}
body.theme-portal .ms-top{background:var(--navy);box-shadow:0 10px 24px -8px rgba(11,42,74,.7)}

/* ---------- Narrower screens ---------- */
@media (max-width:1100px){
  body.theme-portal .pt-top__grid,body.theme-portal .pt-main{grid-template-columns:minmax(0,1fr)}
  body.theme-portal .pt-board{height:auto;max-height:520px}
  body.theme-portal .pt-board .ms-notices{max-height:380px;flex:0 1 auto}
  body.theme-portal .pt-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:991px){
  body.theme-portal .pt-head{display:none}
  body.theme-portal .pt-nav{box-shadow:0 2px 0 var(--red)}
  body.theme-portal .pt-nav__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px}
  body.theme-portal .pt-brand--sm{display:flex;align-items:center;gap:10px;min-width:0;color:#fff}
  body.theme-portal .pt-brand--sm .pt-brand__logo,body.theme-portal .pt-brand--sm .pt-brand__mono{width:40px;height:40px;border-radius:var(--r-s);background:#fff;padding:3px;font-size:22px}
  body.theme-portal .pt-brand--sm .pt-brand__mono{background:var(--gold);color:var(--navy-d)}
  body.theme-portal .pt-brand--sm .pt-brand__name{overflow:hidden;color:#fff;font-size:17px;text-overflow:ellipsis;white-space:nowrap}
  body.theme-portal .pt-burger{display:grid}
  body.theme-portal .pt-nav__backdrop{display:block;position:fixed;left:0;top:0;right:0;bottom:0;z-index:190;background:rgba(7,28,51,.55);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
  body.theme-portal .pt-nav.is-open .pt-nav__backdrop{opacity:1;visibility:visible}
  body.theme-portal .pt-nav__panel{position:fixed;left:0;top:0;bottom:0;z-index:200;width:min(88vw,340px);overflow-y:auto;padding-bottom:20px;background:#fff;transform:translateX(-102%);visibility:hidden;transition:transform .3s cubic-bezier(.2,.7,.2,1),visibility .3s;box-shadow:20px 0 40px -20px rgba(0,0,0,.5)}
  body.theme-portal .pt-nav.is-open .pt-nav__panel{transform:none;visibility:visible}
  body.theme-portal .pt-nav__top{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--navy);color:#fff;font-size:18px}
  body.theme-portal .pt-nav__cta{display:grid;gap:10px;padding:10px 16px 0}
  body.theme-portal .pt-menu{display:block;padding:8px}
  body.theme-portal .pt-menu>li>a{padding:12px 50px 12px 12px;border:0;border-radius:var(--r-s);color:var(--ink);font-size:16px}
  body.theme-portal .pt-menu>li:hover>a,body.theme-portal .pt-menu>li:focus-within>a{background:transparent}
  body.theme-portal .pt-menu>li.is-current>a{background:var(--navy-t);color:var(--navy)}
  body.theme-portal .pt-menu .ms-caret{display:none}
  body.theme-portal .pt-menu .ms-sub-toggle{display:grid;place-items:center;position:absolute;right:4px;top:4px;width:40px;height:40px;border-radius:var(--r-s);color:var(--muted)}
  body.theme-portal .pt-menu li{position:relative}
  body.theme-portal .pt-menu li.is-expanded>.ms-sub-toggle .ms-ico{transform:rotate(180deg)}
  body.theme-portal .pt-menu>li>ul,body.theme-portal .pt-menu ul ul{position:static;display:none;columns:auto;margin:0 0 6px 10px;padding:0 0 0 10px;border:0;border-left:2px solid var(--line);border-radius:0;background:transparent;box-shadow:none;opacity:1;visibility:visible;transform:none}
  body.theme-portal .pt-menu li.is-expanded>ul{display:block}
  body.theme-portal .pt-menu ul a{padding:10px 46px 10px 10px}
  body.theme-portal .pt-page{grid-template-columns:minmax(0,1fr)}
  body.theme-portal .pt-page__aside{position:static}
}
@media (max-width:760px){
  body.theme-portal .pt-banners{grid-template-columns:minmax(0,1fr)}
  body.theme-portal .pt-achievers{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.theme-portal .ms-videos.pt-videos{grid-template-columns:minmax(0,1fr)}
  body.theme-portal .pt-footer__grid{grid-template-columns:minmax(0,1fr)}
  body.theme-portal .pt-slider.ms-hero{height:260px}
  body.theme-portal .pt-msg__photo{width:80px}
}
@media print{
  body.theme-portal .pt-util,body.theme-portal .pt-head,body.theme-portal .pt-nav,body.theme-portal .ms-ticker,body.theme-portal .pt-slidercol,body.theme-portal .ms-top{display:none!important}
}
