  .pd-calc {
    --pink: #FA0174;
    --pink-deep: #9B0148;
    --pink-wash: #FDEEF5;
    --pink-line: #F7C6DD;
    --green: #1E5A32;
    --brown: #3E2A1B;
    --ink: #3A2A24;
    --muted: #6E5A52;
    --white: #FFFFFF;
    font-family: 'Nunito Sans', system-ui, sans-serif;
    color: var(--ink);
    background: transparent;
    padding: 0;
  }
  .pd-calc *, .pd-calc *::before, .pd-calc *::after { box-sizing: border-box; }
  .pd-calc__inner { max-width: none; margin: 0; }

  .pd-calc__title {
    font-family: 'Baloo 2', sans-serif; font-weight: 700;
    font-size: clamp(2rem, 6vw, 2.6rem); line-height: 1.05;
    color: var(--brown); margin: 0 0 6px; text-align: center;
  }
  .pd-calc__lede { text-align: center; margin: 0 0 28px; font-size: 1.05rem; }

  .pd-calc__card {
    background: var(--white); border-radius: 28px;
    border: 2px solid var(--pink-line); padding: 28px 24px 24px;
  }

  .pd-calc__field { margin-bottom: 30px; }
  .pd-calc__label {
    display: flex; justify-content: space-between; align-items: baseline;
    font-weight: 700; font-size: 1.05rem; color: var(--brown); margin-bottom: 14px;
  }
  .pd-calc__label output { font-family: 'Baloo 2', sans-serif; font-weight: 600; color: var(--pink); font-size: 1.15rem; }

  .pd-calc__zip, .pd-calc__select, .pd-calc__input {
    width: 100%; font: inherit; font-size: 1.05rem; padding: 12px 16px; border-radius: 14px;
    border: 2px solid var(--pink-line); background: var(--pink-wash); color: var(--ink);
  }
  .pd-calc__zip:focus-visible, .pd-calc__select:focus-visible, .pd-calc__input:focus-visible {
    outline: 3px solid var(--pink); outline-offset: 2px; border-color: var(--pink);
  }

  /* Sliders */
  .pd-calc__range {
    -webkit-appearance: none; appearance: none;
    width: 100%; height: 44px; background: transparent; margin: 0; cursor: pointer; --fill: 0%;
  }
  .pd-calc__range:focus-visible { outline: 3px solid var(--pink); outline-offset: 4px; border-radius: 22px; }
  .pd-calc__range::-webkit-slider-runnable-track {
    height: 10px; border-radius: 10px;
    background: linear-gradient(to right, var(--pink) var(--fill), var(--pink-line) var(--fill));
  }
  .pd-calc__range::-moz-range-track { height: 10px; border-radius: 10px; background: var(--pink-line); }
  .pd-calc__range::-moz-range-progress { height: 10px; border-radius: 10px; background: var(--pink); }
  .pd-calc__range::-webkit-slider-thumb {
    -webkit-appearance: none; appearance: none; width: 44px; height: 44px; margin-top: -17px; border: 0;
    background: var(--thumb) center / contain no-repeat;
    filter: drop-shadow(0 2px 2px rgba(74, 36, 16, .25));
  }
  .pd-calc__range::-moz-range-thumb { width: 44px; height: 44px; border: 0; background: var(--thumb) center / contain no-repeat; }
  .pd-calc__range--paw {
    --thumb: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Ccircle cx='22' cy='22' r='21' fill='%23FA0174'/%3E%3Cellipse cx='22' cy='27' rx='7.5' ry='6.5' fill='white'/%3E%3Cellipse cx='13.5' cy='19' rx='3.2' ry='4' fill='white'/%3E%3Cellipse cx='19' cy='13.5' rx='3.2' ry='4' fill='white'/%3E%3Cellipse cx='25' cy='13.5' rx='3.2' ry='4' fill='white'/%3E%3Cellipse cx='30.5' cy='19' rx='3.2' ry='4' fill='white'/%3E%3C/svg%3E");
  }
  .pd-calc__range--daisy {
    --thumb: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Cg fill='white' stroke='%23FA0174' stroke-width='2'%3E%3Cellipse cx='22' cy='9' rx='5' ry='8'/%3E%3Cellipse cx='22' cy='35' rx='5' ry='8'/%3E%3Cellipse cx='9' cy='22' rx='8' ry='5'/%3E%3Cellipse cx='35' cy='22' rx='8' ry='5'/%3E%3Cellipse cx='12.8' cy='12.8' rx='5' ry='8' transform='rotate(-45 12.8 12.8)'/%3E%3Cellipse cx='31.2' cy='31.2' rx='5' ry='8' transform='rotate(-45 31.2 31.2)'/%3E%3Cellipse cx='31.2' cy='12.8' rx='5' ry='8' transform='rotate(45 31.2 12.8)'/%3E%3Cellipse cx='12.8' cy='31.2' rx='5' ry='8' transform='rotate(45 12.8 31.2)'/%3E%3C/g%3E%3Ccircle cx='22' cy='22' r='7' fill='%23FFC21A' stroke='%23F29A00' stroke-width='1.5'/%3E%3C/svg%3E");
  }
  .pd-calc__ticks { position: relative; height: 2.7em; margin-top: 6px; font-size: .78rem; font-weight: 600; color: #8A6F66; }
  .pd-calc__ticks span {
    position: absolute; top: 0; width: 52px; text-align: center; line-height: 1.2;
    left: calc(22px + (100% - 44px) * var(--i) / var(--n)); transform: translateX(-50%);
  }
  .pd-calc__ticks span:first-child { transform: translateX(-22px); text-align: left; }
  .pd-calc__ticks span:last-child { transform: translateX(calc(-100% + 22px)); text-align: right; }
  .pd-calc__ticks span[aria-current="true"] { color: var(--pink-deep); }

  /* Deodorizing choice */
  .pd-calc__seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; border: 0; padding: 0; margin: 0; min-width: 0; }
  .pd-calc__seg legend { padding: 0; margin-bottom: 14px; width: 100%; }
  .pd-calc__seg input { position: absolute; opacity: 0; pointer-events: none; }
  .pd-calc__seg label {
    display: flex; align-items: center; justify-content: center; text-align: center;
    padding: 10px 6px; min-height: 48px; border-radius: 14px;
    border: 2px solid var(--pink-line); background: var(--pink-wash);
    font-weight: 700; font-size: .92rem; cursor: pointer; line-height: 1.2;
  }
  .pd-calc__seg input:checked + label { background: var(--pink); border-color: var(--pink); color: var(--white); }
  .pd-calc__seg input:focus-visible + label { outline: 3px solid var(--brown); outline-offset: 2px; }
  .pd-calc__seg--two { grid-template-columns: repeat(2, 1fr); }
  .pd-calc__seg--two label { min-height: 56px; font-size: 1rem; }
  .pd-calc__field[hidden], .pd-calc__seg input[hidden] + label { display: none; }
  .pd-calc__hint a { color: var(--pink-deep); font-weight: 700; }
  .pd-calc__hint { font-size: .88rem; margin: 8px 0 0; color: var(--muted); }

  /* Lot size tiles: 2x2 on phones, one row on wider screens */
  .pd-calc__lots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; border: 0; padding: 0; margin: 0; min-width: 0; }
  .pd-calc__lots legend { padding: 0; margin-bottom: 14px; width: 100%; }
  @media (min-width: 600px) { .pd-calc__lots { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  .pd-calc__lots input { position: absolute; opacity: 0; pointer-events: none; }
  .pd-calc__lots input[hidden] + label { display: none; }
  .pd-calc__lot {
    position: relative; display: flex; flex-direction: column; align-items: center; text-align: center;
    padding: 10px 8px 12px; border-radius: 16px; border: 2px solid var(--pink-line); background: var(--white); cursor: pointer;
  }
  .pd-calc__lot svg { width: 100%; max-width: 120px; height: auto; margin-bottom: 6px; }
  .pd-calc__lot-name { font-weight: 700; font-size: .9rem; line-height: 1.2; color: var(--brown); }
  .pd-calc__lot-size { font-size: .82rem; color: var(--muted); margin-top: 2px; }
  .pd-calc__lots input:checked + label { border-color: var(--pink); background: var(--pink-wash); }
  .pd-calc__lots input:checked + label::after {
    content: ""; position: absolute; top: 8px; right: 8px; width: 22px; height: 22px; border-radius: 50%;
    background: var(--pink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
  }
  .pd-calc__lots input:focus-visible + label { outline: 3px solid var(--brown); outline-offset: 2px; }
  .pd-calc__lot-note { margin: 10px 0 0; font-weight: 700; color: var(--pink-deep); font-size: .95rem; }

  /* Section icons */
  .pd-calc__label--icon { justify-content: flex-start; align-items: center; gap: 12px; }
  .pd-calc__ico {
    flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; background: var(--pink-wash);
    display: inline-flex; align-items: center; justify-content: center;
  }
  .pd-calc__ico svg { width: 28px; height: 28px; }

  /* Promo code + military */
  .pd-calc__code-row { display: flex; gap: 8px; }
  .pd-calc__code-row .pd-calc__input { flex: 1; text-transform: uppercase; }
  .pd-calc__apply {
    font: inherit; font-weight: 700; padding: 0 18px; border-radius: 14px; cursor: pointer;
    border: 2px solid var(--pink); background: var(--white); color: var(--pink-deep);
  }
  .pd-calc__apply:focus-visible { outline: 3px solid var(--brown); outline-offset: 2px; }
  .pd-calc__code-msg { margin: 8px 0 0; font-weight: 700; font-size: .92rem; min-height: 1.2em; }
  .pd-calc__code-msg[data-state="ok"] { color: var(--green); }
  .pd-calc__code-msg[data-state="bad"] { color: #B00040; }
  .pd-calc__code-msg[data-state="info"] { color: var(--brown); font-weight: 600; }
  .pd-calc__check { display: flex; gap: 10px; align-items: center; margin-top: 12px; font-weight: 700; cursor: pointer; }
  .pd-calc__check[hidden] { display: none; }
  .pd-calc__check input { width: 22px; height: 22px; accent-color: var(--pink); }
  .pd-calc__price s { font-size: .45em; color: #9C847B; font-weight: 600; margin-right: 6px; }
  .pd-calc__deal { margin: 10px auto 0; display: table; background: #EAF5EC; color: var(--green); font-weight: 700; padding: 6px 14px; border-radius: 999px; font-size: .95rem; }
  .pd-calc__deal[hidden] { display: none; }
  .pd-calc__deal--code { background: #FFE9B8; color: #5A3A00; margin-top: 8px; }
  .pd-calc__deal--intro { background: #FFE9B8; color: #5A3A00; margin-top: 8px; }
  .pd-calc__deal.is-new { animation: pd-pill-pop .6s ease-out; }
  @keyframes pd-pill-pop { 0% { transform: scale(.9); box-shadow: 0 0 0 0 rgba(250,1,116,.45); } 45% { transform: scale(1.06); } 100% { transform: scale(1); box-shadow: 0 0 0 12px rgba(250,1,116,0); } }
  @media (prefers-reduced-motion: reduce) { .pd-calc__deal.is-new { animation: none; } }

  /* Result */
  .pd-calc__result { border-top: 2px dashed var(--pink-line); margin-top: 6px; padding-top: 22px; text-align: center; }
  .pd-calc__price {
    font-family: 'Baloo 2', sans-serif; font-weight: 700; color: var(--brown);
    font-size: clamp(3rem, 13vw, 4.2rem); line-height: 1; margin: 0;
  }
  .pd-calc__price small { font-size: .38em; font-weight: 600; color: var(--ink); }
  .pd-calc__price--quote { font-size: clamp(2.2rem, 9vw, 2.8rem); }
  .pd-calc__detail { margin: 8px 0 0; font-weight: 600; }
  .pd-calc__initial { margin: 6px 0 0; font-size: .95rem; }
  .pd-calc__initial:empty { display: none; }
  .pd-calc__perks { list-style: none; padding: 0; margin: 18px 0 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
  .pd-calc__perks li { background: var(--pink-wash); color: var(--green); font-weight: 700; font-size: .9rem; padding: 6px 12px; border-radius: 999px; }

  .pd-calc__cta {
    display: block; width: 100%; margin-top: 20px; background: var(--pink); color: var(--white);
    font-family: 'Baloo 2', sans-serif; font-weight: 600; font-size: 1.25rem;
    text-align: center; text-decoration: none; padding: 16px 20px; border-radius: 18px;
    transition: background-color .15s ease;
  }
  .pd-calc__cta[hidden] { display: none; }
  .pd-calc__cta:hover { background: var(--pink-deep); }
  .pd-calc__cta:focus-visible { outline: 3px solid var(--brown); outline-offset: 3px; }
  .pd-calc__alt { text-align: center; margin: 14px 0 0; font-size: .95rem; }
  .pd-calc__alt a { color: var(--pink-deep); font-weight: 700; white-space: nowrap; }
  .pd-calc__fine { text-align: center; font-size: .8rem; color: #8A6F66; margin: 16px 0 0; }

  /* Custom quote form */
  .pd-calc__form { text-align: left; margin-top: 22px; padding-top: 18px; border-top: 2px dashed var(--pink-line); }
  .pd-calc__form[hidden] { display: none; }
  .pd-calc__form h3 { font-family: 'Baloo 2', sans-serif; font-weight: 600; color: var(--brown); font-size: 1.35rem; margin: 0 0 4px; }
  .pd-calc__form-lede { margin: 0 0 16px; font-size: .95rem; }
  .pd-calc__row { margin-bottom: 14px; }
  .pd-calc__row label { display: block; font-weight: 700; margin-bottom: 6px; color: var(--brown); }
  .pd-calc__row label span { font-weight: 600; color: #8A6F66; }
  textarea.pd-calc__input { min-height: 84px; resize: vertical; }
  .pd-calc__submit { border: 0; cursor: pointer; }
  .pd-calc__group { font-family: 'Baloo 2', sans-serif; font-weight: 600; color: var(--pink-deep); font-size: 1.05rem; margin: 20px 0 10px; }
  .pd-calc__pair { display: grid; grid-template-columns: 1fr; gap: 0 12px; }
  @media (min-width: 480px) { .pd-calc__pair { grid-template-columns: 1fr 1fr; } }
  select.pd-calc__input { appearance: auto; }
  .pd-calc__checks { border: 0; padding: 0; margin: 0 0 14px; min-width: 0; }
  .pd-calc__checks legend { font-weight: 700; color: var(--brown); margin-bottom: 8px; padding: 0; }
  .pd-calc__checks legend span { font-weight: 600; color: #8A6F66; }
  .pd-calc__checks label { display: inline-flex; align-items: center; gap: 8px; margin: 0 16px 8px 0; font-weight: 600; cursor: pointer; }
  .pd-calc__checks input { width: 20px; height: 20px; accent-color: var(--pink); flex: 0 0 auto; }
  .pd-calc__checks--grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 12px; }
  .pd-calc__checks--grid legend { grid-column: 1 / -1; }
  .pd-calc__checks--grid label { margin: 0 0 6px; font-size: .92rem; line-height: 1.2; }
  .pd-calc__terms { margin: 6px 0 4px; }
  .pd-calc__terms a { color: var(--pink-deep); }
  .pd-calc__submit[disabled] { opacity: .6; cursor: wait; }
  .pd-calc__consent { font-size: .82rem; color: var(--muted); margin: 8px 0 0; }
  .pd-calc__error { color: #B00040; font-weight: 700; margin: 10px 0 0; }
  .pd-calc__error[hidden] { display: none; }
  .pd-calc__zipnote { background: #FDE4EF; border-left: 4px solid var(--pink-deep); border-radius: 12px; padding: 12px 14px; margin: 0 0 18px; font-weight: 600; line-height: 1.45; }
  .pd-calc__zipnote[hidden] { display: none; }
  .pd-calc__zipnote a { color: var(--pink-deep); font-weight: 800; white-space: nowrap; }
  .pd-calc__done { margin-top: 20px; padding: 20px 18px; border-radius: 18px; background: #EAF5EC; border: 2px solid #9CCBA6; color: var(--green); text-align: center; }
  .pd-calc__done[hidden] { display: none; }
  .pd-calc__done strong { display: block; font-family: 'Baloo 2', sans-serif; font-size: 1.4rem; margin-bottom: 4px; }

  @media (prefers-reduced-motion: reduce) { .pd-calc__cta { transition: none; } }

  /* Send me this quote (optional lead capture) */
  .pd-save { margin-top: 14px; text-align: center; }
  .pd-save[hidden] { display: none; }
  .pd-save__link { background: none; border: 0; padding: 6px 4px; font: inherit; color: var(--brown); cursor: pointer; }
  .pd-save__link strong { color: var(--pink-deep); text-decoration: underline; text-underline-offset: 3px; }
  .pd-save__form { text-align: left; margin-top: 14px; padding: 20px; border: 2px solid var(--pink-line); border-radius: 18px; background: var(--pink-wash); }
  .pd-save__form[hidden] { display: none; }
  .pd-save__form h3 { margin: 0 0 4px; font-size: 1.25rem; }
  .pd-save__lede { margin: 0 0 16px; font-size: .95rem; }
  .pd-save__row { margin-top: 14px; }
  .pd-save__row[hidden] { display: none; }
  .pd-save__row label { display: block; font-weight: 700; font-size: .92rem; margin-bottom: 6px; }
  .pd-save__row .pd-calc__input { width: 100%; background: #fff; }
  .pd-save__send { width: 100%; margin-top: 18px; padding: 14px; border: 0; border-radius: 999px; background: var(--pink); color: #fff; font: inherit; font-weight: 800; font-size: 1.05rem; cursor: pointer; }
  .pd-save__fine { margin: 10px 0 0; font-size: .82rem; text-align: center; opacity: .8; }
  .pd-save__done { margin: 14px 0 0; padding: 14px 18px; border-radius: 14px; background: #EAF5EC; color: var(--green); font-weight: 700; }
