
  #curriculumSection .cu-one { margin: -6px 0 14px; font-family: var(--display); font-size: 21px; color: var(--ink); }
  .cu-tabs { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; margin: -4px 0 18px; padding: 2px; }
  .cu-tabs::-webkit-scrollbar { display: none; }
  .cu-tabs button { flex: none; padding: 9px 15px; border-radius: 999px; border: 1px solid var(--line-strong, rgba(28,24,16,.2)); background: transparent; font: 600 13.5px/1.1 var(--sans); color: var(--ink-soft); cursor: pointer; }
  .cu-tabs button[aria-selected="true"] { background: var(--ink, #1c1810); border-color: var(--ink, #1c1810); color: #FBF7EE; }
  .cu-tabs button:focus-visible { outline: 2px solid var(--cedar, #8A5A37); outline-offset: 2px; }
  .cu-cred { display: flex; gap: 12px; align-items: center; margin: 0 0 12px; padding: 13px 16px; border-radius: 14px; background: rgba(138,90,55,.08); }
  .cu-cred svg { flex: none; width: 26px; height: 26px; color: var(--cedar, #8A5A37); }
  .cu-cred span { display: grid; gap: 2px; font-size: 15px; font-weight: 600; color: var(--ink); line-height: 1.35; }
  .cu-cred small { font-size: 11.5px; font-weight: 700; color: var(--muted); }
  .cu-meta { margin: 0 0 8px; font-size: 13.5px; font-weight: 600; color: var(--muted); }
  .cu-desc { margin: 0 0 16px; font-size: 15px; line-height: 1.6; color: var(--ink-soft); }
  .cu-mods { list-style: none; margin: 0; padding: 0; position: relative; }
  .cu-mods::before { content: ""; position: absolute; left: 15px; top: 18px; bottom: 18px; width: 1.5px; background: rgba(138,90,55,.25); }
  .cu-mods li { position: relative; display: grid; grid-template-columns: 32px 1fr; gap: 14px; padding: 10px 0; }
  .cu-n { position: relative; z-index: 1; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--paper, #FAF6EC); border: 1.5px solid rgba(138,90,55,.45); color: var(--cedar-deep, #6B4326); font-size: 13px; font-weight: 700; }
  .cu-mt { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-top: 5px; }
  .cu-mt b { font-size: 15.5px; color: var(--ink); line-height: 1.35; }
  .cu-mt span { flex: none; font-size: 12.5px; font-weight: 600; color: var(--muted); }
  .cu-mods p { margin: 4px 0 0; font-size: 14px; line-height: 1.55; color: var(--ink-soft); }
  .cu-pdf { display: inline-flex; align-items: center; gap: 10px; margin-top: 16px; padding: 12px 18px 12px 14px; border-radius: 999px; border: 1px solid var(--line-strong, rgba(28,24,16,.2)); color: var(--ink); text-decoration: none; font-weight: 600; font-size: 14.5px; background: var(--paper, #FAF6EC); }
  .cu-pdf:hover { border-color: var(--ink); }
  .cu-pdf svg { width: 20px; height: 20px; color: var(--cedar, #8A5A37); }
  .cu-pdf small { margin-left: 4px; font-size: 11px; font-weight: 700; color: var(--muted); }
  @media (max-width: 640px) { .cu-mt { flex-direction: column; gap: 2px; } .cu-mods li { gap: 12px; } }

  /* ===== phones & tablets: one immersive cover — big photo slideshow with the name and details inside ===== */
  @media (max-width: 1024px) {
    .m-cover.mc-immersive { margin-top: 12px; border-radius: 22px; overflow: hidden; isolation: isolate; box-shadow: 0 18px 40px -22px rgba(28,24,16,.55); }
    .m-cover.mc-immersive .m-cover-img { aspect-ratio: 4 / 5; border-radius: 0; }
    .m-cover.mc-immersive .m-cover-img::after { background: linear-gradient(to bottom, rgba(20,16,10,.38) 0%, rgba(20,16,10,0) 22%, rgba(20,16,10,0) 42%, rgba(20,16,10,.55) 66%, rgba(20,16,10,.88) 100%); z-index: 1; }
    .m-cover.mc-immersive .mc-slide { overflow: hidden; }
    .m-cover.mc-immersive .mc-slide img { transform: scale(1.02); transform-origin: 60% 40%; }
    .m-cover.mc-immersive .m-cover-img.mc-run .mc-slide.is-on img { animation: mcZoom 6.5s ease-out both; }
    @keyframes mcZoom { from { transform: scale(1.02); } to { transform: scale(1.12); } }
    .m-cover.mc-immersive .mc-bars { position: absolute; left: 12px; right: 12px; top: 10px; z-index: 3; display: flex; gap: 4px; pointer-events: none; }
    .m-cover.mc-immersive .mc-bars i { flex: 1; height: 3px; border-radius: 3px; background: rgba(251,247,238,.35); overflow: hidden; }
    .m-cover.mc-immersive .mc-bars i b { display: block; height: 100%; width: 0; background: #FBF7EE; border-radius: inherit; }
    .m-cover.mc-immersive .mc-bars i.done b { width: 100%; }
    .m-cover.mc-immersive .mc-bars i.on b { width: 100%; }
    .m-cover.mc-immersive .m-cover-img.mc-run .mc-bars i.on b { width: 0; animation: mcBar 4.8s linear forwards; }
    @keyframes mcBar { to { width: 100%; } }
    .m-cover.mc-immersive .mc-count { top: auto; left: auto; right: 14px; bottom: 18px; z-index: 3; }
    .m-cover.mc-immersive.has-gallery .title-meta { padding-right: 58px; }
    .m-cover.mc-immersive .mc-dots { display: none; }
    .m-cover.mc-immersive > .title-actions { top: 22px; right: 12px; }
    .m-cover.mc-immersive .m-cover-row {
      position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; margin: 0; padding: 0 18px 18px;
      display: flex; flex-direction: column; align-items: flex-start; gap: 12px; pointer-events: none;
    }
    .m-cover.mc-immersive .m-cover-row > * { pointer-events: auto; }
    .m-cover.mc-immersive .m-cover-row .practitioner-avatar { width: 64px; height: 64px; }
    .m-cover.mc-immersive .m-cover-row .practitioner-avatar img { border-width: 3px; }
    .m-cover.mc-immersive .title-block { margin: 0 !important; padding: 0; width: 100%; color: #FBF7EE; }
    .m-cover.mc-immersive .title-block h1 { color: #FBF7EE; font-size: 31px; line-height: 1.04; text-shadow: 0 2px 20px rgba(0,0,0,.35); }
    .m-cover.mc-immersive .title-block h1 em { color: #F1D7AE; }
    .m-cover.mc-immersive .title-meta { margin-top: 8px; color: rgba(251,247,238,.92); }
    .m-cover.mc-immersive .title-meta *, .m-cover.mc-immersive .title-block a { color: inherit !important; }
    .m-cover.mc-immersive .title-meta a, .m-cover.mc-immersive .title-block a:not(.claim-pill) { text-decoration-color: rgba(251,247,238,.55) !important; border-color: rgba(251,247,238,.55) !important; }
    .m-cover.mc-immersive .title-meta svg { color: #F1D7AE !important; }
    .m-cover.mc-immersive .title-meta .dot { background: rgba(251,247,238,.6) !important; }
    .m-cover.mc-immersive .title-block .claim-pill { color: #1c1810 !important; }
    .m-cover.mc-immersive .title-block .pill { background: rgba(251,247,238,.16) !important; border-color: rgba(251,247,238,.3) !important; }
    .m-cover.mc-immersive + .title-block { margin-top: 0; }
  }
  @media (min-width: 641px) and (max-width: 1024px) {
    .m-cover.mc-immersive .m-cover-img { aspect-ratio: 16 / 11; }
    .m-cover.mc-immersive .title-block h1 { font-size: 40px; }
  }
  @media (prefers-reduced-motion: reduce) { .m-cover.mc-immersive .mc-slide img { animation: none !important; } .m-cover.mc-immersive .mc-bars i b { animation: none !important; } }

  /* a line under "About the practitioner / space", then the profile and text */
  #aboutSection > #pAboutTitle { padding-bottom: 16px; margin-bottom: 20px; border-bottom: 1px solid var(--line, rgba(28,24,16,0.14)); }
  /* desktop: the profile block below already draws a line, so the heading doesn't need its own */
  @media (min-width: 1025px) { #aboutSection > #pAboutTitle { padding-bottom: 0; margin-bottom: 22px; border-bottom: 0; } }

  /* About: the photo sits on the top edge of the panel, half outside and half inside */
  #aboutSection:has(.about-profile .practitioner-avatar) { position: relative; overflow: visible; margin-top: 74px; padding-top: 84px !important; }
  #aboutSection .about-profile .practitioner-avatar {
    position: absolute; top: -64px; left: 32px; width: 128px; height: 128px; z-index: 3;
  }
  #aboutSection .about-profile .practitioner-avatar img { border-width: 4px; box-shadow: 0 14px 30px -14px rgba(28,24,16,0.45); }
  #aboutSection .about-profile .practitioner-avatar.avatar-initial::after { border-width: 4px; font-size: 50px; }
  #aboutSection .about-profile .practitioner-block { display: block; }
  /* the name now lives in the heading ("About practitioner Jennie Harrison") */
  #aboutSection .about-profile .practitioner-info > h3.pi-moved { display: none; }
  #pAboutTitle .about-name { white-space: normal; }
  /* the accent colour goes on the word (practitioner / space); the name is in the plain heading colour */
  body #pAboutTitle em.about-name { font-style: normal; color: var(--ink) !important; font-variation-settings: normal; }
  html.sg-dark body #pAboutTitle em.about-name { color: inherit !important; }
  #pAboutTitle .about-name .name-pronouns { font-style: normal; font-size: 0.45em; margin-left: 6px; color: var(--ink-soft, #6b6150); vertical-align: middle; }
  #pAboutTitle .verified-check { display: inline-flex; vertical-align: middle; margin-left: 8px; position: relative; top: -3px; }
  @media (max-width: 640px) {
    #aboutSection:has(.about-profile .practitioner-avatar) { margin-top: 64px; padding-top: 70px !important; }
    #aboutSection .about-profile .practitioner-avatar { top: -52px; left: 22px; width: 104px; height: 104px; }
  }
  /* desktop: the gap under the page title already leaves room, so the panel stays level with the booking card */
  @media (min-width: 1025px) { #aboutSection:has(.about-profile .practitioner-avatar) { margin-top: 0; } }
  /* phones & tablets: no line under the "About practitioner" heading */
  @media (max-width: 1024px) { #aboutSection > #pAboutTitle { border-bottom: 0 !important; padding-bottom: 0 !important; margin-bottom: 18px !important; } }
  @media (max-width: 1024px) {
    #aboutSection .about-profile.ap-below { margin: 22px 0 0; padding: 20px 0 0; border-bottom: 0; border-top: 1px solid var(--line, rgba(28,24,16,0.12)); }
    #aboutSection > #pAboutTitle { margin-bottom: 14px !important; }
  }

  /* phones: the cover is just the photos, with dots to move between them; the name and details sit under the About text */
  .mc-dots { display: none; }
  @media (max-width: 640px) {
    .m-cover.mc-immersive .mc-bars, .m-cover.mc-immersive .mc-count { display: none !important; }
    .m-cover.mc-immersive .m-cover-row { display: none !important; }
    .m-cover.mc-immersive .m-cover-img::after { background: linear-gradient(to bottom, rgba(28,24,16,.12), rgba(28,24,16,0) 30%, rgba(28,24,16,0) 72%, rgba(28,24,16,.35)) !important; }
    .m-cover.mc-immersive .mc-dots { position: absolute; left: 0; right: 0; bottom: 14px; z-index: 20; display: flex; justify-content: center; gap: 7px; }
    .m-cover.mc-immersive .mc-track { z-index: 1 !important; }
    .mc-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: rgba(251,247,238,.55); box-shadow: 0 1px 4px rgba(0,0,0,.3); cursor: pointer; transition: width .25s ease, background .25s ease; }
    .mc-dots button.on { width: 22px; background: #FBF7EE; }
    .mc-dots button:focus-visible { outline: 2px solid #E9C98F; outline-offset: 2px; }
    #aboutSection .title-block.tb-in-about { margin: 4px 0 0 !important; padding: 0 !important; border-top: 0; background: none !important; color: var(--ink) !important; text-shadow: none !important; }
    #aboutSection .title-block.tb-in-about h1 { font-size: 26px !important; line-height: 1.15 !important; color: var(--ink) !important; text-shadow: none !important; }
    #aboutSection .title-block.tb-in-about * { color: inherit; text-shadow: none !important; }
    #aboutSection .title-block.tb-in-about .pill { background: rgba(28,24,16,.05) !important; border-color: var(--line) !important; color: var(--ink) !important; }
    #aboutSection .about-profile.ap-top { margin: 12px 0 18px !important; padding: 0 0 18px !important; border-top: 0 !important; border-bottom: 1px solid var(--line, rgba(28,24,16,.12)) !important; }
    #aboutSection .title-block.tb-in-about h1 { font-size: 22px !important; }
  }
