/* =============================================================
   PAPERWORK PARTY™ — landing page identity
   Scoped to .pp / .nav-lp / .sticky-pp so it cannot affect any
   other page. Shares the site's type system; its own palette,
   scale and pill-shaped CTAs give the page its own personality.
   ============================================================= */

.pp{
  --berry:#C2416F;
  --berry-d:#9E2E56;
  --berry-w:#FDF2F6;
  --ink-pp:#1B1B1F;
  --ink-soft-pp:#5A5560;
  --cream-pp:#FDFBF7;
  --green-pp:#123D26;
  --green-deep:#0C2A1A;
  --blush:#F7D8E4;
  --butter:#F6E6C7;
  --radius:999px;
  background:var(--cream-pp);
  color:var(--ink-pp);
}

/* ---- landing-page nav: brand + one CTA -------------------- */
.nav-lp{background:rgba(253,251,247,.94);border-bottom:1px solid rgba(194,65,111,.18)}
.nav-lp .nav-in{padding:12px 22px}
.nav-lp .brand{color:#123D26;text-decoration:none}
.nav-lp .brand span{color:#C2416F}

/* ---- pill CTAs -------------------------------------------- */
.btn-pill{display:inline-block;text-decoration:none;text-align:center;font-family:'Karla',sans-serif;font-weight:700;font-size:16px;letter-spacing:.02em;padding:19px 42px;border-radius:999px;border:0;cursor:pointer;background:#C2416F;color:#fff;box-shadow:0 10px 26px rgba(194,65,111,.28);transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s,background .22s}
.btn-pill:hover{transform:translateY(-2px);background:#9E2E56;box-shadow:0 14px 32px rgba(194,65,111,.34)}
.btn-pill:focus-visible{outline:3px solid #123D26;outline-offset:3px}
.btn-pill-sm{padding:11px 24px;font-size:14px;box-shadow:0 6px 16px rgba(194,65,111,.24)}
.btn-pill-lg{font-size:18px;padding:22px 52px}
.btn-pill-green{background:#123D26;box-shadow:0 10px 26px rgba(18,61,38,.26)}
.btn-pill-green:hover{background:#0C2A1A}
.btn-pill-cream{background:#FDFBF7;color:#C2416F;box-shadow:0 10px 26px rgba(0,0,0,.18)}
.btn-pill-cream:hover{background:#fff;color:#9E2E56}
.btn-pill-block{display:block;width:100%}

/* ---- rhythm ------------------------------------------------ */
.pp section{padding:78px 0}
.pp .wrap{max-width:1080px}
.pp-tight{padding:56px 0!important}
.pp-cream{background:var(--cream-pp)}
.pp-blush{background:var(--berry-w)}
.pp-green{background:var(--green-pp);color:#F4F1EA}
.pp-berry{background:var(--berry);color:#fff}
.pp-butter{background:var(--butter)}

/* ---- type -------------------------------------------------- */
.pp h1,.pp h2,.pp h3{font-family:'Playfair Display',serif;font-weight:600;letter-spacing:-.015em;line-height:1.04}
.pp .kicker{display:inline-block;font-family:'Karla',sans-serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;background:var(--blush);color:var(--berry-d);padding:10px 20px;border-radius:999px}
.pp-green .kicker,.pp-berry .kicker{background:rgba(255,255,255,.16);color:#fff}
.pp .wordmark{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(2.6rem,9vw,5.4rem);line-height:.95;letter-spacing:-.03em;color:var(--berry);margin:20px 0 6px}
.pp .wordmark sup{font-size:.26em;vertical-align:super;letter-spacing:0}
.pp h2{font-size:clamp(2rem,5.2vw,3.4rem)}
.pp h2 em{font-style:normal;color:var(--berry)}
.pp-green h2 em,.pp-berry h2 em{color:var(--blush)}
.pp .lede{font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.6;color:var(--ink-soft-pp);max-width:62ch}
.pp-green .lede,.pp-berry .lede{color:rgba(255,255,255,.86)}
.pp .lede-mid{margin-left:auto;margin-right:auto;text-align:center}
.pp .small{font-size:15px;color:var(--ink-soft-pp);line-height:1.6}
.pp-green .small,.pp-berry .small{color:rgba(255,255,255,.78)}
.pp .eventline{display:inline-flex;align-items:center;gap:10px;font-family:'Karla',sans-serif;font-weight:700;font-size:13.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--green-pp)}
.pp .eventline::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--berry);box-shadow:0 0 0 4px rgba(194,65,111,.18)}
.pp-green .eventline,.pp-berry .eventline{color:#fff}
.pp .shout{font-family:'Playfair Display',serif;font-size:clamp(1.4rem,3.4vw,2.3rem);line-height:1.25;font-weight:600}

/* ---- hero -------------------------------------------------- */
.pp-hero{padding:104px 0 66px!important;background:
  radial-gradient(58% 48% at 82% 4%,rgba(247,216,228,.75),transparent 68%),
  radial-gradient(46% 42% at 2% 96%,rgba(246,230,199,.75),transparent 66%),
  var(--cream-pp)}
.pp-hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:52px;align-items:start}
.pp-hero h1{font-size:clamp(1.75rem,3.5vw,2.6rem);line-height:1.16;margin:6px 0 18px;font-weight:600}
.pp-hero .hero-note{margin-top:16px;font-size:15px;color:var(--ink-soft-pp)}
.pp-hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:26px 0 14px}
.pp-portrait{position:relative;aspect-ratio:4/5;border-radius:26px;overflow:hidden;background:var(--green-pp);border:1px solid rgba(18,61,38,.14);box-shadow:0 22px 50px rgba(18,61,38,.16)}
.pp-portrait img{width:100%;height:100%;object-fit:cover;display:block}
.pp-portrait .drop{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:22px;border:1px dashed rgba(253,251,247,.4);border-radius:26px;margin:12px}
.pp-portrait .drop span{font-family:'Karla',sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(253,251,247,.7);line-height:1.8}
@media(max-width:900px){.pp-hero-grid{grid-template-columns:1fr;gap:34px}.pp-hero{padding:92px 0 54px!important}}

/* ---- form card --------------------------------------------- */
.pp-form{background:#fff;border-radius:26px;padding:32px 30px 34px;box-shadow:0 20px 46px rgba(18,61,38,.13);border:1px solid rgba(194,65,111,.16)}
.pp-form h3{font-size:1.6rem;color:var(--green-pp);margin-bottom:4px}
.pp-form .sub{font-size:14.5px;color:var(--ink-soft-pp);margin-bottom:22px}
.pp .field label{font-family:'Karla',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.06em;text-transform:none;color:var(--green-pp)}
.pp .field input,.pp .field select{border-radius:14px;background:#FCFAF7;border:1px solid rgba(18,61,38,.2);font-size:16px;padding:15px 16px}
.pp .field input:focus,.pp .field select:focus{border-color:var(--berry);box-shadow:0 0 0 3px rgba(194,65,111,.14)}
.pp .field select{background-image:linear-gradient(45deg,transparent 50%,var(--berry) 50%),linear-gradient(135deg,var(--berry) 50%,transparent 50%)}
.pp .form-note{color:var(--ink-soft-pp)}
@media(max-width:560px){.pp-form{padding:26px 20px 28px}}

/* ---- promise strip ----------------------------------------- */
.pp-strip{text-align:center}
.pp-strip p{font-family:'Playfair Display',serif;font-size:clamp(1.4rem,3.6vw,2.4rem);line-height:1.28;max-width:24ch;margin:0 auto;font-weight:600}

/* ---- "getting into" cards ---------------------------------- */
.pp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.pp-card{background:#fff;border-radius:22px;padding:30px 26px 32px;border:1px solid rgba(18,61,38,.1);box-shadow:0 10px 28px rgba(18,61,38,.07);transition:transform .28s,box-shadow .28s}
.pp-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(18,61,38,.12)}
.pp-card .n{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--blush);color:var(--berry-d);font-family:'Karla',sans-serif;font-weight:700;font-size:14px;margin-bottom:16px}
.pp-card h3{font-size:1.24rem;color:var(--green-pp);margin-bottom:12px}
.pp-card ul{list-style:none;display:flex;flex-wrap:wrap;gap:7px}
.pp-card li{font-size:13.4px;color:var(--ink-soft-pp);background:#F7F4EF;border-radius:999px;padding:6px 12px}
@media(max-width:900px){.pp-cards{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.pp-cards{grid-template-columns:1fr}}

/* ---- for you / not for you --------------------------------- */
.pp-list{list-style:none;display:grid;gap:12px;margin-top:34px;max-width:860px}
.pp-list li{display:flex;gap:15px;align-items:flex-start;background:#fff;border-radius:18px;padding:19px 22px;font-size:16px;line-height:1.55;border:1px solid rgba(18,61,38,.09)}
.pp-list .mk{flex:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}
.pp-yes .mk{background:#DFF1E5;color:#1B6B3F}
.pp-no li{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:rgba(255,255,255,.9)}
.pp-no .mk{background:rgba(255,255,255,.16);color:#fff}

/* ---- flow chips -------------------------------------------- */
.pp-flow{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:30px}
.pp-flow span{background:#fff;border:1px solid rgba(18,61,38,.14);border-radius:999px;padding:13px 22px;font-size:15px;font-weight:600;color:var(--green-pp)}
.pp-flow i{font-style:normal;color:var(--berry);font-size:20px}
.pp-green .pp-flow span{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22);color:#fff}

/* ---- tag grid (contracting) -------------------------------- */
.pp-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.pp-tags span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:11px 18px;font-size:14.5px}

/* ---- diagnosis preview ------------------------------------- */
.pp-diag{background:#fff;border-radius:26px;padding:34px 32px;box-shadow:0 18px 44px rgba(18,61,38,.12);border:1px solid rgba(18,61,38,.1);max-width:560px}
.pp-diag .bar{display:flex;align-items:center;gap:9px;margin-bottom:22px}
.pp-diag .bar i{width:11px;height:11px;border-radius:50%;background:#E7E2DA;display:block}
.pp-diag .row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid rgba(18,61,38,.09)}
.pp-diag .row:last-child{border-bottom:0}
.pp-diag .row b{font-family:'Karla',sans-serif;font-size:13.5px;font-weight:700;color:var(--green-pp)}
.pp-diag .ph{background:repeating-linear-gradient(135deg,#F1ECE4 0 7px,#F8F5F0 7px 14px);color:var(--ink-soft-pp);border-radius:999px;padding:6px 16px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}

/* ---- money access 4 steps ---------------------------------- */
.pp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.pp-step{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:28px 24px 30px}
.pp-step .n{font-family:'Karla',sans-serif;font-weight:700;font-size:12px;letter-spacing:.18em;color:var(--blush);display:block;margin-bottom:12px}
.pp-step h3{font-size:1.16rem;color:#fff;margin-bottom:10px;line-height:1.2}
.pp-step p{font-size:14.2px;color:rgba(255,255,255,.8);line-height:1.55}
@media(max-width:1000px){.pp-steps{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pp-steps{grid-template-columns:1fr}}
.pp-chant{display:grid;gap:6px;margin-top:38px;text-align:center;font-family:'Playfair Display',serif;font-size:clamp(1.3rem,3vw,2rem);line-height:1.3;font-weight:600}
.pp-chant span:last-child{color:var(--blush)}
.pp-brandline{font-family:'Parisienne',cursive;font-size:clamp(1.7rem,4vw,2.6rem);text-align:center;margin-top:26px;color:var(--blush)}

/* ---- about ------------------------------------------------- */
.pp-about{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}
.pp-about .pp-portrait{aspect-ratio:1/1;border-radius:50%}
.pp-about .pp-portrait .drop{border-radius:50%}
.pp-about p{margin-bottom:16px;color:var(--ink-soft-pp);font-size:16.5px;line-height:1.65}
.pp-about p b{color:var(--ink-pp)}
.pp-about .q{font-family:'Playfair Display',serif;font-style:italic;font-size:1.3rem;color:var(--berry);margin:0 0 8px}
@media(max-width:860px){.pp-about{grid-template-columns:1fr;gap:30px}}

/* ---- final ------------------------------------------------- */
.pp-final{text-align:center}
.pp-final h2{max-width:16ch;margin:0 auto}
.pp-final .lede{margin:22px auto 0}

/* ---- compliance ------------------------------------------- */
.pp .compliance{border-left-color:rgba(18,61,38,.25)}
.pp-green .compliance,.pp-berry .compliance{color:rgba(255,255,255,.72);border-left-color:rgba(255,255,255,.32)}
.pp-green .compliance b,.pp-berry .compliance b{color:#fff}

/* ---- sticky mobile CTA ------------------------------------- */
.sticky-pp{background:rgba(253,251,247,.97);border-top:1px solid rgba(194,65,111,.2)}
.sticky-pp a{border-radius:999px!important;background:#C2416F;color:#fff;font-family:'Karla',sans-serif!important;font-weight:700;font-size:15px!important;letter-spacing:.02em!important;text-transform:none!important;padding:16px 10px!important}
