/* =====================================================================
   JMS MEDIA • 04 — PAGE LAYOUTS
   Per-page, namespaced layout CSS lifted verbatim out of each page's
   inline <style> block so the THEME owns all CSS and pages stay clean
   content. Each block is scoped under its own .jpp-<page> wrapper, so
   nothing here collides with the global components in 03-components.css.
   ===================================================================== */


/* ---------- about (page 1411) ---------- */
/* =========================================================
       JPP • ABOUT (DIGITAL MANAGER) (LIGHT)
       - Content lane: 980px via .wrap
       - Rule lane: use global .jpp-rule outside section
       - Hover only on real links/buttons
       - Monochrome inline SVG icons (no emoji)
       - No em dash characters
       - Buttons use global .jpp-cta__btn (Additional CSS)
       - FIX: bullet links clickable (pointer-events / stacking)
       - FIX: text links hover gold, not theme yellow, not black
    ========================================================== */

    .jpp-aboutdm{
      --gold:#c49a49;
      --gold-2:#b98934;

      --ink: rgba(11,12,15,.92);
      --muted: rgba(11,12,15,.72);

      --line: rgba(11,12,15,.22);
      --line-strong: rgba(11,12,15,.35);

      --panel:#ffffff;
      --panel2:#f6f7f9;

      --content:980px;
      --pad-x:14px;
      --pad-x-mobile:10px;

      --gap:18px;
      --gap-md:22px;
      --gap-lg:40px;

      --pad:18px;
      --radius:16px;

      color:var(--ink);
      width:100%;
      box-sizing:border-box;
      pointer-events:auto;
    }
    @media (min-width:860px){
      .jpp-aboutdm{
        --gap:20px;
        --gap-md:26px;
        --gap-lg:44px;
        --pad:20px;
      }
    }

    .jpp-aboutdm, .jpp-aboutdm *{ box-sizing:border-box; }

    /* 980 content wrapper */
    .jpp-aboutdm .wrap{
      max-width:var(--content);
      margin:0 auto;
      padding:18px var(--pad-x);
    }
    @media (max-width:600px){
      .jpp-aboutdm .wrap{ padding:18px var(--pad-x-mobile); }
    }

    /* Type */
    .jpp-aboutdm h1,.jpp-aboutdm h2,.jpp-aboutdm h3{
      line-height:1.15;
      margin:0;
      color:rgba(11,12,15,.96);
      letter-spacing:-.01em;
    }
    .jpp-aboutdm h1{
      font-size:clamp(32px,4.2vw,52px);
      font-weight:900;
      text-align:center;
    }
    .jpp-aboutdm h2{
      font-size:clamp(22px,2.6vw,34px);
      font-weight:900;
      text-align:center;
      margin-bottom:10px;
    }
    .jpp-aboutdm h3{
      font-size:1.05rem;
      font-weight:900;
    }

    .jpp-aboutdm p{ margin:0; }
    .jpp-aboutdm .muted{ color:var(--muted); opacity:1; line-height:1.7; }
    .jpp-aboutdm .sub{
      margin:10px auto 0;
      max-width:72ch;
      text-align:center;
    }
    .jpp-aboutdm .stack{ display:grid; gap:14px; }
    .jpp-aboutdm .lede{
      font-size:clamp(1.02rem, 1.1vw, 1.12rem);
      line-height:1.65;
      max-width:72ch;
    }

    /* Chip header icons (small, monochrome) */
    .jpp-aboutdm .chip-head{
      display:flex;
      align-items:center;
      gap:10px;
      margin:0 0 2px;
    }
    .jpp-aboutdm .chip-ico{
      width:24px;
      height:18px;
      flex:0 0 18px;
      display:flex;
      align-items:center;
      justify-content:center;
    }
    .jpp-aboutdm .chip-ico svg{
      width:24px;
      height:24px;
      display:block;
      fill:none;
      stroke:rgba(11,12,15,.55);
      stroke-width:2.1;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    /* CTA row (layout only - buttons are global .jpp-cta__btn) */
    .jpp-aboutdm .cta-row{
      display:flex;
      gap:14px;
      flex-wrap:wrap;
      justify-content:flex-start;
      margin-top:12px;
    }
    @media (max-width:859px){
      .jpp-aboutdm .cta-row{ justify-content:center; }
    }

    /* Monochrome icons */
    .jpp-aboutdm .ico{
      width:42px;
      height:42px;
      flex:0 0 42px;
      border-radius:12px;
      background:#ffd400;
      border:2px solid #0b0c0f;
      display:flex;
      align-items:center;
      justify-content:center;
      box-shadow:0 1px 2px rgba(0,0,0,.10);
    }
    .jpp-aboutdm .ico svg{
      width:22px;
      height:22px;
      display:block;
      fill:none;
      stroke:rgba(11,12,15,.86);
      stroke-width:2.2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    /* Hero */
    .jpp-aboutdm .hero{
      display:grid;
      gap:var(--gap-lg);
      align-items:start;
      margin-top:var(--gap-md);
    }
    @media (min-width:860px){
      .jpp-aboutdm .hero{
        grid-template-columns:.9fr 1.1fr;
        column-gap:var(--gap-lg);
        align-items:center;
      }
    }

    .jpp-aboutdm .portrait{
      display:grid;
      justify-items:center;
      gap:10px;
    }
    @media (min-width:860px){
      .jpp-aboutdm .portrait{ justify-items:start; }
    }

    .jpp-aboutdm .avatar{
      width:min(300px, 74vw);
      aspect-ratio:1/1;
      border-radius:999px;
      overflow:hidden;
      border:2px solid rgba(196,154,73,.55);
      box-shadow:0 12px 24px rgba(0,0,0,.10);
      background:#ffffff;
    }
    .jpp-aboutdm .avatar img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }

    .jpp-aboutdm .who{
      text-align:center;
      display:grid;
      gap:6px;
      max-width:360px;
    }
    @media (min-width:860px){
      .jpp-aboutdm .who{ text-align:left; }
    }
    .jpp-aboutdm .name{
      font-weight:900;
      font-size:1.1rem;
      letter-spacing:-.01em;
      color:rgba(11,12,15,.96);
    }
    .jpp-aboutdm .tagline{
      font-weight:800;
      color:var(--muted);
      opacity:1;
      line-height:1.4;
    }

    .jpp-aboutdm .hero-copy{
      display:grid;
      gap:14px;
      align-content:start;
    }
    @media (max-width:859px){
      .jpp-aboutdm .hero-copy{ text-align:center; justify-items:center; }
      .jpp-aboutdm .cta-row{ justify-content:center; }
    }

    /* Cards / rows (static) */
    .jpp-aboutdm .card{
      border:2px solid var(--line);
      border-radius:var(--radius);
      padding:var(--pad);
      background:var(--panel);
      width:100%;
      box-shadow:0 10px 18px rgba(0,0,0,.08);
      transition:none;
    }

    .jpp-aboutdm .cols{
      display:grid;
      gap:var(--gap);
      grid-template-columns:1fr;
    }
    @media (min-width:860px){
      .jpp-aboutdm .cols.two{ grid-template-columns:1fr 1fr; column-gap:44px; align-items:stretch; }
      .jpp-aboutdm .cols.three{ grid-template-columns:repeat(3, minmax(0, 1fr)); column-gap:22px; align-items:stretch; }
    }

    .jpp-aboutdm .row{
      padding:var(--pad);
      border-radius:var(--radius);
      text-align:left;
      display:grid;
      align-content:start;
      row-gap:10px;
      border:2px solid var(--line);
      background:var(--panel);
      width:100%;
      box-shadow:0 10px 18px rgba(0,0,0,.08);
      transition:none;
      pointer-events:auto;
    }

    /* Head rows */
    .jpp-aboutdm .head{
      display:flex;
      gap:12px;
      align-items:flex-start;
      min-width:0;
    }
    .jpp-aboutdm .head h3{ margin:0; }
    .jpp-aboutdm .head .kicker{
      margin-top:4px;
      font-weight:800;
      color:rgba(11,12,15,.72);
      line-height:1.35;
    }

    /* Bullets */
    .jpp-aboutdm .bullets{
      display:grid;
      gap:8px;
      margin:10px 0 0;
      padding:0;
      list-style:none;
      color:var(--muted);
      position:relative;
      z-index:0;
      pointer-events:auto;
    }
    .jpp-aboutdm .bullets li{
      position:relative;
      padding-left:18px;
      pointer-events:auto;
    }
    .jpp-aboutdm .bullets li::before{
      content:"•";
      position:absolute;
      left:0;
      color:rgba(11,12,15,.55);
      opacity:1;
      pointer-events:none;
    }

    /* Defensive: keep bullet links clickable */
    .jpp-aboutdm .bullets a{
      pointer-events:auto;
      position:relative;
      z-index:2;
    }

    /* Chips (static) */
    .jpp-aboutdm .chip-grid{
      display:grid;
      gap:12px;
      margin-top:var(--gap-md);
    }
    @media (min-width:860px){
      .jpp-aboutdm .chip-grid{
        grid-template-columns:repeat(4, minmax(0, 1fr));
        column-gap:14px;
      }
    }
    .jpp-aboutdm .chip{
      border:2px solid var(--line);
      border-radius:18px;
      padding:14px 14px;
      display:grid;
      gap:8px;
      justify-items:start;
      background:var(--panel);
      box-shadow:0 10px 18px rgba(0,0,0,.06);
      transition:none;
      color:rgba(11,12,15,.86);
      min-height:120px;
    }
    .jpp-aboutdm .chip strong{ font-weight:900; color:rgba(11,12,15,.92); }
    .jpp-aboutdm .chip .muted{ line-height:1.6; }

    /* Timeline */
    .jpp-aboutdm .timeline{
      display:grid;
      gap:16px;
      margin-top:var(--gap-md);
    }
    .jpp-aboutdm .t-item{
      position:relative;
      display:grid;
      gap:12px;
      border:2px solid var(--line);
      border-radius:var(--radius);
      padding:calc(var(--pad) + 2px);
      background:linear-gradient(180deg, #ffffff 0%, rgba(246,247,249,.85) 100%);
      box-shadow:0 12px 22px rgba(0,0,0,.06);
    }
    .jpp-aboutdm .t-item::before{
      content:"";
      position:absolute;
      left:14px;
      top:14px;
      bottom:14px;
      width:4px;
      border-radius:999px;
      background:rgba(196,154,73,.85);
    }
    .jpp-aboutdm .t-item > *{ padding-left:22px; }

    .jpp-aboutdm .t-top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }
    .jpp-aboutdm .t-role{
      font-weight:950;
      letter-spacing:-.015em;
      color:rgba(11,12,15,.95);
      font-size:1.08rem;
      line-height:1.2;
    }
    .jpp-aboutdm .t-org{
      font-weight:850;
      color:rgba(11,12,15,.78);
      letter-spacing:-.01em;
      margin-top:2px;
    }
    .jpp-aboutdm .t-date{
      font-weight:900;
      font-size:.92rem;
      color:rgba(11,12,15,.70);
      padding:6px 10px;
      border-radius:999px;
      border:2px solid rgba(11,12,15,.14);
      background:#ffffff;
      box-shadow:0 6px 14px rgba(0,0,0,.05);
    }
    .jpp-aboutdm .t-item .muted{
      line-height:1.65;
      color:rgba(11,12,15,.74);
    }
    @media (min-width:860px){
      .jpp-aboutdm .timeline{ gap:18px; }
      .jpp-aboutdm .t-item{ padding:calc(var(--pad) + 6px); }
      .jpp-aboutdm .t-item::before{ left:16px; top:16px; bottom:16px; }
      .jpp-aboutdm .t-item > *{ padding-left:26px; }
      .jpp-aboutdm .t-role{ font-size:1.12rem; }
    }

    /* Proof band */
    .jpp-aboutdm .proof{
      display:grid;
      gap:12px;
      margin-top:var(--gap-md);
    }
    .jpp-aboutdm .proof .row{ text-align:left; }

    /* Mobile tightening */
    @media (max-width:859px){
      .jpp-aboutdm .chip-grid{ grid-template-columns:1fr; }
      .jpp-aboutdm .chip{ min-height:auto; }
    }

    /* Keep the two CTA buttons side by side on mobile */
    @media (max-width: 600px){
      .jpp-aboutdm .cta-row{
        flex-wrap: nowrap;
        gap: 10px;
        width: 100%;
      }
      .jpp-aboutdm .cta-row .jpp-cta__btn{
        flex: 1 1 0;
        min-width: 0;
        padding-left: 10px;
        padding-right: 10px;
        text-align: center;
        white-space: nowrap;
      }
    }

    /* =========================================================
       TEXT LINK CONTROL (SCOPED)
       This beats theme hover and prevents yellow/black weirdness
       Excludes CTA buttons
    ========================================================== */

    .jpp-aboutdm a:not(.jpp-cta__btn){
      color: rgba(11,12,15,.92) !important;
      text-decoration: underline;
      text-decoration-thickness: 2px;
      text-underline-offset: 3px;
      font-weight: 900;
      background: transparent !important;
      box-shadow: none !important;
      -webkit-text-fill-color: rgba(11,12,15,.92) !important;
    }

    .jpp-aboutdm a:not(.jpp-cta__btn):hover,
    .jpp-aboutdm a:not(.jpp-cta__btn):focus-visible{
      color: var(--gold) !important;
      -webkit-text-fill-color: var(--gold) !important;
      opacity: 1 !important;
    }

    .jpp-aboutdm a:not(.jpp-cta__btn):visited{
      color: rgba(11,12,15,.92) !important;
      -webkit-text-fill-color: rgba(11,12,15,.92) !important;
    }

/* ---------- consulting-strategy (page 1902) ---------- */
/* =========================================================
       CONSULTING PAGE (LIGHT)
       - Content lane: 980px
       - Rule lane: 1080px
       - Buttons use GLOBAL .jpp-cta__btn (Additional CSS)
       - This block only handles layout for the CTA row
       - Emoji replaced with simple monochrome inline SVG icons
    ========================================================== */

    .jpp-consulting{
      --gold:#c49a49;
      --gold-2:#b98934;

      --ink: rgba(11,12,15,.92);
      --muted: rgba(11,12,15,.72);

      --stroke: rgba(11,12,15,.22);
      --stroke-strong: rgba(11,12,15,.36);
      --panel:#ffffff;
      --panel2:#f6f7f9;

      --content:980px;
      --rule:1080px;

      --pad-x:14px;
      --pad-x-mobile:10px;

      --gap:18px;
      --gap-md:22px;
      --gap-lg:40px;

      --pad:18px;
      --radius:16px;

      color:var(--ink);
      width:100%;
      box-sizing:border-box;
    }
    @media (min-width:860px){
      .jpp-consulting{ --gap:20px; --gap-md:26px; --gap-lg:44px; --pad:20px; }
    }

    .jpp-consulting, .jpp-consulting *{ box-sizing:border-box; }

    /* Content lane */
    .jpp-consulting .lane{
      max-width:var(--content);
      margin:0 auto;
      padding:18px var(--pad-x);
    }
    @media (max-width:600px){
      .jpp-consulting .lane{ padding:16px var(--pad-x-mobile); }
    }

    /* Rule lane */
    .jpp-consulting .jpp-rule{
      height:1px;
      background:rgba(11,12,15,.22);
      opacity:1;
      max-width:var(--rule);
      margin:26px auto;
      width:calc(100% - (var(--pad-x) * 2));
    }
    @media (max-width:600px){
      .jpp-consulting .jpp-rule{
        width:calc(100% - (var(--pad-x-mobile) * 2));
        margin:20px auto;
      }
    }

    /* Type */
    .jpp-consulting h1,
    .jpp-consulting h2{
      line-height:1.2;
      margin:0;
      text-align:center;
      letter-spacing:-.01em;
      color:rgba(11,12,15,.94);
    }
    .jpp-consulting h1{ font-size:clamp(32px,4.2vw,52px); font-weight:900; }
    .jpp-consulting h2{ font-size:clamp(22px,2.6vw,34px); font-weight:900; margin-bottom:10px; }

    .jpp-consulting p{ margin:0; }
    .jpp-consulting .sub{ margin:8px auto 0; max-width:860px; text-align:center; }
    .jpp-consulting .muted{ color:var(--muted); line-height:1.7; opacity:1; }

    /* CTA row (layout only - buttons are global .jpp-cta__btn) */
    .jpp-consulting .cta-row{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:center;
      align-items:center;
      width:100%;
      margin:26px auto 0; /* adds breathing room from the three-up */
      padding:0;
      text-align:center;
    }

    /* ICONS (monochrome SVG) */
    .jpp-consulting .ico{
      width:34px;
      height:34px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:12px;
      border:1px solid rgba(11,12,15,.22);
      background:rgba(11,12,15,.03);
    }
    .jpp-consulting .ico svg{
      width:18px;
      height:18px;
      display:block;
      fill:none;
      stroke:rgba(11,12,15,.86);
      stroke-width:2.2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    /* Three-up */
    .jpp-consulting .three-up{
      display:grid;
      gap:var(--gap);
      justify-items:center;
      margin-top:16px;
    }
    @media (min-width:860px){
      .jpp-consulting .three-up{
        grid-template-columns:repeat(3,1fr);
        column-gap:var(--gap-lg);
      }
    }
    .jpp-consulting .point{
      display:grid;
      justify-items:center;
      text-align:center;
      row-gap:10px;
      max-width:320px;
    }
    .jpp-consulting .point strong{
      font-weight:900;
      color:rgba(11,12,15,.92);
    }

    /* Chips */
    .jpp-consulting .chips{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:center;
      margin-top:var(--gap-md);
    }
    .jpp-consulting .chip{
      border:1px solid rgba(11,12,15,.32);
      border-radius:999px;
      padding:9px 14px;
      font-weight:900;
      color:rgba(11,12,15,.86);
      line-height:1.1;
      background:#fff;
      display:inline-flex;
      align-items:center;
      gap:10px;
    }
    .jpp-consulting .chip small{ font-weight:700; color:rgba(11,12,15,.62); }

    .jpp-consulting .chip .ico{
      width:26px;
      height:26px;
      border-radius:10px;
    }
    .jpp-consulting .chip .ico svg{ width:15px; height:15px; stroke-width:2.2; }

    /* Card base */
    .jpp-consulting .card{
      border:2px solid var(--stroke);
      border-radius:var(--radius);
      padding:var(--pad);
      background:var(--panel);
      box-shadow:0 10px 18px rgba(0,0,0,.06);
    }

    /* Slim callout card */
    .jpp-consulting .card--slim{
      padding:14px 18px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      gap:14px;
      text-align:left;
      background:var(--panel2);
      border-color:var(--stroke-strong);
      box-shadow:none;
    }
    .jpp-consulting .card--slim strong{ font-weight:900; color:rgba(11,12,15,.92); }
    .jpp-consulting .card--slim .copy{
      line-height:1.65;
      color:rgba(11,12,15,.78);
      min-width:0;
    }

    /* Rows (STATIC, no hover) */
    .jpp-consulting .row{
      border:2px solid var(--stroke);
      border-radius:var(--radius);
      padding:var(--pad);
      background:var(--panel);
      text-align:center;
      display:grid;
      justify-items:center;
      row-gap:10px;
      min-height:168px;
      box-shadow:0 10px 18px rgba(0,0,0,.06);
    }

    /* Columns */
    .jpp-consulting .cols{
      display:grid;
      gap:var(--gap);
      justify-content:center;
      margin-top:var(--gap-lg);
    }
    @media (min-width:860px){
      .jpp-consulting .cols{
        grid-template-columns:1fr 1fr;
        column-gap:44px;
      }
    }

    /* Steps */
    .jpp-consulting .steps{
      display:grid;
      gap:var(--gap-md);
      margin-top:var(--gap-lg);
    }
    @media (min-width:860px){
      .jpp-consulting .steps{
        grid-template-columns:repeat(4,1fr);
        column-gap:44px;
      }
    }
    .jpp-consulting .step{
      display:flex;
      gap:14px;
      align-items:flex-start;
      text-align:left;
    }
.jpp-consulting .num{
  width:40px;
  height:40px;
  min-width:40px;
  min-height:40px;
  aspect-ratio:1 / 1;
  flex:0 0 40px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:2px solid #0b0c0f;
  border-radius:50%;
  background:rgba(11,12,15,.05);

  color:rgba(11,12,15,.92);
  font-weight:900;
  font-size:1.05rem;
  line-height:1;

  box-shadow:0 1px 2px rgba(0,0,0,.10);
}

    .jpp-consulting .step p{ margin:0; font-size:1.02rem; line-height:1.65; color:rgba(11,12,15,.74); }
    .jpp-consulting .step strong{ font-weight:900; color:rgba(11,12,15,.92); }

    /* Outcomes */
    .jpp-consulting .outcomes{
      display:grid;
      gap:var(--gap);
      margin-top:var(--gap);
    }
    @media (min-width:860px){
      .jpp-consulting .outcomes{
        grid-template-columns:repeat(3,1fr);
        column-gap:44px;
      }
    }

    /* FAQ */
    .jpp-consulting .faq-grid{
      display:grid;
      gap:var(--gap);
      margin-top:var(--gap-md);
    }
    @media (min-width:860px){
      .jpp-consulting .faq-grid{ grid-template-columns:1fr 1fr; }
    }
    .jpp-consulting .faq-grid details{
      border:2px solid var(--stroke);
      border-radius:14px;
      padding:12px 14px;
      background:#fff;
      box-shadow:0 10px 18px rgba(0,0,0,.06);
    }
    .jpp-consulting .faq-grid details[open]{ background:var(--panel2); }
    .jpp-consulting .faq-grid summary{
      cursor:pointer;
      list-style:none;
      display:flex;
      gap:10px;
      font-weight:900;
      color:rgba(11,12,15,.92);
    }
    .jpp-consulting .faq-grid summary::-webkit-details-marker{ display:none; }
    .jpp-consulting .faq-grid summary::before{ content:"▸"; color:rgba(11,12,15,.65); }
    .jpp-consulting .faq-grid details[open] summary::before{ content:"▾"; }
    .jpp-consulting .faq-grid p{ margin:10px 0 0; line-height:1.7; color:rgba(11,12,15,.72); opacity:1; }

    /* Mobile tweaks */
    @media (max-width:859px){
      .jpp-consulting .three-up{ row-gap:28px; }
      .jpp-consulting .point{ row-gap:12px; }
      .jpp-consulting .card--slim{ padding:14px 14px; gap:12px; }
      .jpp-consulting .cta-row{ margin-top:22px; }
    }

/* ---------- digital-management (page 1407) ---------- */
/* =========================================================
       JPP • DIGITAL MANAGEMENT (LIGHT)
       - Content lane: 980px
       - Rule lane: 1080px
       - Buttons use GLOBAL .jpp-cta__btn (Additional CSS)
       - This block only handles layout for the CTA rows
       - Emoji replaced with simple monochrome inline SVG icons
    ========================================================== */

    .jpp-digital{
      --gold:#c49a49;
      --gold-2:#b98934;

      --ink: rgba(11,12,15,.92);
      --muted: rgba(11,12,15,.72);

      --stroke: rgba(11,12,15,.22);
      --stroke-strong: rgba(11,12,15,.36);

      --panel:#ffffff;
      --panel2:#f6f7f9;

      --content:980px;
      --rule:1080px;

      --pad-x:14px;
      --pad-x-mobile:10px;

      --gap:18px;
      --gap-md:22px;
      --gap-lg:40px;

      --pad:18px;
      --radius:16px;

      color:var(--ink);
      width:100%;
      box-sizing:border-box;
    }
    @media (min-width:860px){
      .jpp-digital{
        --gap:20px;
        --gap-md:26px;
        --gap-lg:44px;
        --pad:20px;
      }
    }

    .jpp-digital, .jpp-digital *{ box-sizing:border-box; }

    /* Content lane */
    .jpp-digital .lane{
      max-width:var(--content);
      margin:0 auto;
      padding:18px var(--pad-x);
    }
    @media (max-width:600px){
      .jpp-digital .lane{ padding:16px var(--pad-x-mobile); }
    }

    /* Rule lane */
    .jpp-digital .jpp-rule{
      height:1px;
      background:rgba(11,12,15,.22);
      opacity:1;
      max-width:var(--rule);
      margin:26px auto;
      width:calc(100% - (var(--pad-x) * 2));
    }
    @media (max-width:600px){
      .jpp-digital .jpp-rule{
        width:calc(100% - (var(--pad-x-mobile) * 2));
        margin:20px auto;
      }
    }

    /* Type */
    .jpp-digital h1,
    .jpp-digital h2{
      line-height:1.2;
      margin:0;
      text-align:center;
      letter-spacing:-.01em;
      color:rgba(11,12,15,.94);
    }
    .jpp-digital h1{
      font-size:clamp(32px,4.2vw,52px);
      font-weight:900;
    }
    .jpp-digital h2{
      font-size:clamp(22px,2.6vw,34px);
      font-weight:900;
      margin-bottom:10px;
    }

    .jpp-digital p{ margin:0; }
    .jpp-digital .sub{
      margin:8px auto 0;
      max-width:860px;
      text-align:center;
    }
    .jpp-digital .muted{
      color:var(--muted);
      line-height:1.7;
      opacity:1;
    }

    /* CTA row (layout only - buttons are global .jpp-cta__btn) */
    .jpp-digital .cta-row{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:center;
      align-items:center;
      width:100%;
      margin:26px auto 0;
      padding:0;
      text-align:center;
    }
    @media (max-width:859px){
      .jpp-digital .cta-row{ margin-top:22px; }
    }

    /* ICONS (monochrome SVG) */
    .jpp-digital .ico{
      width:34px;
      height:34px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:12px;
      border:1px solid rgba(11,12,15,.22);
      background:rgba(11,12,15,.03);
    }
    .jpp-digital .ico svg{
      width:18px;
      height:18px;
      display:block;
      fill:none;
      stroke:rgba(11,12,15,.86);
      stroke-width:2.2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    /* Three-up points */
    .jpp-digital .three-up{
      display:grid;
      gap:var(--gap);
      justify-items:center;
      margin-top:16px;
    }
    @media (min-width:860px){
      .jpp-digital .three-up{
        grid-template-columns:repeat(3,1fr);
        column-gap:var(--gap-lg);
        align-items:start;
      }
    }
    .jpp-digital .point{
      display:grid;
      justify-items:center;
      text-align:center;
      row-gap:10px;
      max-width:320px;
    }
    .jpp-digital .point strong{ font-weight:900; color:rgba(11,12,15,.92); }

    /* Chips */
    .jpp-digital .chips{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:center;
      margin-top:var(--gap-md);
    }
    .jpp-digital .chip{
      border:1px solid rgba(11,12,15,.32);
      border-radius:999px;
      padding:9px 14px;
      font-weight:900;
      color:rgba(11,12,15,.86);
      line-height:1.1;
      background:#fff;
      display:inline-flex;
      align-items:center;
      gap:10px;
    }
    .jpp-digital .chip small{
      font-weight:700;
      color:rgba(11,12,15,.62);
    }
    .jpp-digital .chip .ico{
      width:26px;
      height:26px;
      border-radius:10px;
    }
    .jpp-digital .chip .ico svg{ width:15px; height:15px; stroke-width:2.2; }

    /* Columns + rows (STATIC) */
    .jpp-digital .cols{
      display:grid;
      gap:var(--gap);
      justify-content:center;
      margin-top:var(--gap-lg);
    }
    @media (min-width:860px){
      .jpp-digital .cols{
        grid-template-columns:1fr 1fr;
        column-gap:44px;
        align-items:stretch;
      }
    }
    .jpp-digital .row{
      padding:var(--pad);
      border-radius:var(--radius);
      border:2px solid var(--stroke);
      background:var(--panel);
      min-height:168px;
      max-width:440px;
      width:100%;
      margin:0 auto;
      text-align:center;
      display:grid;
      justify-items:center;
      row-gap:10px;
      box-shadow:0 10px 18px rgba(0,0,0,.06);
    }
    .jpp-digital .row strong{ font-weight:900; color:rgba(11,12,15,.92); }

    /* Steps (STATIC, true circles) */
    .jpp-digital .steps{
      display:grid;
      gap:var(--gap-md);
      justify-content:center;
      margin-top:var(--gap-lg);
    }
    @media (min-width:860px){
      .jpp-digital .steps{
        grid-template-columns:repeat(4,1fr);
        column-gap:44px;
        align-items:start;
      }
    }
    .jpp-digital .step{
      display:flex;
      gap:14px;
      align-items:flex-start;
      max-width:480px;
      margin:0 auto;
      text-align:left;
    }
  .jpp-digital .num{
   width:40px;
  height:40px;
  min-width:40px;
  min-height:40px;
  aspect-ratio:1 / 1;
  flex:0 0 40px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:2px solid #0b0c0f;
  border-radius:50%;
  background:rgba(11,12,15,.05);

  color:rgba(11,12,15,.92);
  font-weight:900;
  font-size:1.05rem;
  line-height:1;

  box-shadow:0 1px 2px rgba(0,0,0,.10);
}

    .jpp-digital .step p{
      margin:0;
      font-size:1.02rem;
      line-height:1.65;
      color:rgba(11,12,15,.74);
    }
    .jpp-digital .step strong{ font-weight:900; color:rgba(11,12,15,.92); }

    /* FAQ */
    .jpp-digital .faq-grid{
      display:grid;
      gap:var(--gap);
      margin-top:var(--gap-md);
    }
    @media (min-width:860px){
      .jpp-digital .faq-grid{ grid-template-columns:1fr 1fr; }
    }
    .jpp-digital .faq-grid details{
      border:2px solid var(--stroke);
      border-radius:14px;
      padding:12px 14px;
      background:#fff;
      box-shadow:0 10px 18px rgba(0,0,0,.06);
    }
    .jpp-digital .faq-grid details[open]{ background:var(--panel2); }
    .jpp-digital .faq-grid summary{
      cursor:pointer;
      list-style:none;
      display:flex;
      align-items:center;
      gap:10px;
      font-weight:900;
      color:rgba(11,12,15,.92);
    }
    .jpp-digital .faq-grid summary::-webkit-details-marker{ display:none; }
    .jpp-digital .faq-grid summary::before{
      content:"▸";
      font-weight:900;
      color:rgba(11,12,15,.65);
      transform:translateY(-1px);
    }
    .jpp-digital .faq-grid details[open] summary::before{ content:"▾"; }
    .jpp-digital .faq-grid p{
      margin:10px 0 0;
      line-height:1.7;
      color:rgba(11,12,15,.72);
      opacity:1;
    }

    /* Mobile tightening + chip stacking (NOT edge-to-edge) */
    @media (max-width:859px){
      .jpp-digital .three-up{ row-gap:28px; }
      .jpp-digital .point{ row-gap:12px; }

      .jpp-digital .chips{
        flex-direction:column;
        align-items:center;
        gap:12px;
      }
      .jpp-digital .chip{
        width:84%;
        max-width:360px;
        text-align:center;
        justify-content:center;
        padding:8px 12px;
      }
    }

/* ---------- studio-production (page 2224) ---------- */
/* =========================================================
       JPP • STUDIO & MEDIA SERVICES (LIGHT)
       - Content lane: 980px
       - Rule lane: 1080px via .jpp-rule
       - Buttons use GLOBAL .jpp-cta__btn (Additional CSS)
       - This block only handles layout for the CTA rows
       - No hover on non-interactive elements
       - Hover only on real links/buttons + FAQ summary (intentional)
       - Step numbers true circles
       - Consistent padding + mobile tightening
       - No em dash characters
       - Emoji replaced with simple monochrome inline SVG icons
    ========================================================== */

    .jpp-studio{
      --gold:#c49a49;
      --gold-2:#b98934;

      --ink: rgba(11,12,15,.92);
      --muted: rgba(11,12,15,.72);

      --stroke: rgba(11,12,15,.22);
      --stroke-strong: rgba(11,12,15,.36);

      --panel:#ffffff;
      --panel2:#f6f7f9;

      --content:980px;
      --rule:1080px;

      --pad-x:14px;
      --pad-x-mobile:10px;

      --gap:18px;
      --gap-md:22px;
      --gap-lg:40px;

      --pad:18px;
      --radius:16px;

      color:var(--ink);
      width:100%;
      box-sizing:border-box;
    }
    @media (min-width:860px){
      .jpp-studio{ --gap:20px; --gap-md:26px; --gap-lg:44px; --pad:20px; }
    }

    .jpp-studio, .jpp-studio *{ box-sizing:border-box; }

    /* Content lane */
    .jpp-studio .lane{
      max-width:var(--content);
      margin:0 auto;
      padding:18px var(--pad-x);
    }
    @media (max-width:600px){
      .jpp-studio .lane{ padding:16px var(--pad-x-mobile); }
    }

    /* Rule lane */
    .jpp-studio .jpp-rule{
      height:1px;
      background:rgba(11,12,15,.22);
      opacity:1;
      max-width:var(--rule);
      margin:26px auto;
      width:calc(100% - (var(--pad-x) * 2));
    }
    @media (max-width:600px){
      .jpp-studio .jpp-rule{
        width:calc(100% - (var(--pad-x-mobile) * 2));
        margin:20px auto;
      }
    }

    /* Type */
    .jpp-studio h1,
    .jpp-studio h2{
      line-height:1.2;
      margin:0;
      text-align:center;
      letter-spacing:-.01em;
      color:rgba(11,12,15,.94);
    }
    .jpp-studio h1{ font-size:clamp(32px,4.2vw,52px); font-weight:900; }
    .jpp-studio h2{ font-size:clamp(22px,2.6vw,34px); font-weight:900; margin-bottom:10px; }

    .jpp-studio p{ margin:0; }
    .jpp-studio .sub{ margin:8px auto 0; max-width:860px; text-align:center; }
    .jpp-studio .muted{ color:var(--muted); line-height:1.7; opacity:1; }

    /* CTA row (layout only - buttons are global .jpp-cta__btn) */
    .jpp-studio .cta-row{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:center;
      align-items:center;
      width:100%;
      margin:28px auto 36px;
      padding:0;
      text-align:center;
    }
    @media (max-width:859px){
      .jpp-studio .cta-row{ margin:24px auto 30px; }
    }

    /* ICONS (monochrome SVG) */
    .jpp-studio .ico{
      width:34px;
      height:34px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:12px;
      border:1px solid rgba(11,12,15,.22);
      background:rgba(11,12,15,.03);
    }
    .jpp-studio .ico svg{
      width:18px;
      height:18px;
      display:block;
      fill:none;
      stroke:rgba(11,12,15,.86);
      stroke-width:2.2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    /* Trust bar */
    .jpp-studio .trust-bar{
      display:grid;
      gap:var(--gap);
      justify-items:center;
      margin-top:10px;
    }
    @media (min-width:860px){
      .jpp-studio .trust-bar{
        grid-template-columns:repeat(3,1fr);
        column-gap:var(--gap-lg);
        align-items:start;
      }
    }
    .jpp-studio .point{
      display:grid;
      justify-items:center;
      text-align:center;
      row-gap:10px;
      max-width:320px;
      margin:0 auto;
    }
    .jpp-studio .pt-title{ font-weight:900; color:rgba(11,12,15,.92); }
    .jpp-studio .pt-desc{ color:var(--muted); line-height:1.6; opacity:1; }

    /* Chips */
    .jpp-studio .chips{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:center;
      margin-top:var(--gap-md);
    }
    .jpp-studio .chip{
      border:1px solid rgba(11,12,15,.32);
      border-radius:999px;
      padding:9px 14px;
      font-weight:900;
      color:rgba(11,12,15,.86);
      line-height:1.1;
      display:inline-flex;
      align-items:center;
      gap:10px;
      background:#fff;
    }
    .jpp-studio .chip small{ font-weight:700; color:rgba(11,12,15,.62); opacity:1; }

    .jpp-studio .chip .ico{
      width:26px;
      height:26px;
      border-radius:10px;
    }
    .jpp-studio .chip .ico svg{ width:15px; height:15px; stroke-width:2.2; }

    .jpp-studio .after-chips{ margin-top:var(--gap-md); text-align:center; color:var(--muted); }

    /* Columns + rows (STATIC, no hover) */
    .jpp-studio .cols{
      display:grid;
      gap:var(--gap);
      justify-content:center;
      margin-top:var(--gap-lg);
    }
    @media (min-width:860px){
      .jpp-studio .cols{
        grid-template-columns:1fr 1fr;
        column-gap:44px;
        align-items:stretch;
      }
    }
    .jpp-studio .row{
      padding:var(--pad);
      border-radius:var(--radius);
      border:2px solid var(--stroke);
      background:var(--panel);
      min-height:168px;
      max-width:440px;
      width:100%;
      margin:0 auto;
      text-align:center;
      display:grid;
      align-content:center;
      justify-items:center;
      row-gap:10px;
      box-shadow:0 10px 18px rgba(0,0,0,.06);
    }
    .jpp-studio .row strong{ font-weight:900; color:rgba(11,12,15,.92); }

    /* Steps (STATIC, true circles, no hover) */
    .jpp-studio .steps{
      display:grid;
      gap:var(--gap-md);
      justify-content:center;
      margin-top:var(--gap-md);
    }
    @media (min-width:860px){
      .jpp-studio .steps{
        grid-template-columns:repeat(4,1fr);
        column-gap:44px;
        align-items:start;
      }
    }
    .jpp-studio .step{
      display:flex;
      gap:16px;
      align-items:flex-start;
      max-width:480px;
      margin:0 auto;
      text-align:left;
    }
    .jpp-studio .num{
    width:40px;
  height:40px;
  min-width:40px;
  min-height:40px;
  aspect-ratio:1 / 1;
  flex:0 0 40px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:2px solid #0b0c0f;
  border-radius:50%;
  background:rgba(11,12,15,.05);

  color:rgba(11,12,15,.92);
  font-weight:900;
  font-size:1.05rem;
  line-height:1;

  box-shadow:0 1px 2px rgba(0,0,0,.10);
}
    .jpp-studio .step p{ margin:0; font-size:1.02rem; line-height:1.65; color:var(--muted); }
    .jpp-studio .step strong{ font-weight:900; color:rgba(11,12,15,.92); }

    /* Card + pair */
    .jpp-studio .card{
      border:2px solid var(--stroke);
      border-radius:var(--radius);
      padding:var(--pad);
      background:var(--panel);
      max-width:980px;
      margin:10px auto 0;
      text-align:left;
      box-shadow:0 10px 18px rgba(0,0,0,.06);
    }
    .jpp-studio .card .head{
      display:flex;
      gap:12px;
      align-items:flex-start;
    }
    .jpp-studio .card strong{ font-weight:900; color:rgba(11,12,15,.92); }
    .jpp-studio .pair{
      display:grid;
      gap:var(--gap);
      justify-content:center;
      margin-top:var(--gap);
    }
    @media (min-width:860px){
      .jpp-studio .pair{
        grid-template-columns:1fr 1fr;
        column-gap:44px;
        align-items:stretch;
      }
    }

    /* Bullets */
    .jpp-studio .bullets{
      display:grid;
      gap:8px;
      margin:10px 0 0;
      padding:0;
      list-style:none;
      text-align:left;
      color:var(--muted);
    }
    .jpp-studio .bullets li{
      position:relative;
      padding-left:18px;
    }
    .jpp-studio .bullets li::before{
      content:"•";
      position:absolute;
      left:0;
      color:rgba(11,12,15,.55);
      opacity:1;
    }

    /* FAQ (intentional interaction preserved) */
    .jpp-studio .faq-grid{
      display:grid;
      gap:var(--gap);
      margin-top:var(--gap-md);
    }
    @media (min-width:860px){
      .jpp-studio .faq-grid{ grid-template-columns:1fr 1fr; }
    }
    .jpp-studio .faq-grid details{
      display:block;
      width:100%;
      min-width:0;

      border:2px solid var(--stroke);
      border-radius:14px;
      padding:12px 14px;
      background:var(--panel);
      box-shadow:0 10px 18px rgba(0,0,0,.06);
      transition:background-color .15s ease, border-color .15s ease;
    }
    .jpp-studio .faq-grid details[open]{ background:var(--panel2); border-color:var(--stroke-strong); }
    .jpp-studio .faq-grid summary{
      cursor:pointer;
      list-style:none;
      display:flex;
      align-items:center;
      gap:10px;
      font-weight:900;
      color:rgba(11,12,15,.92);
    }
    .jpp-studio .faq-grid summary::-webkit-details-marker{ display:none; }
    .jpp-studio .faq-grid summary::before{
      content:"▸";
      font-weight:900;
      color:rgba(11,12,15,.65);
      transform:translateY(-1px);
    }
    .jpp-studio .faq-grid details[open] summary::before{ content:"▾"; }
    .jpp-studio .faq-grid p{
      margin:10px 0 0;
      line-height:1.7;
      color:var(--muted);
      opacity:1;
    }

    /* Mobile tightening */
    @media (max-width:859px){
      .jpp-studio .trust-bar{ row-gap:34px; }
      .jpp-studio .point{ row-gap:12px; }

      .jpp-studio .chips{
        flex-direction:column;
        align-items:center;
        gap:12px;
      }
      .jpp-studio .chip{
        width:84%;
        max-width:360px;
        justify-content:center;
        text-align:center;
        padding:8px 12px;
      }
    }

/* ---------- coaching-teaching (page 1405) ---------- */
/* =========================================================
       JMS • COACHING & TEACHING (LIGHT) — SYSTEMS + OPERATIONS
       - Content lane: 980px via .lane
       - Rule lane: 1080px via .jpp-rule
       - Buttons use GLOBAL .jpp-cta__btn (Additional CSS)
       - This block only handles layout for the CTA rows
       - No hover on non-interactive elements
       - Hover only on real links/buttons + FAQ summary (intentional)
       - FAQ items forced full-width
       - Step numbers forced true circles
       - No em dash characters
       - Emoji replaced with simple monochrome inline SVG icons
    ========================================================== */

    .jpp-coaching{
      --gold:#c49a49;
      --gold-2:#b98934;

      --ink: rgba(11,12,15,.92);
      --muted: rgba(11,12,15,.72);

      --stroke: rgba(11,12,15,.22);
      --stroke-strong: rgba(11,12,15,.36);

      --panel:#ffffff;
      --panel2:#f6f7f9;

      --content:980px;
      --rule:1080px;

      --pad-x:14px;
      --pad-x-mobile:10px;

      --gap:18px;
      --gap-md:22px;
      --gap-lg:40px;

      --pad:18px;
      --radius:16px;

      color:var(--ink);
      width:100%;
      box-sizing:border-box;
    }
    @media (min-width:860px){
      .jpp-coaching{ --gap:20px; --gap-md:26px; --gap-lg:44px; --pad:20px; }
    }

    .jpp-coaching, .jpp-coaching *{ box-sizing:border-box; }

    /* Content lane */
    .jpp-coaching .lane{
      max-width:var(--content);
      margin:0 auto;
      padding:18px var(--pad-x);
    }
    @media (max-width:600px){
      .jpp-coaching .lane{ padding:16px var(--pad-x-mobile); }
    }

    /* Rule lane */
    .jpp-coaching .jpp-rule{
      height:1px;
      background:rgba(11,12,15,.22);
      opacity:1;
      max-width:var(--rule);
      margin:26px auto;
      width:calc(100% - (var(--pad-x) * 2));
    }
    @media (max-width:600px){
      .jpp-coaching .jpp-rule{
        width:calc(100% - (var(--pad-x-mobile) * 2));
        margin:20px auto;
      }
    }

    /* Type */
    .jpp-coaching h1,
    .jpp-coaching h2{
      line-height:1.2;
      margin:0;
      text-align:center;
      letter-spacing:-.01em;
      color:rgba(11,12,15,.94);
    }
    .jpp-coaching h1{ font-size:clamp(32px,4.2vw,52px); font-weight:900; }
    .jpp-coaching h2{ font-size:clamp(22px,2.6vw,34px); font-weight:900; margin-bottom:10px; }

    .jpp-coaching p{ margin:0; }
    .jpp-coaching .sub{ margin:8px auto 0; max-width:860px; text-align:center; }
    .jpp-coaching .muted{ color:var(--muted); line-height:1.7; opacity:1; }

    /* CTA row (layout only - buttons are global .jpp-cta__btn) */
    .jpp-coaching .cta-row{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:center;
      align-items:center;
      width:100%;
      margin:28px auto 36px;
      padding:0;
      text-align:center;
    }
    @media (max-width:859px){
      .jpp-coaching .cta-row{ margin:24px auto 30px; }
    }

    /* ICONS (monochrome SVG) */
    .jpp-coaching .ico{
      width:34px;
      height:34px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:12px;
      border:1px solid rgba(11,12,15,.22);
      background:rgba(11,12,15,.03);
    }
    .jpp-coaching .ico svg{
      width:18px;
      height:18px;
      display:block;
      fill:none;
      stroke:rgba(11,12,15,.86);
      stroke-width:2.2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    /* Three-up points */
    .jpp-coaching .three-up{
      display:grid;
      gap:var(--gap);
      justify-items:center;
      margin-top:10px;
    }
    @media (min-width:860px){
      .jpp-coaching .three-up{
        grid-template-columns:repeat(3,1fr);
        column-gap:var(--gap-lg);
        align-items:start;
      }
    }
    .jpp-coaching .point{
      display:grid;
      justify-items:center;
      text-align:center;
      row-gap:10px;
      max-width:320px;
    }
    .jpp-coaching .point strong{ font-weight:900; color:rgba(11,12,15,.92); }

    /* Chips */
    .jpp-coaching .chips{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:center;
      margin-top:var(--gap-md);
    }
    .jpp-coaching .chip{
      border:1px solid rgba(11,12,15,.32);
      border-radius:999px;
      padding:9px 14px;
      font-weight:900;
      color:rgba(11,12,15,.86);
      line-height:1.1;
      display:inline-flex;
      align-items:center;
      gap:10px;
      background:#fff;
    }
    .jpp-coaching .chip small{ font-weight:700; color:rgba(11,12,15,.62); opacity:1; }

    .jpp-coaching .chip .ico{
      width:26px;
      height:26px;
      border-radius:10px;
    }
    .jpp-coaching .chip .ico svg{ width:15px; height:15px; stroke-width:2.2; }

    /* Columns + rows (STATIC, no hover) */
    .jpp-coaching .cols{
      display:grid;
      gap:var(--gap);
      justify-content:center;
      margin-top:var(--gap-lg);
    }
    @media (min-width:860px){
      .jpp-coaching .cols{
        grid-template-columns:1fr 1fr;
        column-gap:44px;
        align-items:stretch;
      }
    }
    .jpp-coaching .row{
      padding:var(--pad);
      border-radius:var(--radius);
      border:2px solid var(--stroke);
      background:var(--panel);
      min-height:168px;
      max-width:440px;
      width:100%;
      margin:0 auto;
      text-align:center;
      display:grid;
      align-content:center;
      justify-items:center;
      row-gap:10px;
      box-shadow:0 10px 18px rgba(0,0,0,.06);
    }
    .jpp-coaching .row strong{ font-weight:900; color:rgba(11,12,15,.92); }

    /* Steps (STATIC, true circles) */
    .jpp-coaching .steps{
      display:grid;
      gap:var(--gap-md);
      justify-content:center;
      margin-top:var(--gap-lg);
    }
    @media (min-width:860px){
      .jpp-coaching .steps{
        grid-template-columns:repeat(4,1fr);
        column-gap:44px;
        align-items:start;
      }
    }
    .jpp-coaching .step{
      display:flex;
      gap:16px;
      align-items:flex-start;
      max-width:480px;
      margin:0 auto;
      text-align:left;
    }
.jpp-coaching .num{
  width:40px;
  height:40px;
  min-width:40px;
  min-height:40px;
  aspect-ratio:1 / 1;
  flex:0 0 40px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:2px solid #0b0c0f;
  border-radius:50%;
  background:rgba(11,12,15,.05);

  color:rgba(11,12,15,.92);
  font-weight:900;
  font-size:1.05rem;
  line-height:1;

  box-shadow:0 1px 2px rgba(0,0,0,.10);
}
    .jpp-coaching .step p{ margin:0; font-size:1.02rem; line-height:1.65; color:var(--muted); }
    .jpp-coaching .step strong{ font-weight:900; color:rgba(11,12,15,.92); }

    /* Cards */
    .jpp-coaching .card{
      border:2px solid var(--stroke);
      border-radius:var(--radius);
      padding:var(--pad);
      background:var(--panel);
      box-shadow:0 10px 18px rgba(0,0,0,.06);
      text-align:left;
      max-width:980px;
      margin:0 auto;
    }
    .jpp-coaching .card .head{
      display:flex;
      gap:12px;
      align-items:flex-start;
    }
    .jpp-coaching .card strong{ font-weight:900; color:rgba(11,12,15,.92); }

    /* Bullets */
    .jpp-coaching .bullets{
      display:grid;
      gap:8px;
      margin:12px 0 0;
      padding:0;
      list-style:none;
      color:var(--muted);
    }
    .jpp-coaching .bullets li{
      position:relative;
      padding-left:18px;
    }
    .jpp-coaching .bullets li::before{
      content:"•";
      position:absolute;
      left:0;
      color:rgba(11,12,15,.55);
      opacity:1;
    }

    /* FAQ (intentional interaction preserved) */
    .jpp-coaching .faq-grid{
      display:grid;
      gap:var(--gap);
      margin-top:var(--gap-md);
    }
    @media (min-width:860px){
      .jpp-coaching .faq-grid{ grid-template-columns:1fr 1fr; align-items:stretch; }
    }
    .jpp-coaching .faq-grid details{
      display:block;
      width:100%;
      min-width:0;

      border:2px solid var(--stroke);
      border-radius:14px;
      padding:12px 14px;
      background:var(--panel);
      box-shadow:0 10px 18px rgba(0,0,0,.06);
      transition:background-color .15s ease, border-color .15s ease;
    }
    .jpp-coaching .faq-grid details[open]{ background:var(--panel2); border-color:var(--stroke-strong); }
    .jpp-coaching .faq-grid summary{
      cursor:pointer;
      list-style:none;
      display:flex;
      align-items:center;
      gap:10px;
      font-weight:900;
      color:rgba(11,12,15,.92);
    }
    .jpp-coaching .faq-grid summary::-webkit-details-marker{ display:none; }
    .jpp-coaching .faq-grid summary::before{
      content:"▸";
      font-weight:900;
      color:rgba(11,12,15,.65);
      transform:translateY(-1px);
    }
    .jpp-coaching .faq-grid details[open] summary::before{ content:"▾"; }
    .jpp-coaching .faq-grid p{
      margin:10px 0 0;
      line-height:1.7;
      color:var(--muted);
      opacity:1;
    }

    /* Mobile tweaks */
    @media (max-width:859px){
      .jpp-coaching .three-up{ row-gap:34px; }
      .jpp-coaching .point{ row-gap:12px; }

      .jpp-coaching .chips{
        flex-direction:column;
        align-items:center;
        gap:14px;
      }
      .jpp-coaching .chip{
        width:84%;
        max-width:360px;
        justify-content:center;
        text-align:center;
      }
    }

/* ---------- work (page 3158) ---------- */
/* =========================================================
       JPP • WORK (LIGHT)
       - Content lane: 980px
       - Rule lane: 1080px via .jpp-rule
       - Buttons use GLOBAL .jpp-cta__btn (Additional CSS)
       - This block only handles layout for CTA rows
       - No hover on non-interactive elements
       - Hover only on real links/buttons + FAQ summary (intentional)
       - Step numbers forced true circles where used
       - Monochrome inline SVG icons (no emoji)
       - No em dash characters
    ========================================================== */

    .jpp-work{
      --gold:#c49a49;
      --gold-2:#b98934;

      --ink: rgba(11,12,15,.92);
      --muted: rgba(11,12,15,.72);

      --stroke: rgba(11,12,15,.22);
      --stroke-strong: rgba(11,12,15,.36);

      --panel:#ffffff;
      --panel2:#f6f7f9;

      --content:980px;
      --rule:1080px;

      --pad-x:14px;
      --pad-x-mobile:10px;

      --gap:18px;
      --gap-md:22px;
      --gap-lg:40px;

      --pad:18px;
      --radius:16px;

      color:var(--ink);
      width:100%;
      box-sizing:border-box;
    }
    @media (min-width:860px){
      .jpp-work{ --gap:20px; --gap-md:26px; --gap-lg:44px; --pad:20px; }
    }

    .jpp-work, .jpp-work *{ box-sizing:border-box; }

    /* Content lane */
    .jpp-work .lane{
      max-width:var(--content);
      margin:0 auto;
      padding:18px var(--pad-x);
    }
    @media (max-width:600px){
      .jpp-work .lane{ padding:16px var(--pad-x-mobile); }
    }

    /* Rule lane */
    .jpp-work .jpp-rule{
      height:1px;
      background:rgba(11,12,15,.22);
      opacity:1;
      max-width:var(--rule);
      margin:26px auto;
      width:calc(100% - (var(--pad-x) * 2));
    }
    @media (max-width:600px){
      .jpp-work .jpp-rule{
        width:calc(100% - (var(--pad-x-mobile) * 2));
        margin:20px auto;
      }
    }

    /* Type */
    .jpp-work h1,
    .jpp-work h2{
      line-height:1.2;
      margin:0;
      text-align:center;
      letter-spacing:-.01em;
      color:rgba(11,12,15,.94);
    }
    .jpp-work h1{ font-size:clamp(32px,4.2vw,52px); font-weight:900; }
    .jpp-work h2{ font-size:clamp(22px,2.6vw,34px); font-weight:900; margin-bottom:10px; }

    .jpp-work p{ margin:0; }
    .jpp-work .sub{ margin:8px auto 0; max-width:860px; text-align:center; }
    .jpp-work .muted{ color:var(--muted); line-height:1.7; opacity:1; }

    /* CTA row (layout only - buttons are global .jpp-cta__btn) */
    .jpp-work .cta-row{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:center;
      align-items:center;
      width:100%;
      margin:28px auto 36px;
      padding:0;
      text-align:center;
    }
    @media (max-width:859px){
      .jpp-work .cta-row{ margin:24px auto 30px; }
    }

    /* Icons (monochrome SVG) */
    .jpp-work .ico{
      width:34px;
      height:34px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:12px;
      border:1px solid rgba(11,12,15,.22);
      background:rgba(11,12,15,.03);
    }
    .jpp-work .ico svg{
      width:18px;
      height:18px;
      display:block;
      fill:none;
      stroke:rgba(11,12,15,.86);
      stroke-width:2.2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    /* Trust bar */
    .jpp-work .trust-bar{
      display:grid;
      gap:var(--gap);
      justify-items:center;
      margin-top:10px;
    }
    @media (min-width:860px){
      .jpp-work .trust-bar{
        grid-template-columns:repeat(3,1fr);
        column-gap:var(--gap-lg);
        align-items:start;
      }
    }
    .jpp-work .point{
      display:grid;
      justify-items:center;
      text-align:center;
      row-gap:10px;
      max-width:320px;
    }
    .jpp-work .pt-title{ font-weight:900; color:rgba(11,12,15,.92); }
    .jpp-work .pt-desc{ color:var(--muted); line-height:1.6; opacity:1; }

    /* Chips */
    .jpp-work .chips{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:center;
      margin-top:var(--gap-md);
    }
    .jpp-work .chip{
      border:1px solid rgba(11,12,15,.32);
      border-radius:999px;
      padding:9px 14px;
      font-weight:900;
      color:rgba(11,12,15,.86);
      line-height:1.1;
      display:inline-flex;
      align-items:center;
      gap:10px;
      background:#fff;
    }
    .jpp-work .chip small{ font-weight:700; color:rgba(11,12,15,.62); opacity:1; }
    .jpp-work .chip .ico{
      width:26px;
      height:26px;
      border-radius:10px;
    }
    .jpp-work .chip .ico svg{ width:15px; height:15px; stroke-width:2.2; }

    /* Rows (STATIC) */
    .jpp-work .cols{
      display:grid;
      gap:var(--gap);
      justify-content:center;
      margin-top:var(--gap-lg);
    }
    @media (min-width:860px){
      .jpp-work .cols{
        grid-template-columns:1fr 1fr;
        column-gap:44px;
        align-items:stretch;
      }
    }
    .jpp-work .row{
      padding:var(--pad);
      border-radius:var(--radius);
      border:2px solid var(--stroke);
      background:var(--panel);
      min-height:168px;
      max-width:440px;
      width:100%;
      margin:0 auto;
      text-align:center;
      display:grid;
      align-content:center;
      justify-items:center;
      row-gap:10px;
      box-shadow:0 10px 18px rgba(0,0,0,.06);
    }
    .jpp-work .row strong{ font-weight:900; color:rgba(11,12,15,.92); }

    /* Case cards (STATIC) */
    .jpp-work .case-grid{
      display:grid;
      gap:var(--gap);
      justify-content:center;
      margin-top:var(--gap-md);
    }
    @media (min-width:860px){
      .jpp-work .case-grid{
        grid-template-columns:repeat(2,1fr);
        column-gap:44px;
        align-items:stretch;
      }
    }
    .jpp-work .case{
      border:2px solid var(--stroke);
      border-radius:var(--radius);
      background:var(--panel);
      box-shadow:0 10px 18px rgba(0,0,0,.06);
      overflow:hidden;
      display:grid;
      align-content:start;
    }
    .jpp-work .case .case-top{
      padding:16px 16px 0;
      display:flex;
      align-items:flex-start;
      gap:12px;
    }
    .jpp-work .case .case-body{
      padding:12px 16px 16px;
      display:grid;
      gap:10px;
    }
    .jpp-work .case .case-title{
      font-weight:900;
      color:rgba(11,12,15,.92);
      font-size:1.1rem;
      line-height:1.25;
      text-align:left;
      margin:0;
    }
    .jpp-work .case .case-meta{
      text-align:left;
      color:rgba(11,12,15,.64);
      font-weight:800;
      font-size:.95rem;
    }
    .jpp-work .case .case-desc{
      text-align:left;
      color:var(--muted);
      line-height:1.7;
    }

    /* Bullets */
    .jpp-work .bullets{
      display:grid;
      gap:8px;
      margin:6px 0 0;
      padding:0;
      list-style:none;
      text-align:left;
      color:var(--muted);
    }
    .jpp-work .bullets li{
      position:relative;
      padding-left:18px;
    }
    .jpp-work .bullets li::before{
      content:"•";
      position:absolute;
      left:0;
      color:rgba(11,12,15,.55);
      opacity:1;
    }

    /* Steps */
    .jpp-work .steps{
      display:grid;
      gap:var(--gap-md);
      justify-content:center;
      margin-top:var(--gap-lg);
    }
    @media (min-width:860px){
      .jpp-work .steps{
        grid-template-columns:repeat(4,1fr);
        column-gap:44px;
        align-items:start;
      }
    }
    .jpp-work .step{
      display:flex;
      gap:16px;
      align-items:flex-start;
      max-width:480px;
      margin:0 auto;
      text-align:left;
    }
.jpp-work .num{
  width:40px;
  height:40px;
  min-width:40px;
  min-height:40px;
  aspect-ratio:1 / 1;
  flex:0 0 40px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:2px solid #0b0c0f;
  border-radius:50%;
  background:rgba(11,12,15,.05);

  color:rgba(11,12,15,.92);
  font-weight:900;
  font-size:1.05rem;
  line-height:1;

  box-shadow:0 1px 2px rgba(0,0,0,.10);
}
    .jpp-work .step p{ margin:0; font-size:1.02rem; line-height:1.65; color:var(--muted); }
    .jpp-work .step strong{ font-weight:900; color:rgba(11,12,15,.92); }

    /* FAQ */
    .jpp-work .faq-grid{
      display:grid;
      gap:var(--gap);
      margin-top:var(--gap-md);
    }
    @media (min-width:860px){
      .jpp-work .faq-grid{ grid-template-columns:1fr 1fr; align-items:stretch; }
    }
    .jpp-work .faq-grid details{
      display:block;
      width:100%;
      min-width:0;

      border:2px solid var(--stroke);
      border-radius:14px;
      padding:12px 14px;
      background:var(--panel);
      box-shadow:0 10px 18px rgba(0,0,0,.06);
      transition:background-color .15s ease, border-color .15s ease;
    }
    .jpp-work .faq-grid details[open]{ background:var(--panel2); border-color:var(--stroke-strong); }
    .jpp-work .faq-grid summary{
      cursor:pointer;
      list-style:none;
      display:flex;
      align-items:center;
      gap:10px;
      font-weight:900;
      color:rgba(11,12,15,.92);
    }
    .jpp-work .faq-grid summary::-webkit-details-marker{ display:none; }
    .jpp-work .faq-grid summary::before{
      content:"▸";
      font-weight:900;
      color:rgba(11,12,15,.65);
      transform:translateY(-1px);
    }
    .jpp-work .faq-grid details[open] summary::before{ content:"▾"; }
    .jpp-work .faq-grid p{
      margin:10px 0 0;
      line-height:1.7;
      color:var(--muted);
      opacity:1;
    }

    /* Mobile tightening */
    @media (max-width:859px){
      .jpp-work .trust-bar{ row-gap:34px; }
      .jpp-work .point{ row-gap:12px; }

      .jpp-work .chips{
        flex-direction:column;
        align-items:center;
        gap:14px;
      }
      .jpp-work .chip{
        width:84%;
        max-width:360px;
        justify-content:center;
        text-align:center;
      }
    }

/* ---------- process (page 3165) ---------- */
/* =========================================================
       JPP • PROCESS (LIGHT)
       - Content lane: 980px
       - Rule lane: 1080px via .jpp-rule
       - Buttons use GLOBAL .jpp-cta__btn (Additional CSS)
       - This block only handles layout for CTA rows
       - No hover on non-interactive elements
       - Hover only on real links/buttons + FAQ summary (intentional)
       - Step numbers forced true circles
       - Monochrome inline SVG icons (no emoji)
       - No em dash characters
    ========================================================== */

    .jpp-process{
      --gold:#c49a49;
      --gold-2:#b98934;

      --ink: rgba(11,12,15,.92);
      --muted: rgba(11,12,15,.72);

      --stroke: rgba(11,12,15,.22);
      --stroke-strong: rgba(11,12,15,.36);

      --panel:#ffffff;
      --panel2:#f6f7f9;

      --content:980px;
      --rule:1080px;

      --pad-x:14px;
      --pad-x-mobile:10px;

      --gap:18px;
      --gap-md:22px;
      --gap-lg:40px;

      --pad:18px;
      --radius:16px;

      color:var(--ink);
      width:100%;
      box-sizing:border-box;
    }
    @media (min-width:860px){
      .jpp-process{ --gap:20px; --gap-md:26px; --gap-lg:44px; --pad:20px; }
    }

    .jpp-process, .jpp-process *{ box-sizing:border-box; }

    /* Content lane */
    .jpp-process .lane{
      max-width:var(--content);
      margin:0 auto;
      padding:18px var(--pad-x);
    }
    @media (max-width:600px){
      .jpp-process .lane{ padding:16px var(--pad-x-mobile); }
    }

    /* Rule lane */
    .jpp-process .jpp-rule{
      height:1px;
      background:rgba(11,12,15,.22);
      opacity:1;
      max-width:var(--rule);
      margin:26px auto;
      width:calc(100% - (var(--pad-x) * 2));
    }
    @media (max-width:600px){
      .jpp-process .jpp-rule{
        width:calc(100% - (var(--pad-x-mobile) * 2));
        margin:20px auto;
      }
    }

    /* Type */
    .jpp-process h1,
    .jpp-process h2{
      line-height:1.2;
      margin:0;
      text-align:center;
      letter-spacing:-.01em;
      color:rgba(11,12,15,.94);
    }
    .jpp-process h1{ font-size:clamp(32px,4.2vw,52px); font-weight:900; }
    .jpp-process h2{ font-size:clamp(22px,2.6vw,34px); font-weight:900; margin-bottom:10px; }

    .jpp-process p{ margin:0; }
    .jpp-process .sub{ margin:8px auto 0; max-width:860px; text-align:center; }
    .jpp-process .muted{ color:var(--muted); line-height:1.7; opacity:1; }

    /* CTA row (layout only - buttons are global .jpp-cta__btn) */
    .jpp-process .cta-row{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:center;
      align-items:center;
      width:100%;
      margin:28px auto 36px;
      padding:0;
      text-align:center;
    }
    @media (max-width:859px){
      .jpp-process .cta-row{ margin:24px auto 30px; }
    }

    /* Monochrome icons */
    .jpp-process .ico{
      width:34px;
      height:34px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:12px;
      border:1px solid rgba(11,12,15,.22);
      background:rgba(11,12,15,.03);
    }
    .jpp-process .ico svg{
      width:18px;
      height:18px;
      display:block;
      fill:none;
      stroke:rgba(11,12,15,.86);
      stroke-width:2.2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

    /* Three-up */
    .jpp-process .three-up{
      display:grid;
      gap:var(--gap);
      justify-items:center;
      margin-top:12px;
    }
    @media (min-width:860px){
      .jpp-process .three-up{
        grid-template-columns:repeat(3,1fr);
        column-gap:var(--gap-lg);
        align-items:start;
      }
    }
    .jpp-process .point{
      display:grid;
      justify-items:center;
      text-align:center;
      row-gap:10px;
      max-width:320px;
    }
    .jpp-process .point strong{ font-weight:900; color:rgba(11,12,15,.92); }

    /* Chips */
    .jpp-process .chips{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      justify-content:center;
      margin-top:var(--gap-md);
    }
    .jpp-process .chip{
      border:1px solid rgba(11,12,15,.32);
      border-radius:999px;
      padding:9px 14px;
      font-weight:900;
      color:rgba(11,12,15,.86);
      line-height:1.1;
      display:inline-flex;
      align-items:center;
      gap:10px;
      background:#fff;
    }
    .jpp-process .chip small{ font-weight:700; color:rgba(11,12,15,.62); opacity:1; }
    .jpp-process .chip .ico{ width:26px; height:26px; border-radius:10px; }
    .jpp-process .chip .ico svg{ width:15px; height:15px; stroke-width:2.2; }

    /* Rows (STATIC) */
    .jpp-process .cols{
      display:grid;
      gap:var(--gap);
      justify-content:center;
      margin-top:var(--gap-lg);
    }
    @media (min-width:860px){
      .jpp-process .cols{
        grid-template-columns:1fr 1fr;
        column-gap:44px;
        align-items:stretch;
      }
    }
    .jpp-process .row{
      padding:var(--pad);
      border-radius:var(--radius);
      border:2px solid var(--stroke);
      background:var(--panel);
      min-height:168px;
      max-width:440px;
      width:100%;
      margin:0 auto;
      text-align:center;
      display:grid;
      align-content:center;
      justify-items:center;
      row-gap:10px;
      box-shadow:0 10px 18px rgba(0,0,0,.06);
    }
    .jpp-process .row strong{ font-weight:900; color:rgba(11,12,15,.92); }

    /* Steps */
    .jpp-process .steps{
      display:grid;
      gap:var(--gap-md);
      justify-content:center;
      margin-top:var(--gap-lg);
    }
    @media (min-width:860px){
      .jpp-process .steps{
        grid-template-columns:repeat(4,1fr);
        column-gap:44px;
        align-items:start;
      }
    }
    .jpp-process .step{
      display:flex;
      gap:16px;
      align-items:flex-start;
      max-width:480px;
      margin:0 auto;
      text-align:left;
    }
    .jpp-process .num{
     width:40px;
  height:40px;
  min-width:40px;
  min-height:40px;
  aspect-ratio:1 / 1;
  flex:0 0 40px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:2px solid #0b0c0f;
  border-radius:50%;
  background:rgba(11,12,15,.05);

  color:rgba(11,12,15,.92);
  font-weight:900;
  font-size:1.05rem;
  line-height:1;

  box-shadow:0 1px 2px rgba(0,0,0,.10);
}
    .jpp-process .step p{ margin:0; font-size:1.02rem; line-height:1.65; color:var(--muted); }
    .jpp-process .step strong{ font-weight:900; color:rgba(11,12,15,.92); }

    /* Slim callout card */
    .jpp-process .card{
      border:2px solid var(--stroke);
      border-radius:var(--radius);
      padding:var(--pad);
      background:var(--panel);
      box-shadow:0 10px 18px rgba(0,0,0,.06);
    }
    .jpp-process .card--slim{
      padding:14px 18px;
      display:flex;
      align-items:flex-start;
      gap:14px;
      text-align:left;
      background:var(--panel2);
      border-color:var(--stroke-strong);
      box-shadow:none;
      max-width:980px;
      margin:0 auto;
    }
    .jpp-process .card--slim strong{ font-weight:900; color:rgba(11,12,15,.92); }
    .jpp-process .card--slim .copy{ color:rgba(11,12,15,.78); line-height:1.65; min-width:0; }

    /* Bullets */
    .jpp-process .bullets{
      display:grid;
      gap:8px;
      margin:10px 0 0;
      padding:0;
      list-style:none;
      text-align:left;
      color:var(--muted);
    }
    .jpp-process .bullets li{ position:relative; padding-left:18px; }
    .jpp-process .bullets li::before{
      content:"•";
      position:absolute;
      left:0;
      color:rgba(11,12,15,.55);
      opacity:1;
    }

    /* FAQ */
    .jpp-process .faq-grid{
      display:grid;
      gap:var(--gap);
      margin-top:var(--gap-md);
    }
    @media (min-width:860px){
      .jpp-process .faq-grid{ grid-template-columns:1fr 1fr; align-items:stretch; }
    }
    .jpp-process .faq-grid details{
      display:block;
      width:100%;
      min-width:0;

      border:2px solid var(--stroke);
      border-radius:14px;
      padding:12px 14px;
      background:var(--panel);
      box-shadow:0 10px 18px rgba(0,0,0,.06);
      transition:background-color .15s ease, border-color .15s ease;
    }
    .jpp-process .faq-grid details[open]{ background:var(--panel2); border-color:var(--stroke-strong); }
    .jpp-process .faq-grid summary{
      cursor:pointer;
      list-style:none;
      display:flex;
      align-items:center;
      gap:10px;
      font-weight:900;
      color:rgba(11,12,15,.92);
    }
    .jpp-process .faq-grid summary::-webkit-details-marker{ display:none; }
    .jpp-process .faq-grid summary::before{
      content:"▸";
      font-weight:900;
      color:rgba(11,12,15,.65);
      transform:translateY(-1px);
    }
    .jpp-process .faq-grid details[open] summary::before{ content:"▾"; }
    .jpp-process .faq-grid p{
      margin:10px 0 0;
      line-height:1.7;
      color:var(--muted);
      opacity:1;
    }

    /* Mobile tightening */
    @media (max-width:859px){
      .jpp-process .three-up{ row-gap:34px; }
      .jpp-process .point{ row-gap:12px; }

      .jpp-process .chips{
        flex-direction:column;
        align-items:center;
        gap:14px;
      }
      .jpp-process .chip{
        width:84%;
        max-width:360px;
        justify-content:center;
        text-align:center;
      }
      .jpp-process .card--slim{ padding:14px 14px; gap:12px; }
    }

/* ---------- contact (page 1425) ---------- */
/* Base */
  .jpp-contact-lock{ width:100%; box-sizing:border-box; margin:0 auto; }
  .jpp-contact-lock *{ box-sizing:border-box; }

  /* One shared width rail for BOTH note + form output */
  .jpp-contact-lock .jpp-rail{
    width:100%;
    max-width: var(--lock-max);
    margin: 0 auto;
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }

  /* NOTE (light theme) */
  .jpp-contact-lock .jpp-note{ margin: 0 0 18px; }
  .jpp-contact-lock .jpp-note-card{
    width:100%;
    border: 1px solid rgba(0,0,0,.14);
    border-radius: 14px;
    padding: clamp(16px, 2.2vw, 22px);
    background: rgba(0,0,0,.03);
    color: rgba(0,0,0,.88);
    text-align: center;
  }
  .jpp-contact-lock .jpp-note-head{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font-weight:800;
    line-height:1.25;
    margin:0 0 10px;
    flex-wrap: nowrap;
  }
  .jpp-contact-lock .jpp-note-icon{
    display:inline-flex;
    width:26px;
    height:26px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    border:1px solid rgba(0,0,0,.18);
    background: rgba(0,0,0,.02);
    flex:0 0 auto;
  }
  .jpp-contact-lock .jpp-note-card p{
    margin:10px 0 0;
    color: rgba(0,0,0,.72);
    line-height:1.6;
  }
  .jpp-contact-lock .jpp-note-card p:first-of-type{ margin-top:0; }

  /* =========================================
     WPForms: LOCK WIDTH without killing padding
     (light theme)
  ========================================= */
  .jpp-contact-lock .wpforms-container-full,
  .jpp-contact-lock div[id$="-container"].wpforms-container{
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .jpp-contact-lock #wpforms-2521-container,
  .jpp-contact-lock .wpforms-container-full#wpforms-2521{
    width: 100% !important;
    max-width: var(--lock-max) !important;
    margin: 0 auto !important;
    padding-left: var(--gutter) !important;
    padding-right: var(--gutter) !important;
  }

  .jpp-contact-lock #wpforms-2521 form.wpforms-form{
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;

    border: 1px solid rgba(0,0,0,.14) !important;
    border-radius: 14px !important;
    padding: clamp(16px, 2.2vw, 22px) !important;
    background: rgba(0,0,0,.03) !important;
  }

  .jpp-contact-lock #wpforms-2521 .wpforms-field-label{
    color: rgba(0,0,0,.88) !important;
    font-weight: 800 !important;
    margin-bottom: 8px !important;
  }

  /* Required asterisk (off-red, ~10% black) */
  .jpp-contact-lock #wpforms-2521 .wpforms-required-label{
    color: #b02a2a !important;
    font-weight: 900 !important;
  }

  .jpp-contact-lock #wpforms-2521 .wpforms-field-description{
    color: rgba(0,0,0,.62) !important;
    font-size: .95rem !important;
    margin-top: 8px !important;
  }

  .jpp-contact-lock #wpforms-2521 input[type="text"],
  .jpp-contact-lock #wpforms-2521 input[type="email"],
  .jpp-contact-lock #wpforms-2521 input[type="tel"],
  .jpp-contact-lock #wpforms-2521 input[type="url"],
  .jpp-contact-lock #wpforms-2521 select,
  .jpp-contact-lock #wpforms-2521 textarea{
    width: 100% !important;
    background: rgba(255,255,255,.92) !important;
    border: 1px solid rgba(0,0,0,.18) !important;
    border-radius: 12px !important;
    color: rgba(0,0,0,.88) !important;
    padding: 12px 14px !important;
    font-size: 1rem !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
  }
  .jpp-contact-lock #wpforms-2521 input::placeholder,
  .jpp-contact-lock #wpforms-2521 textarea::placeholder{
    color: rgba(0,0,0,.45) !important;
  }

  .jpp-contact-lock #wpforms-2521 input:focus,
  .jpp-contact-lock #wpforms-2521 select:focus,
  .jpp-contact-lock #wpforms-2521 textarea:focus{
    outline: none !important;
    border-color: rgba(11,12,15,.75) !important;
    box-shadow: 0 0 0 3px rgba(196,154,73,.18) !important;
  }

  .jpp-contact-lock #wpforms-2521 .wpforms-field{ margin-bottom: 18px !important; }

  .jpp-contact-lock #wpforms-2521 .wpforms-submit-container{
    margin-top: 10px !important;
    text-align: left !important;
  }

  /* SUBMIT — match global CTA system */
  .jpp-contact-lock #wpforms-2521 button[type="submit"]{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    height:52px !important;
    padding:0 22px !important;
    min-width:140px !important;
    line-height:1 !important;

    border:2px solid rgba(11,12,15,.85) !important;
    border-radius:14px !important;

    background:#fff8b8 !important;
    color:var(--jms-ink) !important;

    font-weight:900 !important;
    font-size:1rem !important;
    white-space:nowrap !important;

    cursor:pointer !important;
    user-select:none !important;
    -webkit-tap-highlight-color:transparent !important;

    transition:
      transform .16s ease,
      background-color .16s ease,
      border-color .16s ease,
      box-shadow .16s ease,
      color .16s ease !important;
  }

  @media (hover:hover){
    .jpp-contact-lock #wpforms-2521 button[type="submit"]:hover{
      background:#ffd400 !important;
      border-color:rgba(11,12,15,.95) !important;
      box-shadow:0 12px 22px rgba(0,0,0,.14) !important;
      transform:translateY(-1px) !important;
      color:var(--jms-ink) !important;
    }
  }

  .jpp-contact-lock #wpforms-2521 button[type="submit"]:active{
    background:#ffffff !important;
    color:var(--jms-ink) !important;
    transform:none !important;
    box-shadow:0 10px 18px rgba(0,0,0,.12) !important;
  }

  .jpp-contact-lock #wpforms-2521 button[type="submit"]:focus-visible{
    outline:2px solid rgba(11,12,15,.85) !important;
    outline-offset:3px !important;
    box-shadow:0 12px 22px rgba(0,0,0,.14) !important;
  }

  /* Mobile tighten + KEY FIX (stack icon above headline, centered) */
  @media (max-width:768px){
    .jpp-contact-lock .jpp-note-card{ padding:16px; }
    .jpp-contact-lock #wpforms-2521 form.wpforms-form{ padding:16px !important; }
  }

  @media (max-width:520px){
    .jpp-contact-lock .jpp-note-head{
      flex-direction: column;
      gap: 8px;
      flex-wrap: nowrap;
    }
    .jpp-contact-lock .jpp-note-icon{
      width:30px;
      height:30px;
      margin: 0 auto;
    }
    .jpp-contact-lock .jpp-note-head > span:last-child{
      display:block;
      text-align:center;
    }
  }

  /* Fix browser email suggestion link (make it BLACK + visible) */
  .jpp-contact-lock #wpforms-2521 a,
  .jpp-contact-lock #wpforms-2521 a:link,
  .jpp-contact-lock #wpforms-2521 a:visited{
    color:#0b0c0f !important;
    text-decoration:underline !important;
    text-decoration-thickness:2px !important;
    text-underline-offset:3px !important;
  }

  @media (hover:hover){
    .jpp-contact-lock #wpforms-2521 a:hover{
      color:#0b0c0f !important;
      background:#ffd400 !important;
      text-decoration:none !important;
      border-radius:6px !important;
      padding:0 .25em !important;
    }
  }

/* ---------- thanks (page 2634) ---------- */
.jpp-thanks{ width:100%; box-sizing:border-box; margin:0 auto; }
    .jpp-thanks *{ box-sizing:border-box; }

    .jpp-thanks .jpp-rail{
      width:100%;
      max-width: var(--thanks-max);
      margin: 0 auto;
      padding-left: var(--gutter);
      padding-right: var(--gutter);
    }

    .jpp-thanks .jpp-card{
      width:100%;
      border: 2px solid rgba(0,0,0,.16);
      border-radius: 18px;
      padding: clamp(18px, 2.4vw, 30px);
      background: rgba(0,0,0,.03);
      color: rgba(0,0,0,.92);
      text-align: center;
      box-shadow: 0 12px 24px rgba(0,0,0,.08);
    }

    .jpp-thanks .jpp-head{
      display:flex;
      align-items:center;
      justify-content:center;
      gap: 14px;
      font-weight: 950;
      line-height: 1.08;
      margin: 0 0 12px 0;
      letter-spacing: -.2px;
      font-size: clamp(1.35rem, 2.2vw, 2.05rem);
    }

    .jpp-thanks .jpp-icon{
      display:inline-flex;
      width: 46px;
      height: 46px;
      align-items:center;
      justify-content:center;
      border-radius: 12px;
      flex: 0 0 auto;
      border: 2px solid rgba(0,0,0,.18);
      background: #ffd400;
      box-shadow: 0 10px 18px rgba(0,0,0,.10);
      font-size: 30px;
      line-height: 1;
    }

    .jpp-thanks .jpp-title{
      display:block;
      margin: 0;
      padding: 0;
      text-align: left;
      max-width: 30ch;
      text-wrap: balance;
      color: rgba(0,0,0,.92);
    }

    .jpp-thanks p{
      margin: 14px auto 0 auto;
      max-width: 58ch;
      color: rgba(0,0,0,.72);
      line-height: 1.7;
      font-size: clamp(1.04rem, 1.15vw, 1.18rem);
      text-wrap: balance;
      hyphens: none;
      word-break: normal;
      overflow-wrap: normal;
    }
    .jpp-thanks p:first-of-type{ margin-top: 0; }

    .jpp-thanks p.is-wide{ max-width: 60ch; }
    .jpp-thanks p.is-tight{ max-width: 46ch; }

    .jpp-thanks p.jpp-signoff{
      margin-top: 16px;
      font-weight: 900;
      color: rgba(0,0,0,.88);
    }

    @media (max-width:768px){
      .jpp-thanks .jpp-card{ padding: 16px; }

      .jpp-thanks .jpp-head{
        flex-direction: column;
        align-items: center;
        gap: 10px;
        font-size: clamp(1.45rem, 5.2vw, 1.85rem);
      }

      .jpp-thanks .jpp-title{
        text-align: center;
        max-width: 30ch;
      }

      .jpp-thanks p{
        max-width: 42ch;
        font-size: clamp(1.02rem, 4.1vw, 1.12rem);
        line-height: 1.65;
      }
      .jpp-thanks p.is-wide,
      .jpp-thanks p.is-tight{ max-width: 42ch; }
    }

/* ---------- privacy-policy (page 0003) ---------- */
/* =========================================================
       JMS • PRIVACY POLICY (CLEAN) (LIGHT)
       - Content lane: 980px
       - Uses global rule: .jpp-rule
       - Hover only on real links
       - No em dash characters
    ========================================================== */

    .jpp-privacy{
      --gold: var(--jms-gold, #c49a49);
      --gold2: var(--jms-gold-2, #b98934);

      --ink: rgba(11,12,15,.92);
      --muted: rgba(11,12,15,.72);

      --line: rgba(11,12,15,.22);
      --line-strong: rgba(11,12,15,.35);

      --panel:#ffffff;
      --panel2:#f6f7f9;

      --content:980px;
      --pad-x:14px;
      --pad-x-mobile:10px;

      --gap:18px;
      --gap-md:22px;
      --gap-lg:40px;

      color:var(--ink);
      width:100%;
      box-sizing:border-box;
    }
    .jpp-privacy, .jpp-privacy *{ box-sizing:border-box; }

    .jpp-privacy .lane{
      max-width:var(--content);
      margin:0 auto;
      padding:18px var(--pad-x);
    }
    @media (max-width:600px){
      .jpp-privacy .lane{ padding:16px var(--pad-x-mobile); }
    }

    .jpp-privacy h1,
    .jpp-privacy h2,
    .jpp-privacy h3{
      margin:0;
      line-height:1.2;
      letter-spacing:-.01em;
      color:rgba(11,12,15,.96);
    }
    .jpp-privacy h1{ font-size:clamp(32px,4.2vw,52px); font-weight:900; text-align:left; }
    .jpp-privacy h2{ font-size:clamp(20px,2.4vw,30px); font-weight:900; margin-bottom:10px; text-align:left; }
    .jpp-privacy h3{ font-size:1.08rem; font-weight:900; margin-bottom:8px; text-align:left; }

    .jpp-privacy p{ margin:0; }

    .jpp-privacy .sub{
      line-height:1.7;
      color:var(--muted);
      opacity:1;
      text-align:left;
    }

    .jpp-privacy .card{
      border:2px solid var(--line);
      border-radius:14px;
      background:var(--panel);
      padding:18px;
      display:grid;
      gap:12px;
      box-shadow:0 10px 18px rgba(0,0,0,.08);
    }

    .jpp-privacy .stack{ display:grid; gap:var(--gap-md); }

    .jpp-privacy .list{
      margin:0;
      padding-left:18px;
      line-height:1.7;
      color:var(--muted);
      text-align:left;
    }
    .jpp-privacy .list li{ margin:6px 0; }

    .jpp-privacy strong{ font-weight:900; color:rgba(11,12,15,.92); }

    .jpp-privacy a{
      color:rgba(11,12,15,.92);
      text-decoration:none;
      font-weight:900;
      border-bottom:2px solid rgba(11,12,15,.35);
      padding-bottom:1px;
      transition:color .16s ease, border-color .16s ease, background-color .16s ease;
    }
    @media (hover:hover){
      .jpp-privacy a:hover{
        border-bottom-color:rgba(11,12,15,.70);
        background-color:rgba(196,154,73,.14);
      }
    }

    .jpp-privacy .note{
      color:var(--muted);
      line-height:1.7;
    }