/* =========================================================
   I2CAN 2026 - PGDAM course page
   Layered on doctors.css. Uses only theme tokens (style.css):
   navy / blue / red / gold, Poppins, --r-*, --sh-*.
   ========================================================= */

.pg-ico{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:var(--r-md);background:var(--blue-050);color:var(--blue-600);flex:none}
.pg-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pg-ico--red{background:var(--red-050);color:var(--red-600)}
.pg-ico--navy{background:var(--navy-900);color:#fff}

/* ---------- Hero additions ---------- */
.pg-hero .i2-doc-hero__lead{max-width:58ch}
.pg-hero__alias{display:inline-block;margin:14px 0 0;font-size:var(--fs-sm);color:rgba(255,255,255,.66)}
.pg-hero__alias b{color:#fff;font-weight:600}
.pg-ticks{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.pg-ticks li{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-sm);color:rgba(255,255,255,.82);line-height:1.6}
.pg-ticks svg{flex:none;width:18px;height:18px;margin-top:3px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;padding:3px;border-radius:50%;background:var(--red-600)}

/* Highlights bar overlapping the hero */
.pg-high{position:relative;z-index:2;margin-top:calc(-1 * clamp(36px,4vw,56px))}
.pg-high__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-3);overflow:hidden}
.pg-high__item{display:flex;gap:14px;align-items:center;padding:22px 22px;border-right:1px solid var(--line)}
.pg-high__item:last-child{border-right:0}
.pg-high__item b{display:block;font-size:1.35rem;line-height:1.1;color:var(--navy-900);letter-spacing:-.02em}
.pg-high__item div > span{display:block;font-size:var(--fs-xs);color:var(--body);line-height:1.45;margin-top:3px}

/* ---------- Sticky section nav ---------- */
.pg-subnav-wrap{margin-top:clamp(28px,3vw,40px);min-height:54px}
.pg-subnav{position:relative;z-index:90;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line)}
.pg-subnav.is-fixed{position:fixed;left:0;right:0;top:var(--pg-top,0px);box-shadow:0 6px 20px rgba(11,30,58,.08)}
.pg-subnav .container{display:flex;align-items:center;gap:18px}
.pg-subnav nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
.pg-subnav nav::-webkit-scrollbar{display:none}
.pg-subnav nav a{flex:none;padding:16px 12px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;color:var(--ink-2);text-decoration:none;border-bottom:2px solid transparent;transition:color var(--t-fast),border-color var(--t-fast)}
.pg-subnav nav a:hover,.pg-subnav nav a.is-on{color:var(--red-600);border-bottom-color:var(--red-600)}
.pg-subnav .btn{flex:none}
.pg-page section[id]{scroll-margin-top:96px}

/* ---------- Overview ---------- */
.pg-over{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center}
.pg-over__lead{font-size:var(--fs-lead);line-height:1.8;color:var(--body);margin:0}
.pg-over__mods{display:grid;gap:12px;margin-top:26px}
.pg-over__mod{display:flex;gap:16px;align-items:center;padding:16px 18px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-1);text-decoration:none;transition:border-color var(--t-fast),transform var(--t-fast),box-shadow var(--t)}
.pg-over__mod:hover{border-color:var(--blue-200);transform:translateY(-2px);box-shadow:var(--sh-2)}
.pg-over__mod em{font-style:normal;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.14em;color:var(--red-600)}
.pg-over__mod b{display:block;color:var(--navy-900);font-size:var(--fs-body)}
.pg-over__mod div > span{display:block;font-size:var(--fs-xs);color:var(--body)}
.pg-figure{position:relative;margin:0}
.pg-figure img{display:block;width:100%;height:auto;aspect-ratio:4/3.4;object-fit:cover;border-radius:var(--r-2xl);box-shadow:var(--sh-3)}
.pg-figure__chip{position:absolute;left:clamp(-10px,-1.5vw,-24px);bottom:28px;display:flex;gap:12px;align-items:center;padding:14px 18px;background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--sh-3);max-width:260px}
.pg-figure__chip b{display:block;color:var(--navy-900);font-size:var(--fs-sm)}
.pg-figure__chip div > span{display:block;font-size:var(--fs-xs);color:var(--body);line-height:1.45}

/* ---------- Icon cards (why / careers) ---------- */
.pg-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.8vw,24px)}
.pg-card{position:relative;padding:clamp(24px,2.4vw,30px);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);transition:transform var(--t-fast),box-shadow var(--t),border-color var(--t-fast)}
.pg-card:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:var(--blue-200)}
.pg-card h3{font-size:var(--fs-h3);color:var(--navy-900);margin:18px 0 8px;letter-spacing:-.01em}
.pg-card p{margin:0;font-size:var(--fs-sm);line-height:1.75;color:var(--body)}
.pg-card__n{position:absolute;right:22px;top:18px;font-size:2.4rem;font-weight:700;letter-spacing:-.04em;color:var(--blue-100);line-height:1}

/* ---------- Curriculum ---------- */
.pg-mods{display:grid;gap:16px}
.pg-mod{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);overflow:hidden}
.pg-mod[open]{box-shadow:var(--sh-2);border-color:var(--blue-200)}
.pg-mod summary{list-style:none;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:clamp(18px,2vw,26px) clamp(18px,2.4vw,30px);cursor:pointer}
.pg-mod summary::-webkit-details-marker{display:none}
.pg-mod__n{display:grid;place-items:center;width:58px;height:58px;border-radius:var(--r-md);background:var(--navy-900);color:#fff;font-weight:700;font-size:1.1rem;letter-spacing:.02em}
.pg-mod:nth-child(2) .pg-mod__n{background:var(--blue-600)}
.pg-mod:nth-child(3) .pg-mod__n{background:var(--red-600)}
.pg-mod__t small{display:block;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red-600)}
.pg-mod__t b{display:block;font-size:clamp(1.1rem,1rem + .5vw,1.4rem);color:var(--navy-900);letter-spacing:-.015em;margin-top:2px}
.pg-mod__t span{display:block;font-size:var(--fs-sm);color:var(--body);margin-top:4px}
.pg-mod__tog{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);color:var(--navy-900);transition:transform var(--t),background var(--t-fast)}
.pg-mod__tog svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.pg-mod[open] .pg-mod__tog{transform:rotate(45deg);background:var(--blue-050)}
.pg-mod__body{padding:0 clamp(18px,2.4vw,30px) clamp(20px,2.4vw,30px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pg-topic{padding:16px 18px;background:var(--blue-050);border-radius:var(--r-md)}
.pg-topic h4{margin:0 0 8px;font-size:var(--fs-sm);color:var(--navy-900)}
.pg-topic ul{list-style:none;margin:0;padding:0}
.pg-topic li{position:relative;padding-left:14px;margin:0 0 5px;font-size:var(--fs-xs);line-height:1.6;color:var(--body)}
.pg-topic li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--red-600)}
.pg-curr-foot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-top:24px;padding:18px 22px;border:1px dashed var(--line-2);border-radius:var(--r-md);background:var(--paper)}
.pg-curr-foot p{margin:0;font-size:var(--fs-sm);color:var(--body);max-width:64ch}

/* ---------- Hands-on ---------- */
.pg-hands{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.pg-hands figure{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--navy-950)}
.pg-hands figure:nth-child(1){grid-column:span 6;grid-row:span 2}
.pg-hands figure:nth-child(2),.pg-hands figure:nth-child(3){grid-column:span 3}
.pg-hands figure:nth-child(4){grid-column:span 6}
.pg-hands img{display:block;width:100%;height:100%;min-height:210px;object-fit:cover;transition:transform .6s var(--ease)}
.pg-hands figure:hover img{transform:scale(1.04)}
.pg-hands figcaption{position:absolute;left:12px;bottom:12px;padding:6px 12px;border-radius:var(--r-pill);background:rgba(0,26,65,.82);color:#fff;font-size:var(--fs-xs);font-weight:500}
.pg-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.pg-chips span{padding:9px 16px;border-radius:var(--r-pill);background:var(--paper);border:1px solid var(--line);font-size:var(--fs-xs);font-weight:500;color:var(--ink-2)}
.pg-chips span.is-theory{background:var(--red-050);border-color:transparent;color:var(--red-700)}

/* ---------- Support band ---------- */
.pg-support{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,4vw,56px);align-items:center}
.pg-support__big{padding:clamp(28px,3vw,40px);border-radius:var(--r-xl);background:linear-gradient(145deg,var(--navy-800),var(--navy-950));border:1px solid rgba(255,255,255,.08)}
.pg-support__big .pg-inf{font-size:clamp(3.4rem,3rem + 2vw,4.6rem);line-height:1;color:var(--gold-500);font-weight:700}
.pg-support__big h3{color:#fff;font-size:clamp(1.3rem,1.1rem + .8vw,1.7rem);margin:12px 0 10px}
.pg-support__big p{color:rgba(255,255,255,.72);margin:0 0 22px;line-height:1.75;font-size:var(--fs-sm)}
.pg-support__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pg-support__list li{display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:var(--r-md);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.88);font-size:var(--fs-sm);line-height:1.5}
.pg-support__list .pg-ico{width:40px;height:40px;background:rgba(255,255,255,.08);color:#fff}

/* ---------- Accreditation ---------- */
.pg-accr{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:center}
.pg-accr__list{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pg-accr__list li{display:flex;gap:12px;align-items:center;padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:500;color:var(--navy-900)}
.pg-accr__list .pg-ico{width:36px;height:36px}
.pg-accr__list .pg-ico svg{width:18px;height:18px}

/* ---------- Centres ---------- */
.pg-centres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pg-centre{display:flex;flex-direction:column;gap:10px;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);text-decoration:none;box-shadow:var(--sh-1);transition:transform var(--t-fast),box-shadow var(--t),border-color var(--t-fast)}
.pg-centre:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:var(--blue-200)}
.pg-centre b{font-size:var(--fs-h3);color:var(--navy-900)}
.pg-centre span{font-size:var(--fs-xs);color:var(--body);line-height:1.6}
.pg-centre em{margin-top:auto;font-style:normal;font-size:var(--fs-xs);font-weight:600;color:var(--red-600)}
.pg-visit{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;margin-top:20px;padding:22px 26px;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line)}
.pg-visit ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 26px}
.pg-visit li{display:flex;gap:8px;align-items:center;font-size:var(--fs-sm);color:var(--ink-2)}
.pg-visit li svg{width:16px;height:16px;fill:none;stroke:var(--red-600);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.pg-visit p{grid-column:1/-1;margin:0;font-size:var(--fs-xs);color:var(--muted)}

/* ---------- At a glance / fees ---------- */
.pg-glance{display:grid;grid-template-columns:1.2fr .8fr;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh-2);background:var(--paper)}
.pg-glance dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.pg-glance dl div{padding:22px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.pg-glance dl div:nth-child(2n){border-right:0}
.pg-glance dt{font-size:var(--fs-2xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pg-glance dd{margin:6px 0 0;font-size:var(--fs-sm);font-weight:500;color:var(--navy-900);line-height:1.55}
.pg-glance__cta{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:clamp(26px,3vw,40px);background:var(--navy-900);color:rgba(255,255,255,.76)}
.pg-glance__cta h3{margin:0;color:#fff;font-size:clamp(1.25rem,1.1rem + .6vw,1.6rem)}
.pg-glance__cta p{margin:0;font-size:var(--fs-sm);line-height:1.7}
.pg-glance__cta .btn{align-self:flex-start}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .pg-high__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pg-high__item:nth-child(3){border-right:0}
  .pg-high__item:nth-child(n+4){border-top:1px solid var(--line)}
  .pg-mod__body{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pg-centres{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .pg-over,.pg-support,.pg-accr,.pg-glance{grid-template-columns:1fr}
  .pg-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pg-figure__chip{left:16px}
  .pg-subnav .btn{display:none}
}
@media (max-width:720px){
  .pg-high__grid{grid-template-columns:1fr 1fr}
  .pg-high__item{border-right:1px solid var(--line)!important;border-top:1px solid var(--line);padding:16px}
  .pg-high__item:nth-child(-n+2){border-top:0}
  .pg-high__item:nth-child(2n){border-right:0!important}
  .pg-high__item:last-child{grid-column:1/-1;border-right:0!important}
  .pg-high__item{flex-direction:column;align-items:flex-start;gap:10px}
  .pg-high__item b{font-size:1.15rem}
  .pg-high__item .pg-ico{width:38px;height:38px}
  .pg-cards,.pg-mod__body,.pg-support__list,.pg-accr__list,.pg-centres,.pg-glance dl{grid-template-columns:1fr}
  .pg-glance dl div{border-right:0}
  .pg-mod summary{grid-template-columns:auto 1fr;gap:14px}
  .pg-mod__tog{display:none}
  .pg-mod__n{width:46px;height:46px;font-size:1rem}
  .pg-hands{grid-template-columns:1fr 1fr}
  .pg-hands figure:nth-child(n){grid-column:span 1;grid-row:auto}
  .pg-hands figure:nth-child(1){grid-column:1/-1}
  .pg-visit{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .pg-card,.pg-centre,.pg-over__mod,.pg-hands img,.pg-mod__tog{transition:none}
}
