/* Header and footer styles from the public homepage, scoped to the site shell. */
.site-header,.site-footer{--wine:#ad2454;--wine-dark:#780d2b;--pink:#faf0f4;--ink:#111420;--muted:#707684;--line:#e7e8ed;--font:'Noto Sans Thai',Tahoma,sans-serif;font:14px/1.55 var(--font);color:var(--ink)}
.site-header i,.site-footer i{line-height:1}
.site-header a:hover,.site-footer a:hover,.site-header button:hover,.site-footer button:hover{color:inherit}
:is(.site-header,.site-footer) .container{width:90%;max-width:1400px;margin:auto}
.site-header{background:#fff;border-bottom:1px solid #f3e7ec}
:is(.site-header,.site-footer) .header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:64px}
:is(.site-header,.site-footer) .brand{display:flex;align-items:center;gap:10px;flex-shrink:0;color:var(--wine-dark)}
:is(.site-header,.site-footer) .brand strong{display:block;font:700 28px/1.05 Arial,sans-serif;letter-spacing:-1px}
:is(.site-header,.site-footer) .brand small{font:600 12px/1.3 Arial,sans-serif;letter-spacing:.25px;display:block}
:is(.site-header,.site-footer) .crest{width:37px;height:48px;display:block;flex-shrink:0;background-image:url('../img/npru-logo.png');background-size:contain;background-position:center;background-repeat:no-repeat}
:is(.site-header,.site-footer) .main-nav{display:flex;align-self:stretch;gap:30px}
:is(.site-header,.site-footer) .main-nav a{display:flex;align-items:center;position:relative;font-size:14px}
:is(.site-header,.site-footer) .main-nav a.active{color:var(--wine);font-weight:600}
:is(.site-header,.site-footer) .main-nav a.active:before{content:'';position:absolute;top:0;left:-7px;right:-7px;height:3px;background:var(--wine);border-radius:0 0 2px 2px}
:is(.site-header,.site-footer) .header-actions{display:flex;align-items:center;gap:23px}
:is(.site-header,.site-footer) .icon-button{width:35px;height:35px;display:inline-grid;place-items:center;font-size:19px}
:is(.site-header,.site-footer) .language{display:flex;gap:7px;align-items:center;font-size:13px}
:is(.site-header,.site-footer) .outline-button{border:1px solid var(--wine);border-radius:11px;color:var(--wine);padding:8px 24px;white-space:nowrap}
:is(.site-header,.site-footer) .outline-button:hover{background:var(--pink)}
:is(.site-header,.site-footer) .menu-toggle{display:none}
.site-footer{position:relative;background:linear-gradient(110deg,#fbf0f5,#fcf5f7);margin-top:0}
:is(.site-header,.site-footer) .footer-grid{display:grid;grid-template-columns:1.65fr 1fr 1.15fr 1.65fr 1.05fr;gap:30px;padding-top:22px;padding-bottom:22px}
:is(.site-header,.site-footer) .footer-grid h3{font-size:13px;font-weight:600;margin-bottom:5px}
:is(.site-header,.site-footer) .footer-grid>div>a:not(.brand),:is(.site-header,.site-footer) .footer-grid>div>button,:is(.site-header,.site-footer) .footer-grid>div>p{display:block;font-size:11px;color:#737582;line-height:1.55}
:is(.site-header,.site-footer) .footer-grid>div>button{padding:0;text-align:left}
:is(.site-header,.site-footer) .footer-grid>div>p.brand-tagline{margin-top:6px;font-size:11px}
:is(.site-header,.site-footer) .footer-grid>div>p i,:is(.site-header,.site-footer) .footer-grid>div>a i{color:#222632;margin-right:8px}
:is(.site-header,.site-footer) .footer-grid>div>a:not(.brand){margin-bottom:2px}
:is(.site-header,.site-footer) .footer-grid a:hover,:is(.site-header,.site-footer) .footer-grid button:hover{color:var(--wine)}
:is(.site-header,.site-footer) .social-links{display:flex;gap:12px}
:is(.site-header,.site-footer) .social-links button{padding:0;font-size:20px;color:#3678eb}
:is(.site-header,.site-footer) .social-links button:nth-child(2){color:#b5289c}
:is(.site-header,.site-footer) .social-links button:nth-child(3){color:#08b937}
:is(.site-header,.site-footer) .social-links button:nth-child(4){color:#f1463c}
:is(.site-header,.site-footer) .footer-bottom{border-top:1px solid #ead7e0;padding:10px 0;font-size:10px;color:#777b87}
:is(.site-header,.site-footer) .footer-bottom .container{display:flex;justify-content:space-between;gap:15px}
:is(.site-header,.site-footer) .footer-bottom button{font-size:10px;color:inherit}
:is(.site-header,.site-footer) .back-to-top{position:absolute;right:3.5%;bottom:44px;display:grid;place-items:center;border-radius:100%;background:var(--wine);color:#fff;width:35px;height:35px;border:3px solid #f7dce7}
@media(max-width:1100px){:is(.site-header,.site-footer) .header-inner{height:53px;gap:16px}
:is(.site-header,.site-footer) .brand strong{font-size:24px}
:is(.site-header,.site-footer) .brand small{font-size:10px}
:is(.site-header,.site-footer) .crest{width:32px;height:42px}
:is(.site-header,.site-footer) .main-nav{gap:26px}
:is(.site-header,.site-footer) .main-nav a{font-size:12px}
:is(.site-header,.site-footer) .header-actions{gap:16px}
:is(.site-header,.site-footer) .outline-button{padding:7px 20px;font-size:12px}
:is(.site-header,.site-footer) .footer-grid{gap:22px}
}
@media(max-width:850px){:is(.site-header,.site-footer) .main-nav{gap:17px}
:is(.site-header,.site-footer) .header-actions{gap:7px}
:is(.site-header,.site-footer) .language{display:none}
:is(.site-header,.site-footer) .brand strong{font-size:22px}
:is(.site-header,.site-footer) .brand small{font-size:9px}
:is(.site-header,.site-footer) .footer-grid{grid-template-columns:repeat(4,1fr)}
:is(.site-header,.site-footer) .footer-grid>div:first-child{grid-column:1/-1;display:flex;gap:20px;align-items:center}
}
@media(max-width:600px){:is(.site-header,.site-footer) .container{width:91%}
:is(.site-header,.site-footer) .header-inner{height:65px;gap:8px}
:is(.site-header,.site-footer) .header-actions{gap:3px}
:is(.site-header,.site-footer) .header-actions>.icon-button:not(.menu-toggle){display:none}
:is(.site-header,.site-footer) .outline-button{padding:6px 13px;border-radius:8px;font-size:11px}
:is(.site-header,.site-footer) .menu-toggle{display:inline-grid}
:is(.site-header,.site-footer) .main-nav{display:none;position:absolute;top:65px;left:0;right:0;background:#fff;z-index:10;padding:15px 5%;box-shadow:0 8px 12px #60244012;flex-direction:column;gap:0}
:is(.site-header,.site-footer) .main-nav.open{display:flex}
:is(.site-header,.site-footer) .main-nav a{padding:12px;font-size:14px}
:is(.site-header,.site-footer) .main-nav a.active:before{display:none}
:is(.site-header,.site-footer) .footer-grid{grid-template-columns:1fr 1fr;gap:22px;padding:25px 0}
:is(.site-header,.site-footer) .footer-grid>div:first-child{display:block}
:is(.site-header,.site-footer) .footer-grid>div:first-child .brand-tagline{margin-top:9px}
:is(.site-header,.site-footer) .footer-bottom .container{flex-direction:column;gap:4px}
:is(.site-header,.site-footer) .footer-bottom button:first-child{padding-left:0}
:is(.site-header,.site-footer) .back-to-top{bottom:74px}
:is(.site-header,.site-footer) .footer-grid>div>a:not(.brand),:is(.site-header,.site-footer) .footer-grid>div>button,:is(.site-header,.site-footer) .footer-grid>div>p{font-size:12px;line-height:1.8}
}
@media(min-width:851px) and (max-width:1100px){:is(.site-header,.site-footer) .footer-grid{padding-top:19px;padding-bottom:19px}
}
@media(min-width:851px) and (max-width:1100px){:is(.site-header,.site-footer) .footer-grid{padding-top:16px;padding-bottom:16px}
:is(.site-header,.site-footer) .footer-grid>div>a:not(.brand),:is(.site-header,.site-footer) .footer-grid>div>button,:is(.site-header,.site-footer) .footer-grid>div>p{font-size:10px;line-height:1.3}
:is(.site-header,.site-footer) .footer-grid h3{font-size:12px}
:is(.site-header,.site-footer) .footer-bottom{padding:8px 0}
}

/* Readable footer text across all screen sizes. */
.site-footer .footer-grid h3{font-size:16px}
.site-footer .footer-grid>div>a:not(.brand),.site-footer .footer-grid>div>button,.site-footer .footer-grid>div>p{font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.site-footer .footer-bottom,.site-footer .footer-bottom button,.site-footer .footer-bottom a{font-size:14px;line-height:1.7}
