/* Program Planner — the public pages (product page, "Get Started with
   Program Planner", sign-in): the main site's look — deep navy and layered
   blue surfaces, gold accents with a soft gold-border glow, Inter for every
   heading and line of text, tabular figures. The header and footer are the
   site's own (/public-nav.css). Everything is .pp-* scoped; the product
   previews reuse the app's components (.kpi, tables, badges) from
   app-styles.css so they look exactly like the product. */
body.pl-site{background:#061A28;color:#C6D3DB;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
.pp-main{display:block}
.pp{--pp-navy:#061A28;--pp-navy-2:#08283A;--pp-navy-3:#0C3347;--pp-ink:#FFFFFF;--pp-body:#C6D3DB;--pp-mut:#9FB3BF;--pp-gold:#D8A64B;--pp-gold-2:#EAC97A;--pp-line:rgba(232,238,242,.12);--pp-glow:0 40px 80px -40px rgba(0,0,0,.75),0 0 80px -34px rgba(216,166,75,.45);font-variant-numeric:tabular-nums}
.pp *{box-sizing:border-box}
.pp a{color:var(--pp-gold-2)}
.pp-wrap{width:100%;max-width:1280px;margin:0 auto;padding:0 22px}
.pp-narrow{max-width:860px}
.pp-xnarrow{max-width:480px}
.pp-muted{color:var(--pp-mut);font-size:14px;line-height:1.55}

/* Type */
.pp-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;font-weight:600;color:var(--pp-mut);margin-bottom:18px}
.pp-kicker-chip{display:inline-flex;align-items:center;padding:4px 11px;border-radius:999px;border:1px solid rgba(216,166,75,.45);background:rgba(216,166,75,.10);color:var(--pp-gold-2);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.pp-eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pp-gold);margin-bottom:14px}
.pp-h1{font-size:clamp(34px,4.6vw,58px);font-weight:800;line-height:1.04;letter-spacing:-.035em;color:var(--pp-ink);margin:0 0 20px;text-wrap:balance}
.pp-h1 span{color:var(--pp-gold-2)}
.pp-h1-sm{font-size:clamp(30px,3.4vw,44px)}
.pp-h2{font-size:clamp(28px,3.2vw,42px);font-weight:800;line-height:1.1;letter-spacing:-.025em;color:var(--pp-ink);margin:0;text-wrap:balance}
.pp-lede{font-size:18px;line-height:1.65;color:var(--pp-body);margin:0;max-width:62ch}
.pp-head{margin-bottom:38px}
.pp-head .pp-lede{margin-top:14px}
.pp-head-center{text-align:center}
.pp-head-center .pp-lede{margin-left:auto;margin-right:auto}

/* Buttons */
.pp-ctas{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:28px}
.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:12px 22px;border-radius:12px;border:1.5px solid transparent;font:700 15.5px/1 'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.pp .pp-btn{color:#fff}
.pp .pp-btn.pp-btn-gold{background:linear-gradient(180deg,#EAC97A,#D8A64B);color:#061A28;box-shadow:0 10px 24px -10px rgba(216,166,75,.7),inset 0 1px 0 rgba(255,255,255,.4)}
.pp .pp-btn.pp-btn-gold:hover{transform:translateY(-1px);box-shadow:0 16px 30px -10px rgba(216,166,75,.8),inset 0 1px 0 rgba(255,255,255,.4)}
.pp .pp-btn.pp-btn-ghost{background:transparent;color:#fff;border-color:rgba(232,238,242,.32)}
.pp .pp-btn.pp-btn-ghost:hover{border-color:rgba(232,238,242,.75);background:rgba(232,238,242,.06)}
.pp .pp-btn.pp-btn-line{background:rgba(232,238,242,.04);color:#fff;border-color:rgba(216,166,75,.45)}
.pp .pp-btn.pp-btn-line:hover{border-color:var(--pp-gold);background:rgba(216,166,75,.08)}
.pp-btn-lg{min-height:52px;padding:15px 26px;font-size:16px}
.pp-btn:focus-visible{outline:2px solid var(--pp-gold);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.pp-btn{transition:none}.pp-btn:hover{transform:none}}

/* Hero */
.pp-hero{position:relative;overflow:hidden;padding:110px 0 70px;background:radial-gradient(900px 520px at 85% 0%,rgba(216,166,75,.14),transparent 62%),radial-gradient(800px 480px at 0% 100%,rgba(78,161,255,.12),transparent 60%),linear-gradient(180deg,#08283A,#061A28)}
.pp-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(232,238,242,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(232,238,242,.035) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(180deg,#000 0%,transparent 85%);pointer-events:none}
.pp-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
.pp-trial{margin:18px 0 0;font-size:14px;color:var(--pp-mut)}
.pp-trial::first-letter{text-transform:uppercase}
.pp-hero-visual{position:relative}

/* Product previews */
.pp-sample-chip{flex:none;font-size:11px;font-weight:700;color:#C6D3DB;border:1px solid rgba(232,238,242,.24);border-radius:999px;padding:3px 9px;white-space:nowrap;letter-spacing:.02em}
.pp-desk{border-radius:16px;border:1px solid rgba(216,166,75,.32);background:#0A2A3B;box-shadow:var(--pp-glow);overflow:hidden}
.pp-desk-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#071F30;border-bottom:1px solid var(--pp-line);font-size:12px;color:var(--pp-mut)}
.pp-desk-bar i{width:9px;height:9px;border-radius:50%;background:rgba(232,238,242,.18)}
.pp-desk-bar span{margin-left:8px}
.pp-desk-body{padding:16px;background:transparent}
.pp-desk-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.pp-desk-head b{display:block;color:#fff;font-size:16px;font-weight:800;letter-spacing:-.01em}
.pp-desk-head small{display:block;font-size:12px;color:var(--pp-mut)}
.pp-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.pp-hero .pp-kpis .kpi-v{font-size:21px}
.pp-kpis .kpi{min-height:0;padding:11px 12px}
.pp-kpis .kpi-lb{font-size:11.5px;padding-right:0}
.pp-kpis .kpi-v{font-size:19px;margin-top:4px}
.pp-kpis .kpi-v.gold{color:var(--gold-2)}.pp-kpis .kpi-v.grn{color:var(--grn-t)}
.pp-table{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pp-table table{width:100%;border-collapse:collapse;font-size:12px}
.pp-table th{background:var(--card-2);color:var(--t3);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:8px 9px;text-align:left;white-space:nowrap}
.pp-table td{padding:8px 9px;border-top:1px solid var(--line-2);color:var(--t1);white-space:nowrap}
.pp-table td:first-child{white-space:normal;font-weight:600;max-width:150px}
.pp-table .r{text-align:right}
.pp-table td.gold{color:var(--gold-2);font-weight:700}
.pp-table td.grn{color:var(--grn-t)}
.pp-bar-cell{width:90px}
.pp-bar{display:block;height:6px;border-radius:99px;background:rgba(232,238,242,.10);overflow:hidden}
.pp-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2EB9AE,#5ED6CB)}
.pp-phone{width:230px;border-radius:30px;padding:10px;background:#04131E;border:1px solid rgba(216,166,75,.42);box-shadow:var(--pp-glow)}
.pp-hero-visual .pp-phone{position:absolute;right:0;bottom:0;width:214px;transform:rotate(2deg)}
.pp-hero-visual .pp-phone-doc,.pp-hero-visual .pp-phone-line+.pp-phone-line{display:none}
.pp-phone-notch{width:76px;height:6px;margin:2px auto 8px;border-radius:99px;background:rgba(232,238,242,.18)}
.pp-phone-screen{border-radius:22px;padding:12px;background:linear-gradient(180deg,#0C3347,#0A2A3B);display:grid;gap:8px}
.pp-phone-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pp-phone-top b{color:#fff;font-size:14px}
.pp-phone-doc{border-radius:10px;overflow:hidden;background:#fff;height:96px}
.pp-phone-doc img{display:block;width:100%;height:auto}
.pp-phone-read{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--grn-txt,#6EE7B7)}
.pp-phone-field{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;border-radius:9px;background:rgba(6,26,40,.5);border:1px solid var(--pp-line);font-size:11.5px;color:var(--pp-mut)}
.pp-phone-field b{color:#fff;font-weight:700;text-align:right}
.pp-phone-line{display:grid;gap:2px;padding:6px 9px;border-radius:9px;border:1px dashed rgba(216,166,75,.35);font-size:11px;color:#E8EEF2}
.pp-phone-line em{font-style:normal;color:var(--pp-gold-2);font-weight:700}
.pp-phone-btn{margin-top:2px;padding:9px;border-radius:10px;background:linear-gradient(180deg,#EAC97A,#D8A64B);color:#061A28;font-size:12.5px;font-weight:800;text-align:center}
.pp-phone-solo{display:flex;justify-content:center}

/* Workflow strip */
.pp-flow-sec{background:#071F30;border-top:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line);padding:30px 0}
.pp-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:12px}
.pp-flow li{position:relative;display:flex;align-items:flex-start;gap:14px;padding:16px;border:1px solid var(--pp-line);border-radius:14px;background:rgba(232,238,242,.03)}
.pp-flow-ic{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(216,166,75,.12);border:1px solid rgba(216,166,75,.32);color:var(--pp-gold-2)}
.pp-flow-n{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pp-gold)}
.pp-flow b{display:block;color:#fff;font-size:16px;margin-top:2px}
.pp-flow small{display:block;color:var(--pp-mut);font-size:13.5px;line-height:1.45;margin-top:3px}

/* Sections */
.pp-sec{padding:84px 0}
.pp-sec + .pp-sec{border-top:1px solid var(--pp-line)}
.pp-sec-pricing{background:radial-gradient(760px 420px at 50% 0%,rgba(216,166,75,.10),transparent 60%),linear-gradient(180deg,#071F30,#061A28)}
.pp-feature{display:grid;grid-template-columns:1fr;gap:28px;align-items:center;padding:34px 0}
.pp-feature + .pp-feature{border-top:1px solid var(--pp-line)}
.pp-feature h3{font-size:clamp(22px,2.2vw,28px);font-weight:800;line-height:1.15;letter-spacing:-.02em;color:#fff;margin:0 0 12px}
.pp-feature p{font-size:17px;line-height:1.65;color:var(--pp-body);margin:0;max-width:52ch}
.pp-feature-copy .pp-eyebrow{margin-bottom:10px}
.pp-shot{border-radius:16px;border:1px solid rgba(216,166,75,.28);background:linear-gradient(180deg,#0C3347,#0A2A3B);padding:16px;box-shadow:var(--pp-glow);display:grid;gap:8px;max-width:520px}
.pp-shot-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}
.pp-shot-h b{color:#fff;font-size:15px}
.pp-shot-foot{margin-top:4px;font-size:12px;color:var(--pp-mut)}
.pp-map{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.2fr);align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(6,26,40,.5);border:1px solid var(--pp-line);font-size:13px;color:#E8EEF2}
.pp-map svg{color:var(--pp-mut)}
.pp-map em{display:flex;align-items:center;gap:6px;font-style:normal;font-weight:700;color:var(--grn-t,#34D399)}
.pp-map em.todo{color:var(--amb-txt,#FCD34D)}
.pp-staff{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:rgba(6,26,40,.5);border:1px solid var(--pp-line)}
.pp-av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#D8A64B,#EAC97A);color:#061A28;font-size:12px;font-weight:800}
.pp-staff b{display:block;color:#fff;font-size:14px}
.pp-staff small{display:block;color:var(--pp-mut);font-size:12px}
.pp-staff em{font-style:normal;font-weight:800;color:var(--pp-gold-2);font-size:14px}
.pp-check{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(6,26,40,.5);border:1px solid var(--pp-line);font-size:13px;color:#E8EEF2}
.pp-check .pl-badge{flex:none}

/* Pricing */
.pp-prices{display:grid;grid-template-columns:1fr;gap:16px;max-width:760px;margin:0 auto}
.pp-price{position:relative;border-radius:18px;padding:28px 26px;border:1px solid var(--pp-line);background:linear-gradient(180deg,#0C3347,#0A2A3B)}
.pp-price.hi{border-color:rgba(216,166,75,.55);box-shadow:var(--pp-glow)}
.pp-price-flag{position:absolute;top:-12px;left:24px;padding:4px 11px;border-radius:999px;background:linear-gradient(180deg,#EAC97A,#D8A64B);color:#061A28;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.pp-price-name{color:#fff;font-size:18px;font-weight:800}
.pp-price-amt{margin:14px 0 4px;color:#fff;font-size:46px;font-weight:800;letter-spacing:-.04em;line-height:1}
.pp-price-amt small{font-size:15px;font-weight:600;letter-spacing:0;color:var(--pp-mut);margin-left:3px}
.pp-price-sub{color:var(--pp-mut);font-size:14px;margin-bottom:20px}
.pp-price .pp-btn{width:100%}
.pp-terms{text-align:center;margin:18px auto 0;font-size:14px;color:var(--pp-mut);max-width:62ch}
.pp-incl{display:grid;grid-template-columns:1fr;gap:16px;margin:40px auto 0;max-width:1040px}
.pp-incl-card{border:1px solid var(--pp-line);border-radius:16px;padding:22px;background:rgba(232,238,242,.03)}
.pp-incl-card h3{margin:0 0 12px;color:#fff;font-size:16px;font-weight:700}
.pp-incl-card ul{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:9px}
.pp-incl-card li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.5;color:var(--pp-body)}
.pp-incl-card li svg{flex:none;margin-top:3px;color:#20C982}
.pp-incl-card.no li{color:var(--pp-mut)}
.pp-x{flex:none;color:var(--pp-mut)}

/* FAQ */
.pp-faq{display:grid;gap:10px}
.pp-faq details{border:1px solid var(--pp-line);border-radius:14px;background:rgba(232,238,242,.03);padding:4px 18px}
.pp-faq details[open]{border-color:rgba(216,166,75,.35)}
.pp-faq summary{cursor:pointer;list-style:none;padding:14px 0;color:#fff;font-weight:700;font-size:16px;display:flex;justify-content:space-between;gap:12px}
.pp-faq summary::-webkit-details-marker{display:none}
.pp-faq summary::after{content:"+";color:var(--pp-gold);font-weight:800}
.pp-faq details[open] summary::after{content:"–"}
.pp-faq p{margin:0 0 16px;color:var(--pp-body);font-size:15px;line-height:1.6}

/* Final call to action */
.pp-final{padding:20px 0 90px}
.pp-final-box{position:relative;display:grid;gap:10px;padding:40px 32px;border-radius:22px;border:1px solid rgba(216,166,75,.4);background:radial-gradient(600px 300px at 100% 0%,rgba(216,166,75,.18),transparent 60%),linear-gradient(180deg,#0C3347,#08283A);box-shadow:var(--pp-glow)}
.pp-final-box h2{margin:0;color:#fff;font-size:clamp(26px,2.8vw,36px);font-weight:800;letter-spacing:-.025em;line-height:1.12}
.pp-final-box p{margin:8px 0 0;color:var(--pp-body)}
.pp-final-box .pp-ctas{margin-top:14px}

/* Get Started with Program Planner / Sign in */
.pp-signup{padding:110px 0 80px;background:radial-gradient(900px 520px at 85% 0%,rgba(216,166,75,.12),transparent 62%),linear-gradient(180deg,#08283A,#061A28);min-height:70vh}
.pp-signup-grid{display:grid;grid-template-columns:1fr;gap:36px;align-items:start}
.pp-journey{list-style:none;margin:26px 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pp-journey li{display:flex;align-items:center;gap:7px;padding:6px 11px 6px 6px;border-radius:999px;border:1px solid var(--pp-line,rgba(232,238,242,.12));font-size:12.5px;font-weight:600;color:var(--pp-mut,#9FB3BF);background:rgba(232,238,242,.03)}
.pp-journey li span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:rgba(232,238,242,.10);font-size:11px;color:#C6D3DB}
.pp-journey li.on{border-color:rgba(216,166,75,.55);color:#fff;background:rgba(216,166,75,.10)}
.pp-journey li.on span{background:#D8A64B;color:#061A28}
.pp-journey li.done{color:#86EFAC}
.pp-journey li.done span{background:#178B5B;color:#fff}
.ph .pp-journey{margin:0 0 16px}
.pp-signup-plan{border:1px solid rgba(216,166,75,.35);border-radius:16px;padding:18px 20px;background:rgba(216,166,75,.06)}
.pp-signup-plan-h{display:flex;align-items:center;gap:9px;color:#fff;margin-bottom:6px}
.pp-signup-plan-h svg{color:var(--pp-gold-2)}
.pp-signup-plan p{margin:6px 0 0;font-size:14.5px;color:var(--pp-body)}
.pp-mini-incl{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:8px}
.pp-mini-incl li{display:flex;gap:9px;align-items:flex-start;font-size:14px;color:var(--pp-body);line-height:1.5}
.pp-mini-incl svg{flex:none;margin-top:3px;color:#20C982}
.pp-card{border:1px solid rgba(216,166,75,.35);border-radius:18px;padding:26px;background:linear-gradient(180deg,#0C3347,#0A2A3B);box-shadow:var(--pp-glow)}
.pp-card h2{margin:0 0 16px;color:#fff;font-size:22px;font-weight:800;letter-spacing:-.02em}
.pp-card .pl-field>span{font-size:13px;color:#C6D3DB}
.pp-card .txt{background:rgba(6,26,40,.6);border-color:rgba(232,238,242,.18);color:#fff;font-size:15px;min-height:44px}
.pp-card .txt:focus{border-color:var(--pp-gold);box-shadow:0 0 0 3px rgba(216,166,75,.18)}
.pp-card .btn-lg{width:100%;justify-content:center;min-height:48px}
.pp-card .pl-note{font-size:13px;color:var(--pp-mut)}
.pp-aside{margin:16px 0 0;font-size:14px;color:var(--pp-mut);text-align:center}

/* Wider screens */
@media (min-width:640px){
  .pp-shot .pp-kpis,.pp-feature .pp-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pp-prices{grid-template-columns:1fr 1fr}
  .pp-flow{grid-template-columns:1fr 1fr}
  .pp-final-box{grid-template-columns:1fr auto;align-items:center;padding:44px 40px}
  .pp-final-box .pp-ctas{margin-top:0}
}
@media (min-width:900px){
  .pp-wrap{padding:0 40px}
  .pp-incl{grid-template-columns:1fr 1fr}
}
@media (min-width:1024px){
  .pp-hero{padding:120px 0 90px}
  .pp-hero-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:56px}
  .pp-hero-visual{padding:0 104px 96px 0}
  .pp-flow{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pp-flow li{flex-direction:column}
  .pp-flow li:not(:last-child)::after{content:"";position:absolute;top:37px;right:-13px;width:14px;height:2px;background:linear-gradient(90deg,var(--pp-gold),transparent)}
  .pp-feature{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;padding:44px 0}
  .pp-feature.flip .pp-feature-copy{order:2}
  .pp-signup-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px}
}
/* Phones */
@media (max-width:639px){
  .pp-hero{padding:92px 0 40px}
  .pp-lede{font-size:16.5px}
  .pp-hero-visual{padding-bottom:0}
  .pp-hero-visual .pp-phone{display:none}
  .pp-table th:nth-child(3),.pp-table td:nth-child(3),.pp-table th:nth-child(5),.pp-table td:nth-child(5){display:none}
  .pp-sec{padding:60px 0}
  .pp-ctas .pp-btn{flex:1 1 auto}
  .pp-signup{padding:92px 0 56px}
  .pp-card{padding:20px}
}
