.pcc-intro{background:#123f34;color:#fff;padding:64px max(5vw,24px) 68px;border-bottom:1px solid #31574b}
.pcc-intro-inner{max-width:1120px;margin:0 auto}
.pcc-intro-label{margin:0 0 20px;font-size:12px;font-weight:700;letter-spacing:.15em;line-height:1.5;color:#fff}
.pcc-intro h1{font-family:"Trebuchet MS",sans-serif;font-size:clamp(32px,4.1vw,54px);font-weight:700;line-height:1.15;letter-spacing:-.04em;margin:0;max-width:850px;color:#fff;text-wrap:balance}
.pcc-intro h1 span{display:block;color:#d9efb2;margin-top:.18em;letter-spacing:-.045em}
.pcc-intro-description{max-width:660px;font-size:17px;line-height:1.7;margin:22px 0 0;color:#fff}
.pcc-intro-action{margin-top:28px}
.pcc-intro-button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:48px;padding:13px 22px;border-radius:6px;background:#d9efb2;color:#123f34;text-decoration:none;font-size:15px;font-weight:700;line-height:1.4}
.pcc-intro-button:hover{background:#e8f6d1}.pcc-intro-button:focus-visible{outline:3px solid #fff;outline-offset:5px}
.pcc-intro-action p{font-size:13px;line-height:1.6;margin:12px 0 0;color:#fff}
.pcc-intro + .program-strip{margin-top:0}
@media(max-width:600px){
  .pcc-intro{padding:42px 24px 40px}
  .pcc-intro-label{font-size:11px;letter-spacing:.12em;margin-bottom:22px}
  .pcc-intro h1{font-size:clamp(30px,8.2vw,36px);line-height:1.13;max-width:390px;letter-spacing:-.045em}
  .pcc-intro h1 span{margin-top:.26em}
  .pcc-intro-description{font-size:16px;line-height:1.55;max-width:350px;margin-top:24px}
  .pcc-intro-action{margin-top:28px}
  .pcc-intro-button{width:100%;min-height:52px;padding:13px 18px;justify-content:space-between;font-size:15px}
  .pcc-intro-action p{font-size:12px;max-width:350px;margin-top:13px}
  .site-header nav .nav-cta{min-height:42px;align-items:center;padding:9px 16px;font-size:13px}
  .section-heading p{font-size:15px;line-height:1.55}
  .journey article p{font-size:14px;line-height:1.5}
}
@media(max-width:350px){.pcc-intro{padding-left:20px;padding-right:20px}.pcc-intro h1{font-size:30px}}
/* Alur: tipografi singkat dan tahapan yang mudah dipindai pada ponsel. */
@media(max-width:600px){
  .how-section{padding:46px 24px 38px}
  .how-section .section-kicker{font-size:11px;letter-spacing:.12em}
  .how-section .section-heading{margin:13px 0 26px}
  .how-section .section-heading h2{font-family:Georgia,serif;font-size:clamp(28px,7.2vw,33px);line-height:1.14;letter-spacing:-.035em}
  .how-section .section-heading p{font-size:15px;line-height:1.55;margin:14px 0 0;color:#435d53}
  .how-section .journey{display:grid;gap:0;grid-template-columns:1fr;border-top:1px solid #cad7cd}
  .how-section .journey article{display:grid;grid-template-columns:43px minmax(0,1fr);column-gap:12px;align-content:center;min-height:0;padding:17px 0 18px;background:transparent;border:0;border-bottom:1px solid #cad7cd}
  .how-section .journey i{grid-row:1/3;font:600 14px/1.5 "Trebuchet MS",sans-serif;font-style:normal;color:#1b7258;align-self:start;padding-top:1px}
  .how-section .journey h3{font:700 17px/1.35 "Trebuchet MS",sans-serif;margin:0 0 3px;color:#172d28}
  .how-section .journey p{font-size:14px;line-height:1.5;color:#435d53;margin:0}
}
@media(max-width:350px){.how-section{padding-left:20px;padding-right:20px}}
/* Mobile registration: one clear heading per step, readable controls, no repeated status label. */
@media(max-width:600px){
  .application-shell{margin-left:12px;margin-right:12px;border-radius:12px;box-shadow:none}
  .form-card{padding:24px 20px 26px}
  .form-top h2{font-size:23px;line-height:1.2;margin:6px 0 0}
  .form-top #stepStatus{display:none}
  .form-top #stepNumber{font-size:11px;letter-spacing:.1em}
  .form-card .stepper{margin:19px 0 22px;gap:6px}
  .form-card .stage h3{font-size:21px;line-height:1.25}
  .form-card .stage-intro{font-size:14px;line-height:1.5;margin:5px 0 17px;color:#435d53}
  .form-card .form-grid{gap:0}
  .form-card .field{margin:0 0 17px}
  .form-card .field label{font-size:14px;line-height:1.4;margin-bottom:7px}
  .form-card .field input,.form-card .field select{min-height:50px;font-size:16px;padding:12px 14px}
  .form-card .actions{margin-top:7px}
  .form-card .actions button{min-height:50px;font-size:15px;padding:12px 16px}
}
@media(max-width:350px){.form-card{padding-left:17px;padding-right:17px}}
/* Status lookup and footer: compact, readable mobile finish. */
@media(max-width:600px){
  .status-section{margin:0 12px 24px;padding:26px 20px 22px;border-radius:12px;background:#e8ddc7}
  .status-section .section-kicker{font-size:11px;letter-spacing:.12em}
  .status-section h2{font-size:clamp(28px,7.2vw,33px);line-height:1.13;letter-spacing:-.035em;margin:11px 0 0}
  .status-section>div>p{font-size:15px;line-height:1.55;color:#4c473d;margin:12px 0 0}
  .status-card{padding:18px;margin-top:21px;box-shadow:none;border-radius:9px}
  .status-card .field{margin:0 0 17px}
  .status-card label{font-size:14px;line-height:1.4;margin-bottom:7px}
  .status-card input{min-height:50px;font-size:16px}
  .status-card button{min-height:50px;font-size:15px;margin-top:2px}
  footer{padding:29px 24px 34px;gap:10px}
  footer .footer-brand b{font-size:13px;letter-spacing:.02em}
  footer p{font-size:14px;line-height:1.5;color:#fff;margin:4px 0 0}
  footer>small{font-size:12px;line-height:1.5;color:#fff}
}
@media(max-width:350px){.status-section{margin-left:10px;margin-right:10px;padding-left:18px;padding-right:18px}}

