/* Campus and Corporate pages */
:root{--pg-deep:#1D464E;--pg-deep2:#2E5F68;--pg-cream:#FFF8EA;--pg-gold:#F6C36B;}
.pg-wrap{max-width:1120px;margin:0 auto;padding:0 20px;}
.pg-kicker{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--amber);}
.pg-kicker::before{content:"";width:24px;height:2px;background:currentColor;border-radius:2px;}
.pg h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;color:var(--plum);font-size:34px;line-height:1.1;letter-spacing:-.012em;margin-top:10px;}
.pg h2 em{font-style:italic;color:var(--rose);}
.pg-lead{margin-top:12px;max-width:42em;font-size:16.5px;line-height:1.6;color:var(--ink-soft);}
.pg-sec{padding:64px 0 0;}
.pg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--amber);color:#2B1A00;font:600 15.5px 'Jost',sans-serif;padding:15px 28px;border-radius:999px;text-decoration:none;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s;}
.pg-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(229,141,33,.35);}
.pg-btn[disabled]{opacity:.65;cursor:progress;transform:none;box-shadow:none;}
.pg-btn:focus-visible,.pg-sticky:focus-visible,.pg-jump a:focus-visible{outline:3px solid var(--amber);outline-offset:3px;}

/* Hero */
.pg-hero{background:linear-gradient(155deg,#1B434B 0%,var(--pg-deep2) 62%,#3C6975 100%);color:var(--pg-cream);padding:48px 0 56px;border-radius:0 0 36px 36px;overflow:hidden;}
.pg-hero-grid{display:grid;grid-template-columns:1fr;gap:34px;align-items:center;}
.pg-hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:38px;line-height:1.08;letter-spacing:-.015em;margin:16px 0 0;color:var(--pg-cream);}
.pg-hero h1 em{font-style:italic;color:var(--pg-gold);}
.pg-sub{margin-top:16px;max-width:30em;font-size:17px;line-height:1.55;color:#D6E4E3;}
.pg-btns{margin-top:28px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;}
.pg-textlink{color:#EAF1EC;font-weight:500;text-decoration:none;border-bottom:1.5px solid rgba(255,248,234,.5);padding-bottom:2px;}
.pg-photo{position:relative;margin:0;}
.pg-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:26px;border:5px solid rgba(246,195,107,.9);box-shadow:0 26px 60px rgba(0,0,0,.3);}
.pg-photo::before{content:"";position:absolute;inset:16px -14px -14px 16px;border:1.5px solid rgba(246,195,107,.45);border-radius:30px;z-index:-1;}
.pg-photo{isolation:isolate;}

/* Jump strip */
.pg-jump{display:flex;gap:8px;flex-wrap:wrap;padding:22px 0 0;}
.pg-jump a{font-size:14px;font-weight:500;color:var(--plum);text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;transition:background .2s,border-color .2s;}
.pg-jump a:hover{background:var(--plum);color:#fff;border-color:var(--plum);}

/* Audience sections */
.pg-aud-head{display:flex;gap:18px;align-items:flex-start;}
.pg-num{font-family:'Cormorant Garamond',Georgia,serif;font-size:56px;line-height:.9;font-weight:600;color:var(--amber);opacity:.9;}
.pg-svc{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr;gap:12px;}
.pg-row{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 18px 18px 16px;margin:0;transition:box-shadow .25s,transform .25s;}
.pg-row:hover{box-shadow:0 14px 30px rgba(46,95,104,.10);transform:translateY(-2px);}
.pg-row svg{flex:none;width:24px;height:24px;margin-top:1px;stroke:var(--sage);}
.pg-row h3{font:600 16.5px/1.3 'Jost',sans-serif;color:var(--plum);}
.pg-row p{margin-top:4px;font-size:14.5px;line-height:1.5;color:var(--ink-soft);}
.pg-band{margin-top:64px;background:var(--paper-dim);padding:60px 0 64px;}
.pg-band .pg-row{background:#fff;}

/* Stats */
.pg-stats{display:grid;grid-template-columns:1fr;background:#fff;border:1px solid var(--line);border-radius:24px;margin-top:26px;overflow:hidden;}
.pg-stat{padding:26px 24px;border-bottom:1px solid var(--line);}
.pg-stat:last-child{border-bottom:0;}
.pg-stat b{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:54px;line-height:1;font-weight:600;color:var(--plum);}
.pg-ph{border-bottom:2px dashed var(--amber);}
.pg-stat p{margin-top:10px;font-size:14.5px;color:var(--ink-soft);max-width:22em;}
.pg-stat small{display:inline-block;margin-top:10px;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);font-weight:600;}

/* Programme pillars */
.pg-prog{display:grid;grid-template-columns:1fr;gap:14px;margin-top:26px;}
.pg-pc{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;}
.pg-ic{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:#E3ECE0;}
.pg-ic svg{width:26px;height:26px;fill:none;stroke:var(--plum);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.pg-pc:nth-child(4n+2) .pg-ic{background:#F6E1DE;}
.pg-pc:nth-child(4n+3) .pg-ic{background:#FBEBCF;}
.pg-pc:nth-child(4n+4) .pg-ic{background:#DCE8EB;}
.pg-pc h3{margin-top:16px;font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;font-weight:600;color:var(--plum);}
.pg-pc p{margin-top:6px;font-size:14.5px;line-height:1.55;color:var(--ink-soft);}

/* Beyond the usual */
.pg-beyond{margin-top:64px;background:linear-gradient(160deg,#1B434B,var(--pg-deep2));color:var(--pg-cream);padding:60px 0 64px;border-radius:36px;}
.pg-beyond h2{color:var(--pg-cream);}
.pg-beyond h2 em{color:var(--pg-gold);}
.pg-beyond .pg-lead{color:#D6E4E3;}
.pg-tiles{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:1fr;gap:12px;counter-reset:t;}
.pg-tiles li{counter-increment:t;border:1px solid rgba(255,248,234,.18);background:rgba(255,248,234,.06);border-radius:18px;padding:18px 20px;margin:0;}
.pg-tiles li::before{content:counter(t,decimal-leading-zero);display:block;font:600 18px 'Cormorant Garamond',Georgia,serif;color:var(--pg-gold);margin-bottom:6px;}
.pg-tiles h3{font:600 16.5px/1.3 'Jost',sans-serif;color:var(--pg-cream);}
.pg-tiles p{margin-top:5px;font-size:14.5px;line-height:1.5;color:#C9DAD9;}

/* Callback */
.pg-call{display:grid;grid-template-columns:1fr;gap:28px;margin-top:28px;align-items:start;}
.pg-form{background:#fff;border:1px solid var(--line);border-radius:26px;padding:24px 20px;box-shadow:0 18px 40px rgba(46,95,104,.08);}
.pg-fgrid{display:grid;grid-template-columns:1fr;gap:14px;}
.pg-fgrid label{display:block;margin-bottom:6px;}
.pg-fgrid input,.pg-fgrid textarea{width:100%;}
.pg-note{font-size:15px;line-height:1.55;color:var(--ink-soft);margin-top:14px;}
.pg-note strong{color:var(--plum);}
.pg-urgent{margin-top:18px;background:#F6E1DE;border-radius:16px;padding:16px 18px;font-size:14px;line-height:1.5;color:var(--ink-soft);}
.pg-urgent strong{color:var(--plum);}
.pg-opt{font-weight:400;color:var(--ink-soft);}

/* Sticky callback */
.pg-sticky{position:fixed;z-index:40;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));display:flex;justify-content:center;align-items:center;gap:10px;background:var(--amber);color:#2B1A00;font:600 16px 'Jost',sans-serif;padding:15px 22px;border-radius:999px;text-decoration:none;box-shadow:0 14px 34px rgba(36,70,77,.32);transition:opacity .25s,transform .25s;}
.pg-sticky svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.pg-sticky.is-hidden{opacity:0;transform:translateY(24px);pointer-events:none;}
.pg-main{padding-bottom:96px;}
.pg [id]{scroll-margin-top:84px;}

@media (min-width:700px){
  .pg-wrap{padding:0 32px;}
  .pg h2{font-size:42px;}
  .pg-hero{padding:72px 0 80px;}
  .pg-hero h1{font-size:54px;}
  .pg-svc{grid-template-columns:1fr 1fr;gap:14px;}
  .pg-stats{grid-template-columns:repeat(3,1fr);}
  .pg-stat{border-bottom:0;border-right:1px solid var(--line);}
  .pg-stat:last-child{border-right:0;}
  .pg-prog{grid-template-columns:1fr 1fr;}
  .pg-tiles{grid-template-columns:1fr 1fr;}
  .pg-fgrid{grid-template-columns:1fr 1fr;}
  .pg-fgrid .full{grid-column:1/-1;}
  .pg-form{padding:32px;}
  .pg-sticky{left:auto;right:24px;width:auto;}
}
@media (min-width:1000px){
  .pg-hero-grid{grid-template-columns:1.05fr .95fr;gap:64px;}
  .pg-hero h1{font-size:60px;}
  .pg-prog{grid-template-columns:repeat(3,1fr);}
  .pg-tiles{grid-template-columns:repeat(3,1fr);}
  .pg-call{grid-template-columns:.85fr 1.15fr;gap:52px;}
}
@media (prefers-reduced-motion:reduce){.pg-row,.pg-btn,.pg-sticky{transition:none;}}
