/* Jennuine Client Portal */
.pp-sec{background:#f4e8d6;min-height:60vh}
.pp-wrap{max-width:1100px;margin:0 auto;padding:56px 24px 88px;display:flex;flex-direction:column;gap:24px}
.pp-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px}
.pp-hero h1{margin:6px 0 0;font-family:'Cormorant Garamond', Georgia, serif;font-style:italic;font-weight:600;font-size:46px;line-height:52px;color:#33235f}
.pp-sub{margin:6px 0 0;font-size:15px;line-height:24px;color:#6a5872}
.pp-sub strong{display:block;color:#33235f}
#pp-contract-link{align-self:flex-start}
.pp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px;align-items:start}
.pp-card{background:#ffffff;border:1px solid #e6d8c6;border-radius:20px 0 20px 0;padding:28px;display:flex;flex-direction:column;gap:14px;min-width:0}
.pp-card.wide{grid-column:1/-1}
.pp-card h2{margin:0;font-family:'Cormorant Garamond', Georgia, serif;font-weight:600;font-size:28px;line-height:34px;color:#33235f}
.pp-dl{margin:0;display:grid;gap:10px}
.pp-dl div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;font-size:15px;line-height:23px}
.pp-dl dt{color:#6a5872}
.pp-dl dd{margin:0;font-weight:700;color:#2a1f3d;overflow-wrap:anywhere}
.pp-terms{margin:0;padding:14px 16px;background:#fdf8f1;border-radius:10px;font-size:14px;line-height:23px;white-space:pre-line}
.pp-money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pp-money div{background:#fdf8f1;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.pp-money span{font-size:12px;line-height:16px;font-weight:700;letter-spacing:0.08em;color:#9a5208;text-transform:uppercase}
.pp-money strong{font-family:'Cormorant Garamond', Georgia, serif;font-size:28px;line-height:32px;color:#33235f}
.pp-money .owed{background:#33235f}.pp-money .owed span{color:#f7a24a}.pp-money .owed strong{color:#fdf8f1}
.pp-bar-wrap{height:10px;background:#ecd9bd;border-radius:999px;overflow:hidden}
.pp-bar{height:100%;width:0;background:#f7911f;border-radius:999px;transition:width .4s ease}
.pp-bar-label{margin:0;font-size:13px;line-height:20px;font-weight:700;color:#33235f}
.pp-table-wrap{overflow-x:auto;min-width:0;max-width:100%}
.pp-table{width:100%;border-collapse:collapse;font-size:14px;line-height:22px;min-width:520px}
.pp-table th{text-align:left;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:#6a5872;padding:8px 10px;border-bottom:2px solid #e6d8c6}
.pp-table td{padding:12px 10px;border-bottom:1px solid #f4e8d6;vertical-align:middle}
.pp-table a{font-weight:700;color:#5c3a8c}
.pp-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#f4e8d6;color:#33235f}
.pp-pill.paid{background:#e3f1e9;color:#2f6f4f}
.pp-pill.due{background:#fde7d3;color:#9a5208}
.pp-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.pp-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #f4e8d6}
.pp-list li:first-child{border-top:0;padding-top:0}
.pp-list strong{display:block;color:#33235f}
.pp-list span{display:block;font-size:13px;color:#6a5872}
.pp-list p{margin:4px 0 0;font-size:14px;line-height:22px}
.pp-btn-sm{flex:none;display:inline-block;padding:9px 18px;border:2px solid #5c3a8c;border-radius:999px;color:#5c3a8c;font-size:13px;font-weight:700;text-decoration:none}
.pp-btn-sm:hover{background:#f4e8d6}
.pp-empty{margin:0;font-size:14px;line-height:22px;color:#6a5872}
.pp-note{margin:0;font-family:'Cormorant Garamond', Georgia, serif;font-style:italic;font-size:22px;line-height:30px;color:#5c3a8c;white-space:pre-line}
.pp-contact{background:#33235f;color:#fdf8f1;border-color:#33235f}
.pp-contact h2{color:#fdf8f1}
.pp-contact p{margin:0;font-size:15px;line-height:24px;color:#e6dcef}
.pp-actions{display:flex;flex-wrap:wrap;gap:10px}
.pp-btn{display:inline-block;padding:13px 24px;border-radius:999px;font-size:14px;line-height:20px;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:inherit}
.pp-btn.amber{background:#f7a24a;color:#33235f}.pp-btn.amber:hover{background:#fbb46a}
.pp-btn.ghost{background:transparent;color:#fdf8f1;border-color:#fdf8f1}.pp-btn.ghost:hover{background:#5c3a8c}
.pp-btn.out{background:#ffffff;color:#5c3a8c;border-color:#5c3a8c}.pp-btn.out:hover{background:#f4e8d6}
.pp-btn:focus-visible,.pp-btn-sm:focus-visible{outline:2px solid #f7911f;outline-offset:3px}
.pp-state{background:#ffffff;border:1px solid #e6d8c6;border-radius:20px 0 20px 0;padding:40px 32px;max-width:620px;display:flex;flex-direction:column;gap:14px}
.pp-state h1{margin:0;font-family:'Cormorant Garamond', Georgia, serif;font-style:italic;font-weight:600;font-size:38px;line-height:44px;color:#33235f}
.pp-state p{margin:0;font-size:15px;line-height:25px}
.pp-skel{height:18px;border-radius:6px;background:linear-gradient(90deg,#ecd9bd,#f4e8d6,#ecd9bd);background-size:200% 100%;animation:pp-sh 1.4s linear infinite}
@keyframes pp-sh{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.pp-skel{animation:none}.pp-bar{transition:none}}
.pp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.li-wrap{max-width:1100px;margin:0 auto;padding:64px 24px 96px;display:flex;flex-wrap:wrap;gap:40px 64px;align-items:flex-start}
.li-intro{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:16px}
.li-intro h1{margin:0;font-family:'Cormorant Garamond', Georgia, serif;font-style:italic;font-weight:600;font-size:52px;line-height:58px;color:#33235f}
.li-intro p{margin:0;font-size:16px;line-height:27px}
.li-intro ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:24px}
.li-card{flex:1 1 380px;min-width:0;background:#ffffff;border:1px solid #e6d8c6;border-radius:20px 0 20px 0;padding:32px;display:flex;flex-direction:column;gap:18px}
.li-card form{display:flex;flex-direction:column;gap:14px}
.li-card form[hidden],.pp-sec [hidden]{display:none !important}
.li-card label{display:flex;flex-direction:column;gap:6px;font-size:14px;line-height:20px;font-weight:700;color:#33235f}
.li-card input{font:inherit;font-weight:400;font-size:16px;padding:12px 14px;border:1px solid #8a7690;border-radius:4px;background:#ffffff;color:#2a1f3d;min-height:48px;box-sizing:border-box}
.li-card input:focus-visible{outline:2px solid #5c3a8c;outline-offset:2px}
.li-submit{font:inherit;font-size:15px;font-weight:700;background:#5c3a8c;color:#ffffff;border:0;padding:15px 28px;border-radius:999px;cursor:pointer;min-height:48px}
.li-submit:hover{background:#33235f}.li-submit:disabled{opacity:.65;cursor:default}
.li-error{margin:0;color:#b3261e;font-size:14px;line-height:22px}
.li-error:empty{display:none}
.li-link{font:inherit;font-size:14px;font-weight:700;background:none;border:0;padding:4px 0;color:#5c3a8c;text-decoration:underline;cursor:pointer;align-self:flex-start}
.li-reset{border-top:1px solid #e6d8c6;padding-top:18px}
.li-msg{margin:0;font-size:14px;line-height:22px;color:#2f6f4f}
.li-small{margin:0;font-size:13px;line-height:21px;color:#6a5872}
@media (max-width:600px){
  .pp-wrap{padding:40px 16px 64px}
  .pp-hero h1,.li-intro h1{font-size:36px;line-height:42px}
  .pp-card,.li-card{padding:24px 20px}
  .pp-money{grid-template-columns:1fr}
  .pp-dl div{grid-template-columns:1fr;gap:2px}
  .li-wrap{padding:40px 16px 64px}
  .pp-table{min-width:0}
  .pp-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .pp-table tr{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px 0;border-bottom:1px solid #f4e8d6}
  .pp-table td{padding:0;border:0}
  .pp-table td:nth-child(1){font-weight:700;color:#33235f}
  .pp-table td:nth-child(2),.pp-table td:nth-child(3){grid-column:1;font-size:13px;color:#6a5872}
  .pp-table td:nth-child(4){grid-column:2;grid-row:1;justify-self:end}
  .pp-table td:nth-child(5){grid-column:2;grid-row:2 / span 2;align-self:end;justify-self:end}
  .pp-hero .pp-btn{order:2}
}
.pp-missing{color:#8a7a92;font-style:italic;font-weight:400}
.pp-dl-h{grid-column:1/-1}
.pp-dl-h dt{margin-top:12px;font-size:12px;line-height:18px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#9a5208}

.pp-recurring{margin:4px 0 14px;padding:12px 16px;border-left:3px solid #f7a24a;border-radius:6px;background:rgba(253,248,241,0.1);font-size:15px;line-height:24px;color:#fdf8f1}
.pp-recurring strong{color:#f7a24a}

/* Ways to pay (Nov 2026) */
.pp-pay-intro{margin:0;font-size:15px;line-height:24px;color:#6a5872}
.pp-pay{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}
.pp-pay-opt{border:1px solid #e6d8c6;border-radius:14px 0 14px 0;padding:18px 20px;background:#fbf6ef;display:flex;flex-direction:column;gap:6px}
.pp-pay-opt h4{margin:0;font-family:'Cormorant Garamond', Georgia, serif;font-weight:600;font-size:22px;line-height:28px;color:#33235f}
.pp-pay-opt p{margin:0;font-size:14px;line-height:22px;color:#4a3d52}
.pp-pay-opt .pp-pay-tag{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#8a5a9e;font-weight:600}
.pp-pay-opt .pp-pay-fee{margin-top:auto;padding-top:8px;border-top:1px solid #eadfce;font-size:13px;line-height:20px;color:#6a5872}
