/* Professional Development */

/* ---- 1 · hero (1B) ---- */
.pd{background:var(--ink);color:#fff;position:relative}
.pd .inner{max-width:1440px;padding:calc(var(--hh) + clamp(56px,7.5vw,110px)) 48px clamp(64px,8vw,120px)}
.pd .ln .ph.wrap{white-space:normal}
.js .pd .mk svg{transition:clip-path .55s ease-out}
.js .pd.play .m1 svg{transition-delay:2.6s}
.js .pd.play .m2 svg{transition-delay:3.4s}
.js .pd.play .m3 svg{transition-delay:4.2s}
@media (max-width:760px){.pd .inner{padding:calc(var(--hh) + 40px) 20px 56px}}

/* ---- 2 · intro ---- */
.intro{background:var(--cream)}
.iin{max-width:1200px;margin:0 auto;padding:clamp(72px,7vw,104px) 48px clamp(48px,5vw,72px);text-align:center}
.intro p{font:300 clamp(22px,2vw,26px)/1.5 var(--sans);color:var(--ink);letter-spacing:-.003em;max-width:48ch;margin:0 auto}
.intro p + p{margin-top:clamp(16px,1.6vw,22px)}
.intro em{font:italic 600 1.14em/1 var(--serif);color:var(--orange);white-space:nowrap}
@media (max-width:760px){.iin{padding:72px 20px 56px;text-align:left}.intro p{font-size:22px}.intro em{white-space:normal}}

/* ---- 3 · programs ---- */
.progs{background:var(--cream)}
.pin{max-width:1200px;margin:0 auto;padding:0 48px clamp(96px,10vw,140px)}
.prg{border-top:1px solid var(--rule);padding:clamp(64px,6.5vw,96px) 0}
.prg:last-child{padding-bottom:0}
.pv{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:0 clamp(40px,6vw,96px);align-items:start}
.pv .pov{grid-column:1/-1;font:300 clamp(32px,3.7vw,54px)/1.2 var(--sans);color:var(--ink);letter-spacing:-.012em;max-width:26ch;margin-bottom:clamp(28px,3vw,44px)}
.pv .pov em{font:italic 700 1.1em/1 var(--serif);color:var(--orange)}
.side{position:sticky;top:110px;padding-top:6px}
.side::before{content:"";display:block;width:36px;height:2px;background:var(--orange);margin-bottom:18px}
.title{font:600 clamp(28px,2.6vw,38px)/1.15 var(--sans);color:var(--ink);letter-spacing:-.015em;max-width:14ch}
.body p{font:400 clamp(17px,1.45vw,19px)/1.65 var(--sans);color:var(--body);max-width:58ch}
.body p + p{margin-top:18px}
.body .close{color:var(--ink)}
.able{margin-top:40px}
.able h3{font:600 12.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:10px}
.able ul{list-style:none;max-width:58ch}
.able li{position:relative;font:400 clamp(16px,1.3vw,17.5px)/1.5 var(--sans);color:var(--ink);padding:13px 0 13px 26px;border-bottom:1px solid #E6DFD2}
.able li::before{content:"";position:absolute;left:0;top:1.4em;width:12px;height:2px;background:var(--orange)}
.acts{margin-top:36px;display:flex;flex-wrap:wrap;align-items:center;gap:18px 32px}
.acts .tl{color:var(--ink)}
@media (max-width:760px){
  .pin{padding:0 20px 80px}
  .prg{padding:56px 0}
  .pv{display:block}
  .side{position:static;margin-bottom:28px}
  .title{font-size:28px;max-width:none}
  .pv .pov{font-size:32px}
}

/* ---- 4 · closing credibility ---- */
.cred{background:var(--ink);color:var(--cream);position:relative;overflow:hidden}
.cred .bg{position:absolute;right:0;width:62%;aspect-ratio:4/3;top:50%;transform:translateY(-50%);background:#1d1b19;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 44%),linear-gradient(to bottom,transparent 0,#000 16%,#000 82%,transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 44%),linear-gradient(to bottom,transparent 0,#000 16%,#000 82%,transparent 100%);mask-composite:intersect}
.cred .bg img{width:100%;height:100%;object-fit:cover;object-position:42% 40%}
.cin{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:clamp(96px,10vw,150px) 48px}
.cred .txt{max-width:47%}
.cred h2{font:300 clamp(32px,3.5vw,50px)/1.18 var(--sans);color:#fff;letter-spacing:-.012em;max-width:22ch}
.cred h2 em{display:block;font:italic 600 1.08em/1.15 var(--serif);color:var(--orange);margin-top:.18em}
.cred h2 .nw{white-space:nowrap}
.cred .cp{font:400 clamp(17px,1.45vw,19px)/1.65 var(--sans);color:#E9E3D8;max-width:52ch;margin-top:22px}
.cred .cp:first-of-type{margin-top:34px}
.last{font:italic 600 clamp(26px,2.5vw,34px)/1.25 var(--serif);color:var(--orange);margin-top:clamp(36px,3.6vw,52px);max-width:22ch}
.endbtn{margin-top:30px}
.endbtn .btnp{font-size:16px;padding:15px 26px}
@media (max-width:760px){
  .cred .bg{position:relative;width:100%;top:auto;transform:none;-webkit-mask-composite:source-over;mask-composite:add;-webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent);mask-image:linear-gradient(to bottom,#000 62%,transparent)}
  .cin{padding:0 20px 72px}
  .cred .txt{max-width:none}
  .cred h2{font-size:32px}
  .cred h2 .nw{white-space:normal}
}
