/* Shared footer and requested September refinements. */
.footnote-reference { display:inline-block; padding-inline:2px; color:inherit; text-decoration:underline; text-underline-offset:3px; }
.free-label { font-weight:600; color:var(--blue); letter-spacing:.035em; }
.on-dark .free-label, .ip-dark .free-label { color:var(--sky); }
.footer-nav { display:flex; flex-wrap:wrap; gap:4px 26px; border-top:1px solid #dce5e8; padding-top:18px; margin-top:22px; }
.footer-nav a { display:inline-flex; align-items:center; min-height:44px; color:var(--petrol); font-size:14px; }
.footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 24px; padding-top:20px; font-size:13px; color:#626f75; }
.inner .engineering-portrait { margin:0; min-width:0; }
.inner .engineering-portrait picture { display:block; }
.inner .engineering-portrait img { display:block; width:100%; height:auto; aspect-ratio:1.2; object-fit:cover; object-position:center 35%; border-radius:14px; }
.inner .engineering-portrait figcaption { margin-top:16px; font-size:17px; line-height:1.5; color:var(--petrol); }
.inner #system .ip-disciplines { grid-template-columns:repeat(2,minmax(0,1fr)); }
.inner #system .ip-discipline { display:grid; grid-template-rows:auto 1fr; row-gap:20px; align-content:start; }
.inner #system .ip-discipline-title { align-self:start; }
.inner #system .ip-shortline { margin:0; min-height:0; }
.inner #system .ip-discipline .ip-prose { margin:0; }
.inner #system .ip-instruments { margin:0; padding-top:0; align-content:start; align-items:start; }
.inner #system .ip-produces { margin:0; padding-top:18px; }
@supports (grid-template-rows:subgrid) {
  .inner #system .ip-discipline { grid-template-rows:subgrid; grid-row:span 2; }
}
.inner .calculator-controls .scale-note { max-width:44ch; font-size:14px; line-height:1.6; }
.inner .calc-range, .inner .calc-range input { height:48px; }
.inner .calc-range input { touch-action:pan-y; cursor:grab; }
.inner .calc-range input:active { cursor:grabbing; }
.inner .calc-range::before { top:18px; }
.inner .calc-range input::-webkit-slider-runnable-track { height:6px; }
.inner .calc-range input::-moz-range-track { height:6px; }
.inner .calc-range input::-webkit-slider-thumb { width:28px; height:28px; margin-top:-11px; border-width:3px; }
.inner .calc-range input::-moz-range-thumb { width:22px; height:22px; border-width:3px; }
.inner .calc-range-labels { display:flex; justify-content:space-between; color:#626f75; font-size:13px; margin-top:-1px; }
.inner .result-metric { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 14px; margin-top:20px; }
.inner .result-metric .result-big, .inner .result-metric .result-unit { font-size:clamp(40px,4.2vw,60px); font-weight:500; line-height:1.08; letter-spacing:-.055em; margin:0; color:#ff9b94; }
.inner .result-metric .result-unit { max-width:8ch; letter-spacing:-.04em; }
.inner .result-metric .is-neutral { color:#f4f8fa; }
.inner .result-big { flex:none; }
.inner .result-line { margin-top:18px; }
.inner .calc-nojs { font-size:15px; line-height:1.6; margin-top:20px; }
.legal-page { padding:70px 0 90px; }
.legal-page .ip-wrap { max-width:880px; }
.legal-page h1 { font-size:clamp(38px,5vw,60px); line-height:1.08; margin-top:12px; }
.legal-page .legal-intro { margin-top:24px; font-size:19px; color:#526a75; line-height:1.6; }
.legal-page h2 { font-size:25px; line-height:1.25; margin:34px 0 14px; }
.legal-page p, .legal-page li { font-size:17px; line-height:1.7; }
.legal-page p + p { margin-top:15px; }
.legal-page ul { padding-left:22px; }
.legal-page a { text-decoration:underline; text-underline-offset:3px; }
.legal-draft { border:1px solid #c6dce4; border-left:3px solid #0077a0; padding:18px 22px; margin:28px 0; background:#f3f8fa; border-radius:4px; }
.legal-page .legal-draft p { font-size:15px; }
.legal-page .legal-confirm { padding:18px 22px; background:#f5f5f7; margin-top:20px; border-radius:8px; }
.sitemap-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:30px; }
.sitemap-grid ul { list-style:none; margin:0; padding:0; }
.sitemap-grid a { display:inline-flex; align-items:center; min-height:44px; }
@media (max-width:960px) and (min-width:721px) {
  .nav-links { gap:18px; }
}
@media (max-width:720px) {
  .inner .engineering-portrait img { aspect-ratio:1.5; }
  .inner #system .ip-disciplines { grid-template-columns:minmax(0,1fr); }
  .inner #system .ip-discipline { grid-row:auto; display:flex; gap:0; }
  .inner #system .ip-shortline { margin:20px 0 16px; }
  .inner #system .ip-instruments { margin-top:22px; }
  .inner #system .ip-produces { margin-top:22px; }
  .inner .result-metric .result-big, .inner .result-metric .result-unit { font-size:46px; }
  .footer-nav { gap:0 22px; }
  .legal-page { padding:44px 0 60px; }
  .sitemap-grid { grid-template-columns:1fr; gap:4px; }
}
@media (max-width:360px) {
  .inner .result-metric .result-big, .inner .result-metric .result-unit { font-size:40px; }
}

/* September 16 copy and full-range funnel controls. */
.inner .ip-example-instructions { max-width:850px; margin-top:22px; color:#526a75; font-size:17px; line-height:1.65; }
.inner .calc-range::before { left:calc(var(--base) + var(--base-offset)); height:10px; top:36px; background:#294d5c; }
.inner .calc-range input::-webkit-slider-runnable-track { background:linear-gradient(to right,#0077a0 0 var(--current),#dce5e9 var(--current) 100%); }
.inner .calc-range input::-moz-range-track { background:linear-gradient(to right,#0077a0 0 var(--current),#dce5e9 var(--current) 100%); }
.inner .calc-range-labels { font-size:14px; gap:8px; }
.inner .ip-gate-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
.inner .result-big { max-width:100%; overflow-wrap:anywhere; }
.inner .result-bar-heading strong { min-width:0; overflow-wrap:anywhere; text-align:right; }
.inner .result-bar-heading > span { flex:none; }
.inner .calculator-mobile-status { overflow-wrap:anywhere; }
@media (max-width:720px) { .inner .ip-gate-steps { grid-template-columns:minmax(0,1fr); } .inner #system .ip-discipline .ip-prose { margin-top:20px; } }

/* Assessment-led copy and the revised qualification layout. */
#renable-compact-opening .rc-stat-value { color:#ff9b94; }
.inner #worked-example .ip-example-head,
.inner #worked-example .ip-example-head .ip-heading,
.inner #worked-example .ip-example-head .ip-lede,
.inner #worked-example .ip-example-summary,
.inner #worked-example .ip-example-instructions { max-width:none; width:100%; }
.inner .ip-gate-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(40px,6vw,88px); align-items:start; }
.inner .ip-gate-heading .ip-heading { font-size:clamp(40px,4.6vw,66px); line-height:1.05; letter-spacing:-.045em; max-width:10ch; margin-top:22px; }
.inner .ip-gate-heading .ip-eyebrow { max-width:28ch; }
.inner .ip-gate-detail { min-width:0; }
.inner .ip-gate-detail .ip-gate-steps { display:grid; grid-template-columns:minmax(0,1fr); margin:0; gap:30px; }
.inner .ip-gate-detail .ip-gate-steps li { display:grid; grid-template-columns:28px minmax(0,1fr); gap:18px; font-size:18px; padding-top:26px; }
.inner .ip-gate-detail .ip-gate-steps li:first-child { border-top:0; padding-top:0; }
.inner .ip-gate-detail .ip-gate-steps li::before { content:counter(engagement,decimal-leading-zero); font-size:14px; line-height:1.8; margin:3px 0 0; }
.inner .ip-gate-detail .ip-actions { margin-top:32px; padding-left:46px; }
.inner .ip-actions .micro { font-size:14px; max-width:450px; }
@media (max-width:800px) {
  .inner .ip-gate-layout { grid-template-columns:minmax(0,1fr); gap:36px; }
  .inner .ip-gate-heading .ip-heading { max-width:15ch; }
  .inner .ip-gate-heading .ip-eyebrow { max-width:none; }
}
@media (max-width:480px) {
  .inner .ip-gate-detail .ip-gate-steps li { font-size:17px; grid-template-columns:24px minmax(0,1fr); gap:12px; }
  .inner .ip-gate-detail .ip-actions { padding-left:0; }
}
@media (max-width:720px) {
  #renable-compact-opening .rc-stat { display:block; }
  #renable-compact-opening .rc-stat-description { margin-top:15px; max-width:32ch; }
}
