:root{--green:#153e35;--gold:#dcaa58;--ink:#203c34;--muted:#77857e;--line:#e2e7e1;--paper:#f7f8f4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}button,input,select,textarea{font:inherit}button,a,input,textarea,select{outline-offset:4px}a{color:inherit;text-decoration:none}button{cursor:pointer;border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 15px;border-radius:7px}button:hover{border-color:var(--green);background:#f0f4ef}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-1.8px}h1{font-size:42px;font-weight:600}h2{font-size:36px;line-height:1.15;font-weight:500}h3{font-size:20px}p{line-height:1.7;color:#6b7b73}small{font-size:12px}label{display:block;font-size:13px;font-weight:600;color:#4b6157}input,select,textarea{width:100%;border:1px solid #d8e0d9;border-radius:7px;padding:12px;background:#fff;color:var(--ink);margin:8px 0 12px}input[type=color]{height:45px;padding:5px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--green)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:6px;background:var(--green);color:#fff;padding:15px 22px;font-size:14px;font-weight:600}.btn:hover{background:#28594b;color:#fff}.gold{background:var(--gold);color:var(--green)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#72897a;display:block;margin-bottom:20px}.muted{color:var(--muted);font-size:13px}.wide{grid-column:1/-1}.check{display:flex;align-items:center;gap:10px}.check input{width:17px;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.danger{color:#a94d45}.badge{display:inline-block;border-radius:30px;background:#edf4e8;color:#5b7d4f;font-size:11px;padding:7px 11px;white-space:nowrap}.draft{background:#fff4da;color:#947433}.brand{font-weight:700;font-size:21px;letter-spacing:-.6px}.wrap{max-width:1240px;margin:auto;padding-left:40px;padding-right:40px}.topline{background:var(--green);color:#e5eae0;font-size:11px;padding:11px 0}.topline .wrap{display:flex;justify-content:space-between;gap:12px}.site-header{display:flex;justify-content:space-between;align-items:center;padding-top:23px;padding-bottom:23px;gap:30px}.school-brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700}.school-brand small{display:block;font-size:10px;font-weight:400;margin-top:5px;max-width:225px}.school-brand img{height:55px;width:55px;object-fit:contain}.crest{display:grid;place-items:center;background:var(--green);color:var(--gold);width:47px;height:55px;border-radius:5px 5px 22px 22px;font:32px Georgia}.site-nav{display:flex;gap:25px;align-items:center;font-size:12px}.site-nav .btn{padding:13px 17px}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;padding-top:40px;padding-bottom:65px}.hero h1{font:62px/1.06 Georgia,serif;letter-spacing:-2px;color:var(--green);margin-bottom:23px}.hero p{font-size:15px;max-width:390px}.hero .actions{margin-top:30px}.text-link{font-size:12px;font-weight:600}.hero-note{display:flex;align-items:center;gap:9px;margin-top:40px;font-size:11px;color:#718274}.dot{width:6px;height:6px;border-radius:50%;background:var(--gold)}.hero-visual{position:relative;height:505px;border-radius:140px 12px 12px 12px;overflow:hidden;background:#d8e4d5}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#132f25aa,transparent 60%)}.hero-visual img{width:100%;height:100%;object-fit:cover}.image-caption{position:absolute;bottom:35px;left:35px;color:#fff;z-index:1}.image-caption span{font-size:9px;letter-spacing:2px;display:block;margin-bottom:12px}.image-caption strong{font:27px/1.2 Georgia}.image-mark{position:absolute;top:27px;right:25px;font-size:60px;color:var(--gold);z-index:1}.slide-control{position:absolute;right:65px;bottom:80px;z-index:2;display:flex;gap:7px}.notice-strip{background:#f5f1e7;border-block:1px solid #ece7dc}.notice-strip .wrap{display:flex;align-items:center;gap:45px;padding-top:17px;padding-bottom:17px}.notice-strip .eyebrow{margin:0;color:#9a7b43;white-space:nowrap}.notice-strip button{padding:0;background:none;border:0;display:flex;justify-content:space-between;flex:1;font-size:12px;text-align:left;gap:20px}.section{padding-top:85px;padding-bottom:85px;scroll-margin-top:20px}.section h2{font:43px/1.15 Georgia}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px}.lead{font-size:16px}.page-links{display:flex;flex-wrap:wrap;gap:8px}.page-links button{font-size:11px;border-radius:30px;padding:9px 12px}.programmes{background:var(--green);color:#fff}.programmes .eyebrow{color:var(--gold)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:34px}.section-heading h2{margin-bottom:0}.section-heading p{font-size:13px;margin:0}.programmes .section-heading p{color:#b7c9bf}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.course{border:1px solid #ffffff33;border-radius:8px;padding:30px}.course-number{color:var(--gold);font:30px Georgia;display:block;margin-bottom:40px}.course h3{font:24px Georgia}.course p{color:#b8ccc1;font-size:13px}.course button{background:transparent;border:0;padding:15px 0 0;color:var(--gold);font-size:12px}.course img{width:100%;height:150px;object-fit:cover;border-radius:5px;margin-bottom:20px}.life-empty{background:var(--paper);padding:45px;display:flex;gap:30px;align-items:center;border-radius:12px}.life-empty>span{font-size:85px;color:var(--gold)}.life-empty p{margin:0;font-size:14px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery button{padding:0;text-align:left;overflow:hidden}.gallery img{width:100%;height:250px;object-fit:cover}.gallery span{display:block;padding:18px}.resources{background:var(--paper)}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.resource{padding:28px;background:#fff;border:1px solid var(--line);border-radius:8px;text-align:left}.resource-icon{font-size:27px;color:#a78549;display:block;margin-bottom:25px}.resource h3{font:23px Georgia}.resource p{font-size:13px}.resource button{display:block;border:0;border-top:1px solid var(--line);width:100%;text-align:left;font-size:12px;padding:14px 0;background:transparent}.resource>img{width:100%;height:170px;object-fit:cover;margin-bottom:20px}.resource>span:last-child{font-size:12px}.portal-links{display:flex;gap:22px;margin-top:30px;flex-wrap:wrap;font-size:13px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact form{background:var(--paper);padding:35px;border-radius:10px}.contact h3{font:25px Georgia;margin-bottom:25px}.contact a{font-size:14px}footer{background:var(--green);color:#fff;padding:38px 0}footer .wrap{display:flex;justify-content:space-between;gap:30px}footer p{color:#b8cac0;font-size:11px;margin-bottom:0}footer a{font-size:11px;margin-left:18px}#mobile-menu{display:none}.admin{background:#f5f7f3}.admin aside{position:fixed;left:0;top:0;bottom:0;width:245px;background:#133b30;color:#d1ded6;padding:28px 20px;display:flex;flex-direction:column}.admin aside .brand{color:#fff;margin-bottom:12px}.admin aside>small{font-size:9px;letter-spacing:1.5px;color:#8aac9a}.school-select{color:#b7cdbf;margin-top:28px;font-size:10px}.school-select select{background:#244b3e;color:white;border:1px solid #436252;margin-bottom:18px;font-size:12px}.admin aside nav{overflow-y:auto;flex:1;scrollbar-width:thin}.admin aside nav button{display:block;text-align:left;width:100%;border:0;background:none;color:#b8cec0;font-size:12px;padding:11px 13px;margin-bottom:3px}.admin aside nav .active{background:#d9eac81c;color:#f0d39d;border-left:3px solid var(--gold)}.aside-foot{border-top:1px solid #ffffff20;padding-top:15px;font-size:9px;color:#83a593}.aside-foot button{display:block;border:0;background:none;color:#d5e1d8;font-size:12px;margin-top:8px;padding:5px 0}.workspace{margin-left:245px}.admin-top{display:flex;align-items:center;justify-content:space-between;padding:22px 40px;border-bottom:1px solid var(--line);background:#fff;font-size:12px}.admin-top>div{display:flex;align-items:center;gap:25px}.avatar{display:grid;place-items:center;width:32px;height:32px;background:#eef2e9;border-radius:50%;font-size:11px;font-weight:700}.quiet{font-size:11px}.admin-main{max-width:1400px;padding:44px 40px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px}.heading .eyebrow{margin-bottom:14px}.heading h1{margin-bottom:10px;font-size:36px}.heading p{font-size:13px;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}.stat{padding:25px;background:#fff;border:1px solid var(--line);border-radius:10px}.stat>span{font-size:12px;color:#718277}.stat strong{display:block;font-size:38px;font-weight:500;letter-spacing:-1px;margin:17px 0}.stat small{font-size:10px;color:#8c9a90}.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:28px}.panel{background:#fff;border:1px solid var(--line);padding:27px;border-radius:10px;min-width:0}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.panel-title h3{font-size:16px;margin:0}.feature-panel{position:relative;overflow:hidden;border-radius:10px;background:#e7eddc;padding:32px}.feature-panel h2{font:34px/1.15 Georgia;position:relative;z-index:1}.feature-panel p{font-size:12px;max-width:310px;position:relative;z-index:1}.feature-panel .btn{position:relative;z-index:1;font-size:12px}.feature-panel .eyebrow{color:#6c856d}.feature-orbit{position:absolute;right:-38px;bottom:0;font-size:210px;color:#b7c8a377;transform:rotate(-10deg)}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-grid button{text-align:left;font-size:12px;padding:17px;background:#fcfdf9}.quick-grid span{display:block;font-size:23px;color:#779177;margin-bottom:12px}.quick-grid small{display:block;margin-top:9px;color:#9aa798;font-size:9px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#93a096;background:#f8faf5;padding:14px}td{padding:18px 14px;border-bottom:1px solid #edf0e8}td small{display:block;font-size:11px;color:#8d9a91;margin-top:6px}td button{font-size:11px;padding:7px 11px}.empty{text-align:center;padding:40px 20px;font-size:15px;color:#7b8c7e}.empty p{font-size:12px}.school-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.school-cards h2{font-size:26px;margin-top:20px}.school-cards code{font-size:12px;color:#849386;display:block;margin-bottom:25px}.filter{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.filter input{max-width:350px;margin:0;font-size:12px}.login{display:grid;grid-template-columns:1.15fr 1fr;min-height:100vh}.login-story{background:#153e35;color:#fff;padding:60px 65px;display:flex;flex-direction:column;justify-content:center;position:relative}.login-story .brand{position:absolute;top:45px}.login-story h1{font:52px/1.15 Georgia}.login-story .eyebrow{color:#d7b46f}.login-story p{color:#b4cdc0;font-size:14px}.login-tags{display:flex;gap:15px;margin-top:25px}.login-tags span{padding:10px 18px;border:1px solid #ffffff40;border-radius:30px;font-size:11px}.login-form{padding:60px;max-width:510px;width:100%;align-self:center;justify-self:center}.login-form h2{font-size:32px}.login-form p{font-size:13px}.login-form label{margin-top:18px}.login-form .btn{width:100%;margin-top:15px}.login-form>a{display:block;font-size:12px;color:#889387;margin-top:25px}#error,#form-error,#settings-error{color:#ad483f}dialog{border:1px solid var(--line);border-radius:14px;width:min(760px,92vw);max-height:90vh;padding:30px;color:var(--ink);box-shadow:0 25px 100px #112f2633}dialog::backdrop{background:#112f2677;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.modal-head h2{font-size:25px;margin:0}.modal-head .eyebrow{margin:0}.modal-head button{border:0;background:var(--paper)}.modal-foot{display:flex;justify-content:end;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.detail-image{width:100%;max-height:420px;object-fit:contain;border-radius:8px}.prose{white-space:pre-wrap}#toast{position:fixed;right:25px;bottom:25px;background:#133b30;color:#fff;padding:15px 22px;border-radius:8px;z-index:50;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}
@media(min-width:1450px){.hero{gap:90px}}@media(max-width:1050px){.site-nav{gap:14px}.hero h1{font-size:49px}.hero-visual{height:440px}.admin aside{width:215px}.workspace{margin-left:215px}.admin-main{padding:30px 24px}.stats{gap:10px}.stat{padding:18px}.dash-grid{grid-template-columns:1fr}.contact{gap:35px}.login-story{padding:45px}.login-story h1{font-size:42px}}@media(max-width:760px){.wrap{padding-left:22px;padding-right:22px}.topline .wrap>span:last-child{display:none}.site-header{padding-block:17px}.site-nav{display:none;position:absolute;top:112px;left:15px;right:15px;background:white;padding:20px;z-index:10;box-shadow:0 15px 30px #153e3520;flex-direction:column;align-items:stretch}.site-nav.open{display:flex}#mobile-menu{display:block}.school-brand{font-size:17px}.school-brand small{font-size:9px}.hero{grid-template-columns:1fr;gap:32px;padding-top:28px;padding-bottom:35px}.hero h1{font-size:46px}.hero-visual{height:360px;border-top-left-radius:100px}.hero-note{margin-top:25px}.notice-strip .wrap{gap:18px}.notice-strip button>span{display:none}.section{padding-top:55px;padding-bottom:55px}.section h2{font-size:35px}.about,.contact{grid-template-columns:1fr;gap:25px}.section-heading{align-items:start;flex-direction:column;gap:15px}.course-grid,.resource-grid,.gallery{grid-template-columns:1fr}.course-number{margin-bottom:20px}.life-empty{padding:25px;gap:20px}.life-empty>span{font-size:45px}.contact form{padding:25px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}footer .wrap{flex-direction:column}footer a{margin-left:0;margin-right:18px}.admin aside{position:relative;width:100%;padding:18px}.admin aside nav{display:flex;overflow-x:auto;flex:none;max-height:50px}.admin aside nav button{white-space:nowrap;width:auto;flex:none}.admin aside>small,.aside-foot{display:none}.school-select{margin-top:15px}.school-select select{margin-bottom:10px}.workspace{margin-left:0}.admin-top{padding:18px 20px}.admin-main{padding:30px 20px}.heading{align-items:start;flex-direction:column}.heading h1{font-size:31px}.stats{grid-template-columns:1fr 1fr}.school-cards{grid-template-columns:1fr}.panel{padding:20px}.login{grid-template-columns:1fr}.login-story{padding:85px 30px 35px}.login-story h1{font-size:36px}.login-story .brand{top:30px}.login-tags{display:none}.login-form{padding:35px 30px}.slide-control{bottom:50px;right:40px}.contact h2{font-size:36px}}
.section-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-block:24px}.section-control .panel-title{align-items:start}.toggle-control{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:11px}.toggle-control input{width:36px;height:20px;margin:0;accent-color:#153e35}.section-control textarea{min-height:80px}.section-save{position:sticky;bottom:0;box-shadow:0 -5px 25px #153e3510;z-index:2}@media(max-width:800px){.section-controls{grid-template-columns:1fr}}
.content-writer{border:1px solid #d7e2cd;border-radius:10px;background:#f2f7eb;padding:25px;margin-bottom:25px}.content-writer h3{margin-bottom:10px}.content-writer p{font-size:12px}.content-writer [data-writer-status]{color:#537446;font-weight:600;margin-top:18px}.content-writer details{margin-top:20px}.content-writer summary{cursor:pointer;font-size:13px;font-weight:700}.content-writer [data-writer-records]{max-height:350px;overflow:auto;margin-top:15px}.content-writer article{background:white;border:1px solid #e0e7d8;padding:15px;border-radius:7px;margin-bottom:10px}.content-writer h4{margin:13px 0 6px}.content-writer article p{white-space:pre-wrap}
#admin-menu{display:none}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.team-summary{display:flex;gap:28px;flex-wrap:wrap;margin-bottom:25px;padding:20px;background:#eaf0e1;border-radius:9px;font-size:12px}.team-summary strong{font-size:23px;margin-right:8px}.team-card h2{font-size:24px;margin:15px 0 8px;overflow-wrap:anywhere}.team-card p{font-size:12px;overflow-wrap:anywhere}.team-card .panel-title{align-items:start}.team-metrics{display:flex;gap:25px;border-block:1px solid #e8eddf;padding:18px 0;font-size:11px}.team-metrics strong{font-size:22px;display:block;margin-bottom:6px}.team-school-list{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.team-school-list>span{background:#f2f6ea;font-size:10px;padding:8px;border-radius:5px;overflow-wrap:anywhere}.school-assignment-list{max-height:270px;overflow:auto;border:1px solid #e0e6d9;border-radius:7px;padding:15px}.school-assignment-list label{padding:12px 0;border-bottom:1px solid #edf0e6}.school-assignment-list input{flex:none}.school-assignment-list small{display:block;font-weight:400;color:#86947e;margin-top:6px}.school-creator{font-size:11px!important;color:#7d8b73}.admin input,.admin select,.admin textarea{min-width:0}.admin-top>span{overflow-wrap:anywhere}@media(max-width:1000px){.team-grid{grid-template-columns:1fr}}@media(max-width:760px){#admin-menu{display:block;position:absolute;right:18px;top:14px;background:#285243;color:white;border:1px solid #496b57;font-size:12px;min-height:40px}.admin aside .brand{padding-right:100px}.admin aside nav{display:none;max-height:55vh;overflow:auto;flex-direction:column}.admin aside nav.mobile-open{display:flex}.admin aside nav button{width:100%;min-height:43px;font-size:13px}.admin aside{position:sticky;top:0;z-index:20;padding-bottom:8px}.admin .school-select{margin-top:10px}.admin .school-select select{margin-bottom:4px}.admin-top{gap:12px;padding:15px}.admin-top>div{gap:10px}.admin-top .quiet{font-size:10px}.admin-main{padding:25px 15px}.team-summary{gap:16px;padding:16px}.team-summary span{width:100%}.team-card{padding:20px}.team-card .actions{align-items:stretch;flex-direction:column}.team-card .actions button{min-height:44px}.admin dialog{padding:20px;max-height:88dvh}.admin .modal-foot{position:sticky;bottom:0;background:white;padding-bottom:10px}.admin .table-wrap{max-width:100%}.admin input,.admin select,.admin textarea{font-size:16px}.admin button{min-height:40px}.heading h1{overflow-wrap:anywhere}.admin .login-form{padding:30px 22px}}
#mobile-logout{display:none}@media(max-width:760px){.admin aside nav #mobile-logout{display:block;border-top:1px solid #ffffff25;margin-top:10px;color:#ecd5a2}}
.login-role-links{font-size:11px!important;line-height:2}.login-role-links a{color:#547d54;white-space:nowrap}
.media-field{border:1px solid #dce5d5;border-radius:9px;padding:17px;background:#fafcf7;min-width:0}.media-title{display:block;font-size:13px;font-weight:600;color:#4b6157;margin-bottom:12px}.media-preview{height:150px;display:grid;place-items:center;border:1px dashed #cedbc4;border-radius:6px;overflow:hidden;background:#f0f5e9;margin-bottom:13px}.media-preview img{display:block;max-width:100%;width:100%;height:100%;object-fit:contain}.media-preview>span{font-size:12px;color:#9aa68e}.media-field .actions{gap:8px}.media-field button{font-size:12px}.media-field small{display:block;font-size:10px;color:#8b9a80;line-height:1.6;margin-top:10px}.media-status{font-size:11px;color:#658352;line-height:1.6;margin:10px 0 0;overflow-wrap:anywhere}.domain-mapping{border:1px solid #d4dfc9;background:#f1f6e9;padding:24px;border-radius:9px;margin-top:10px}.domain-mapping h3{font-size:22px;margin-bottom:12px}.domain-mapping p{font-size:12px}.domain-mapping small{display:block;color:#8c987c;font-size:11px;line-height:1.8}.domain-slug-preview{font-family:monospace;overflow-wrap:anywhere}.media-field [hidden]{display:none!important}@media(max-width:760px){.media-field{padding:15px}.media-field .actions button{min-height:44px}.domain-mapping{padding:20px}}
