/* FIF Learning Paths */
.pth-certs [hidden],.pth-certs[hidden]{display:none !important}
.pth-school,.pth-cont{margin-block:clamp(2rem,5vw,3.4rem)}
.pth-grid{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,15.5rem),1fr))}
.pth-card{display:flex;flex-direction:column;gap:.35rem;text-decoration:none;color:#0a0a0b;height:100%}
.pth-art{position:relative;display:block;aspect-ratio:16/9;background:#0a0a0b;overflow:hidden}
.pth-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.pth-card:hover .pth-art img{transform:scale(1.04)}
.pth-n{position:absolute;left:.5rem;bottom:.5rem;background:#ffe600;color:#0a0a0b;font:700 12px/1 'IBM Plex Mono',monospace;padding:.35rem .5rem}
.pth-t{font-weight:900;font-size:19px;line-height:1.15}
.pth-s{font-size:15px;color:#3d3d3d;line-height:1.4}
.pth-meta{font:13px 'IBM Plex Mono',monospace;color:#4b4b4b}
.pth-bar{display:block;height:5px;background:#e3e3e3;margin-top:auto}
.pth-bar span{display:block;height:100%;width:0;background:#0a0a0b;transition:width .3s}
.pth-card:focus-visible{outline:3px solid #0a0a0b;outline-offset:4px}
@media (prefers-reduced-motion:reduce){.pth-art img,.pth-bar span{transition:none}.pth-card:hover .pth-art img{transform:none}}

/* path page */
.pth-head{padding-block:clamp(1.6rem,4vw,2.6rem) 1rem}
.pth-head h1{margin:.2rem 0 .6rem;font-size:clamp(34px,1.6rem + 3vw,64px);line-height:1;letter-spacing:-.035em}
.pth-sum{font-size:clamp(17px,1rem + .3vw,21px);max-width:46rem;margin:0 0 .6rem}
.pth-bar-lg{height:8px;max-width:46rem;margin-top:.6rem}
.pth-body{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;padding-bottom:3rem}
@media (min-width:1000px){.pth-body{grid-template-columns:minmax(0,1fr) 23rem;align-items:start}}
.pth-frame{position:relative;aspect-ratio:16/9;background:#0a0a0b;overflow:hidden}
.pth-frame img,.pth-frame iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;display:block}
.pth-now{padding-top:1rem}
.pth-now-k{font:600 12px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .3rem;color:#5a5000}
.pth-now h2{margin:0 0 .4rem;font-size:clamp(22px,1.1rem + 1vw,30px);line-height:1.15}
.pth-now-c{font:14px 'IBM Plex Mono',monospace;color:#4b4b4b;margin:0 0 .8rem}
.pth-now p{max-width:46rem}
.pth-acts{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.pth-acts .b{cursor:pointer}
.pth-side{background:#f3f3f3;padding:1rem;max-height:none}
@media (min-width:1000px){.pth-side{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto}}
.pth-mods,.pth-ls{list-style:none;margin:0;padding:0}
.pth-mod h3{font:700 13px 'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase;margin:1rem 0 .4rem}
.pth-mod:first-child h3{margin-top:0}
.pth-l{display:grid;grid-template-columns:1.4rem 1.6rem 1fr;gap:.5rem;align-items:start;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid #e3e3e3;padding:.65rem .6rem;font:inherit;font-size:15px;line-height:1.3;color:#0a0a0b;cursor:pointer;min-height:44px}
.pth-l:hover,.pth-l:focus-visible{background:#ffe600}
.pth-l[aria-current]{background:#0a0a0b;color:#fff}.pth-l[aria-current] .pth-lc{color:#d6d6d6}
.pth-tick{width:1.1rem;height:1.1rem;border:2px solid currentColor;margin-top:.1rem}
.pth-l.is-done .pth-tick{background:#0a0a0b;border-color:#0a0a0b;box-shadow:inset 0 0 0 2px #fff}
.pth-l[aria-current].is-done .pth-tick{background:#ffe600;border-color:#ffe600;box-shadow:inset 0 0 0 2px #0a0a0b}
.pth-ln{font:600 13px 'IBM Plex Mono',monospace;padding-top:.1rem}
.pth-lt{font-weight:700}
.pth-lc{display:block;font:400 12px 'IBM Plex Mono',monospace;color:#4b4b4b;margin-top:.2rem}
.pth-out,.pth-extras,.pth-further,.pth-tools{margin-top:2.4rem}
.pth-out ul{padding-left:1.2rem;line-height:1.6}
.pth-further ul{list-style:none;padding:0;margin:0;border-top:2px solid #0a0a0b}
.pth-further li{padding:.8rem 0;border-bottom:1px solid #e3e3e3}
.pth-further a{font-weight:800}
.pth-gp{font-size:14px;color:#4b4b4b}
.pth-cost{display:inline-block;font:700 11px 'IBM Plex Mono',monospace;padding:.2rem .45rem;margin-left:.4rem;border:2px solid #0a0a0b}
.pth-cost-free{background:#ffe600}.pth-cost-sign{background:#fff}.pth-cost-paid{background:#0a0a0b;color:#fff}
.pth-cert{margin-top:1.4rem;border:4px solid #0a0a0b;padding:1.4rem;background:#fff}
.pth-cert-t{font-size:30px;font-weight:900;margin:.2rem 0 .6rem}
.pth-cert input{display:block;margin-top:.3rem;padding:.6rem;border:2px solid #0a0a0b;font:inherit;width:min(100%,24rem)}
.pth-foot{padding-bottom:2rem}

/* print: syllabus or completion page */
@media print{
  .pth-print-syllabus header,.pth-print-syllabus footer,.pth-print-syllabus .pth-player,.pth-print-syllabus .pth-extras,.pth-print-syllabus .pth-tools,.pth-print-syllabus .pth-further,.pth-print-syllabus .preview-note{display:none !important}
  .pth-print-syllabus .pth-body{display:block}.pth-print-syllabus .pth-side{position:static;max-height:none;background:none}
  .pth-print-cert body>*:not(main),.pth-print-cert header,.pth-print-cert footer,.pth-print-cert .pth-head,.pth-print-cert .pth-side,.pth-print-cert .pth-player,.pth-print-cert .pth-out,.pth-print-cert .pth-extras,.pth-print-cert .pth-further,.pth-print-cert .pth-foot,.pth-print-cert .pth-tools>h2,.pth-print-cert .pth-tools>.pth-acts,.pth-print-cert label,.pth-print-cert .pth-cert .pth-acts{display:none !important}
  .pth-print-cert .pth-cert{border:6px solid #000;padding:3rem;margin-top:4rem}
  .pth-print-cert .pth-cert::after{content:"Learner: " attr(data-name) "   ·   Futures in Film CIC, Pinewood Studios   ·   futuresinfilm.com";display:block;margin-top:2rem;font:14px 'IBM Plex Mono',monospace}
}
.pth-main h2,.pth-school h2,.pth-cont h2{font-size:clamp(24px,1.1rem + 1.4vw,34px);line-height:1.1;letter-spacing:-.02em}
.pth-head .crumbs,.pth-head .crumbs a{color:#0a0a0b}
.pth-head .kicker{color:#5a5000}
.wide:has(>.wrap>.pth-school){padding-block:clamp(1.4rem,3vw,2.4rem)}
.pth-school{margin-block:0}

/* end-of-path check, certificate claim, certificate (pathcert.js) */
.pth-certs{margin-top:2.4rem;border-top:6px solid #0a0a0b;padding-top:1.2rem}
.pth-certs-lead{font-size:clamp(17px,1rem + .3vw,20px);max-width:46rem}
.pth-certs-left{font:600 14px 'IBM Plex Mono',monospace}
.pth-certs h3{font-size:clamp(22px,1.1rem + .8vw,28px);margin:1.6rem 0 .6rem}
.pth-draft{display:inline-block;background:#ffe600;color:#0a0a0b;font:700 13px 'IBM Plex Mono',monospace;padding:.35rem .6rem;margin:0 0 .6rem}
.pth-check,.pth-claim{background:#f3f3f3;padding:clamp(1rem,3vw,1.8rem);margin-top:1rem}
.pth-q,.pth-age,.pth-opts{border:0;padding:0;margin:0 0 1.4rem;min-width:0}
.pth-q legend,.pth-age legend,.pth-opts legend{font-weight:800;font-size:18px;line-height:1.3;margin-bottom:.6rem;padding:0}
.pth-qn{display:inline-block;min-width:1.8rem;font:700 14px 'IBM Plex Mono',monospace;background:#0a0a0b;color:#ffe600;text-align:center;padding:.15rem .3rem;margin-right:.4rem}
.pth-opt{display:flex;gap:.6rem;align-items:flex-start;background:#fff;border:2px solid #d8d6cd;padding:.6rem .7rem;margin:.35rem 0;cursor:pointer;min-height:44px;line-height:1.35}
.pth-opt:hover{border-color:#0a0a0b}
.pth-opt input{width:1.2rem;height:1.2rem;margin-top:.1rem;flex:0 0 auto;accent-color:#0a0a0b}
.pth-opt:has(input:checked){border-color:#0a0a0b;box-shadow:inset 4px 0 0 #ffe600}
.pth-opt:has(input:focus-visible){outline:3px solid #0a0a0b;outline-offset:2px}
.pth-qfb{margin:.3rem 0 0;font:600 14px 'IBM Plex Mono',monospace;min-height:0}
.pth-q.is-right .pth-qfb::before{content:"✓ "}
.pth-q.is-wrong .pth-qfb::before{content:"✕ "}
.pth-q.is-wrong{box-shadow:-6px 0 0 #0a0a0b;padding-left:.6rem}
.pth-result{margin-top:1rem}
.pth-score{font-weight:900;font-size:clamp(22px,1.1rem + 1vw,30px);margin:0 0 .3rem}
.pth-score.is-pass{background:#ffe600;display:inline-block;padding:.2rem .6rem}
.pth-two{display:grid;gap:0 1rem}
@media (min-width:640px){.pth-two{grid-template-columns:1fr 1fr}}
.pth-claim input[type=text],.pth-claim input[type=email],.pth-claim select{display:block;width:100%;padding:.6rem;border:2px solid #0a0a0b;font:inherit;background:#fff;min-height:44px;margin-top:.3rem}
.pth-claim .field.check input:disabled+label{color:#4b4b4b}
.pth-guardian{margin-top:.8rem;padding:.8rem;border-left:4px solid #0a0a0b;background:#fff}
.pth-hint{font-size:14px;color:#3d3d3d;margin:.3rem 0 .8rem}
.pth-status,.pth-note{font-weight:600}
.pth-note{background:#fff;border-left:6px solid #ffe600;padding:.6rem .8rem}
.pth-certout{margin-top:1.6rem}
.pth-certout h3:focus{outline:none}
.pth-canvas{display:block;width:100%;height:auto;aspect-ratio:297/210;box-shadow:0 10px 40px rgba(0,0,0,.18);background:#fff;margin:.8rem 0}
.pth-certid code{font:600 15px 'IBM Plex Mono',monospace;background:#ffe600;padding:.1rem .35rem}
.pth-certprint{display:none}
@page cert{size:A4 landscape;margin:0}
@media print{
  body.pth-print-certimg>*:not(.pth-certprint){display:none !important}
  body.pth-print-certimg .pth-certprint{display:block;page:cert;width:297mm;height:210mm;margin:0}
  body.pth-print-certimg .pth-certprint img{display:block;width:297mm;height:210mm;object-fit:contain}
}

/* /verify/ */
.vfy{padding-block:clamp(1.6rem,4vw,3rem);max-width:52rem}
.vfy-form label{display:block;font-weight:800;margin-bottom:.3rem}
.vfy-row{display:flex;flex-wrap:wrap;gap:.6rem}
.vfy-row input{flex:1 1 16rem;padding:.7rem;border:2px solid #0a0a0b;font:600 18px 'IBM Plex Mono',monospace;text-transform:uppercase;min-height:48px}
.vfy-out{margin:1.2rem 0}
.vfy-card{border:4px solid #0a0a0b;padding:1.2rem 1.4rem;background:#fff}
.vfy-card.is-ok{box-shadow:10px 10px 0 #ffe600}
.vfy-k{font:700 13px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .4rem}
.vfy-name{font-weight:900;font-size:clamp(28px,1.4rem + 2vw,44px);line-height:1.05;margin:0 0 .3rem}
.vfy-path{font-size:19px;margin:0 0 .4rem}
.vfy-meta{font:14px 'IBM Plex Mono',monospace;margin:0}
.vfy-endorse{display:inline-block;margin:.9rem 0 .2rem;background:#0a0a0b;color:#ffe600;font:700 14px 'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase;padding:.45rem .7rem}
.pth-q .pth-lt{font-weight:inherit}
.pth-opt input[type=radio]{min-height:0;padding:0;margin:.15rem 0 0;border:0;width:1.2rem;height:1.2rem}
.pth-opt{font-weight:400;font-size:16px}
/* v1.1.4 carousels everywhere: every path and lesson list is one sideways row with labelled arrows (kit story.js) */
.pth-rh{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.8rem}.pth-rh h2{margin:0}
.pth-nav{display:flex;gap:.5rem}.pth-b{width:44px;height:44px;border-color:currentColor;color:inherit;background:transparent}
.pth-grid.pth-rail{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:min(78vw,17rem);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:0 0 .8rem;scrollbar-width:thin}
.pth-rail>li{scroll-snap-align:start;min-width:0}
.pth-anchor{display:block;position:relative;top:-80px;visibility:hidden}
@media (prefers-reduced-motion:reduce){.pth-rail{scroll-behavior:auto}}
