/* ═══════════════════════════════════════════════════════════════════
   /scholarships (templates/scholarships.html, static/js/scholarships.js).
   Approved design "scholarships-r7" (Tassy, 2026-10-08): hero "The fund
   flows", Three kinds as objects on a shelf, Current and past (open cards,
   "Last round" receipts, the Past archive with one centre card), Apply
   (form, or the closed block with the social chips), closing band.

   Scoped to .dfsc; every page class is sc-*. Every colour is a token from
   df-tokens.css (tests/test_theme_tokens.py forbids raw values here); the
   only literal colours on the page are the official social logos, inline
   in the template, as on contact.html and footer.html. The form fields are
   the shared .dff-* standard from df-forms.css.
   ═══════════════════════════════════════════════════════════════════ */

.dfsc {
    --ease: cubic-bezier(.22, 1, .36, 1);
    --gridc: color-mix(in srgb, var(--df-ink) 4%, transparent);
    --sh: var(--df-shadow);
    --sh2: 0 30px 60px -18px color-mix(in srgb, var(--df-ink) 30%, transparent);
    --shs: 0 1px 2px color-mix(in srgb, var(--df-ink) 5%, transparent), 0 12px 28px -18px color-mix(in srgb, var(--df-ink) 26%, transparent);
    --shl: 0 2px 4px color-mix(in srgb, var(--df-ink) 6%, transparent), 0 24px 40px -20px color-mix(in srgb, var(--df-ink) 32%, transparent);
    /* the three kinds: fill and text colour on light grounds */
    --f-laptop: var(--df-brand-cyan);   --t-laptop: var(--df-accent-deep);
    --f-tuition: var(--df-brand-teal);  --t-tuition: var(--df-achieve);
    --f-cohort: var(--df-ink);          --t-cohort: var(--df-ink);
    /* ... and on the hero's brand gradient (cohort is paper white, no blue) */
    --h-laptop: var(--df-on-navy-accent);
    --h-tuition: color-mix(in srgb, var(--df-brand-teal) 75%, var(--df-on-navy-now));
    --h-cohort: var(--df-on-navy);
    --h-ink: var(--df-navy);
    --k-laptop: var(--f-laptop); --k-tuition: var(--f-tuition); --k-cohort: var(--f-cohort);
}
[data-theme="dark"] .dfsc {
    --gridc: color-mix(in srgb, var(--df-on-navy) 3%, transparent);
    --sh2: 0 30px 60px -18px color-mix(in srgb, var(--df-paper) 75%, transparent);
    --shs: 0 1px 2px color-mix(in srgb, var(--df-paper) 30%, transparent), 0 12px 28px -18px color-mix(in srgb, var(--df-paper) 60%, transparent);
    --shl: 0 2px 4px color-mix(in srgb, var(--df-paper) 35%, transparent), 0 24px 40px -20px color-mix(in srgb, var(--df-paper) 75%, transparent);
    --f-laptop: var(--df-accent);   --t-laptop: var(--df-accent);
    --f-tuition: var(--df-achieve); --t-tuition: var(--df-achieve);
    --h-tuition: var(--df-achieve);
}

.dfsc *{box-sizing:border-box}
.dfsc{font-family:var(--df-font-text);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;overflow-x:clip;line-height:1.5}
.dfsc img{display:block}.dfsc button{font-family:inherit}
.dfsc :focus-visible{outline:3px solid var(--df-accent);outline-offset:3px;border-radius:6px}
.dfsc .sc-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* Display recipe and sizes come from the shared type system (df-tokens.css). */
.dfsc .sc-disp{color:inherit;font-family:var(--df-font-display);font-stretch:var(--df-display-stretch);font-variation-settings:var(--df-display-wdth);font-weight:var(--df-display-weight);text-transform:uppercase;letter-spacing:var(--df-display-ls);line-height:var(--df-display-lh);margin:0;text-wrap:initial}
.dfsc .sc-disp .sc-dec{font-size:.56em;letter-spacing:0}
.dfsc .sc-h1s{font-size:var(--df-type-hero)}
.dfsc .sc-h2s{font-size:var(--df-type-h2)}
.dfsc .sc-num{font-variant-numeric:tabular-nums}
.dfsc .sc-lede{font-family:var(--df-font-text);font-size:var(--df-type-lede);line-height:var(--df-type-lede-lh);color:var(--df-ink-2);margin:0;font-weight:400}
.dfsc .sc-cta{display:flex;gap:10px;flex-wrap:wrap}
.dfsc .sc-b1,.dfsc .sc-b2{display:inline-flex;align-items:center;justify-content:center;gap:.4em;padding:13px 21px;min-height:44px;border-radius:999px;font:600 15.5px var(--df-font-text);text-decoration:none;cursor:pointer;border:0;white-space:nowrap;transition:transform .25s var(--ease),background .2s,box-shadow .25s}
.dfsc .sc-b1{background:var(--df-ink);color:var(--df-paper)}.dfsc .sc-b2{background:var(--df-surface);color:var(--df-ink);box-shadow:0 1px 2px color-mix(in srgb,var(--df-navy) 6%,transparent)}
.dfsc .sc-b1:hover,.dfsc .sc-b2:hover{transform:translateY(-2px);box-shadow:var(--sh)}.dfsc .sc-b1:active,.dfsc .sc-b2:active{transform:scale(.97)}
.dfsc .sc-b1 .sc-ar{transition:transform .25s var(--ease)}.dfsc .sc-b1:hover .sc-ar{transform:translateX(3px)}
.dfsc .sc-airy{position:relative;background:var(--df-panel)}
.dfsc .sc-airy:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--gridc) 1px,transparent 1px),linear-gradient(90deg,var(--gridc) 1px,transparent 1px);background-size:22px 22px;pointer-events:none;border-radius:inherit}
.dfsc .sc-airy>*{position:relative}
.dfsc .sc-wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.dfsc .sc-sec{scroll-margin-top:calc(var(--df-nav-h) + 10px);padding:72px 0}
.dfsc .sc-sec.sc-hero{padding:16px 0 28px}
.dfsc .sc-sec.sc-kinds{padding-top:40px}
.dfsc .sc-shead{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 24px;flex-wrap:wrap;margin-bottom:22px}
.dfsc.sc-anim [data-rv]{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--d,0)*90ms)}
.dfsc.sc-anim [data-rv].sc-in{opacity:1;transform:none}
/* channel chip */
.dfsc .sc-k-laptop{--kf:var(--f-laptop);--kt:var(--t-laptop)}.dfsc .sc-k-tuition{--kf:var(--f-tuition);--kt:var(--t-tuition)}.dfsc .sc-k-cohort{--kf:var(--f-cohort);--kt:var(--t-cohort)}
.dfsc .sc-chip{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:4px 10px 4px 8px;border-radius:999px;background:color-mix(in srgb,var(--kf) 12%,var(--df-surface));color:var(--kt);font:650 12.5px/1.2 var(--df-font-text);white-space:nowrap}
.dfsc .sc-chip:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--kf)}
.dfsc .sc-k-cohort.sc-chip{background:color-mix(in srgb,var(--df-ink) 7%,var(--df-surface))}
.dfsc .sc-ico{display:block;fill:currentColor}
.dfsc .sc-ex{font:700 10.5px var(--df-font-text);letter-spacing:.08em;text-transform:uppercase;background:var(--df-warn-soft);color:var(--df-warn);border-radius:999px;padding:3px 8px}


/* ============ HERO: the fund flows ============ */
.dfsc .sc-hg{position:relative;border-radius:36px;background:var(--df-brand-gradient);color:var(--df-on-navy);padding:46px 52px 50px;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:40px;align-items:center;min-height:600px;
 --k-cohort:var(--h-cohort);--k-tuition:var(--h-tuition);--k-laptop:var(--h-laptop)}
.dfsc .sc-hg:before{content:"";position:absolute;inset:0;border-radius:inherit;background-image:linear-gradient(color-mix(in srgb,var(--df-on-navy) 4.5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--df-on-navy) 4.5%,transparent) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
.dfsc .sc-hg>*{position:relative}
.dfsc .sc-hg .sc-lede{color:color-mix(in srgb,var(--df-on-navy) 86%,transparent);margin:20px 0 30px;max-width:24ch}
.dfsc .sc-hg .sc-cta{flex-direction:column;align-items:flex-start}
.dfsc .sc-hg .sc-b1{background:var(--df-on-navy);color:var(--h-ink)}.dfsc .sc-hg .sc-b2{background:color-mix(in srgb,var(--df-on-navy) 14%,transparent);color:var(--df-on-navy);box-shadow:none}.dfsc .sc-hg .sc-b2:hover{background:color-mix(in srgb,var(--df-on-navy) 22%,transparent)}
.dfsc .sc-hg :focus-visible{outline-color:var(--df-on-navy)}
.dfsc .sc-yrt{display:inline-flex;gap:3px;padding:4px;border-radius:999px;background:color-mix(in srgb,var(--df-on-navy) 12%,transparent)}
.dfsc .sc-yrt button{border:0;background:none;padding:7px 14px;border-radius:999px;font:600 13.5px var(--df-font-text);font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--df-on-navy) 75%,transparent);cursor:pointer;transition:background .25s,color .25s}
.dfsc .sc-yrt button:hover{color:var(--df-on-navy)}.dfsc .sc-yrt button[aria-selected=true]{background:var(--df-on-navy);color:var(--h-ink)}
.dfsc .sc-fl{position:relative}
.dfsc .sc-fl-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px}
.dfsc .sc-fl-top small{display:block;font:600 11px var(--df-font-text);letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--df-on-navy) 72%,transparent);margin-bottom:6px}
.dfsc .sc-fl-top b{display:block;font:600 44px/1 var(--df-font-text);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.dfsc .sc-fl-bar{display:flex;height:22px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--df-on-navy) 12%,transparent);gap:2px}
.dfsc .sc-fl-bar i{display:block;height:100%;background:var(--kc);transition:width .9s var(--ease)}
.dfsc .sc-fl-pipes{display:block;width:100%;height:64px;overflow:visible;margin-bottom:-2px}
.dfsc .sc-fl-pipes path{fill:none;stroke:var(--kc);stroke-width:4;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0;opacity:.95;transition:opacity .6s}
.dfsc .sc-fl-pipes.sc-rest path{opacity:.32}
.dfsc .sc-fl-vs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.dfsc .sc-vw{position:relative;display:flex;justify-content:center}
.dfsc .sc-vs{position:relative;border:0;background:none;padding:0;cursor:pointer;display:grid;gap:10px;justify-items:center;color:var(--df-on-navy);font:inherit;text-align:center;width:100%;max-width:170px;transition:opacity .35s,transform .45s var(--ease)}
.dfsc .sc-fl.sc-hov .sc-vw:not(.sc-on) .sc-vs{opacity:.45}
.dfsc .sc-vw.sc-on .sc-vs{transform:translateY(-6px)}
.dfsc .sc-glass{position:relative;display:block;width:100%;height:236px;border-radius:22px 22px 34px 34px;background:color-mix(in srgb,var(--df-on-navy) 8%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--df-on-navy) 20%,transparent);overflow:hidden}
.dfsc .sc-glass:after{content:"";position:absolute;top:14px;bottom:30px;left:14px;width:8px;border-radius:6px;background:color-mix(in srgb,var(--df-on-navy) 14%,transparent)}
.dfsc .sc-liq{position:absolute;left:0;right:0;bottom:0;height:calc(var(--f,0)*100%);background:var(--kc);transition:height 1.3s cubic-bezier(.3,.6,.2,1)}
.dfsc .sc-liq svg{position:absolute;left:0;bottom:calc(100% - 1px);width:200%;height:10px;fill:var(--kc);animation:sc-wave 3.2s linear infinite}
@keyframes sc-wave{to{transform:translateX(-50%)}}
.dfsc .sc-vobj{position:absolute;right:-26px;bottom:52px;width:96px;z-index:2;filter:drop-shadow(0 12px 14px color-mix(in srgb,var(--df-navy) 40%,transparent));transition:transform .5s var(--ease)}
.dfsc .sc-vw.sc-on .sc-vobj{transform:rotate(-6deg) scale(1.08)}
.dfsc .sc-vobj svg{display:block;width:100%;height:auto}
.dfsc .sc-vs b{font:600 21px/1 var(--df-font-text);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.dfsc .sc-vs .sc-vl{font-size:13px;color:color-mix(in srgb,var(--df-on-navy) 80%,transparent);font-weight:550}.dfsc .sc-vs .sc-vl em{font-style:normal;margin-left:6px;color:var(--df-on-navy)}
.dfsc .sc-pop{position:absolute;top:14px;left:50%;transform:translate(-50%,6px);width:240px;background:var(--df-surface);color:var(--df-ink);border-radius:14px;box-shadow:0 24px 40px -16px color-mix(in srgb,var(--df-navy) 60%,transparent);padding:13px 15px 14px;z-index:6;opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .3s var(--ease);text-align:left;width:max-content;max-width:300px}
.dfsc .sc-vw.sc-on .sc-pop{opacity:1;transform:translate(-50%,0)}
.dfsc .sc-vw:first-child .sc-pop{left:0;transform:translateY(6px)}.dfsc .sc-vw:first-child.sc-on .sc-pop{transform:none}
.dfsc .sc-vw:last-child .sc-pop{left:auto;right:0;transform:translateY(6px)}.dfsc .sc-vw:last-child.sc-on .sc-pop{transform:none}
.dfsc .sc-pop small{display:block;white-space:nowrap;font:600 10.5px var(--df-font-text);letter-spacing:.12em;text-transform:uppercase;color:var(--df-ink-3);margin-bottom:8px}
.dfsc .sc-pop b{display:block;font:600 24px/1 var(--df-font-text);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.dfsc .sc-pop p{white-space:nowrap;margin:7px 0 0;font-size:13.5px;color:var(--df-ink-2);font-variant-numeric:tabular-nums}
@media (max-width:1180px){.dfsc .sc-hg{grid-template-columns:minmax(0,1fr);gap:28px}.dfsc .sc-hg .sc-cta{flex-direction:row}}
@media (max-width:900px){.dfsc .sc-sec.sc-hero{padding:10px 0 24px}.dfsc .sc-hl{padding:0 8px}.dfsc .sc-hg{padding:24px 16px 28px;gap:18px;border-radius:26px;min-height:0}
 .dfsc .sc-hg .sc-lede{margin:10px 0 16px;max-width:none}.dfsc .sc-hg .sc-cta a{flex:1 1 auto;padding:12px 16px}
 .dfsc .sc-fl-top b{font-size:25px}.dfsc .sc-yrt button{padding:6px 10px;font-size:12.5px}.dfsc .sc-fl-bar{height:14px}.dfsc .sc-fl-pipes{height:36px}.dfsc .sc-fl-vs{gap:12px}.dfsc .sc-glass{height:150px;border-radius:16px 16px 22px 22px}.dfsc .sc-vobj{width:46px;right:-8px;bottom:62px}
 .dfsc .sc-vs b{font-size:15px}.dfsc .sc-vs .sc-vl{font-size:11.5px}.dfsc .sc-vs .sc-vl em{display:block;margin:2px 0 0}.dfsc .sc-pop{max-width:220px;top:8px}.dfsc .sc-pop small,.dfsc .sc-pop p{white-space:normal}.dfsc .sc-pop b{font-size:20px}.dfsc .sc-pop p{font-size:12.5px}}

/* ============ THREE KINDS: objects on a shelf, one size ============ */
.dfsc .sc-k1{border-radius:32px;background:var(--df-panel);padding:8px 36px 26px}
.dfsc .sc-k1-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.dfsc .sc-k1-c{display:flex;flex-direction:column;min-width:0;outline:none}
.dfsc .sc-k1-st{height:262px;display:flex;justify-content:center;align-items:flex-end;padding:0 6px 24px;border-bottom:2px solid var(--df-line);transition:border-color .5s}
.dfsc .sc-k1-st>*{transition:transform .7s var(--ease),box-shadow .7s var(--ease)}
.dfsc .sc-k1-c.sc-spot .sc-k1-st,.dfsc .sc-k1-c:hover .sc-k1-st{border-color:var(--kf)}
.dfsc .sc-k1-cap p{margin:14px 0 0;font-size:15px;line-height:1.5;color:var(--df-ink-2);max-width:36ch}
/* every object: the same 300 x 200 box, the same text block at the same height */
.dfsc .sc-ob{position:relative;width:100%;max-width:300px;height:200px;flex:none}
.dfsc .sc-ob .sc-tx{position:absolute;left:24px;right:24px;top:30px}
.dfsc .sc-ob h3{margin:0;font:650 18px/22px var(--df-font-text);letter-spacing:-.015em;white-space:nowrap}
.dfsc .sc-ob .sc-amt{display:block;margin-top:16px;font-size:44px;line-height:40px;white-space:nowrap}
.dfsc .sc-ob .sc-ps{display:block;font-size:12.5px;line-height:16px;color:var(--df-ink-2);margin-top:8px}
.dfsc .sc-cert{background:var(--df-surface);border-radius:14px;box-shadow:var(--shs)}
.dfsc .sc-cert .sc-tx{right:76px}
.dfsc .sc-cert .sc-seal{position:absolute;right:20px;top:20px;width:44px;height:44px}
.dfsc .sc-cert .sc-seal:before,.dfsc .sc-cert .sc-seal:after{content:"";position:absolute;top:30px;width:14px;height:28px;background:var(--kf);opacity:.45;clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%)}
.dfsc .sc-cert .sc-seal:before{left:8px;transform:rotate(14deg)}.dfsc .sc-cert .sc-seal:after{right:8px;transform:rotate(-14deg)}
.dfsc .sc-cert .sc-seal i{position:absolute;inset:0;z-index:1;border-radius:50%;background:var(--kf);display:grid;place-items:center;transition:transform .7s var(--ease)}
.dfsc .sc-cert .sc-seal svg{width:20px;fill:var(--df-surface)}
.dfsc .sc-rcpt-w{filter:drop-shadow(0 12px 18px color-mix(in srgb,var(--df-navy) 13%,transparent))}
[data-theme="dark"] .dfsc .sc-rcpt-w{filter:drop-shadow(0 12px 18px color-mix(in srgb,var(--df-paper) 50%,transparent))}
.dfsc .sc-rcpt{height:100%;background:var(--df-surface);border-radius:10px 10px 0 0;overflow:hidden;-webkit-mask:conic-gradient(from -45deg at bottom,transparent,black 1deg 89deg,transparent 90deg) 50%/18px 100%;mask:conic-gradient(from -45deg at bottom,transparent,black 1deg 89deg,transparent 90deg) 50%/18px 100%}
.dfsc .sc-rcpt:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:var(--kf)}
.dfsc .sc-rcpt .sc-amt{border-top:1.5px dashed var(--df-line-strong);padding-top:12px;margin-top:4px}
.dfsc .sc-rcpt .sc-ps{margin-top:8px}
.dfsc .sc-lap .sc-lid{position:absolute;left:12px;right:12px;top:0;bottom:13px;background:var(--df-line);border-radius:14px 14px 4px 4px;padding:8px;box-shadow:var(--shs)}
.dfsc .sc-lap .sc-scr{position:relative;height:100%;border-radius:7px;background:color-mix(in srgb,var(--kf) 9%,var(--df-surface));overflow:hidden}
.dfsc .sc-lap .sc-scr:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--kf)}
.dfsc .sc-lap .sc-scr:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,color-mix(in srgb,var(--df-on-navy) 35%,transparent) 50%,transparent 65%);transform:translateX(-100%);transition:transform 1s var(--ease)}
[data-theme="dark"] .dfsc .sc-lap .sc-scr:after{background:linear-gradient(115deg,transparent 35%,color-mix(in srgb,var(--df-on-navy) 7%,transparent) 50%,transparent 65%)}
.dfsc .sc-lap .sc-tx{left:4px;right:4px;top:22px}
.dfsc .sc-lap .sc-base{position:absolute;left:0;right:0;bottom:0;height:13px;background:color-mix(in srgb,var(--df-line-strong) 55%,var(--df-line));border-radius:2px 2px 14px 14px}
.dfsc .sc-lap .sc-base:after{content:"";position:absolute;left:50%;top:0;width:56px;height:5px;transform:translateX(-50%);background:var(--df-line-strong);border-radius:0 0 6px 6px;opacity:.7}
[data-theme="dark"] .dfsc .sc-lap .sc-base{background:var(--df-navy-line)}[data-theme="dark"] .dfsc .sc-lap .sc-base:after{background:var(--df-line)}
.dfsc .sc-lap .sc-lid .sc-tx{left:16px;right:16px}
.dfsc .sc-k1-c:hover .sc-cert,.dfsc .sc-k1-c:focus-visible .sc-cert,.dfsc .sc-k1-c.sc-spot .sc-cert{transform:translateY(-10px) rotate(-1.2deg);box-shadow:var(--shl)}
.dfsc .sc-k1-c:hover .sc-cert .sc-seal i,.dfsc .sc-k1-c:focus-visible .sc-cert .sc-seal i,.dfsc .sc-k1-c.sc-spot .sc-cert .sc-seal i{transform:rotate(-20deg)}
.dfsc .sc-k1-c:hover .sc-rcpt-w,.dfsc .sc-k1-c:focus-visible .sc-rcpt-w,.dfsc .sc-k1-c.sc-spot .sc-rcpt-w{transform:translateY(-10px) rotate(1.2deg)}
.dfsc .sc-k1-c:hover .sc-lap,.dfsc .sc-k1-c:focus-visible .sc-lap,.dfsc .sc-k1-c.sc-spot .sc-lap{transform:translateY(-10px)}
.dfsc .sc-k1-c:hover .sc-lap .sc-scr:after,.dfsc .sc-k1-c:focus-visible .sc-lap .sc-scr:after,.dfsc .sc-k1-c.sc-spot .sc-lap .sc-scr:after{transform:translateX(100%)}
.dfsc .sc-k1-c:focus-visible .sc-k1-st{outline:3px solid var(--df-accent);outline-offset:4px;border-radius:14px}
@media (max-width:900px){.dfsc .sc-sec.sc-kinds{padding-top:28px}.dfsc .sc-k1{border-radius:24px;padding:4px 0 16px;margin:0 -8px}
 .dfsc .sc-k1-g{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:0 20px 6px;scrollbar-width:none}.dfsc .sc-k1-g::-webkit-scrollbar{display:none}
 .dfsc .sc-k1-c{flex:0 0 84%;scroll-snap-align:center}.dfsc .sc-k1-st{height:244px;padding:0 4px 18px}.dfsc .sc-ob h3{font-size:16px}.dfsc .sc-ob .sc-tx{left:20px;right:20px}.dfsc .sc-cert .sc-tx{right:62px}.dfsc .sc-cert .sc-seal{right:14px;top:16px;width:38px;height:38px}.dfsc .sc-cert .sc-seal:before,.dfsc .sc-cert .sc-seal:after{top:26px;height:24px;width:12px}.dfsc .sc-lap .sc-lid .sc-tx{left:12px;right:12px}.dfsc .sc-k1-cap p{margin:12px 0 6px;font-size:14.5px}}

/* ============ CURRENT AND PAST ============ */
.dfsc .sc-tabs>[role=tablist]{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--df-panel);max-width:100%}
.dfsc .sc-tabs>[role=tablist]>[role=tab]{border:0;background:none;padding:9px 16px;border-radius:999px;font:600 14.5px var(--df-font-text);color:var(--df-ink-2);cursor:pointer;display:inline-flex;gap:8px;align-items:center;white-space:nowrap;transition:background .25s,color .25s,box-shadow .25s}
.dfsc .sc-tabs>[role=tablist]>[role=tab]:hover{color:var(--df-ink)}
.dfsc .sc-tabs>[role=tablist]>[role=tab] .sc-c{font:700 11px var(--df-font-text);font-variant-numeric:tabular-nums;background:var(--df-line);color:var(--df-ink-2);border-radius:999px;padding:2px 7px}
.dfsc .sc-tabs>[role=tablist]>[role=tab][aria-selected=true]{background:var(--df-surface);color:var(--df-ink);box-shadow:0 1px 4px color-mix(in srgb,var(--df-navy) 12%,transparent)}
.dfsc .sc-tabs>[role=tabpanel]{margin-top:20px;animation:sc-pin .45s var(--ease)}@keyframes sc-pin{from{opacity:0;transform:translateY(8px)}}
.dfsc .sc-tabs>[role=tabpanel]:focus-visible{outline-offset:6px;border-radius:24px}
/* Past: r4 archive, simplified */
.dfsc .sc-pd{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:26px;align-items:stretch}
.dfsc .sc-pd-dr{position:relative;border-radius:28px;padding:12px 22px 12px 14px;margin:0;list-style:none}
.dfsc .sc-pd-dr ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.dfsc .sc-pd-y{display:block;font:600 11px var(--df-font-text);letter-spacing:.12em;color:var(--df-ink-3);padding:8px 18px 4px;font-variant-numeric:tabular-nums}
.dfsc .sc-pd-t{position:relative;display:grid;gap:1px;width:100%;text-align:left;border:0;background:transparent;color:var(--df-ink);padding:8px 14px 8px 18px;border-radius:12px;cursor:pointer;transition:transform .25s var(--ease),background .2s,box-shadow .2s}
.dfsc .sc-pd-t:before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:3px;border-radius:2px;background:var(--kc)}
.dfsc .sc-pd-t b{font:600 15.5px var(--df-font-text);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.dfsc .sc-pd-t span{font-size:12.5px;color:var(--df-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dfsc .sc-pd-t:hover{background:color-mix(in srgb,var(--df-surface) 60%,transparent)}
.dfsc .sc-pd-t[aria-current=true]{background:var(--df-surface);transform:translateX(14px);box-shadow:var(--shs)}
.dfsc .sc-pd-wrap{display:flex;min-width:0}.dfsc .sc-pd-s{flex:1;min-width:0;display:flex;border-radius:22px;background:var(--df-surface);box-shadow:var(--shs);min-height:100%}
.dfsc .sc-pd-s .sc-stub{flex:none;width:88px;border-radius:22px 0 0 22px;background:color-mix(in srgb,var(--kc) 13%,var(--df-surface));position:relative;display:grid;place-items:center;transition:background .4s}
.dfsc .sc-pd-s .sc-stub:after{content:"";position:absolute;right:-1px;top:14px;bottom:14px;width:2px;background:radial-gradient(circle,var(--df-line-strong) 1px,transparent 1.5px) 0 0/2px 8px repeat-y;opacity:.7}
.dfsc .sc-pd-s .sc-stub i{font:600 13px var(--df-font-text);font-style:normal;letter-spacing:.16em;writing-mode:vertical-rl;transform:rotate(180deg);color:color-mix(in srgb,var(--kc) 70%,var(--df-ink))}
.dfsc .sc-pd-b{position:relative;flex:1;padding:36px 40px 34px;display:flex;flex-direction:column;justify-content:center;min-width:0;overflow:hidden}
.dfsc .sc-pd-b>*{position:relative}
.dfsc .sc-pd-b.sc-swap>:not(.sc-pd-ico){animation:sc-swap .45s var(--ease)}@keyframes sc-swap{from{opacity:0;transform:translateY(10px)}}
.dfsc .sc-pd-ico{position:absolute!important;right:34px;top:34px;width:150px;color:color-mix(in srgb,var(--kc) 13%,var(--df-surface));--hole:var(--df-surface);transition:color .4s}.dfsc .sc-pd-ico .sc-ico{width:100%}
.dfsc .sc-pd-a{margin-top:22px;font-size:clamp(64px,7.6vw,112px);color:var(--df-ink);white-space:nowrap}
.dfsc .sc-pd-a small{font:500 18px var(--df-font-text);text-transform:none;letter-spacing:0;color:var(--df-ink-2);margin-left:10px}
.dfsc .sc-pd-n{margin:16px 0 0;font:600 22px/1.3 var(--df-font-text);letter-spacing:-.015em}
.dfsc .sc-pd-m{margin:8px 0 0;font-size:15px;color:var(--df-ink-2);font-variant-numeric:tabular-nums}
/* open cards */
.dfsc .sc-acg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.dfsc .sc-ac{display:flex;flex-direction:column;gap:8px;background:var(--df-surface);border-radius:22px;box-shadow:var(--shs);padding:22px 22px 20px;min-width:0}
.dfsc .sc-ac .sc-tg{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dfsc .sc-ac-a{margin-top:6px;font-size:52px;white-space:nowrap}.dfsc .sc-ac-a small{font:500 13px var(--df-font-text);text-transform:none;letter-spacing:0;color:var(--df-ink-2);margin-left:6px}
.dfsc .sc-ac-n{margin:0;font:600 16px/1.3 var(--df-font-text)}.dfsc .sc-ac-m{margin:0;font-size:13.5px;color:var(--df-ink-2);font-variant-numeric:tabular-nums}
.dfsc .sc-ac .sc-b1{margin-top:10px;align-self:flex-start}
/* empty states (r5) */
.dfsc .sc-em{border-radius:34px;padding:52px 56px}
.dfsc .sc-em-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center;max-width:1040px;margin:0 auto}
.dfsc .sc-stub2{position:relative;justify-self:center;width:100%;max-width:400px;background:var(--df-surface);padding:22px 26px 64px;border-radius:6px 6px 0 0;box-shadow:var(--shs);transform:rotate(-2deg);opacity:.66;filter:saturate(.4);
 -webkit-mask:conic-gradient(from -45deg at bottom,transparent,black 1deg 89deg,transparent 90deg) 50%/16px 100%;mask:conic-gradient(from -45deg at bottom,transparent,black 1deg 89deg,transparent 90deg) 50%/16px 100%;transition:opacity .5s var(--ease),transform .6s var(--ease)}
.dfsc .sc-em:hover .sc-stub2{opacity:.82;transform:rotate(-1deg)}
.dfsc .sc-lp-h{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding-bottom:10px;border-bottom:1.5px solid var(--df-ink)}
.dfsc .sc-lp-h small{display:block;font:600 11px var(--df-font-text);letter-spacing:.14em;text-transform:uppercase;color:var(--df-ink-3)}
.dfsc .sc-lp-h b{font:600 16px var(--df-font-text);letter-spacing:-.015em}
.dfsc .sc-lp-h .sc-yr{font:500 15px var(--df-font-text);color:var(--df-ink-2);font-variant-numeric:tabular-nums}
.dfsc .sc-stub2 ul{list-style:none;margin:0;padding:0}
.dfsc .sc-stub2 li{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--df-line);font-size:14px}
.dfsc .sc-stub2 li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--df-ink-2)}.dfsc .sc-stub2 li b{font-weight:550;font-variant-numeric:tabular-nums;white-space:nowrap}
.dfsc .sc-stub2 .sc-cl{position:absolute;left:24px;bottom:26px;font:800 13px var(--df-font-text);letter-spacing:.18em;text-transform:uppercase;color:var(--df-ink-3);background:color-mix(in srgb,var(--df-ink-3) 14%,transparent);border-radius:999px;padding:6px 12px;transform:rotate(-8deg)}
.dfsc .sc-em-t h3{margin:0 0 24px;font:650 clamp(23px,2.3vw,30px)/1.2 var(--df-font-text);letter-spacing:-.022em;max-width:22ch}
@media (max-width:900px){.dfsc .sc-pd{grid-template-columns:minmax(0,1fr);gap:12px}
 .dfsc .sc-pd-wrap{order:-1}.dfsc .sc-pd-s{border-radius:20px;min-height:0}.dfsc .sc-pd-s .sc-stub{width:40px;border-radius:20px 0 0 20px}.dfsc .sc-pd-s .sc-stub i{font-size:11px}
 .dfsc .sc-pd-b{padding:20px 18px 18px}.dfsc .sc-pd-a{margin-top:12px;font-size:56px}.dfsc .sc-pd-a small{font-size:14px;margin-left:6px}.dfsc .sc-pd-n{font-size:17px;margin-top:10px}.dfsc .sc-pd-m{font-size:13.5px;margin-top:4px}.dfsc .sc-pd-ico{width:64px;right:14px;top:16px}
 .dfsc .sc-pd-dr{max-height:212px;overflow-y:auto;border-radius:20px;padding:4px 8px 8px;margin:0 -8px;scrollbar-width:thin}
 .dfsc .sc-pd-t{padding:7px 12px 7px 16px}.dfsc .sc-pd-t[aria-current=true]{transform:none}.dfsc .sc-pd-y{padding:8px 16px 2px}
 .dfsc .sc-acg{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:4px 16px 14px;scrollbar-width:none}.dfsc .sc-acg::-webkit-scrollbar{display:none}.dfsc .sc-ac{flex:0 0 82%;scroll-snap-align:center}.dfsc .sc-ac-a{font-size:44px}
 .dfsc .sc-em{border-radius:24px;padding:26px 18px 28px;margin:0 -8px}.dfsc .sc-em-in{grid-template-columns:minmax(0,1fr);gap:26px}
 .dfsc .sc-stub2{max-width:300px;padding:14px 18px 48px}.dfsc .sc-stub2 li{padding:7px 0;font-size:13px}.dfsc .sc-lp-h b{font-size:14px}.dfsc .sc-stub2 .sc-cl{bottom:20px;left:18px;font-size:11px}
 .dfsc .sc-em-t h3{font-size:21px;margin-bottom:16px}.dfsc .sc-em-t .sc-b1{width:100%}}
@media (max-width:640px){.dfsc .sc-sec{padding:52px 0}.dfsc .sc-wrap{padding:0 16px}.dfsc .sc-shead{margin-bottom:16px}
 .dfsc .sc-tabs>[role=tablist]>[role=tab]{padding:8px 11px;font-size:13.5px}.dfsc .sc-tabs .sc-lg{display:none}.dfsc .sc-tabs>[role=tabpanel]{margin-top:14px}}

/* ============ APPLY (r5) ============ */
.dfsc .sc-ap-h{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 30px;flex-wrap:wrap;margin-bottom:26px}
.dfsc .sc-ap-h .sc-lede{max-width:40ch}
.dfsc .sc-apc{border-radius:30px;padding:30px 34px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px 30px;align-items:center}
.dfsc .sc-apc-sign{width:92px;height:92px;border-radius:24px;background:var(--df-surface);display:grid;place-items:center;box-shadow:var(--shs);transform:rotate(-4deg)}
.dfsc .sc-apc-sign span{font:800 13px var(--df-font-text);letter-spacing:.16em;text-transform:uppercase;color:var(--df-ink-2);border-top:3px solid var(--df-ink-2);border-bottom:3px solid var(--df-ink-2);padding:5px 2px}
.dfsc .sc-apc h3{margin:0 0 6px;font:650 22px/1.25 var(--df-font-text);letter-spacing:-.02em}
.dfsc .sc-apc p{margin:0;color:var(--df-ink-2);font-size:15.5px;line-height:1.55;max-width:46ch}
.dfsc .sc-soc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:420px}
.dfsc .sc-soc a{display:flex;align-items:center;gap:10px;background:var(--df-surface);border-radius:14px;padding:12px 14px;color:var(--df-ink);text-decoration:none;font:600 14.5px var(--df-font-text);box-shadow:0 1px 2px color-mix(in srgb,var(--df-navy) 5%,transparent);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.dfsc .sc-soc a:hover{transform:translateY(-3px);box-shadow:var(--sh)}.dfsc .sc-soc a:active{transform:scale(.97)}
.dfsc .sc-soc svg{width:22px;height:22px;flex:none}
.dfsc .sc-mono{color:var(--df-ink)}
.dfsc .sc-lf{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px;align-items:start}
.dfsc .sc-fbox{background:var(--df-panel);border-radius:28px;padding:22px 24px 20px}
.dfsc .sc-fbox .dff-grid{gap:0 14px}.dfsc .sc-fbox .dff{margin-bottom:12px}
.dfsc .sc-fbox textarea.dff-in{min-height:84px}
.dfsc .sc-fbox .sc-cnt{display:flex;justify-content:space-between;gap:10px}.dfsc .sc-fbox .sc-cnt b{font:600 12.5px var(--df-font-text);font-variant-numeric:tabular-nums}.dfsc .sc-fbox .sc-cnt b.sc-ok{color:var(--df-ok)}
.dfsc .sc-ffoot{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:4px;flex-wrap:wrap}
.dfsc .sc-lf-card{position:sticky;top:16px;background:var(--df-surface);border-radius:26px;box-shadow:var(--sh2);padding:24px;display:grid;gap:16px}
.dfsc .sc-lf-who{display:flex;gap:14px;align-items:center}.dfsc .sc-lf-who .sc-av{width:52px;height:52px;border-radius:50%;background:var(--df-brand-gradient);color:var(--df-on-navy);display:grid;place-items:center;font-weight:700;font-size:18px;flex:none}
.dfsc .sc-lf-who>div{min-width:0}.dfsc .sc-lf-who b{display:block;font-size:20px;letter-spacing:-.02em;overflow-wrap:anywhere}.dfsc .sc-lf-who small{color:var(--df-ink-3);font-size:13.5px;overflow-wrap:anywhere}
.dfsc .sc-lf-q{font-size:16px;line-height:1.55;color:var(--df-ink);border-left:3px solid var(--df-accent);padding-left:14px;min-height:96px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto}
.dfsc .sc-lf-q.sc-ph{color:var(--df-ink-3)}
.dfsc .sc-lf-meter{display:flex;gap:14px;align-items:center}.dfsc .sc-lf-meter svg{width:54px;height:54px;flex:none;transform:rotate(-90deg)}
.dfsc .sc-lf-meter circle{fill:none;stroke-width:6}.dfsc .sc-lf-meter .sc-bg{stroke:var(--df-line)}.dfsc .sc-lf-meter .sc-fg{stroke:var(--df-accent);stroke-linecap:round;transition:stroke-dashoffset .25s var(--ease),stroke .2s}
.dfsc .sc-lf-meter.sc-ok .sc-fg{stroke:var(--df-ok)}.dfsc .sc-lf-meter.sc-ok b{color:var(--df-ok)}.dfsc .sc-lf-meter b{font:650 14px var(--df-font-text);font-variant-numeric:tabular-nums}.dfsc .sc-lf-meter small{display:block;color:var(--df-ink-3);font-size:13px}
.dfsc .sc-nf-ok{display:flex;gap:12px;align-items:center;font-weight:600;padding:6px 2px}.dfsc .sc-nf-ok i{width:34px;height:34px;border-radius:50%;background:var(--df-ok);display:grid;place-items:center;color:var(--df-on-status);font-style:normal;flex:none}
@media (max-width:1100px){.dfsc .sc-apc{grid-template-columns:auto minmax(0,1fr)}.dfsc .sc-apc .sc-soc{grid-column:1/-1}}
@media (max-width:900px){.dfsc .sc-lf{grid-template-columns:minmax(0,1fr);gap:10px}.dfsc .sc-lf-card{order:-1;position:static;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:12px 14px;border-radius:18px;box-shadow:var(--sh)}
 .dfsc .sc-lf-q{display:none}.dfsc .sc-lf-who .sc-av{width:40px;height:40px;font-size:15px}.dfsc .sc-lf-who b{font-size:16px}.dfsc .sc-lf-who small{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dfsc .sc-lf-meter>div{display:none}.dfsc .sc-lf-meter svg{width:40px;height:40px}
 .dfsc .sc-apc{grid-template-columns:minmax(0,1fr);padding:22px 18px;border-radius:24px;margin:0 -8px;gap:16px}.dfsc .sc-apc-sign{width:64px;height:64px;border-radius:18px}.dfsc .sc-apc-sign span{font-size:10px}.dfsc .sc-apc h3{font-size:19px}.dfsc .sc-apc p{font-size:14.5px}
 .dfsc .sc-soc{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dfsc .sc-soc a{padding:10px 12px;font-size:14px}}
@media (max-width:640px){.dfsc .sc-ap-h{margin-bottom:14px}.dfsc .sc-fbox{padding:14px 12px 12px;border-radius:20px;margin:0 -8px}.dfsc .sc-fbox .dff-grid,.dfsc .sc-fbox .dff-grid.sc-keep{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px}
 .dfsc .sc-fbox .dff{margin-bottom:8px}.dfsc .sc-fbox .dff-lab{font-size:13.5px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dfsc .sc-fbox .dff-in{padding:9px 11px;font-size:16px}.dfsc .sc-fbox textarea.dff-in{min-height:60px}
 .dfsc .sc-ffoot{margin-top:0}.dfsc .sc-ffoot .dff-b1{width:100%}.dfsc .sc-fbox .sc-cnt span{display:none}.dfsc .sc-fbox .sc-cnt{justify-content:flex-end}}

/* ============ CLOSING (r5) ============ */
.dfsc .sc-cl-in{border-radius:32px;background:var(--df-brand-gradient);color:var(--df-on-navy);padding:56px 60px;display:flex;justify-content:space-between;align-items:center;gap:20px 40px;flex-wrap:wrap;position:relative;overflow:hidden}
.dfsc .sc-cl-in:before{content:"";position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--df-on-navy) 4.5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--df-on-navy) 4.5%,transparent) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
.dfsc .sc-cl-in>*{position:relative}
.dfsc .sc-cl-in .sc-b1{background:var(--df-on-navy);color:var(--h-ink);padding:15px 26px;font-size:16px}
@media (max-width:640px){.dfsc .sc-cl{padding:0 8px}.dfsc .sc-cl-in{padding:32px 22px;border-radius:24px}.dfsc .sc-cl-in .sc-b1{width:100%}}

/* ============ PORT ADDITIONS (live data, no-JS, the objects' colours) ============ */
/* The hero objects: brand colours, light paper objects in both themes. */
.dfsc .sc-m-r1 { fill: color-mix(in srgb, var(--df-brand-cyan) 80%, var(--df-navy)); }
.dfsc .sc-m-r2 { fill: color-mix(in srgb, var(--df-brand-cyan) 62%, var(--df-navy)); }
.dfsc .sc-m-pf { fill: var(--df-on-navy); }
.dfsc .sc-m-p2 { fill: color-mix(in srgb, var(--df-on-navy) 88%, var(--df-on-navy-2)); }
.dfsc .sc-m-p3 { fill: color-mix(in srgb, var(--df-on-navy) 72%, var(--df-on-navy-2)); }
.dfsc .sc-m-ring { fill: none; stroke: color-mix(in srgb, var(--df-navy) 22%, transparent); stroke-width: 1.6; }
.dfsc .sc-m-nv { fill: var(--df-navy); }
.dfsc .sc-m-tl { fill: color-mix(in srgb, var(--df-brand-teal) 62%, var(--df-navy)); }
.dfsc .sc-m-gr { fill: color-mix(in srgb, var(--df-on-navy-2) 70%, var(--df-navy)); }
.dfsc .sc-m-ln { fill: none; stroke: var(--df-on-navy-accent); stroke-width: 3; stroke-linecap: round; }
.dfsc .sc-hole { fill: var(--hole); }
.dfsc .sc-defs { position: absolute; width: 0; height: 0; }
.dfsc .sc-ac-x { margin-top: 10px; font-weight: 600; }
.dfsc .sc-apc .sc-cta .sc-b1 { white-space: normal; text-align: left; }
.dfsc .sc-tabs>[role=tabpanel][hidden] { display: none; }
/* Without JS: no tablist; the three panels follow one another. */
.dfsc:not(.sc-js) .sc-tabs>[role=tablist] { display: none; }
.dfsc:not(.sc-js) .sc-tabs>[role=tabpanel]+[role=tabpanel] { margin-top: 28px; }
@media (prefers-reduced-motion:reduce){.dfsc *,.dfsc *:before,.dfsc *:after{animation:none!important;transition:none!important}.dfsc{scroll-behavior:auto}}
