:root{--pa-green:#0b5d3b;--pa-green2:#17724e;--pa-navy:#10233d;--pa-saffron:#f28c28;--pa-cream:#fffaf0;--pa-line:#dfe7e3;--pa-muted:#63756d}.pa-page{width:min(100% - 1.2rem,1180px);margin:auto;padding:1rem 0 4rem}.pa-hero{position:relative;display:grid;gap:1.6rem;grid-template-columns:1.08fr .92fr;min-height:570px;padding:clamp(1.3rem,4vw,3.2rem);overflow:hidden;border:1px solid #dbe7df;border-radius:30px;background:radial-gradient(circle at 78% 20%,rgba(242,140,40,.18),transparent 28%),linear-gradient(135deg,#fff 0%,#f5fbf7 55%,#fff7e8 100%);box-shadow:0 24px 70px rgba(16,35,61,.1)}.pa-hero:after{content:"";position:absolute;inset:auto -10% -45% 20%;height:60%;background:linear-gradient(90deg,rgba(242,140,40,.12),rgba(255,255,255,.6),rgba(19,123,72,.13));transform:rotate(-7deg);pointer-events:none}.pa-hero-copy{position:relative;z-index:2;align-self:center}.pa-kicker{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .75rem;border-radius:999px;background:#e9f7ef;color:var(--pa-green);font-weight:900;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.pa-collab{margin:1.2rem 0 .4rem;color:var(--pa-muted);font-weight:800}.pa-collab span{color:var(--pa-saffron);padding:0 .35rem}.pa-hero h1{margin:.25rem 0 1rem;color:var(--pa-navy);font-size:clamp(2.55rem,6vw,5.3rem);line-height:.98;letter-spacing:-.055em}.pa-hero h1 em{color:var(--pa-green);font-style:normal}.pa-lead{max-width:63ch;color:#52655d;font-size:1.05rem;line-height:1.7}.pa-actions,.pa-trust,.pa-payment-actions{display:flex;flex-wrap:wrap;gap:.75rem}.pa-actions{margin-top:1.35rem}.pa-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.78rem 1.1rem;border:0;border-radius:12px;text-decoration:none;font:inherit;font-weight:900;cursor:pointer}.pa-btn-primary{background:linear-gradient(135deg,var(--pa-green),var(--pa-green2));color:#fff;box-shadow:0 12px 24px rgba(11,93,59,.2)}.pa-btn-light{background:#fff;color:var(--pa-navy);border:1px solid #d9e3df}.pa-trust{margin-top:1.35rem;color:#53675e;font-size:.86rem}.pa-trust span{display:flex;align-items:center;gap:.35rem}.pa-trust i{color:var(--pa-saffron)}.pa-hero-art{position:relative;min-height:450px;z-index:1}.pa-flag-ribbon{position:absolute;inset:12% 2% auto 8%;height:54%;border-radius:50%;border:28px solid transparent;border-top-color:rgba(242,140,40,.12);border-right-color:rgba(255,255,255,.85);border-bottom-color:rgba(19,123,72,.12);transform:rotate(-13deg)}.pa-coach-stack{position:absolute;inset:0}.pa-coach-card{position:absolute;margin:0;overflow:hidden;border:7px solid rgba(255,255,255,.9);border-radius:28px;background:linear-gradient(145deg,#e6efe9,#cfdcd4);box-shadow:0 24px 45px rgba(16,35,61,.2)}.pa-coach-card img{width:100%;height:100%;object-fit:cover;display:block}.pa-coach-card figcaption{position:absolute;left:12px;right:12px;bottom:12px;padding:.72rem .82rem;border-radius:14px;background:rgba(10,26,39,.76);backdrop-filter:blur(8px);color:white}.pa-coach-card strong,.pa-coach-card span{display:block}.pa-coach-card span{font-size:.78rem;opacity:.85;margin-top:.18rem}.pa-coach-main{width:65%;height:78%;left:2%;top:7%;transform:rotate(-3deg)}.pa-coach-second{width:50%;height:61%;right:0;bottom:0;transform:rotate(5deg)}.photo-missing:before{content:"Coach Photo";position:absolute;inset:0;display:grid;place-items:center;color:#63756d;font-weight:900}.pa-section{margin-top:1rem;padding:clamp(1.2rem,3vw,2rem);border:1px solid var(--pa-line);border-radius:24px;background:#fff;box-shadow:0 15px 40px rgba(16,35,61,.06)}.pa-section-head{max-width:760px;margin-bottom:1.2rem}.pa-section-head span,.pa-small-label{color:var(--pa-saffron);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.pa-section-head h2{margin:.3rem 0;color:var(--pa-navy);font-size:clamp(1.55rem,4vw,2.35rem)}.pa-section-head p{color:var(--pa-muted)}.pa-coaches{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.pa-coaches article{display:flex;gap:1rem;align-items:center;padding:1rem;border-radius:18px;background:#f7faf8;border:1px solid #e2ebe6}.pa-avatar{width:100px;height:110px;border-radius:18px;overflow:hidden;background:#e6ece8;flex:0 0 auto}.pa-avatar img{width:100%;height:100%;object-fit:cover}.pa-coaches h3{margin:0;color:var(--pa-navy)}.pa-coaches p{margin:.35rem 0 0;color:var(--pa-muted);line-height:1.55}.pa-features{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.pa-features article{padding:1.15rem;border-radius:18px;background:linear-gradient(145deg,#f8fbf9,#fff);border:1px solid #e2ebe6}.pa-features i{font-size:1.35rem;color:var(--pa-green)}.pa-features h3{margin:.7rem 0 .35rem;color:var(--pa-navy)}.pa-features p{margin:0;color:var(--pa-muted);line-height:1.55}.pa-fee-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.pa-fee-strip div{padding:1rem;border-radius:16px;background:var(--pa-cream);border:1px solid #f5dfbd}.pa-fee-strip span,.pa-fee-strip strong{display:block}.pa-fee-strip span{color:#7c694d;font-size:.8rem;font-weight:800}.pa-fee-strip strong{margin-top:.2rem;color:var(--pa-green);font-size:1.35rem}.pa-form{display:grid;gap:1rem}.pa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.pa-form label{display:grid;gap:.35rem;color:var(--pa-navy);font-weight:800;font-size:.88rem}.pa-form input,.pa-form select{width:100%;min-height:48px;padding:.75rem;border:1px solid #cfddd5;border-radius:12px;background:#fff;font:inherit;font-size:16px}.pa-form input:focus,.pa-form select:focus{outline:3px solid rgba(11,93,59,.12);border-color:#63a98a}.pa-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.pa-doc-grid label{padding:1rem;border:1px dashed #aacabb;border-radius:15px;background:#f8fbf9}.pa-doc-grid small{color:var(--pa-muted);font-weight:500}.pa-message{display:none;padding:.8rem;border-radius:12px;line-height:1.5}.pa-message.show{display:block}.pa-message.error{background:#fff1f1;color:#a61b1b;border:1px solid #f2c5c5}.pa-message.success{background:#edf9f1;color:#16623f;border:1px solid #bfe4cc}.pa-submit{width:100%;min-height:54px}.pa-submit:disabled{opacity:.65;cursor:not-allowed}.pa-form-note{margin:0;text-align:center;color:var(--pa-muted);font-size:.8rem}.pa-profile-hero{padding:1.5rem;border-radius:24px;background:linear-gradient(135deg,#eff9f3,#fff7e8);border:1px solid var(--pa-line);margin-bottom:1rem}.pa-profile-hero h1{margin:.4rem 0;color:var(--pa-navy)}.pa-panel{padding:clamp(1rem,3vw,1.5rem);border-radius:22px;background:#fff;border:1px solid var(--pa-line);box-shadow:0 15px 40px rgba(16,35,61,.06)}.pa-login{max-width:800px;margin:auto}.pa-profile-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem;margin-bottom:1rem}.pa-id-top{display:flex;gap:1rem;align-items:center}.pa-id-top img{width:95px;height:115px;border-radius:16px;object-fit:cover;background:#edf2ef}.pa-id-top span{font-size:.8rem;color:var(--pa-saffron);font-weight:900}.pa-id-top h2{margin:.25rem 0;color:var(--pa-navy)}.pa-id-top strong{color:var(--pa-green)}.pa-id-card dl{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:1rem 0 0}.pa-id-card dl div{padding:.75rem;border-radius:12px;background:#f8faf9}.pa-id-card dt{font-size:.75rem;color:var(--pa-muted);font-weight:800}.pa-id-card dd{margin:.2rem 0 0;color:var(--pa-navy);font-weight:800}.pa-fee-card h2{color:var(--pa-navy)}.pa-fee-details{display:grid;gap:.6rem;margin:1rem 0}.pa-fee-details div{display:flex;justify-content:space-between;gap:1rem;padding:.65rem;border-bottom:1px solid #edf1ef}.pa-history{display:grid;gap:.65rem}.pa-history-row{display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr;gap:.5rem;padding:.8rem;border:1px solid var(--pa-line);border-radius:12px}.compact{margin-bottom:.6rem}@media(max-width:800px){.pa-page{width:100%;padding:.65rem .65rem 5.5rem}.pa-hero{grid-template-columns:1fr;min-height:auto;border-radius:22px}.pa-hero-art{min-height:390px}.pa-coach-main{width:62%;height:74%}.pa-coach-second{width:48%;height:58%}.pa-coaches,.pa-features,.pa-profile-grid{grid-template-columns:1fr}.pa-grid,.pa-doc-grid,.pa-fee-strip{grid-template-columns:1fr}.pa-history-row{grid-template-columns:1fr 1fr}.pa-actions .pa-btn{flex:1 1 100%}}@media(max-width:480px){.pa-hero h1{font-size:2.65rem}.pa-hero-art{min-height:330px}.pa-id-card dl{grid-template-columns:1fr}.pa-coaches article{align-items:flex-start}.pa-avatar{width:78px;height:92px}}

/* Physical Academy internal navigation */
.pa-subnav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
  margin:.1rem 0 .15rem;
  padding:.55rem .65rem;
  border:1px solid #d8e7df;
  border-radius:15px;
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 28px rgba(15,23,42,.055);
}
.pa-back-link,.pa-subnav-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.42rem;
  min-height:40px;
  padding:.58rem .78rem;
  border-radius:10px;
  text-decoration:none;
  font-weight:850;
  line-height:1.15;
  transition:.18s ease;
}
.pa-back-link{
  color:#0b6b43;
  border:1px solid #cce5d7;
  background:#f3fbf6;
}
.pa-back-link:hover{
  background:#e7f7ed;
  border-color:#9ed3b3;
  transform:translateY(-1px);
}
.pa-subnav-actions{
  display:flex;
  align-items:center;
  gap:.4rem;
  flex-wrap:wrap;
}
.pa-subnav-actions a{
  color:#526071;
  border:1px solid transparent;
}
.pa-subnav-actions a:hover{
  color:#0b6b43;
  background:#f5faf7;
}
.pa-subnav-actions a.is-current{
  color:#0b6b43;
  border-color:#cce5d7;
  background:#ecf8f1;
}
@media(max-width:640px){
  .pa-subnav{
    display:grid;
    grid-template-columns:1fr;
    padding:.5rem;
  }
  .pa-back-link{
    width:100%;
    justify-content:flex-start;
  }
  .pa-subnav-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .pa-subnav-actions a{
    min-width:0;
    padding:.58rem .45rem;
    font-size:.84rem;
  }
}


/* =========================
   Academy Gallery
   ========================= */
.pa-section-head-split{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.pa-gallery-note{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.55rem .72rem;
  border-radius:999px;
  border:1px solid #f1d7a9;
  background:#fffaf0;
  color:#8a5a12;
  font-size:.82rem;
  font-weight:800;
}
.pa-gallery-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:.8rem;
}
.pa-gallery-item{
  position:relative;
  grid-column:span 4;
  min-height:220px;
  margin:0;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(135deg,#e9f4ed,#f7f2e5);
  border:1px solid #dbe7df;
  box-shadow:0 14px 34px rgba(15,23,42,.08);
}
.pa-gallery-item.pa-gallery-wide{grid-column:span 8}
.pa-gallery-item img{
  width:100%;
  height:100%;
  min-height:220px;
  object-fit:cover;
  display:block;
}
.pa-gallery-item img:not([src]),
.pa-gallery-item img[src=""]{display:none}
.pa-gallery-item figcaption{
  position:absolute;
  left:.7rem;
  bottom:.7rem;
  max-width:calc(100% - 1.4rem);
  padding:.42rem .62rem;
  border-radius:10px;
  background:rgba(10,38,29,.84);
  color:#fff;
  font-size:.82rem;
  font-weight:850;
  backdrop-filter:blur(8px);
}

/* graceful placeholder when user photos are not uploaded yet */
.pa-gallery-item:has(img[src$=".webp"]){
  background:
    radial-gradient(circle at 20% 20%,rgba(255,153,51,.18),transparent 36%),
    radial-gradient(circle at 80% 80%,rgba(19,136,8,.16),transparent 34%),
    #edf5f0;
}
.pa-gallery-item img{
  background:transparent;
}

/* =========================
   Our Heroes / Selections
   ========================= */
.pa-heroes-section{
  background:
    linear-gradient(135deg,rgba(255,153,51,.07),rgba(255,255,255,.98) 42%,rgba(19,136,8,.07));
  border-radius:24px;
}
.pa-heroes-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.9rem;
}
.pa-hero-card{
  overflow:hidden;
  border:1px solid #dfe7e2;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 34px rgba(15,23,42,.07);
  transition:transform .18s ease,box-shadow .18s ease;
}
.pa-hero-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 40px rgba(15,23,42,.11);
}
.pa-hero-photo{
  aspect-ratio:4/4.5;
  background:
    radial-gradient(circle at 20% 20%,rgba(255,153,51,.18),transparent 35%),
    radial-gradient(circle at 82% 80%,rgba(19,136,8,.18),transparent 35%),
    #eef5f1;
  overflow:hidden;
}
.pa-hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.pa-hero-info{
  padding:.85rem;
}
.pa-selected-badge{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.28rem .5rem;
  border-radius:999px;
  background:#ecfdf3;
  color:#0d6b43;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.pa-selected-badge i{color:#d97706}
.pa-hero-info h3{
  margin:.55rem 0 .18rem;
  color:#10233b;
  font-size:1.02rem;
}
.pa-hero-info p{
  margin:0;
  color:#657286;
  font-weight:750;
  font-size:.88rem;
}

@media(max-width:900px){
  .pa-gallery-item,.pa-gallery-item.pa-gallery-wide{grid-column:span 6}
  .pa-heroes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .pa-gallery-grid{grid-template-columns:1fr}
  .pa-gallery-item,.pa-gallery-item.pa-gallery-wide{grid-column:auto;min-height:200px}
  .pa-gallery-item img{min-height:200px}
  .pa-heroes-grid{grid-template-columns:1fr 1fr;gap:.65rem}
  .pa-hero-info{padding:.7rem}
  .pa-hero-info h3{font-size:.95rem}
  .pa-hero-info p{font-size:.8rem}
}
