/* Launch-readiness guardrails: shared interaction clarity without changing the page's editorial system. */
:focus-visible{outline:3px solid #f47d1f;outline-offset:3px}
button,.button,.text-button,.section-stepper a{min-height:44px}
.section-stepper strong{overflow-wrap:anywhere}
.course-catalogue,.finder-grid,.service-grid,.tutor-grid,.about-grid,.story-grid{min-width:0}
.course-catalogue input,.course-catalogue select,.finder input,.finder select{max-width:100%}
@media(max-width:850px){.section-stepper{grid-template-columns:1fr}.section-prev,.section-next{max-width:none}.section-next{min-height:82px}.story-grid article,.story-grid aside{overflow-wrap:break-word}.course-catalogue{overflow-x:clip}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.real-work-card img,.section-stepper a,.hero-cover .button{transition:none!important;animation:none!important}}

/* My Story: keep the long-form content, but give it a calmer reading scale. */
.story{padding-top:clamp(76px,7vw,96px);padding-bottom:clamp(80px,7vw,104px)}
.story .eyebrow{margin-bottom:24px;font-size:12px;letter-spacing:2.7px}
.story-heading{align-items:start;gap:clamp(38px,5vw,68px)}
.story-heading h2{font-size:clamp(50px,4.25vw,68px)!important;line-height:.98;letter-spacing:-.065em}
.story-heading>p{font-size:clamp(18px,1.35vw,21px)!important;line-height:1.55}
.story-grid{margin-top:44px;gap:20px}
.story-grid article,.story-grid aside{padding:clamp(26px,2.25vw,34px)}
.story .story-grid article p,.story .story-grid aside p,.story-close>p{font-size:clamp(17px,1.18vw,19px)!important;line-height:1.62}
.story blockquote{margin:22px 0 26px;font-size:clamp(30px,2.5vw,41px)!important;line-height:1.05;letter-spacing:-.052em}
.story-grid aside .story-beat{font-size:21px!important;line-height:1.3}
.story-grid aside .story-capable{font-size:19px!important;line-height:1.38}
.story-close{max-width:760px;margin-top:48px}
.story-close>p{margin-bottom:24px}
.story .story-quiet{font-size:21px!important;line-height:1.35!important;margin:32px 0!important}
.story .story-impact{font-size:20px!important;line-height:1.35!important;margin:34px 0 9px!important}
.story-signoff{font-size:18px!important}
@media(max-width:850px){.story{padding-top:68px;padding-bottom:74px}.story .eyebrow{margin-bottom:20px}.story-heading{gap:22px}.story-heading h2{font-size:clamp(44px,11.5vw,58px)!important;line-height:1}.story-heading>p{font-size:18px!important;line-height:1.55}.story-grid{margin-top:34px;gap:16px}.story-grid article,.story-grid aside{padding:24px}.story .story-grid article p,.story .story-grid aside p,.story-close>p{font-size:17px!important;line-height:1.6}.story blockquote{font-size:30px!important;line-height:1.07;margin:20px 0 24px}.story-grid aside .story-beat{font-size:20px!important}.story-grid aside .story-capable{font-size:18px!important}.story-close{margin-top:38px}.story .story-quiet{font-size:20px!important;margin:28px 0!important}.story .story-impact{font-size:19px!important;margin:30px 0 8px!important}}

/* Give the route cards a real-world sense of place without compromising their copy. */
.pathways .path-grid article{overflow:hidden;background-color:#11233a!important;background-size:cover!important;background-position:center!important;isolation:isolate}
.pathways .path-grid article:nth-child(1){background-image:linear-gradient(145deg,rgba(8,24,42,.94) 0%,rgba(8,24,42,.79) 60%,rgba(8,24,42,.67) 100%),url('images/real-engineering/construction-site.jpeg')!important;background-position:center 48%!important}
.pathways .path-grid article:nth-child(2){background-image:linear-gradient(145deg,rgba(8,24,42,.94) 0%,rgba(8,24,42,.79) 60%,rgba(8,24,42,.67) 100%),url('images/real-engineering/site-audit.jpeg')!important;background-position:center 48%!important}
.pathways .path-grid article:nth-child(3){background-image:linear-gradient(145deg,rgba(8,24,42,.94) 0%,rgba(8,24,42,.79) 60%,rgba(8,24,42,.67) 100%),url('images/real-engineering/timber-tower.jpeg')!important;background-position:center 42%!important}
.pathways .path-grid article i,.pathways .path-grid .eyebrow,.pathways .path-grid article h3,.pathways .path-grid article p:not(.eyebrow),.pathways .path-grid article a{color:#fff!important;position:relative;z-index:1}
.pathways .path-grid article a{border-bottom-color:#ff8b2a!important}
.pathways .path-grid article:after{z-index:1;color:#ff9d54}
.student-toolkit .path-grid article{overflow:hidden;background-color:#11233a!important;background-size:cover!important;background-position:center!important;isolation:isolate}
.student-toolkit .path-grid article:nth-child(1){background-image:linear-gradient(145deg,rgba(8,24,42,.95),rgba(8,24,42,.67)),url('images/real-engineering/ppe-training.jpeg')!important;background-position:center 44%!important}
.student-toolkit .path-grid article:nth-child(2){background-image:linear-gradient(145deg,rgba(8,24,42,.94),rgba(8,24,42,.68)),url('images/real-engineering/field-structure.jpeg')!important;background-position:center 48%!important}
.student-toolkit .path-grid article:nth-child(3){background-image:linear-gradient(145deg,rgba(8,24,42,.94),rgba(8,24,42,.68)),url('images/real-engineering/surveying-lab.jpeg')!important;background-position:center 48%!important}
.student-toolkit .path-grid article i,.student-toolkit .path-grid .eyebrow,.student-toolkit .path-grid article h3,.student-toolkit .path-grid article p:not(.eyebrow),.student-toolkit .path-grid article a{color:#fff!important;position:relative;z-index:1}
.student-toolkit .path-grid article a{border-bottom-color:#ff8b2a!important}
.student-toolkit .path-grid article:after{z-index:1;color:#ff9d54}
.course-choice-note{grid-template-columns:minmax(290px,.78fr) minmax(0,1.22fr)!important;align-items:stretch;gap:0!important;overflow:hidden;padding:0!important;border:1px solid #9cafb8!important;background:linear-gradient(135deg,#eef3f4 0%,#e4ecee 100%);box-shadow:10px 10px 0 rgba(40,90,133,.10)}
.course-choice-visual{position:relative;display:block;min-width:0;min-height:310px;overflow:hidden;background:#11233a}.course-choice-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,24,43,.12),rgba(7,24,43,.64)),linear-gradient(90deg,rgba(7,24,43,.3),transparent 72%)}.course-choice-visual .eyebrow{position:absolute;z-index:2;left:24px;bottom:22px;margin:0;padding:8px 10px;background:rgba(7,24,43,.84);border-left:3px solid #f47d1f;color:#fff!important;font:10px 'DM Mono',monospace;letter-spacing:1.55px;line-height:1.45}.course-choice-visual figure{position:absolute;inset:0;margin:0;overflow:hidden;border:0;background:#11233a}.course-choice-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.84) contrast(1.03) brightness(.9);transform:scale(1.025);transition:transform .45s ease,filter .45s ease}.course-choice-note:hover .course-choice-visual img{transform:scale(1.07);filter:saturate(.96) contrast(1.02) brightness(.94)}.course-choice-note>div:last-child{display:flex;flex-direction:column;justify-content:center;padding:34px 38px 32px}.course-choice-note h3{font-size:clamp(28px,2.65vw,42px)!important;line-height:1!important}.course-choice-note p:not(.eyebrow){font-size:18px!important;line-height:1.55!important}.course-choice-tags{margin-top:24px!important}.course-choice-tags span{background:rgba(255,255,255,.48);border-color:#91a7b2!important;transition:background .2s ease,color .2s ease}.course-choice-tags span:hover{background:#11233a;color:#fff}
@media(max-width:850px){.pathways .path-grid article,.student-toolkit .path-grid article{background-position:center!important}.course-choice-note{grid-template-columns:1fr!important}.course-choice-visual{min-height:250px}.course-choice-visual .eyebrow{left:20px;bottom:18px}.course-choice-note>div:last-child{padding:27px 22px 25px}.course-choice-note p:not(.eyebrow){font-size:16px!important}.course-choice-tags{margin-top:20px!important}}

/* Course discovery: make the filters read as one compact working surface. */
.catalogue-toolbar{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:18px 26px;align-items:start;padding:24px!important}
.catalogue-toolbar>label{grid-column:1;max-width:none!important}
.catalogue-toolbar .catalogue-filters{grid-column:1;margin:0;align-content:start}
.catalogue-toolbar .entry-filters{grid-column:2;grid-row:1 / span 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin:0}
.catalogue-toolbar .entry-filters label{max-width:none!important}
.catalogue-toolbar .catalogue-filters button{padding:9px 12px}
@media(max-width:920px){.catalogue-toolbar{grid-template-columns:1fr}.catalogue-toolbar>label,.catalogue-toolbar .catalogue-filters,.catalogue-toolbar .entry-filters{grid-column:1;grid-row:auto}.catalogue-toolbar .entry-filters{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2px}}
@media(max-width:560px){.catalogue-toolbar{padding:19px!important}.catalogue-toolbar .entry-filters{grid-template-columns:1fr}.catalogue-toolbar .catalogue-filters{gap:7px}.catalogue-toolbar .catalogue-filters button{padding:8px 10px;font-size:13px}}

/* The course-planning flow should feel like a tool students want to keep using. */
.catalogue-toggle{display:flex!important;align-items:center;justify-content:center;min-width:290px;min-height:58px;margin:24px auto 4px!important;padding:15px 26px!important;border:0!important;background:#f47d1f!important;color:#11233a!important;box-shadow:7px 7px 0 #11233a;font:700 16px 'Space Grotesk','DM Sans',sans-serif!important;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.catalogue-toggle:hover,.catalogue-toggle:focus-visible{transform:translate(-3px,-3px);box-shadow:11px 11px 0 #11233a;background:#ff8d2b!important;outline:3px solid rgba(17,35,58,.28);outline-offset:3px}
.saved-courses,.course-compare,.shortlist-planner{position:relative;overflow:hidden;margin-top:42px!important;padding:32px!important;border:1px solid #9fb4c2!important;box-shadow:10px 10px 0 rgba(17,35,58,.13)!important}
.saved-courses{background:linear-gradient(135deg,#fffdf7 0%,#edf3f1 100%)!important;border-top:5px solid #f47d1f!important}
.course-compare{background:#11233a!important;border-color:#11233a!important;border-top:5px solid #f47d1f!important}
.shortlist-planner{background:linear-gradient(135deg,#e6eef0 0%,#f7f4ee 100%)!important;border-top:5px solid #315b7c!important}
.saved-courses-heading,.course-compare-heading,.shortlist-heading{align-items:start!important}
.saved-courses h3,.shortlist-heading h3{font-size:clamp(30px,3vw,42px)!important;letter-spacing:-.055em}
.course-compare h3{color:#fff!important;font-size:clamp(30px,3vw,42px)!important;letter-spacing:-.055em}
.course-compare .eyebrow{color:#ffad70!important}.course-compare-heading>p{color:#cedae1!important}
.saved-courses-message,.shortlist-message{border-left:4px solid #f47d1f!important;background:rgba(255,255,255,.73)!important}
.course-compare-empty{border-left:4px solid #f47d1f!important;background:#1e3959!important;color:#edf3f5!important}
.saved-course,.draft-course{border-color:#b4c5cc!important;background:rgba(255,255,255,.82)!important;box-shadow:0 3px 0 rgba(17,35,58,.06)}
.saved-course:hover,.draft-course:hover{border-color:#f47d1f!important}
.saved-course-actions button,.draft-remove{border-color:#315b7c!important;background:#fff!important;color:#173d5d!important}
.saved-course-actions button:hover,.saved-course-actions button.is-selected,.draft-remove:hover{border-color:#f47d1f!important;background:#fff0e3!important;color:#ad4b0b!important}
.shortlist-footnote{margin-top:18px!important;padding-top:16px;border-top:1px solid #b9c9cd}
@media(max-width:720px){.catalogue-toggle{width:100%;min-width:0}.saved-courses,.course-compare,.shortlist-planner{margin-top:32px!important;padding:24px 20px!important}}
