@font-face{font-family:Newsreader;src:url('assets/newsreader.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('assets/source-sans-3.ttf') format('truetype');font-weight:200 900;font-display:swap}
:root{font-family:'Source Sans 3',Arial,sans-serif;font-size:18px;color:#092e2a;background:#eaf0ed;--green:#007759;--deep:#073e31;--muted:#656b75;--line:#d0d5d5}
h1,h2,h3{font-family:Newsreader,Georgia,serif;font-weight:500;letter-spacing:-.035em}h1{font-size:2rem;line-height:1.05}h2{font-size:1.42rem;line-height:1.1}h3{font-size:1.16rem}button,input,textarea,select{font-family:inherit}p{line-height:1.35}.small,small{font-size:.78rem}.app-shell{max-width:480px;background:#fafbf8;box-shadow:none;padding-bottom:78px}.brandbar{position:relative;height:96px;padding:12px 23px;background:none;border-bottom:1px solid var(--line)}.brand{font:500 19px/1.02 Newsreader,Georgia,serif;gap:12px}.brand img{width:62px;height:76px}.brand small{font:9px/1.3 'Source Sans 3',sans-serif;letter-spacing:.26em;margin-top:8px}.icon-button{border-radius:0}.brandbar .icon-button{font-size:23px;color:#073e31}.brandbar .icon-button img{width:28px;height:28px}.menu{top:90px;border-radius:4px;box-shadow:0 8px 30px #092e2a18}.menu button{font-size:18px;min-height:48px}.bottom-nav{width:min(480px,100%);padding:16px 8px max(6px,env(safe-area-inset-bottom));background:#fafbf8;backdrop-filter:none;min-height:68px}.bottom-nav:before{content:'Interactive demo';position:absolute;top:1px;left:0;right:0;text-align:center;font-size:9px;color:#747982}.bottom-nav a{font:14px/1.15 'Source Sans 3',sans-serif;gap:4px;min-height:46px}.bottom-nav img{width:24px;height:24px}.primary,.secondary{border-radius:5px;min-height:46px;padding:10px 18px;font-size:1rem;line-height:1.2;font-weight:600}.primary{background:#00785e}.primary.full{justify-content:space-between}.primary.full:not(:has(img)){justify-content:center}.primary img{width:21px;height:21px}.secondary{background:#eff4f0;border-color:#ccd8d1}.link-button,.story-link{display:inline-flex;gap:5px;align-items:center;color:var(--green);font-size:.88rem;font-weight:600;min-height:44px;line-height:1.2}.link-button img,.story-link img{width:16px;height:16px;filter:invert(26%) sepia(60%) saturate(700%) hue-rotate(112deg)}.eyebrow{font:400 .65rem/1.4 'Source Sans 3',sans-serif;letter-spacing:.25em;color:#427167;margin:0 0 9px}.sample-label{background:none;border-radius:0;padding:0;color:#98711d;letter-spacing:.13em;font:600 .64rem/1.4 'Source Sans 3',sans-serif;margin-bottom:5px}.welcome-photo{display:block;width:100%;height:198px;object-fit:cover}.welcome-copy{padding:24px 23px 16px}.welcome-copy h1{font-size:1.95rem;margin:10px 0 14px;line-height:1.06;letter-spacing:-.045em}.welcome-copy>p{font-size:1rem;color:#565d65;margin-bottom:18px;line-height:1.25}.welcome-copy>.primary{font-size:1.05rem;min-height:46px;padding-left:22px}.story-link{border:0;background:none;padding:4px 21px;margin:3px 0 12px;font-size:.95rem}.welcome-events{border-top:1px solid var(--line);padding-top:20px}.section-head{margin:0 0 12px;gap:5px}.section-head h2{font-size:1.42rem;font-weight:500}.section-head .link-button{font-size:.83rem;white-space:nowrap}.event-preview{display:grid;grid-template-columns:43.5% 1fr;padding:0;gap:14px;border:0;background:none;box-shadow:none;border-radius:0}.event-preview>img{width:100%;height:98px;object-fit:cover;border-radius:6px}.event-preview .sample-label{position:static;background:none;font-size:.61rem;margin-bottom:4px}.event-preview h3{font-size:1.09rem;line-height:1.06;margin:0 0 6px}.event-preview p{font-size:.76rem;line-height:1.15;margin:0;color:var(--muted)}.event-preview .link-button{min-height:30px;font-size:.86rem;padding:0}.page{padding:22px 23px 26px;min-height:0}.page-title{margin-bottom:12px}.page .intro{font-size:.95rem;line-height:1.35}.back{font-size:.9rem;padding:0;margin-bottom:10px;min-height:40px;gap:10px}.back img{width:16px}.demo-note{font-size:.72rem;color:#68736f;border-left:2px solid #b3c8bc;padding-left:11px;margin:15px 0 22px}.card{border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:20px 0;margin:0 0 14px;box-shadow:none}.card h2,.card h3{margin-bottom:12px}.member-card{background:#e9f0e9;padding:18px;border:0;border-radius:6px;color:var(--deep)}.member-card .muted{color:var(--muted)}.member-card h2{font-size:1.8rem}.pill{font:600 .8rem/1.2 'Source Sans 3',sans-serif;background:#007a58;color:#fff;padding:5px 15px;border-radius:30px}.dashboard{padding-top:22px}.dashboard>.eyebrow{font-size:.66rem;letter-spacing:.27em;margin-bottom:7px}.dashboard>h1{font-size:1.85rem;margin:0 0 4px;white-space:nowrap}.subtitle{font-size:.9rem;color:var(--muted);margin:0}.member-summary{background:#eaf0e9;border-radius:7px;padding:17px 16px 9px;margin:16px -6px 22px}.member-summary h2{font-size:2rem;margin:0;line-height:1.1}.member-summary .subtitle{margin-top:3px}.member-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #c8d2cb;border-bottom:1px solid #c8d2cb;margin-top:10px;padding:10px 0;font-size:.95rem;gap:16px}.member-facts>div+div{border-left:1px solid #c8d2cb;padding-left:17px}.member-facts .eyebrow{font-size:.56rem;letter-spacing:.21em;margin-bottom:3px}.member-links{gap:6px;margin-top:3px}.member-links .link-button{font-size:.88rem;white-space:nowrap}.member-links .small{font-size:.67rem;font-weight:400;color:var(--muted)}.cpd-summary{margin-bottom:14px}.cpd-summary h2{font-size:1.42rem;margin:0}.cpd-count{font:500 1.55rem/1 Newsreader,serif;white-space:nowrap;color:var(--green)}.cpd-count span{color:var(--muted)}.progress{height:8px;background:#e2eae3;margin:10px 0 0}.progress span{background:#008a63}.cpd-summary .link-button{min-height:36px}.dashboard-actions{border-top:1px solid var(--line);padding-top:18px}.dashboard-actions h2{font-size:1.4rem;margin:0 0 7px;white-space:nowrap}.service-row{display:flex;align-items:center;width:100%;min-height:44px;border:0;border-bottom:1px solid var(--line);padding:11px 0;background:none;gap:24px;text-align:left;color:#152a32;font-size:.98rem}.service-row>img:first-child{width:23px;height:23px}.service-row>img:last-child{width:17px;height:17px;margin-left:auto}.reading{padding-top:15px}.reading h2{font-size:1.42rem;margin:0 0 8px}.reading-link{display:flex;width:100%;gap:17px;align-items:center;padding:0;background:none;border:0;text-align:left;color:#102f2c}.reading-link .cover{width:69px;height:76px;object-fit:cover;object-position:top;border:1px solid #dae2dc;border-radius:3px}.reading-link b{font:500 1.15rem/1.2 Newsreader,serif}.reading-link small{display:block;color:var(--muted);margin-top:5px}.reading-link>img:last-child{width:17px;height:17px;margin-left:auto}.event-detail{padding-top:8px}.event-detail>.sample-label{display:block;margin:0 0 10px}.event-detail h1{font-size:2rem;line-height:1.02;margin:0 0 17px;letter-spacing:-.035em}.event-meta p{display:flex;align-items:center;gap:19px;color:var(--muted);font-size:.94rem;margin:0 0 9px;line-height:1.2}.event-meta img{width:23px;height:23px}.event-description{font-size:.94rem;color:var(--muted);margin:14px 0 13px}.tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin:0 -2px 23px}.tabs button{font-size:1rem;border:0;border-bottom:3px solid transparent;color:#666;background:none;min-height:42px}.tabs button[aria-selected=true]{color:var(--deep);font-weight:600;border-color:var(--green)}.event-form h2{font-size:1.48rem;margin:0 0 7px}.event-form>p{font-size:.9rem;color:var(--muted);margin-bottom:15px}.field{font-size:.85rem;font-weight:400;gap:4px;margin-bottom:12px;color:#5d6470}.field input,.field select,.field textarea{font:400 .98rem/1.25 'Source Sans 3',sans-serif;min-height:40px;padding:9px 12px;border-color:#a8adb8;border-radius:4px;color:#172c36}.field textarea{min-height:100px}.event-form .primary{margin-top:2px;min-height:42px;padding:10px 18px;font-size:1rem;gap:6px;white-space:nowrap}.form-note{font-size:.72rem;margin:7px 0 15px}.essentials{border-top:1px solid var(--line);padding-top:14px}.essentials h2{font-size:1.48rem;margin:0 0 9px}.essentials-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.essentials-grid button{display:flex;gap:10px;align-items:center;background:none;border:0;padding:2px 0;text-align:left;min-height:46px;color:#162d35;font-size:.86rem}.essentials-grid button+button{border-left:1px solid var(--line);padding-left:14px}.essentials-grid button>img:first-child{width:23px;height:26px}.essentials-grid button>img:last-child{width:15px;margin-left:auto}.essentials-grid small{display:block;color:var(--muted);font-size:.72rem;white-space:nowrap;margin-top:2px}.quick-grid{display:block}.quick-card{display:grid;grid-template-columns:26px 1fr;gap:3px 17px;width:100%;min-height:76px;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:15px 0;font-size:1rem;background:none}.quick-card img{grid-row:span 2;width:25px;height:25px}.quick-card span{font-size:.8rem}.programme-list{gap:0}.shop-item{grid-template-columns:45px 1fr}.publication{grid-template-columns:100px 1fr}.publication>img{width:100px}.job-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.job-card h2{font-size:1.5rem}.empty{padding:22px 0;color:var(--muted)}.stats{gap:12px}.stat{border-radius:4px}.check{font-size:.85rem}.login{padding-top:22px}.login img.crest{margin:0 0 14px}.login h1{font-size:2rem}.login form{text-align:left}.disclaimer{font-size:.72rem}.footer-links{flex-wrap:wrap}.error{margin-bottom:8px}.success{border-radius:4px;font-size:.9rem}dialog{border-radius:8px;padding:23px;background:#fafbf8}dialog .primary{font-size:.95rem}.dialog-top h2{font-size:1.55rem}#toast{font-size:.85rem;border-radius:5px;bottom:82px}
[data-route=home] .brandbar{height:122px;border-bottom:0}[data-route=home] .brand img{width:77px;height:99px}[data-route=home] .brand{gap:12px;font-size:20px}[data-route=home] #menu{top:114px}[data-route=home] .header-text{display:none}.header-text{border:0;background:none;color:var(--deep);font-size:24px;min-width:44px;min-height:44px}
.large-text{font-size:21px}.large-text .dashboard>h1,.large-text .dashboard-actions h2{white-space:normal}.large-text .member-links{flex-wrap:wrap}.large-text .brand{font-size:19px}.large-text .event-form .primary{white-space:normal}.large-text .essentials-grid{grid-template-columns:1fr}.large-text .essentials-grid button+button{border-left:0;border-top:1px solid var(--line);padding:12px 0}.large-text .event-preview{grid-template-columns:35% 1fr}.large-text .event-preview>img{height:130px}
@media(max-width:360px){.brandbar{padding:10px 16px}.brand{font-size:17px;gap:8px}.brand img{width:55px}[data-route=home] .brand{font-size:18px;gap:8px}[data-route=home] .brand img{width:65px}.welcome-copy,.page{padding-left:18px;padding-right:18px}.welcome-copy h1{font-size:1.8rem}.dashboard>h1{font-size:1.65rem}.dashboard-actions h2{font-size:1.22rem}.member-links{flex-wrap:wrap;gap:0}.event-detail h1{font-size:1.8rem}.essentials-grid{gap:9px}.essentials-grid button{gap:5px;font-size:.76rem}.essentials-grid button+button{padding-left:8px}.essentials-grid button>img:first-child{width:19px}.essentials-grid small{font-size:.68rem}.event-form .primary{font-size:.85rem}.job-filters{grid-template-columns:1fr}.quick-grid{grid-template-columns:none}.event-preview h3{font-size:1rem}.reading-link{gap:12px}}
.welcome-copy h1{font-size:1.78rem;letter-spacing:-.045em}
.dashboard>.subtitle{line-height:1.2}.member-summary{margin-top:16px;margin-bottom:22px;padding:15px 16px 5px}.member-summary .subtitle{line-height:1.2}.member-summary .row{min-height:0}.member-summary h2{font-size:1.9rem}.member-facts{padding:8px 0;margin-top:9px;line-height:1.25}.member-facts .eyebrow{line-height:1.25}.member-links .link-button{min-height:34px}.member-summary p{margin-bottom:0}.dashboard-actions .service-row{padding:8px 0;min-height:44px}.dashboard-actions{padding-top:17px}.dashboard .subtitle{margin-bottom:0}.dashboard>h1{font-size:1.8rem}
.brand img{content:url('assets/isp-crest.png')}
.dashboard>.eyebrow{margin-bottom:4px}.dashboard>h1{font-size:1.7rem;margin-bottom:1px}.dashboard>.subtitle{font-size:.82rem;line-height:1.1}.member-summary{margin-top:12px;padding-top:13px;padding-bottom:4px;margin-bottom:20px}.member-summary .subtitle{font-size:.82rem;line-height:1.1}.member-facts{padding:6px 0;font-size:.88rem}.member-links .link-button{min-height:32px}.cpd-summary{margin-bottom:9px}.cpd-summary .link-button{min-height:32px}.dashboard-actions .service-row{min-height:44px;padding:7px 0}.service-row img,.essentials-grid img,.event-meta img{filter:invert(18%) sepia(37%) saturate(1000%) hue-rotate(115deg)}
.story-link{margin-bottom:0}.welcome-events{padding-top:12px}.welcome-events .section-head{margin-bottom:8px}.event-preview>img{height:98px!important}.event-preview h3{font-size:1rem;line-height:1.05}.event-preview .link-button{min-height:30px;font-size:.82rem}.event-preview p{font-size:.72rem}.event-preview .sample-label{font-size:.58rem}.welcome-copy{padding-bottom:8px}
.welcome-copy>p{margin-bottom:14px}.welcome-events{padding-top:4px}.welcome-events .section-head{margin-bottom:4px}.event-preview h3{font-size:.94rem;margin-bottom:4px}.event-preview .sample-label{line-height:1.2}
.event-detail h1{font-size:1.8rem;margin-bottom:14px}.event-meta p{font-size:.86rem;gap:17px;margin-bottom:6px}.event-meta img{width:21px;height:21px}.event-description{font-size:.86rem;margin:12px 0 8px}.tabs{margin-bottom:17px}.tabs button{font-size:.94rem;min-height:39px}.event-form h2{font-size:1.4rem;margin-bottom:5px}.event-form>p{font-size:.86rem;margin-bottom:10px}.event-detail .field{font-size:.8rem;margin-bottom:10px}.event-detail .field input,.event-detail .field select{font-size:.9rem;padding:7px 12px;min-height:39px}.event-form .primary{font-size:.92rem;min-height:40px}.event-detail .form-note{font-size:.7rem;margin:6px 0 14px}.essentials{padding-top:12px}.essentials h2{font-size:1.4rem}.essentials-grid button{font-size:.82rem}.essentials-grid small{font-size:.68rem}
.event-detail .form-note{margin-bottom:4px}.essentials{padding-top:10px}.essentials h2{line-height:1;margin-bottom:6px}.essentials-grid button{min-height:44px}
/* One consistent menu control; browser text zoom remains available. */
.brandbar{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;padding-left:16px;padding-right:16px}
.brandbar #menu-button{display:grid;width:44px;height:44px;padding:8px;justify-self:start}
.brandbar .brand{min-width:0;gap:10px}
@media(max-width:360px){.brandbar{gap:7px;padding-left:12px;padding-right:12px}.brandbar .brand,[data-route=home] .brand{font-size:16px;gap:7px}.brandbar .brand img,[data-route=home] .brand img{width:48px;height:70px}.brand small{font-size:8px;letter-spacing:.17em}}
/* Shared top-right menu placement on every route. */
.brandbar{display:flex;justify-content:space-between;gap:10px}
.brandbar .brand{order:0}
.brandbar #menu-button{order:1;flex:0 0 44px}
/* Direct icon-led navigation and Academy editorial learning pages. */
.menu{max-height:calc(100dvh - 200px);overflow-y:auto;overscroll-behavior:contain;padding:8px 14px 12px}
.menu-heading{font-size:12px;letter-spacing:.19em;text-transform:uppercase;color:var(--muted);padding:10px 8px}
.menu button.menu-item{display:flex;align-items:center;gap:14px;width:100%;min-height:48px;padding:10px 8px;border-radius:3px;color:var(--deep);font-size:18px}
.menu-item>img{width:23px;height:23px;flex-shrink:0;filter:invert(19%) sepia(38%) saturate(900%) hue-rotate(113deg)}
.menu-item>img:last-child:not(:first-child){width:14px;height:14px;margin-left:auto}
.menu-item span{text-align:left}.menu-divider{border-top:1px solid var(--line);margin:7px 0}
.menu button:hover,.menu button:focus-visible{background:#eaf1ea}
.academy{padding-top:12px}.academy h1{font-size:2.05rem;line-height:1.07;margin:5px 0 14px}
.academy-intro{font-size:1.04rem;line-height:1.4;color:#53655f;margin-bottom:20px}
.academy-hero{margin:0 -23px 20px}.academy-hero>img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.academy-hero figcaption{padding:7px 23px 0;font-size:11px;line-height:1.3;color:#69746f}
.academic-note{border-left:3px solid #b1c6b5;padding:2px 0 2px 14px;margin:0 0 30px}.academic-note b{font-weight:600;font-size:17px}
.academic-note p{font-size:15px;line-height:1.45;color:#56635e;margin:7px 0 0}
.academy>h2{font-size:1.65rem;margin-bottom:8px}.academy-courses{display:grid;gap:26px}
.academy-card{background:#fff;border:1px solid #dde5de;border-radius:5px;overflow:hidden}
.academy-card>img{display:block;width:100%;height:180px;object-fit:cover}
.academy-card-copy{padding:19px}.academy-card .eyebrow{font-size:11px;letter-spacing:.14em;margin-bottom:8px}.academy-card h2{font-size:1.65rem;margin:0 0 10px}
.course-hook{font-size:18px;line-height:1.35;margin:0 0 12px;color:#374f44}.academy-card .secondary{justify-content:space-between;font-size:17px;margin-top:5px}
.secondary img{width:18px;height:18px}.official-learning{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.official-learning p{font-size:16px;line-height:1.45}
.course-lede{font:500 1.4rem/1.2 Newsreader,Georgia,serif;color:#466951;margin-bottom:20px}
.course-facts{border-block:1px solid var(--line);padding:16px 0;display:grid;gap:18px;margin:22px 0 28px}.course-facts>div{display:flex;gap:14px;align-items:flex-start;font-size:16px;line-height:1.4}.course-facts img{width:23px;height:23px;margin-top:3px}.course-facts b{display:block;color:var(--deep);margin-bottom:4px}.course-facts span{color:#56635e}
.course-section{margin:28px 0}.course-section h2,.applied-project h2{font-size:1.6rem;margin-bottom:15px}.learning-outcomes{padding-left:22px;margin:0}.learning-outcomes li{padding-left:5px;margin:0 0 15px;font-size:17px;line-height:1.45}.learning-outcomes li::marker{color:#54816a;font-weight:600}
.curriculum details{border-bottom:1px solid var(--line)}.curriculum summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;min-height:62px;padding:12px 0;color:var(--deep);font-size:17px;line-height:1.3}.curriculum summary::-webkit-details-marker{display:none}.module-number{font:500 21px Newsreader,serif;color:#789181}.curriculum summary>img{width:16px;height:16px;margin-left:auto;flex-shrink:0}.curriculum details[open] summary>img{transform:rotate(45deg)}.curriculum details>p{font-size:16px;line-height:1.45;color:#56635e;padding:0 10px 6px 34px}
.applied-project{background:#edf3ec;padding:22px 18px;border-radius:4px;margin:28px -5px}.applied-project p{font-size:17px;line-height:1.45}.applied-project .small{font-size:14px}
.case-options{border:0;padding:0;margin:20px 0}.case-options legend{font-size:15px;color:var(--muted);margin-bottom:10px}.case-options label{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:4px;padding:14px;margin:10px 0;cursor:pointer;font-size:16px;line-height:1.4}.case-options input{width:20px;height:20px;flex-shrink:0;margin:1px 0}
@media(max-width:360px){.academy-hero{margin-left:-18px;margin-right:-18px}.academy h1{font-size:1.85rem}.academy-card-copy{padding:16px}.academy-card h2{font-size:1.5rem}.menu button.menu-item{font-size:17px}.academy-hero figcaption{padding-left:18px;padding-right:18px}}

.course-status{font-size:13px;color:#64766a;border-left:2px solid #b9cbbd;padding-left:10px;margin:0 0 15px;line-height:1.4}