:root{--navy:#132536;--gold:#b38a38;--ink:#172b3a;--muted:#56616c;--paper:#f7f7f3;--line:#dce0df;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:4px}button,select{font:inherit}a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.18;letter-spacing:-.035em}h1{font-size:clamp(34px,4vw,56px);margin-bottom:20px}h2{font-size:clamp(28px,3vw,40px)}h3{font-size:21px}.skip-link{position:fixed;top:-100px;left:20px;background:var(--navy);color:white;padding:10px;z-index:10}.skip-link:focus{top:12px}.programme-header{padding:24px max(24px,calc((100vw - 1320px)/2));background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-weight:750;line-height:1.3}.brand-mark{display:grid;place-items:center;background:var(--navy);color:#d6b775;width:48px;height:48px;font-family:Georgia,serif;font-size:21px}.brand small{display:block;font-size:10px;letter-spacing:.18em;color:var(--muted);margin-top:4px}.programme-header nav{display:flex;align-items:center;gap:28px;font-size:15px}.resource-button{padding:12px 19px;background:var(--navy);color:white;border-radius:4px;text-decoration:none;font-weight:600;white-space:nowrap}main{max-width:1320px;margin:auto;padding:44px 24px 72px}.programme-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;align-items:center;margin-bottom:40px}.programme-intro>div>p:last-child{max-width:590px;color:var(--muted);margin:0}.eyebrow{text-transform:uppercase;font-weight:750;font-size:12px;letter-spacing:.12em;color:#765b26;margin-bottom:13px}.preview-note{border-left:3px solid var(--gold);padding:8px 0 8px 22px;font-size:15px;color:var(--muted)}.preview-note strong{display:block;color:var(--ink);margin-bottom:6px}.preview-note p{margin:0}.programme-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:36px;align-items:start}.course-outline{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.course-outline>h2{font-size:19px;padding:24px 22px 18px;margin:0}.milestone-nav{border-top:1px solid var(--line)}summary{padding:17px 20px;display:flex;align-items:center;gap:13px;cursor:pointer;font-size:15px;font-weight:650;line-height:1.35;list-style:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';margin-left:auto;font-size:21px;font-weight:400}.milestone-nav[open]>summary:after{content:'−'}.milestone-number{color:#786030;font-family:Georgia,serif;font-size:24px;min-width:16px}summary small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:4px}.milestone-nav ol{margin:0;padding:0 12px 15px;list-style:none}.milestone-nav a{display:flex;gap:10px;padding:10px;border-radius:4px;font-size:13px;line-height:1.45;text-decoration:none}.milestone-nav a>span{min-width:24px;color:var(--muted)}.milestone-nav a:hover{background:var(--paper)}.milestone-nav a[aria-current]{background:var(--navy);color:white}.milestone-nav a[aria-current]>span{color:#ddbd7d}.outline-note{font-size:12px;line-height:1.6;color:var(--muted);padding:18px 22px;margin:0;border-top:1px solid var(--line)}.lesson-content{min-width:0;scroll-margin-top:24px}.lesson-card{padding:34px;background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:24px}.lesson-card[hidden]{display:none}.lesson-topline{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted);margin-bottom:25px}.lesson-topline span:last-child{white-space:nowrap}.lesson-card h2{max-width:680px;margin-bottom:10px}.lesson-code{font-size:14px;color:var(--muted);margin-bottom:28px}.lesson-action{background:var(--navy);color:white;padding:25px 28px;border-left:4px solid var(--gold);border-radius:3px}.lesson-action .eyebrow{color:#ddbd7d}.lesson-action>p:last-child{font-size:20px;line-height:1.6;margin:0}.lesson-work{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:32px 0;border-bottom:1px solid var(--line)}.lesson-work p{color:var(--muted);font-size:15px;margin-bottom:0}.lesson-work .worksheet-name{color:var(--ink);font-weight:700;margin-bottom:12px}.milestone-output{padding-top:27px}.milestone-output h3{margin-bottom:12px}.milestone-output>p:last-child{font-size:15px;color:var(--muted)}.evidence-note{font-size:13px;color:var(--muted);padding:20px 0;margin:0}.lesson-pagination{border-top:1px solid var(--line);padding-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.lesson-pagination a{text-decoration:none;font-size:14px;font-weight:600}.lesson-pagination a:last-child{text-align:right}.lesson-pagination small{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:10px;color:#765b26;margin-bottom:7px}.mobile-picker{display:none}footer{border-top:1px solid var(--line);max-width:1272px;margin:0 auto;padding:28px 24px;color:var(--muted);font-size:13px}footer p{margin:10px 0;max-width:720px}@media(max-width:900px){.programme-intro{gap:32px}.programme-layout{grid-template-columns:250px minmax(0,1fr);gap:20px}.lesson-card{padding:25px}.lesson-work{grid-template-columns:1fr;gap:24px}.lesson-topline{flex-direction:column;gap:4px}.programme-header nav>a:first-child{display:none}}@media(max-width:680px){.programme-header{padding:16px;gap:12px}.brand{font-size:14px;gap:9px}.brand-mark{width:37px;height:40px;font-size:17px}.resource-button{font-size:12px;padding:11px 12px}.brand small{font-size:8px}main{padding:28px 16px 42px}.programme-intro{grid-template-columns:1fr;gap:24px;margin-bottom:28px}.programme-intro h1{font-size:36px}.preview-note{font-size:13px;padding-left:16px}.programme-layout{display:block}.course-outline{display:none}.mobile-picker{display:block;font-size:13px;font-weight:650;margin-bottom:18px}.mobile-picker select{display:block;width:100%;min-width:0;font-size:16px;padding:12px 8px;border:1px solid #aab2b6;border-radius:4px;background:white;color:var(--ink);margin-top:6px}.lesson-card{padding:24px 20px}.lesson-action{padding:20px}.lesson-action>p:last-child{font-size:18px}.lesson-pagination{gap:18px}.lesson-content{scroll-margin-top:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.lesson-film{margin:0 0 30px}.lesson-film video{display:block;width:100%;aspect-ratio:16/9;background:#0d1a26;border-radius:4px;object-fit:contain}.film-controls{display:flex;align-items:center;gap:16px;margin:14px 0}.film-controls>span{font-size:12px;color:var(--muted)}.play-lesson{border:1px solid var(--navy);border-radius:4px;background:var(--navy);color:white;padding:10px 18px;cursor:pointer;min-height:44px;white-space:nowrap}.play-lesson:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.lesson-transcript{border:1px solid var(--line);border-radius:4px}.lesson-transcript summary{padding:14px 18px;list-style:disclosure-closed;display:list-item;margin-left:18px}.lesson-transcript summary:after{content:none}.lesson-transcript>div{padding:4px 20px 10px;font-size:15px;line-height:1.8}.media-pending{font-size:13px;color:var(--muted);border-left:3px solid var(--line);padding-left:14px;margin-bottom:25px}.media-error{font-size:14px;color:#8c301e}.media-error[hidden]{display:none}@media(max-width:680px){.film-controls{gap:12px;align-items:flex-start}.film-controls>span{font-size:11px}.play-lesson{font-size:14px;padding:10px 15px}}
.saved-overview{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding:18px 0 24px;font-size:15px}.saved-overview a{font-weight:650}.saved-work{border-bottom:1px solid var(--line);padding:28px 0}.saved-work fieldset{border:0;margin:0;padding:0;min-width:0}.saved-work label{display:block;font-size:16px;font-weight:650;margin:16px 0 7px}.saved-work textarea,.saved-work input,.saved-work select{width:100%;padding:12px;border:1px solid #aab2b6;border-radius:4px;background:white;color:var(--ink);font:inherit;max-width:100%}.saved-work textarea{resize:vertical;min-height:140px}.saved-work :focus-visible{outline:3px solid var(--gold);outline-offset:3px}.work-help{font-size:14px;color:var(--muted);margin:10px 0}.work-controls{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.saved-work button{font:inherit;padding:11px 18px;border:1px solid var(--navy);border-radius:4px;background:var(--navy);color:white;cursor:pointer;min-height:44px}.saved-work .load-saved,.saved-work .retry-work{background:white;color:var(--navy)}.saved-work fieldset:disabled{opacity:.6}.saved-work fieldset:disabled button{cursor:wait}.work-status{font-size:14px;margin:14px 0}.saved-work [hidden],.saved-overview [hidden]{display:none}

.saved-overview button{font:inherit;padding:10px 16px;border:1px solid var(--navy);border-radius:4px;background:var(--navy);color:white;min-height:44px;cursor:pointer}.saved-overview button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.saved-overview button:disabled,.saved-work .download-work:disabled{opacity:.5;cursor:not-allowed}.saved-work .download-work{background:white;color:var(--navy)}#export-status{flex-basis:100%;margin:0;overflow-wrap:anywhere}
.lesson-review{padding:26px 0;border-bottom:1px solid var(--line)}.lesson-review button,.review-button{font:inherit;border:1px solid var(--navy);border-radius:4px;padding:11px 16px;background:var(--navy);color:white;min-height:44px;cursor:pointer;margin:0 8px 10px 0}.lesson-review .refresh-review{background:white;color:var(--navy)}.lesson-review button:disabled{opacity:.5;cursor:not-allowed}.lesson-review button:focus-visible,.review-button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.review-history p,.review-entry p{white-space:pre-wrap;overflow-wrap:anywhere}.review-history details{border:1px solid var(--line);padding:12px;margin:12px 0}.review-history summary{padding:8px 0}.review-history summary:after{content:none}.review-fields{border:0;padding:0;margin:20px 0}.review-fields label{display:block;margin:16px 0 6px}.review-fields textarea,.review-fields select{display:block;width:100%;font:inherit;padding:12px;margin:0 0 16px;border:1px solid #aab2b6;border-radius:4px}.review-entry h2{font-size:26px}
.self-progress{background:white;border:1px solid var(--line);border-radius:8px;padding:28px;margin:0 0 32px}.self-progress>h2{font-size:28px}.self-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;align-items:start}.self-milestone{border:1px solid var(--line);border-radius:5px;min-width:0}.self-milestone summary{flex-wrap:wrap;line-height:1.5;min-height:82px}.self-milestone summary:after{content:none}.self-badge{font-size:14px;color:#765b26;font-weight:500;display:block;width:100%}.self-milestone form{padding:0 18px 18px}.self-milestone fieldset{padding:0;border:0;min-width:0}.self-milestone .self-check{display:flex;gap:10px;align-items:flex-start;margin-bottom:16px;font-size:16px;line-height:1.6}.self-check input{width:20px;height:20px;flex:0 0 20px;margin-top:4px;accent-color:var(--navy)}.self-milestone input[name=evidence]{display:block;width:100%;font:inherit;padding:10px;border:1px solid #aab2b6;border-radius:4px;margin:8px 0}.self-progress button{font:inherit;padding:10px 14px;border:1px solid var(--navy);border-radius:4px;background:var(--navy);color:white;min-height:44px;cursor:pointer}.self-progress :focus-visible{outline:3px solid var(--gold);outline-offset:3px}.self-progress button:disabled,.self-progress fieldset:disabled{opacity:.6}.self-milestone>a{display:block;padding:0 18px 18px;font-size:15px}.self-progress [hidden]{display:none}.progress-status{font-size:14px;overflow-wrap:anywhere}.self-progress .reopen-milestone,.self-progress .reload-progress{background:white;color:var(--navy)}#next-milestone{font-weight:650}@media(max-width:680px){.self-progress{padding:20px}.self-progress-grid{grid-template-columns:1fr}}
/* Learner setup and optional task guidance reuse the programme's navy/gold palette. */
.study-pack-links{margin:1.5rem 0;padding:1.25rem;background:white;border:1px solid #d5dadd;border-radius:.5rem;font-size:16px}.study-pack-links h2{font-size:1.4rem;margin-top:0}.study-pack-links a{display:inline-block;min-height:44px;padding:10px 0;margin-right:24px;font-weight:700}.study-pack-links a:focus-visible{outline:3px solid #b18b39;outline-offset:4px}
.start-here { margin: 1.5rem 0; padding: clamp(1.2rem, 3vw, 2rem); background: white; border: 1px solid #d5dadd; border-left: 5px solid #b18b39; border-radius: .6rem; }
.start-here li, .task-guide li { margin-bottom: .9rem; line-height: 1.65; }
.start-here details, .task-guide { margin: 1rem 0; padding: 1rem; border: 1px solid #d5dadd; border-radius: .5rem; }
.start-here summary, .task-guide summary { cursor: pointer; font-weight: 700; line-height: 1.5; }
.task-guide p { line-height: 1.65; }
.task-guide label { display: block; margin: 1rem 0 .5rem; font-weight: 700; }
.task-guide textarea { box-sizing: border-box; width: 100%; padding: .8rem; font: inherit; line-height: 1.5; color: #142535; background: #f8f9fa; border: 1px solid #9ba4ad; border-radius: .4rem; resize: vertical; }
.start-here a { display: inline-block; margin-top: 1rem; font-weight: 700; }
.preview-modes { border: 1px solid #d5dadd; padding: 1rem; border-radius: .5rem; margin: 1rem 0; }
.preview-modes a { display: inline-block; margin: .5rem 1rem .5rem 0; padding: .35rem; }
.preview-modes p { margin: .5rem 0 0; line-height: 1.5; }
.self-review h3 { margin-top: 0; }
.independent-guide { border-left: 4px solid var(--gold); background: #fffdf8; }
.current-rule-update { margin: 1.25rem 0 1.5rem; padding: 1rem 1.2rem; border: 1px solid #d8c48f; border-left: 5px solid var(--gold); border-radius: .4rem; background: #fff8e8; }
.current-rule-update h4 { margin-top: 0; }
.current-rule-update ol { padding-left: 1.5rem; }
.current-rule-update li { margin-bottom: .65rem; line-height: 1.65; }
.calendar-record { margin: 1.25rem 0; padding: 1rem; background: #fff; border: 1px solid #e4d8b7; border-radius: .35rem; }
.calendar-record h5 { margin: 0 0 .6rem; font-size: 1rem; color: var(--navy); }
.calendar-record p { line-height: 1.65; }
.independent-guide h3 { margin-bottom: 1rem; }
.independent-guide h4 { font-size: 18px; margin: 1.4rem 0 .6rem; }
.independent-guide ol, .independent-guide ul { padding-left: 1.5rem; }
.independent-guide details { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 1.5rem 0; }
.independent-guide details summary { padding: 1rem 0; }
.independent-guide details[open] summary:after { content: '−'; }
.guide-table-wrap { overflow-x: auto; }
.independent-guide table { border-collapse: collapse; width: 100%; min-width: 420px; margin: .5rem 0 1rem; font-size: 15px; }
.independent-guide th, .independent-guide td { border-bottom: 1px solid var(--line); text-align: left; padding: .55rem .65rem; vertical-align: top; }
.independent-guide thead th { color: var(--navy); }
.guide-sources { font-size: 14px; color: var(--muted); overflow-wrap: anywhere; }
