/* PrimePupil 2026: shared static-page layout and navigation */
:root{--pp-navy:#06112c;--pp-blue:#0875ff;--pp-cyan:#20cbff;--pp-text:#112145;--pp-muted:#50617e;--pp-surface:#fff;--pp-border:#dce6f6}
html{scroll-behavior:smooth}
body{box-sizing:border-box;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;background:linear-gradient(160deg,#f5f9ff,#edf3ff)!important;color:var(--pp-text)!important;font:16px/1.7 system-ui,-apple-system,'Segoe UI',sans-serif!important;overflow-x:hidden}
body *{box-sizing:border-box}
.pp-site-header,.pp-site-header *{box-sizing:border-box}
.pp-site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:18px;margin:0!important;padding:13px max(20px,calc((100vw - 1260px)/2))!important;border:0;border-bottom:1px solid rgba(74,127,218,.22);border-radius:0;background:rgba(6,16,42,.97);box-shadow:0 9px 26px rgba(11,29,68,.16);font-family:system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.2}
.pp-site-brand{display:inline-flex;gap:8px;align-items:center;color:#fff!important;font-size:25px!important;font-weight:900;letter-spacing:-.9px;text-decoration:none!important;white-space:nowrap;flex:none}
.pp-site-brand span:not(.pp-site-logo){color:var(--pp-cyan)}
.pp-site-logo{display:block;width:32px;height:32px;flex:none;color:var(--pp-cyan)}
.pp-site-links{display:flex;align-items:center;gap:8px;margin:0 0 0 auto}
.pp-site-links a{padding:10px 12px;color:#e6efff!important;text-decoration:none!important;font-weight:650;font-size:13px;white-space:nowrap;border-radius:10px}
.pp-site-links a:hover,.pp-site-links a:focus-visible{background:rgba(65,136,243,.20);color:#fff!important}
.pp-site-actions{display:flex;flex-wrap:nowrap;gap:8px;align-items:center;margin:0}
.pp-site-header button,.pp-site-header .pp-action,.pp-page-content button,.pp-page-content .button,.pp-page-content a.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid #5e9fff;border-radius:11px;background:linear-gradient(165deg,#329eff 0%,#086be7 56%,#0759c8 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 4px 0 #043d93,0 7px 13px rgba(0,54,150,.18);color:#fff!important;font:750 13px/1.2 system-ui,sans-serif;text-decoration:none!important;white-space:nowrap;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.pp-site-header button:hover,.pp-site-header .pp-action:hover,.pp-page-content button:hover{transform:translateY(-2px);filter:brightness(1.08)}
.pp-site-header button:active,.pp-site-header .pp-action:active,.pp-page-content button:active{transform:translateY(2px);box-shadow:inset 0 1px 3px rgba(0,0,0,.18),0 1px 0 #043d93}
.pp-site-actions .pp-back{background:linear-gradient(165deg,#2b3b64,#172647);border-color:#445b86;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 4px 0 #0a1430,0 7px 13px rgba(0,0,0,.18)}
.pp-site-menu-trigger{background:linear-gradient(165deg,#283d72,#102452)!important;border-color:#415e9e!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 4px 0 #071438!important;min-width:43px;font-size:20px!important}
.pp-site-menu{margin:0;position:absolute;top:calc(100% + 8px);right:max(16px,calc((100vw - 1260px)/2));display:none;min-width:235px;max-width:calc(100vw - 32px);padding:8px;border:1px solid #36578e;border-radius:16px;background:#101f40;box-shadow:0 24px 48px rgba(4,18,46,.35)}
.pp-site-menu.open{display:grid}
.pp-site-menu a{padding:13px 16px;color:#e9f4ff!important;border-radius:10px;text-decoration:none!important;font-size:14px;font-weight:650}
.pp-site-menu a:hover,.pp-site-menu a:focus-visible{background:linear-gradient(115deg,#1a58aa,#22346c);color:#fff!important}
.pp-page-content{max-width:1040px;margin:32px auto 48px;padding:32px 40px;border:1px solid #dbe6fa;border-radius:23px;background:#fff;box-shadow:0 18px 55px rgba(26,70,135,.075);min-height:48vh;overflow-wrap:break-word}
.pp-page-content h1{font-size:clamp(27px,3.7vw,42px)!important;letter-spacing:-.045em;line-height:1.2;color:#091f4b;margin:5px 0 16px!important}
.pp-page-content h2{font-size:clamp(19px,2.4vw,25px);letter-spacing:-.02em;color:#103366;margin-top:30px}
.pp-page-content h3{color:#163969}
.pp-page-content p,.pp-page-content li{color:#314767}
.pp-page-content a:not(.button){color:#075edb;text-underline-offset:3px}
.pp-page-content a:not(.button):hover{color:#003eaf}
.pp-page-content .card,.pp-page-content .note{border:1px solid #dbe8fb;border-radius:16px;padding:18px 22px;background:linear-gradient(145deg,#f7faff,#edf5ff);box-shadow:0 6px 22px rgba(20,76,148,.045)}
.pp-page-content nav{display:block;color:#536b90;font-size:14px}
.pp-page-content nav a{font-weight:600}
.pp-page-content article{max-width:100%}
.pp-page-content article p{max-width:76ch}
.pp-page-content > ul{padding-left:22px}
.pp-page-content > ul li{margin-block:9px}
.pp-page-content footer{border-top:1px solid #e1eaf7;padding-top:15px;color:#63748d}
.pp-site-footer{max-width:1040px;margin:0 auto 34px;padding:12px 20px 30px;color:#5b6a82;font-size:13px;text-align:center}
.pp-site-footer a{color:#2365d4}
:focus-visible{outline:3px solid #f8a72d!important;outline-offset:3px}
@media(min-width:1450px){.pp-site-header{padding-left:calc((100vw - 1260px)/2)!important;padding-right:calc((100vw - 1260px)/2)!important}}
@media(max-width:1130px){.pp-site-links{display:none}.pp-site-actions{margin-left:auto}.pp-site-header{padding:13px 20px!important}}
@media(max-width:640px){.pp-site-header{gap:10px;padding:12px 14px!important;flex-wrap:wrap}.pp-site-brand{font-size:22px!important}.pp-site-actions{gap:7px}.pp-site-actions{width:100%;display:flex;justify-content:stretch;margin-top:4px;gap:9px}.pp-site-actions .pp-action{display:inline-flex;flex:1 1 0}.pp-site-menu-trigger{position:absolute;top:11px;right:12px;min-height:39px}.pp-page-content{margin:15px 12px 28px;padding:24px 18px;border-radius:17px}.pp-page-content h1{font-size:29px!important}.pp-site-menu{right:12px;left:12px;max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pp-site-header button,.pp-page-content button{transition:none!important}}

/* Card-grid treatment for exam and article directory pages. */
.pp-index-list>ul{list-style:none;margin:20px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:13px}
.pp-index-list>ul li{list-style:none;margin:0;padding:16px 18px;border:1px solid #dbe7f9;border-radius:15px;background:linear-gradient(160deg,#fff,#f2f8ff);box-shadow:inset 0 1px 0 #fff,0 4px 0 #d2e1f6,0 8px 16px rgba(12,51,102,.07);font-size:14px;color:#59718d}
.pp-index-list>ul li a{display:inline;font-weight:780;color:#095bd5;line-height:1.4;text-decoration:none}
.pp-index-list>ul li:hover{border-color:#5fa4ff;transform:translateY(-2px)}
@media(max-width:640px){.pp-index-list>ul{grid-template-columns:1fr}}

/* Small and medium screens: do not crop the PrimePupil title or action buttons. */
.pp-site-header {min-width:0;max-width:100%;}
.pp-site-brand {min-width:0;}
.pp-site-menu {max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain;}
@media(max-width:1310px){
  .pp-site-links {display:none;}
  .pp-site-actions {margin-left:auto;}
  .pp-site-header {padding:13px 20px!important;}
}
@media(max-width:640px){
  .pp-site-header {position:sticky;display:flex;flex-wrap:wrap;gap:8px 10px;padding:12px 14px!important;}
  .pp-site-brand {font-size:clamp(19px,5.7vw,23px)!important;max-width:calc(100% - 58px);}
  .pp-site-logo {width:27px;height:27px;}
  .pp-site-actions {width:100%;margin:7px 0 0;gap:9px;}
  .pp-site-actions .pp-action {flex:1 1 0;min-width:0;padding:10px 12px;}
  .pp-site-menu-trigger {position:absolute;top:10px;right:13px;min-width:42px;}
  .pp-site-menu {left:12px;right:12px;max-width:none;}
}

/* Site-wide search, release v11 */
.pp-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.pp-site-search{display:flex;align-items:stretch;height:43px;flex:1 1 200px;max-width:280px;margin-left:auto;border:1px solid #355587;border-radius:12px;overflow:hidden;background:#152b54}
.pp-site-search input{min-width:0;width:100%;flex:1;border:0;outline:0;background:transparent;color:white;padding:0 12px;font:600 13px system-ui,sans-serif}
.pp-site-search input::placeholder{color:#bbcee9}
.pp-site-search input:focus-visible{outline:2px solid #42cfff!important;outline-offset:-2px}
.pp-site-header .pp-site-search button{display:grid;place-items:center;flex:0 0 42px;min-height:41px;min-width:42px;padding:0!important;border:0;border-radius:0;background:linear-gradient(155deg,#2194ff,#1266de);box-shadow:none;color:#fff;font-size:23px;transform:none}
.pp-site-header .pp-site-search button:hover{transform:none;filter:brightness(1.1)}
.pp-site-actions{margin-left:0}
@media(max-width:1480px){.pp-site-links{display:none}.pp-site-search{margin-left:auto}}
@media(max-width:760px){
 .pp-site-header{flex-wrap:wrap}
 .pp-site-search{order:2;flex:1 1 100%;max-width:none;margin:5px 0 0;height:42px}
 .pp-site-actions{order:3;width:100%;justify-content:stretch;gap:8px;margin:3px 0 0}
 .pp-site-actions .pp-action{flex:1 1 0;min-width:0}
 .pp-site-brand{order:0}
 .pp-site-menu-trigger{position:absolute;right:13px;top:11px}
}

.pp-page-content .pp-syllabus-update{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(120deg,#e7f5ff,#efebff);border:1px solid #b9d6f7;border-radius:15px;padding:16px 18px;margin:14px 0 24px;color:#132c58}
.pp-page-content .pp-syllabus-icon{flex:0 0 32px;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#116ad4;color:#fff}
.pp-page-content .pp-syllabus-update strong{font-size:1.04rem;color:#132c58}
.pp-page-content .pp-syllabus-update p{margin:4px 0 0;line-height:1.55;color:#334b67;font-size:.93rem}
