.hspe-dog-widget {
  --hspe-dog-night: #fff8fb;
  --hspe-dog-night-soft: #fffdfb;
  --hspe-dog-ink: #30263a;
  --hspe-dog-muted: #5b5262;
  --hspe-dog-plum: #30263a;
  --hspe-dog-wine: #783657;
  --hspe-dog-rose: #368c94;
  --hspe-dog-gold: #835d2c;
  --hspe-dog-gold-light: #c7a86a;
  --hspe-dog-paper: #fffdfb;
  --hspe-dog-paper-soft: #fbf4fa;
  --hspe-dog-line: rgba(48, 38, 58, .13);
  --hspe-dog-card: rgba(255, 255, 255, .94);
  color: var(--hspe-dog-ink);
  font: inherit;
  line-height: 1.6;
  margin: clamp(24px, 5vw, 72px) auto;
  max-width: 1320px;
  padding: 0 clamp(10px, 2vw, 26px);
}
/* WordPress themes often force every content child into a narrow reading column. */
.hspe-dog-widget[data-hspe-dog-root] {
  width: min(1320px, calc(100vw - 32px)) !important;
  max-width: 1320px !important;
  margin-inline: calc(50% - min(660px, calc(50vw - 16px))) !important;
}
.hspe-dog-astro-engine-frame, .hspe-dog-astro-preview-frame { block-size: 1px; border: 0; clip-path: inset(50%); inline-size: 1px; inset-block-start: -2px; inset-inline-start: -2px; margin: 0; overflow: hidden; position: fixed; white-space: nowrap; }
.hspe-dog-widget *, .hspe-dog-widget *::before, .hspe-dog-widget *::after { box-sizing: border-box; }
.hspe-dog-widget [hidden] { display: none !important; }
.hspe-dog-shell {
  background:
    radial-gradient(ellipse at 83% -5%, rgba(111, 66, 116, .58), transparent 38%),
    radial-gradient(ellipse at 4% 84%, rgba(96, 50, 94, .33), transparent 36%),
    var(--hspe-dog-night);
  border: 1px solid rgba(215, 173, 105, .42);
  border-radius: 32px;
  box-shadow: 0 30px 95px rgba(22, 14, 32, .31), inset 0 1px 0 rgba(255,255,255,.06);
  color: #fff8ed;
  margin-inline: auto;
  max-width: 1180px;
  overflow: hidden;
  padding: clamp(18px, 3.7vw, 48px);
  position: relative;
}
.hspe-dog-shell::before {
  background: radial-gradient(circle, rgba(244, 220, 174, .92) 0 .8px, transparent 1.5px) 0 0 / 33px 33px;
  content: "";
  inset: 0;
  opacity: .12;
  pointer-events: none;
  position: absolute;
}
.hspe-dog-shell > * { position: relative; }
.hspe-dog-hero {
  align-items: center;
  display: grid;
  gap: clamp(18px, 3vw, 38px);
  grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr);
  margin: 0 auto clamp(24px, 4vw, 42px);
  max-width: 1080px;
  min-height: 290px;
}
.hspe-dog-hero-copy { max-width: 620px; }
.hspe-dog-premium-badge {
  border: 1px solid rgba(242,220,174,.34);
  border-radius: 999px;
  color: var(--hspe-dog-gold-light);
  display: inline-block;
  font-size: .67rem;
  font-weight: 850;
  letter-spacing: .13em;
  margin-bottom: 16px;
  padding: 7px 11px;
  text-transform: uppercase;
}
.hspe-dog-eyebrow, .hspe-dog-card-kicker {
  color: var(--hspe-dog-wine);
  display: inline-block;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .14em;
  line-height: 1.45;
  margin-bottom: 9px;
  text-transform: uppercase;
}
.hspe-dog-eyebrow { color: var(--hspe-dog-gold-light); display: block; }
.hspe-dog-hero h2 {
  color: #fff8ed;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.15rem, 5.4vw, 4.15rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.02;
  margin: 0 0 15px;
  max-width: 18ch;
}
.hspe-dog-hero p { color: rgba(249,243,233,.74); font-size: clamp(.97rem, 1.45vw, 1.13rem); margin: 0; max-width: 54ch; }
.hspe-dog-hero-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 19px; }
.hspe-dog-hero-pills span {
  border: 1px solid rgba(242,220,174,.25);
  border-radius: 999px;
  color: rgba(255,248,236,.88);
  font-size: .73rem;
  padding: 6px 11px;
}
.hspe-dog-hero-art {
  aspect-ratio: 1.72;
  border: 1px solid rgba(242,220,174,.34);
  border-radius: 22px;
  box-shadow: 0 18px 44px rgba(0,0,0,.28);
  display: block;
  justify-self: center;
  max-width: 520px;
  overflow: hidden;
  position: relative;
  width: 100%;
  background: #21182b;
}
.hspe-dog-hero-art img { display: block; height: 100%; max-height: none; max-width: none; object-fit: cover; object-position: center; width: 100%; }
.hspe-dog-workspace {
  background:
    radial-gradient(ellipse at 95% 0, rgba(225,192,139,.16), transparent 30rem),
    linear-gradient(142deg, #fffaf2 0%, #f8f2e9 52%, #f8eff4 100%);
  border: 1px solid rgba(226,193,141,.56);
  border-radius: 26px;
  box-shadow: 0 20px 55px rgba(7,5,15,.18), inset 0 1px 0 rgba(255,255,255,.95);
  color: var(--hspe-dog-ink);
  margin-inline: auto;
  max-width: 1080px;
  padding: clamp(15px, 3vw, 36px);
}
.hspe-dog-steps { align-items: center; display: flex; gap: 12px; margin: 0 auto 24px; max-width: 940px; }
.hspe-dog-steps span { align-items: center; color: #968895; display: inline-flex; font-size: .76rem; gap: 8px; white-space: nowrap; }
.hspe-dog-steps span.is-active { color: var(--hspe-dog-plum); font-weight: 800; }
.hspe-dog-steps b { align-items: center; border: 1px solid rgba(84,41,79,.19); border-radius: 50%; color: var(--hspe-dog-wine); display: inline-flex; font-size: .66rem; height: 27px; justify-content: center; width: 27px; }
.hspe-dog-steps .is-active b { background: var(--hspe-dog-plum); border-color: var(--hspe-dog-plum); color: white; }
.hspe-dog-steps i { background: rgba(84,41,79,.15); flex: 1; height: 1px; min-width: 14px; }
.hspe-dog-form {
  background: rgba(255,255,255,.64);
  border: 1px solid rgba(81,38,79,.13);
  border-radius: 22px;
  box-shadow: 0 10px 32px rgba(66,35,63,.055);
  margin: 0 auto;
  max-width: 970px;
  padding: clamp(15px, 2.7vw, 28px);
}
.hspe-dog-form-main { display: grid; gap: clamp(24px, 3vw, 42px); grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr); }
.hspe-dog-data-panel, .hspe-dog-wheel-panel { min-width: 0; }
.hspe-dog-section-heading { align-items: flex-start; display: flex; gap: 12px; margin: 0 0 18px; }
.hspe-dog-section-icon { align-items: center; background: #f0e4ee; border: 1px solid rgba(84,41,79,.12); border-radius: 50%; color: var(--hspe-dog-wine); display: inline-flex; flex: 0 0 34px; font-size: .65rem; font-weight: 850; height: 34px; justify-content: center; margin-top: 2px; width: 34px; }
.hspe-dog-section-heading h3 { color: var(--hspe-dog-plum); font: 600 clamp(1.25rem,2vw,1.65rem)/1.2 Georgia,"Times New Roman",serif; margin: 0; }
.hspe-dog-section-heading p { color: var(--hspe-dog-muted); font-size: .82rem; line-height: 1.5; margin: 5px 0 0; }
.hspe-dog-form-grid, .hspe-dog-observation-grid { display: grid; gap: 13px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.hspe-dog-manual-place:not([hidden]) { display: contents; }
.hspe-dog-field { color: #5b3a56; display: flex; flex-direction: column; font-size: .78rem; font-weight: 800; gap: 6px; min-width: 0; }
.hspe-dog-field--wide { grid-column: 1 / -1; }
.hspe-dog-field small { color: #88798a; font-size: .7rem; font-weight: 500; line-height: 1.45; }
.hspe-dog-widget input, .hspe-dog-widget select {
  appearance: none;
  background-color: rgba(255,255,255,.9);
  border: 1px solid rgba(92,56,87,.2);
  border-radius: 11px;
  color: var(--hspe-dog-ink);
  font: inherit;
  font-size: .87rem;
  font-weight: 500;
  line-height: 1.35;
  min-height: 43px;
  padding: 9px 11px;
  width: 100%;
}
.hspe-dog-widget select { background-image: linear-gradient(45deg, transparent 50%, #713c69 50%), linear-gradient(135deg, #713c69 50%, transparent 50%); background-position: calc(100% - 17px) 19px, calc(100% - 11px) 19px; background-repeat: no-repeat; background-size: 6px 6px; padding-inline-end: 33px; }
.hspe-dog-widget[dir="rtl"] select { background-position: 17px 19px, 11px 19px; }
.hspe-dog-widget input:focus-visible, .hspe-dog-widget select:focus-visible, .hspe-dog-widget button:focus-visible { outline: 3px solid rgba(169,79,120,.56); outline-offset: 2px; }
.hspe-dog-quick-breed { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 1px; }
.hspe-dog-chip { background: #f8eef4; border: 1px solid rgba(116,46,94,.2); border-radius: 999px; color: var(--hspe-dog-plum); cursor: pointer; font: inherit; font-size: .7rem; font-weight: 750; min-height: 34px; padding: 6px 10px; }
.hspe-dog-chip:hover { background: #f2e1ed; }
.hspe-dog-wheel-panel { border-inline-start: 1px solid rgba(84,41,79,.11); padding-inline-start: clamp(15px, 2.5vw, 30px); }
.hspe-dog-wheel {
  aspect-ratio: 1;
  background:
    radial-gradient(circle, rgba(255,255,255,.98) 0 24%, rgba(227,211,221,.92) 24.5% 25%, transparent 25.5%),
    radial-gradient(circle, #fffaf3 0 47%, rgba(222,195,153,.63) 47.25% 47.6%, #f1e5ee 47.9% 70%, rgba(103,66,97,.12) 70.3% 70.7%, transparent 71%),
    linear-gradient(145deg, #f4e8f0, #fff9ed);
  border: 1px solid rgba(101,61,94,.21);
  border-radius: 50%;
  box-shadow: inset 0 0 30px rgba(98,60,96,.08), 0 10px 30px rgba(75,41,71,.08);
  margin: 2px auto 18px;
  max-width: 490px;
  position: relative;
  width: 100%;
}
.hspe-dog-wheel-orbit { border: 1px solid rgba(213,173,103,.55); border-radius: 50%; inset: 16%; pointer-events: none; position: absolute; }
.hspe-dog-wheel-choice {
  align-items: center;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(81,38,79,.18);
  border-radius: 50%;
  box-shadow: 0 4px 11px rgba(51,25,53,.1);
  color: var(--hspe-dog-plum);
  cursor: pointer;
  display: flex;
  height: clamp(49px, 14%, 70px);
  justify-content: center;
  left: var(--wheel-x);
  padding: 4px;
  position: absolute;
  top: var(--wheel-y);
  transform: translate(-50%,-50%);
  transition: background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
  width: clamp(49px, 14%, 70px);
}
.hspe-dog-wheel-choice:hover { border-color: var(--hspe-dog-rose); box-shadow: 0 6px 15px rgba(51,25,53,.16); transform: translate(-50%,-50%) scale(1.06); }
.hspe-dog-wheel-choice[aria-pressed="true"] { background: linear-gradient(135deg,#71335f,#a94f78); border: 2px solid var(--hspe-dog-gold-light); box-shadow: 0 0 0 4px rgba(215,173,105,.22),0 8px 20px rgba(51,25,53,.2); }
.hspe-dog-wheel-choice img { display: block; height: 100%; max-width: 100%; object-fit: contain; width: 100%; }
.hspe-dog-wheel-number { background: var(--hspe-dog-paper); border-radius: 999px; bottom: -4px; color: var(--hspe-dog-wine); font-size: .49rem; font-weight: 900; line-height: 1; padding: 3px 4px; position: absolute; }
.hspe-dog-wheel-center {
  align-items: center;
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(81,38,79,.12);
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(59,35,61,.08);
  color: var(--hspe-dog-wine);
  display: flex;
  flex-direction: column;
  height: 40%;
  justify-content: center;
  left: 50%;
  line-height: 1.12;
  overflow: hidden;
  padding: 8px;
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 40%;
}
.hspe-dog-wheel-center img { height: 50%; max-width: 80%; object-fit: contain; }
.hspe-dog-wheel-center-spark { color: var(--hspe-dog-gold); font-size: 1.8rem; line-height: 1; }
.hspe-dog-wheel-center small { color: #9a7b4f; font-size: clamp(.38rem, .8vw, .55rem); font-weight: 850; letter-spacing: .1em; margin: 2px 0; text-transform: uppercase; }
.hspe-dog-wheel-center strong { color: var(--hspe-dog-plum); font: 700 clamp(.53rem,1.2vw,.78rem)/1.08 Georgia,"Times New Roman",serif; max-width: 100%; overflow-wrap: anywhere; }
.hspe-dog-wheel-center em { color: #88768a; font-size: clamp(.4rem,.75vw,.58rem); font-style: normal; margin-top: 3px; }
.hspe-dog-sign-gallery { display: grid; gap: 7px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.hspe-dog-gallery-choice { align-items: center; background: rgba(255,255,255,.68); border: 1px solid rgba(92,56,87,.14); border-radius: 12px; color: var(--hspe-dog-plum); cursor: pointer; display: flex; gap: 7px; min-height: 48px; min-width: 0; padding: 5px 7px; text-align: start; }
.hspe-dog-gallery-choice:hover { background: #fff; border-color: rgba(169,79,120,.5); }
.hspe-dog-gallery-choice[aria-pressed="true"] { background: #f3e3ee; border-color: var(--hspe-dog-rose); box-shadow: 0 0 0 2px rgba(169,79,120,.11); }
.hspe-dog-gallery-choice img { flex: 0 0 35px; height: 35px; object-fit: contain; width: 35px; }
.hspe-dog-gallery-choice span { font-size: .64rem; font-weight: 800; line-height: 1.2; overflow-wrap: anywhere; }
.hspe-dog-observations { border: 0; border-top: 1px solid rgba(84,41,79,.12); margin: 24px 0 0; padding: 19px 0 0; }
.hspe-dog-observations legend { color: var(--hspe-dog-plum); font: 600 1.25rem/1.2 Georgia,"Times New Roman",serif; padding: 0 9px 0 0; }
.hspe-dog-observations > p { color: var(--hspe-dog-muted); font-size: .8rem; margin: 0 0 14px; }
.hspe-dog-observation-grid { gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.hspe-dog-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.hspe-dog-primary, .hspe-dog-secondary {
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  font-size: .86rem;
  font-weight: 850;
  min-height: 45px;
  padding: 10px 18px;
  transition: transform .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.hspe-dog-primary { background: linear-gradient(115deg,#6d315e,#99466e 58%,#b87c4d); border: 1px solid transparent; box-shadow: 0 8px 19px rgba(91,37,79,.2); color: #fffaf3; }
.hspe-dog-secondary { background: transparent; border: 1px solid rgba(81,38,79,.24); color: var(--hspe-dog-plum); }
.hspe-dog-primary:hover, .hspe-dog-secondary:hover { transform: translateY(-1px); }
.hspe-dog-primary:disabled { cursor: wait; opacity: .62; transform: none; }
.hspe-dog-form-privacy { color: var(--hspe-dog-muted); font-size: .73rem; margin: 14px 0 0; }
.hspe-dog-status { align-items: center; color: var(--hspe-dog-plum); display: flex; gap: 12px; margin: 18px auto 0; max-width: 970px; min-height: 28px; }
.hspe-dog-status progress { accent-color: var(--hspe-dog-rose); height: 9px; max-width: 110px; width: 24%; }
.hspe-dog-error, .hspe-dog-load-error { background: #fff1ef; border: 1px solid #d78e88; border-radius: 12px; color: #762c30; margin: 15px auto 0; max-width: 970px; padding: 12px 15px; }
.hspe-dog-result { margin: clamp(22px,4vw,38px) auto 0; max-width: 1080px; }
.hspe-dog-result-card { animation: hspeDogReveal .3s ease-out both; }
.hspe-dog-result-title { color: #fff8ed; font: 500 clamp(1.8rem,3.8vw,2.8rem)/1.08 Georgia,"Times New Roman",serif; margin: 0 0 10px; }
.hspe-dog-result-intro { color: rgba(249,243,233,.72); font-size: 1rem; margin: 0 0 20px; }
.hspe-dog-name { color: var(--hspe-dog-gold-light); font-weight: 850; }
.hspe-dog-sign-card, .hspe-dog-result-block {
  background: linear-gradient(145deg,#fffaf3,#f7eff4);
  border: 1px solid rgba(232,196,127,.42);
  border-radius: 20px;
  box-shadow: 0 16px 36px rgba(0,0,0,.13),inset 0 1px 0 #fff;
  color: var(--hspe-dog-ink);
  margin: 14px 0;
  padding: clamp(16px,2.6vw,25px);
}
.hspe-dog-sign-card { align-items: center; display: grid; gap: clamp(14px,3vw,28px); grid-template-columns: minmax(105px,190px) minmax(0,1fr); }
.hspe-dog-sign-card img { display: block; height: auto; max-width: 190px; width: 100%; }
.hspe-dog-sign-card h3, .hspe-dog-result-block h3 { color: var(--hspe-dog-plum); font: 600 clamp(1.25rem,2.5vw,1.72rem)/1.2 Georgia,"Times New Roman",serif; margin: 0 0 8px; }
.hspe-dog-sign-card p, .hspe-dog-result-block p { color: var(--hspe-dog-muted); margin: 9px 0 0; }
.hspe-dog-constellation, .hspe-dog-group { color: var(--hspe-dog-wine) !important; font-size: .84rem; font-weight: 750; }
.hspe-dog-result-block h4 { color: var(--hspe-dog-wine); font-size: 1rem; margin: 6px 0 0; }
.hspe-dog-traits, .hspe-dog-observation-list, .hspe-dog-relationship-list { display: grid; gap: 8px; list-style: none; margin: 13px 0 0; padding: 0; }
.hspe-dog-traits li { background: #f2e7ef; border-radius: 999px; color: var(--hspe-dog-plum); display: inline-flex; justify-self: start; padding: 5px 11px; }
.hspe-dog-observation-list li { align-items: baseline; border-bottom: 1px solid var(--hspe-dog-line); display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: space-between; padding: 8px 0; }
.hspe-dog-observation-list li strong { color: var(--hspe-dog-plum); }
.hspe-dog-observation-list li span { color: var(--hspe-dog-muted); }
.hspe-dog-owner-name { color: var(--hspe-dog-wine) !important; font-size: 1.35rem; font-weight: 850; }
.hspe-dog-owner-natal-chart { background: linear-gradient(145deg,#fffdfb,#eef8f6 62%,#fbf6f4); border-color: rgba(131,93,44,.25); color: #30263a; overflow: hidden; }
.hspe-dog-owner-natal-chart h3 { color: #30263a; }
.hspe-dog-owner-natal-chart > p { color: #5b5262; }
.hspe-dog-natal-wheel { margin: 4px auto 0; max-width: 620px; width: 100%; }
.hspe-dog-natal-svg { display: block; height: auto; max-height: 680px; overflow: visible; width: 100%; }
.hspe-dog-natal-ring { fill: none; stroke: rgba(232,211,182,.2); stroke-width: 1; }
.hspe-dog-natal-ring.is-outer { stroke: rgba(232,211,182,.55); stroke-width: 1.2; }
.hspe-dog-natal-ring.is-inner { stroke: rgba(232,211,182,.11); }
.hspe-dog-natal-tick { stroke: rgba(229,204,174,.25); stroke-width: .8; }
.hspe-dog-natal-tick.is-medium { stroke: rgba(229,204,174,.42); stroke-width: 1; }
.hspe-dog-natal-tick.is-major { stroke: rgba(237,211,169,.82); stroke-width: 1.35; }
.hspe-dog-natal-spoke { stroke: rgba(229,204,174,.2); stroke-width: 1; }
.hspe-dog-natal-sign { fill: #ddc7a4; font: 19px Georgia,"Times New Roman",serif; }
.hspe-dog-natal-sign.is-aries, .hspe-dog-natal-sign.is-leo, .hspe-dog-natal-sign.is-sagittarius { fill: #e6a47f; }
.hspe-dog-natal-sign.is-taurus, .hspe-dog-natal-sign.is-virgo, .hspe-dog-natal-sign.is-capricorn { fill: #c7bc8b; }
.hspe-dog-natal-sign.is-gemini, .hspe-dog-natal-sign.is-libra, .hspe-dog-natal-sign.is-aquarius { fill: #a9c5c4; }
.hspe-dog-natal-sign.is-cancer, .hspe-dog-natal-sign.is-scorpio, .hspe-dog-natal-sign.is-pisces { fill: #aeb8e0; }
.hspe-dog-natal-svg.is-time-unknown .hspe-dog-natal-sign circle { fill: rgba(221,199,164,.06); stroke: rgba(221,199,164,.24); stroke-width: 1; }
.hspe-dog-natal-svg.is-time-unknown .hspe-dog-natal-sign.is-possible-sun circle { fill: rgba(237,211,169,.19); stroke: #efcd91; stroke-width: 1.5; }
.hspe-dog-natal-svg.is-time-unknown .hspe-dog-natal-sign.is-possible-moon circle { stroke: #b8c5ee; stroke-width: 1.5; }
.hspe-dog-natal-svg.is-time-unknown .hspe-dog-natal-sign.is-possible-sun.is-possible-moon circle { fill: rgba(197,174,226,.26); stroke: #d5c1f0; stroke-width: 2; }
.hspe-dog-natal-axis { stroke: rgba(237,211,169,.72); stroke-width: 1.25; stroke-dasharray: 4 4; }
.hspe-dog-natal-axis.is-mc { stroke: rgba(180,160,211,.72); }
.hspe-dog-natal-aspect { fill: none; opacity: .72; stroke-width: 1; }
.hspe-dog-natal-aspect.is-conjunction { stroke: #e2bd79; }
.hspe-dog-natal-aspect.is-opposition,.hspe-dog-natal-aspect.is-square { stroke: #d291bd; }
.hspe-dog-natal-aspect.is-trine { stroke: #92b9de; }
.hspe-dog-natal-aspect.is-sextile { stroke: #94c5b3; stroke-dasharray: 2 2; }
.hspe-dog-natal-axis-label circle { fill: #1c2340; stroke: #efcd91; stroke-width: 1.15; }
.hspe-dog-natal-axis-label.is-mc circle { stroke: #c5a6e5; }
.hspe-dog-natal-axis-label text { fill: #fff8ed; font: 700 7px Arial,sans-serif; }
.hspe-dog-natal-planet circle { fill: #1a2341; stroke: #f1d39c; stroke-width: 1.3; }
.hspe-dog-natal-planet text { fill: #fff8ed; font: 14px Georgia,"Times New Roman",serif; }
.hspe-dog-natal-planet.is-moon circle, .hspe-dog-natal-planet.is-venus circle { stroke: #d7b4dd; }
.hspe-dog-natal-center { fill: rgba(14,20,39,.9); stroke: rgba(237,211,169,.26); stroke-width: 1; }
.hspe-dog-natal-star { fill: #f0d59e; font: 21px Georgia,"Times New Roman",serif; }
.hspe-dog-relationship-list li { border-inline-start: 3px solid var(--hspe-dog-gold); color: var(--hspe-dog-muted); padding: 4px 12px; }
.hspe-dog-relationship-map {
  background: linear-gradient(145deg,#f1f9f7 0%,#fffdfb 58%,#fbf6f7 100%);
  border: 1px solid rgba(71,157,163,.24);
  border-radius: 22px;
  color: #30263a;
  margin: 16px 0;
  overflow: hidden;
  padding: clamp(14px,2.5vw,23px);
  position: relative;
}
.hspe-dog-relationship-map::before { background: radial-gradient(circle,rgba(142,117,65,.54) 0 .7px,transparent 1.4px) 0 0 / 37px 37px; content: ""; inset: 0; opacity: .045; pointer-events: none; position: absolute; }
.hspe-dog-relationship-map > * { position: relative; }
.hspe-dog-relationship-map-heading { margin: 0 auto 15px; max-width: 1100px; }
.hspe-dog-relationship-map-heading h4 { color: #30263a; font: 500 clamp(1.2rem,2vw,1.65rem)/1.18 Georgia,"Times New Roman",serif; margin: 0; }
.hspe-dog-relationship-map-heading p { color: #5b5262 !important; font-size: .8rem; line-height: 1.55; margin: 6px 0 0 !important; max-width: 82ch; }
.hspe-dog-relationship-map-layout { align-items: center; display: grid; gap: clamp(17px,3vw,36px); grid-template-columns: minmax(245px,.82fr) minmax(0,1.18fr); margin-inline: auto; max-width: 1100px; }
.hspe-dog-relationship-map-details { grid-column: 2; min-width: 0; }
.hspe-dog-relationship-wheel { display: block; filter: drop-shadow(0 5px 12px rgba(48,38,58,.08)); grid-column: 1; grid-row: 1; margin: 0 auto; max-width: 360px; overflow: visible; width: 100%; }
.hspe-dog-map-field { fill: rgba(255,255,255,.58); stroke: rgba(71,132,136,.32); stroke-width: 1; }
.hspe-dog-map-ring { fill: none; stroke: rgba(71,132,136,.22); stroke-width: 1; }
.hspe-dog-map-spoke { stroke: rgba(71,132,136,.22); stroke-width: 1; }
.hspe-dog-map-tick { stroke: rgba(131,93,44,.48); stroke-width: 1; }
.hspe-dog-map-area { stroke-width: 2.2; stroke-linejoin: round; }
.hspe-dog-map-area.is-owner { fill: rgba(198,167,103,.2); stroke: #9a793c; }
.hspe-dog-map-area.is-dog { fill: rgba(76,169,173,.18); stroke: #368c94; }
.hspe-dog-map-point.is-owner { fill: #c6a767; stroke: #fffdfb; stroke-width: 2.2; }
.hspe-dog-map-point.is-dog { fill: #55aeb3; stroke: #fffdfb; stroke-width: 1.6; }
.hspe-dog-map-heart { fill: #fffdfb; stroke: rgba(131,93,44,.65); stroke-width: 1.2; }
.hspe-dog-map-heart-mark { fill: #783657; font: 23px Georgia,serif; }
.hspe-dog-map-legend { display: grid; gap: 8px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0 0 13px; }
.hspe-dog-map-legend > span { background: rgba(255,255,255,.82); border: 1px solid rgba(48,38,58,.12); border-radius: 13px; display: grid; grid-template-columns: 10px minmax(0,1fr); min-width: 0; padding: 9px 10px; }
.hspe-dog-map-legend i { align-self: center; background: #c6a767; border-radius: 50%; grid-row: span 2; height: 8px; width: 8px; }
.hspe-dog-map-legend i.is-dog { background: #55aeb3; }
.hspe-dog-map-legend small { color: #6d6471; font-size: .58rem; letter-spacing: .07em; line-height: 1.35; text-transform: uppercase; }
.hspe-dog-map-legend strong { color: #30263a; font: 500 .83rem/1.3 Georgia,"Times New Roman",serif; overflow-wrap: anywhere; }
.hspe-dog-map-scale { align-items: center; color: #6d6471; display: grid; font-size: .58rem; gap: 8px; grid-template-columns: minmax(0,92px) minmax(0,1fr) 36px; margin: 0 10px 5px; }
.hspe-dog-map-scale > span:first-child { line-height: 1.2; }
.hspe-dog-map-scale > div { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); text-align: center; }
.hspe-dog-map-scale i { font-style: normal; }
.hspe-dog-map-axes { display: grid; gap: 7px; grid-template-columns: 1fr; }
.hspe-dog-map-axis { background: rgba(255,255,255,.82); border: 1px solid rgba(48,38,58,.12); border-radius: 11px; display: grid; gap: 6px; min-width: 0; padding: 8px 10px; }
.hspe-dog-map-axis-name { color: #493f4d; font-size: .75rem; font-weight: 750; line-height: 1.25; }
.hspe-dog-map-series { align-items: center; display: grid; gap: 8px; grid-template-columns: minmax(0,92px) minmax(0,1fr) 36px; min-width: 0; }
.hspe-dog-map-series-label { align-items: center; color: #5b5262; display: flex; font-size: .62rem; gap: 5px; line-height: 1.2; min-width: 0; overflow-wrap: anywhere; }
.hspe-dog-map-series-label i { background: #c6a767; border: 1px solid #fffdfb; border-radius: 50%; flex: 0 0 8px; height: 8px; }
.hspe-dog-map-series.is-dog .hspe-dog-map-series-label i { background: #55aeb3; }
.hspe-dog-map-track { display: grid; gap: 3px; grid-template-columns: repeat(5,minmax(0,1fr)); height: 13px; min-width: 0; }
.hspe-dog-map-track i { background: rgba(48,38,58,.075); border: 1px solid rgba(48,38,58,.08); border-radius: 3px; }
.hspe-dog-map-track i.is-active.is-owner { background: #c6a767; border-color: #9a793c; box-shadow: none; }
.hspe-dog-map-track i.is-active.is-dog { background: #55aeb3; border-color: #368c94; box-shadow: none; }
.hspe-dog-map-value { color: #493f4d; font: 700 .67rem/1 ui-monospace,SFMono-Regular,Menlo,monospace; text-align: end; white-space: nowrap; }
.hspe-dog-match-grid { display: grid; gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 15px; }
.hspe-dog-match-card { background: rgba(255,255,255,.75); border: 1px solid var(--hspe-dog-line); border-radius: 15px; min-width: 0; padding: 15px; }
.hspe-dog-rank { color: #b38b52; display: block; font: 800 1.35rem/1 Georgia,serif; }
.hspe-dog-match-card h4 { color: var(--hspe-dog-plum); font-size: .98rem; line-height: 1.3; margin: 5px 0 8px; }
.hspe-dog-match-card p { color: var(--hspe-dog-muted); font-size: .85rem; margin: 8px 0 0; }
.hspe-dog-note { font-size: .84rem !important; }
.hspe-dog-disclaimer, .hspe-dog-privacy { color: rgba(249,243,233,.68); font-size: .78rem; margin: 17px auto 0; max-width: 940px; }
.hspe-dog-copy-helper { height: 1px !important; inset-inline-start: -9999px !important; opacity: 0 !important; position: fixed !important; width: 1px !important; }
.hspe-dog-premium-offer {
  background: linear-gradient(148deg,#fffaf2 0%,#f6edf3 100%);
  border: 1px solid rgba(232,196,127,.52);
  border-radius: 24px;
  box-shadow: 0 20px 48px rgba(0,0,0,.2);
  color: var(--hspe-dog-ink);
  margin: 23px 0;
  overflow: hidden;
  padding: clamp(17px,3vw,30px);
}
.hspe-dog-premium-heading { align-items: start; border-bottom: 1px solid var(--hspe-dog-line); display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; margin-bottom: 21px; padding-bottom: 18px; }
.hspe-dog-premium-kicker, .hspe-dog-premium-sample-label { color: var(--hspe-dog-wine); display: block; font-size: .65rem; font-weight: 900; letter-spacing: .14em; margin-bottom: 7px; text-transform: uppercase; }
.hspe-dog-premium-heading h3 { color: var(--hspe-dog-plum); font: 600 clamp(1.45rem,3vw,2.15rem)/1.08 Georgia,"Times New Roman",serif; margin: 0; }
.hspe-dog-premium-heading p { color: var(--hspe-dog-muted); font-size: .85rem; margin: 8px 0 0; max-width: 760px; }
.hspe-dog-premium-count { color: #94713f; flex: 0 0 auto; font-size: .72rem; font-weight: 850; }
.hspe-dog-premium-action { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 17px; }
.hspe-dog-premium-purchase { align-items: center; background: linear-gradient(135deg,#f2dcae,#d8ad67); border: 1px solid rgba(255,255,255,.38); border-radius: 999px; box-shadow: 0 9px 22px rgba(57,34,53,.16); color: #261b2c; cursor: pointer; display: inline-flex; font: inherit; font-size: .77rem; font-weight: 900; gap: 10px; justify-content: center; min-height: 46px; padding: 10px 18px; text-decoration: none; transition: transform .18s ease,box-shadow .18s ease; }
.hspe-dog-premium-purchase:hover { transform: translateY(-1px); }
.hspe-dog-premium-note { color: var(--hspe-dog-muted); font-size: .72rem; }
.hspe-dog-checkout-help { flex-basis: 100%; line-height: 1.55; margin: 0; }
.hspe-dog-checkout-help a { color: var(--hspe-dog-plum); font-weight: 850; text-decoration: underline; text-underline-offset: 3px; }

.hspe-dog-premium-purchase:disabled { cursor: not-allowed; opacity: .58; }
.hspe-dog-order-form { margin: 2rem 0 0; padding: clamp(1.1rem, 3vw, 2rem); border: 1px solid rgba(113, 75, 108, .24); border-radius: 1.4rem; background: linear-gradient(145deg, #fff 0%, #fbf8fc 72%, #f6f0f7 100%); box-shadow: 0 22px 60px rgba(52, 31, 62, .10); }
.hspe-dog-order-form[hidden] { display: none; }
.hspe-dog-order-form > header { max-width: 48rem; margin-bottom: 1.5rem; }
.hspe-dog-order-form > header h3 { margin: .3rem 0 .55rem; color: #34243b; font: 700 clamp(1.45rem, 2.8vw, 2rem)/1.15 Georgia, serif; }
.hspe-dog-order-form > header p { margin: .45rem 0; color: #62586a; line-height: 1.65; }
.hspe-dog-order-form .hspe-dog-order-language-note { color: #714b6c; font-weight: 700; }
.hspe-dog-order-form fieldset { min-width: 0; margin: 1.1rem 0; padding: 1.1rem; border: 1px solid #e7dfe9; border-radius: 1rem; background: rgba(255,255,255,.82); }
.hspe-dog-order-form legend { padding: 0 .45rem; color: #714b6c; font-weight: 800; }
.hspe-dog-order-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem 1rem; }
.hspe-dog-order-fields > label { display: flex; min-width: 0; flex-direction: column; gap: .38rem; color: #493a4f; font-size: .94rem; font-weight: 700; }
.hspe-dog-order-fields input:not([type="checkbox"]):not([type="radio"]), .hspe-dog-order-fields select { width: 100%; min-height: 2.9rem; padding: .65rem .75rem; border: 1px solid #d8cdda; border-radius: .65rem; background: #fff; color: #302635; font: inherit; }
.hspe-dog-order-fields input:focus, .hspe-dog-order-fields select:focus { outline: 3px solid rgba(113,75,108,.18); border-color: #714b6c; }
.hspe-dog-order-wide { grid-column: 1 / -1; }
.hspe-dog-order-check { display: flex; align-items: center; align-self: end; gap: .6rem; min-height: 2.9rem; color: #493a4f; font-weight: 650; }
.hspe-dog-order-check input, .hspe-dog-order-consents input { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; accent-color: #714b6c; }
.hspe-dog-location-field { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: .55rem .75rem; min-width: 0; }
.hspe-dog-location-field > label { display: flex; min-width: 0; flex-direction: column; gap: .38rem; color: #493a4f; font-size: .94rem; font-weight: 700; }
.hspe-dog-location-field input { width: 100%; min-height: 2.9rem; padding: .65rem .75rem; border: 1px solid #d8cdda; border-radius: .65rem; background: #fff; color: #302635; font: inherit; }
.hspe-dog-location-field input:focus { outline: 3px solid rgba(113,75,108,.18); border-color: #714b6c; }
.hspe-dog-location-button { min-height: 2.9rem; padding: .65rem .9rem; border: 1px solid #c9b9cd; border-radius: .65rem; background: #fff; color: #59385f; font: inherit; font-size: .86rem; font-weight: 800; cursor: pointer; }
.hspe-dog-location-button:hover { background: #f7f0f7; }
.hspe-dog-location-button:disabled { cursor: wait; opacity: .65; }
.hspe-dog-location-note, .hspe-dog-location-status { grid-column: 1 / -1; margin: 0; color: #716978; font-size: .82rem; line-height: 1.5; }
.hspe-dog-location-status:not([hidden]) { padding: .55rem .7rem; border-radius: .5rem; background: #f3edf5; color: #59385f; }
.hspe-dog-order-form details { padding: .75rem; border: 1px dashed #d8cdda; border-radius: .7rem; }
.hspe-dog-order-form details summary { color: #714b6c; cursor: pointer; font-weight: 750; }
.hspe-dog-order-help { margin: .15rem 0; color: #716978; font-size: .88rem; line-height: 1.55; }
.hspe-dog-order-consents { display: grid; gap: .85rem; margin: 1.3rem 0; color: #514656; font-size: .91rem; line-height: 1.55; }
.hspe-dog-order-consents label { display: flex; align-items: flex-start; gap: .7rem; cursor: pointer; }
.hspe-dog-order-consents input { appearance: auto !important; -webkit-appearance: checkbox !important; position: static !important; display: inline-block !important; opacity: 1 !important; pointer-events: auto !important; margin: .2rem 0 0 !important; width: 1.25rem !important; height: 1.25rem !important; }
.hspe-dog-order-consents a { color: #714b6c; font-weight: 750; text-underline-offset: 3px; }
.hspe-dog-order-consents p { margin: 0; color: #716978; font-size: .84rem; }
.hspe-dog-order-submit { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1rem; }
.hspe-dog-order-submit span { color: #716978; font-size: .85rem; }
.hspe-dog-order-message { margin: 1rem 0; padding: .85rem 1rem; border-radius: .7rem; background: #f7f0f2; color: #7c293d; line-height: 1.5; }
.hspe-dog-order-message.is-error { border: 1px solid #e9c7ce; }
.hspe-dog-order-message[hidden] { display: none; }
.hspe-dog-payment-unavailable { margin: 0 0 1rem; padding: 1rem 1.15rem; border: 1px solid #d8c6a3; border-radius: 16px; background: #fbf5e9; color: #4a3b2c; font-size: .96rem; line-height: 1.6; }
.hspe-dog-paid-page { min-height: 100vh; padding: clamp(1rem, 4vw, 3rem); background: radial-gradient(circle at 10% 5%, #f4e9f3, transparent 34rem), #f8f6f7; }
.hspe-dog-paid-page #hspe-dog-report-app { max-width: 1120px; margin: 0 auto; }
.hspe-dog-account-entry { margin: 0 auto 18px; max-width: 1120px; }
.hspe-dog-account-entry a { align-items: center; background: #fbf8f2; border: 1px solid #e8dece; border-radius: 14px; color: #4b3b50; display: inline-flex; font-size: 13px; font-weight: 650; gap: 10px; padding: 11px 15px; text-decoration: none; }
.hspe-dog-account-entry a:hover,.hspe-dog-account-entry a:focus-visible { background: #f3ebdc; border-color: #cdb889; color: #33243a; }
.hspe-dog-premium-login-link { display: inline-flex; text-decoration: none; }
@media (max-width: 680px) {
  .hspe-dog-order-fields { grid-template-columns: 1fr; }
  .hspe-dog-order-wide { grid-column: auto; }
  .hspe-dog-order-form fieldset { padding: .9rem; }
  .hspe-dog-location-field { grid-template-columns: 1fr; }
  .hspe-dog-location-button { width: 100%; }
}
.hspe-dog-premium-dog-report { border-top: 1px solid var(--hspe-dog-line); margin-top: 22px; padding-top: 20px; }
.hspe-dog-premium-sample { background: linear-gradient(140deg,#f5ecdf,#f5eaf1); border: 1px solid rgba(154,120,62,.15); border-radius: 14px; margin: 14px 0; padding: 15px 17px; }
.hspe-dog-premium-sample h5 { color: var(--hspe-dog-plum); font: 600 1.12rem/1.25 Georgia,"Times New Roman",serif; margin: 0; }
.hspe-dog-premium-sample p { color: var(--hspe-dog-muted); font-size: .83rem; margin: 8px 0 0; }
.hspe-dog-demo-sign { align-items: center; display: grid; gap: 18px; grid-template-columns: 112px minmax(0,1fr); }
.hspe-dog-demo-sign img { display: block; height: 112px; object-fit: contain; width: 112px; }
.hspe-dog-demo-sign h4 { color: var(--hspe-dog-plum); font: 600 1.2rem/1.2 Georgia,"Times New Roman",serif; margin: 7px 0 0; }
.hspe-dog-demo-person { color: var(--hspe-dog-muted); display: inline-block; font-size: .72rem; margin-inline-end: 12px; }
.hspe-dog-demo-map { background: linear-gradient(145deg,#281d35,#34223b); border: 1px solid rgba(215,173,105,.32); border-radius: 18px; color: #fff8ed; margin-top: 18px; padding: clamp(15px,2.7vw,24px); }
.hspe-dog-demo-map > header { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; }
.hspe-dog-demo-map h4 { color: #fff5e9; font: 500 clamp(1.1rem,2.4vw,1.5rem)/1.2 Georgia,"Times New Roman",serif; margin: 0; }
.hspe-dog-demo-map p { color: rgba(249,243,233,.68); font-size: .75rem; line-height: 1.5; margin: 5px 0 0; max-width: 68ch; }
.hspe-dog-demo-legend { color: rgba(249,243,233,.78); display: flex; flex: 0 0 auto; font-size: .65rem; gap: 12px; }
.hspe-dog-demo-legend span::before { background: #e0bd79; border-radius: 50%; content: ""; display: inline-block; height: 7px; margin-inline-end: 5px; width: 7px; }
.hspe-dog-demo-legend span + span::before { background: #bd8bb8; }
.hspe-dog-demo-map ul { display: grid; gap: 10px 22px; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; margin: 17px 0 0; padding: 0; }
.hspe-dog-demo-wheel-section { background: rgba(255,255,255,.5); border: 1px solid rgba(84,41,79,.11); border-radius: 18px; margin: 18px 0; padding: clamp(14px,2.3vw,23px); }
.hspe-dog-demo-wheel-section .hspe-dog-premium-heading { margin-bottom: 17px; }
.hspe-dog-demo-wheel-layout { align-items: center; display: grid; gap: clamp(16px,3vw,30px); grid-template-columns: minmax(250px,.9fr) minmax(0,1.1fr); }
.hspe-dog-demo-wheel-layout .hspe-dog-wheel { max-width: 410px; }
.hspe-dog-demo-wheel-note { background: rgba(255,255,255,.82); border: 1px solid rgba(84,41,79,.1); border-radius: 14px; color: var(--hspe-dog-muted); font-size: .78rem; line-height: 1.65; margin: 0; padding: 15px; }
.hspe-dog-demo-axis { align-items: center; display: grid; gap: 10px; grid-template-columns: minmax(100px,.75fr) minmax(0,1.25fr); }
.hspe-dog-demo-axis-name { color: rgba(255,248,236,.84); font-size: .7rem; }
.hspe-dog-demo-pair { display: grid; gap: 4px; }
.hspe-dog-demo-track { background: rgba(255,255,255,.12); border-radius: 999px; display: block; height: 5px; overflow: hidden; }
.hspe-dog-demo-track b { background: #e0bd79; border-radius: inherit; display: block; height: 100%; }
.hspe-dog-demo-track.is-dog b { background: #bd8bb8; }
.hspe-dog-premium-chapters { display: grid; gap: 9px; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; margin: 0; padding: 0; }
.hspe-dog-premium-chapter { align-items: flex-start; background: rgba(255,255,255,.72); border: 1px solid rgba(84,41,79,.11); border-radius: 12px; display: flex; gap: 11px; min-width: 0; padding: 12px; }
.hspe-dog-premium-chapter > span { color: #a17c48; flex: 0 0 auto; font: 800 .72rem/1.3 Georgia,serif; }
.hspe-dog-premium-chapter h4 { color: var(--hspe-dog-plum); font-size: .82rem; line-height: 1.3; margin: 0; }
.hspe-dog-reviews { border-top: 1px solid rgba(84,41,79,.13); margin-top: 24px; padding-top: 20px; }
.hspe-dog-reviews > header { margin-bottom: 14px; }
.hspe-dog-reviews > header h4 { color: var(--hspe-dog-plum); font: 600 clamp(1.1rem,2.2vw,1.45rem)/1.2 Georgia,"Times New Roman",serif; margin: 0; }
.hspe-dog-reviews > header p { color: var(--hspe-dog-muted); font-size: .76rem; line-height: 1.55; margin: 7px 0 0; max-width: 82ch; }
.hspe-dog-review-grid { display: grid; gap: 11px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.hspe-dog-review { background: rgba(255,255,255,.78); border: 1px solid rgba(84,41,79,.12); border-radius: 14px; display: flex; flex-direction: column; justify-content: space-between; margin: 0; min-width: 0; padding: 15px; }
.hspe-dog-review blockquote { margin: 0; }
.hspe-dog-review blockquote p { color: #463a49; font: 400 .83rem/1.62 Georgia,"Times New Roman",serif; margin: 0; }
.hspe-dog-review figcaption { color: var(--hspe-dog-wine); font-size: .73rem; font-weight: 850; margin-top: 13px; }
.hspe-dog-result-card > .hspe-dog-actions { margin-top: 19px; }
.hspe-dog-widget[dir="rtl"] .hspe-dog-observation-list li { text-align: start; }

/* Three-stage Premium journey: calculations first, purchase only after the bond map. */
.hspe-dog-journey-entry { align-items: center; border: 1px solid rgba(84,41,79,.13); border-radius: 16px; background: linear-gradient(125deg,rgba(255,255,255,.88),rgba(249,241,247,.85)); display: flex; flex-wrap: wrap; gap: 10px 16px; justify-content: space-between; margin: 0 auto 20px; max-width: 940px; padding: 15px 18px; }
.hspe-dog-journey-entry .hspe-dog-premium-note { line-height: 1.5; }
.hspe-dog-journey-entry[hidden], .hspe-dog-premium-offer[hidden] { display: none !important; }
.hspe-dog-demo-callout { flex: 1 1 310px; min-width: 0; }
.hspe-dog-demo-cta { align-items: center; background: linear-gradient(115deg,#fff 0%,#fbf5fa 100%); border: 1px solid rgba(113,75,108,.34); border-radius: 15px; box-shadow: 0 5px 18px rgba(52,31,62,.08); color: #49304e; display: flex; gap: 12px; min-height: 82px; padding: 9px 14px; text-decoration: none; transition: box-shadow .18s ease,transform .18s ease,border-color .18s ease; }
.hspe-dog-demo-cta:hover { border-color: rgba(113,75,108,.7); box-shadow: 0 9px 24px rgba(52,31,62,.13); color: #49304e; transform: translateY(-1px); }
.hspe-dog-demo-cta:focus-visible { outline: 3px solid #8b5b85; outline-offset: 3px; }
.hspe-dog-demo-cta img { flex: 0 0 56px; height: 56px; object-fit: contain; width: 56px; }
.hspe-dog-demo-cta-copy { display: grid; flex: 1 1 auto; gap: 4px; min-width: 0; }
.hspe-dog-demo-cta-copy strong { color: #49304e; font-size: .98rem; font-weight: 850; line-height: 1.2; }
.hspe-dog-demo-cta-copy small { color: #756978; font-size: .74rem; line-height: 1.4; }
.hspe-dog-demo-cta-arrow { align-items: center; background: #f1e7f0; border-radius: 50%; color: #714b6c; display: inline-flex; flex: 0 0 30px; font-size: 1.1rem; height: 30px; justify-content: center; }
.hspe-dog-demo-callout > p { color: var(--hspe-dog-muted); font-size: .73rem; line-height: 1.5; margin: 8px 3px 0; }
.hspe-dog-premium-guest-choice { min-height: 42px; }
.hspe-dog-premium-login-link { color: var(--hspe-dog-wine); font-size: .8rem; font-weight: 800; text-underline-offset: 3px; }
.hspe-dog-journey-progress { margin: 0 auto 23px; max-width: 940px; }
.hspe-dog-journey-progress ol { align-items: stretch; counter-reset: journey; display: grid; gap: 8px; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; margin: 0; padding: 0; }
.hspe-dog-journey-progress li { align-items: center; background: rgba(255,255,255,.63); border: 1px solid rgba(84,41,79,.13); border-radius: 999px; color: #756978; display: flex; font-size: .78rem; gap: 9px; min-height: 42px; min-width: 0; padding: 6px 12px; }
.hspe-dog-journey-progress li > span { align-items: center; background: #f1eaf0; border: 1px solid rgba(84,41,79,.15); border-radius: 50%; color: #714b6c; display: inline-flex; flex: 0 0 27px; font-size: .65rem; font-weight: 850; height: 27px; justify-content: center; }
.hspe-dog-journey-progress li.is-current { background: #fff; border-color: rgba(113,75,108,.48); box-shadow: 0 5px 16px rgba(52,31,62,.08); color: #49304e; font-weight: 800; }
.hspe-dog-journey-progress li.is-current > span { background: #714b6c; color: #fff; }
.hspe-dog-journey-progress li.is-complete > span { background: #547a63; border-color: #547a63; color: white; }
.hspe-dog-flow-panel { animation: hspeDogReveal .26s ease-out both; min-width: 0; }
.hspe-dog-flow-panel > h4 { color: #34243b; font: 600 clamp(1.28rem,2.4vw,1.8rem)/1.2 Georgia,"Times New Roman",serif; margin: 0 0 .5rem; }
.hspe-dog-flow-panel > .hspe-dog-order-help { margin-bottom: 1rem; max-width: 76ch; }
.hspe-dog-flow-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; margin-top: 1.2rem; }
.hspe-dog-flow-actions > button { min-width: 150px; }
.hspe-dog-flow-back, .hspe-dog-flow-confirm { background: #fff; border: 1px solid #d8cdda; border-radius: 999px; color: #59385f; cursor: pointer; font: inherit; font-size: .86rem; font-weight: 800; min-height: 44px; padding: 9px 16px; }
.hspe-dog-flow-confirm { background: #714b6c; border-color: #714b6c; color: #fff; }
.hspe-dog-flow-back:hover { background: #f8f3f8; }
.hspe-dog-flow-confirm:hover { background: #59385f; }
.hspe-dog-flow-actions [disabled] { cursor: not-allowed; opacity: .5; }
.hspe-dog-calculation-progress { border: 1px solid rgba(84,41,79,.12); border-radius: 14px; background: linear-gradient(135deg,#fff,#f8f2f8); margin: 15px 0; padding: 15px; }
.hspe-dog-progress-heading { align-items: baseline; color: #49304e; display: flex; flex-wrap: wrap; font-size: .83rem; gap: 8px 12px; justify-content: space-between; }
.hspe-dog-progress-heading span { color: #867b88; font-size: .72rem; font-variant-numeric: tabular-nums; }
.hspe-dog-progress-track { background: #eae1eb; border-radius: 999px; height: 6px; margin: 10px 0; overflow: hidden; }
.hspe-dog-progress-track > span { background: linear-gradient(90deg,#986d9a,#d0a96d); border-radius: inherit; display: block; height: 100%; transition: width .35s ease; }
.hspe-dog-calculation-progress > ol { display: grid; gap: 6px 14px; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; margin: 10px 0 0; padding: 0; }
.hspe-dog-calculation-progress > ol li { align-items: flex-start; color: #887d8b; display: flex; font-size: .69rem; gap: 6px; line-height: 1.45; min-width: 0; }
.hspe-dog-calculation-progress > ol li > span { color: #9b8b9e; flex: 0 0 auto; font-size: .63rem; font-weight: 850; }
.hspe-dog-calculation-progress > ol li.is-current { color: #59385f; font-weight: 750; }
.hspe-dog-calculation-progress > ol li.is-current > span,.hspe-dog-calculation-progress > ol li.is-done > span { color: #a07d4d; }
.hspe-dog-calculation-progress > ol li.is-current > span { animation: hspeDogCalculationPulse 1.15s ease-in-out infinite; }
.hspe-dog-calculation-card { background: linear-gradient(145deg,#fffdf9,#f7f0f6); border: 1px solid rgba(113,75,108,.18); border-radius: 20px; box-shadow: 0 14px 34px rgba(52,31,62,.08),inset 0 1px 0 #fff; margin: 15px 0; overflow: hidden; padding: clamp(15px,2.5vw,23px); }
.hspe-dog-calculation-card > header { margin-bottom: 13px; }
.hspe-dog-calculation-card > header h5 { color: #34243b; font: 600 clamp(1.14rem,2vw,1.45rem)/1.2 Georgia,"Times New Roman",serif; margin: 5px 0; }
.hspe-dog-calculation-card > header p { color: #716978; font-size: .82rem; line-height: 1.55; margin: 0; }
.hspe-dog-owner-result-layout { align-items: center; display: grid; gap: clamp(14px,3vw,28px); grid-template-columns: minmax(220px,.9fr) minmax(200px,1.1fr); }
.hspe-dog-owner-result-layout .hspe-dog-natal-wheel { margin: 0 auto; max-width: 420px; }
.hspe-dog-position-list,.hspe-dog-profile-values,.hspe-dog-checkout-relation ol { list-style: none; margin: 0; padding: 0; }
.hspe-dog-position-list { display: grid; gap: 8px; }
.hspe-dog-position-list li { align-items: center; border-bottom: 1px solid rgba(84,41,79,.1); display: flex; flex-wrap: wrap; gap: 5px 14px; justify-content: space-between; padding: 8px 2px; }
.hspe-dog-position-list li span { color: #766b7b; font-size: .78rem; }
.hspe-dog-position-list li strong { color: #49304e; font-size: .83rem; }
.hspe-dog-calculation-caption { color: #807583; font-size: .75rem; line-height: 1.55; margin: 12px 0 0; }
.hspe-dog-dog-result-layout { align-items: center; display: grid; gap: clamp(12px,3vw,28px); grid-template-columns: minmax(220px,.9fr) minmax(220px,1.1fr); }
.hspe-dog-checkout-sign-wheel { aspect-ratio: 1; isolation: isolate; margin: 4px auto; max-width: 310px; position: relative; width: 100%; }
.hspe-dog-checkout-wheel-orbit { border: 1px solid rgba(133,93,138,.42); border-radius: 50%; inset: 8%; position: absolute; }
.hspe-dog-checkout-wheel-orbit::before,.hspe-dog-checkout-wheel-orbit::after { border: 1px solid rgba(215,173,105,.26); border-radius: 50%; content: ""; inset: 12%; position: absolute; }
.hspe-dog-checkout-wheel-orbit::after { border-style: dashed; inset: -6%; opacity: .6; }
.hspe-dog-checkout-wheel-node { align-items: center; background: #fff; border: 1px solid rgba(84,41,79,.14); border-radius: 50%; display: flex; height: clamp(36px,12vw,48px); justify-content: center; position: absolute; transform: translate(-50%,-50%); width: clamp(36px,12vw,48px); }
.hspe-dog-checkout-wheel-node img { height: 82%; object-fit: contain; width: 82%; }
.hspe-dog-checkout-wheel-node.is-selected { background: #fffaf1; border: 2px solid #c39b61; box-shadow: 0 0 0 4px rgba(215,173,105,.18),0 5px 16px rgba(52,31,62,.13); z-index: 1; }
.hspe-dog-checkout-wheel-center { align-items: center; background: radial-gradient(circle at 35% 28%,#fffdf8,#f3e9f2); border: 1px solid rgba(84,41,79,.16); border-radius: 50%; box-shadow: 0 6px 22px rgba(52,31,62,.1); display: flex; flex-direction: column; inset: 27%; justify-content: center; overflow: hidden; padding: 8px; position: absolute; text-align: center; }
.hspe-dog-checkout-wheel-center img { height: 70%; max-width: 84%; object-fit: contain; }
.hspe-dog-checkout-wheel-center strong { color: #4c3451; font: 600 clamp(.7rem,2.3vw,1rem)/1.2 Georgia,"Times New Roman",serif; }
.hspe-dog-profile-values { display: grid; gap: 10px; }
.hspe-dog-profile-values li { align-items: center; display: grid; gap: 7px; grid-template-columns: minmax(95px,.9fr) minmax(55px,1fr) 42px; }
.hspe-dog-profile-values li > span:first-child { color: #766b7b; font-size: .76rem; }
.hspe-dog-profile-values li > strong { color: #49304e; font-size: .73rem; text-align: end; }
.hspe-dog-profile-scale { display: flex; gap: 3px; }
.hspe-dog-profile-scale i { background: #e7dfe9; border-radius: 999px; display: block; flex: 1; height: 6px; }
.hspe-dog-profile-scale i.is-active { background: linear-gradient(90deg,#956b96,#c5a66a); }
.hspe-dog-calculation-result-note { color: #59385f; font-size: .87rem; font-weight: 750; line-height: 1.5; margin: 0 0 12px; }
.hspe-dog-boundary-choice { display: grid; gap: 6px; margin: 12px 0; max-width: 34rem; }
.hspe-dog-boundary-choice > span { color: #493a4f; font-size: .88rem; font-weight: 750; }
.hspe-dog-boundary-choice select { background: #fff; border: 1px solid #d8cdda; border-radius: .65rem; color: #302635; font: inherit; min-height: 2.9rem; padding: .65rem .75rem; }
.hspe-dog-checkout-pair-cards { display: grid; gap: 14px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 16px 0; }
.hspe-dog-pair-card { background: linear-gradient(145deg,#fffdf9,#f6f0f7); border: 1px solid rgba(113,75,108,.16); border-radius: 17px; min-width: 0; padding: 15px; }
.hspe-dog-pair-card h5 { color: #34243b; font: 600 1.06rem/1.2 Georgia,"Times New Roman",serif; margin: 5px 0; overflow-wrap: anywhere; }
.hspe-dog-pair-card > p { color: #766b7b; font-size: .76rem; line-height: 1.5; margin: 0; }
.hspe-dog-pair-card .hspe-dog-natal-wheel { max-width: 390px; }
.hspe-dog-pair-card .hspe-dog-checkout-sign-wheel { max-width: 300px; }
.hspe-dog-checkout-relation { background: linear-gradient(145deg,#211a31,#342541); border: 1px solid rgba(215,173,105,.35); border-radius: 20px; color: #fff8ed; margin-top: 16px; padding: clamp(15px,2.6vw,24px); }
.hspe-dog-checkout-relation > header h5 { color: #fff8ed; font: 500 clamp(1.15rem,2.2vw,1.55rem)/1.2 Georgia,"Times New Roman",serif; margin: 0; }
.hspe-dog-checkout-relation > header p { color: rgba(255,248,237,.72); font-size: .78rem; line-height: 1.55; margin: 6px 0 0; max-width: 68ch; }
.hspe-dog-checkout-relation-layout { align-items: center; display: grid; gap: clamp(14px,3vw,30px); grid-template-columns: minmax(220px,.95fr) minmax(220px,1.05fr); margin-top: 13px; }
.hspe-dog-checkout-relation-layout > svg { display: block; height: auto; margin: auto; max-width: 370px; overflow: visible; width: 100%; }
.hspe-dog-relation-field { fill: rgba(255,255,255,.025); stroke: rgba(242,220,174,.26); stroke-width: 1; }
.hspe-dog-relation-ring,.hspe-dog-relation-spoke { fill: none; stroke: rgba(242,220,174,.18); stroke-width: 1; }
.hspe-dog-relation-area { stroke-width: 2; }
.hspe-dog-relation-area.is-owner { fill: rgba(220,184,117,.23); stroke: #e2c17d; }
.hspe-dog-relation-area.is-dog { fill: rgba(189,139,184,.22); stroke: #d6a9d1; }
.hspe-dog-checkout-relation ol { display: grid; gap: 9px; margin-top: 13px; }
.hspe-dog-checkout-relation ol li { align-items: center; border-bottom: 1px solid rgba(255,255,255,.11); color: rgba(255,248,237,.9); display: flex; font-size: .77rem; gap: 12px; justify-content: space-between; padding-bottom: 8px; }
.hspe-dog-relation-values { display: inline-flex; gap: 8px; }
.hspe-dog-relation-values i { align-items: center; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; display: inline-flex; font-size: .65rem; font-style: normal; height: 24px; justify-content: center; width: 24px; }
.hspe-dog-relation-values i.is-owner { color: #f2dcae; }
.hspe-dog-relation-values i.is-dog { color: #e2b9df; }
.hspe-dog-order-submit { align-items: flex-start; }
.hspe-dog-order-submit .hspe-dog-premium-purchase { min-width: min(100%,230px); }
.hspe-dog-widget[dir="rtl"] .hspe-dog-position-list li,.hspe-dog-widget[dir="rtl"] .hspe-dog-checkout-relation ol li { text-align: start; }
@media (max-width: 760px) {
  .hspe-dog-owner-result-layout,.hspe-dog-dog-result-layout,.hspe-dog-checkout-relation-layout { grid-template-columns: minmax(0,1fr); }
  .hspe-dog-owner-result-layout .hspe-dog-natal-wheel { max-width: min(100%,390px); }
  .hspe-dog-checkout-relation-layout > svg { max-width: 330px; }
  .hspe-dog-calculation-progress > ol { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .hspe-dog-journey-entry { align-items: stretch; flex-direction: column; }
  .hspe-dog-journey-entry .hspe-dog-premium-purchase { width: 100%; }
  .hspe-dog-demo-callout { flex: 0 0 auto; width: 100%; }
  .hspe-dog-demo-cta { min-height: 76px; padding: 8px 11px; }
  .hspe-dog-demo-cta img { flex-basis: 52px; height: 52px; width: 52px; }
  .hspe-dog-journey-progress ol { gap: 5px; }
  .hspe-dog-journey-progress li { align-items: center; border-radius: 13px; flex-direction: column; font-size: .62rem; gap: 4px; justify-content: center; min-height: 67px; padding: 6px 4px; text-align: center; }
  .hspe-dog-journey-progress li > span { flex-basis: 24px; height: 24px; width: 24px; }
  .hspe-dog-flow-actions { align-items: stretch; flex-direction: column-reverse; }
  .hspe-dog-flow-actions > button { width: 100%; }
  .hspe-dog-checkout-pair-cards { grid-template-columns: minmax(0,1fr); }
  .hspe-dog-calculation-card { border-radius: 15px; padding: 13px 11px; }
  .hspe-dog-profile-values li { grid-template-columns: minmax(88px,.9fr) minmax(45px,1fr) 38px; }
  .hspe-dog-checkout-relation { border-radius: 15px; padding: 13px 11px; }
}
@keyframes hspeDogReveal { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 900px) {
  .hspe-dog-hero { grid-template-columns: minmax(0,1fr) minmax(250px,.9fr); min-height: 250px; }
  .hspe-dog-form-main { grid-template-columns: minmax(245px,.8fr) minmax(0,1.2fr); }
  .hspe-dog-sign-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .hspe-dog-shell { border-radius: 23px; }
  .hspe-dog-hero { gap: 15px; grid-template-columns: 1fr; min-height: 0; padding-block: 6px 13px; }
  .hspe-dog-hero-art { aspect-ratio: 1.78; grid-column: 1 / -1; justify-self: stretch; max-width: none; width: 100%; }
  .hspe-dog-form-main { grid-template-columns: 1fr; }
  .hspe-dog-wheel-panel { border-inline-start: 0; border-top: 1px solid rgba(84,41,79,.11); padding: 20px 0 0; }
  .hspe-dog-wheel { max-width: 440px; }
  .hspe-dog-sign-gallery { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .hspe-dog-demo-wheel-layout { grid-template-columns: 1fr; }
  .hspe-dog-demo-wheel-layout .hspe-dog-wheel { max-width: 390px; }
  .hspe-dog-observation-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hspe-dog-match-grid { grid-template-columns: 1fr; }
  .hspe-dog-relationship-map-layout { align-items: start; grid-template-columns: minmax(0,1fr); }
  .hspe-dog-relationship-map-details, .hspe-dog-relationship-wheel { grid-column: 1; }
  .hspe-dog-relationship-map-details { grid-row: 1; }
  .hspe-dog-relationship-wheel { grid-row: 2; max-width: 300px; }
}
@media (max-width: 470px) {
  .hspe-dog-widget { padding-inline: 0; }
  .hspe-dog-shell { border-radius: 17px; padding: 15px 12px; }
  .hspe-dog-workspace { border-radius: 19px; padding: 14px 11px; }
  .hspe-dog-hero { align-items: start; gap: 12px; grid-template-columns: 1fr; }
  .hspe-dog-hero-art { aspect-ratio: 1.68; margin: 0; width: 100%; }
  .hspe-dog-hero h2 { font-size: clamp(1.95rem,9.7vw,2.65rem); }
  .hspe-dog-hero p { font-size: .86rem; }
  .hspe-dog-premium-badge { font-size: .55rem; letter-spacing: .08em; padding: 6px 8px; }
  .hspe-dog-steps { gap: 6px; justify-content: space-between; }
  .hspe-dog-steps span { font-size: .61rem; gap: 5px; }
  .hspe-dog-steps b { height: 22px; width: 22px; }
  .hspe-dog-steps i { min-width: 4px; }
  .hspe-dog-form { padding: 13px 10px; }
  .hspe-dog-wheel { width: min(100%,380px); }
  .hspe-dog-wheel-choice { height: clamp(46px,15%,58px); width: clamp(46px,15%,58px); }
  .hspe-dog-wheel-center { height: 41%; width: 41%; }
  .hspe-dog-wheel-center strong { font-size: clamp(.52rem,2.6vw,.72rem); }
  .hspe-dog-wheel-center small, .hspe-dog-wheel-center em { font-size: .38rem; }
  .hspe-dog-wheel-number { font-size: .42rem; }
  .hspe-dog-sign-gallery { gap: 5px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hspe-dog-gallery-choice { min-height: 43px; padding: 4px 5px; }
  .hspe-dog-gallery-choice img { flex-basis: 31px; height: 31px; width: 31px; }
  .hspe-dog-gallery-choice span { font-size: .59rem; }
  .hspe-dog-form-grid, .hspe-dog-observation-grid { grid-template-columns: 1fr; }
  .hspe-dog-field--wide { grid-column: auto; }
  .hspe-dog-steps { margin-bottom: 17px; }
  .hspe-dog-premium-chapters { grid-template-columns: 1fr; }
  .hspe-dog-review-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hspe-dog-demo-sign { grid-template-columns: 74px minmax(0,1fr); }
  .hspe-dog-review-grid { grid-template-columns: 1fr; }
  .hspe-dog-demo-sign img { height: 74px; width: 74px; }
  .hspe-dog-demo-map ul { grid-template-columns: 1fr; }
  .hspe-dog-demo-axis { grid-template-columns: minmax(110px,.85fr) minmax(0,1.15fr); }
  .hspe-dog-premium-action { align-items: stretch; flex-direction: column; }
  .hspe-dog-premium-action > * { width: 100%; }
  .hspe-dog-premium-purchase { text-align: center; }
  .hspe-dog-sign-card { align-items: start; grid-template-columns: 1fr; }
  .hspe-dog-sign-card img { justify-self: center; max-width: 170px; }
  .hspe-dog-relationship-map { border-radius: 17px; padding: 13px 10px; }
  .hspe-dog-relationship-map-layout { gap: 12px; }
  .hspe-dog-map-legend { gap: 6px; }
  .hspe-dog-map-legend > span { padding: 8px 7px; }
  .hspe-dog-map-legend strong { font-size: .74rem; }
  .hspe-dog-map-scale, .hspe-dog-map-series { gap: 6px; grid-template-columns: minmax(0,82px) minmax(0,1fr) 34px; }
  .hspe-dog-map-scale { margin-inline: 8px; }
  .hspe-dog-map-axis { padding: 8px; }
  .hspe-dog-map-series-label { font-size: .58rem; gap: 4px; }
  .hspe-dog-map-value { font-size: .63rem; }
  .hspe-dog-actions { align-items: stretch; flex-direction: column; }
  .hspe-dog-actions button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .hspe-dog-result-card { animation: none; }
  .hspe-dog-primary, .hspe-dog-secondary, .hspe-dog-chip, .hspe-dog-wheel-choice, .hspe-dog-gallery-choice, .hspe-dog-premium-purchase { transition: none; }
}
.hspe-dog-seo-content {
  color: #352b36;
  line-height: 1.72;
  margin: 0 auto 28px;
  max-width: 1060px;
  padding: clamp(22px,4vw,46px) clamp(16px,4vw,42px);
}
.hspe-dog-seo-content[lang] {
  width: min(1060px, calc(100vw - 32px)) !important;
  max-width: 1060px !important;
  margin-inline: calc(50% - min(530px, calc(50vw - 16px))) !important;
}
.hspe-dog-seo-content h1,
.hspe-dog-seo-content h2,
.hspe-dog-seo-content h3 { color: #342637; line-height: 1.22; }
.hspe-dog-seo-content h1 { font-size: clamp(2rem,4.2vw,3.6rem); margin: 0 0 14px; max-width: 22ch; }
.hspe-dog-seo-content h2 { font-size: clamp(1.35rem,2.4vw,1.9rem); margin: 30px 0 10px; }
.hspe-dog-seo-content h3 { font-size: 1.08rem; margin: 17px 0 5px; }
.hspe-dog-seo-content p { margin: 0 0 12px; max-width: 78ch; }
.hspe-dog-seo-content .hspe-dog-seo-kicker { color: #795568; font-size: .78rem; font-weight: 750; letter-spacing: .13em; margin-bottom: 10px; text-transform: uppercase; }
.hspe-dog-seo-content .hspe-dog-seo-intro { color: #615363; font-size: clamp(1.05rem,1.6vw,1.22rem); max-width: 76ch; }
.hspe-dog-seo-content ul { display: grid; gap: 7px 24px; grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; margin: 14px 0 0; padding: 0; }
.hspe-dog-seo-content li { border-bottom: 1px solid rgba(84,41,79,.12); padding: 0 0 6px; }
.hspe-dog-seo-faq section { border-top: 1px solid rgba(84,41,79,.12); margin-top: 12px; padding-top: 2px; }
.hspe-dog-seo-note { color: #746b77; font-size: .9rem; margin-top: 24px !important; }
[dir="rtl"].hspe-dog-seo-content ul { padding-inline: 0; }
@media (max-width: 760px) { .hspe-dog-seo-content ul { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 470px) { .hspe-dog-seo-content ul { gap: 5px 16px; grid-template-columns: 1fr 1fr; } }

/* The same one-question journey is used on desktop and mobile. */
.hspe-dog-mobile-stepper { background: rgba(255,255,255,.72); border: 1px solid rgba(84,41,79,.11); border-radius: 16px; display: block; margin: 12px auto 16px; max-width: 760px; padding: 12px 15px; }
.hspe-dog-mobile-stepper > p { color: #66576b; font-size: .78rem; font-weight: 750; margin: 0; text-align: end; }
.hspe-dog-mobile-track { background: #e9e0ea; border-radius: 999px; height: 6px; margin-top: 8px; overflow: hidden; }
.hspe-dog-mobile-track > span { background: linear-gradient(90deg,#986d9a,#d0a96d); border-radius: inherit; display: block; height: 100%; transition: width .3s ease; }
.hspe-dog-flow-panel[data-flow-panel="owner-input"], .hspe-dog-flow-panel[data-flow-panel="dog-input"] { margin-inline: auto; max-width: 860px; }
.hspe-dog-flow-panel[data-flow-panel="owner-input"] > .hspe-dog-flow-actions,
.hspe-dog-flow-panel[data-flow-panel="dog-input"] > .hspe-dog-flow-actions { display: none; }
.hspe-dog-flow-panel fieldset > legend { height: 1px; margin: -1px; overflow: hidden; position: absolute; width: 1px; clip-path: inset(50%); white-space: nowrap; }
.hspe-dog-flow-panel .hspe-dog-order-fields { display: block; }
.hspe-dog-mobile-question { align-content: center; background: linear-gradient(145deg,rgba(255,255,255,.92),rgba(249,243,249,.92)); border: 1px solid rgba(84,41,79,.13); border-radius: 20px; display: grid; gap: 16px; margin: 0 auto; max-width: 760px; min-height: 235px; padding: clamp(20px,3.3vw,38px); }
.hspe-dog-mobile-question[hidden] { display: none !important; }
.hspe-dog-mobile-question-prompt { color: #35253b; display: block; font: 500 clamp(1.45rem,2.6vw,2rem)/1.2 Georgia,"Times New Roman",serif; margin: 0; }
.hspe-dog-mobile-question > label, .hspe-dog-mobile-question > .hspe-dog-location-field > label { color: #59385f; display: flex; flex-direction: column; font-size: .9rem; font-weight: 800; gap: 8px; }
.hspe-dog-mobile-question > label > span, .hspe-dog-mobile-question > .hspe-dog-location-field > label > span { display: block; }
.hspe-dog-mobile-question input:not([type="checkbox"]):not([type="radio"]), .hspe-dog-mobile-question select { font-size: 1rem; min-height: 52px; }
.hspe-dog-mobile-question .hspe-dog-order-help, .hspe-dog-mobile-question .hspe-dog-location-note { font-size: .82rem; }
.hspe-dog-mobile-question .hspe-dog-location-field { align-items: end; display: grid; grid-template-columns: minmax(0,1fr) auto; }
.hspe-dog-mobile-question .hspe-dog-location-note, .hspe-dog-mobile-question .hspe-dog-location-status { grid-column: 1 / -1; }
.hspe-dog-mobile-context-note { display: block; margin-top: 0; }
.hspe-dog-mobile-choices { display: grid; gap: 10px; }
.hspe-dog-mobile-choices label { align-items: center; background: rgba(255,255,255,.82); border: 1px solid rgba(84,41,79,.17); border-radius: 13px; color: #49304e; cursor: pointer; display: flex; gap: 11px; min-height: 50px; padding: 10px 12px; touch-action: manipulation; }
.hspe-dog-mobile-choices label:has(input:checked) { background: #f3e8f1; border-color: #94658d; box-shadow: 0 0 0 2px rgba(148,101,141,.12); }
.hspe-dog-mobile-choices input[type="radio"] { -webkit-appearance: radio !important; accent-color: #714b6c; appearance: auto !important; background: transparent !important; border: 0 !important; cursor: pointer; display: inline-block !important; flex: 0 0 22px; height: 22px !important; margin: 0 !important; min-height: 22px !important; opacity: 1 !important; padding: 0 !important; pointer-events: auto !important; position: static !important; width: 22px !important; }
.hspe-dog-mobile-choices label > span { pointer-events: none; }
.hspe-dog-mobile-choices label:focus-within { outline: 2px solid #a990e8; outline-offset: 2px; }
.hspe-dog-mobile-nav { align-items: center; display: flex; gap: 9px; justify-content: space-between; margin: 16px auto 0; max-width: 760px; }
.hspe-dog-mobile-nav button { min-height: 46px; }
.hspe-dog-mobile-nav [data-mobile-back], .hspe-dog-mobile-nav [data-mobile-skip], .hspe-dog-mobile-nav [data-mobile-skip-observations] { background: #fff; border: 1px solid rgba(84,41,79,.16); border-radius: 12px; color: #59385f; cursor: pointer; font: inherit; font-size: .78rem; font-weight: 800; padding: 9px 12px; }
.hspe-dog-mobile-nav [data-mobile-back][hidden], .hspe-dog-mobile-nav [data-mobile-skip][hidden], .hspe-dog-mobile-nav [data-mobile-skip-observations][hidden] { display: none; }
.hspe-dog-mobile-nav [data-mobile-next] { flex: 0 1 250px; font-size: .9rem; min-width: 190px; }
.hspe-dog-mobile-paywall { background: linear-gradient(145deg,#fffaf2,#f5eaf1); border: 1px solid rgba(154,120,62,.22); border-radius: 16px; margin: .8rem 0 1rem; padding: 15px 17px; }
.hspe-dog-mobile-paywall > .hspe-dog-premium-kicker { margin-bottom: 5px; }
.hspe-dog-mobile-paywall > p { color: #514656; font: 500 .94rem/1.5 Georgia,"Times New Roman",serif; margin: 4px 0 10px; }
.hspe-dog-paywall-ready { margin: .45rem 0 .8rem; }
.hspe-dog-paywall-ready-status { background: rgba(52,127,133,.1); border-radius: 999px; color: #367f82; display: inline-flex; font: 750 .64rem/1.3 system-ui,-apple-system,"Segoe UI",sans-serif; letter-spacing: .075em; padding: .32rem .55rem; text-transform: uppercase; }
.hspe-dog-mobile-paywall .hspe-dog-paywall-ready h3 { color: #30263a; font: 700 clamp(1.2rem,2.8vw,1.7rem)/1.18 Georgia,"Times New Roman",serif; margin: .65rem 0 .4rem; }
.hspe-dog-mobile-paywall .hspe-dog-paywall-ready p { color: #514656; font: 500 .9rem/1.5 Georgia,"Times New Roman",serif; margin: .3rem 0 .5rem; }
.hspe-dog-mobile-paywall .hspe-dog-paywall-ready .hspe-dog-paywall-ready-teaser { color: #805a26; font-weight: 650; }
.hspe-dog-mobile-paywall .hspe-dog-paywall-ready .hspe-dog-paywall-ready-fact { border-inline-start: 2px solid #54a2a3; color: #456166; font: 650 .78rem/1.45 system-ui,-apple-system,"Segoe UI",sans-serif; margin-top: .6rem; padding-inline-start: .6rem; }
.hspe-dog-mobile-paywall ul { color: #665b69; display: flex; flex-wrap: wrap; font-size: .78rem; gap: 6px 18px; list-style: none; margin: 0; padding: 0; }
.hspe-dog-mobile-paywall li::before { color: #a17c48; content: "✦"; margin-inline-end: 6px; }
.hspe-dog-wallet-note { border-top: 1px solid rgba(84,41,79,.12); color: #756978 !important; font-size: .71rem !important; font-weight: 400 !important; line-height: 1.45 !important; margin: 10px 0 0 !important; padding-top: 8px; }
.hspe-dog-checkout-submit-note { color: #716978; font-size: .8rem; }
@media (max-width: 760px) {
  .hspe-dog-order-form { padding-bottom: 15px; }
  .hspe-dog-order-form > header > p:not(.hspe-dog-order-language-note) { display: none; }
  .hspe-dog-order-form > header > p.hspe-dog-order-language-note { font-size: .74rem; }
  .hspe-dog-desktop-step-note { display: none; }
  .hspe-dog-journey-progress { margin-bottom: 15px; }
  .hspe-dog-journey-progress ol { gap: 5px; grid-template-columns: repeat(4,minmax(0,1fr)); }
  .hspe-dog-journey-progress li { align-items: center; border-radius: 12px; flex-direction: column; font-size: .61rem; gap: 4px; justify-content: center; min-height: 54px; padding: 5px 3px; text-align: center; white-space: normal; }
  .hspe-dog-journey-progress li > span { flex-basis: 22px; height: 22px; width: 22px; }
  .hspe-dog-flow-panel[data-flow-panel="owner-input"], .hspe-dog-flow-panel[data-flow-panel="dog-input"] { padding-bottom: 86px; }
  .hspe-dog-mobile-stepper { border-radius: 14px; margin: 12px 0 16px; padding: 10px 12px; }
  .hspe-dog-mobile-stepper > p { font-size: .73rem; }
  .hspe-dog-mobile-track { height: 5px; }
  .hspe-dog-mobile-question { align-content: start; gap: 12px; min-height: 180px; padding: 18px 15px; }
  .hspe-dog-mobile-question-prompt { color: #35253b; display: block; font: 500 clamp(1.35rem,5vw,1.8rem)/1.2 Georgia,"Times New Roman",serif; margin: 3px 0 5px; }
  .hspe-dog-mobile-question > label, .hspe-dog-mobile-question > .hspe-dog-location-field > label { color: #59385f; display: flex; flex-direction: column; font-size: .82rem; font-weight: 800; gap: 7px; }
  .hspe-dog-mobile-question > label > span, .hspe-dog-mobile-question > .hspe-dog-location-field > label > span { display: block; }
  .hspe-dog-mobile-question input:not([type="checkbox"]):not([type="radio"]), .hspe-dog-mobile-question select { font-size: 1rem; min-height: 51px; }
  .hspe-dog-mobile-question .hspe-dog-order-help, .hspe-dog-mobile-question .hspe-dog-location-note { font-size: .77rem; }
  .hspe-dog-mobile-question .hspe-dog-location-field { align-items: stretch; display: flex; flex-direction: column; }
  .hspe-dog-mobile-question .hspe-dog-location-button { min-height: 48px; }
  .hspe-dog-mobile-question details { margin-top: 5px; }
  .hspe-dog-mobile-nav:not([hidden]) { align-items: center; background: rgba(255,250,244,.97); border: 1px solid rgba(84,41,79,.15); border-radius: 17px; bottom: calc(9px + env(safe-area-inset-bottom)); box-shadow: 0 8px 35px rgba(42,28,48,.2); display: flex; gap: 7px; inset-inline: 10px; margin-inline: auto; max-width: 740px; padding: 8px; position: fixed; z-index: 1000; }
  .hspe-dog-mobile-nav button { min-height: 48px; }
  .hspe-dog-mobile-nav [data-mobile-back], .hspe-dog-mobile-nav [data-mobile-skip], .hspe-dog-mobile-nav [data-mobile-skip-observations] { background: #fff; border: 1px solid rgba(84,41,79,.16); border-radius: 12px; color: #59385f; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 800; padding: 8px 8px; }
  .hspe-dog-mobile-nav [data-mobile-back][hidden], .hspe-dog-mobile-nav [data-mobile-skip][hidden], .hspe-dog-mobile-nav [data-mobile-skip-observations][hidden] { display: none; }
  .hspe-dog-mobile-nav [data-mobile-next] { flex: 1 1 auto; font-size: .82rem; min-width: 0; padding-inline: 7px; }
  .hspe-dog-flow-panel[data-flow-panel="checkout"] { padding-bottom: 112px; }
  .hspe-dog-order-submit { align-items: stretch; background: rgba(255,250,244,.97); border: 1px solid rgba(84,41,79,.15); border-radius: 17px; bottom: calc(9px + env(safe-area-inset-bottom)); box-shadow: 0 8px 35px rgba(42,28,48,.2); display: flex; flex-direction: column; gap: 5px; inset-inline: 10px; margin-inline: auto; max-width: 740px; padding: 9px; position: fixed; z-index: 1000; }
  .hspe-dog-order-submit .hspe-dog-premium-purchase { min-height: 50px; width: 100%; }
  .hspe-dog-order-submit > span { font-size: .7rem; line-height: 1.3; text-align: center; }
  .hspe-dog-order-consents { font-size: .79rem; gap: .7rem; }
  .hspe-dog-order-consents p { font-size: .72rem; }
  .hspe-dog-mobile-paywall { margin: 8px 0 12px; padding: 12px 13px; }
  .hspe-dog-mobile-paywall > p { font-size: .86rem; }
  .hspe-dog-mobile-paywall ul { font-size: .72rem; }
  .hspe-dog-mobile-paywall .hspe-dog-wallet-note { font-size: .66rem !important; }
  .hspe-dog-preview-privacy { font-size: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
  .hspe-dog-mobile-track > span { transition: none; }
  .hspe-dog-calculation-progress > ol li.is-current > span { animation: none; }
}
@keyframes hspeDogCalculationPulse { 0%,100% { opacity: .48; transform: scale(.92); } 50% { opacity: 1; transform: scale(1.14); } }

/* 1.7.5 · Warm pearl paper, turquoise watercolor and restrained gold across the dog funnel. */
.hspe-dog-widget {
  --hspe-dog-night: #fff8fb;
  --hspe-dog-night-soft: #fffdfb;
  --hspe-dog-ink: #30263a;
  --hspe-dog-muted: #5b5262;
  --hspe-dog-plum: #30263a;
  --hspe-dog-wine: #783657;
  --hspe-dog-rose: #368c94;
  --hspe-dog-gold: #835d2c;
  --hspe-dog-gold-light: #c7a86a;
  --hspe-dog-paper: #fffdfb;
  --hspe-dog-paper-soft: #fbf4fa;
  --hspe-dog-line: rgba(48,38,58,.13);
  --hspe-dog-card: rgba(255,255,255,.94);
  color: #30263a;
  color-scheme: light;
}
.hspe-dog-shell {
  background:
    radial-gradient(ellipse at 82% -6%,rgba(103,193,195,.16),transparent 38%),
    radial-gradient(ellipse at 3% 78%,rgba(225,205,163,.14),transparent 35%),
    #fffdfb;
  border-color: rgba(177,151,103,.34);
  box-shadow: 0 28px 72px rgba(48,38,58,.12),inset 0 1px 0 rgba(255,255,255,.96);
  color: #30263a;
}
.hspe-dog-shell::before {
  background: radial-gradient(circle,rgba(142,117,65,.65) 0 .7px,transparent 1.4px) 0 0 / 39px 39px;
  opacity: .055;
}
.hspe-dog-hero { min-height: 315px; }
.hspe-dog-hero-copy { position: relative; z-index: 1; }
.hspe-dog-brand-logo { display: block; height: auto; margin: 0 0 18px; max-width: min(100%,300px); width: clamp(190px,27vw,300px); }
.hspe-dog-eyebrow { color: #835d2c; }
.hspe-dog-premium-badge { background: rgba(255,255,255,.75); border-color: rgba(131,93,44,.28); color: #835d2c; }
.hspe-dog-hero h2 { color: #30263a; text-wrap: balance; }
.hspe-dog-hero-copy > p { color: #5b5262; }
.hspe-dog-hero-art { background: #f1f9f7; border: 1px solid rgba(71,157,163,.27); box-shadow: 0 16px 38px rgba(45,93,96,.11); }
.hspe-dog-hero-pills span { background: rgba(255,255,255,.8); border-color: rgba(71,157,163,.26); color: #3f6870; }
.hspe-dog-workspace {
  background:
    radial-gradient(ellipse at 98% 0,rgba(103,193,195,.14),transparent 34rem),
    linear-gradient(145deg,#fffdfb,#f7fbfa 58%,#fbf6f7);
  border-color: rgba(89,158,160,.26);
  box-shadow: 0 18px 45px rgba(48,38,58,.075),inset 0 1px 0 rgba(255,255,255,.96);
  color: #30263a;
}
.hspe-dog-workspace :is(h3,h4,h5,legend) { color: #30263a; }
.hspe-dog-workspace :is(p,.hspe-dog-premium-note,.hspe-dog-order-help,.hspe-dog-order-submit > span,.hspe-dog-location-note,.hspe-dog-location-status,.hspe-dog-preview-privacy,.hspe-dog-calculation-caption,.hspe-dog-mobile-stepper > p) { color: #5b5262; }
.hspe-dog-journey-entry,.hspe-dog-form,.hspe-dog-order-form,.hspe-dog-premium-offer,.hspe-dog-demo-report,.hspe-dog-demo-wheel-section {
  background: linear-gradient(145deg,rgba(255,255,255,.97),rgba(250,248,246,.96));
  border-color: rgba(91,82,98,.13);
  box-shadow: 0 12px 32px rgba(48,38,58,.055),inset 0 1px 0 rgba(255,255,255,.95);
  color: #30263a;
}
.hspe-dog-journey-entry { gap: 12px 18px; }
.hspe-dog-premium-login-link,.hspe-dog-order-consents a,.hspe-dog-order-form details summary { color: #28777e; }
.hspe-dog-premium-count { color: #835d2c; }
.hspe-dog-premium-heading { border-color: rgba(91,82,98,.16); }
.hspe-dog-premium-heading h3,.hspe-dog-premium-sample h5,.hspe-dog-demo-sign h4,.hspe-dog-premium-chapter h4,.hspe-dog-reviews > header h4 { color: #30263a; }
.hspe-dog-premium-heading p,.hspe-dog-premium-sample p,.hspe-dog-reviews > header p { color: #5b5262; }
.hspe-dog-premium-kicker,.hspe-dog-premium-sample-label { color: #835d2c; }
.hspe-dog-premium-purchase { background: linear-gradient(115deg,#347f85,#286f76); border-color: #286f76; box-shadow: 0 8px 20px rgba(40,111,118,.2); color: #fff; min-height: 48px; }
.hspe-dog-premium-purchase:hover { background: linear-gradient(115deg,#2e747a,#225f66); box-shadow: 0 10px 25px rgba(40,111,118,.25); }
.hspe-dog-premium-guest-choice,.hspe-dog-flow-back { background: #fffdfb; border-color: rgba(48,38,58,.22); color: #493458; }
.hspe-dog-flow-confirm { background: linear-gradient(115deg,#347f85,#286f76); border-color: #286f76; color: #fff; }
.hspe-dog-flow-back:hover { background: #f1f9f7; }
.hspe-dog-flow-confirm:hover { background: #225f66; }
.hspe-dog-journey-progress { margin-bottom: 25px; }
.hspe-dog-journey-progress ol { grid-template-columns: repeat(4,minmax(0,1fr)); }
.hspe-dog-journey-progress li { align-items: center; background: rgba(255,255,255,.84); border-color: rgba(91,82,98,.15); color: #5b5262; gap: 8px; min-height: 58px; padding: 8px 10px; }
.hspe-dog-journey-progress li > span { background: #f7f3ed; border-color: rgba(131,93,44,.24); color: #835d2c; flex: 0 0 25px; height: 25px; width: 25px; }
.hspe-dog-journey-progress li.is-current { background: linear-gradient(135deg,#edf8f6,#fffdfb); border-color: rgba(52,127,133,.55); box-shadow: 0 0 0 1px rgba(52,127,133,.1),0 7px 19px rgba(48,38,58,.07); color: #30263a; }
.hspe-dog-journey-progress li.is-current > span { background: #347f85; border-color: #347f85; color: #fff; }
.hspe-dog-journey-progress li.is-complete > span { background: #dcefeb; border-color: #80b6ae; color: #246a63; }
.hspe-dog-stage-icon { display: block; flex: 0 0 36px; height: 36px; object-fit: contain; width: 36px; }
.hspe-dog-flow-panel { color: #30263a; }
.hspe-dog-flow-panel > h4 { color: #30263a; }
.hspe-dog-order-form > header h3 { color: #30263a; }
.hspe-dog-order-form > header p,.hspe-dog-order-form .hspe-dog-order-language-note { color: #5b5262; }
.hspe-dog-order-form fieldset,.hspe-dog-mobile-question,.hspe-dog-mobile-stepper,.hspe-dog-calculation-progress,.hspe-dog-calculation-card,.hspe-dog-premium-sample,.hspe-dog-premium-chapter,.hspe-dog-demo-wheel-note,.hspe-dog-pair-card,.hspe-dog-mobile-paywall,.hspe-dog-demo-wheel-section {
  background: linear-gradient(145deg,#fffdfb,#f8f5f5);
  border-color: rgba(91,82,98,.14);
  box-shadow: 0 9px 24px rgba(48,38,58,.045),inset 0 1px 0 rgba(255,255,255,.96);
  color: #30263a;
}
.hspe-dog-mobile-question-prompt,.hspe-dog-calculation-card > header h5,.hspe-dog-position-list li strong,.hspe-dog-profile-values li > strong,.hspe-dog-pair-card h5 { color: #30263a; }
.hspe-dog-order-fields > label,.hspe-dog-location-field > label,.hspe-dog-mobile-question > label,.hspe-dog-mobile-question > .hspe-dog-location-field > label,.hspe-dog-order-consents,.hspe-dog-mobile-choices label { color: #493f4d; }
.hspe-dog-order-fields input:not([type="checkbox"]):not([type="radio"]),.hspe-dog-order-fields select,.hspe-dog-location-field input,.hspe-dog-widget input:not([type="checkbox"]):not([type="radio"]),.hspe-dog-widget select,.hspe-dog-boundary-choice select {
  background-color: #fff;
  border-color: rgba(48,38,58,.19);
  color: #30263a;
  color-scheme: light;
}
.hspe-dog-order-fields input::placeholder,.hspe-dog-widget input::placeholder { color: #827985; opacity: 1; }
.hspe-dog-widget select { background-image: linear-gradient(45deg,transparent 50%,#347f85 50%),linear-gradient(135deg,#347f85 50%,transparent 50%); }
.hspe-dog-widget input:focus-visible,.hspe-dog-widget select:focus-visible,.hspe-dog-widget button:focus-visible { outline-color: #368c94; }
.hspe-dog-order-form details { border-color: rgba(91,82,98,.2); }
.hspe-dog-order-consents a { color: #28777e; }
.hspe-dog-order-consents input,.hspe-dog-mobile-choices input { accent-color: #347f85; }
.hspe-dog-mobile-choices label { background: #fff; border-color: rgba(48,38,58,.16); color: #30263a; }
.hspe-dog-mobile-choices label:has(input:checked),.hspe-dog-mobile-choices label.is-selected { background: #edf8f6; border-color: #5da6a7; box-shadow: 0 0 0 2px rgba(52,127,133,.12); }
.hspe-dog-calculation-progress { background: linear-gradient(135deg,#fffdfb,#f0f8f6); }
.hspe-dog-progress-heading { color: #30263a; }
.hspe-dog-progress-heading span,.hspe-dog-calculation-progress > ol li { color: #6d6471; }
.hspe-dog-progress-track,.hspe-dog-mobile-track { background: #e4e9e5; }
.hspe-dog-progress-track > span,.hspe-dog-mobile-track > span { background: linear-gradient(90deg,#55aeb3,#81c9c6,#c6a767); }
.hspe-dog-calculation-progress > ol li.is-current { color: #28777e; }
.hspe-dog-calculation-progress > ol li.is-current > span,.hspe-dog-calculation-progress > ol li.is-done > span { color: #835d2c; }
.hspe-dog-calculation-card > header p,.hspe-dog-calculation-caption,.hspe-dog-position-list li span,.hspe-dog-profile-values li > span:first-child,.hspe-dog-pair-card > p { color: #5b5262; }
.hspe-dog-position-list li { border-color: rgba(48,38,58,.12); }
.hspe-dog-checkout-sign-wheel-node { background: #f4faf8; border-color: rgba(52,127,133,.34); }
.hspe-dog-checkout-sign-wheel-node.is-selected { background: #e8f5f2; border-color: #c2a15f; box-shadow: 0 0 0 4px rgba(194,161,95,.15),0 5px 16px rgba(48,38,58,.09); }
.hspe-dog-checkout-wheel-center { background: radial-gradient(circle at 35% 28%,#fffdfb,#eaf6f4 78%); border-color: rgba(52,127,133,.28); box-shadow: 0 6px 20px rgba(48,38,58,.08); }
.hspe-dog-checkout-wheel-center strong { color: #30263a; }
.hspe-dog-profile-scale i { background: #e2e5e1; }
.hspe-dog-profile-scale i.is-active { background: linear-gradient(90deg,#55aeb3,#81c9c6,#c6a767); }
.hspe-dog-demo-sign { background: linear-gradient(145deg,#fffdfb,#f1f8f6); }
.hspe-dog-demo-map { background: linear-gradient(145deg,#f4faf8,#fffaf4 62%,#fbf5f8); border-color: rgba(71,157,163,.2); }
.hspe-dog-demo-map h4 { color: #30263a; }
.hspe-dog-demo-map p { color: #5b5262; }
.hspe-dog-demo-axis-name { color: #493f4d; }
.hspe-dog-demo-track { background: rgba(48,38,58,.1); }
.hspe-dog-demo-track b { background: #c6a767; }
.hspe-dog-demo-track.is-dog b { background: #55aeb3; }
.hspe-dog-demo-wheel-section .hspe-dog-premium-heading h3 { color: #30263a; }
.hspe-dog-wheel {
  background:
    radial-gradient(circle,#fffdfb 0 24%,rgba(76,169,173,.52) 24.4% 24.75%,transparent 25.1%),
    radial-gradient(circle,#fffdfb 0 47%,rgba(72,159,164,.58) 47.2% 47.5%,#edf7f5 47.8% 70%,rgba(190,158,94,.58) 70.2% 70.5%,#fffaf6 70.8%),
    linear-gradient(145deg,#f2faf8,#fffdfb);
  border-color: rgba(52,127,133,.31);
  box-shadow: inset 0 0 32px rgba(76,169,173,.075),0 10px 28px rgba(48,38,58,.09);
}
.hspe-dog-wheel-orbit { border-color: rgba(190,158,94,.68); box-shadow: 0 0 10px rgba(190,158,94,.11),inset 0 0 10px rgba(76,169,173,.07); }
.hspe-dog-wheel-choice { background: rgba(255,255,255,.94); border-color: rgba(52,127,133,.33); box-shadow: 0 3px 10px rgba(48,38,58,.12); color: #30263a; }
.hspe-dog-wheel-choice:hover { border-color: #347f85; box-shadow: 0 0 0 3px rgba(76,169,173,.15),0 6px 15px rgba(48,38,58,.14); }
.hspe-dog-wheel-choice[aria-pressed="true"] { background: radial-gradient(circle at 35% 25%,#f6fcfa,#e4f4f1 78%); border-color: #c6a767; box-shadow: 0 0 0 3px rgba(198,167,103,.22),0 5px 14px rgba(48,38,58,.13); }
.hspe-dog-wheel-number { background: #fffdfb; color: #835d2c; }
.hspe-dog-wheel-center { background: radial-gradient(circle at 35% 28%,#fffdfb,#f0f8f6 80%); border-color: rgba(52,127,133,.3); box-shadow: 0 5px 16px rgba(48,38,58,.08),inset 0 0 0 3px rgba(255,255,255,.65); }
.hspe-dog-wheel-center small { color: #835d2c; }
.hspe-dog-wheel-center strong { color: #30263a; }
.hspe-dog-wheel-center em { color: #5b5262; }
.hspe-dog-gallery-choice { background: rgba(255,255,255,.86); border-color: rgba(48,38,58,.14); color: #30263a; }
.hspe-dog-gallery-choice:hover { background: #f1f9f7; border-color: rgba(52,127,133,.5); }
.hspe-dog-gallery-choice[aria-pressed="true"] { background: #eaf6f3; border-color: #c6a767; box-shadow: 0 0 0 2px rgba(52,127,133,.1); }
.hspe-dog-reviews { border-color: rgba(91,82,98,.18); }
.hspe-dog-review { background: linear-gradient(145deg,#fffdfb,#f8f4f5); border-color: rgba(91,82,98,.14); }
.hspe-dog-review blockquote p { color: #493f4d; }
.hspe-dog-review figcaption { color: #835d2c; }
.hspe-dog-order-message { background: #fff0ec; border-color: #edc8bf; color: #7c302b; }
.hspe-dog-mobile-nav:not([hidden]),.hspe-dog-order-submit {
  background: rgba(255,253,251,.97);
  border-color: rgba(131,93,44,.23);
  box-shadow: 0 10px 30px rgba(48,38,58,.13);
}
.hspe-dog-mobile-nav [data-mobile-back],.hspe-dog-mobile-nav [data-mobile-skip],.hspe-dog-mobile-nav [data-mobile-skip-observations] { background: #fffdfb; border-color: rgba(48,38,58,.18); color: #493458; }
.hspe-dog-mobile-nav [data-mobile-back]:hover,.hspe-dog-mobile-nav [data-mobile-skip]:hover,.hspe-dog-mobile-nav [data-mobile-skip-observations]:hover { background: #edf8f6; }
.hspe-dog-mobile-paywall > p { color: #493f4d; }
.hspe-dog-mobile-paywall ul { color: #5b5262; }
.hspe-dog-wallet-note { border-color: rgba(91,82,98,.16); color: #5b5262 !important; }
.hspe-dog-premium-note,.hspe-dog-order-submit > span { color: #5b5262; }
.hspe-dog-journey-progress li:focus-within { outline: 2px solid #368c94; outline-offset: 2px; }
.hspe-dog-result-title { color: #30263a; }
.hspe-dog-result-intro { color: #5b5262; }
.hspe-dog-name { color: #835d2c; }
.hspe-dog-sign-card,.hspe-dog-result-block { color: #30263a; color-scheme: light; }
.hspe-dog-sign-card,.hspe-dog-result-block { background: linear-gradient(145deg,#fffdfb,#f3faf8); border-color: rgba(71,157,163,.2); box-shadow: 0 14px 32px rgba(48,38,58,.075),inset 0 1px 0 #fff; }
.hspe-dog-sign-card h3,.hspe-dog-result-block h3 { color: #30263a; }
.hspe-dog-constellation,.hspe-dog-group,.hspe-dog-result-block h4 { color: #367f85 !important; }
.hspe-dog-traits li { background: #eaf6f3; color: #30263a; }
.hspe-dog-observation-list li strong { color: #30263a; }
.hspe-dog-owner-name { color: #367f85 !important; }
.hspe-dog-match-card h4 { color: #30263a; }
.hspe-dog-relationship-list li { border-color: #c6a767; color: #5b5262; }
.hspe-dog-result-block { border-color: rgba(71,157,163,.2); }
.hspe-dog-owner-natal-chart { background: linear-gradient(145deg,#fffdfb,#eef8f6 62%,#fbf6f4); border-color: rgba(131,93,44,.25); color: #30263a; }
.hspe-dog-owner-natal-chart h3 { color: #30263a; }
.hspe-dog-owner-natal-chart > p { color: #5b5262; }
.hspe-dog-natal-ring { stroke: rgba(71,132,136,.22); }
.hspe-dog-natal-ring.is-outer { stroke: rgba(131,93,44,.52); }
.hspe-dog-natal-ring.is-inner { stroke: rgba(71,132,136,.14); }
.hspe-dog-natal-tick,.hspe-dog-natal-spoke { stroke: rgba(71,132,136,.24); }
.hspe-dog-natal-tick.is-medium { stroke: rgba(71,132,136,.38); }
.hspe-dog-natal-tick.is-major,.hspe-dog-natal-axis { stroke: rgba(131,93,44,.72); }
.hspe-dog-natal-sign,.hspe-dog-natal-sign.is-aries,.hspe-dog-natal-sign.is-leo,.hspe-dog-natal-sign.is-sagittarius,.hspe-dog-natal-sign.is-taurus,.hspe-dog-natal-sign.is-virgo,.hspe-dog-natal-sign.is-capricorn,.hspe-dog-natal-sign.is-gemini,.hspe-dog-natal-sign.is-libra,.hspe-dog-natal-sign.is-aquarius,.hspe-dog-natal-sign.is-cancer,.hspe-dog-natal-sign.is-scorpio,.hspe-dog-natal-sign.is-pisces { fill: #835d2c; }
.hspe-dog-natal-svg.is-time-unknown .hspe-dog-natal-sign circle { fill: rgba(198,167,103,.06); stroke: rgba(131,93,44,.28); }
.hspe-dog-natal-svg.is-time-unknown .hspe-dog-natal-sign.is-possible-sun circle { fill: rgba(198,167,103,.18); stroke: #9a793c; }
.hspe-dog-natal-svg.is-time-unknown .hspe-dog-natal-sign.is-possible-moon circle { stroke: #368c94; }
.hspe-dog-natal-svg.is-time-unknown .hspe-dog-natal-sign.is-possible-sun.is-possible-moon circle { fill: rgba(76,169,173,.13); stroke: #368c94; }
.hspe-dog-natal-axis.is-mc { stroke: rgba(54,140,148,.66); }
.hspe-dog-natal-aspect.is-conjunction { stroke: #9a793c; }
.hspe-dog-natal-aspect.is-opposition,.hspe-dog-natal-aspect.is-square { stroke: #a66b87; }
.hspe-dog-natal-aspect.is-trine { stroke: #368c94; }
.hspe-dog-natal-aspect.is-sextile { stroke: #68a99d; }
.hspe-dog-natal-axis-label circle { fill: #fffdfb; stroke: #9a793c; }
.hspe-dog-natal-axis-label.is-mc circle { stroke: #368c94; }
.hspe-dog-natal-axis-label text,.hspe-dog-natal-planet text { fill: #30263a; }
.hspe-dog-natal-planet circle { fill: #f3faf8; stroke: #9a793c; }
.hspe-dog-natal-planet.is-moon circle,.hspe-dog-natal-planet.is-venus circle { stroke: #a66b87; }
.hspe-dog-natal-center { fill: rgba(255,253,251,.95); stroke: rgba(131,93,44,.34); }
.hspe-dog-natal-star { fill: #9a793c; }
.hspe-dog-disclaimer,.hspe-dog-privacy { color: #5b5262; }
.hspe-dog-relationship-map { background: linear-gradient(145deg,#f1f9f7 0%,#fffdfb 58%,#fbf6f7 100%); border-color: rgba(71,157,163,.24); color: #30263a; }
.hspe-dog-relationship-map::before { background: radial-gradient(circle,rgba(142,117,65,.54) 0 .7px,transparent 1.4px) 0 0 / 37px 37px; opacity: .045; }
.hspe-dog-relationship-map-heading h4 { color: #30263a; }
.hspe-dog-relationship-map-heading p { color: #5b5262 !important; }
.hspe-dog-relationship-wheel { filter: drop-shadow(0 5px 12px rgba(48,38,58,.08)); }
.hspe-dog-map-field { fill: rgba(255,255,255,.58); stroke: rgba(71,132,136,.32); }
.hspe-dog-map-ring,.hspe-dog-map-spoke { stroke: rgba(71,132,136,.22); }
.hspe-dog-map-tick { stroke: rgba(131,93,44,.48); }
.hspe-dog-map-area.is-owner { fill: rgba(198,167,103,.2); stroke: #9a793c; }
.hspe-dog-map-area.is-dog { fill: rgba(76,169,173,.18); stroke: #368c94; }
.hspe-dog-map-point.is-owner { fill: #c6a767; stroke: #fffdfb; }
.hspe-dog-map-point.is-dog { fill: #55aeb3; stroke: #fffdfb; }
.hspe-dog-map-heart { fill: #fffdfb; stroke: rgba(131,93,44,.65); }
.hspe-dog-map-heart-mark { fill: #783657; }
.hspe-dog-map-legend > span,.hspe-dog-map-axis { background: rgba(255,255,255,.82); border-color: rgba(48,38,58,.12); }
.hspe-dog-map-legend i { background: #c6a767; }
.hspe-dog-map-legend i.is-dog { background: #55aeb3; }
.hspe-dog-map-legend small { color: #6d6471; }
.hspe-dog-map-legend strong { color: #30263a; }
.hspe-dog-map-scale { color: #6d6471; }
.hspe-dog-map-series-label,.hspe-dog-map-axis-name { color: #493f4d; }
.hspe-dog-map-series-label i { background: #c6a767; border-color: #fffdfb; }
.hspe-dog-map-series.is-dog .hspe-dog-map-series-label i { background: #55aeb3; }
.hspe-dog-map-track i { background: rgba(48,38,58,.075); border-color: rgba(48,38,58,.08); }
.hspe-dog-map-track i.is-active.is-owner { background: #c6a767; border-color: #9a793c; box-shadow: none; }
.hspe-dog-map-track i.is-active.is-dog { background: #55aeb3; border-color: #368c94; box-shadow: none; }
.hspe-dog-map-value { color: #493f4d; }
.hspe-dog-checkout-relation { background: linear-gradient(145deg,#f0f8f6,#fffdfb 65%,#fcf6f5); border-color: rgba(131,93,44,.24); color: #30263a; }
.hspe-dog-checkout-relation > header h5 { color: #30263a; }
.hspe-dog-checkout-relation > header p { color: #5b5262; }
.hspe-dog-relation-field { fill: rgba(76,169,173,.04); stroke: rgba(71,132,136,.32); }
.hspe-dog-relation-ring,.hspe-dog-relation-spoke { stroke: rgba(71,132,136,.2); }
.hspe-dog-relation-area.is-owner { fill: rgba(198,167,103,.22); stroke: #9a793c; }
.hspe-dog-relation-area.is-dog { fill: rgba(76,169,173,.19); stroke: #368c94; }
.hspe-dog-checkout-relation ol li { border-color: rgba(48,38,58,.12); color: #493f4d; }
.hspe-dog-relation-values i { border-color: rgba(48,38,58,.2); }
.hspe-dog-relation-values i.is-owner { color: #835d2c; }
.hspe-dog-relation-values i.is-dog { color: #28777e; }
@media (max-width: 760px) {
  .hspe-dog-hero { grid-template-columns: 1fr; }
  .hspe-dog-brand-logo { margin-inline: auto; max-width: 245px; width: min(72vw,245px); }
  .hspe-dog-hero-copy { text-align: center; }
  .hspe-dog-hero-pills { justify-content: center; }
  .hspe-dog-journey-progress ol { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .hspe-dog-journey-progress li { align-items: center; border-radius: 14px; flex-direction: column; font-size: .63rem; gap: 4px; justify-content: center; min-height: 84px; padding: 8px 3px; text-align: center; }
  .hspe-dog-stage-icon { flex-basis: 38px; height: 38px; width: 38px; }
  .hspe-dog-journey-progress li > span { flex-basis: 20px; height: 20px; width: 20px; }
  .hspe-dog-mobile-question { min-height: 200px; }
  .hspe-dog-mobile-nav:not([hidden]) { background: rgba(255,253,251,.98); }
}
@media (max-width: 380px) {
  .hspe-dog-shell { padding-inline: 11px; }
  .hspe-dog-workspace { padding: 11px; }
  .hspe-dog-journey-progress li { font-size: .62rem; min-height: 82px; }
  .hspe-dog-stage-icon { flex-basis: 32px; height: 32px; width: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .hspe-dog-flow-panel,.hspe-dog-journey-progress li { animation: none; }
}


/* Optional, explicit consent for abandoned checkout reminders. */
.hspe-dog-recovery-consent {
  align-items: flex-start;
  background: rgba(76, 169, 173, .07);
  border: 1px solid rgba(71, 157, 163, .22);
  border-radius: .7rem;
  color: #493f4d;
  display: flex;
  font-size: .82rem;
  gap: .65rem;
  line-height: 1.5;
  margin: .35rem 0 .9rem;
  padding: .7rem .8rem;
}
.hspe-dog-recovery-consent input {
  -webkit-appearance: none !important;
  appearance: none !important;
  align-items: center;
  background: #fff !important;
  border: 2px solid #347f85 !important;
  border-radius: 5px !important;
  cursor: pointer;
  display: inline-grid !important;
  flex: 0 0 23px;
  height: 23px !important;
  justify-content: center;
  margin: .1rem 0 0 !important;
  min-height: 23px !important;
  opacity: 1 !important;
  padding: 0 !important;
  pointer-events: auto !important;
  position: static !important;
  width: 23px !important;
}
.hspe-dog-recovery-consent input::before {
  border: solid #fff;
  border-width: 0 0 2px 2px;
  content: "";
  height: 5px;
  transform: rotate(-45deg) scale(0);
  transition: transform .12s ease-in-out;
  width: 10px;
}
.hspe-dog-recovery-consent input:checked {
  background: #28777e !important;
  border-color: #28777e !important;
}
.hspe-dog-recovery-consent input:checked::before { transform: rotate(-45deg) scale(1); }
.hspe-dog-recovery-consent input:focus-visible { outline: 3px solid rgba(52,127,133,.3); outline-offset: 2px; }
.hspe-dog-mobile-question > label.hspe-dog-recovery-consent {
  align-items: flex-start;
  border-color: rgba(52,127,133,.28);
  display: flex;
  flex-direction: row;
  gap: .7rem;
  width: 100%;
}
.hspe-dog-recovery-consent:has(input:checked) {
  background: #e8f5f2;
  border-color: #5da6a7;
  box-shadow: 0 0 0 2px rgba(52,127,133,.12);
}
.hspe-dog-recovery-consent > span { display: block; flex: 1 1 auto; pointer-events: none; }
.hspe-dog-recovery-consent:focus-within { outline: 2px solid #368c94; outline-offset: 2px; }
.hspe-dog-mobile-paywall [data-behavior-personalization]:not([hidden]) {
  background: rgba(76, 169, 173, .075);
  border-inline-start: 3px solid #368c94;
  border-radius: 0 .55rem .55rem 0;
  color: #493f4d;
  font-size: .87rem;
  line-height: 1.55;
  margin: .75rem 0;
  padding: .65rem .8rem;
}
.hspe-dog-mobile-paywall [data-paywall-price] {
  color: #30263a;
  font-size: .9rem;
  font-weight: 750;
}
.hspe-dog-mobile-paywall .hspe-dog-price-note {
  color: #5b5262;
  font: 400 .76rem/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;
  margin: 8px 0 0;
}

@font-face {
  font-family: "HSPE-Demo-Calligraphy";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("GreatVibes-Regular.ttf") format("truetype");
}
.hspe-dog-demo-cta {
  appearance: none;
  cursor: pointer;
  font: inherit;
  text-align: start;
  width: 100%;
}
.hspe-dog-demo-dialog {
  background: linear-gradient(145deg,#fffdfb,#f8f4f6);
  border: 1px solid rgba(198,167,103,.64);
  border-radius: 22px;
  box-shadow: 0 30px 100px rgba(26,17,34,.36);
  color: #30263a;
  inset: 0;
  margin: auto;
  max-height: min(92vh,980px);
  max-height: min(92dvh,980px);
  max-width: min(1080px,calc(100vw - 28px));
  overflow: hidden;
  padding: 0;
  position: fixed;
  width: 100%;
}
.hspe-dog-demo-dialog[open] { display: flex; flex-direction: column; }
.hspe-dog-demo-dialog::backdrop { background: rgba(25,17,31,.74); backdrop-filter: blur(5px); }
.hspe-dog-demo-dialog.is-open-fallback {
  box-shadow: 0 0 0 100vmax rgba(25,17,31,.74),0 30px 100px rgba(26,17,34,.36);
  inset: 2vh 14px auto;
  margin: 0 auto;
  max-height: 96vh;
  z-index: 100000;
}
.hspe-dog-demo-dialog-header {
  align-items: center;
  background: rgba(255,253,251,.98);
  border-bottom: 1px solid rgba(91,82,98,.14);
  display: flex;
  flex: 0 0 auto;
  gap: 16px;
  justify-content: space-between;
  padding: 15px clamp(15px,3vw,29px);
  position: sticky;
  top: 0;
  z-index: 5;
}
.hspe-dog-demo-dialog-header h2 {
  color: #30263a;
  font: 600 clamp(1.15rem,2.6vw,1.7rem)/1.15 Georgia,"Times New Roman",serif;
  margin: 0;
}
.hspe-dog-demo-dialog-header p { color: #5b5262; font-size: .78rem; line-height: 1.5; margin: 5px 0 0; max-width: 85ch; }
.hspe-dog-demo-dialog-header .hspe-dog-premium-kicker { margin-bottom: 4px; }
.hspe-dog-demo-dialog-header [data-close-demo-report] {
  align-items: center;
  appearance: none;
  background: #f4eef2;
  border: 1px solid rgba(48,38,58,.16);
  border-radius: 50%;
  color: #49304e;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 44px;
  font: 400 1.7rem/1 Georgia,serif;
  height: 44px;
  justify-content: center;
  padding: 0 0 3px;
  width: 44px;
}
.hspe-dog-demo-dialog-header [data-close-demo-report]:hover { background: #e9dce8; }
.hspe-dog-demo-dialog :focus-visible { outline: 3px solid #368c94; outline-offset: 3px; }
.hspe-dog-demo-dialog-scroll { flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; padding: clamp(13px,2.5vw,26px); }
.hspe-dog-demo-dialog .hspe-dog-demo-report { background: transparent; border: 0; border-radius: 0; box-shadow: none; margin: 0 auto; max-width: 1000px; padding: 0; }
.hspe-dog-demo-dialog .hspe-dog-demo-wheel-section { margin-inline: 0; }
.hspe-dog-demo-dialog .hspe-dog-premium-heading h3 { font-size: clamp(1.45rem,3.2vw,2.2rem); }
.hspe-dog-demo-certificate-wrap { border-top: 1px solid rgba(91,82,98,.15); margin-top: 25px; padding: 25px 0 4px; }
.hspe-dog-demo-certificate {
  align-items: center;
  aspect-ratio: 210 / 297;
  background: radial-gradient(ellipse at 50% 0%,rgba(224,239,234,.64),transparent 40%),linear-gradient(155deg,#fffefa,#f8f5ed 56%,#fcf8f1);
  border: 1px solid #b89450;
  box-shadow: inset 0 0 0 6px rgba(255,255,255,.76),inset 0 0 0 7px rgba(184,148,80,.42),0 15px 34px rgba(48,38,58,.12);
  color: #30263a;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 560px;
  overflow: hidden;
  padding: clamp(27px,6vw,52px) clamp(24px,5.4vw,46px) clamp(21px,4.5vw,38px);
  position: relative;
  text-align: center;
  width: 100%;
}
.hspe-dog-demo-certificate::before,.hspe-dog-demo-certificate::after { border: 1px solid rgba(184,148,80,.19); border-radius: 50%; content: ""; height: 42%; position: absolute; right: -17%; top: 36%; width: 42%; }
.hspe-dog-demo-certificate::after { height: 34%; right: -13%; top: 40%; width: 34%; }
.hspe-dog-demo-certificate > * { position: relative; z-index: 1; }
.hspe-dog-demo-cert-logo { display: block; height: auto; margin: 0 auto 8px; max-height: 52px; max-width: 190px; object-fit: contain; width: 42%; }
.hspe-dog-demo-cert-kicker { color: #78613d; font-size: .58rem; font-weight: 850; letter-spacing: .14em; line-height: 1.35; text-transform: uppercase; }
.hspe-dog-demo-certificate h4 { color: #17243a; font: 500 clamp(1.25rem,3vw,1.85rem)/1.12 Georgia,"Times New Roman",serif; letter-spacing: .075em; margin: 9px 0 0; }
.hspe-dog-demo-cert-subtitle { color: #94713f; font: 500 clamp(.9rem,2vw,1.14rem)/1.25 Georgia,"Times New Roman",serif; margin: 6px 0 0; }
.hspe-dog-demo-cert-rule { align-items: center; display: flex; gap: 10px; justify-content: center; margin: 12px auto; width: min(220px,65%); }
.hspe-dog-demo-cert-rule i { background: linear-gradient(90deg,transparent,#c6a861); height: 1px; width: 44%; }
.hspe-dog-demo-cert-rule i:last-child { transform: rotate(180deg); }
.hspe-dog-demo-cert-rule b { color: #b28b48; font: 400 1rem/1 Georgia,serif; }
.hspe-dog-demo-cert-signs { display: grid; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 5px auto 8px; max-width: 430px; width: 100%; }
.hspe-dog-demo-cert-sign { align-items: center; background: rgba(255,255,255,.55); border: 1px solid rgba(184,148,80,.2); border-radius: 15px; display: flex; flex-direction: column; min-width: 0; padding: 10px 8px; }
.hspe-dog-demo-cert-sign > span { color: #78613d; font-size: .57rem; font-weight: 850; letter-spacing: .07em; line-height: 1.3; text-transform: uppercase; }
.hspe-dog-demo-cert-sign > img { display: block; height: clamp(48px,10vw,76px); margin: 7px auto 3px; object-fit: contain; width: clamp(48px,10vw,76px); }
.hspe-dog-demo-cert-sign > strong { color: #493952; font: 500 clamp(.77rem,1.8vw,1rem)/1.2 Georgia,"Times New Roman",serif; overflow-wrap: anywhere; }
.hspe-dog-demo-cert-sign > small { color: #5b5262; font-size: .64rem; line-height: 1.35; margin-top: 5px; }
.hspe-dog-demo-cert-dedication { color: #493952; font: 400 clamp(1.2rem,2.8vw,1.8rem)/1.18 "HSPE-Demo-Calligraphy","Brush Script MT",cursive; margin: 3px 0 0; }
.hspe-dog-demo-cert-body { color: #493f4d; font: 400 clamp(.71rem,1.5vw,.82rem)/1.5 Georgia,"Times New Roman",serif; margin: 6px auto 0; max-width: 54ch; }
.hspe-dog-demo-cert-footer { align-items: center; display: grid; gap: 8px; grid-template-columns: minmax(0,1fr) 40px minmax(0,1fr); margin: 10px auto 0; max-width: 440px; width: 100%; }
.hspe-dog-demo-cert-footer > span { display: grid; gap: 3px; min-width: 0; text-align: start; }
.hspe-dog-demo-cert-footer > span:last-child { text-align: end; }
.hspe-dog-demo-cert-footer small { color: #766b5b; font-size: .53rem; font-weight: 750; letter-spacing: .04em; }
.hspe-dog-demo-cert-footer b { color: #45364a; font: 500 .68rem/1.25 Georgia,"Times New Roman",serif; overflow-wrap: anywhere; }
.hspe-dog-demo-cert-footer img { display: block; height: 40px; object-fit: contain; width: 40px; }
.hspe-dog-demo-cert-note { color: #766b5b; font-size: .57rem; line-height: 1.35; margin: 7px auto 0; max-width: 58ch; }
.hspe-dog-wheel-choice,
.hspe-dog-gallery-choice { cursor: default; }
.hspe-dog-wheel-choice:hover,
.hspe-dog-gallery-choice:hover { transform: none; }
.hspe-dog-wheel-choice[aria-current="true"] { background: radial-gradient(circle at 35% 25%,#f6fcfa,#e4f4f1 78%); border-color: #c6a767; box-shadow: 0 0 0 3px rgba(198,167,103,.22),0 5px 14px rgba(48,38,58,.13); }
.hspe-dog-gallery-choice[aria-current="true"] { background: #eaf6f3; border-color: #c6a767; box-shadow: 0 0 0 2px rgba(52,127,133,.1); }
.hspe-dog-demo-calculation { background: linear-gradient(145deg,#f5faf8,#fffdfb 55%,#faf4f8); border: 1px solid rgba(52,127,133,.2); border-radius: 22px; box-shadow: 0 14px 36px rgba(48,38,58,.07); color: #30263a; margin: 24px 0; padding: clamp(14px,2.6vw,27px); }
.hspe-dog-demo-calculation-heading { margin: 0 0 18px; }
.hspe-dog-demo-calculation-heading > span,
.hspe-dog-demo-reading > header > span { color: #835d2c; display: block; font-size: .68rem; font-weight: 850; letter-spacing: .12em; line-height: 1.4; text-transform: uppercase; }
.hspe-dog-demo-calculation-heading h4 { color: #30263a; font: 500 clamp(1.35rem,2.8vw,2rem)/1.16 Georgia,"Times New Roman",serif; margin: 5px 0 8px; }
.hspe-dog-demo-calculation-heading p { color: #5b5262; font-size: .84rem; line-height: 1.6; margin: 0; max-width: 78ch; }
.hspe-dog-demo-chart-grid { display: grid; gap: 14px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.hspe-dog-demo-chart-card { background: rgba(255,255,255,.88); border: 1px solid rgba(48,38,58,.11); border-radius: 17px; min-width: 0; padding: clamp(12px,2vw,19px); }
.hspe-dog-demo-chart-card > header { border-bottom: 1px solid rgba(48,38,58,.1); margin: 0 0 11px; padding: 0 0 9px; }
.hspe-dog-demo-chart-card > header > span { color: #835d2c; display: block; font-size: .65rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.hspe-dog-demo-chart-card > header h5 { color: #30263a; font: 500 1.1rem/1.25 Georgia,"Times New Roman",serif; margin: 4px 0 0; }
.hspe-dog-demo-chart-meta { display: grid; gap: 6px 12px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0 0 10px; }
.hspe-dog-demo-chart-meta > div { min-width: 0; }
.hspe-dog-demo-chart-meta dt { color: #756978; font-size: .61rem; font-weight: 750; }
.hspe-dog-demo-chart-meta dd { color: #393040; font-size: .72rem; line-height: 1.4; margin: 1px 0 0; overflow-wrap: anywhere; }
.hspe-dog-demo-natal-wheel { margin: 7px auto; max-width: 390px; }
.hspe-dog-demo-natal-wheel .hspe-dog-natal-svg { display: block; margin: auto; max-width: 100%; width: 100%; }
.hspe-dog-demo-positions { border-top: 1px solid rgba(48,38,58,.1); margin-top: 9px; padding-top: 8px; }
.hspe-dog-demo-positions summary { color: #286f76; cursor: pointer; font-size: .73rem; font-weight: 800; padding: 4px 0; }
.hspe-dog-demo-table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.hspe-dog-demo-table-wrap table { border-collapse: collapse; color: #393040; font-size: .69rem; min-width: 420px; width: 100%; }
.hspe-dog-demo-table-wrap th,.hspe-dog-demo-table-wrap td { border-bottom: 1px solid rgba(48,38,58,.09); padding: 6px 7px; text-align: start; vertical-align: top; }
.hspe-dog-demo-table-wrap thead th { color: #756978; font-size: .63rem; font-weight: 800; }
.hspe-dog-demo-synastry-map { background: rgba(255,255,255,.78); border: 1px solid rgba(48,38,58,.1); border-radius: 17px; margin-top: 15px; padding: clamp(12px,2vw,19px); }
.hspe-dog-demo-synastry-map > header { margin-bottom: 12px; }
.hspe-dog-demo-synastry-map > header h5 { color: #30263a; font: 500 1.05rem/1.28 Georgia,"Times New Roman",serif; margin: 0; }
.hspe-dog-demo-synastry-map > header p { color: #5b5262; font-size: .73rem; line-height: 1.55; margin: 5px 0 0; }
.hspe-dog-demo-synastry-layout { align-items: center; display: grid; gap: 14px; grid-template-columns: minmax(190px,.8fr) minmax(0,1.2fr); }
.hspe-dog-demo-synastry-wheel { margin: 0 auto; max-width: 340px; width: 100%; }
.hspe-dog-demo-synastry-wheel > .hspe-synastry-wheel { background: #fffefa; border: 1px solid #e2e8e4; border-radius: 50%; display: block; margin: 0 auto; max-width: 340px; width: 100%; }
.hspe-dog-demo-synastry-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; justify-content: center; margin-top: 7px; }
.hspe-dog-demo-synastry-legend span { color: #5b5262; font-size: .68rem; }
.hspe-dog-demo-synastry-legend span::before { border: 2px solid; border-radius: 50%; content: ""; display: inline-block; height: 8px; margin-inline-end: 5px; vertical-align: -1px; width: 8px; }
.hspe-dog-demo-synastry-legend .is-owner::before { border-color: #37838a; }
.hspe-dog-demo-synastry-legend .is-dog::before { border-color: #a96389; }
.hspe-dog-demo-aspect-table h5 { color: #40364b; font: 500 .98rem/1.3 Georgia,"Times New Roman",serif; margin: 0 0 7px; }
.hspe-dog-demo-aspect-table > p,.hspe-dog-demo-calculation-method { color: #6d6472; font-size: .69rem; line-height: 1.55; margin: 8px 0 0; }
.hspe-dog-demo-reading { background: linear-gradient(145deg,#fffaf2,#f4faf8); border: 1px solid rgba(184,148,80,.2); border-radius: 17px; margin-top: 15px; padding: clamp(13px,2.2vw,21px); }
.hspe-dog-demo-reading h5 { color: #30263a; font: 500 1.1rem/1.25 Georgia,"Times New Roman",serif; margin: 3px 0 7px; }
.hspe-dog-demo-reading > p { color: #514656; font-size: .78rem; line-height: 1.6; margin: 6px 0 0; }
.hspe-dog-demo-reading ul { display: grid; gap: 8px; list-style: none; margin: 9px 0 0; padding: 0; }
.hspe-dog-demo-reading li { border-top: 1px solid rgba(48,38,58,.1); padding-top: 8px; }
.hspe-dog-demo-reading li > span { color: #835d2c; display: block; font-size: .67rem; font-weight: 800; }
.hspe-dog-demo-reading li > b { color: #493f4d; display: block; font-size: .75rem; font-weight: 500; line-height: 1.55; margin-top: 3px; }
.hspe-dog-demo-reading .hspe-dog-demo-reading-note { border-top: 1px solid rgba(48,38,58,.1); color: #756978; font-size: .68rem; margin-top: 10px; padding-top: 8px; }
.hspe-dog-demo-chapters { margin: 21px auto 0; max-width: 860px; }
.hspe-dog-demo-chapters > header { margin: 0 0 10px; }
.hspe-dog-demo-chapters > header > span { color: #835d2c; display: block; font-size: .65rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.hspe-dog-demo-chapters > header h4 { color: #30263a; font: 500 clamp(1.25rem,2.4vw,1.65rem)/1.2 Georgia,"Times New Roman",serif; margin: 4px 0 0; }
.hspe-dog-demo-chapter { background: linear-gradient(145deg,#fffdfb,#f9f7f3); border: 1px solid rgba(48,38,58,.1); border-radius: 17px; box-shadow: 0 7px 22px rgba(48,38,58,.035); margin: 10px 0; padding: clamp(13px,2.2vw,21px); }
.hspe-dog-demo-chapter > header { border-bottom: 1px solid rgba(48,38,58,.1); margin-bottom: 9px; padding-bottom: 8px; }
.hspe-dog-demo-chapter > header > span { color: #835d2c; display: block; font-size: .59rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.hspe-dog-demo-chapter h5 { color: #30263a; font: 500 clamp(1rem,2vw,1.25rem)/1.25 Georgia,"Times New Roman",serif; margin: 4px 0 0; }
.hspe-dog-demo-chapter > p,.hspe-dog-demo-chapter-axes p,.hspe-dog-demo-chapter aside p { color: #514656; font: 400 .78rem/1.65 Georgia,"Times New Roman",serif; margin: 7px 0 0; }
.hspe-dog-demo-chapter-axes { display: grid; gap: 7px; list-style: none; margin: 11px 0 0; padding: 0; }
.hspe-dog-demo-chapter-axes li { background: rgba(239,247,245,.7); border: 1px solid rgba(52,127,133,.1); border-radius: 11px; padding: 8px 10px; }
.hspe-dog-demo-chapter-axes strong { color: #286f76; display: block; font-size: .68rem; }
.hspe-dog-demo-chapter-axes p { font-size: .71rem; margin-top: 3px; }
.hspe-dog-demo-chapter aside { background: #f4faf8; border-inline-start: 3px solid #c6a767; border-radius: 0 11px 11px 0; margin-top: 11px; padding: 9px 11px; }
.hspe-dog-demo-chapter aside strong { color: #835d2c; font-size: .67rem; }
.hspe-dog-demo-axis { grid-template-columns: minmax(90px,.72fr) minmax(0,1fr) auto; }
.hspe-dog-demo-values { color: #756978; font-size: .63rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.hspe-dog-demo-cert-synastry { border-top: 1px solid rgba(184,148,80,.2); border-bottom: 1px solid rgba(184,148,80,.2); margin: 3px auto 7px; max-width: 390px; padding: 5px 0 7px; width: 100%; }
.hspe-dog-demo-cert-synastry > span { color: #78613d; display: block; font-size: .5rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.hspe-dog-demo-cert-synastry > small { color: #766b5b; display: block; font-size: .42rem; line-height: 1.25; margin: 1px auto 3px; max-width: 50ch; }
.hspe-dog-demo-cert-synastry-wheel { margin: 2px auto; max-width: 105px; }
.hspe-dog-demo-cert-synastry-wheel .hspe-synastry-wheel { background: rgba(255,255,255,.5); border: 0; display: block; margin: auto; max-width: 105px; width: 100%; }
.hspe-dog-demo-cert-synastry > ul { display: grid; gap: 2px 10px; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; margin: 3px auto 0; max-width: 390px; padding: 0; text-align: start; }
.hspe-dog-demo-cert-synastry > ul li { color: #615363; display: flex; flex-wrap: wrap; font-size: .48rem; justify-content: space-between; line-height: 1.25; }
.hspe-dog-demo-cert-synastry > ul b { color: #493952; font-size: .48rem; }
.hspe-dog-demo-cert-synastry-unavailable { color: #756978; font-size: .62rem; }
@media (max-width: 560px) {
  .hspe-dog-demo-dialog { border-radius: 17px; max-height: 95vh; max-height: 95dvh; max-width: calc(100vw - 12px); }
  .hspe-dog-demo-dialog-header { align-items: flex-start; padding: 12px; }
  .hspe-dog-demo-dialog-header [data-close-demo-report] { flex-basis: 40px; height: 40px; width: 40px; }
  .hspe-dog-demo-dialog-scroll { padding: 12px; }
  .hspe-dog-demo-dialog .hspe-dog-demo-map ul { grid-template-columns: 1fr; }
  .hspe-dog-demo-certificate { padding: 25px 20px 18px; }
  .hspe-dog-demo-cert-signs { gap: 7px; }
  .hspe-dog-demo-cert-sign { padding: 8px 5px; }
  .hspe-dog-demo-chart-grid { grid-template-columns: 1fr; }
  .hspe-dog-demo-synastry-layout { grid-template-columns: 1fr; }
  .hspe-dog-demo-synastry-wheel { max-width: 280px; }
  .hspe-dog-demo-axis { grid-template-columns: minmax(100px,.85fr) minmax(0,1.15fr) auto; }
}

/* Guardian zodiac artwork belongs to this plugin's owner chart and premium documents. */
.hspe-dog-natal-svg .hspe-dog-natal-sign-icon { display: block; filter: drop-shadow(0 1px 1px rgba(48,38,58,.08)); overflow: visible; pointer-events: none; }
.hspe-dog-natal-svg .hspe-dog-natal-sign-glyph { fill: #835d2c; font: 18px Georgia,"Times New Roman",serif; }
#hspe-dog-order-form .hspe-dog-flow-panel[data-flow-panel="bond-result"] [data-continue-payment] {
  -webkit-appearance: none;
  appearance: none;
  background: linear-gradient(115deg,#347f85,#286f76) !important;
  background-color: #286f76 !important;
  border: 1px solid #225f66 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  cursor: pointer;
  font-weight: 850;
  min-height: 50px;
  opacity: 1;
  pointer-events: auto !important;
  position: relative;
  text-shadow: none;
  touch-action: manipulation;
  visibility: visible !important;
  z-index: 1;
}
#hspe-dog-order-form .hspe-dog-flow-panel[data-flow-panel="bond-result"] [data-continue-payment]:hover { background: linear-gradient(115deg,#2e747a,#225f66) !important; }
#hspe-dog-order-form .hspe-dog-flow-panel[data-flow-panel="bond-result"] [data-continue-payment]:focus-visible { outline: 3px solid #c6a767; outline-offset: 3px; }

/* Cross-chart synastry preview: restrained, legible technical map. */
.hspe-dog-synastry-preview {
  background: radial-gradient(ellipse at 50% 0,rgba(195,165,213,.12),transparent 45%),linear-gradient(145deg,#fffefa,#f5f8f6);
  border: 1px solid #d8e2df;
  border-radius: 20px;
  box-shadow: 0 12px 34px rgba(52,43,62,.07);
  color: #342c3e;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0,1fr) minmax(250px,.8fr);
  margin: 24px 0;
  padding: clamp(16px,3vw,28px);
}
.hspe-dog-synastry-preview > header { grid-column: 1 / -1; }
.hspe-dog-synastry-preview h4 { color: #3e344b; font: 500 clamp(1.25rem,2.5vw,1.8rem)/1.15 Georgia,"Times New Roman",serif; margin: 5px 0 8px; }
.hspe-dog-synastry-preview > header p,
.hspe-dog-synastry-note,
.hspe-dog-synastry-empty { color: #657177; font-size: .92rem; line-height: 1.65; margin: 0; }
.hspe-dog-synastry-wheel { align-self: center; background: #fffefa; border: 1px solid #e2e8e4; border-radius: 50%; display: block; margin: 0 auto; max-width: 360px; width: min(100%,360px); }
.hspe-synastry-ring { fill: none; stroke: #d7e2df; stroke-width: 1; }
.hspe-synastry-ring.is-owner { stroke: #76a8ad; stroke-width: 1.35; }
.hspe-synastry-ring.is-dog { stroke: #c59bb2; stroke-width: 1.35; }
.hspe-synastry-tick { stroke: #cdd8d6; stroke-width: .7; }
.hspe-synastry-tick.is-major { stroke: #aebdbb; stroke-width: 1; }
.hspe-synastry-sign { fill: #8b7e91; font: 12px Georgia,"Times New Roman",serif; }
.hspe-synastry-aspect { fill: none; opacity: .43; stroke-width: 1.25; }
.hspe-synastry-aspect.is-conjunction { stroke: #bd9a57; }
.hspe-synastry-aspect.is-opposition { stroke: #b76791; }
.hspe-synastry-aspect.is-square { stroke: #b86d61; }
.hspe-synastry-aspect.is-trine { stroke: #388c83; }
.hspe-synastry-aspect.is-sextile { stroke: #6488bd; }
.hspe-synastry-planet circle { fill: #fffefa; stroke-width: 1.6; }
.hspe-synastry-planet text { fill: #342c3e; font: 12px Georgia,"Times New Roman",serif; }
.hspe-synastry-planet.is-owner circle { stroke: #37838a; }
.hspe-synastry-planet.is-dog circle { fill: #fff8fc; stroke: #a96389; }
.hspe-synastry-center { fill: #af8f55; font: 23px Georgia,"Times New Roman",serif; }
.hspe-synastry-center-label { fill: #807283; font: 7px Arial,sans-serif; letter-spacing: .12em; }
.hspe-dog-synastry-preview-list { align-self: center; display: grid; gap: 9px; list-style: none; margin: 0; padding: 0; }
.hspe-dog-synastry-preview-list li { border-bottom: 1px solid #e4e9e5; padding: 0 0 9px; }
.hspe-dog-synastry-preview-list li:last-child { border-bottom: 0; }
.hspe-dog-synastry-preview-list li span { display: grid; gap: 4px; }
.hspe-dog-synastry-preview-list b { color: #3e344b; font-size: .88rem; line-height: 1.4; }
.hspe-dog-synastry-preview-list small { color: #6d6472; font-size: .8rem; }
.hspe-dog-synastry-note { border-top: 1px solid #e1e7e2; grid-column: 1 / -1; padding-top: 11px; }
.hspe-dog-synastry-preview.is-incomplete { display: block; }
@media (max-width: 720px) {
  .hspe-dog-synastry-preview { grid-template-columns: 1fr; }
  .hspe-dog-synastry-preview > header,
  .hspe-dog-synastry-note { grid-column: auto; }
  .hspe-dog-synastry-wheel { max-width: 310px; }
}

/* 1.7.31 — required/optional badge and inline field messages in the question flow. */
.hspe-dog-question-badge { justify-self: start; padding: 3px 10px; border-radius: 999px; font: 700 .72rem/1.4 system-ui,sans-serif; letter-spacing: .04em; color: #7a2f3a; background: #fbe9ec; }
.hspe-dog-question-badge.is-optional { color: #44606a; background: #e7f2f3; }
.hspe-dog-question-badge:empty { display: none; }
.hspe-dog-field-error { margin: -6px 0 0; padding: 8px 12px; border-left: 3px solid #b3261e; border-radius: 8px; color: #8c1d18; background: #fdecea; font-size: .9rem; line-height: 1.4; }
.hspe-dog-order-form [aria-invalid="true"] { border-color: #b3261e !important; box-shadow: 0 0 0 3px rgba(179,38,30,.15) !important; }
[dir="rtl"] .hspe-dog-field-error { border-left: 0; border-right: 3px solid #b3261e; }
