    /* ── Hero ── */
    .report-hero {
      padding: 64px 0 56px;
    }

    .report-hero-inner {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .back-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-weight: 700;
      color: var(--ink);
      opacity: .65;
      transition: opacity .15s;
      margin-bottom: 4px;
    }
    .back-link:hover { opacity: 1; }

    .report-tag {
      display: inline-block;
      background: var(--pink);
      color: white;
      font-weight: 700;
      border: 3px solid var(--ink);
      padding: 8px 20px;
      border-radius: 999px;
      font-size: .9rem;
      width: fit-content;
    }

    .report-hero h1 {
      font-size: clamp(2.6rem, 6vw, 5rem);
      margin-top: 4px;
    }

    .report-hero h1 span {
      background: white;
      padding: 0 14px;
      border-radius: 18px;
      border: 3px solid var(--ink);
      display: inline-block;
      transform: rotate(-1.5deg);
    }

    .report-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      align-items: center;
      font-size: .95rem;
      font-weight: 600;
      opacity: .75;
    }

    .report-meta::before {
      content: "📖";
    }

    /* ── Body ── */
    .report-body {
      background: linear-gradient(180deg, #faf6f0 0%, #f4efe7 100%);
      padding: 80px 0 100px;
    }

    .report-body .container {
      max-width: 860px;
      background: #fff;
      border: 3px solid var(--ink);
      border-radius: 36px;
      padding: 64px;
      box-shadow:
        0 24px 60px rgba(43,43,69,.10),
        0 8px 18px rgba(43,43,69,.05);
    }

    /* Each section */
    .report-section {
      padding-top: 90px;
    }

    .report-section:first-child {
      padding-top: 0;
    }

    /* Sticker-style section heading */
    .report-section h2 {
      font-family: 'Baloo 2', sans-serif;
      font-size: clamp(1.8rem, 4vw, 2.6rem);
      font-weight: 800;
      line-height: 1.1;
      display: inline-block;
      background: white;
      border: 3px solid var(--ink);
      border-radius: 18px;
      padding: 10px 22px;
      margin: 0 0 16px;
      box-shadow: 5px 5px 0 rgba(43,43,69,.08);
    }

    .report-section h2::after {
      display: none;
    }

    /* Small uppercase subtitle */
    .section-sub {
      font-family: 'Quicksand', sans-serif;
      font-size: .82rem;
      font-weight: 600;
      opacity: .6;
      margin: 0 0 28px;
      display: block;
      letter-spacing: .05em;
      text-transform: uppercase;
    }

    .report-section p {
      font-size: 1.08rem;
      line-height: 1.95;
      color: #404050;
      margin-bottom: 1.6rem;
      max-width: 68ch;
    }
    .report-section p:last-child { margin-bottom: 0; }

    /* Dashed divider */
    .report-divider {
      border: none;
      border-top: 2px dashed rgba(43,43,69,.15);
      margin: 90px 0 0;
    }

    /* ── Callout boxes ── */
    .callout {
      position: relative;
      border: 3px solid var(--ink);
      border-radius: 24px;
      padding: 30px 30px 30px 44px;
      margin: 28px 0;
      overflow: hidden;
    }

    .callout::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      width: 10px;
      height: 100%;
      background: var(--pink);
    }

    .callout-pink   { background: var(--pink-soft); }
    .callout-pink::before   { background: #ff7ca8; }

    .callout-green  { background: var(--green-soft); }
    .callout-green::before  { background: #7fcf8a; }

    .callout-sky    { background: var(--sky); }
    .callout-sky::before    { background: #6fbef5; }

    .callout-butter { background: var(--butter); }
    .callout-butter::before { background: #f5cf55; }

    .callout-title {
      font-family: 'Baloo 2', sans-serif;
      font-weight: 800;
      font-size: 1.2rem;
      margin-bottom: 14px;
      display: flex;
      align-items: center;
      gap: .5rem;
    }

    .callout ul {
      list-style: none;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .callout li {
      position: relative;
      padding-left: 28px;
      font-weight: 600;
      font-size: 1.02rem;
      line-height: 1.65;
    }

    .callout li::before {
      content: "✦";
      position: absolute;
      left: 0;
      color: var(--purple);
    }

    .callout p {
      font-size: 1.02rem;
      line-height: 1.75;
      margin: 0;
      color: #404050;
    }

    /* ── Photo gallery ── */
    .report-gallery {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 24px;
      margin: 32px 0;
    }

    .report-gallery figure {
      margin: 0;
      border: 3px solid var(--ink);
      border-radius: 20px;
      overflow: hidden;
      background: #fff;
      box-shadow: 5px 5px 0 rgba(43,43,69,.08);
    }

    .report-gallery img {
      display: block;
      width: 100%;
      height: 220px;
      object-fit: cover;
    }

    .report-gallery figcaption {
      padding: 12px 16px 16px;
      font-size: .88rem;
      font-weight: 600;
      color: #404050;
      line-height: 1.5;
    }

    /* ── Inline term pill ── */
    .term {
      display: inline-block;
      background: #fff6b8;
      border: 2px solid #d8c05d;
      border-radius: 999px;
      padding: 4px 12px;
      font-weight: 700;
      font-size: .9rem;
      color: var(--ink);
    }

    /* ── CTA ── */
    .report-cta {
      position: relative;
      overflow: hidden;
      background: linear-gradient(135deg, var(--purple), #6d58d8);
      color: white;
      text-align: center;
      padding: 80px 0;
    }

    .report-cta::before {
      content: "";
      position: absolute;
      inset: -40%;
      background: radial-gradient(circle, #ffffff20 2px, transparent 2px);
      background-size: 40px 40px;
      transform: rotate(12deg);
    }

    .report-cta .container {
      position: relative;
    }

    .report-cta h2 {
      font-size: clamp(1.8rem, 4vw, 2.8rem);
      margin-bottom: 16px;
    }

    .report-cta p {
      max-width: 600px;
      margin: 0 auto 56px;
      opacity: .9;
      font-size: 1.05rem;
      line-height: 1.7;
    }

    .cta-buttons {
      display: flex;
      gap: 16px;
      justify-content: center;
      flex-wrap: wrap;
    }

    .cta-buttons .btn {
      min-width: 200px;
    }

    @media(max-width:720px){
      .report-hero              { padding: 52px 0 42px; }
      .report-body              { padding: 48px 0 70px; }
      .report-body .container   { padding: 28px 22px; border-radius: 24px; }
      .report-section           { padding-top: 64px; }
      .report-divider           { margin: 64px 0 0; }
      .report-section h2        { font-size: 1.7rem; padding: 8px 18px; }
      .callout                  { padding: 22px 22px 22px 36px; }
      .callout-title            { font-size: 1.1rem; }
      .report-hero h1           { line-height: 1.05; }
      .report-section p         { font-size: 1rem; line-height: 1.8; }
      .report-gallery           { grid-template-columns: 1fr; gap: 18px; }
      .report-gallery img       { height: 200px; }
    }
