/* ==========================================================================
   BA Professional Programmes – interactive layer on top of base.css
   Colours: #0047BB blue · #001E60 navy · #A7C6ED sky · #80E0A7 mint · #101820 ink
   ========================================================================== */
:root{--blue:#0047BB;--navy:#001E60;--sky:#A7C6ED;--mint:#80E0A7;--ink:#101820;--cloud:#EEF4FC;--shadow:0 18px 40px -18px rgba(0,30,96,.35);--shadow-sm:0 8px 20px -12px rgba(0,30,96,.35)}
[hidden]{display:none!important}
body{overflow-x:hidden}
img{max-width:100%}
.ic{width:1.25em;height:1.25em;flex:none;display:inline-block;vertical-align:-.2em}

/* ---------- reveal on scroll ---------- */
.rv{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ---------- top banner ---------- */
.tb{background:var(--navy);color:#fff;position:relative;z-index:30}
.tb .wrap{display:flex;align-items:center;gap:1rem;min-height:52px;padding-block:.375rem}
.tb-label{display:inline-flex;align-items:center;gap:.5rem;font:700 var(--fs-small)/1 var(--font-heading);white-space:nowrap}
.tb-pulse{width:10px;height:10px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 0 rgba(128,224,167,.7);animation:pulse 1.8s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(128,224,167,0)}100%{box-shadow:0 0 0 0 rgba(128,224,167,0)}}
.tb-dates{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;padding:2px}
.tb-dates::-webkit-scrollbar{display:none}
.tb-chip{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;text-decoration:none;color:#fff;border:1.5px solid rgba(255,255,255,.35);border-radius:999px;padding:.375rem .75rem .375rem .375rem;font:600 var(--fs-small)/1 var(--font-heading);transition:background .2s,border-color .2s,transform .2s}
.tb-chip .d{display:grid;place-items:center;min-width:2.1rem;height:1.6rem;border-radius:999px;background:rgba(255,255,255,.14);font-weight:800;font-size:.8125rem}
.tb-chip:hover,.tb-chip:focus-visible{background:var(--mint);border-color:var(--mint);color:var(--navy);transform:translateY(-1px)}
.tb-chip:hover .d,.tb-chip:focus-visible .d{background:#fff}
.tb-count{font:600 .8125rem/1 var(--font-heading);color:var(--sky);white-space:nowrap}
.tb-cta{margin-left:auto;display:inline-flex;align-items:center;gap:.375rem;white-space:nowrap;background:var(--mint);color:var(--navy);text-decoration:none;font:700 var(--fs-small)/1 var(--font-heading);padding:.625rem 1rem;border-radius:999px;transition:background .2s,transform .2s}
.tb-cta:hover{background:#fff;transform:translateY(-1px)}
.tb-cta .ic{transition:transform .2s}.tb-cta:hover .ic{transform:translateX(3px)}
@media (max-width:720px){.tb-count{display:none}.tb .wrap{gap:.625rem}.tb-label span{display:none}}

/* ---------- header / nav ---------- */
.bar .nav ul a{position:relative;padding-block:.5rem}
.bar .nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;background:var(--mint);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.bar .nav ul a:hover::after,.bar .nav ul a[aria-current="page"]::after{transform:scaleX(1)}
.nav-x{display:inline-flex;align-items:center;gap:.75rem}
.menu-btn{display:none;width:48px;height:48px;border-radius:var(--radius-btn);border:2px solid var(--line);background:#fff;cursor:pointer;place-items:center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:20px;height:2.5px;background:var(--ink);border-radius:2px;position:relative;transition:transform .25s,background .25s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
.menu-btn span::before{top:-7px}.menu-btn span::after{top:7px}
.menu-open .menu-btn span{background:transparent}
.menu-open .menu-btn span::before{transform:translateY(7px) rotate(45deg)}
.menu-open .menu-btn span::after{transform:translateY(-7px) rotate(-45deg)}
.mnav{display:none}
@media (max-width:900px){
  .menu-btn{display:grid}
  .mnav{display:block;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);max-height:0;overflow:hidden;transition:max-height .35s ease}
  .menu-open .mnav{max-height:480px}
  .mnav ul{list-style:none;margin:0;padding:.5rem max(20px,env(safe-area-inset-left)) 1.25rem;display:grid}
  .mnav a{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line);text-decoration:none;font:700 1.0625rem/1 var(--font-heading)}
  .mnav a[aria-current="page"]{color:var(--blue)}
  .bar{position:sticky}
}
@media (max-width:420px){.nav-x .b-enq{padding:0 .875rem}}

/* ---------- headings with accent ---------- */
.accent{color:var(--blue);font-style:normal;position:relative;white-space:nowrap}
.accent::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.18em;background:var(--mint);z-index:-1;border-radius:4px}
.band .accent{color:var(--blue)}
.dark .accent,.c-night .accent{color:var(--mint)}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font:700 var(--fs-small)/1 var(--font-heading);color:var(--navy);background:rgba(255,255,255,.7);padding:.5rem .875rem;border-radius:999px;width:max-content;max-width:100%}
.eyebrow .tb-pulse{width:8px;height:8px}
.tags{display:flex;flex-wrap:wrap;gap:.5rem}
.tag-chip{font:600 var(--fs-small)/1 var(--font-heading);padding:.5rem .75rem;border-radius:999px;background:rgba(255,255,255,.75);color:var(--navy);display:inline-flex;align-items:center;gap:.375rem}

/* ---------- interactive cards ---------- */
.lift{transition:transform .25s ease,box-shadow .25s ease}
.lift:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.card .icon-badge{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--badge-bg,#fff);color:var(--badge-fg,var(--blue));flex:none}
.card .icon-badge .ic{width:26px;height:26px}
.c-light{--badge-bg:#fff;--badge-fg:var(--blue)}
.c-mint{--badge-bg:#fff;--badge-fg:var(--navy)}
.c-night{--badge-bg:var(--blue);--badge-fg:#fff}
.c-blue{--card-bg:#0047BB;--card-fg:#fff;--card-bd:#0047BB;--card-sub:#A7C6ED;--card-muted:#fff;--main-bg:#80E0A7;--main-fg:#101820;--main-hover:#fff;--badge-bg:#fff;--badge-fg:#0047BB}
.c-white{--card-bg:#fff;--card-bd:var(--line)}
.arrow-link{display:inline-flex;align-items:center;gap:.375rem;font:700 var(--fs-ui)/1 var(--font-heading);text-decoration:none;color:inherit}
.arrow-link .ic{transition:transform .2s}
.arrow-link:hover .ic,.btn:hover .ic{transform:translateX(4px)}
.btn .ic{transition:transform .2s;margin-left:.375rem}
.btn{gap:0}
.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.chips{display:flex;flex-wrap:wrap;gap:.375rem}
.chip{display:inline-flex;align-items:center;gap:.375rem;font:600 .8125rem/1 var(--font-heading);padding:.4375rem .625rem;border-radius:999px;background:var(--chip-bg,rgba(0,30,96,.08));color:var(--chip-fg,var(--navy))}
.chip .ic{width:1rem;height:1rem}
.c-night .chip,.c-blue .chip{--chip-bg:rgba(255,255,255,.14);--chip-fg:#fff}
.c-light .chip,.c-mint .chip{--chip-bg:rgba(255,255,255,.7)}

/* ---------- section helpers ---------- */
.sec-cloud{background:var(--cloud)}
.center-head{margin-inline:auto;text-align:left}
.cta-band{background:var(--navy);color:#fff;border-radius:24px;padding:clamp(2rem,5vw,3.5rem);display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:2rem;align-items:center;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:var(--blue);opacity:.6}
.cta-band::after{content:"";position:absolute;right:120px;bottom:-50px;width:110px;height:110px;border-radius:50%;background:var(--mint);opacity:.35}
.cta-band > *{position:relative;z-index:1}
.cta-band h2{color:#fff}
.cta-band p{color:#DCE6F7}
.cta-band .btns{flex-wrap:wrap}
.cta-band .b-main{--main-bg:#80E0A7;--main-fg:#101820;--main-hover:#fff}
.cta-band .b-alt{--alt-bg:transparent;--alt-fg:#fff;border-color:rgba(255,255,255,.5)}
.cta-band .b-alt:hover{background:#fff;color:var(--navy);filter:none}
@media (max-width:820px){.cta-band{grid-template-columns:1fr}}

/* tabs / filters */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.filters button{font:700 var(--fs-ui)/1 var(--font-heading);padding:.75rem 1.125rem;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:all .2s}
.filters button:hover{border-color:var(--blue);color:var(--blue)}
.filters button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.is-hidden{display:none!important}

/* count-up stats */
.count{font-variant-numeric:tabular-nums}

/* ---------- journey timeline ---------- */
.steps5{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;counter-reset:s}
.steps5 li{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.5rem 1.25rem;display:grid;gap:.75rem;align-content:start;position:relative}
.steps5 li:nth-child(odd){background:var(--cloud);border-color:var(--cloud)}
.steps5 .num{font:800 2.5rem/1 var(--font-heading);color:var(--sky);letter-spacing:-.02em}
.steps5 .icon-badge{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--blue);color:#fff}
.steps5 li:first-child .icon-badge{background:var(--mint);color:var(--navy)}
.steps5 h3{font-size:1.25rem}
.steps5 p{color:var(--muted);font-size:var(--fs-card)}
@media (max-width:1000px){.steps5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.steps5{grid-template-columns:1fr}}

/* ---------- programme cards (programmes page) ---------- */
.prog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.prog-card{border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;scroll-margin-top:140px}
.prog-head{padding:1.75rem;display:grid;gap:.75rem;position:relative;overflow:hidden}
.prog-head::after{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.18)}
.prog-card.f .prog-head{background:var(--sky);color:var(--ink)}
.prog-card.a .prog-head{background:var(--navy);color:#fff}
.prog-card.a .prog-head .sub{color:var(--mint)}
.prog-card.f .prog-head .sub{color:var(--navy)}
.prog-head .badge{justify-self:start;font:700 .75rem/1 var(--font-heading);text-transform:uppercase;letter-spacing:.06em;padding:.5rem .75rem;border-radius:999px;background:#fff;color:var(--navy)}
.prog-card.a .badge{background:var(--mint)}
.prog-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:1.25rem 1.75rem 0}
.prog-facts div{background:var(--cloud);border-radius:12px;padding:.75rem;display:flex;gap:.625rem;align-items:center}
.prog-facts .ic{color:var(--blue);width:22px;height:22px}
.prog-facts b{display:block;font:800 1rem/1.2 var(--font-heading)}
.prog-facts span{display:block;font-size:.8125rem;color:var(--muted);line-height:1.3}
.mods{padding:1rem 1.75rem 0;display:grid;gap:.5rem}
.mod{border:1px solid var(--line);border-radius:14px;background:#fff;transition:border-color .2s,box-shadow .2s}
.mod:first-child{border-top:1px solid var(--line)}
.mod[open]{border-color:var(--sky);box-shadow:var(--shadow-sm)}
.mod summary{min-height:60px;padding:.75rem 1rem;gap:.75rem;justify-content:flex-start}
.mod summary::after{margin-left:auto}
.mod summary .icon-badge{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--cloud);color:var(--blue)}
.mod summary .icon-badge .ic{width:20px;height:20px}
.mod summary small{font:600 .75rem/1 var(--font-heading);color:var(--muted);background:var(--cloud);padding:.375rem .5rem;border-radius:999px}
.mod ul{list-style:none;margin:0;padding:0 1rem 1rem 3.75rem;display:grid;gap:.5rem}
.mod li{position:relative;font-size:var(--fs-card);padding-left:1.5rem}
.mod li::before{content:"";position:absolute;left:0;top:.45em;width:.75rem;height:.4rem;border-left:2.5px solid var(--blue);border-bottom:2.5px solid var(--blue);transform:rotate(-45deg)}
.prog-foot{padding:1.5rem 1.75rem 1.75rem;margin-top:auto}
.prog-foot .btns{flex-wrap:wrap}
.prog-card .who{font-size:var(--fs-card)}
.prog-card .meta-line{font-weight:600}
@media (max-width:900px){.prog{grid-template-columns:1fr}}
@media (max-width:480px){.prog-facts{grid-template-columns:1fr}.mod ul{padding-left:1rem}}

/* cohort dates tiles */
.datetiles{display:flex;gap:.75rem;flex-wrap:wrap}
.dt{background:#fff;color:var(--navy);border-radius:16px;min-width:96px;text-align:center;overflow:hidden;box-shadow:var(--shadow-sm);text-decoration:none;transition:transform .2s,box-shadow .2s;display:block}
.dt .m{display:block;background:var(--blue);color:#fff;font:700 .75rem/1 var(--font-heading);text-transform:uppercase;letter-spacing:.08em;padding:.5rem}
.dt b{display:block;font:800 2.25rem/1 var(--font-heading);padding:.625rem .75rem .125rem}
.dt small{display:block;font:600 .8125rem/1.2 var(--font-heading);padding:0 .75rem .75rem;color:var(--muted)}
a.dt:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:var(--shadow)}
.dt.mint .m{background:var(--mint);color:var(--navy)}

/* ---------- webinar section + calendar form ---------- */
.wb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
@media (max-width:960px){.wb{grid-template-columns:1fr}}
.wb-info{display:grid;gap:1.25rem}
.limited{display:inline-flex;align-items:center;gap:.5rem;font:700 var(--fs-small)/1 var(--font-heading);background:#FFF1D6;color:#7A4B00;padding:.5rem .875rem;border-radius:999px;width:max-content}
.benefits{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.benefits li{display:grid;grid-template-columns:44px 1fr;gap:.875rem;align-items:start;background:#fff;border-radius:16px;padding:1rem;border:1px solid var(--line)}
.benefits .icon-badge{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--cloud);color:var(--blue)}
.benefits b{display:block;font:700 var(--fs-card)/1.3 var(--font-heading);margin-bottom:.125rem}
.benefits span{font-size:var(--fs-small);color:var(--muted)}
.wcard{background:#fff;border-radius:24px;box-shadow:var(--shadow);padding:clamp(1.25rem,3vw,2rem);display:grid;gap:1.25rem;border:1px solid var(--line);scroll-margin-top:140px}
.wcard h3{font-size:1.5rem}
.wstep{display:grid;gap:.75rem;border:0;margin:0;padding:0;min-width:0}
.wstep legend,.wstep .lg{display:flex;align-items:center;gap:.625rem;font:700 var(--fs-ui)/1.3 var(--font-heading);margin-bottom:.25rem;padding:0}
.wstep .sn{width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:800 .8125rem/1 var(--font-heading);flex:none}
.topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.topic{position:relative;cursor:pointer}
.topic input{position:absolute;opacity:0;pointer-events:none}
.topic span{display:flex;align-items:center;gap:.625rem;padding:.75rem .875rem;border-radius:14px;border:2px solid transparent;font:700 .9375rem/1.25 var(--font-heading);transition:transform .15s,box-shadow .2s,border-color .2s;min-height:56px}
.topic span::before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid currentColor;flex:none;background:transparent;box-shadow:inset 0 0 0 3px transparent;transition:background .2s}
.topic input:checked + span{border-color:var(--ink);box-shadow:var(--shadow-sm);transform:translateY(-2px)}
.topic input:checked + span::before{background:currentColor;box-shadow:inset 0 0 0 3px var(--tbg)}
.topic input:focus-visible + span{outline:3px solid var(--focus);outline-offset:2px}
.t-foundation span{--tbg:#A7C6ED;background:#A7C6ED;color:#001E60}
.t-advanced span{--tbg:#001E60;background:#001E60;color:#fff}
.t-ai span{--tbg:#80E0A7;background:#80E0A7;color:#001E60}
.t-enterprise span{--tbg:#0047BB;background:#0047BB;color:#fff}
.t-unsure span{--tbg:#fff;background:#fff;color:#001E60;border-color:var(--line)}
.t-unsure input:checked + span{border-color:var(--navy)}
.topic-wide{grid-column:1/-1}
@media (max-width:420px){.topics{grid-template-columns:1fr}}

.cal{border:1px solid var(--line);border-radius:18px;padding:1rem;display:grid;gap:.75rem;background:#fff}
.cal-head{display:flex;align-items:center;justify-content:space-between}
.cal-head b{font:800 1.0625rem/1 var(--font-heading)}
.cal-nav{width:40px;height:40px;border-radius:12px;border:2px solid var(--line);background:#fff;cursor:pointer;display:grid;place-items:center;color:var(--navy)}
.cal-nav:disabled{opacity:.3;cursor:default}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;text-align:center}
.cal-grid .dow{font:700 .75rem/1 var(--font-heading);color:var(--muted);padding:.375rem 0}
.cal-grid .day{aspect-ratio:1;display:grid;place-items:center;border-radius:12px;font:600 .9375rem/1 var(--font-heading);color:#9AA3AE;border:0;background:transparent}
.cal-grid button.day{cursor:pointer;color:var(--navy);background:var(--mint);font-weight:800;position:relative;transition:transform .15s,background .2s}
.cal-grid button.day::after{content:attr(data-time);position:absolute;bottom:3px;left:0;right:0;font:700 .5625rem/1 var(--font-heading)}
.cal-grid button.day:hover{transform:scale(1.07)}
.cal-grid button.day[aria-pressed="true"]{background:var(--navy);color:#fff;box-shadow:0 0 0 3px var(--mint)}
.cal-sel{display:flex;align-items:center;gap:.625rem;background:var(--cloud);border-radius:12px;padding:.75rem 1rem;font:700 var(--fs-small)/1.3 var(--font-heading);color:var(--navy)}
.cal-sel .ic{color:var(--blue)}
.cal-list{display:flex;gap:.5rem;flex-wrap:wrap}
.cal-list button{font:700 .8125rem/1 var(--font-heading);border:2px solid var(--line);border-radius:999px;padding:.5rem .75rem;background:#fff;cursor:pointer;color:var(--navy)}
.cal-list button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}

/* form fields */
.fgrid{display:grid;gap:.875rem}
.fgrid .two{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}
@media (max-width:520px){.fgrid .two{grid-template-columns:1fr}}
.fld{display:grid;gap:.375rem;font:600 var(--fs-ui)/1.3 var(--font-body)}
.fld input,.fld select,.fld textarea{font:400 1rem/1.4 var(--font-body);min-height:50px;padding:.75rem .875rem;border:2px solid var(--line);border-radius:12px;width:100%;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.fld textarea{min-height:120px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,71,187,.15)}
.fld .opt{font-weight:400;color:var(--muted);font-size:var(--fs-small)}
.chk{display:flex;gap:.625rem;align-items:flex-start;font-size:var(--fs-small);color:var(--muted)}
.chk input{margin-top:.2rem;width:18px;height:18px;flex:none;accent-color:var(--blue)}
.ferr{color:#B42318;margin:0;font-weight:600;font-size:var(--fs-small)}
.hp{position:absolute!important;left:-9999px!important}
.btn-full{width:100%}
.btn[disabled]{opacity:.65;cursor:wait}

/* ---------- dialogs: enquiry + acknowledgement ---------- */
dialog.dlg{border:0;padding:0;border-radius:24px;max-width:min(560px,calc(100vw - 32px));width:100%;box-shadow:0 30px 80px -20px rgba(0,30,96,.5);color:var(--ink)}
dialog.dlg::backdrop{background:rgba(0,30,96,.55);backdrop-filter:blur(3px)}
dialog.dlg[open]{animation:pop .3s cubic-bezier(.2,.9,.3,1.2)}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.dlg-in{padding:clamp(1.25rem,4vw,2rem);display:grid;gap:1rem;max-height:calc(100vh - 48px);overflow:auto}
.dlg-x{position:absolute;right:14px;top:14px;width:44px;height:44px;border-radius:50%;border:0;background:var(--cloud);color:var(--navy);cursor:pointer;display:grid;place-items:center;transition:background .2s,transform .2s}
.dlg-x:hover{background:var(--sky);transform:rotate(90deg)}
.dlg h2{font-size:1.625rem;padding-right:3rem;color:var(--navy)}
.ack-icon{width:68px;height:68px;border-radius:50%;background:var(--mint);color:var(--navy);display:grid;place-items:center;animation:bounce .6s .1s both}
.ack-icon .ic{width:34px;height:34px}
@keyframes bounce{0%{transform:scale(0)}60%{transform:scale(1.15)}100%{transform:scale(1)}}
.ack-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.ack-list li{display:flex;gap:.625rem;align-items:flex-start;background:var(--cloud);border-radius:12px;padding:.75rem .875rem;font-size:var(--fs-card)}
.ack-list .ic{color:var(--blue);margin-top:.15rem}
.ack-note{font-size:var(--fs-small);color:var(--muted)}

/* ---------- footer ---------- */
footer.ft{background:var(--navy);color:#fff;font-size:var(--fs-card)}
.ft-top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:2rem;padding-block:clamp(2.5rem,6vw,4rem)}
.ft-brand{display:grid;gap:1rem;align-content:start}
.ft-brand .logo{color:#fff}
.ft-brand p{color:#C9D6EE}
.ft h3{font:700 var(--fs-ui)/1 var(--font-heading);color:var(--mint);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.06em}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:.625rem}
.ft a{color:#fff;text-decoration:none}
.ft a:hover{color:var(--mint)}
.ft button.linkish{background:none;border:0;padding:0;color:#fff;font:inherit;cursor:pointer;text-align:left}
.ft button.linkish:hover{color:var(--mint)}
.ft-social{display:flex;gap:.5rem}
.ft-social a{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.1);display:grid;place-items:center;transition:background .2s}
.ft-social a:hover{background:var(--mint);color:var(--navy)}
.ft-bottom{border-top:1px solid rgba(255,255,255,.15)}
.ft-bottom .wrap{min-height:64px;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;justify-content:space-between;font-size:var(--fs-small);color:#C9D6EE;padding-block:1rem}
@media (max-width:860px){.ft-top{grid-template-columns:1fr 1fr}.ft-brand{grid-column:1/-1}}

/* toast */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,120%);background:var(--ink);color:#fff;padding:.875rem 1.125rem;border-radius:14px;font:600 var(--fs-ui)/1.3 var(--font-heading);z-index:80;display:flex;gap:.625rem;align-items:center;box-shadow:var(--shadow);transition:transform .35s cubic-bezier(.2,.9,.3,1.2);max-width:calc(100vw - 32px)}
.toast.show{transform:translate(-50%,0)}
.toast .ic{color:var(--mint)}
body.has-mini .toast{bottom:96px}

/* ---------- payment logos ---------- */
.paylogos{display:flex;flex-wrap:wrap;gap:.375rem}
.paylogos span{background:#fff;border-radius:8px;height:34px;min-width:52px;padding:0 .5rem;display:grid;place-items:center;border:1px solid var(--line)}
.paylogos img{height:20px;width:auto;display:block}
.paylogos .pl-card img{height:24px}
.paylogos .pl-klarna{background:#FFB3C7;border-color:#FFB3C7}
.paylogos .pl-gpay img,.paylogos .pl-apay img{height:26px}

/* ---------- enrol page ---------- */
.stepper{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.5rem}
.stp{display:inline-flex;align-items:center;gap:.5rem;font:700 var(--fs-small)/1 var(--font-heading);padding:.5rem .875rem .5rem .5rem;border-radius:999px;background:rgba(255,255,255,.65);color:var(--navy);transition:background .3s,color .3s}
.stp i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;font-style:normal;font-weight:800}
.stp.on{background:var(--navy);color:#fff}
.stp.on i{background:var(--mint);color:var(--navy)}
.stp.done{background:var(--mint)}
.stp.done i{background:var(--navy);color:#fff}
.stp-line{width:28px;height:3px;border-radius:3px;background:rgba(0,30,96,.2)}
.progress{height:8px;border-radius:999px;background:rgba(0,30,96,.12);overflow:hidden;margin-top:1rem;max-width:520px}
.progress b{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--mint));border-radius:999px;transition:width .6s ease}
.enrol-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.5rem;align-items:start}
@media (max-width:1020px){.enrol-grid{grid-template-columns:1fr}}
.dcard{background:#fff;border-radius:24px;border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:clamp(1.25rem,3vw,2rem);display:grid;gap:1rem}
.dcard .hi{display:flex;gap:.875rem;align-items:center}
.dcard .hi .icon-badge{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--mint);color:var(--navy)}
.who-chip{display:flex;align-items:center;gap:.75rem;background:var(--cloud);border-radius:16px;padding:.75rem 1rem;flex-wrap:wrap}
.who-chip .av{width:40px;height:40px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font:800 1rem/1 var(--font-heading)}
.who-chip b{display:block;font:700 var(--fs-ui)/1.2 var(--font-heading)}
.who-chip span{font-size:var(--fs-small);color:var(--muted)}
.who-chip button{margin-left:auto;background:none;border:0;color:var(--blue);font:700 var(--fs-small)/1 var(--font-heading);cursor:pointer;text-decoration:underline}
.pgroup{margin-top:2rem}
.pgroup:first-child{margin-top:0}
.pgroup-h{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.pgroup-h .dot{width:14px;height:14px;border-radius:50%}
.pgroup-h h2{font-size:1.5rem;color:var(--navy)}
.pgroup-h p{margin-left:auto;font-size:var(--fs-small);color:var(--muted)}
.pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem}
@media (max-width:620px){.pgrid{grid-template-columns:1fr}}
.pick{position:relative;border-radius:18px;padding:1.25rem;border:2px solid transparent;cursor:pointer;display:grid;gap:.5rem;text-align:left;font:inherit;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s;background:var(--pbg);color:var(--pfg)}
.pick:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.pick:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.pick .tick{position:absolute;right:14px;top:14px;width:30px;height:30px;border-radius:50%;border:2px solid currentColor;display:grid;place-items:center;opacity:.6;transition:all .2s}
.pick .tick .ic{width:16px;height:16px;opacity:0}
.pick[aria-pressed="true"]{border-color:var(--ink);box-shadow:var(--shadow)}
.pick[aria-pressed="true"] .tick{background:var(--mint);border-color:var(--mint);color:var(--navy);opacity:1;transform:scale(1.1)}
.pick[aria-pressed="true"] .tick .ic{opacity:1}
.pick h3{font-size:1.125rem;padding-right:2.5rem}
.pick .ps{font:600 var(--fs-small)/1.35 var(--font-heading);opacity:.85}
.pick .pd{font-size:var(--fs-small);opacity:.85}
.pick .pp{display:flex;align-items:baseline;gap:.375rem;margin-top:.25rem}
.pick .pp b{font:800 1.5rem/1 var(--font-heading)}
.pick .pp small{font-size:.8125rem;opacity:.75}
.pick.big{grid-column:span 1}
.k-prog-f{--pbg:#A7C6ED;--pfg:#101820}
.k-prog-a{--pbg:#001E60;--pfg:#fff}
.k-career{--pbg:#80E0A7;--pfg:#101820}
.k-course{--pbg:#EEF4FC;--pfg:#101820}
.k-bcs{--pbg:#0047BB;--pfg:#fff}
.k-test{--pbg:#FFF1D6;--pfg:#101820}
.k-prog-a .pick-start,.k-bcs .pick-start{color:var(--mint)}
.pick-start{font:700 .8125rem/1.2 var(--font-heading);color:var(--blue)}
.basket{position:sticky;top:96px;background:var(--navy);color:#fff;border-radius:24px;padding:1.5rem;display:grid;gap:1rem;box-shadow:var(--shadow)}
.basket h2{color:#fff;font-size:1.375rem;display:flex;align-items:center;gap:.625rem}
.basket h2 .cnt{background:var(--mint);color:var(--navy);font:800 .875rem/1 var(--font-heading);border-radius:999px;padding:.375rem .625rem}
.b-items{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.b-items li{display:grid;grid-template-columns:10px 1fr auto auto;gap:.625rem;align-items:center;background:rgba(255,255,255,.08);border-radius:12px;padding:.75rem;animation:pop .3s}
.b-items .dot{width:10px;height:10px;border-radius:50%}
.b-items .nm{font:600 var(--fs-small)/1.3 var(--font-heading)}
.b-items .pr{font:800 var(--fs-ui)/1 var(--font-heading)}
.b-items button{width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;display:grid;place-items:center}
.b-items button:hover{background:#fff;color:var(--navy)}
.b-empty{background:rgba(255,255,255,.06);border:2px dashed rgba(255,255,255,.25);border-radius:14px;padding:1.25rem;text-align:center;color:#C9D6EE;font-size:var(--fs-small)}
.b-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid rgba(255,255,255,.18);padding-top:1rem}
.b-total span{color:#C9D6EE}
.b-total b{font:800 2rem/1 var(--font-heading);color:#fff}
.btn-pay{min-height:56px;width:100%;border-radius:14px;border:2px solid var(--mint);background:var(--mint);color:var(--navy);font:800 1.0625rem/1 var(--font-heading);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:background .2s,color .2s,transform .2s,border-color .2s}
.btn-pay:hover:not([disabled]){background:#fff;border-color:#fff;color:var(--navy);transform:translateY(-2px)}
.btn-pay[disabled]{opacity:.55;cursor:not-allowed}
.btn-pay .ic{width:20px;height:20px}
.reassure{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:var(--fs-small);color:#DCE6F7}
.reassure li{display:flex;gap:.5rem;align-items:center}
.reassure .ic{color:var(--mint)}
.basket .paylogos span{border-color:transparent}
.mini{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--navy);color:#fff;box-shadow:0 -10px 30px rgba(0,0,0,.2);transform:translateY(110%);transition:transform .3s}
.mini.show{transform:none}
.mini .wrap{display:flex;align-items:center;gap:1rem;min-height:72px}
.mini .sum{flex:1;font-size:var(--fs-small);color:#C9D6EE}
.mini .sum b{display:block;font:800 1.375rem/1.1 var(--font-heading);color:#fff}
.mini .btn-pay{width:auto;padding:0 1.25rem;min-height:48px}
@media (min-width:1021px){.mini{display:none}}
.cheer{display:flex;gap:.75rem;align-items:center;background:#fff;border-radius:16px;padding:.875rem 1rem;border:1px solid var(--line);font:600 var(--fs-small)/1.4 var(--font-heading);color:var(--navy)}
.cheer .ic{color:var(--blue);width:22px;height:22px}

/* thank-you confetti */
.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.confetti i{position:absolute;top:-20px;width:10px;height:16px;border-radius:2px;animation:fall 3.2s linear forwards}
@keyframes fall{to{transform:translateY(120vh) rotate(720deg)}}
@media (prefers-reduced-motion:reduce){.confetti{display:none}}

/* ==========================================================================
   Page sections (home, programmes, courses, career, webinar, about, learn)
   ========================================================================== */
.hero2{background:var(--sky);position:relative;overflow:hidden;padding-block:clamp(2.5rem,6vw,4.5rem)}
.hero2::before{content:"";position:absolute;right:-140px;top:-160px;width:460px;height:460px;border-radius:50%;background:var(--blue);opacity:.1}
.hero2::after{content:"";position:absolute;left:46%;bottom:-90px;width:200px;height:200px;border-radius:50%;background:var(--mint);opacity:.55}
.hero2 .wrap{position:relative;z-index:1}
.hero2-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.5rem,4vw,3rem);align-items:center}
.hero2-grid.solo{grid-template-columns:minmax(0,1fr)}
.hero2 h1{color:var(--navy);margin:.875rem 0 1rem;max-width:18ch}
.hero2 .lead{font-size:clamp(1.0625rem,1.6vw,1.1875rem);max-width:58ch;color:var(--ink)}
.hero2 .sub{color:var(--navy)}
.hero2 .btns{margin-top:1.5rem;flex-wrap:wrap}
.hero2 .tags{margin-top:1.25rem}
@media (max-width:900px){.hero2-grid{grid-template-columns:1fr}.hero2::after{left:auto;right:-60px}}

.pv-stack{display:grid;gap:1rem}
.pv{border-radius:22px;padding:1.5rem;display:grid;gap:.875rem;text-decoration:none;color:inherit;position:relative;overflow:hidden}
.pv::after{content:"";position:absolute;right:-30px;bottom:-30px;width:110px;height:110px;border-radius:50%;opacity:.18;background:currentColor}
.pv.f{background:#fff;color:var(--ink)}
.pv.a{background:var(--navy);color:#fff}
.pv .pv-top{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.pv h2,.pv h3{font-size:1.5rem;color:inherit;margin:0}
.pv.f h2,.pv.f h3{color:var(--navy)}
.pv .who{font:700 .8125rem/1 var(--font-heading);text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}
.pv.a .who{color:var(--mint)}
.pv-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.pv-stats div{border-radius:12px;padding:.625rem .75rem;background:var(--cloud)}
.pv.a .pv-stats div{background:rgba(255,255,255,.1)}
.pv-stats b{display:block;font:800 1.125rem/1.15 var(--font-heading)}
.pv-stats span{display:block;font-size:.8125rem;opacity:.8;line-height:1.3}
.pv .arrow-link{color:var(--blue)}
.pv.a .arrow-link{color:var(--mint)}
.pv .go{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--navy);transition:transform .25s}
.pv:hover .go{transform:rotate(-45deg)}

/* page hero for inner pages */
.phero{background:var(--sky);position:relative;overflow:hidden;padding-block:clamp(2.25rem,5vw,3.75rem)}
.phero::before{content:"";position:absolute;right:-90px;top:-120px;width:340px;height:340px;border-radius:50%;background:var(--blue);opacity:.1}
.phero::after{content:"";position:absolute;right:120px;bottom:-60px;width:130px;height:130px;border-radius:50%;background:var(--mint);opacity:.6}
.phero .wrap{position:relative;z-index:1;display:grid;gap:1rem}
.phero h1{color:var(--navy);max-width:20ch;margin:0}
.phero .lead{max-width:62ch;font-size:clamp(1.0625rem,1.6vw,1.1875rem)}
.phero .btns{flex-wrap:wrap}
.phero-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end}
@media (max-width:820px){.phero-row{grid-template-columns:1fr}}

/* section heads */
.shead{display:grid;gap:.5rem;margin-bottom:clamp(1.5rem,3vw,2.25rem);max-width:62ch}
.shead h2{margin:0}
.shead .sub{margin:0}
.shead p{margin:0}
.shead-row{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;flex-wrap:wrap;margin-bottom:clamp(1.5rem,3vw,2.25rem)}
.shead-row .shead{margin:0}

/* feature cards */
.fgrid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.fgrid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.fgrid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
@media (max-width:1000px){.fgrid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.fgrid3{grid-template-columns:1fr}}
@media (max-width:640px){.fgrid4,.fgrid2{grid-template-columns:1fr}}
.fcard{--fc-bg:#fff;--fc-fg:var(--ink);--fc-h:var(--navy);--fc-sub:var(--blue);--fc-link:var(--blue);background:var(--fc-bg);color:var(--fc-fg);border-radius:22px;padding:1.5rem;display:flex;flex-direction:column;gap:.875rem;border:1px solid transparent;text-decoration:none;position:relative;overflow:hidden}
.fcard h3{color:var(--fc-h);font-size:1.3125rem;margin:0}
.fcard .sub{color:var(--fc-sub);margin:0}
.fcard p{margin:0}
.fcard .muted{color:inherit;opacity:.8}
.fcard .arrow-link{color:var(--fc-link);margin-top:auto;padding-top:.25rem}
.fcard .icon-badge{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--badge-bg,var(--cloud));color:var(--badge-fg,var(--blue))}
.fcard .icon-badge .ic{width:26px;height:26px}
.fcard .btns{margin-top:auto;flex-wrap:wrap}
.f-white{--fc-bg:#fff;border-color:var(--line)}
.f-cloud{--fc-bg:var(--cloud);--badge-bg:#fff}
.f-sky{--fc-bg:var(--sky);--fc-sub:var(--navy);--fc-link:var(--navy);--badge-bg:#fff}
.f-mint{--fc-bg:var(--mint);--fc-sub:var(--navy);--fc-link:var(--navy);--badge-bg:#fff;--badge-fg:var(--navy)}
.f-navy{--fc-bg:var(--navy);--fc-fg:#fff;--fc-h:#fff;--fc-sub:var(--mint);--fc-link:var(--mint);--badge-bg:var(--blue);--badge-fg:#fff}
.f-blue{--fc-bg:var(--blue);--fc-fg:#fff;--fc-h:#fff;--fc-sub:var(--sky);--fc-link:var(--mint);--badge-bg:#fff;--badge-fg:var(--blue)}
.f-navy .chip,.f-blue .chip{--chip-bg:rgba(255,255,255,.14);--chip-fg:#fff}
.f-sky .chip,.f-mint .chip,.f-cloud .chip{--chip-bg:rgba(255,255,255,.75)}
.f-navy .b-main,.f-blue .b-main{--main-bg:#80E0A7;--main-fg:#101820;--main-hover:#fff}
.f-navy .b-alt,.f-blue .b-alt{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.f-navy .b-alt:hover,.f-blue .b-alt:hover{background:#fff;color:var(--navy);filter:none}
.fcard .bubble{position:absolute;right:-36px;top:-36px;width:120px;height:120px;border-radius:50%;background:currentColor;opacity:.07;pointer-events:none}
.fcard.lift:hover .icon-badge{transform:rotate(-8deg) scale(1.06)}
.fcard .icon-badge{transition:transform .25s}

/* stats band */
.statsband{background:var(--navy);color:#fff}
.statsband h2{color:#fff}
.statsband .sub{color:var(--mint)}
.statsband .shead p{color:#DCE6F7}
.stat4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;list-style:none;margin:0;padding:0}
.stat4 li{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:1.5rem;display:grid;gap:.5rem;align-content:start;transition:background .25s,transform .25s}
.stat4 li:hover{background:rgba(255,255,255,.12);transform:translateY(-4px)}
.stat4 b{font:800 clamp(2.25rem,4.5vw,3rem)/1 var(--font-heading);color:var(--mint);letter-spacing:-.02em}
.stat4 span{color:#DCE6F7;font-size:var(--fs-card)}
.stat4.light li{background:#fff;border-color:var(--line)}
.stat4.light b{color:var(--blue)}
.stat4.light span{color:var(--muted)}
@media (max-width:900px){.stat4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.stat4{grid-template-columns:1fr}}
.callout{margin-top:1.5rem;display:flex;gap:1rem;align-items:flex-start;background:rgba(128,224,167,.14);border:1px solid rgba(128,224,167,.4);border-radius:18px;padding:1.25rem 1.5rem;color:#fff}
.callout .ic{color:var(--mint);width:28px;height:28px;margin-top:.1rem}
.callout.light{background:var(--cloud);border-color:var(--cloud);color:var(--ink)}
.callout.light .ic{color:var(--blue)}

/* webinar promo + date cards */
.datecards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
@media (max-width:820px){.datecards{grid-template-columns:1fr}}
.dcd{border-radius:22px;padding:1.5rem;display:grid;grid-template-columns:auto 1fr;gap:1rem 1.25rem;align-items:center;text-decoration:none;color:inherit;position:relative;overflow:hidden}
.dcd .cal-ic{width:84px;border-radius:16px;overflow:hidden;background:#fff;color:var(--navy);text-align:center;box-shadow:var(--shadow-sm);transition:transform .25s}
.dcd:hover .cal-ic{transform:rotate(-4deg) scale(1.04)}
.dcd .cal-ic small{display:block;background:var(--blue);color:#fff;font:700 .75rem/1 var(--font-heading);text-transform:uppercase;letter-spacing:.08em;padding:.4375rem}
.dcd .cal-ic b{display:block;font:800 2.25rem/1 var(--font-heading);padding:.5rem 0 .125rem}
.dcd .cal-ic span{display:block;font:700 .75rem/1 var(--font-heading);padding-bottom:.5rem;color:var(--muted)}
.dcd h3{font-size:1.25rem;margin:0;color:inherit}
.dcd p{margin:.25rem 0 0;font:600 var(--fs-small)/1.3 var(--font-heading);opacity:.85}
.dcd .btn{grid-column:1/-1;width:100%;justify-content:center}
.dcd.d1{background:var(--sky);color:var(--navy)}
.dcd.d2{background:var(--navy);color:#fff}
.dcd.d3{background:var(--mint);color:var(--navy)}
.dcd.d2 .b-main{--main-bg:#80E0A7;--main-fg:#101820;--main-hover:#fff}
.dcd.d1 .b-main,.dcd.d3 .b-main{--main-bg:#001E60;--main-fg:#fff;--main-hover:#0047BB}
.dcd .seats{position:absolute;right:14px;top:14px;font:700 .6875rem/1 var(--font-heading);text-transform:uppercase;letter-spacing:.06em;padding:.375rem .5rem;border-radius:999px;background:rgba(255,255,255,.75);color:var(--navy)}
.dcd.d2 .seats{background:rgba(255,255,255,.14);color:#fff}

.wpromo{background:var(--cloud);border-radius:28px;padding:clamp(1.5rem,4vw,3rem);display:grid;gap:1.5rem}

/* topic cards (webinar page) */
.tcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
@media (max-width:1000px){.tcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.tcards{grid-template-columns:1fr}}
.tcard{border-radius:20px;padding:1.25rem;display:flex;flex-direction:column;gap:.625rem;cursor:pointer;border:2px solid transparent;text-align:left;font:inherit;transition:transform .2s,box-shadow .2s}
.tcard:hover{transform:translateY(-5px) rotate(-.5deg);box-shadow:var(--shadow)}
.tcard h3{font-size:1.125rem;margin:0;color:inherit}
.tcard p{font-size:var(--fs-small);margin:0;opacity:.85}
.tcard .go{margin-top:auto;display:inline-flex;align-items:center;gap:.375rem;font:700 var(--fs-small)/1 var(--font-heading);padding-top:.5rem}
.tcard .ic{width:22px;height:22px}
.tc-foundation{background:#A7C6ED;color:#001E60}
.tc-advanced{background:#001E60;color:#fff}
.tc-ai{background:#80E0A7;color:#001E60}
.tc-enterprise{background:#0047BB;color:#fff}

/* course cards */
.cgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
@media (max-width:1000px){.cgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cgrid{grid-template-columns:1fr}}
.ccard{--cc:var(--blue);background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.ccard .cc-top{background:var(--cc);color:var(--cc-fg,#fff);padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;position:relative;overflow:hidden}
.ccard .cc-top::after{content:"";position:absolute;right:-24px;top:-24px;width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,.18)}
.ccard .cc-top .icon-badge{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#fff;color:var(--cc-ic,var(--cc));transition:transform .25s}
.ccard:hover .cc-top .icon-badge{transform:rotate(-8deg) scale(1.08)}
.ccard .cc-top .cat{font:700 .75rem/1 var(--font-heading);text-transform:uppercase;letter-spacing:.08em;position:relative;z-index:1}
.ccard .cc-body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.75rem;flex:1}
.ccard h3{font-size:1.25rem;color:var(--navy);margin:0}
.ccard .sub{margin:0;color:var(--blue)}
.ccard p{margin:0;font-size:var(--fs-card)}
.ccard .btns{margin-top:auto;padding-top:.5rem;flex-wrap:wrap}
.ccard .btn{min-height:46px}
.cc-ai{--cc:#80E0A7;--cc-fg:#001E60;--cc-ic:#001E60}
.cc-ent{--cc:#0047BB}
.cc-cert{--cc:#001E60;--cc-ic:#0047BB}
.cc-career{--cc:#A7C6ED;--cc-fg:#001E60;--cc-ic:#0047BB}
.cc-ment{--cc:#101820;--cc-ic:#101820}
.ccard.feature{grid-column:span 2;flex-direction:row}
.ccard.feature .cc-top{flex-direction:column;align-items:flex-start;justify-content:space-between;min-width:220px}
@media (max-width:640px){.ccard.feature{grid-column:auto;flex-direction:column}.ccard.feature .cc-top{flex-direction:row;align-items:center;min-width:0}}

/* trainer */
.trainer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
@media (max-width:760px){.trainer{grid-template-columns:1fr}}
.avatar{width:clamp(120px,16vw,180px);aspect-ratio:1;border-radius:32px;background:var(--blue);color:#fff;display:grid;place-items:center;font:800 clamp(2.5rem,5vw,3.75rem)/1 var(--font-heading);position:relative;letter-spacing:-.04em}
.avatar::after{content:"";position:absolute;right:-12px;top:-12px;width:38%;aspect-ratio:1;border-radius:50%;background:var(--mint);border:6px solid var(--page,#fff)}
.trainer .prose p{margin:0 0 1rem}
.badge-line{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:.5rem}

/* journey teaser */
.mini-journey{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.mini-journey li{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border-radius:999px;padding:.5rem .875rem .5rem .5rem;font:700 var(--fs-small)/1 var(--font-heading);color:var(--navy);box-shadow:var(--shadow-sm)}
.mini-journey li i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-style:normal;font-size:.75rem}
.mini-journey li:first-child i{background:var(--mint);color:var(--navy)}

/* learn page module columns */
.learn-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
@media (max-width:900px){.learn-cols{grid-template-columns:1fr}}

/* faq */
.faq2{display:grid;gap:.75rem;max-width:860px}
.faq2 details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:0 1.25rem;transition:box-shadow .2s,border-color .2s}
.faq2 details[open]{border-color:var(--sky);box-shadow:var(--shadow-sm)}
.faq2 details:first-child{border-top:1px solid var(--line)}
.faq2 summary{min-height:64px}
.faq2 details p{padding-bottom:1.25rem;margin:0}

/* contact band buttons */
.cta-band .contact-row{display:flex;gap:.5rem;flex-wrap:wrap}
.cta-band .ic-btn{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;transition:background .2s,transform .2s}
.cta-band .ic-btn:hover{background:var(--mint);color:var(--navy);transform:translateY(-2px)}

/* webinar page form card niceties */
.wcard .wc-head{display:grid;gap:.375rem}
.wcard .wc-head p{margin:0;color:var(--muted);font-size:var(--fs-small)}
.wb-free{display:inline-flex;align-items:center;gap:.5rem;font:800 var(--fs-small)/1 var(--font-heading);color:var(--navy);background:var(--mint);border-radius:999px;padding:.5rem .875rem;width:max-content}
.wb .limited{margin-top:.25rem}

/* enrol pick cards use spans inside buttons */
.pick > span{display:block}
.pick .pk-t{font:800 1.125rem/1.25 var(--font-heading);padding-right:2.5rem}
.pick .pp{display:flex}
.pick .tick{display:grid}
.basket h2 .ic{color:var(--mint)}
.enrol-main .pgroup-h h2{margin:0}
@media (max-width:620px){.pgroup-h{flex-wrap:wrap}.pgroup-h p{margin-left:0;flex-basis:100%}}
.basket .reassure li span{display:inline}

/* fixes after first visual check */
.tb a,.tb a:hover{text-decoration:none}
.tb-label:hover{color:var(--mint)}
footer.ft .ft-top{display:grid;align-items:start;min-height:0;padding-block:clamp(2.5rem,6vw,4rem)}
footer.ft .ft-top > div{min-width:0}
footer.ft .ft-bottom .wrap{display:flex}
.pv::after{background:var(--mint);opacity:.35;z-index:0}
.pv > *{position:relative;z-index:1}
.dcd{padding-top:3rem}
.dcd .seats{top:16px;left:1.5rem;right:auto}
.tb-label em{font-style:normal}
@media (max-width:720px){.tb-label span{display:inline}.tb-label em{display:inline}}
@media (max-width:560px){.tb-dates{display:none}.tb .wrap{justify-content:space-between}}
.btn-pay[disabled]{opacity:1;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.15);color:#9FB0D0}
.paylogos .pl-apay img{height:30px}
.paylogos img[alt="Amazon Pay"]{height:24px}
@media (max-width:420px){.logo .name{font-size:.875rem}}
.prog{padding:0;background:none;border-radius:0;gap:1.25rem}
.prog + .prog{margin-top:0}
.mods{gap:.5rem}
.mod summary{display:flex;flex-wrap:nowrap;align-items:center;grid-template-columns:none}
.mod summary::after{grid-column:auto;margin-left:.25rem}
.mod summary small{margin-left:auto}
.prog-card.f h2,.prog-card.f h3{color:var(--navy)}
.prog-card.a h2,.prog-card.a h3{color:#fff}
.prog-card.a .prog-head .who{color:#DCE6F7}
.prog-foot .b-alt,.ccard .b-alt,.f-white .b-alt,.fcard.f-cloud .b-alt{border:2px solid var(--line)}
.prog-foot .b-alt:hover,.ccard .b-alt:hover{border-color:var(--blue)}
.hero2 .dcd.d1,.phero .dcd.d1{background:#fff}
.mini{visibility:hidden}
.mini.show{visibility:visible}
@media (max-width:560px){.stp-line{display:none}.stepper{gap:.375rem}}
@media (max-width:860px){.ft-top{row-gap:2.5rem}}

/* ==========================================================================
   Solid colours only: no translucent tints, glows, gradients or outlines
   ========================================================================== */
:root{--shadow:0 12px 26px -16px rgba(16,24,32,.35);--shadow-sm:0 6px 14px -10px rgba(16,24,32,.3)}
.hero2::before,.hero2::after,.phero::before,.phero::after,.cta-band::before,.cta-band::after,
.prog-head::after,.ccard .cc-top::after,.pv::after{content:none;display:none}
.fcard .bubble{display:none}
.tb-pulse{animation:none;box-shadow:none}
.tb-chip{background:#0047BB;border:0}
.tb-chip .d{background:#fff;color:#001E60}
.tb-chip:hover .d,.tb-chip:focus-visible .d{background:#001E60;color:#fff}
.eyebrow,.tag-chip{background:#fff}
.chip{--chip-bg:#EEF4FC;--chip-fg:#001E60}
.c-light .chip,.c-mint .chip,.f-sky .chip,.f-mint .chip,.f-cloud .chip{--chip-bg:#fff;--chip-fg:#001E60}
.c-night .chip,.f-navy .chip{--chip-bg:#0047BB;--chip-fg:#fff}
.c-blue .chip,.f-blue .chip{--chip-bg:#001E60;--chip-fg:#fff}
.pv.a .pv-stats div{background:#0047BB}
.stat4 li{background:#0047BB;border:0}
.stat4 li:hover{background:#0047BB}
.stat4.light li{background:#fff;border:1px solid var(--line)}
.callout{background:#0047BB;border:0}
.callout.light{background:var(--cloud)}
.dcd .seats{background:#fff;color:#001E60}
.dcd.d2 .seats{background:#0047BB;color:#fff}
.limited{background:#001E60;color:#fff}
.progress{background:#fff}
.progress b{background:#80E0A7}
.stp{background:#fff}
.stp-line{background:#001E60}
.b-items li{background:#0047BB}
.b-items button{background:#001E60}
.b-empty{background:#001E60;border:2px dashed #A7C6ED;color:#DCE6F7}
.b-total{border-top:1px solid #0047BB}
.btn-pay[disabled]{background:#0047BB;border-color:#0047BB;color:#A7C6ED;opacity:1}
.cta-band .ic-btn,.ft-social a{background:#0047BB}
.ft-bottom{border-top:1px solid #0047BB}
.toast{background:#001E60}
.pick .tick{opacity:1}
.fld input:focus,.fld select:focus,.fld textarea:focus{box-shadow:0 0 0 3px #A7C6ED}

/* buttons: solid fills, never outlines */
.btn{border:0}
.b-alt,.pcard-foot .b-alt{--alt-bg:#001E60;--alt-fg:#fff;background:#001E60;color:#fff;border:0}
.b-alt:hover{background:#0047BB;color:#fff;filter:none}
.prog-foot .b-alt,.ccard .b-alt,.f-white .b-alt,.fcard.f-cloud .b-alt{border:0}
.cta-band .b-alt,.f-navy .b-alt,.f-blue .b-alt,.dcd.d2 .b-alt,.prog-card.a .b-alt,.statsband .b-alt{background:#fff;color:#001E60;border:0}
.cta-band .b-alt:hover,.f-navy .b-alt:hover,.f-blue .b-alt:hover{background:#80E0A7;color:#001E60}
.f-sky .b-main,.f-mint .b-main{--main-bg:#001E60;--main-fg:#fff;--main-hover:#0047BB}
.f-blue .b-main{--main-bg:#80E0A7;--main-fg:#001E60;--main-hover:#fff}
.f-navy .b-main{--main-bg:#80E0A7;--main-fg:#001E60;--main-hover:#fff}
.filters button{border:0;background:#EEF4FC;color:#001E60}
.filters button:hover{background:#A7C6ED;color:#001E60}
.filters button[aria-pressed="true"]{background:#001E60;color:#fff}
.cal-nav{border:0;background:#EEF4FC}
.cal-list button{border:0;background:#EEF4FC}
.cal-list button[aria-pressed="true"]{background:#001E60;color:#fff}
.menu-btn{border:0;background:#EEF4FC}

/* webinar: form on the left */
.wb{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}

/* dialogs in brand colours */
dialog.dlg{background:#fff;color:#101820;color-scheme:light;overflow:hidden}
dialog.dlg::backdrop{background:#001E60;backdrop-filter:none}
dialog.dlg h2{background:#A7C6ED;color:#001E60;margin:calc(-1 * clamp(1.25rem,4vw,2rem)) calc(-1 * clamp(1.25rem,4vw,2rem)) 0;padding:clamp(1.25rem,4vw,2rem);padding-right:4.5rem}
#ack h2{background:none;margin:0;padding:0 3rem 0 0}
.dlg-x{background:#fff;color:#001E60;z-index:2}
.dlg-x:hover{background:#001E60;color:#fff}
.dlg .muted{color:#53565A}

/* trainer (original layout) */
#trainer .impact b{font-variant-numeric:tabular-nums}
@media (max-width:960px){.wb{grid-template-columns:1fr}}

/* advanced programme card: second button sits on white, so keep it navy */
.prog-card.a .prog-foot .b-alt{background:#001E60;color:#fff}
.prog-card.a .prog-foot .b-alt:hover{background:#0047BB}

/* short courses: 2 per row, buttons the same size and aligned */
.fgrid2.even .fcard{min-height:100%}
.fgrid2.even .btns{margin-top:auto;padding-top:.5rem}
.fgrid2.even .btn{min-width:240px;justify-content:center}
@media (max-width:640px){.fgrid2.even .btn{width:100%;min-width:0}}

/* what you will learn: intro on the left, a connected journey on the right */
.learn-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.5rem,5vw,4rem);align-items:start}
.learn-split.solo{grid-template-columns:minmax(0,1fr);max-width:860px}
.learn-intro{position:sticky;top:110px;display:grid;gap:.75rem}
.learn-intro h2,.learn-intro .sub,.learn-intro p{margin:0}
.learn-intro .btns{margin-top:.5rem;flex-wrap:wrap}
@media (max-width:900px){.learn-split{grid-template-columns:1fr}.learn-intro{position:static}}
.journey2{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.journey2 li{--jc:#80E0A7;--jf:#001E60;display:grid;grid-template-columns:60px minmax(0,1fr);gap:1.25rem;align-items:start;position:relative}
.journey2 li:not(:last-child)::before{content:"";position:absolute;left:28.5px;top:60px;bottom:-1rem;width:3px;background:#A7C6ED}
.journey2 .jn{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--jc);color:var(--jf);font:800 1.125rem/1 var(--font-heading);position:relative;z-index:1}
.journey2 .jc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.25rem 1.5rem;display:flex;gap:1rem;align-items:flex-start;transition:transform .25s,box-shadow .25s,border-color .25s}
.journey2 li:hover .jc{transform:translateX(6px);box-shadow:var(--shadow-sm);border-color:var(--jc)}
.journey2 .jc .icon-badge{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--jc);color:var(--jf);flex:none}
.journey2 .jc .icon-badge .ic{width:22px;height:22px}
.journey2 h3{font-size:1.1875rem;margin:0 0 .25rem;color:#001E60}
.journey2 p{margin:0;color:var(--muted);font-size:var(--fs-card)}
.journey2 .j2{--jc:#A7C6ED;--jf:#001E60}
.journey2 .j3{--jc:#0047BB;--jf:#fff}
.journey2 .j4{--jc:#001E60;--jf:#fff}
.journey2 .j5{--jc:#80E0A7;--jf:#001E60}
.sec-cloud .journey2 .jc{border-color:#fff}
@media (max-width:480px){.journey2 li{grid-template-columns:44px minmax(0,1fr);gap:.875rem}.journey2 .jn{width:44px;height:44px;font-size:.9375rem}.journey2 li:not(:last-child)::before{left:20.5px;top:44px}.journey2 .jc{padding:1rem;flex-direction:column}}

#trainer .impact b,.trainer-sec .impact b{font-variant-numeric:tabular-nums}
dialog.dlg::backdrop{background:rgba(0,30,96,.55);backdrop-filter:none}

/* header basket */
.cart{position:relative}
.cart-btn{width:48px;height:48px;border-radius:var(--radius-btn);border:0;background:#80E0A7;color:#001E60;display:grid;place-items:center;cursor:pointer;position:relative}
.cart-btn:hover{background:#001E60;color:#fff}
.cart-btn .ic{width:22px;height:22px}
.cart-n{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:#0047BB;color:#fff;font:800 .75rem/22px var(--font-heading);text-align:center}
.cart-pop{position:absolute;right:0;top:calc(100% + 10px);width:min(320px,calc(100vw - 32px));background:#001E60;color:#fff;border-radius:18px;padding:1.125rem;display:grid;gap:.75rem;box-shadow:var(--shadow);z-index:40}
.cart-h{margin:0;font:800 1.0625rem/1.2 var(--font-heading);color:#fff}
.cart-items{list-style:none;margin:0;padding:0;display:grid;gap:.375rem}
.cart-items li{display:flex;justify-content:space-between;gap:.75rem;background:#0047BB;border-radius:10px;padding:.625rem .75rem;font:600 var(--fs-small)/1.3 var(--font-heading)}
.cart-items b{white-space:nowrap}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #0047BB;padding-top:.625rem}
.cart-total span{color:#C9D6EE}
.cart-total b{font:800 1.5rem/1 var(--font-heading)}
.cart-pop .b-main{--main-bg:#80E0A7;--main-fg:#001E60;--main-hover:#fff}
@media (max-width:420px){.cart-pop{position:fixed;left:16px;right:16px;top:120px;width:auto}}
.nav .cart-items{display:grid!important;gap:.375rem;flex-direction:column}
.nav .cart-items li{list-style:none}
@media (max-width:480px){.nav-x{gap:.375rem}.cart-btn,.menu-btn{width:42px;height:42px}.nav-x .b-enq{padding:0 .75rem;font-size:.875rem;min-height:42px}.logo .name{font-size:.8125rem}.logo .mark{width:40px;height:40px}}

/* webinar topic choices: every box the same size, selection never changes the size */
.topics{align-items:stretch;grid-auto-rows:1fr}
.topic{display:flex}
.topic span{flex:1;height:100%;min-height:64px;box-sizing:border-box;border:2px solid transparent}
.t-unsure span{border-color:var(--line)}
.topic input:checked + span{transform:none;border-color:#101820;box-shadow:0 0 0 3px #80E0A7}
.topic-wide{grid-row:auto}

/* highlighted words in headings may wrap on small screens (keeps the mint underline on every line) */
.accent{white-space:normal;background-image:linear-gradient(#80E0A7,#80E0A7);background-repeat:no-repeat;background-position:0 92%;background-size:100% .18em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.accent::after{content:none}
h1,h2{overflow-wrap:break-word}

/* tablet and mobile polish */
@media (max-width:1024px){.tb-chip:nth-child(n+3){display:none}}
@media (max-width:900px){.tb-chip:nth-child(n+2){display:none}}
@media (max-width:860px){footer.ft .ft-top{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:1.5rem;row-gap:2rem}footer.ft .ft-brand{grid-column:1/-1}}
@media (max-width:480px){footer.ft .ft-top{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2rem}}
@media (max-width:640px){.cta-band .btns .btn{flex:1 1 100%}.prog-foot .btns .btn,.ccard .btns .btn{flex:1 1 auto}}
@media (min-width:700px) and (max-width:820px){.datecards{grid-template-columns:repeat(3,minmax(0,1fr))}.dcd{grid-template-columns:1fr}.dcd .cal-ic{width:72px}}

/* ---------- private contacts dashboard (/admin/) ---------- */
.adm{background:var(--cloud)}
.adm-top{background:var(--navy);color:#fff;position:sticky;top:0;z-index:20}
.adm-top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px;flex-wrap:wrap;padding-block:.5rem}
.adm-top .logo{color:#fff;text-decoration:none}
.adm-top .name{font:800 1.125rem/1 var(--font-heading)}
.adm-x{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.adm-top .b-alt{background:#0047BB;color:#fff;min-height:40px}
.adm-top .upd{color:#C9D6EE}
.upd{font-size:var(--fs-small);color:var(--muted)}
.adm-login{padding-block:3rem}
.adm-wrap{display:grid;gap:1rem;padding-block:1.25rem 3rem}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}
.kpi{background:#fff;border-radius:16px;padding:1rem 1.125rem;display:grid;gap:.25rem}
.kpi b{font:800 2rem/1 var(--font-heading);color:var(--blue);font-variant-numeric:tabular-nums}
.kpi span{font-size:var(--fs-small);color:var(--muted)}
.kpi.k-en{background:var(--navy)}.kpi.k-en b{color:var(--mint)}.kpi.k-en span{color:#C9D6EE}
.pipe2{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:thin}
.pipe2 button{flex:none;display:inline-flex;align-items:center;gap:.5rem;border:0;border-radius:999px;padding:.4375rem .875rem .4375rem .4375rem;background:#fff;color:var(--navy);font:700 .875rem/1 var(--font-heading);cursor:pointer}
.pipe2 button b{min-width:26px;height:26px;border-radius:999px;display:grid;place-items:center;background:var(--cloud);font-size:.75rem;font-variant-numeric:tabular-nums}
.pipe2 button[aria-pressed="true"]{background:var(--navy);color:#fff}.pipe2 button[aria-pressed="true"] b{background:var(--mint);color:var(--navy)}
.adm-bar{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.adm-search{flex:1 1 240px}
.adm-list{display:grid;gap:.75rem}
.ct{background:#fff;border-radius:16px;padding:1rem 1.125rem;display:grid;gap:.75rem;border-left:6px solid var(--sky)}
.ct[data-stage="Welcomed"],.ct[data-stage="Enquiry"]{border-left-color:var(--blue)}
.ct[data-stage="Attended"],.ct[data-stage="Call booked"]{border-left-color:var(--mint)}
.ct[data-stage="Enrolled"]{border-left-color:var(--navy)}
.ct[data-stage="Missed"],.ct[data-stage="Not now"]{border-left-color:var(--line)}
.ct-top{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;flex-wrap:wrap}
.ct-id{min-width:0}
.ct h3{margin:0;font-size:1.0625rem;color:var(--navy)}
.ct-meta{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.375rem}
.ct .tag{font:600 .75rem/1 var(--font-heading);padding:.375rem .5rem;border-radius:999px;background:var(--cloud);color:var(--navy)}
.ct .who{font-size:.8125rem;color:var(--muted);word-break:break-word}
.stg select{font:700 .875rem/1 var(--font-heading);color:var(--navy);border:2px solid var(--line);border-radius:10px;padding:.5rem .625rem;background:#fff;min-height:40px}
.ct-acts{display:flex;gap:.5rem;flex-wrap:wrap}
.ct-acts .btn{min-height:40px;padding:0 .875rem;font-size:.875rem}
.b-wa{background:#25D366;color:#101820}
.b-wa:hover{background:#1EBE5A;color:#101820}
.b-soft{background:var(--cloud);color:var(--navy)}
.b-soft:hover{background:var(--sky);color:var(--navy)}
.ct-more{display:grid;gap:.5rem}
.ct-more textarea{min-height:80px}
.saved{margin:0;font-size:.8125rem;color:var(--muted);min-height:1em}
.hist{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.hist li{background:var(--cloud);border-radius:10px;padding:.625rem .75rem;font-size:.875rem}
.hist small{color:var(--muted);margin-left:.5rem}
.hist p{margin:.375rem 0 0;white-space:pre-wrap}
.a-k{font:700 .8125rem/1 var(--font-heading);color:var(--navy)}
.a-enrolled{color:var(--blue)}
.empty{background:#fff;border-radius:16px;padding:1.5rem;text-align:center;color:var(--muted)}
.adm main section{padding-block:0}.adm .adm-login{padding-block:3rem}
.ct[data-stage="Started enrolling"]{border-left-color:#F5B841}
.ct .t-src{background:#80E0A7;color:#001E60}
.srcbox:empty{display:none}
.srcbox{background:#fff;border-radius:16px;padding:1rem 1.125rem}
.srcbox h2{font-size:1.0625rem;color:var(--navy);margin:0 0 .5rem}
.srcbox h2 small{font:500 .8125rem var(--font-body);color:var(--muted)}
.src-scroll{overflow-x:auto}
.src{width:100%;border-collapse:collapse;font-size:.875rem;font-variant-numeric:tabular-nums}
.src th{text-align:left;font:700 .75rem/1.2 var(--font-heading);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:.5rem .5rem .5rem 0}
.src td{padding:.5rem .5rem .5rem 0;border-top:1px solid var(--cloud)}
.src td:first-child{font-weight:600;color:var(--navy)}

/* testimonial form */
.tform{max-width:820px;margin:0 auto}
.pillgrid{display:flex;flex-wrap:wrap;gap:.5rem}
.pillck{position:relative;cursor:pointer}
.pillck input{position:absolute;opacity:0;pointer-events:none}
.pillck span{display:inline-flex;align-items:center;min-height:44px;padding:.5rem .875rem;border-radius:999px;background:var(--cloud);color:var(--navy);font:700 .875rem/1.2 var(--font-heading);border:2px solid transparent}
.pillck input:checked + span{background:var(--navy);color:#fff}
.pillck input:focus-visible + span{outline:3px solid var(--focus);outline-offset:2px}
.stars{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:.25rem}
.stars input{position:absolute;opacity:0;pointer-events:none}
.stars label{font-size:2.25rem;line-height:1;color:#D9D9D6;cursor:pointer}
.stars input:checked ~ label,.stars label:hover,.stars label:hover ~ label{color:#F5B841}
.stars input:focus-visible + label{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}
.tform textarea{min-height:150px}
.tbox{background:#fff;border-radius:16px;padding:0 1.125rem}
.tbox summary{min-height:56px;font:700 1.0625rem/1 var(--font-heading);color:var(--navy);justify-content:flex-start;gap:.5rem}
.tbox summary b{background:var(--mint);color:var(--navy);border-radius:999px;padding:.25rem .5rem;font-size:.8125rem}
.tbox summary::after{margin-left:auto}
.tlist{display:grid;gap:.75rem;padding-bottom:1rem}
.tq{margin:0;background:var(--cloud);border-radius:12px;padding:1rem}
.tq-stars{color:#F5B841;font-size:1.125rem;letter-spacing:2px}.tq-stars span{color:#D9D9D6}
.tq blockquote{margin:.5rem 0;font-size:.9375rem;white-space:pre-wrap}
.tq figcaption{font-size:.875rem;color:var(--navy)}
.tq-meta{margin:.5rem 0 0;font-size:.8125rem;color:var(--muted)}
.tq-meta .ok{color:#0B7A3B;font-weight:700}.tq-meta .no{color:#B42318;font-weight:700}
.stars{position:relative}.stars input,.pillck input{left:0;top:0;width:1px;height:1px;margin:0}
.tq-meta .pub{display:inline-flex;gap:.375rem;align-items:center;font-weight:700;color:var(--navy);cursor:pointer}.tq-meta .pub input{width:18px;height:18px;accent-color:var(--blue)}

/* ---------- reviews ---------- */
.rtop{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1rem}
.rtop-tp{min-width:220px}
.rbadge{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border-radius:999px;padding:.4375rem .875rem;text-decoration:none;color:var(--navy);font:700 .875rem/1 var(--font-heading)}
.rbadge:hover{background:var(--mint)}
.rstars{display:inline-flex;gap:1px;color:#D9D9D6;font-size:1rem;line-height:1;letter-spacing:0}
.rstars .on{color:#F5B841}
.rstars .half{color:#F5B841;opacity:.55}
.rsum{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.rtp{background:#fff;border-radius:16px;padding:1rem;margin-bottom:1rem}
.rwall{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);gap:1rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory;scrollbar-width:thin}
@media (min-width:1000px){.rwall{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}}
.rcard{margin:0;background:#fff;border-radius:18px;padding:1.25rem;display:flex;flex-direction:column;gap:.625rem;scroll-snap-align:start}
.rcard .rstars{font-size:1.125rem}
.rcard blockquote{margin:0;font-size:.9375rem;line-height:1.55;color:var(--ink)}
.rres{margin:0;font:700 .8125rem/1.3 var(--font-heading);color:var(--blue)}
.rcard figcaption{margin-top:auto;display:grid;font-size:.875rem;color:var(--navy)}
.rcard figcaption span{color:var(--muted);font-size:.8125rem}
.rtoggle{align-self:flex-start;background:none;border:0;padding:.25rem 0;font:inherit;font-size:.875rem;font-weight:700;color:var(--blue);cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:44px}
.rtoggle:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:6px}
.rshowall{margin-top:1rem}
.rwall{align-items:start}
.statsband .rin .rtoggle{color:var(--blue)}

/* Trustpilot Review Collector strip in "What learners say" */
.rcol{margin-top:28px;background:#fff;border-radius:16px;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.rcol p{margin:0;color:var(--ink,#0b1f4d);font-size:16px}
.rcol-w{flex:0 1 340px;min-width:240px;min-height:52px}
@media (max-width:600px){
  .rcol{margin-top:16px;padding:10px 14px;gap:6px 12px;border-radius:12px}
  .rcol p{font-size:14px;line-height:1.35}
  .rcol-w{flex:0 0 auto;width:200px;min-width:0;min-height:0;height:41px;overflow:hidden}
  .rcol-w .trustpilot-widget{width:256px;transform:scale(.78);transform-origin:left top}
}

/* footer: own review score + Trustpilot button */
.ft-rev{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}
.ft-rev .ft-rbadge{font-size:.8125rem}
.tp-btn{display:inline-flex;align-items:center;gap:6px;background:#fff;color:#191919;border-radius:999px;padding:.5rem .95rem;text-decoration:none;font:600 .875rem/1 Helvetica,Arial,sans-serif}
.tp-btn b{font-weight:700;letter-spacing:-.01em}
.tp-btn:hover{background:var(--mint)}
.tp-btn:focus-visible{outline:3px solid var(--mint);outline-offset:2px}
footer .ft-rev .tp-btn,footer .ft-rev .tp-btn span,footer .ft-rev .tp-btn b{color:#191919}
footer .ft-rev .tp-btn:hover{color:#191919;background:var(--mint)}
/* footer reviews row: under Learn / Join / About, side by side */
footer.ft .ft-top > .ft-rev{grid-column:2/-1;margin-top:0;display:flex;flex-wrap:nowrap;align-items:center;gap:12px}
@media (max-width:860px){
  footer.ft .ft-top > .ft-rev{grid-column:1/-1;justify-content:center;gap:8px}
  footer.ft .ft-rev .ft-rbadge{font-size:.75rem;padding:.4rem .7rem;gap:.35rem;white-space:nowrap}
  footer.ft .ft-rev .tp-btn{font-size:.75rem;padding:.4rem .7rem;gap:4px;white-space:nowrap}
  footer.ft .ft-rev .tp-star{width:16px;height:16px}
}
@media (max-width:380px){
  footer.ft .ft-rev .ft-rbadge,footer.ft .ft-rev .tp-btn{font-size:.6875rem;padding:.375rem .55rem}
  footer.ft .ft-rev .ft-rbadge .rstars{letter-spacing:-.05em}
}
.rbadge .rs{display:none}
@media (max-width:480px){
  footer.ft .ft-rev .rl{display:none} footer.ft .ft-rev .rs{display:inline}
  footer.ft .ft-rev .ft-rbadge,footer.ft .ft-rev .tp-btn{font-size:.6875rem;padding:.4rem .6rem}
  footer.ft .ft-rev .ft-rbadge .rstars{font-size:11px}
  footer.ft .ft-rev .tp-star{width:14px;height:14px}
}
footer.ft .ft-rev .ft-rbadge,footer.ft .ft-rev .tp-btn{height:34px;box-sizing:border-box;padding-block:0}
@media (max-width:860px){footer.ft .ft-rev .ft-rbadge,footer.ft .ft-rev .tp-btn{height:28px}}

/* reviews inside "Results that speak for themselves" (navy band) */
.statsband .rin{margin-top:clamp(2.5rem,5vw,3.5rem);padding-top:clamp(2rem,4vw,2.75rem);border-top:1px solid rgba(255,255,255,.15)}
.statsband .rhead{margin-bottom:1.25rem}
.statsband .rhead h3{color:#fff;font:800 clamp(1.375rem,2.4vw,1.75rem)/1.2 var(--font-heading);margin:0 0 .375rem}
.statsband .rsum{color:#DCE6F7;margin:0}
.statsband .rin .rcol{margin-top:1.25rem}
.btn.b-mint{background:var(--mint);color:var(--navy);border:0}
.btn.b-mint:hover{background:#fff;color:var(--navy)}
.b-terms{margin:-.25rem 0 0;font-size:.8125rem;line-height:1.45;color:#C9D6EE}
.b-terms a{color:#fff;text-decoration:underline}
.tag.t-opt{background:#E6F8EE;color:#0B5B33}
.chk-opt em{font-style:normal;color:var(--muted);font-size:.875em}
.tq .tag.t-opt{display:inline-block;font:600 .75rem/1 var(--font-heading);padding:.3rem .5rem;border-radius:999px;margin-top:.375rem}

/* ---------- Where BAs work + career paths ---------- */
.rchips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.375rem}
.rchips li{font:600 .8125rem/1.2 var(--font-heading);padding:.4375rem .625rem;border-radius:999px;background:var(--cloud);color:var(--navy)}
.ind2-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.ind2{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.25rem;display:flex;flex-direction:column;gap:.625rem}
.ind2 .icon-badge{background:#0047BB;color:#fff}
.ind2 h3{margin:0;font-size:1.125rem;color:var(--navy)}
.ind2 .ind-l{margin:0;font:700 .75rem/1 var(--font-heading);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.ladder{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;counter-reset:none}
.lad{position:relative;border-radius:20px;padding:1.25rem;display:flex;flex-direction:column;gap:.875rem}
.lad-1{background:#A7C6ED}.lad-2{background:#0047BB}.lad-3{background:#001E60}
.lad-h{display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;align-items:center}
.lad-h i{grid-row:span 2;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:800 1.125rem/1 var(--font-heading);font-style:normal;background:#fff;color:var(--navy)}
.lad-h b{font:800 1.375rem/1.1 var(--font-heading)}
.lad-h span{font:600 .875rem/1.2 var(--font-heading)}
.lad-1 .lad-h b,.lad-1 .lad-h span{color:var(--navy)}
.lad-2 .lad-h b,.lad-2 .lad-h span,.lad-3 .lad-h b,.lad-3 .lad-h span{color:#fff}
.lad-1 .rchips li{background:#fff}
.lad-2 .rchips li,.lad-3 .rchips li{background:rgba(255,255,255,.14);color:#fff}
.lad-3 .lad-h i{background:#80E0A7}
.lad:not(:last-child)::after{content:"";position:absolute;top:50%;right:-.875rem;width:.75rem;height:.75rem;border-top:3px solid var(--navy);border-right:3px solid var(--navy);transform:translateY(-50%) rotate(45deg);z-index:1}
.paths-t{margin:2.25rem 0 1rem;font-size:clamp(1.25rem,2.2vw,1.5rem);color:var(--navy)}
.paths{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.path{background:#fff;border-radius:20px;padding:1.25rem;border-top:6px solid var(--pc);display:flex;flex-direction:column;gap:.625rem}
.path-h{display:flex;align-items:center;gap:.625rem}
.path-h h4{margin:0;font:800 1.25rem/1.1 var(--font-heading);color:var(--navy)}
.path .icon-badge{background:var(--pc);color:var(--pf,#fff)}
.path p{margin:0;font-size:var(--fs-card);color:var(--ink)}
.p-prod{--pc:#0047BB}.p-deliv{--pc:#001E60}.p-arch{--pc:#80E0A7;--pf:#001E60}.p-data{--pc:#A7C6ED;--pf:#001E60}.p-lead{--pc:#F5B841;--pf:#001E60}.p-cons{--pc:#53565A}
@media (max-width:1000px){.ind2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.paths{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.ladder{grid-template-columns:1fr;gap:1.25rem}.lad:not(:last-child)::after{top:auto;bottom:-.95rem;right:auto;left:50%;transform:translateX(-50%) rotate(135deg)}}
@media (max-width:560px){.ind2-grid,.paths{grid-template-columns:1fr}}
.ind2 .icon-badge,.path .icon-badge{width:44px;height:44px;flex:0 0 44px;border-radius:12px;display:grid;place-items:center;align-self:flex-start}
.ind2 .icon-badge .ic,.path .icon-badge .ic{width:22px;height:22px}
.path-h{align-items:center}.path-h .icon-badge{align-self:center}
section:not(.sec-cloud) .path{border:1px solid var(--line);border-top:6px solid var(--pc)}

/* ---------- trainer profile (About) ---------- */
.tr2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.75rem,4.5vw,4rem);align-items:start}
.tr2-photo{position:relative;margin:0;border-radius:24px;overflow:hidden;background:#fff;aspect-ratio:1/1}
.tr2-photo img{display:block;width:100%;height:100%;object-fit:cover}
.tr2-photo figcaption{position:absolute;left:16px;bottom:16px;background:var(--navy);color:#fff;border-radius:14px;padding:.625rem .9rem;display:grid;gap:.125rem}
.tr2-photo figcaption b{font:800 1rem/1.1 var(--font-heading)}
.tr2-photo figcaption span{font-size:.8125rem;color:#DCE6F7}
.tr2-body h2{margin:0;font-size:clamp(2.25rem,4.5vw,3.25rem)}
.tr2-role{margin:.5rem 0 1.25rem;font:600 clamp(1.0625rem,1.6vw,1.25rem)/1.4 var(--font-heading);color:var(--blue,#0047BB)}
.tr2-body>p:not(.tr2-role){margin:0 0 1rem;max-width:62ch}
.tr2-facts{list-style:none;margin:1.5rem 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem}
.tr2-facts li{background:var(--cloud);border-radius:16px;padding:1rem 1.125rem;display:grid;gap:.25rem}
.tr2-facts b{font:800 1.125rem/1.2 var(--font-heading);color:var(--navy)}
.tr2-facts span{font-size:.875rem;color:var(--ink)}
.tr2 .btns{align-items:center}
.tr2 .li-link{display:inline-flex;margin-left:.25rem}
@media (max-width:860px){.tr2{grid-template-columns:1fr}.tr2-photo{max-width:420px}}
@media (max-width:480px){.tr2-facts{grid-template-columns:1fr}}
.tr2 .btns{flex-wrap:wrap}
.tr2-facts li{align-content:start}
.tr2>*{min-width:0}

/* ---------- 60-second explainer (home) ---------- */
.xpl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.xpl-text h2{margin:0}.xpl-text .sub{margin:.5rem 0 1rem}
.xpl-text>p:not(.sub){margin:0 0 1.25rem;max-width:56ch}
.xpl-list{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:.75rem}
.xpl-list li{display:flex;gap:.625rem;align-items:center;font:600 1.0625rem/1.35 var(--font-heading);color:var(--navy)}
.xpl-list .ic{width:26px;height:26px;flex:0 0 26px;padding:4px;border-radius:50%;background:var(--mint);color:var(--navy)}
.xpl-video{justify-self:center;width:100%;max-width:360px;border-radius:28px;overflow:hidden;background:var(--navy);border:8px solid var(--navy)}
.xpl-video video{display:block;width:100%;height:auto;aspect-ratio:9/16;background:#F6F8FC}
.xpl .btns{flex-wrap:wrap}
@media (max-width:860px){.xpl{grid-template-columns:1fr}.xpl-video{max-width:320px}}
.xpl-cover{display:block;width:100%;padding:0;border:0;margin:0;background:none;cursor:pointer;aspect-ratio:9/16}
.xpl-cover img{display:block;width:100%;height:100%;object-fit:cover}
.xpl-cover:focus-visible{outline:4px solid var(--mint);outline-offset:-4px}
.xpl-cover[hidden],.xpl-video video[hidden]{display:none}

/* ---------- About: values, roadmap, trainer heading ---------- */
.mv .fcard h3{font-size:clamp(1.25rem,2vw,1.5rem)}
.vals{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.val{background:#fff;border-radius:20px;padding:1.375rem;display:flex;flex-direction:column;gap:.625rem}
.val .icon-badge{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--blue,#0047BB);color:#fff}
.val h3{margin:0;font-size:1.1875rem;color:var(--navy)}.val p{margin:0;font-size:var(--fs-card)}
.road{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;counter-reset:none}
.road li{position:relative;background:var(--cloud);border-radius:20px;padding:1.375rem;display:flex;flex-direction:column;gap:.75rem}
.road li:first-child{background:var(--navy)}.road li:first-child h3,.road li:first-child p{color:#fff}
.road i{font-style:normal;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--navy);font:800 1.125rem/1 var(--font-heading)}
.road h3{margin:0;font-size:1.125rem;color:var(--navy)}.road p{margin:0;font-size:var(--fs-card)}
.tr2-name{margin:0;font-size:clamp(1.75rem,3.5vw,2.5rem);color:var(--navy)}
.trainer2.sec-cloud .tr2-facts li{background:#fff}
@media (max-width:1000px){.vals{grid-template-columns:repeat(2,minmax(0,1fr))}.road{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.vals,.road{grid-template-columns:1fr}}

/* ---------- BA quiz ---------- */
.qz-card{max-width:640px;margin:0 auto;background:#fff;border-radius:24px;padding:clamp(1.25rem,4vw,2rem);box-shadow:0 10px 30px rgba(0,30,96,.08)}
.qz-prog{height:8px;border-radius:8px;background:#E6EEFB;overflow:hidden;margin-bottom:1rem}.qz-prog span{display:block;height:100%;background:#0047BB;transition:width .3s}
.qz-count{margin:0 0 .25rem;font-size:.8125rem;font-weight:700;color:#53565A;text-transform:uppercase;letter-spacing:.06em}
.qz-q{margin:0 0 1rem;font:800 clamp(1.2rem,3.5vw,1.5rem)/1.25 var(--font-heading);color:#001E60}.qz-q:focus{outline:none}
.qz-opts{display:grid;gap:.625rem}
.qz-opt{text-align:left;min-height:52px;padding:.8rem 1rem;border-radius:14px;border:2px solid #DCE6F7;background:#fff;color:#101820;font:600 1rem/1.35 var(--font-body);cursor:pointer;transition:border-color .15s,background .15s}
.qz-opt:hover,.qz-opt:focus-visible{border-color:#0047BB;background:#F4F7FC;outline:none}
.qz-back{margin-top:1rem;background:none;border:0;color:#0047BB;font:700 .9375rem var(--font-body);cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:0}
.qz-sub{margin:-.25rem 0 1rem;color:#1B2A4A}
.qz-form{display:grid;gap:.875rem}.qz-form .opt{font-weight:500;color:#53565A}
.qz-fine{font-size:.8125rem;color:#53565A;margin:.25rem 0 0}
.qz-eyebrow{margin:0 0 .25rem;font-size:.8125rem;font-weight:800;color:#0047BB;text-transform:uppercase;letter-spacing:.06em}
.qz-score{height:12px;border-radius:12px;background:#E6EEFB;overflow:hidden;margin:0 0 1rem}.qz-score span{display:block;height:100%;background:linear-gradient(90deg,#80E0A7,#80E0A7)}
.qz-h{margin:1.25rem 0 .375rem;font:800 1rem var(--font-heading);color:#001E60}
.qz-tips{margin:0;padding-left:1.25rem;display:grid;gap:.375rem}
.qz-res .btns{margin-top:1.25rem}
dialog.qz-dlg{width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}
dialog.qz-dlg .dlg-in{padding:clamp(1.25rem,4vw,2rem)}
.qz-invite{position:fixed;z-index:60;left:50%;top:12px;transform:translate(-50%,-140%);transition:transform .35s ease;width:min(640px,calc(100vw - 24px));display:flex;align-items:center;gap:.75rem;background:#001E60;color:#fff;border-radius:18px;padding:.75rem .75rem .75rem 1rem;box-shadow:0 12px 32px rgba(0,30,96,.3)}
.qz-invite.on{transform:translate(-50%,0)}
.qz-invite p{margin:0;flex:1;min-width:0;display:grid;gap:.125rem;font-size:.875rem;line-height:1.35;color:#DCE6F7}.qz-invite b{color:#fff;font-size:1rem}
.qz-ico{flex:none;width:40px;height:40px;border-radius:50%;background:#80E0A7;color:#001E60;display:grid;place-items:center;font:800 1.25rem var(--font-heading)}
.qz-invite .qz-go{flex:none;min-height:44px;padding:0 1rem;white-space:nowrap}
.qz-x{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:1.25rem;line-height:1;cursor:pointer}
.qz-x:hover{background:rgba(255,255,255,.25)}
@media (max-width:560px){.qz-invite{flex-wrap:wrap;top:8px;padding:.75rem}.qz-ico{display:none}.qz-invite p{flex:1 1 calc(100% - 48px)}.qz-invite .qz-go{flex:1 1 100%;order:3}}
@media (prefers-reduced-motion:reduce){.qz-invite{transition:none}}

/* quiz dialog: proportionate on phones */
.qz-res .btns{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}
.qz-res .btns .btn{min-width:0;padding:0 .75rem;white-space:nowrap}
@media (max-width:560px){
  dialog.qz-dlg{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:18px}
  dialog.qz-dlg .dlg-in{padding:1rem 1rem 1.25rem;gap:.75rem;max-height:calc(100dvh - 16px)}
  dialog.qz-dlg h2{font-size:1.125rem;line-height:1.25;margin:-1rem -1rem 0;padding:1rem 3.5rem 1rem 1rem}
  dialog.qz-dlg .dlg-x{width:36px;height:36px;right:10px;top:10px}
  .qz-q{font-size:1.125rem;margin-bottom:.75rem}
  .qz-res p,.qz-tips{font-size:.9375rem;line-height:1.45}
  .qz-res p{margin:.5rem 0}
  .qz-h{margin:.875rem 0 .25rem;font-size:.9375rem}
  .qz-score{height:10px;margin-bottom:.75rem}
  .qz-res .btns{margin-top:.875rem}
  .qz-res .btns .btn{min-height:44px;font-size:.9375rem}
  .qz-opt{min-height:48px;padding:.7rem .875rem;font-size:.9375rem}
  .qz-card{padding:1rem;border-radius:18px}
}
.qz-fix{background:none;border:0;padding:0;font:inherit;font-weight:800;color:#0047BB;text-decoration:underline;cursor:pointer}
