/* AERTHEIX · Programmes · stats band, course panels (F-A-B), comparison, organisations, completion.
   Scoped to body[data-access-version="3"]. Tokens come from aertheix.css. L2 detail = native <details>. */
body[data-access-version="3"]{--pg-line:rgba(212,188,132,.3)}

/* ---------- the stats under the hero ---------- */
body[data-access-version="3"] .pg-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.8vw,26px);margin-top:clamp(36px,5vw,68px)}
body[data-access-version="3"] .pg-stat{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(22px,3vw,40px);min-height:clamp(250px,23vw,320px);padding:clamp(26px,3vw,44px);border-radius:16px;border:1px solid var(--pg-line);background:radial-gradient(120% 90% at 100% 0,rgba(212,188,132,.22),transparent 58%),linear-gradient(165deg,#1B4D3D,#0F2A21);color:#fff;box-shadow:0 40px 60px -40px rgba(15,42,33,.65);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .3s}
body[data-access-version="3"] .pg-stat::before{content:"";position:absolute;inset:auto -20% -48% auto;width:70%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(212,188,132,.22);z-index:-1;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
body[data-access-version="3"] .pg-stat::after{content:"";position:absolute;inset:auto -6% -22% auto;width:44%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(212,188,132,.16);z-index:-1;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
body[data-access-version="3"] .pg-stat-kick{margin:0;color:var(--gold-light);font:600 var(--fs-micro)/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase}
body[data-access-version="3"] .pg-stat-v{display:flex;align-items:baseline;gap:.14em;margin:0;color:var(--gold-light);font:500 clamp(96px,10.5vw,156px)/.86 var(--display);letter-spacing:-.055em;font-variant-numeric:tabular-nums}
body[data-access-version="3"] .pg-stat-v small{color:#fff;font:italic 400 clamp(26px,2.6vw,38px)/1 var(--display);letter-spacing:-.01em}
body[data-access-version="3"] .pg-stat-l{margin:0;max-width:26ch;color:var(--on-dark-body);font:400 var(--fs-body)/1.5 var(--sans)}
body[data-access-version="3"] .pg-stat-l b{display:block;margin-bottom:4px;color:#fff;font-weight:600}
@media(hover:hover){body[data-access-version="3"] .pg-stat:hover{transform:translateY(-8px);border-color:var(--gold-light);box-shadow:0 56px 70px -40px rgba(15,42,33,.8)}body[data-access-version="3"] .pg-stat:hover::before{transform:scale(1.12) translate(-4%,-4%)}body[data-access-version="3"] .pg-stat:hover::after{transform:scale(1.2) translate(-6%,-6%)}}
@media(max-width:860px){body[data-access-version="3"] .pg-stats{grid-template-columns:minmax(0,1fr)}body[data-access-version="3"] .pg-stat{min-height:0;flex-direction:row;align-items:center;flex-wrap:wrap}body[data-access-version="3"] .pg-stat-v{font-size:clamp(84px,24vw,120px)}}

/* ---------- pathway (light section, green cards) ---------- */
body[data-access-version="3"] .pg-path{background:linear-gradient(180deg,#FBF9F3,#F3EFE4);color:var(--ink)}
body[data-access-version="3"] .pg-path .h2{color:var(--forest-deep)}
body[data-access-version="3"] .pg-path .h2 em{color:#735818}
body[data-access-version="3"] .pg-path .pg-lead{max-width:44ch;margin:0;color:var(--forest);font:500 var(--fs-lead)/1.4 var(--sans)}
body[data-access-version="3"] .pg-path .pg-lead-sub{max-width:52ch;margin:16px 0 0;color:var(--ink);font:400 var(--fs-body)/1.55 var(--sans)}

/* "where do you fit" chooser */
.pg-pick{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-top:clamp(26px,3vw,42px)}
.pg-pick-q{margin:0 10px 0 0;color:#735818;font:italic 400 clamp(24px,2.2vw,32px)/1 var(--display);letter-spacing:-.01em}
.pg-pick a{display:inline-flex;align-items:center;gap:12px;padding:8px 22px 8px 8px;border:1px solid rgba(15,42,33,.18);border-radius:999px;background:#fff;color:var(--forest-deep);font:500 var(--fs-label)/1.3 var(--sans);text-decoration:none;transition:transform .3s cubic-bezier(.2,.7,.2,1),border-color .25s,box-shadow .3s}
.pg-pick a b{display:grid;flex:none;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(165deg,#1B4D3D,#0F2A21);color:var(--gold-light);font:italic 400 18px/1 var(--display);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.pg-pick a:hover,.pg-pick a:focus-visible{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 18px 30px -20px rgba(15,42,33,.5)}
.pg-pick a:hover b{transform:scale(1.12) rotate(-6deg)}
.pg-pick a:focus-visible{outline:2px solid var(--forest);outline-offset:3px}

/* ---------- course cards ---------- */
.pg-courses{--pg-gap:clamp(46px,5vw,70px);display:grid;gap:var(--pg-gap);margin-top:clamp(34px,4vw,56px)}
.pg-course{position:relative;display:grid;gap:clamp(24px,3vw,38px);padding:clamp(26px,3.4vw,52px);border-radius:20px;border:1px solid rgba(212,188,132,.4);background:radial-gradient(110% 90% at 100% 0,rgba(212,188,132,.2),transparent 56%),linear-gradient(165deg,#1B4D3D,#0F2A21);color:#fff;box-shadow:0 50px 70px -48px rgba(15,42,33,.75);scroll-margin-top:110px;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .3s}
.pg-course+.pg-course::before{content:"";position:absolute;left:50%;bottom:100%;width:2px;height:var(--pg-gap);margin-left:-1px;background:linear-gradient(180deg,transparent,#B8943F)}
.pg-course+.pg-course::after{content:"";position:absolute;left:50%;bottom:calc(100% - 5px);width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#B8943F;animation:pg-dot 2.4s ease-out infinite}
@keyframes pg-dot{0%{box-shadow:0 0 0 0 rgba(184,148,63,.55)}70%,100%{box-shadow:0 0 0 14px rgba(184,148,63,0)}}
@media(hover:hover){.pg-course:hover{transform:translateY(-4px);border-color:var(--gold-light);box-shadow:0 64px 80px -46px rgba(15,42,33,.85)}}
.pg-course:focus{outline:none}.pg-course:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.pg-course.is-pulse{animation:pg-pulse 1.8s ease-out 1}
@keyframes pg-pulse{0%{box-shadow:0 0 0 0 rgba(212,188,132,.9)}70%{box-shadow:0 0 0 22px rgba(212,188,132,0)}100%{box-shadow:0 50px 70px -48px rgba(15,42,33,.75)}}

.pg-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(18px,3.4vw,56px);align-items:center;min-width:0}
.pg-code{display:block;color:var(--gold-light);font:italic 400 clamp(88px,10vw,150px)/.9 var(--display);letter-spacing:-.05em}
.pg-head-text{min-width:0}
.pg-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.pg-meta li{padding:6px 12px;border:1px solid var(--pg-line);border-radius:999px;color:var(--gold-light);font:600 var(--fs-nano)/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.pg-head h3{margin:16px 0 0;color:#fff;font:500 clamp(26px,2.6vw,38px)/1.1 var(--sans);letter-spacing:-.035em}
.pg-tag{margin:10px 0 0;max-width:34ch;color:var(--gold-light);font:italic 400 clamp(22px,2vw,28px)/1.25 var(--display);letter-spacing:-.01em}
.pg-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:22px}
.pg-links a{display:inline-flex;gap:8px;align-items:center;padding-bottom:3px;border-bottom:1px solid rgba(212,188,132,.45);color:var(--gold-light);font:600 var(--fs-micro)/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:color .2s,border-color .2s}
.pg-links a:hover,.pg-links a:focus-visible{color:#fff;border-color:#fff}
.pg-links a:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}
.pg-links i{font-style:normal;transition:transform .25s}.pg-links a:hover i{transform:translateX(3px)}
.pg-links .pg-primary{padding:11px 20px;border:1px solid var(--gold-light);border-radius:999px;background:var(--gold-light);color:#0F2A21}
.pg-links .pg-primary:hover,.pg-links .pg-primary:focus-visible{background:#fff;border-color:#fff;color:#0F2A21}

/* three columns: the course / what you'll learn / built to help you at work */
.pg-fab{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px);margin:0}
.pg-col{padding:24px 24px 26px;border-radius:14px;border:1px solid rgba(212,188,132,.22);background:rgba(244,239,228,.06);transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s,background .3s}
@media(hover:hover){.pg-col:hover{transform:translateY(-4px);border-color:var(--gold-light);background:rgba(244,239,228,.1)}}
.pg-col h4{display:flex;align-items:center;gap:12px;margin:0 0 20px;color:var(--gold-light);font:600 var(--fs-micro)/1.35 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.pg-col h4 svg{flex:none;box-sizing:border-box;width:36px;height:36px;padding:8px;border:1px solid var(--gold-light);border-radius:50%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s cubic-bezier(.2,.7,.2,1),background .3s,color .3s}
@media(hover:hover){.pg-col:hover h4 svg{background:var(--gold-light);color:#0F2A21;transform:rotate(-10deg) scale(1.1)}}
.pg-ticks{list-style:none;display:grid;gap:14px;margin:0;padding:0}
.pg-ticks li{position:relative;padding-left:36px;color:#fff;font:400 clamp(16px,1.2vw,18px)/1.45 var(--sans);transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.pg-ticks li::before{content:"";position:absolute;left:0;top:1px;box-sizing:border-box;width:23px;height:23px;border:1.5px solid var(--gold-light);border-radius:50%;transition:background .25s}
.pg-ticks li::after{content:"";position:absolute;left:8.5px;top:5px;width:6px;height:11px;border:solid var(--gold-light);border-width:0 2px 2px 0;transform:rotate(45deg)}
@media(hover:hover){.pg-ticks li:hover{transform:translateX(4px)}.pg-ticks li:hover::before{background:rgba(212,188,132,.28)}}
.pg-ticks em{color:var(--gold-light)}

/* scroll reveal: ticks pop in one after another (only when JS has armed it) */
html.pg-armed .pg-course:not(.is-in) .pg-ticks li{opacity:0}
html.pg-armed .pg-course.is-in .pg-ticks li{animation:pg-tick .55s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc((var(--c,0) * 3 + var(--n,0)) * 90ms + 200ms)}
html.pg-armed .pg-course.is-in .pg-ticks li::after{animation:pg-check .45s cubic-bezier(.3,1.6,.5,1) backwards;animation-delay:calc((var(--c,0) * 3 + var(--n,0)) * 90ms + 420ms)}
.pg-col:nth-child(2){--c:1}.pg-col:nth-child(3){--c:2}
.pg-ticks li:nth-child(2){--n:1}.pg-ticks li:nth-child(3){--n:2}.pg-ticks li:nth-child(4){--n:3}
@keyframes pg-tick{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes pg-check{from{transform:rotate(45deg) scale(0)}to{transform:rotate(45deg) scale(1)}}
html.pg-armed .pg-step:not(.is-in),html.pg-armed .pg-org-tile:not(.is-in){opacity:0;transform:translateY(22px)}
html.pg-armed .pg-step,html.pg-armed .pg-org-tile{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .4s}
html.pg-armed .pg-step:nth-child(2),html.pg-armed .pg-org-tile:nth-child(2){transition-delay:.12s,.12s,0s,0s}
html.pg-armed .pg-step:nth-child(3),html.pg-armed .pg-org-tile:nth-child(3){transition-delay:.24s,.24s,0s,0s}


.pg-limit{grid-column:1/-1;margin:0;padding-left:16px;border-left:2px solid var(--gold);max-width:80ch;color:var(--on-dark-fine);font:400 var(--fs-fine)/1.55 var(--sans)}
.pg-more{grid-column:1/-1;border-top:1px solid var(--pg-line);border-bottom:1px solid var(--pg-line)}
.pg-more[open]{background:rgba(244,239,228,.03)}
.pg-more summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 4px;cursor:pointer;list-style:none;color:var(--gold-light);font:600 var(--fs-micro)/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.pg-more summary::-webkit-details-marker{display:none}
.pg-more summary:hover{color:#fff}
.pg-more summary:focus-visible{outline:2px solid var(--gold-light);outline-offset:2px}
.pg-more summary i{position:relative;flex:none;width:22px;height:22px;border:1px solid rgba(212,188,132,.55);border-radius:50%}
.pg-more summary i::before,.pg-more summary i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;margin:-.75px 0 0 -5px;background:var(--gold-light);transition:transform .25s}
.pg-more summary i::after{transform:rotate(90deg)}.pg-more[open] summary i::after{transform:rotate(0)}
.pg-more-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);padding:6px 4px clamp(22px,3vw,34px)}
.pg-more[open] .pg-more-body{animation:pg-open .45s cubic-bezier(.2,.7,.2,1)}
@keyframes pg-open{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.pg-more-body h4{margin:0 0 10px;color:var(--gold-light);font:600 var(--fs-micro)/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.pg-more-body p,.pg-more-body li{margin:0;color:var(--on-dark-body);font:400 var(--fs-label)/1.6 var(--sans)}
.pg-more-body ul{margin:0;padding-left:1.1em}.pg-more-body li+li{margin-top:5px}
.pg-more-body em{color:#fff}

@media(max-width:980px){.pg-head{grid-template-columns:minmax(0,1fr);gap:10px}.pg-code{font-size:clamp(80px,22vw,120px)}.pg-fab{grid-template-columns:minmax(0,1fr)}.pg-more-body{grid-template-columns:minmax(0,1fr)}}

/* ---------- comparison (light) ---------- */
.pg-compare{margin-top:clamp(40px,5vw,70px)}
.pg-compare h3{margin:0 0 18px;color:#735818;font:600 var(--fs-micro)/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.pg-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid rgba(15,42,33,.16);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 34px 50px -42px rgba(15,42,33,.4)}
.pg-table th,.pg-table td{padding:18px 22px;text-align:left;vertical-align:top;border-top:1px solid rgba(15,42,33,.1);color:var(--ink);font:400 var(--fs-body)/1.45 var(--sans)}
.pg-table thead th{border-top:0;background:linear-gradient(165deg,#1B4D3D,#0F2A21);color:#fff;font:500 clamp(17px,1.5vw,21px)/1.2 var(--sans)}
.pg-table thead th b{display:block;color:var(--gold-light);font:italic 400 30px/1 var(--display);margin-bottom:4px}
.pg-table tbody th{width:150px;color:#735818;font:600 var(--fs-micro)/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.pg-table tbody tr{transition:background .25s}
@media(hover:hover){.pg-table tbody tr:hover{background:#F6F2E6}}
@media(max-width:860px){
  .pg-table,.pg-table tbody,.pg-table tr,.pg-table th,.pg-table td{display:block;width:auto!important}
  .pg-table thead{display:none}
  .pg-table tbody tr{padding:6px 0;border-top:1px solid rgba(15,42,33,.12)}
  .pg-table tbody tr:first-child{border-top:0}
  .pg-table tbody th{border:0;padding:14px 18px 0}
  .pg-table tbody td{border:0;padding:8px 18px}
  .pg-table tbody td::before{content:attr(data-l);display:block;margin-bottom:2px;color:#735818;font:600 var(--fs-nano)/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase}
}

/* ---------- organisations band: a light green tint so it reads apart from the pathway ---------- */
body[data-access-version="3"] .pg-org-sec{background:linear-gradient(180deg,#E9EFE8,#F2F1E7)}

/* ---------- organisations ---------- */
.pg-org{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,5vw,80px);align-items:center}
.pg-org-photo{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 40px 60px -40px rgba(15,42,33,.5)}
.pg-org-photo img{display:block;width:100%;height:100%;min-height:340px;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){.pg-org-photo:hover img{transform:scale(1.04)}}
body[data-access-version="3"] .pg-org h2{margin:0;max-width:14ch;font:500 var(--fs-h1)/1.04 var(--sans);letter-spacing:-.045em;color:var(--forest-deep)}
body[data-access-version="3"] .pg-org h2 em{display:block;font:italic 400 1em/1.06 var(--display);letter-spacing:-.03em;color:#735818}
.pg-org .pg-lead-l{max-width:40ch;margin:20px 0 0;color:var(--forest);font:500 var(--fs-lead)/1.45 var(--sans)}
.pg-org-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px);margin-top:clamp(28px,3.6vw,52px)}
.pg-org-tile{position:relative;padding:24px 24px 26px;border:1px solid rgba(15,42,33,.14);border-top:2px solid var(--gold);border-radius:10px;background:#fff;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .3s}
.pg-org-tile b{display:block;margin-bottom:10px;color:#735818;font:italic 400 clamp(26px,2.2vw,32px)/1.1 var(--display);letter-spacing:-.02em}
.pg-org-tile p{margin:0;color:var(--ink);font:400 var(--fs-body)/1.55 var(--sans)}
@media(hover:hover){.pg-org-tile:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 28px 40px -28px rgba(15,42,33,.4)}}
.pg-org-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:clamp(24px,3vw,36px)}
.pg-org-cta small{color:var(--fine);font:400 var(--fs-fine)/1.4 var(--sans)}
.pg-org-more{margin-top:clamp(20px,2.6vw,34px);border-top:1px solid rgba(15,42,33,.2);border-bottom:1px solid rgba(15,42,33,.2)}
.pg-org-more summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 4px;cursor:pointer;list-style:none;color:var(--forest);font:600 var(--fs-micro)/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.pg-org-more summary::-webkit-details-marker{display:none}
.pg-org-more summary:focus-visible{outline:2px solid var(--forest);outline-offset:2px}
.pg-org-more summary i{position:relative;flex:none;width:22px;height:22px;border:1px solid rgba(23,67,52,.55);border-radius:50%}
.pg-org-more summary i::before,.pg-org-more summary i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;margin:-.75px 0 0 -5px;background:var(--forest);transition:transform .25s}
.pg-org-more summary i::after{transform:rotate(90deg)}.pg-org-more[open] summary i::after{transform:rotate(0)}
.pg-org-more .pg-more-body p{color:var(--ink)}
.pg-org-more[open] .pg-more-body{animation:pg-open .45s cubic-bezier(.2,.7,.2,1)}
@media(max-width:980px){.pg-org{grid-template-columns:minmax(0,1fr)}.pg-org-photo img{min-height:240px;max-height:320px}.pg-org-tiles{grid-template-columns:minmax(0,1fr)}}

/* ---------- completion: attended / certified / licensed ---------- */
body[data-access-version="3"] .pg-done h2{margin:0;font:500 var(--ans-display,clamp(42px,5.5vw,80px))/1.02 var(--sans);letter-spacing:-.05em;color:#F7F4EE}
body[data-access-version="3"] .pg-done h2 em{font:italic 400 1em/1.02 var(--display);letter-spacing:-.03em;color:var(--gold-light)}
.pg-done .pg-done-lead{max-width:34ch;margin:22px 0 0;color:#fff;font:500 var(--fs-lead)/1.4 var(--sans)}
.pg-ladder{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(30px,3.4vw,56px);margin:clamp(34px,4.6vw,64px) 0 0;padding:0}
.pg-step{position:relative;display:flex;flex-direction:column;gap:14px;min-height:clamp(250px,22vw,300px);padding:clamp(24px,2.6vw,38px);border-radius:16px;border:1px solid var(--pg-line);background:radial-gradient(120% 90% at 100% 0,rgba(212,188,132,.14),transparent 60%),linear-gradient(180deg,rgba(244,239,228,.09),rgba(244,239,228,.03));transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .4s}
.pg-step-no{color:rgba(212,188,132,.5);font:italic 400 clamp(56px,6vw,84px)/.9 var(--display);letter-spacing:-.04em}
.pg-step h3{margin:0;color:#fff;font:500 clamp(26px,2.4vw,34px)/1.1 var(--sans);letter-spacing:-.035em}
.pg-step p{margin:0;color:var(--on-dark-body);font:400 var(--fs-body)/1.5 var(--sans)}
.pg-step footer{margin-top:auto;padding-top:14px;border-top:1px solid var(--pg-line);color:var(--gold-light);font:600 var(--fs-micro)/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.pg-step footer span{display:block;margin-bottom:4px;color:var(--on-dark-fine);font:400 var(--fs-nano)/1.3 var(--sans);letter-spacing:.16em}
.pg-step:not(:last-child)::after{content:"≠";position:absolute;right:calc(-1 * clamp(30px,3.4vw,56px) / 2 - 17px);top:50%;z-index:2;display:grid;place-items:center;width:34px;height:34px;margin-top:-17px;border-radius:50%;background:#0F2A21;border:1px solid var(--gold-light);color:var(--gold-light);font:500 20px/1 var(--sans)}
@media(hover:hover){.pg-step:hover{transform:translateY(-6px);border-color:var(--gold-light);box-shadow:0 44px 60px -36px rgba(0,0,0,.85)}}
.pg-done .pg-done-link{margin-top:clamp(26px,3vw,40px)}
@media(max-width:900px){.pg-ladder{grid-template-columns:minmax(0,1fr);gap:34px}.pg-step{min-height:0}.pg-step:not(:last-child)::after{right:auto;left:50%;top:auto;bottom:-17px;margin:0 0 0 -17px}}

/* ---------- T1 = the light card (T0 / T2 stay green), so the three levels read apart ---------- */
.pg-course.pg-course--t1{background:radial-gradient(110% 90% at 100% 0,rgba(212,188,132,.3),transparent 56%),linear-gradient(165deg,#FFFDF7,#F3ECD9);border-color:rgba(184,148,63,.55);color:var(--ink);box-shadow:0 50px 70px -48px rgba(15,42,33,.4);--art-line:#1B4D3D;--art-acc:#B8943F;--art-soft:rgba(184,148,63,.16);--art-bg:#FAF5E8}
@media(hover:hover){.pg-course--t1:hover{border-color:var(--gold);box-shadow:0 64px 80px -46px rgba(15,42,33,.5)}}
.pg-course--t1 .pg-code{color:#B8943F}
.pg-course--t1 .pg-meta li{border-color:rgba(15,42,33,.2);color:#735818}
.pg-course--t1 .pg-head h3{color:var(--forest-deep)}
.pg-course--t1 .pg-tag{color:#735818}
.pg-course--t1 .pg-links a{color:var(--forest);border-color:rgba(15,42,33,.35)}
.pg-course--t1 .pg-links a:hover,.pg-course--t1 .pg-links a:focus-visible{color:var(--forest-deep);border-color:var(--forest-deep)}
.pg-course--t1 .pg-links a:focus-visible{outline-color:var(--forest)}
.pg-course--t1 .pg-links .pg-primary{background:#0F2A21;border-color:#0F2A21;color:#fff}
.pg-course--t1 .pg-links .pg-primary:hover,.pg-course--t1 .pg-links .pg-primary:focus-visible{background:#1B4D3D;border-color:#1B4D3D;color:#fff}
.pg-course--t1 .pg-col{background:#fff;border-color:rgba(15,42,33,.12)}
@media(hover:hover){.pg-course--t1 .pg-col:hover{border-color:var(--gold);background:#fff;box-shadow:0 24px 36px -26px rgba(15,42,33,.4)}.pg-course--t1 .pg-col:hover h4 svg{background:#0F2A21;color:var(--gold-light)}}
.pg-course--t1 .pg-col h4{color:#735818}
.pg-course--t1 .pg-col h4 svg{border-color:#B8943F}
.pg-course--t1 .pg-ticks li{color:var(--ink)}
.pg-course--t1 .pg-ticks li::before{border-color:#1B4D3D}
.pg-course--t1 .pg-ticks li::after{border-color:#1B4D3D}
@media(hover:hover){.pg-course--t1 .pg-ticks li:hover::before{background:rgba(27,77,61,.14)}}
.pg-course--t1 .pg-ticks em{color:#735818}
.pg-course--t1 .pg-limit{color:var(--fine)}
.pg-course--t1 .pg-more{border-color:rgba(15,42,33,.18)}
.pg-course--t1 .pg-more[open]{background:rgba(15,42,33,.03)}
.pg-course--t1 .pg-more summary{color:var(--forest)}
.pg-course--t1 .pg-more summary:hover{color:var(--forest-deep)}
.pg-course--t1 .pg-more summary:focus-visible{outline-color:var(--forest)}
.pg-course--t1 .pg-more summary i{border-color:rgba(23,67,52,.55)}
.pg-course--t1 .pg-more summary i::before,.pg-course--t1 .pg-more summary i::after{background:var(--forest)}
.pg-course--t1 .pg-more-body h4{color:#735818}
.pg-course--t1 .pg-more-body p,.pg-course--t1 .pg-more-body li{color:var(--ink)}
.pg-course--t1 .pg-more-body em{color:#735818}

/* ---------- course illustrations (one per level, drawn in on reveal) ---------- */
.pg-course{--art-line:var(--gold-light);--art-acc:#fff;--art-soft:rgba(212,188,132,.16);--art-bg:#15392d}
.pg-head{grid-template-columns:auto minmax(0,1fr) minmax(180px,clamp(190px,23vw,310px));grid-template-areas:"code text art"}
.pg-code{grid-area:code}.pg-head-text{grid-area:text}
.pg-art{grid-area:art;justify-self:end;width:100%;height:auto;overflow:visible;fill:none;stroke:var(--art-line);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pg-art .soft{fill:var(--art-soft);stroke:none}
.pg-art .acc{stroke:var(--art-acc)}.pg-art .accf{fill:var(--art-acc);stroke:none}
.pg-art .faint{opacity:.55}
.pg-art .stamp-bg{fill:var(--art-bg)}
.pg-art .a-lbl{fill:var(--art-acc);stroke:none;font:italic 400 17px var(--display)}
.pg-art .a-q{fill:var(--art-acc);stroke:none;font:italic 400 34px var(--display)}
.pg-art .a-bar{fill:var(--art-soft);stroke:var(--art-line);transform-box:fill-box;transform-origin:50% 100%}
.pg-art .a-card{transform:rotate(var(--r,0deg));transform-origin:225px 150px}
.pg-art .a-stamp,.pg-art .a-bubble,.pg-art .pop,.pg-art .a-poly{transform-box:fill-box;transform-origin:center}
.pg-art .a-bubble{transform-origin:20% 100%}
.pg-art .a-glass{animation:pg-scan 5.5s ease-in-out infinite}
.pg-art .a-poly{animation:pg-breathe 5.5s ease-in-out infinite}
.pg-art .a-bubble{animation:pg-bob 3.6s ease-in-out infinite}
@keyframes pg-scan{0%,100%{transform:translate(-9px,7px)}50%{transform:translate(8px,-5px)}}
@keyframes pg-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.07) rotate(2deg)}}
@keyframes pg-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.pg-art .draw{stroke-dasharray:1;stroke-dashoffset:0}
html.pg-armed .pg-course:not(.is-in) .pg-art .draw{stroke-dashoffset:1}
html.pg-armed .pg-course:not(.is-in) .pg-art .pop,html.pg-armed .pg-course:not(.is-in) .pg-art .a-stamp,html.pg-armed .pg-course:not(.is-in) .pg-art .a-bubble{opacity:0}
html.pg-armed .pg-course:not(.is-in) .pg-art .a-bar{transform:scaleY(0)}
html.pg-armed .pg-course.is-in .pg-art .draw{animation:pg-draw 1.2s cubic-bezier(.4,0,.2,1) backwards;animation-delay:var(--d,0s)}
html.pg-armed .pg-course.is-in .pg-art .pop{animation:pg-pop .6s cubic-bezier(.3,1.6,.5,1) backwards;animation-delay:var(--d,0s)}
html.pg-armed .pg-course.is-in .pg-art .a-bar{animation:pg-grow .7s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:var(--d,0s)}
html.pg-armed .pg-course.is-in .pg-art .a-card{animation:pg-fan .9s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:.6s}
html.pg-armed .pg-course.is-in .pg-art .a-stamp{animation:pg-stamp .6s cubic-bezier(.3,1.6,.5,1) backwards;animation-delay:1.6s}
html.pg-armed .pg-course.is-in .pg-art--radar .a-bubble{animation:pg-pop .6s cubic-bezier(.3,1.6,.5,1) 2s backwards,pg-bob 3.6s ease-in-out 2.6s infinite}
@keyframes pg-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes pg-pop{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}
@keyframes pg-grow{from{transform:scaleY(0)}}
@keyframes pg-fan{from{transform:rotate(0deg)}}
@keyframes pg-stamp{from{opacity:0;transform:scale(2.2) rotate(-24deg)}to{opacity:1;transform:none}}

/* ---------- sub-headings slide in ---------- */
html.pg-armed .pg-course:not(.is-in) :is(.pg-code,.pg-meta,.pg-head h3,.pg-tag,.pg-links,.pg-col h4),
html.pg-armed .pg-slide:not(.is-in){opacity:0}
html.pg-armed .pg-course.is-in .pg-code{animation:pg-in-l .9s cubic-bezier(.2,.8,.2,1) backwards}
html.pg-armed .pg-course.is-in .pg-meta{animation:pg-in-up .7s ease .15s backwards}
html.pg-armed .pg-course.is-in .pg-head h3{animation:pg-in-wipe .8s cubic-bezier(.2,.8,.2,1) .25s backwards}
html.pg-armed .pg-course.is-in .pg-tag{animation:pg-in-wipe .9s cubic-bezier(.2,.8,.2,1) .45s backwards}
html.pg-armed .pg-course.is-in .pg-links{animation:pg-in-up .7s ease .7s backwards}
html.pg-armed .pg-course.is-in .pg-col h4{animation:pg-in-l .7s cubic-bezier(.2,.8,.2,1) .5s backwards}
html.pg-armed .pg-course.is-in .pg-col:nth-child(2) h4{animation-delay:.65s}
html.pg-armed .pg-course.is-in .pg-col:nth-child(3) h4{animation-delay:.8s}
html.pg-armed .pg-slide.is-in{animation:pg-in-wipe .9s cubic-bezier(.2,.8,.2,1) backwards}
@keyframes pg-in-l{from{opacity:0;transform:translateX(-34px)}to{opacity:1;transform:none}}
@keyframes pg-in-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pg-in-wipe{from{opacity:0;transform:translateX(-24px);clip-path:inset(-12% 100% -12% 0)}to{opacity:1;transform:none;clip-path:inset(-12% -6% -12% 0)}}

@media(max-width:980px){
  .pg-head{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"code art" "text text";align-items:end}
  .pg-art{max-width:200px}
}

@media(prefers-reduced-motion:reduce){.pg-stat,.pg-stat::before,.pg-stat::after,.pg-course,.pg-col,.pg-ticks li,.pg-pick a,.pg-table tbody tr,.pg-org-tile,.pg-org-photo img,.pg-step,.pg-links i{transition:none!important;transform:none!important}.pg-course+.pg-course::after,.pg-course.is-pulse{animation:none}.pg-more[open] .pg-more-body,.pg-org-more[open] .pg-more-body{animation:none}}
@media print{.pg-more,.pg-org-more{display:block}}
@media(prefers-reduced-motion:reduce){.pg-art .a-glass,.pg-art .a-poly,.pg-art .a-bubble{animation:none!important}}
