  /* Sub-service (CPT: service) pillar deltas. Loads on is_singular('service')
     on top of service-base.css. Holds only what's specific to a sub-service
     page: the recurring-findings grid, the report block + CSS document
     mockup, the door-style mid-CTA override, and the sub-services slider.
     Hero / problem / testimonial / FAQ / urgent come from service-base.css. */

  /* ---- RECURRING FINDINGS ---- */
  .sec-findings { padding: 100px 0; background: var(--cream); }
  .findings-head { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; margin-bottom: 52px; }
  .findings-head h2 { font-size: 42px; font-weight: 700; letter-spacing: -.03em; line-height: 1.1; margin: 0; }
  .findings-head p { font-size: 16px; color: var(--ink-soft); line-height: 1.65; margin: 0; }
  .findings-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .finding-card { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 28px 24px; display: flex; flex-direction: column; gap: 12px; transition: border-color .2s, transform .2s, box-shadow .2s; }
  .finding-card:hover { transform: translateY(-3px); box-shadow: 0 12px 32px -12px rgba(20,17,15,.14); }
  .finding-card h3 { font-size: 17px; font-weight: 700; letter-spacing: -.01em; line-height: 1.25; margin: 0; }
  .finding-card p { font-size: 13px; color: var(--ink-soft); line-height: 1.6; margin: 0; flex: 1; }

  /* ---- THE REPORT ---- */
  .sec-report { padding: 100px 0; background: #fff; }
  .report-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
  .report-copy h2 { font-size: 42px; font-weight: 700; letter-spacing: -.03em; line-height: 1.1; margin-bottom: 20px; }
  .report-copy p { font-size: 15px; color: var(--ink-soft); line-height: 1.7; margin-bottom: 16px; }
  .priority-tags { display: flex; gap: 10px; flex-wrap: wrap; margin: 24px 0; }
  .ptag { background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; min-width: 110px; }
  .ptag .plabel { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 20px; border-radius: 3px; font-size: 10px; font-weight: 800; color: #fff; letter-spacing: .04em; margin-bottom: 4px; }
  .ptag .plabel.p1 { background: #D9342B; } .ptag .plabel.p2 { background: #E87D2B; }
  .ptag .plabel.p3 { background: var(--blue); } .ptag .plabel.p4 { background: #4a8c3f; }
  .ptag h4 { font-size: 13px; font-weight: 700; margin: 0; }
  .ptag span { font-size: 11px; color: var(--ink-soft); }
  .report-link { font-size: 14px; font-weight: 700; color: var(--ember); display: inline-flex; align-items: center; gap: 6px; border-bottom: 1px solid var(--ember); padding-bottom: 2px; transition: gap .2s; }
  .report-link:hover { gap: 10px; }
  .btn-download {
    background: var(--ink); color: var(--amber);
    padding: 16px 24px; border-radius: 4px; font-weight: 700; font-size: 15px;
    display: inline-flex; align-items: center; gap: 8px;
    border: none; cursor: pointer; font-family: inherit;
    transition: background .2s, color .2s, gap .2s;
  }
  .btn-download:hover { background: var(--amber); color: var(--ink); gap: 12px; }

  /* report document mockup (pure CSS, no image) */
  .report-mockup { position: relative; height: 440px; }
  .report-doc { position: absolute; background: #fff; border-radius: 8px; box-shadow: 0 20px 60px -20px rgba(20,17,15,.25), 0 0 0 1px rgba(20,17,15,.08); padding: 24px; }
  .report-doc.back { width: 300px; height: 380px; right: 0; top: 40px; transform: rotate(3deg); z-index: 1; }
  .report-doc.front { width: 320px; height: 400px; left: 0; top: 0; z-index: 2; }
  .doc-header { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; padding-bottom: 14px; border-bottom: 2px solid var(--ember); }
  .doc-logo-sq { width: 12px; height: 12px; background: var(--ember); border-radius: 2px; flex-shrink: 0; }
  .doc-title-sm { font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
  .doc-h { font-size: 17px; font-weight: 700; margin-bottom: 3px; letter-spacing: -.01em; }
  .doc-sub-sm { font-size: 9px; color: var(--ink-soft); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 16px; }
  .doc-lbl { font-size: 9px; font-weight: 700; color: var(--ember); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 6px; }
  .doc-pills { display: flex; gap: 4px; margin-bottom: 14px; }
  .doc-pill { padding: 3px 7px; border-radius: 3px; font-size: 9px; font-weight: 800; color: #fff; }
  .doc-pill.p1 { background: #D9342B; } .doc-pill.p2 { background: #E87D2B; }
  .doc-pill.p3 { background: var(--blue); } .doc-pill.p4 { background: #4a8c3f; }
  .doc-bars { display: flex; align-items: flex-end; gap: 3px; height: 48px; }
  .doc-bar { width: 13px; background: var(--ember); border-radius: 2px 2px 0 0; opacity: .8; }
  .doc-lines-block { display: flex; flex-direction: column; gap: 6px; margin-top: 12px; }
  .doc-line-item { height: 5px; background: var(--cream-2); border-radius: 2px; }
  .doc-stamp { position: absolute; bottom: 20px; right: 20px; border: 2px solid var(--ember); color: var(--ember); font-size: 10px; font-weight: 800; letter-spacing: .14em; padding: 3px 8px; border-radius: 3px; transform: rotate(-8deg); opacity: .7; }

  /* ---- DOOR-STYLE MID-CTA (override shared .sec-mid-cta) ----
     Base ships a single-column blue band; sub-service pages use the 2-up
     card with a photo panel left + blue copy right (same as the door page). */
  .sec-mid-cta { background: #fff; padding: 80px 0; }
  .mid-cta-inner {
    /* Edge-to-edge rounded card: width + side padding come from the parent
       .wrap. Padding must NOT sit here or it insets the columns from the
       rounded edges. */
    display: grid; grid-template-columns: 1fr 1fr; gap: 0;
    border-radius: 14px; overflow: hidden;
    box-shadow: 0 24px 60px -20px rgba(20,17,15,.18);
    min-height: 420px; align-items: stretch; color: #fff;
  }
  .mid-cta-image {
    background-size: cover; background-position: center;
    background-color: var(--cream-2, #E8E4DB);
    /* Per-sector photo set inline by the template; this is the empty default. */
  }
  .mid-cta-copy {
    padding: 60px 56px; background: var(--blue, rgb(28,60,159));
    display: flex; flex-direction: column; justify-content: center; gap: 20px;
  }
  .mid-cta-copy h2 { font-size: 40px; font-weight: 700; letter-spacing: -.025em; line-height: 1.1; margin: 0; }
  .mid-cta-copy h2 em { font-style: normal; color: var(--amber); }
  .mid-cta-copy p { font-size: 16px; color: rgba(255,255,255,.8); line-height: 1.6; margin: 0; max-width: 420px; }

  /* ---- SUB-SERVICES SLIDER ---- */
  .sec-slider { padding: 100px 0; background: #fff; overflow: hidden; }
  .slider-track-wrap { position: relative; margin-top: 48px; }
  .slider-track { display: flex; gap: 16px; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; cursor: grab; user-select: none; padding: 4px 0 8px; }
  .slider-track::-webkit-scrollbar { display: none; }
  .slider-track.dragging { cursor: grabbing; scroll-behavior: auto; }
  .svc-slide {
    flex: 0 0 240px; border-radius: 12px; overflow: hidden;
    display: block; text-decoration: none;
    position: relative; aspect-ratio: 3/4;
    background: #2a2522;
    transition: transform .25s ease, box-shadow .25s ease;
  }
  .svc-slide-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .5s cubic-bezier(.22,.61,.36,1); }
  .svc-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,17,15,.05) 0%, rgba(20,17,15,.72) 100%); transition: opacity .3s ease; }
  .svc-slide:hover { transform: translateY(-4px); box-shadow: 0 16px 40px -16px rgba(28,60,159,.3); }
  .svc-slide:hover .svc-slide-bg { transform: scale(1.06); }
  .svc-slide:hover::after { opacity: .9; }
  .svc-slide-body { position: absolute; bottom: 0; left: 0; right: 0; padding: 18px 20px 22px; z-index: 2; }
  .svc-slide-body h3 { font-size: 15px; font-weight: 700; color: #fff; letter-spacing: -.01em; margin: 0; line-height: 1.25; }
  .svc-slide-body p { font-size: 12px; color: rgba(255,255,255,0); line-height: 1.5; margin: 0; max-height: 0; overflow: hidden; transition: max-height .35s ease, color .3s ease, margin .3s ease; }
  .svc-slide:hover .svc-slide-body p { color: rgba(255,255,255,.82); max-height: 80px; margin-top: 6px; }
  .svc-slide-link { font-size: 12px; font-weight: 700; color: var(--amber); display: inline-flex; align-items: center; gap: 5px; opacity: 0; transform: translateY(6px); transition: opacity .3s ease, transform .3s ease; }
  .svc-slide-link::after { content: "→"; }
  .svc-slide:hover .svc-slide-link { opacity: 1; transform: translateY(0); margin-top: 10px; }
  .slider-nav { display: flex; gap: 10px; margin-top: 20px; justify-content: flex-end; }
  .slider-btn { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 16px; transition: background .2s, border-color .2s, color .2s; color: var(--ink); }
  .slider-btn:hover { background: var(--ember); border-color: var(--ember); color: #fff; }

  /* ---- RESPONSIVE ---- */
  @media (max-width: 960px) {
    .findings-head, .report-grid { grid-template-columns: 1fr; gap: 32px; }
    .report-mockup { height: 460px; }
  }
  @media (max-width: 768px) {
    .findings-grid { grid-template-columns: 1fr 1fr; }
    .mid-cta-inner { grid-template-columns: 1fr; min-height: 0; }
    .mid-cta-image { min-height: 240px; }
    .mid-cta-copy { padding: 36px 28px; }
    .mid-cta-copy h2 { font-size: 28px; }
  }
  @media (max-width: 480px) {
    .findings-grid { grid-template-columns: 1fr; }
    .svc-slide { flex-basis: 200px; }
  }
