:root {
      --cream: #fff9f0;
      --aqua: #34aebd;
      --coral: #e97c76;
      --gold: #f3bc58;
      --berry: #973d82;
      --sage: #7d9a75;
      --sage-deep: #536e56;
      --ink: #4d3e45;
      --muted: #76676c;
      --white: rgba(255, 255, 255, 0.8);
      --glow: rgba(243, 188, 88, 0.42);
      --line: rgba(151, 61, 130, 0.15);
    }

    * {
      box-sizing: border-box;
    }

    html {
      min-height: 100%;
      background: var(--cream);
    }

    body {
      min-height: 100vh;
      margin: 0;
      font-family: Georgia, "Times New Roman", serif;
      color: var(--ink);
      background:
        linear-gradient(180deg, rgba(255, 249, 240, 0.28), rgba(255, 249, 240, 0.95)),
        url("assets/wellness-glow.png") center top / cover no-repeat fixed;
      letter-spacing: 0;
    }

    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      background:
        radial-gradient(circle at 12% 14%, rgba(52, 174, 189, 0.2), transparent 26rem),
        radial-gradient(circle at 78% 10%, rgba(233, 124, 118, 0.25), transparent 25rem),
        radial-gradient(circle at 50% 92%, rgba(243, 188, 88, 0.22), transparent 28rem);
      mix-blend-mode: screen;
    }

    a {
      color: inherit;
    }

    .page {
      position: relative;
      display: flex;
      min-height: 100vh;
      align-items: center;
      justify-content: center;
      padding: 56px 20px;
    }

    .wrap {
      width: min(1180px, 100%);
      margin: 0 auto;
      text-align: center;
    }

    .brand {
      margin: 0 0 28px;
      font-family: Arial, Helvetica, sans-serif;
      font-size: 0.78rem;
      font-weight: 700;
      text-transform: uppercase;
      color: var(--sage-deep);
      letter-spacing: 0.18em;
    }

    .hero {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
      gap: 38px;
      max-width: 980px;
      margin: 0 auto 44px;
      padding: 0 4px;
      align-items: center;
      text-align: left;
    }

    .hero-copy {
      min-width: 0;
    }

    .seraphina {
      width: min(100%, 330px);
      margin: 0;
      justify-self: center;
    }

    .seraphina img {
      display: block;
      width: 100%;
      aspect-ratio: 2 / 3;
      border: 1px solid rgba(255, 255, 255, 0.74);
      border-radius: 8px;
      object-fit: cover;
      object-position: center top;
      box-shadow:
        0 26px 80px rgba(151, 61, 130, 0.18),
        0 0 0 10px rgba(255, 255, 255, 0.34);
    }

    h1 {
      margin: 0;
      font-size: clamp(2.3rem, 6vw, 5.2rem);
      line-height: 0.98;
      font-weight: 400;
      text-wrap: balance;
    }

    .intro {
      max-width: 690px;
      margin: 26px 0 0;
      font-family: Arial, Helvetica, sans-serif;
      font-size: clamp(1rem, 2vw, 1.18rem);
      line-height: 1.75;
      color: var(--muted);
      text-wrap: pretty;
    }

    .paths {
      display: grid;
      grid-template-columns: 1fr;
      gap: 18px;
      max-width: 820px;
      margin-top: 34px;
      margin-right: auto;
      margin-left: auto;
    }

    .path {
      display: flex;
      min-height: 330px;
      flex-direction: column;
      align-items: center;
      justify-content: space-between;
      padding: 34px 28px 30px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--white);
      box-shadow: 0 24px 70px rgba(132, 105, 89, 0.12);
      backdrop-filter: blur(18px);
    }

    .path.featured {
      justify-content: center;
      border-color: rgba(151, 61, 130, 0.28);
      background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(255, 245, 226, 0.82)),
        linear-gradient(135deg, rgba(52, 174, 189, 0.1), rgba(233, 124, 118, 0.12));
      box-shadow:
        0 28px 78px rgba(151, 61, 130, 0.16),
        0 12px 34px rgba(52, 174, 189, 0.11);
    }

    .path::before {
      content: "";
      display: block;
      width: 46px;
      height: 46px;
      margin-bottom: 22px;
      border-radius: 50%;
      background:
        radial-gradient(circle, rgba(255, 255, 255, 0.96) 0 24%, transparent 25%),
        radial-gradient(circle, var(--glow), rgba(233, 124, 118, 0.16) 62%, transparent 66%);
      box-shadow: 0 0 28px rgba(255, 219, 197, 0.82);
    }

    .path.featured::before {
      background:
        radial-gradient(circle, rgba(255, 255, 255, 0.98) 0 20%, transparent 21%),
        conic-gradient(from 160deg, var(--aqua), var(--berry), var(--coral), var(--gold), var(--aqua));
      box-shadow:
        0 0 30px rgba(52, 174, 189, 0.28),
        0 0 34px rgba(233, 124, 118, 0.24);
    }

    .path.energy::before {
      background:
        radial-gradient(circle, rgba(255, 255, 255, 0.96) 0 24%, transparent 25%),
        radial-gradient(circle, rgba(52, 174, 189, 0.78), rgba(52, 174, 189, 0.16) 62%, transparent 66%);
      box-shadow: 0 0 28px rgba(52, 174, 189, 0.34);
    }

    .path.natural::before {
      background:
        radial-gradient(circle, rgba(255, 255, 255, 0.96) 0 24%, transparent 25%),
        radial-gradient(circle, rgba(125, 154, 117, 0.78), rgba(125, 154, 117, 0.16) 62%, transparent 66%);
      box-shadow: 0 0 28px rgba(125, 154, 117, 0.34);
    }

    .path.video::before {
      background:
        radial-gradient(circle, rgba(255, 255, 255, 0.96) 0 24%, transparent 25%),
        radial-gradient(circle, rgba(233, 124, 118, 0.74), rgba(233, 124, 118, 0.16) 62%, transparent 66%);
      box-shadow: 0 0 28px rgba(233, 124, 118, 0.32);
    }

    .path.pilot::before {
      background:
        radial-gradient(circle, rgba(255, 255, 255, 0.96) 0 24%, transparent 25%),
        radial-gradient(circle, rgba(243, 188, 88, 0.8), rgba(243, 188, 88, 0.18) 62%, transparent 66%);
      box-shadow: 0 0 28px rgba(243, 188, 88, 0.36);
    }

    .path.has-photo::before {
      display: none;
    }

    .card-photo {
      display: block;
      width: 100%;
      height: auto;
      margin: 0 0 22px;
      border-radius: 8px;
      box-shadow: 0 14px 38px rgba(132, 105, 89, 0.16);
    }

    .path h2 {
      margin: 0 0 16px;
      font-size: 1.45rem;
      line-height: 1.2;
      font-weight: 400;
    }

    .eyebrow {
      display: inline-block;
      margin: 0 0 10px;
      font-family: Arial, Helvetica, sans-serif;
      font-size: 0.72rem;
      font-weight: 700;
      color: var(--berry);
      letter-spacing: 0.14em;
      text-transform: uppercase;
    }

    .path p {
      margin: 0;
      font-family: Arial, Helvetica, sans-serif;
      font-size: 1rem;
      line-height: 1.68;
      color: var(--muted);
    }

    .button {
      display: inline-flex;
      width: 100%;
      min-height: 52px;
      align-items: center;
      justify-content: center;
      margin-top: 28px;
      padding: 14px 20px;
      border: 1px solid rgba(139, 155, 130, 0.45);
      border-radius: 999px;
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(239, 230, 212, 0.82));
      box-shadow: 0 10px 28px rgba(139, 155, 130, 0.16);
      color: var(--sage-deep);
      font-family: Arial, Helvetica, sans-serif;
      font-size: 0.95rem;
      font-weight: 700;
      line-height: 1.2;
      text-decoration: none;
      transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
    }

    .care-links {
      width: 100%;
      margin-top: 28px;
    }

    .care-links .button {
      margin-top: 0;
    }

    .care-links .button + .button {
      margin-top: 12px;
    }

    .path.featured .button {
      border-color: rgba(151, 61, 130, 0.26);
      background: linear-gradient(135deg, rgba(52, 174, 189, 0.16), rgba(243, 188, 88, 0.24), rgba(233, 124, 118, 0.16));
      color: #7a326f;
    }

    .button:hover,
    .button:focus-visible {
      border-color: rgba(182, 111, 112, 0.45);
      box-shadow: 0 14px 34px rgba(182, 111, 112, 0.18);
      transform: translateY(-2px);
      outline: none;
    }

    .social {
      margin: 40px auto 0;
      text-align: center;
    }

    .social h2 {
      margin: 0 0 16px;
      font-size: 1.3rem;
      font-weight: 400;
    }

    .social-links {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      justify-content: center;
    }

    .social-link {
      display: inline-flex;
      min-height: 46px;
      align-items: center;
      justify-content: center;
      padding: 12px 24px;
      border: 1px solid rgba(151, 61, 130, 0.22);
      border-radius: 999px;
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), rgba(52, 174, 189, 0.12));
      box-shadow: 0 10px 28px rgba(139, 155, 130, 0.14);
      color: var(--sage-deep);
      font-family: Arial, Helvetica, sans-serif;
      font-size: 0.95rem;
      font-weight: 700;
      text-decoration: none;
      transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
    }

    .social-link:hover,
    .social-link:focus-visible {
      border-color: rgba(182, 111, 112, 0.45);
      box-shadow: 0 14px 34px rgba(182, 111, 112, 0.18);
      transform: translateY(-2px);
      outline: none;
    }

    .closing {
      margin: 36px auto 0;
      font-family: Arial, Helvetica, sans-serif;
      font-size: 0.9rem;
      color: rgba(79, 69, 64, 0.72);
    }

    .category-nav {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 10px;
      margin: 0 auto 38px;
      font-family: Arial, Helvetica, sans-serif;
    }

    .category-nav a {
      display: inline-flex;
      min-height: 48px;
      align-items: center;
      justify-content: center;
      padding: 12px 22px;
      border: 1px solid rgba(52, 174, 189, 0.4);
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.88);
      color: #226471;
      font-size: 1rem;
      font-weight: 700;
      text-decoration: none;
    }

    .category-nav a[href="phix.html"] {
      border-color: rgba(151, 61, 130, 0.35);
      color: #7a326f;
    }

    .category-nav a[href="veracell.html"] {
      border-color: rgba(233, 124, 118, 0.6);
      color: #92454f;
    }

    .category-nav a:hover {
      background: #fff;
      text-decoration: underline;
      text-underline-offset: 4px;
    }

    a:focus-visible {
      outline: 3px solid #973d82;
      outline-offset: 4px;
    }

    .shop-category, #care-package {
      scroll-margin-top: 24px;
    }

    .shop-category {
      max-width: 980px;
      margin: 52px auto 0;
      padding: 38px 0 0;
      border-top: 2px solid rgba(52, 174, 189, 0.3);
    }

    #phix {
      border-color: rgba(151, 61, 130, 0.3);
    }

    #veracell {
      border-color: rgba(233, 124, 118, 0.45);
    }

    .category-heading h2 {
      margin: 0 0 12px;
      font-size: 2rem;
      line-height: 1.2;
      font-weight: 400;
    }

    .category-heading .category-name {
      margin: 0 0 10px;
      color: #226471;
      font-family: Arial, Helvetica, sans-serif;
      font-size: 1.05rem;
      font-weight: 700;
    }

    .category-heading p, .product-copy p {
      margin: 0;
      color: var(--muted);
      font-family: Arial, Helvetica, sans-serif;
      font-size: 1rem;
      line-height: 1.7;
    }

    .product-feature {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 32px;
      align-items: center;
      max-width: 780px;
      margin: 28px auto 0;
      text-align: left;
    }

    .product-image {
      display: block;
      width: 100%;
      height: 290px;
      object-fit: contain;
      background: #fff;
      border-radius: 8px;
    }

    .product-copy h3, .product-option h3 {
      margin: 0 0 12px;
      font-size: 1.45rem;
      font-weight: 400;
    }

    .shop-category .button {
      max-width: 360px;
      min-height: 52px;
      border-color: rgba(52, 174, 189, 0.4);
      background: #edf8f9;
      color: #226471;
    }

    #phix .button {
      border-color: rgba(151, 61, 130, 0.35);
      background: #fbecf5;
      color: #7a326f;
    }

    #veracell .button {
      border-color: rgba(233, 124, 118, 0.5);
      background: #fff0ef;
      color: #92454f;
    }

    .phix-options {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 24px;
      margin-top: 28px;
    }

    .product-option {
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 24px;
      background: rgba(255, 255, 255, 0.82);
      border: 1px solid var(--line);
      border-radius: 8px;
    }

    .product-option .product-image {
      margin-bottom: 24px;
    }

    .product-option p {
      margin: 0;
      color: var(--muted);
      font-family: Arial, Helvetica, sans-serif;
      line-height: 1.65;
    }

    .product-option .button {
      margin-top: auto;
    }

    .product-option .product-details {
      flex: 1;
      padding-bottom: 24px;
    }

    @media (max-width: 600px) {
      .category-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
      }

      .category-nav a {
        padding: 12px 10px;
      }

      .product-feature, .phix-options {
        grid-template-columns: 1fr;
        gap: 24px;
      }

      .product-feature {
        text-align: center;
      }

      .product-image {
        height: 260px;
      }

      .category-heading h2 {
        font-size: 1.8rem;
      }

      .shop-category {
        margin-top: 38px;
      }

      .product-option {
        padding: 20px;
      }
    }

    .sandy-note {
      display: grid;
      grid-template-columns: 96px minmax(0, 1fr);
      gap: 22px;
      max-width: 720px;
      margin: 42px auto 0;
      padding: 22px;
      border: 1px solid rgba(151, 61, 130, 0.14);
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.72);
      box-shadow: 0 20px 54px rgba(132, 105, 89, 0.1);
      text-align: left;
      backdrop-filter: blur(16px);
    }

    .sandy-photo {
      display: block;
      width: 96px;
      height: 96px;
      border: 3px solid rgba(255, 255, 255, 0.9);
      border-radius: 50%;
      object-fit: cover;
      object-position: center 28%;
      box-shadow: 0 12px 28px rgba(52, 174, 189, 0.18);
    }

    .sandy-note h2 {
      margin: 0 0 8px;
      font-size: 1.42rem;
      line-height: 1.2;
      font-weight: 400;
    }

    .sandy-note p {
      margin: 0;
      font-family: Arial, Helvetica, sans-serif;
      font-size: 0.98rem;
      line-height: 1.65;
      color: var(--muted);
    }

    .email-link {
      display: inline-flex;
      min-height: 44px;
      align-items: center;
      justify-content: center;
      margin-top: 16px;
      padding: 11px 18px;
      border: 1px solid rgba(52, 174, 189, 0.28);
      border-radius: 999px;
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(52, 174, 189, 0.12));
      color: var(--sage-deep);
      font-family: Arial, Helvetica, sans-serif;
      font-size: 0.92rem;
      font-weight: 700;
      text-decoration: none;
    }

    .email-link:hover,
    .email-link:focus-visible {
      border-color: rgba(151, 61, 130, 0.28);
      color: #7a326f;
      outline: none;
    }

    .email-address {
      margin-top: 10px;
      font-family: Arial, Helvetica, sans-serif;
      font-size: 0.9rem;
      color: rgba(79, 69, 64, 0.74);
      word-break: break-word;
    }

    @media (max-width: 1120px) {
      .hero {
        grid-template-columns: minmax(0, 1fr) minmax(230px, 300px);
      }

      .paths {
        grid-template-columns: 1fr;
        max-width: 760px;
        margin-right: auto;
        margin-left: auto;
      }
    }

    @media (max-width: 860px) {
      .page {
        padding: 42px 18px;
      }

      .hero {
        grid-template-columns: 1fr;
        max-width: 640px;
        text-align: center;
      }

      .intro {
        margin-right: auto;
        margin-left: auto;
      }

      .seraphina {
        order: -1;
        width: min(82vw, 280px);
      }

      .sandy-note {
        grid-template-columns: 1fr;
        max-width: 560px;
        justify-items: center;
        text-align: center;
      }

      .paths {
        grid-template-columns: 1fr;
        max-width: 560px;
        margin-right: auto;
        margin-left: auto;
      }

      .path {
        grid-column: auto;
        min-height: 0;
      }
    }

    @media (max-width: 520px) {
      body {
        background-attachment: scroll;
      }

      .page {
        align-items: flex-start;
        padding: 34px 16px;
      }

      .brand {
        margin-bottom: 22px;
        font-size: 0.7rem;
        letter-spacing: 0.14em;
      }

      .hero {
        margin-bottom: 28px;
      }

      .seraphina {
        width: min(86vw, 250px);
      }

      h1 {
        font-size: clamp(2.15rem, 14vw, 3.45rem);
        line-height: 1.02;
      }

      .intro {
        margin-top: 22px;
        line-height: 1.65;
      }

      .path {
        padding: 30px 22px 26px;
      }

      .button {
        padding-right: 16px;
        padding-left: 16px;
      }

      .email-link {
        width: 100%;
      }
    }

.category-choices {
  max-width: 980px;
  margin: 42px auto;
}
.category-choices > h2 {
  font-size: 2rem;
  font-weight: 400;
}
.category-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.category-choice-grid .product-image { height: 220px; }
.category-choice-grid .product-option h3 { font-size: 1.4rem; }
.category-page .shop-category {
  border-top: 0;
  padding-top: 8px;
  margin-top: 0;
}
.category-page .category-heading h1 {
  font-size: 2.5rem;
  line-height: 1.15;
}
.category-page .category-heading p { margin-top: 16px; }
.category-page .product-option h2 {
  font-size: 1.45rem;
  font-weight: 400;
  margin: 0 0 12px;
}
@media (max-width: 760px) {
  .category-choice-grid { grid-template-columns: 1fr; }
  .category-page .category-heading h1 { font-size: 2rem; }
}

