/* September 2026 aesthetic refinement: preserve the editorial engineering identity,
   while reducing visual competition and sharpening hierarchy. */
body[data-route]{
  --surface:#fffdf8;
  --blueprint:#b8d3e8;
  --navy:#11233a;
}

/* About — lighter editorial surface; motion remains handled by creator-metrics.js. */
body[data-route=about] #about{background:#f7f4ee}
body[data-route=about] #about .about-grid{
  padding:18px!important;
  border:1px solid #cbd6dc!important;
  border-radius:28px!important;
  background:#eef3f4!important;
  box-shadow:12px 12px 0 rgba(17,35,58,.11)!important;
}
body[data-route=about] #about .portrait.portrait-photo{
  border:1px solid #bdcbd2!important;
  border-radius:18px!important;
  filter:none;
}
body[data-route=about] #about .portrait.portrait-photo img{
  filter:saturate(.88) contrast(1.01) brightness(1.03)!important;
}
body[data-route=about] #about .about-grid>article{
  padding:clamp(32px,4vw,54px)!important;
  border:1px solid #d5dde1!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#11233a!important;
}
body[data-route=about] #about .about-grid>article h3{
  color:#11233a!important;
  font-family:'Fraunces',Georgia,serif!important;
}
body[data-route=about] #about .about-grid>article .tags span{
  border-color:#e5b58f!important;
  background:#fff7f0!important;
  color:#794018!important;
  font-family:'DM Sans',sans-serif!important;
  letter-spacing:.025em!important;
}
body[data-route=about] #about .about-grid>article>p{
  max-width:66ch;
  color:#40546a!important;
  font-family:'DM Sans',sans-serif!important;
  font-size:18px!important;
  font-weight:500!important;
  line-height:1.65!important;
  letter-spacing:-.01em!important;
}
body[data-route=about] #about .about-grid>.creator-metrics{
  border:1px solid #cbd6dc!important;
  border-radius:18px!important;
  background:#fff!important;
}
body[data-route=about] #about .creator-metrics-heading{
  border-color:#d7e0e4!important;
  background:#eef3f4!important;
  color:#11233a!important;
  font-family:'Fraunces',Georgia,serif!important;
}
body[data-route=about] #about .creator-metric{
  border-color:#d7e0e4!important;
  background:#f8faf9!important;
}
body[data-route=about] #about .creator-metric:hover{
  border-color:#f47d1f!important;
  background:#fff8f1!important;
}
body[data-route=about] #about .creator-metric-value{
  color:#11233a!important;
  text-shadow:none!important;
}
body[data-route=about] #about .creator-metric-label{
  color:#ad4e12!important;
}
body[data-route=about] #about .creator-metric-note{
  color:#56697b!important;
}
body[data-route=about] #about .about-grid>.credentials{
  border:1px solid #cbd6dc!important;
  background:#fbfaf6!important;
}
body[data-route=about] #about .credential-grid div{
  border-color:#d4dde1!important;
  background:#fff!important;
}
body[data-route=about] #about .about-grid>blockquote{
  border:1px solid #cbd6dc!important;
  border-left:5px solid #f47d1f!important;
  background:#fff!important;
  color:#11233a!important;
  font-family:'Fraunces',Georgia,serif!important;
  box-shadow:none!important;
}
@media(max-width:650px){
  body[data-route=about] #about .about-grid{padding:10px!important;border-radius:20px!important;box-shadow:7px 7px 0 rgba(17,35,58,.1)!important}
}

/* A quieter, more deliberate masthead. */
body[data-route] .site-header{
  border-bottom-color:rgba(184,211,232,.28);
}
body[data-route=home] .site-header{
  background:linear-gradient(180deg,rgba(5,18,31,.76),rgba(5,18,31,.24) 72%,transparent);
}
body[data-route] .site-header .brand{
  letter-spacing:-.045em;
}
body[data-route] .site-header .brand small{
  letter-spacing:.34em;
  opacity:.82;
}
body[data-route] .site-header .nav-link{
  position:relative;
  letter-spacing:-.02em;
}
body[data-route] .site-header .nav-link:after{
  height:2px;
  bottom:5px;
  background:var(--blueprint);
}

/* Student support — quick routes that read as navigation, not a spare footer. */
body[data-route=student-support] .live-strip{
  display:grid;grid-template-columns:minmax(210px,.78fr) repeat(3,minmax(0,1fr));
  gap:0;padding:0!important;border-top:0;background:#10243c;color:#fff;
}
body[data-route=student-support] .live-strip>p{display:flex;flex-direction:column;justify-content:center;gap:8px;margin:0;padding:27px 32px;border-right:1px solid #ffffff26}
body[data-route=student-support] .live-strip>p span{font:700 10px 'DM Sans',sans-serif;letter-spacing:.16em;color:#f6a064}
body[data-route=student-support] .live-strip>p b{max-width:13ch;font:600 21px/1.12 'Fraunces',Georgia,serif;letter-spacing:-.035em}
body[data-route=student-support] .live-strip>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;min-width:0;padding:25px 25px;border-right:1px solid #ffffff26;color:#fff;text-decoration:none;transition:background .2s ease,color .2s ease}
body[data-route=student-support] .live-strip>a:last-child{border-right:0}
body[data-route=student-support] .live-strip>a:hover{background:#f47d1f;color:#10243c}
body[data-route=student-support] .live-strip>a>i{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff4a;border-radius:50%;font:700 10px 'DM Sans',sans-serif;font-style:normal}
body[data-route=student-support] .live-strip>a>span{font:700 16px/1.25 'DM Sans',sans-serif}
body[data-route=student-support] .live-strip>a small{display:block;margin-top:5px;color:#bfcbd6;font:500 12px/1.35 'DM Sans',sans-serif;letter-spacing:0;text-transform:none}
body[data-route=student-support] .live-strip>a:hover small{color:#10243c}

/* Student toolkit — same photographic weight, cleaner labels and stronger rhythm. */
body[data-route=student-support] .student-toolkit .path-grid{gap:20px}
body[data-route=student-support] .student-toolkit .path-grid article{position:relative;isolation:isolate;overflow:hidden;min-height:530px;padding:38px 36px;border:0;border-radius:22px;box-shadow:0 18px 45px #10243c26;transition:transform .24s ease,box-shadow .24s ease}
body[data-route=student-support] .student-toolkit .path-grid article:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0717271f 0%,#071727d9 78%,#071727f5 100%)}
body[data-route=student-support] .student-toolkit .path-grid article:hover{transform:translateY(-7px);box-shadow:0 25px 55px #10243c38}
body[data-route=student-support] .student-toolkit .path-grid article>i{display:grid;place-items:center;width:54px;height:54px;margin-bottom:auto;border:1px solid #ffffff66;border-radius:50%;background:#ffffff12;color:#fff;font-size:24px;backdrop-filter:blur(8px)}
body[data-route=student-support] .student-toolkit .path-grid article>.toolkit-number{position:absolute;right:28px;top:27px;font:700 12px 'DM Sans',sans-serif;letter-spacing:.12em;color:#fff}
body[data-route=student-support] .student-toolkit .path-grid article .eyebrow{margin:34px 0 15px;color:#f6ae78}
body[data-route=student-support] .student-toolkit .path-grid article h3{max-width:9ch;margin-bottom:20px;font-size:clamp(38px,3vw,51px);line-height:.98}
body[data-route=student-support] .student-toolkit .path-grid article>p:not(.eyebrow){font-size:17px;line-height:1.55;color:#e1e8ee}
body[data-route=student-support] .student-toolkit .path-grid article>a{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding:17px 0;border-top:1px solid #ffffff5c;border-bottom:0;color:#fff}

/* FAQ — split editorial heading and numbered, scannable answers. */
body[data-route=student-support] .faq{overflow:hidden;background:linear-gradient(180deg,#f7f4ed,#edf2f3)}
body[data-route=student-support] .faq-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.55fr);align-items:end;gap:clamp(40px,8vw,120px)}
body[data-route=student-support] .faq-heading h2{margin:0;font-size:clamp(58px,7vw,104px);line-height:.88;letter-spacing:-.07em}
body[data-route=student-support] .faq-heading aside{padding:26px 28px;border-top:4px solid #f47d1f;background:#fff;box-shadow:9px 9px 0 #10243c12}
body[data-route=student-support] .faq-heading aside span{font:800 10px 'DM Sans',sans-serif;letter-spacing:.12em;color:#b84e0b}
body[data-route=student-support] .faq-heading aside p{margin:10px 0 14px;color:#40536a;line-height:1.5}
body[data-route=student-support] .faq-heading aside a{font-weight:800;color:#10243c;text-decoration:none}
body[data-route=student-support] .faq-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:58px}
body[data-route=student-support] .faq-list details{margin:0;border:1px solid #c5d0d5;border-radius:16px;background:#fff;overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
body[data-route=student-support] .faq-list details:hover{transform:translateY(-3px);border-color:#f47d1f;box-shadow:0 12px 28px #10243c12}
body[data-route=student-support] .faq-list summary{display:grid;grid-template-columns:34px 1fr;gap:14px;min-height:100px;padding:25px 58px 25px 25px;font-size:21px;align-items:start}
body[data-route=student-support] .faq-list summary>span{padding-top:4px;font:800 10px 'DM Sans',sans-serif;letter-spacing:.08em;color:#c9540b}
body[data-route=student-support] .faq-list details[open] summary{background:#10243c;color:#fff}
body[data-route=student-support] .faq-list details p{max-width:none;padding:24px 28px 28px 73px;color:#43566c;font-size:16px;line-height:1.65}
@media(max-width:1000px){body[data-route=student-support] .live-strip{grid-template-columns:1fr 1fr}body[data-route=student-support] .live-strip>p{grid-column:1/-1;border-right:0;border-bottom:1px solid #ffffff26}body[data-route=student-support] .live-strip>a:last-child{grid-column:1/-1}body[data-route=student-support] .faq-list{grid-template-columns:1fr}}
@media(max-width:700px){body[data-route=student-support] .live-strip{grid-template-columns:1fr}body[data-route=student-support] .live-strip>p,body[data-route=student-support] .live-strip>a,body[data-route=student-support] .live-strip>a:last-child{grid-column:1;border-right:0;border-bottom:1px solid #ffffff26}body[data-route=student-support] .student-toolkit .path-grid article{min-height:450px;padding:28px 25px}body[data-route=student-support] .faq-heading{grid-template-columns:1fr;gap:30px}body[data-route=student-support] .faq-heading h2{font-size:clamp(50px,15vw,72px)}body[data-route=student-support] .faq-list summary{min-height:0;padding:22px 52px 22px 20px;font-size:19px}body[data-route=student-support] .faq-list details p{padding:20px 22px 24px 68px}}

/* Treat the opening copy as a composed editorial plate, not a floating box. */
@media(min-width:851px){
  body[data-route=home] .hero.hero-cover{
    padding-left:clamp(38px,6vw,92px);
  }
  body[data-route=home] .hero.hero-cover .hero-copy{
    max-width:min(500px,40vw);
    padding:38px 40px 36px;
    border:1px solid rgba(184,211,232,.24);
    border-top:3px solid var(--blueprint);
    background:linear-gradient(145deg,rgba(13,31,51,.97),rgba(7,20,35,.93));
    box-shadow:12px 14px 0 rgba(5,18,31,.2);
  }
  body[data-route=home] .hero.hero-cover h1{
    font-size:clamp(56px,5vw,78px);
    line-height:.93;
    letter-spacing:-.068em;
  }
}
body[data-route=home] .hero.hero-cover .lede{
  max-width:29rem;
  line-height:1.52;
}
body[data-route=home] .hero.hero-cover .actions{
  gap:10px;
}
body[data-route=home] .hero.hero-cover .button{
  min-height:52px;
  padding-inline:19px;
}
body[data-route=home] .hero.hero-cover .button:not(.dark){
  background:rgba(184,211,232,.07);
}
body[data-route=home] .hero.hero-cover .hero-note{
  padding-top:17px;
  border-top:1px solid rgba(184,211,232,.24);
}

/* Let the real photographs carry the page without heavy framing. */
body[data-route=home] .real-work-grid{
  gap:14px;
}
body[data-route=home] .real-work-card{
  border-color:rgba(184,211,232,.28);
  box-shadow:0 12px 34px rgba(3,16,29,.16);
}
body[data-route=home] .real-work-card figcaption{
  padding:22px 22px 20px;
}
body[data-route=home] .real-work-card figcaption strong{
  max-width:24ch;
  line-height:1.25;
}

/* Keep supporting cards crisp and consistent rather than overly decorated. */
body[data-route] .path-grid{
  border:0;
  background:transparent;
}
body[data-route] .path-grid article{
  border:1px solid rgba(184,211,232,.22)!important;
  box-shadow:0 14px 34px rgba(5,18,31,.12);
}
body[data-route] .path-grid article a{
  padding-bottom:5px;
}

@media(max-width:850px){
  body[data-route=home] .hero.hero-cover .hero-copy{
    width:calc(100% - 28px);
    margin:-18px 14px 0;
    padding:29px 23px 27px;
    border-top:3px solid var(--blueprint);
    background:linear-gradient(145deg,#122842,#0a1b2f);
  }
  body[data-route=home] .hero.hero-cover .hero-copy h1{
    line-height:.95;
    letter-spacing:-.065em;
  }
  body[data-route=home] .hero.hero-cover .actions{
    max-width:none;
  }
  body[data-route=home] .real-work-grid{
    gap:12px;
  }
}

@media(max-width:480px){
  body[data-route=home] .hero.hero-cover .hero-copy{
    padding:25px 18px 24px;
  }
  body[data-route=home] .hero.hero-cover .actions{
    display:grid;
    grid-template-columns:1fr;
  }
}

/* Course planning workspace ------------------------------------------------ */
body[data-route=engineering] :is(.saved-courses,.course-compare,.shortlist-planner){
  position:relative;
  margin-top:28px!important;
  padding:clamp(26px,3.4vw,48px)!important;
  overflow:hidden;
  border:1px solid #9db0bd!important;
  box-shadow:8px 10px 0 rgba(17,35,58,.09)!important;
}
body[data-route=engineering] :is(.saved-courses-heading,.course-compare-heading,.shortlist-heading){
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  gap:28px 64px;
  align-items:end;
  padding-bottom:28px;
  border-bottom:1px solid rgba(113,139,157,.34);
}
body[data-route=engineering] :is(.saved-courses,.course-compare,.shortlist-planner) .eyebrow{
  margin:0 0 12px;
  color:#315b7c;
  font-weight:500;
}
body[data-route=engineering] :is(.saved-courses,.course-compare,.shortlist-planner) h3{
  max-width:18ch;
  margin:0;
  font:600 clamp(32px,3.2vw,48px)/1.02 'Fraunces',Georgia,serif;
  letter-spacing:-.052em;
}
body[data-route=engineering] :is(.saved-courses-heading,.course-compare-heading,.shortlist-heading)>p{
  max-width:39ch;
  font-size:15px;
  line-height:1.6;
}

/* Saved courses: compact research cards instead of long white strips. */
body[data-route=engineering] .saved-courses{
  background:linear-gradient(145deg,#fbf9f2,#eef3f2)!important;
  border-top:5px solid #315b7c!important;
}
body[data-route=engineering] .saved-courses-message{
  position:relative;
  margin:24px 0 0;
  padding:16px 18px 16px 46px;
  border:0;
  background:#fffdf9;
  box-shadow:inset 4px 0 0 #f47d1f;
  font-size:14px;
}
body[data-route=engineering] .saved-courses-message:before{
  content:'+';
  position:absolute;
  margin-left:-27px;
  color:#d75f12;
  font:600 20px/1 'DM Mono',monospace;
}
body[data-route=engineering] .saved-courses-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
body[data-route=engineering] .saved-course{
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-content:start;
  gap:14px 16px!important;
  min-height:260px;
  margin:0!important;
  padding:22px!important;
  border:1px solid #b3c4ca!important;
  border-top:3px solid #315b7c!important;
  background:#fffdf8!important;
  box-shadow:0 8px 22px rgba(17,35,58,.06);
}
body[data-route=engineering] .saved-course-number{
  display:grid;
  width:40px;
  height:40px;
  place-items:center;
  border:1px solid #9db0bd;
  color:#315b7c;
  font:500 11px 'DM Mono',monospace;
}
body[data-route=engineering] .saved-course h4{font-size:22px!important;line-height:1.12!important}
body[data-route=engineering] .saved-course p{font-size:13px!important;line-height:1.5!important}
body[data-route=engineering] .saved-course-actions{
  grid-column:1/-1;
  display:flex;
  align-self:end;
  align-items:center;
  gap:8px;
  margin-top:auto;
  padding-top:16px;
  border-top:1px solid #d9e1df;
}
body[data-route=engineering] .saved-course-actions :is(button,a){
  display:inline-flex;
  min-height:40px;
  align-items:center;
  padding:0 11px;
  border:1px solid #9fb1bc;
  background:#fff;
  color:#244a68;
  font:600 12px 'DM Sans',sans-serif;
  text-decoration:none;
}
body[data-route=engineering] .saved-course-actions button[data-action=compare]{
  border-color:#315b7c;
  background:#315b7c;
  color:#fff;
}
body[data-route=engineering] .saved-course-actions button[data-action=remove]{
  margin-left:auto;
  border-color:transparent;
  background:transparent;
  color:#9a4c1d;
}

/* Carry the catalogue's navy-and-gold featured language through the workflow. */
body[data-route=engineering] .workflow-featured-badge{
  display:inline-flex;
  width:max-content;
  align-items:center;
  gap:6px;
  margin:0 0 10px;
  padding:5px 8px;
  border:1px solid #cbb277;
  color:#7c5c13;
  font:500 9px/1.25 'DM Mono',monospace;
  letter-spacing:.11em;
}
body[data-route=engineering] .saved-course.is-featured{
  border-color:#cbb277!important;
  border-top-color:#cbb277!important;
  background:radial-gradient(circle at 88% 10%,rgba(203,178,119,.18),transparent 28%),linear-gradient(145deg,#172d48,#0b1728 78%)!important;
  box-shadow:9px 11px 0 rgba(8,17,30,.2)!important;
}
body[data-route=engineering] .saved-course.is-featured:after{
  content:'✦';
  position:absolute;
  right:18px;
  bottom:76px;
  color:rgba(203,178,119,.16);
  font:44px/1 Georgia,serif;
  pointer-events:none;
}
body[data-route=engineering] .saved-course.is-featured .saved-course-number{border-color:#cbb277;color:#ead8a9}
body[data-route=engineering] .saved-course.is-featured .workflow-featured-badge{color:#ead8a9}
body[data-route=engineering] .saved-course.is-featured :is(h4,p,small){position:relative;z-index:1;color:#edf2f3!important}
body[data-route=engineering] .saved-course.is-featured .saved-course-actions{border-top-color:rgba(203,178,119,.35)}
body[data-route=engineering] .saved-course.is-featured .saved-course-actions :is(button,a){border-color:rgba(203,178,119,.62);background:rgba(255,255,255,.06);color:#fffdf6}
body[data-route=engineering] .saved-course.is-featured .saved-course-actions button[data-action=compare]{background:#cbb277;color:#142238}
body[data-route=engineering] .saved-course.is-featured .saved-course-actions button[data-action=remove]{border-color:transparent;color:#efcfa9}

/* Comparison: a dark technical canvas with three obvious selection bays. */
body[data-route=engineering] .course-compare{
  background:linear-gradient(145deg,#112a45,#0b1d32)!important;
  border-color:#112a45!important;
  border-top:5px solid #f47d1f!important;
  color:#fff;
}
body[data-route=engineering] .course-compare :is(.course-compare-heading h3,.course-compare-heading>p){color:#fff!important}
body[data-route=engineering] .course-compare .eyebrow{color:#ffad70!important}
body[data-route=engineering] .course-compare-heading{border-bottom-color:rgba(184,211,232,.22)}
body[data-route=engineering] .course-compare-empty{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:24px 0 0;
  padding:0;
  border:0;
  background:transparent;
}
body[data-route=engineering] .compare-slot{
  display:grid;
  min-height:118px;
  align-content:space-between;
  padding:18px;
  border:1px dashed rgba(184,211,232,.48);
  background:rgba(184,211,232,.06);
  color:#dbe8ee;
}
body[data-route=engineering] .compare-slot b{color:#ffad70;font:500 11px 'DM Mono',monospace;letter-spacing:.12em}
body[data-route=engineering] .compare-slot span{font:500 15px/1.35 'DM Sans',sans-serif}
body[data-route=engineering] .compare-slot.is-optional{opacity:.65}
body[data-route=engineering] .compare-slot.is-filled{border-style:solid;border-color:#f47d1f;background:rgba(244,125,31,.1)}
body[data-route=engineering] .course-compare-wrap{
  margin-top:24px;
  border:1px solid rgba(184,211,232,.38);
  box-shadow:0 16px 34px rgba(0,0,0,.18);
}
body[data-route=engineering] .course-compare-table{width:100%;table-layout:fixed}
body[data-route=engineering] .comparison-label-column{width:15%}
body[data-route=engineering] .comparison-course-column{width:auto}
body[data-route=engineering] .course-compare-table th{width:auto!important}
body[data-route=engineering] .course-compare-table td{overflow-wrap:anywhere}
body[data-route=engineering] .course-compare-table th{background:#e9f0f1!important}
body[data-route=engineering] .course-compare-table tr:first-child td{background:#f8f5eb;padding-top:20px;padding-bottom:20px}
body[data-route=engineering] .course-compare-course{position:relative;padding-right:52px!important}
body[data-route=engineering] .course-compare-course b{font:600 18px/1.2 'Fraunces',Georgia,serif!important;overflow-wrap:normal;word-break:normal}
body[data-route=engineering] .course-compare-remove{position:absolute;top:18px;right:14px;float:none;width:32px;height:32px}
body[data-route=engineering] .course-compare-course.is-featured{
  background:linear-gradient(145deg,#172d48,#0b1728)!important;
  color:#fffdf6!important;
  box-shadow:inset 0 4px 0 #cbb277;
}
body[data-route=engineering] .course-compare-course.is-featured .workflow-featured-badge{color:#ead8a9}
body[data-route=engineering] .course-compare-course.is-featured :is(b,small){color:#fffdf6!important}
body[data-route=engineering] .course-compare-table td.is-featured-column{background:#fffaf0}

/* Five-choice planner: show the constraint, even before a course is added. */
body[data-route=engineering] .shortlist-planner{
  background:linear-gradient(145deg,#f8f5eb,#e7eef0)!important;
  border-top:5px solid #315b7c!important;
}
body[data-route=engineering] .shortlist-message{
  display:grid;
  grid-template-columns:auto minmax(180px,360px);
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin:24px 0 0;
  padding:0;
  border:0;
  background:transparent;
  color:#315b7c;
  font:500 11px 'DM Mono',monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body[data-route=engineering] .shortlist-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
body[data-route=engineering] .shortlist-progress i{height:7px;background:#c7d3d6}
body[data-route=engineering] .shortlist-progress i.is-filled{background:#f47d1f}
body[data-route=engineering] .shortlist-empty-state{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-top:18px;
}
body[data-route=engineering] .shortlist-slot{
  display:grid;
  min-height:112px;
  align-content:space-between;
  padding:15px;
  border:1px dashed #a8bac1;
  background:rgba(255,255,255,.42);
  color:#637a8b;
}
body[data-route=engineering] .shortlist-slot b{color:#315b7c;font:500 11px 'DM Mono',monospace}
body[data-route=engineering] .shortlist-slot span{font:500 13px/1.35 'DM Sans',sans-serif}
body[data-route=engineering] .shortlist-rows:not(:has(.shortlist-empty-state)){
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}
body[data-route=engineering] .draft-course{
  margin:0;
  padding:22px;
  border:1px solid #adbec5;
  border-top:3px solid #f47d1f;
  background:#fffdf8;
  box-shadow:0 8px 22px rgba(17,35,58,.06);
}
body[data-route=engineering] .draft-position{
  display:block;
  margin-bottom:8px;
  color:#c55b17;
  font:500 10px 'DM Mono',monospace;
  letter-spacing:.12em;
}
body[data-route=engineering] .draft-course h4{font-size:21px!important;line-height:1.15!important}
body[data-route=engineering] .draft-fields{grid-template-columns:1fr!important}
body[data-route=engineering] .draft-remove{border:0!important;background:transparent!important;color:#9a4c1d!important}
body[data-route=engineering] .shortlist-footnote{padding-top:18px;border-top:1px solid #b9c9cd}

/* Intention language: symbols and colour explain the role of each choice. */
body[data-route=engineering] .draft-course-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:start;
}
body[data-route=engineering] .intention-mark{
  display:grid;
  width:38px;
  height:38px;
  place-items:center;
  border:1px solid #aebdc3;
  background:#edf1ee;
  color:#637585;
  font:600 18px/1 'DM Sans',sans-serif;
}
body[data-route=engineering] .choice-select{
  min-height:48px;
  border-width:1px 1px 1px 5px!important;
  font-weight:700!important;
}
body[data-route=engineering] .choice-meaning{
  display:flex;
  gap:8px;
  align-items:flex-start;
  margin-top:9px;
  color:#5c6f7d;
  font:500 12px/1.45 'DM Sans',sans-serif;
  letter-spacing:0;
  text-transform:none;
}
body[data-route=engineering] .choice-meaning b{min-width:14px;text-align:center;font-size:13px}

body[data-route=engineering] .draft-course.intent-firm{border-top-color:#e29a18;background:linear-gradient(145deg,#fffdf8,#fff7df)}
body[data-route=engineering] .intent-firm .intention-mark{border-color:#e0a02a;background:#fff0b9;color:#915300}
body[data-route=engineering] select.intent-firm{border-color:#e0a02a!important;background:#fff8df!important;color:#754600!important}
body[data-route=engineering] .intent-firm .choice-meaning b{color:#b46a00}

body[data-route=engineering] .draft-course.intent-insurance{border-top-color:#4a91bb;background:linear-gradient(145deg,#fffdf8,#edf7fb)}
body[data-route=engineering] .intent-insurance .intention-mark{border-color:#70a9c8;background:#dceff8;color:#225d7e}
body[data-route=engineering] select.intent-insurance{border-color:#5c9fc3!important;background:#eef8fc!important;color:#20536d!important}
body[data-route=engineering] .intent-insurance .choice-meaning b{color:#347fa7}

body[data-route=engineering] .draft-course.intent-backup{border-top-color:#6c8a76;background:linear-gradient(145deg,#fffdf8,#eff5ef)}
body[data-route=engineering] .intent-backup .intention-mark{border-color:#809b88;background:#e4eee5;color:#3e6549}
body[data-route=engineering] select.intent-backup{border-color:#789482!important;background:#f0f6f0!important;color:#385b42!important}
body[data-route=engineering] .intent-backup .choice-meaning b{color:#52785d}

body[data-route=engineering] .draft-course.intent-other{border-top-color:#776b91}
body[data-route=engineering] .intent-other .intention-mark{border-color:#9285a8;background:#eeeaf4;color:#5c5074}
body[data-route=engineering] select.intent-other{border-color:#8e82a2!important;background:#f5f2f8!important;color:#544a68!important}
body[data-route=engineering] .intent-other .choice-meaning b{color:#6f6287}

body[data-route=engineering] .draft-course.intent-undecided{border-top-color:#9cabb1}
body[data-route=engineering] select.intent-undecided{border-color:#a8b7bd!important;background:#fff!important;color:#445966!important}

/* In the draft, featured provenance is secondary to the student's intention. */
body[data-route=engineering] .draft-course.is-featured{
  border-right-color:#cbb277;
  border-bottom-color:#cbb277;
  border-left-color:#cbb277;
  box-shadow:8px 10px 0 rgba(203,178,119,.13);
}
body[data-route=engineering] .draft-course.is-featured .workflow-featured-badge{
  margin:0 0 9px;
  color:#76560e;
  background:#fff8e5;
}

/* Complete requirement content, with only the currentness warning compressed. */
body[data-route=engineering] .subject-condition{padding:14px 15px;background:#f2f4f1;color:#526477}
body[data-route=engineering] .subject-condition>b{color:#58748a!important}
body[data-route=engineering] .subject-condition p{display:block;overflow:visible;margin:0;color:#344f63!important;font-size:14px;line-height:1.5;-webkit-line-clamp:unset}
body[data-route=engineering] .subject-condition small{display:flex;align-items:center;gap:9px;margin-top:12px;padding:9px 11px;border:1px solid #c9d6d7;border-left:3px solid #f47d1f;background:#fff;color:#536d7e!important;font:600 11px/1.35 'DM Sans',sans-serif;letter-spacing:0}
body[data-route=engineering] .subject-condition small:before{content:'↗';display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:50%;background:#fff0e4;color:#bd520d;font:700 13px/1 'DM Sans',sans-serif}
body[data-route=engineering] .catalogue-card-featured .subject-condition{border-color:#d9c993;background:#f7f4e9}
body[data-route=engineering] .catalogue-card-featured .subject-condition>b{color:#8a6a1f!important}
body[data-route=engineering] .catalogue-card-featured .subject-condition p{color:#233f55!important}
body[data-route=engineering] .catalogue-card-featured .subject-condition small{border-color:#d8c98f;border-left-color:#f47d1f;background:#fffdf6;color:#405d70!important}
body[data-route=engineering] .featured-university-filter small{display:block;margin-top:9px;padding:9px 11px;border:1px solid #dfd3ac;border-left:3px solid #c29c42;background:linear-gradient(90deg,#f6f0dd,#fbf8ee);color:#536d7e;font:500 12px/1.45 'DM Sans',sans-serif;letter-spacing:0;text-transform:none}
body[data-route=engineering] .featured-university-filter small b{color:#725718;font-weight:700}
body[data-route=engineering] .catalogue-toolbar-footer{display:flex;align-self:stretch;align-items:stretch;justify-content:flex-end;flex-direction:column;gap:9px;margin:0;padding:0;border:0}
body[data-route=engineering] .catalogue-toolbar-footer>span{color:#60788a;font:500 12px/1.4 'DM Sans',sans-serif}
body[data-route=engineering] .catalogue-reset{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;margin:0;padding:0 8px 0 16px;border:1px solid #142238;background:#142238;color:#fff;font:700 13px/1 'DM Sans',sans-serif;cursor:pointer;box-shadow:4px 4px 0 #f47d1f;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
body[data-route=engineering] .catalogue-reset:after{content:'↺';display:grid;width:28px;height:28px;place-items:center;background:#f47d1f;color:#142238;font:800 17px/1 Arial,sans-serif}
body[data-route=engineering] .catalogue-reset:not(:disabled):hover{transform:translate(-2px,-2px);background:#1b3453;box-shadow:6px 6px 0 #f47d1f}
body[data-route=engineering] .catalogue-reset:focus-visible{outline:3px solid rgba(244,125,31,.4);outline-offset:3px}
body[data-route=engineering] .catalogue-reset:disabled{border-color:#cbd4d6;background:#f2f4f1;color:#7c8c94;box-shadow:none;cursor:default}
body[data-route=engineering] .catalogue-reset:disabled:after{background:#d9dfdf;color:#839098}
body[data-route=engineering] .verification-line{position:relative;display:grid;gap:3px;margin:10px 0 0;padding:10px 12px 10px 34px;border:1px solid #d5dfdc;background:#f4f6f4;color:#607180}
body[data-route=engineering] .verification-line:before{content:'';position:absolute;left:14px;top:15px;width:8px;height:8px;border-radius:50%;background:#7897a7;box-shadow:0 0 0 3px rgba(120,151,167,.12)}
body[data-route=engineering] .verification-line span{padding:0;border:0;background:transparent;color:#315b7c;font:700 11px/1.25 'DM Sans',sans-serif;letter-spacing:0;text-transform:none}
body[data-route=engineering] .verification-line span:after{content:none}
body[data-route=engineering] .verification-line p{margin:0;color:#687b89;font:500 12px/1.4 'DM Sans',sans-serif}
body[data-route=engineering] .verification-line.needs-review{border-color:#e2c3aa;background:#fff8f1}
body[data-route=engineering] .verification-line.needs-review:before{background:#e07125;box-shadow:0 0 0 3px rgba(224,113,37,.13)}
body[data-route=engineering] .verification-line.needs-review span{color:#a94b0d}
body[data-route=engineering] .verification-line.is-current:before{background:#4e8569;box-shadow:0 0 0 3px rgba(78,133,105,.13)}
body[data-route=engineering] .verification-line.is-current span{color:#386b51}

body[data-route=engineering] .finder-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:13px 14px;border:1px solid #b8c6cc;border-left:4px solid #8ca2af;background:#eef2f1;transition:border-color .18s ease,background .18s ease}
body[data-route=engineering] .finder-selection-bar.is-ready{border-left-color:#f47d1f;background:#fff8ef}
body[data-route=engineering] .finder-selection-bar>div{display:grid;gap:4px}
body[data-route=engineering] .finder-selection-bar span{color:#58748a;font:500 10px/1 'DM Mono',monospace;letter-spacing:.12em}
body[data-route=engineering] .finder-selection-bar strong{color:#213d54;font:700 14px/1.3 'DM Sans',sans-serif}
body[data-route=engineering] .finder-selection-bar button{display:inline-flex;align-items:center;gap:10px;min-height:38px;padding:0 7px 0 12px;border:1px solid #315b7c;background:#fff;color:#173d5b;font:700 12px/1 'DM Sans',sans-serif;cursor:pointer}
body[data-route=engineering] .finder-selection-bar button b{display:grid;width:25px;height:25px;place-items:center;background:#f47d1f;color:#142238;font-size:15px}
body[data-route=engineering] .finder-selection-bar button:not(:disabled):hover{background:#142238;color:#fff}
body[data-route=engineering] .finder-selection-bar button:focus-visible{outline:3px solid rgba(244,125,31,.4);outline-offset:2px}
body[data-route=engineering] .finder-selection-bar button:disabled{border-color:#ccd5d7;background:transparent;color:#8a979e;cursor:default}
body[data-route=engineering] .finder-selection-bar button:disabled b{background:#d9dfdf;color:#8a979e}
@media(max-width:560px){body[data-route=engineering] .finder-selection-bar{align-items:stretch;flex-direction:column}body[data-route=engineering] .finder-selection-bar button{justify-content:space-between;width:100%}}
body[data-route=engineering] .finder-conversation-hint{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:center;margin:18px 0 8px;padding:15px 16px;border:1px solid rgba(255,255,255,.2);border-left:3px solid #f47d1f;background:#1a3452;color:#fff}
body[data-route=engineering] .finder-conversation-icon{position:relative;display:grid;width:44px;height:44px;place-items:center;background:#f47d1f;color:#11233a;box-shadow:4px 4px 0 rgba(3,13,25,.28)}
body[data-route=engineering] .finder-conversation-icon svg{width:31px;height:29px}
body[data-route=engineering] .finder-conversation-hint b{display:block;margin-bottom:3px;color:#fff;font:700 15px/1.25 'DM Sans',sans-serif}
body[data-route=engineering] .finder-conversation-hint p{margin:0;color:#cad8e2;font:500 13px/1.45 'DM Sans',sans-serif}
@media(max-width:520px){body[data-route=engineering] .finder-conversation-hint{grid-template-columns:40px minmax(0,1fr);padding:13px}body[data-route=engineering] .finder-conversation-icon{width:38px;height:38px}body[data-route=engineering] .finder-conversation-icon svg{width:27px;height:25px}}
body[data-route=engineering] .chips .finder-other-choice{border-style:dashed;border-color:#718898;background:#f7f4ed;color:#315b7c;font-weight:700}
body[data-route=engineering] .chips .finder-other-choice:hover{border-color:#f47d1f;background:#fff5e9;color:#a94b0d}
body[data-route=engineering] .chips .finder-other-choice.selected{border-style:solid;border-color:#f47d1f;background:#142238;color:#fff;box-shadow:3px 3px 0 #f47d1f}
body[data-route=engineering] .finder-other-field{display:grid;gap:7px;margin-top:12px;padding:13px 14px;border:1px solid #becbd0;border-left:3px solid #f47d1f;background:#fff}
body[data-route=engineering] .finder-other-field[hidden]{display:none}
body[data-route=engineering] .finder-other-field>span{color:#315b7c;font:500 10px/1 'DM Mono',monospace;letter-spacing:.12em;text-transform:uppercase}
body[data-route=engineering] .finder-other-field input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #8199a8;background:#f9faf7;color:#142238;font:500 15px/1.35 'DM Sans',sans-serif}
body[data-route=engineering] .finder-other-field input:focus{outline:3px solid rgba(244,125,31,.35);outline-offset:2px;border-color:#f47d1f}
body[data-route=engineering] .finder-other-field small{color:#667b89;font:500 12px/1.4 'DM Sans',sans-serif}

/* Present the paid review as one coherent premium service, not two generic cards. */
body[data-route=engineering] .services{position:relative;overflow:hidden;background:linear-gradient(145deg,#f4f1e8 0%,#eef2f2 100%)}
body[data-route=engineering] .services:before{content:'REVIEW / REFINE / SUBMIT';position:absolute;right:clamp(24px,5vw,90px);top:52px;color:#b8c8cf;font:500 10px/1 'DM Mono',monospace;letter-spacing:.18em}
body[data-route=engineering] .services>h2{max-width:11ch;margin-bottom:22px;color:#11233a}
body[data-route=engineering] .services>.intro{max-width:760px;margin:0;color:#41566a;font-size:19px;line-height:1.55}
body[data-route=engineering] .services .service-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:0;margin-top:48px;border:1px solid #203f5c;background:#fff;box-shadow:12px 12px 0 rgba(17,35,58,.14)}
body[data-route=engineering] .services .service-grid>article{position:relative;padding:clamp(28px,4vw,48px)!important;border:0!important;border-top:5px solid #f47d1f!important;background:#11233a!important;color:#fff;box-shadow:none!important}
body[data-route=engineering] .services .service-grid>article:before{content:'APPLICATION REVIEW';display:block;margin-bottom:18px;color:#f6aa70;font:500 11px/1 'DM Mono',monospace;letter-spacing:.15em}
body[data-route=engineering] .services .price{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0;padding:0 0 25px!important;border-bottom:1px solid rgba(255,255,255,.2);color:#fff;font-size:clamp(58px,6vw,88px);line-height:.82;letter-spacing:-.055em}
body[data-route=engineering] .services .price span{max-width:230px;margin:0;padding:8px 10px;border:1px solid rgba(246,170,112,.5);background:rgba(244,125,31,.08);color:#f6c29c;font:500 10px/1.45 'DM Mono',monospace;letter-spacing:.1em;text-align:right}
body[data-route=engineering] .services .service-grid ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0 28px;padding:0;list-style:none}
body[data-route=engineering] .services .service-grid li{position:relative;margin:0;padding:14px 14px 14px 43px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.045);color:#e5edf1;font-size:14px;line-height:1.45}
body[data-route=engineering] .services .service-grid li:before{content:'✓';position:absolute;left:14px;top:14px;display:grid;width:20px;height:20px;place-items:center;background:#f47d1f;color:#11233a;font:800 12px/1 Arial,sans-serif}
body[data-route=engineering] .services .orange-btn{display:flex;width:100%;min-height:58px;align-items:center;justify-content:space-between;margin:0;padding:0 18px;border:1px solid #f47d1f;background:#f47d1f;color:#11233a;font-size:16px;box-shadow:5px 5px 0 rgba(0,0,0,.28);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
body[data-route=engineering] .services .orange-btn:hover{transform:translate(-2px,-2px);background:#ff9445;box-shadow:7px 7px 0 rgba(0,0,0,.3)}
body[data-route=engineering] .services .service-grid article>small{display:block;margin:15px 0 0;color:#aebeca;font:500 10px/1.4 'DM Mono',monospace;letter-spacing:.12em;text-align:center}
body[data-route=engineering] .services .service-grid>aside{padding:clamp(28px,3.5vw,42px)!important;border:0!important;border-left:1px solid #b9c7cd!important;background:#f8f5eb!important;box-shadow:none!important}
body[data-route=engineering] .services .service-grid>aside>.eyebrow{margin:0 0 18px;padding-bottom:15px;border-bottom:1px solid #cbd4d5;color:#9d4a13;font-size:10px;letter-spacing:.14em}
body[data-route=engineering] .services .service-grid aside h3{margin:0 0 14px;color:#11233a;font-size:clamp(28px,3vw,39px);line-height:1.03;letter-spacing:-.04em}
body[data-route=engineering] .services .service-grid aside>p:not(.eyebrow){margin:0;color:#52677a;font-size:15px;line-height:1.55}
body[data-route=engineering] .services .mini-list{display:grid;gap:8px;margin-top:28px;counter-reset:review-step}
body[data-route=engineering] .services .mini-list span{position:relative;display:grid;min-height:61px;align-items:center;margin:0;padding:12px 12px 12px 48px;border:1px solid #c8d2d3;background:#fff;color:#26445d;font:700 13px/1.35 'DM Sans',sans-serif;letter-spacing:0}
body[data-route=engineering] .services .mini-list span:before{content:'';position:absolute;left:15px;width:20px;height:2px;background:#f47d1f}
@media(max-width:880px){body[data-route=engineering] .services .service-grid{grid-template-columns:1fr}body[data-route=engineering] .services .service-grid>aside{border-top:1px solid #b9c7cd!important;border-left:0!important}}
@media(max-width:560px){body[data-route=engineering] .services:before{display:none}body[data-route=engineering] .services .price{align-items:start;flex-direction:column}body[data-route=engineering] .services .price span{max-width:none;text-align:left}body[data-route=engineering] .services .service-grid ul{grid-template-columns:1fr}body[data-route=engineering] .services .service-grid{box-shadow:7px 7px 0 rgba(17,35,58,.14)}}

/* Homepage service treatment: deliberately unscoped because the homepage has no route attribute. */
.services{position:relative;overflow:hidden;background:linear-gradient(145deg,#f4f1e8 0%,#eef2f2 100%)!important}
.services:before{content:'HONEST FEEDBACK / NO WAFFLE';position:absolute;right:clamp(24px,5vw,90px);top:52px;color:#9eb2bd;font:500 10px/1 'DM Mono',monospace;letter-spacing:.18em}
.services>h2{max-width:11ch;margin-bottom:22px;color:#11233a}
.services>.intro{max-width:760px;margin:0;color:#344d62!important;font-size:19px!important;line-height:1.55!important}
.services .service-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)!important;gap:0!important;margin-top:48px!important;border:1px solid #203f5c!important;background:#fff;box-shadow:12px 12px 0 rgba(17,35,58,.14)!important}
.services .service-grid>article{position:relative;padding:clamp(28px,4vw,48px)!important;border:0!important;border-top:5px solid #f47d1f!important;background:#11233a!important;color:#fff;box-shadow:none!important}
.services .service-grid>article:before{content:'YOUR APPLICATION · MY HONEST READ';display:block;margin-bottom:18px;color:#f6aa70;font:500 11px/1 'DM Mono',monospace;letter-spacing:.15em}
.services .price{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0;padding:0 0 25px!important;border-bottom:1px solid rgba(255,255,255,.2);color:#fff!important;font-size:clamp(58px,6vw,88px)!important;line-height:.82!important;letter-spacing:-.055em!important}
.services .price span{max-width:230px;margin:0!important;padding:8px 10px;border:1px solid rgba(246,170,112,.5);background:rgba(244,125,31,.08);color:#f6c29c!important;font:500 10px/1.45 'DM Mono',monospace!important;letter-spacing:.1em!important;text-align:right}
.services .service-grid ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0 28px;padding:0;list-style:none}
.services .service-grid li{position:relative;margin:0!important;padding:14px 14px 14px 43px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.045);color:#e5edf1!important;font-size:14px!important;line-height:1.45!important}
.services .service-grid li:before{content:'✓';position:absolute;left:14px;top:14px;display:grid;width:20px;height:20px;place-items:center;background:#f47d1f;color:#11233a;font:800 12px/1 Arial,sans-serif}
.services .orange-btn{display:flex;width:100%;min-height:58px;align-items:center;justify-content:space-between;margin:0!important;padding:0 18px;border:1px solid #f47d1f!important;background:#f47d1f!important;color:#11233a!important;font-size:16px!important;box-shadow:5px 5px 0 rgba(0,0,0,.28);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.services .orange-btn:hover{transform:translate(-2px,-2px);background:#ff9445!important;box-shadow:7px 7px 0 rgba(0,0,0,.3)}
.services .service-grid article>small{display:block;margin:15px 0 0!important;color:#aebeca!important;font:500 10px/1.4 'DM Mono',monospace!important;letter-spacing:.12em!important;text-align:center}
.services .review-ownership-note,.services .review-scope-note{margin:16px 0 0;padding:13px 15px;border-left:3px solid #f47d1f;background:rgba(255,255,255,.06);color:#cad7df!important;font:500 13px/1.5 'DM Sans',sans-serif!important}
.services .review-scope-note{margin-top:8px;border-left-color:#6f8ba0;background:rgba(255,255,255,.035)}
.services .review-scope-note strong{color:#fff}
.services .service-grid>aside{padding:clamp(28px,3.5vw,42px)!important;border:0!important;border-left:1px solid #b9c7cd!important;background:#f8f5eb!important;box-shadow:none!important}
.services .service-grid>aside>.eyebrow{margin:0 0 18px;padding-bottom:15px;border-bottom:1px solid #cbd4d5;color:#9d4a13!important;font-size:10px!important;letter-spacing:.14em!important}
.services .service-grid aside h3{margin:0 0 14px;color:#11233a;font-size:clamp(28px,3vw,39px)!important;line-height:1.03!important;letter-spacing:-.04em!important}
.services .service-grid aside>p:not(.eyebrow){margin:0;color:#52677a!important;font-size:15px!important;line-height:1.55!important}
.services .mini-list{display:grid;gap:8px;margin-top:28px}
.services .mini-list span{position:relative;display:grid;min-height:61px;align-items:center;margin:0;padding:12px 12px 12px 48px;border:1px solid #c8d2d3;background:#fff;color:#26445d;font:700 13px/1.35 'DM Sans',sans-serif;letter-spacing:0}
.services .mini-list span:before{content:'';position:absolute;left:15px;width:20px;height:2px;background:#f47d1f}
@media(prefers-reduced-motion:no-preference){.services .service-grid>article,.services .service-grid>aside{opacity:1;transform:none;animation:service-card-settle .55s cubic-bezier(.2,.8,.2,1) both}.services .service-grid>aside{animation-delay:.1s}.services .service-grid li{transition:transform .2s ease,background .2s ease,border-color .2s ease}.services .service-grid li:hover{transform:translateX(4px);border-color:rgba(244,125,31,.7);background:rgba(244,125,31,.08)}.services .mini-list span{transition:transform .2s ease,border-color .2s ease}.services .mini-list span:hover{transform:translateX(4px);border-color:#f47d1f}}
@keyframes service-card-settle{from{transform:translateY(14px)}to{transform:none}}
@media(max-width:880px){.services .service-grid{grid-template-columns:1fr!important}.services .service-grid>aside{border-top:1px solid #b9c7cd!important;border-left:0!important}}
@media(max-width:560px){.services:before{display:none}.services .price{align-items:start;flex-direction:column}.services .price span{max-width:none;text-align:left}.services .service-grid ul{grid-template-columns:1fr}.services .service-grid{box-shadow:7px 7px 0 rgba(17,35,58,.14)!important}}

/* Bright, contemporary service presentation: no editorial/typewriter treatment. */
.services{background:linear-gradient(135deg,#fff8ef 0%,#eef7fb 52%,#fff 100%)!important}
.services:before{display:none}
.services>h2{max-width:13ch;font-family:'Space Grotesk','DM Sans',sans-serif!important;font-weight:700!important;letter-spacing:-.065em!important;line-height:.92!important}
.services>.eyebrow{display:inline-flex;margin-bottom:18px!important;padding:8px 12px;border-radius:999px;background:#f47d1f;color:#11233a!important;font-family:'Space Grotesk','DM Sans',sans-serif!important;font-size:13px!important;font-weight:800!important;letter-spacing:.06em!important}
.services>.intro{font-family:'Space Grotesk','DM Sans',sans-serif!important;font-weight:500!important;letter-spacing:-.025em!important}
.services .service-grid{overflow:hidden;border:2px solid #11233a!important;border-radius:24px;background:#fff!important;box-shadow:12px 12px 0 #f47d1f!important}
.services .service-grid>article{border-top:0!important;background:radial-gradient(circle at 100% 0,rgba(244,125,31,.22),transparent 35%),#11233a!important}
.services .service-grid>article:before{content:'PERSONALLY REVIEWED · UCL ENGINEERING';display:inline-flex;margin-bottom:22px;padding:8px 11px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.08);color:#ffd1ad;font-family:'Space Grotesk','DM Sans',sans-serif;font-size:12px;font-weight:700;letter-spacing:.055em}
.services .price{font-family:'Space Grotesk','DM Sans',sans-serif!important;font-weight:700!important;letter-spacing:-.075em!important}
.services .price span{border-radius:12px;font-family:'Space Grotesk','DM Sans',sans-serif!important;font-size:12px!important;font-weight:700!important;letter-spacing:.04em!important}
.services .service-grid li{border-radius:14px;font-family:'Space Grotesk','DM Sans',sans-serif!important;font-size:15px!important;font-weight:500!important}
.services .service-grid li:before{border-radius:50%}
.services .orange-btn{border-radius:14px;font-family:'Space Grotesk','DM Sans',sans-serif!important;font-weight:800!important;box-shadow:5px 5px 0 #fff!important}
.services .orange-btn:hover{box-shadow:7px 7px 0 #fff!important}
.services .service-grid article>small{font-family:'Space Grotesk','DM Sans',sans-serif!important;font-weight:700!important;letter-spacing:.08em!important}
.services .service-grid>aside{border-left:2px solid #11233a!important;background:linear-gradient(155deg,#fff 0%,#e5f1f7 100%)!important}
.services .service-grid>aside>.eyebrow{display:inline-flex;margin-bottom:22px;padding:7px 10px;border:0;border-radius:999px;background:#11233a;color:#fff!important;font-family:'Space Grotesk','DM Sans',sans-serif!important;font-size:12px!important;font-weight:800!important;letter-spacing:.055em!important}
.services .service-grid aside h3{font-family:'Space Grotesk','DM Sans',sans-serif!important;font-weight:700!important;letter-spacing:-.055em!important}
.services .service-grid aside>p:not(.eyebrow){font-family:'Space Grotesk','DM Sans',sans-serif!important;font-weight:500!important}
.services .mini-list span{border-radius:14px;font-family:'Space Grotesk','DM Sans',sans-serif!important;font-size:14px;font-weight:700}
.services .review-ownership-note,.services .review-scope-note{border-radius:0 12px 12px 0;color:#dce7ed!important;font-family:'Space Grotesk','DM Sans',sans-serif!important;font-size:14px!important;font-weight:500!important;line-height:1.55!important;letter-spacing:-.01em!important}
.services .review-ownership-note strong,.services .review-scope-note strong{display:block;margin-bottom:3px;color:#fff;font-family:'Space Grotesk','DM Sans',sans-serif;font-weight:800}
.services .review-scope-note{border-left-color:#f47d1f;background:linear-gradient(90deg,rgba(244,125,31,.16),rgba(255,255,255,.045))}
@media(max-width:880px){.services .service-grid>aside{border-top:2px solid #11233a!important;border-left:0!important}}
@media(max-width:560px){.services .service-grid{border-radius:18px;box-shadow:7px 7px 0 #f47d1f!important}.services .service-grid>article:before{font-size:11px}.services>h2{letter-spacing:-.05em!important}}

/* Engineering card system: one calm, consistent visual language across every state. */
body[data-route=engineering] :is(.catalogue-card,.saved-course,.draft-course,.course-compare-table td,.course-compare-table th){
  font-family:'DM Sans',sans-serif;
}
body[data-route=engineering] :is(.catalogue-card h4,.saved-course h4,.draft-course h4,.course-compare-course b){
  font-family:'Fraunces',Georgia,serif!important;
  font-weight:600!important;
  letter-spacing:-.025em;
}
body[data-route=engineering] .catalogue-grid{gap:20px}
body[data-route=engineering] .catalogue-card{
  min-height:0;
  padding:22px;
  border:1px solid #c7d2d7;
  border-radius:16px;
  background:#fff;
  box-shadow:0 9px 26px rgba(17,35,58,.08);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
body[data-route=engineering] .catalogue-card:before{display:none}
body[data-route=engineering] .catalogue-card:hover{
  transform:translateY(-2px);
  border-color:#8fa6b3;
  box-shadow:0 14px 30px rgba(17,35,58,.12);
}
body[data-route=engineering] .catalogue-card h4{font-size:clamp(24px,2vw,29px);line-height:1.08;color:#11233a}
body[data-route=engineering] .course-provider{font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.45;color:#496175}
body[data-route=engineering] .course-card-header>p,
body[data-route=engineering] .featured-university{
  border:1px solid #d7e0e3;
  border-radius:999px;
  background:#f2f6f7;
  color:#315b7c;
  font:700 11px/1 'DM Sans',sans-serif;
  letter-spacing:.04em;
}
body[data-route=engineering] .catalogue-card-featured{
  border:1px solid #c7a557;
  background:linear-gradient(145deg,#fffdf7 0%,#f7f1df 100%);
  box-shadow:0 9px 26px rgba(112,84,21,.12);
}
body[data-route=engineering] .catalogue-card-featured:after{content:none}
body[data-route=engineering] .catalogue-card-featured:hover{box-shadow:0 14px 30px rgba(112,84,21,.16)}
body[data-route=engineering] .catalogue-card-featured h4{color:#11233a}
body[data-route=engineering] .catalogue-card-featured .course-provider{color:#496175}
body[data-route=engineering] .catalogue-card-featured .course-card-header>p,
body[data-route=engineering] .catalogue-card-featured .featured-university{border-color:#d8c58e;background:#fff8e8;color:#76560e}
body[data-route=engineering] .catalogue-card-featured .course-location{border-color:#d8c58e;background:#fff;color:#315b7c!important}
body[data-route=engineering] .catalogue-card-featured .course-location-copy b{color:#76560e}
body[data-route=engineering] .catalogue-card-featured .course-profile{background:transparent}
body[data-route=engineering] .catalogue-card-featured .course-profile span{border-color:#d7dfe1;background:#fff;color:#142238}
body[data-route=engineering] .course-profile{gap:10px}
body[data-route=engineering] .course-profile span,
body[data-route=engineering] .subject-condition,
body[data-route=engineering] .verification-line{
  border-radius:11px;
}
body[data-route=engineering] .subject-condition{border:1px solid #d7e0e2;background:#f6f8f7}
body[data-route=engineering] .subject-condition small{border-radius:9px}
body[data-route=engineering] .verification-line{padding-top:11px;padding-bottom:11px}
body[data-route=engineering] .catalogue-save-add,
body[data-route=engineering] .saved-course-actions :is(button,a),
body[data-route=engineering] .draft-remove{
  min-height:42px;
  border-radius:9px;
  font-family:'DM Sans',sans-serif!important;
  font-weight:700;
}
body[data-route=engineering] .catalogue-save-add{border:1px solid #b7c6cc;background:#f2f6f7;box-shadow:none}
body[data-route=engineering] .catalogue-card>a{
  width:calc(100% + 44px);
  margin:auto -22px -22px;
  border-radius:0 0 15px 15px;
  background:#eef3f4;
  font-family:'DM Sans',sans-serif;
}
body[data-route=engineering] :is(.saved-courses,.course-compare,.shortlist-planner){
  padding:clamp(22px,3vw,32px)!important;
  border:1px solid #c6d2d7!important;
  border-radius:20px;
  background:#f8faf9!important;
  box-shadow:0 12px 32px rgba(17,35,58,.08)!important;
}
body[data-route=engineering] :is(.saved-courses,.course-compare,.shortlist-planner):before{display:none}
body[data-route=engineering] :is(.saved-courses,.course-compare,.shortlist-planner) h3{color:#11233a!important}
body[data-route=engineering] :is(.saved-courses-heading,.course-compare-heading,.shortlist-heading)>p{color:#52697a!important}
body[data-route=engineering] :is(.saved-courses,.course-compare,.shortlist-planner) .eyebrow{color:#a94b0d!important}
body[data-route=engineering] .saved-courses-list{gap:14px}
body[data-route=engineering] .saved-course,
body[data-route=engineering] .draft-course{
  border:1px solid #ccd7db!important;
  border-radius:14px;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(17,35,58,.055)!important;
}
body[data-route=engineering] :is(.saved-course,.draft-course):hover{border-color:#91a7b2!important;box-shadow:0 8px 20px rgba(17,35,58,.09)!important}
body[data-route=engineering] .saved-course.is-featured,
body[data-route=engineering] .draft-course.is-featured{
  border-color:#c8aa65!important;
  background:linear-gradient(145deg,#fffdf8,#f8f2df)!important;
  box-shadow:0 6px 18px rgba(112,84,21,.09)!important;
}
body[data-route=engineering] .saved-course.is-featured:after{content:none}
body[data-route=engineering] .saved-course.is-featured .saved-course-number{border-color:#c8aa65;color:#76560e}
body[data-route=engineering] .saved-course.is-featured .workflow-featured-badge,
body[data-route=engineering] .draft-course.is-featured .workflow-featured-badge{color:#76560e;background:#fff8e5}
body[data-route=engineering] .saved-course.is-featured :is(h4,p,small){color:#142238!important}
body[data-route=engineering] .saved-course.is-featured .saved-course-actions{border-top-color:#d8ccad}
body[data-route=engineering] .saved-course.is-featured .saved-course-actions :is(button,a){border-color:#c5b17d;background:#fff;color:#142238}
body[data-route=engineering] .saved-course.is-featured .saved-course-actions button[data-action=compare]{background:#142238;color:#fff}
body[data-route=engineering] .saved-course.is-featured .saved-course-actions button[data-action=remove]{color:#9b4a14}
body[data-route=engineering] .course-compare{color:#142238!important}
body[data-route=engineering] .course-compare :is(.course-compare-heading h3,.course-compare-heading>p){color:inherit!important}
body[data-route=engineering] .course-compare-heading{border-bottom-color:#d2dcdf}
body[data-route=engineering] .course-compare-empty{border:1px solid #d2dcdf!important;border-radius:14px;background:#fff!important;color:#52697a!important}
body[data-route=engineering] .compare-slot{border-color:#d5dee1;background:#f5f8f8;color:#52697a}
body[data-route=engineering] .compare-slot b{color:#a94b0d}
body[data-route=engineering] .course-compare-wrap{overflow:hidden;border:1px solid #ccd7db;border-radius:14px;background:#fff}
body[data-route=engineering] .course-compare-table th{background:#edf3f4!important;font-family:'DM Sans',sans-serif!important;font-weight:800;letter-spacing:.04em}
body[data-route=engineering] .course-compare-table td{background:#fff;color:#29445a;font-family:'DM Sans',sans-serif!important;font-size:14px;line-height:1.45}
body[data-route=engineering] .course-compare-table tr:first-child td{background:#f8faf9}
body[data-route=engineering] .course-compare-course.is-featured{background:#fbf5e6!important;color:#142238}
body[data-route=engineering] .course-compare-course.is-featured .workflow-featured-badge{color:#76560e}
body[data-route=engineering] .course-compare-course.is-featured :is(b,small){color:#142238!important}
body[data-route=engineering] .draft-fields :is(select,textarea){border-radius:9px;font-family:'DM Sans',sans-serif}

@media(max-width:720px){
  body[data-route=engineering] .catalogue-card{padding:18px;border-radius:14px}
  body[data-route=engineering] .catalogue-card>a{width:calc(100% + 36px);margin:auto -18px -18px;border-radius:0 0 13px 13px}
  body[data-route=engineering] :is(.saved-courses,.course-compare,.shortlist-planner){padding:20px 16px!important;border-radius:16px}
  body[data-route=engineering] .course-compare-wrap{overflow:visible;border:0;background:transparent}
  body[data-route=engineering] .course-compare-table tr{overflow:hidden;border:1px solid #ccd7db!important;border-radius:12px;background:#fff!important}
}

/* Remove the typewriter face from every interface/card label site-wide. */
body :is(
  .eyebrow,
  [class*="label"],
  [class*="meta"],
  [class*="badge"],
  [class*="status"],
  [class*="caption"],
  [class*="number"],
  [class*="location"],
  [class*="rank"],
  [class*="verification"],
  small,
  button,
  input,
  select,
  textarea
){
  font-family:'DM Sans',Arial,sans-serif!important;
  font-variant-numeric:tabular-nums;
}
body :is([class*="card"],.saved-course,.draft-course,.course-compare-table,.service-grid,.about-layout,.stats-card,.academic-card)
  :is(p,span,small,label,strong,b,a,button,input,select,textarea){
  font-family:'DM Sans',Arial,sans-serif!important;
}

/* Static premium sheen for featured universities — polished, never animated. */
body[data-route=engineering] .catalogue-card-featured{
  isolation:isolate;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 0 0 1px rgba(255,255,255,.32),0 9px 26px rgba(112,84,21,.12);
}
body[data-route=engineering] .catalogue-card-featured:after{
  content:'';
  position:absolute;
  z-index:0;
  inset:0;
  display:block;
  pointer-events:none;
  background:
    radial-gradient(circle at 88% 7%,rgba(255,255,255,.82) 0,rgba(255,255,255,.34) 17%,transparent 38%),
    linear-gradient(128deg,transparent 0 46%,rgba(255,255,255,.34) 49%,rgba(255,255,255,.08) 55%,transparent 59%);
  opacity:.72;
}
body[data-route=engineering] .catalogue-card-featured>*{position:relative;z-index:1}
body[data-route=engineering] .catalogue-card-featured:hover{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 0 0 1px rgba(255,255,255,.32),0 14px 30px rgba(112,84,21,.16);
}

/* Final typography guard: the site uses only the clean sans + editorial serif pair. */
body *{font-family:'DM Sans',Arial,sans-serif!important}
body :is(.brand,h1,h2,h3,h4,.price,.stat-value,.about-stat strong){font-family:'Fraunces',Georgia,serif!important}
body :is(.eyebrow,[class*="label"],[class*="meta"],[class*="badge"],[class*="status"]){letter-spacing:.055em}

/* Trim the two headers that also carry a mini navigation row. */
@media(min-width:1151px){
  body:is([data-route=engineering],[data-route=services]) .site-header{
    min-height:0;
    padding-top:9px;
    padding-bottom:9px;
  }
}

/* Make the official source unmistakable as the card's primary action. */
body[data-route=engineering] .catalogue-card>a{
  display:flex;
  width:calc(100% + 40px);
  min-height:62px;
  box-sizing:border-box;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:auto -20px -20px;
  padding:0 15px 0 19px;
  border:0;
  border-top:1px solid #9fb4c2;
  background:#eaf0f1;
  color:#163650;
  box-shadow:none;
  font-size:14px;
  font-weight:700;
  line-height:1.25;
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;
}
body[data-route=engineering] .catalogue-card>a b{
  display:grid;
  width:35px;
  height:35px;
  flex:0 0 35px;
  place-items:center;
  border-radius:50%;
  background:#f47d1f;
  color:#11233a;
  font-size:19px;
  line-height:1;
  transition:transform .18s ease,background-color .18s ease;
}
body[data-route=engineering] .catalogue-card>a:hover{
  transform:none;
  background:#11233a;
  color:#fff;
  box-shadow:inset 5px 0 0 #f47d1f;
  text-decoration:none;
}
body[data-route=engineering] .catalogue-card>a:hover b{transform:translate(2px,-2px);background:#ff9343}
body[data-route=engineering] .catalogue-card>a:focus-visible{outline:3px solid #f47d1f;outline-offset:4px}

/* Keep workflow cards deliberate and consistent at every content length. */
body[data-route=engineering] .saved-course{grid-template-rows:auto 1fr auto}
body[data-route=engineering] .saved-course>div:nth-child(2){min-width:0}
body[data-route=engineering] .saved-course-actions{display:grid;grid-template-columns:repeat(3,max-content) 1fr}
body[data-route=engineering] .saved-course-actions button[data-action=remove]{justify-self:end}
body[data-route=engineering] .draft-course{display:flex;min-height:310px;flex-direction:column}
body[data-route=engineering] .draft-fields{margin-top:auto;padding-top:18px;border-top:1px solid #d8e0dd}

@media(max-width:900px){
  body[data-route=engineering] :is(.saved-courses-heading,.course-compare-heading,.shortlist-heading){grid-template-columns:1fr;gap:14px}
  body[data-route=engineering] .saved-courses-list{grid-template-columns:1fr}
  body[data-route=engineering] .shortlist-empty-state{grid-template-columns:repeat(3,1fr)}
  body[data-route=engineering] .shortlist-rows:not(:has(.shortlist-empty-state)){grid-template-columns:1fr}
}
@media(max-width:1100px) and (min-width:721px){
  body[data-route=engineering] .course-compare-wrap{overflow-x:auto}
  body[data-route=engineering] .course-compare-table{min-width:980px}
}
@media(max-width:620px){
  body[data-route=engineering] :is(.saved-courses,.course-compare,.shortlist-planner){padding:24px 18px!important}
  body[data-route=engineering] .course-compare-empty{grid-template-columns:1fr}
  body[data-route=engineering] .compare-slot{min-height:86px}
  body[data-route=engineering] .shortlist-empty-state{grid-template-columns:1fr 1fr}
  body[data-route=engineering] .shortlist-slot{min-height:90px}
  body[data-route=engineering] .shortlist-message{grid-template-columns:1fr;gap:10px}
  body[data-route=engineering] .saved-course{grid-template-columns:36px minmax(0,1fr)!important;padding:18px!important}
  body[data-route=engineering] .saved-course-number{width:34px;height:34px}
  body[data-route=engineering] .saved-course-actions button[data-action=remove]{margin-left:0}
  body[data-route=engineering] .saved-course-actions{display:flex}
  body[data-route=engineering] .saved-course-actions button[data-action=remove]{justify-self:auto}
  body[data-route=engineering] .verification-line{align-items:start;gap:3px;padding-left:34px}
  body[data-route=engineering] .draft-course-top{grid-template-columns:minmax(0,1fr) auto}
  body[data-route=engineering] .intention-mark{grid-column:2;grid-row:1}
  body[data-route=engineering] .draft-remove{grid-column:2;grid-row:2}
}

/* A second, clearly labelled route for tutors—kept inside the existing panel. */
.tutor-network{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;margin-top:18px;padding:24px 26px;border:1px solid #ffffff2b;border-radius:18px;background:#081a2d}
.tutor-network span{display:block;margin-bottom:8px;color:#ffad70;font-size:12px;font-weight:800;letter-spacing:.12em}
.tutor-network h4{margin:0 0 8px;color:#fff;font:700 24px/1.15 'DM Sans',sans-serif;letter-spacing:-.025em}
.tutor-network p{max-width:660px;margin:0;color:#becbd7;font-size:15px;line-height:1.55}
.tutor-network a{display:inline-flex;min-height:52px;align-items:center;gap:16px;padding:0 20px;border:1px solid #f47d1f;border-radius:999px;color:#fff;font-size:15px;font-weight:800;text-decoration:none;white-space:nowrap;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.tutor-network a span{margin:0;color:inherit;font-size:inherit;letter-spacing:0}
.tutor-network a b{font-size:20px}
.tutor-network a:hover{transform:translateY(-2px);background:#f47d1f;color:#11233a}
.tutor-network a:focus-visible{outline:3px solid #f47d1f;outline-offset:4px}
@media(max-width:720px){.tutor-network{grid-template-columns:1fr;gap:18px;padding:22px}.tutor-network a{justify-content:space-between;white-space:normal}}

/* Personal-statement map: one compact, connected editorial composition. */
.statement-case .ucas-map{gap:16px;margin-top:42px}
.statement-case .ucas-map>div{position:relative;min-height:190px;padding:28px 28px 26px;overflow:hidden;border:1px solid #c2d0d6;border-radius:20px;background:#fff;box-shadow:0 10px 28px #11233a0a}
.statement-case .ucas-map>div:before{content:attr(data-step);position:absolute;right:18px;top:6px;color:#11233a0a;font:800 88px/1 'DM Sans',sans-serif;letter-spacing:-.08em}
.statement-case .ucas-map>div:nth-child(1):before{content:'01'}
.statement-case .ucas-map>div:nth-child(2):before{content:'02'}
.statement-case .ucas-map>div:nth-child(3):before{content:'03'}
.statement-case .ucas-map>div:after{content:'';position:absolute;inset:0 0 auto;height:5px;background:#f47d1f}
.statement-case .ucas-map b{position:relative;margin-bottom:22px;padding:0;background:transparent;color:#b34f0d;font-size:12px;letter-spacing:.08em}
.statement-case .ucas-map strong{position:relative;margin-bottom:10px;font-size:22px;letter-spacing:-.025em}
.statement-case .ucas-map p{position:relative;max-width:31ch;font-size:16px;line-height:1.55}
.statement-insights{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:18px}
.statement-insights .statement-proof,.statement-insights .statement-takeaway{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;align-items:center;max-width:none;min-height:132px;margin:0;padding:24px 28px;border:1px solid #31465d;border-radius:20px;background:#11233a;box-shadow:none}
.statement-insights .statement-takeaway{border-color:#f47d1f;box-shadow:6px 6px 0 #f47d1f}
.statement-insights :is(.statement-proof,.statement-takeaway) span{padding-right:18px;border-right:1px solid #ffffff2b;font-size:12px;line-height:1.35}
.statement-insights :is(.statement-proof,.statement-takeaway) p{color:#eef3f5;font-size:16px;line-height:1.5}
@media(max-width:1000px){.statement-insights{grid-template-columns:1fr}.statement-insights .statement-proof,.statement-insights .statement-takeaway{min-height:0}}
@media(max-width:620px){.statement-case .ucas-map>div{min-height:0;padding:24px 22px}.statement-insights .statement-proof,.statement-insights .statement-takeaway{grid-template-columns:1fr;gap:12px;padding:22px}.statement-insights :is(.statement-proof,.statement-takeaway) span{padding:0 0 10px;border-right:0;border-bottom:1px solid #ffffff2b}}
