:root {
  color-scheme: light;
  --ink: #38271d;
  --muted: #806e5e;
  --paper: #f8f1e7;
  --cream: #fffaf3;
  --gold: #d49a50;
  --line: #eadbc8;
  font-family: ui-rounded, "Avenir Next", Avenir, "Segoe UI", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: radial-gradient(ellipse at 50% 0%, #fffdf8 0, var(--paper) 68%);
  min-height: 100vh;
  padding: 28px 16px 52px;
}
a { color: inherit; }
a:focus-visible { outline: 3px solid #a96114; outline-offset: 4px; }
.skip { position: absolute; left: -9999px; top: 8px; background: white; padding: 12px; z-index: 3; }
.skip:focus { left: 8px; }
.hub { width: min(100%, 620px); margin: 0 auto; }
.intro { text-align: center; padding: 12px 16px 26px; }
.avatar {
  width: 118px; height: 118px; object-fit: cover; border-radius: 50%;
  border: 5px solid var(--cream); box-shadow: 0 7px 24px #56391f24;
}
h1 { margin: 14px 0 4px; font-family: Georgia, serif; font-size: clamp(2rem, 8vw, 2.65rem); letter-spacing: -.04em; }
.tagline { margin: 0; color: #a36a2d; font-weight: 750; font-size: 1.05rem; }
.lede { color: var(--muted); margin: 9px 0 0; line-height: 1.5; }
main { display: grid; gap: 26px; }
.shop { text-align: center; }
.cta {
  display: flex; min-height: 76px; align-items: center; justify-content: center; flex-direction: column;
  padding: 14px 20px; border-radius: 19px; text-decoration: none;
  color: #fffdf9; background: #52392a; box-shadow: 0 7px 0 #d5ad7c, 0 12px 24px #513b2a1b;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.cta:hover { background: #674833; transform: translateY(-2px); box-shadow: 0 9px 0 #d5ad7c, 0 15px 28px #513b2a25; }
.cta-label { font-size: 1.16rem; font-weight: 800; }
.cta-sub { margin-top: 2px; color: #f4ddbd; font-size: .88rem; }
.note { color: var(--muted); text-align: center; font-size: .82rem; line-height: 1.5; margin: 10px 0 0; }
.characters, .finds { background: #fffaf4cc; border: 1px solid var(--line); border-radius: 22px; padding: 20px; }
h2 { margin: 0; text-align: center; font-family: Georgia, serif; letter-spacing: -.025em; font-size: 1.5rem; }
.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 18px 0 0; padding: 0; gap: 11px; }
.tile { display: block; text-decoration: none; text-align: center; }
.tile img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 15px; border: 1px solid #e6d8c7; background: #eee0ca; transition: transform .16s ease; }
.tile:hover img { transform: translateY(-3px); }
.tile-name { display: inline-block; margin-top: 8px; font-weight: 750; font-size: .92rem; }
.finds { padding-bottom: 18px; }
.finds > .note { margin-top: 5px; }
.empty { text-align: center; margin: 16px 0 2px; padding: 20px 14px; border: 1px dashed #d5c0a7; border-radius: 16px; color: var(--muted); }
.empty p { margin: 0; font-size: .9rem; line-height: 1.5; }
.empty .empty-title { color: var(--ink); font-weight: 750; margin-bottom: 4px; }
.finds-list { list-style: none; padding: 0; margin: 12px 0 0; }
.find { display: flex; align-items: center; gap: 12px; padding: 10px 0; text-decoration: none; border-top: 1px solid var(--line); }
.find img { width: 58px; height: 58px; object-fit: cover; border-radius: 12px; }
.find-name { flex: 1; font-weight: 700; }
.badge { color: #70400d; background: #f2dfbf; border-radius: 99px; padding: 5px 9px; font-size: .72rem; font-weight: 800; }
.disclosure { display: none; margin: 13px 0 0; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.finds:has(.finds-list a[rel~="sponsored"]) .disclosure { display: block; }
.footer { padding: 22px 12px 0; text-align: center; color: var(--muted); font-size: .78rem; }
.footer p { margin: 0; }
@media (min-width: 560px) { body { padding-top: 40px; } .characters, .finds { padding: 24px; } .grid { gap: 16px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }

/* ---- Cute finds (affiliate) ---- */
.cta2 { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; padding: 10px 16px; border-radius: 99px;
  background: #f2dfbf; color: #70400d; font-weight: 800; font-size: .92rem; text-decoration: none;
  box-shadow: 0 4px 0 #e3c497; transition: transform .16s ease; }
.cta2:hover { transform: translateY(-2px); }
.finds { padding-left: 0; padding-right: 0; overflow: hidden; }
.finds > h2, .finds > .note, .finds > .disclosure { padding-left: 20px; padding-right: 20px; }
.lane-title { display: flex; align-items: center; justify-content: space-between; margin: 20px 20px 0; font-size: 1.05rem; }
.lane-title span { display: inline-flex; align-items: center; gap: 8px; }
.lane-title small { color: var(--muted); font-weight: 700; font-size: .78rem; }
.rail { display: flex; gap: 14px; list-style: none; margin: 10px 0 0; padding: 4px 20px 16px;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: 20px; overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.rail::-webkit-scrollbar { display: none; }
.card { flex: 0 0 78%; max-width: 290px; scroll-snap-align: start; }
.card > a { display: flex; flex-direction: column; height: 100%; text-decoration: none; background: #fff;
  border: 2px solid #2b1a10; border-radius: 22px; overflow: hidden; -webkit-tap-highlight-color: transparent;
  box-shadow: 0 6px 0 #2b1a10, 0 12px 24px #56391f1f; transition: transform .14s ease, box-shadow .14s ease; }
.card > a:hover { transform: translateY(-3px); box-shadow: 0 9px 0 #2b1a10, 0 16px 28px #56391f26; }
.card > a:active, .reel > a:active, .top-pick:active { transform: translateY(4px); box-shadow: 0 2px 0 #2b1a10; }
.card-media { position: relative; display: block; aspect-ratio: 1; padding: 16px; background: #fff; }
.card-badge { position: absolute; top: 8px; left: 8px; z-index: 1; padding: 2px 6px; border-radius: 6px; font-size: .58rem; font-weight: 700;
  letter-spacing: .02em; color: #7a5a3d; background: #fffffff2; border: 1px solid var(--line); box-shadow: none; }
.card-media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.card-body { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 12px 14px 14px;
  background: var(--cream); border-top: 1px dashed var(--line); }
.card-name { font-weight: 800; font-size: 1.02rem; line-height: 1.25; }
.card-blurb { color: var(--muted); font-size: .86rem; line-height: 1.4; }
.card-row { display: flex; margin-top: auto; padding-top: 8px; }
.card-shop { display: flex; flex: 1; justify-content: center; align-items: center; gap: 6px; padding: 11px 12px; border-radius: 99px;
  background: linear-gradient(180deg, #ffb347, #ff9620); color: #2b1a10; border: 2px solid #2b1a10; font-weight: 900; font-size: .88rem;
  box-shadow: 0 3px 0 #2b1a10; white-space: nowrap; }
.top-pick { display: grid; grid-template-columns: 44% 1fr; gap: 0; margin: 16px 20px 4px; text-decoration: none; color: inherit;
  background: #fff; border: 2px solid #2b1a10; border-radius: 24px; overflow: hidden; -webkit-tap-highlight-color: transparent;
  box-shadow: 0 6px 0 #2b1a10, 0 14px 26px #b8641a33; transition: transform .14s ease, box-shadow .14s ease; }
.top-pick:hover { transform: translateY(-3px); }
.top-media { position: relative; display: block; padding: 12px; background: #fff; }
.top-media img { display: block; width: 100%; height: 100%; aspect-ratio: 1; object-fit: contain; }
.top-body { display: flex; flex-direction: column; gap: 6px; padding: 12px 12px 12px 6px; }
.top-chip { align-self: flex-start; padding: 4px 9px; border-radius: 99px; background: #2b1a10; color: #ffb347; font-weight: 900; font-size: .72rem; }
.top-name { font-weight: 900; font-size: 1.05rem; line-height: 1.2; }
.top-body .card-shop { flex: 0 0 auto; margin-top: auto; font-size: .82rem; padding: 9px 10px; }
.footer .disclosure { display: block; margin: 10px auto 0; max-width: 34rem; font-size: .7rem; line-height: 1.5; color: var(--muted); }
.studio-link { margin: 0 0 14px; }
.studio-link a { display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border-radius: 99px; background: #fff;
  border: 1px solid var(--line); color: var(--ink); text-decoration: none; font-size: .82rem; white-space: nowrap; box-shadow: 0 3px 0 #ecd9bf; }
.reel { flex: 0 0 46%; max-width: 190px; scroll-snap-align: start; }
.reel > a { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 8px 8px 10px; text-decoration: none; background: #fff;
  border: 2px solid #2b1a10; border-radius: 20px; box-shadow: 0 5px 0 #2b1a10; transition: transform .16s ease; }
.reel > a:hover { transform: translateY(-3px); }
.reel-thumb { position: relative; display: block; border-radius: 14px; overflow: hidden; background: #faf4ef; }
.reel-thumb img { display: block; width: 100%; height: auto; }
.reel-play { position: absolute; right: 8px; bottom: 8px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%;
  background: #52392ae6; color: #fff; font-size: .7rem; }
.reel-name { font-weight: 800; font-size: .86rem; line-height: 1.25; flex: 1; }
.reel .card-shop { font-size: .76rem; padding: 8px 10px; }
@media (min-width: 560px) { .card { flex-basis: 44%; } .reel { flex-basis: 30%; } }
@media (prefers-reduced-motion: reduce) { .card > a, .cta2, .top-pick { transition: none; } .rail { scroll-behavior: auto; } }

/* ---- Hero (Amazon-first) ---- */
.hero { text-align: center; padding: 4px 2px 8px; }
.hero-pill { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 8px; padding: 6px 12px; border-radius: 99px;
  background: #fff; border: 1px solid var(--line); color: #70400d; font-weight: 800; font-size: .8rem; box-shadow: 0 3px 0 #ecd9bf; }
.hero h1 { margin-top: 4px; }
.hero-stage { position: relative; height: min(54vw, 222px); max-width: 330px; margin: 16px auto 2px; }
.hero-pic { position: absolute; bottom: 0; width: 39%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 24px;
  border: 5px solid #fff; background: #eee0ca; box-shadow: 0 12px 26px #56391f29; }
.hero-pic--cat { left: 4%; transform: rotate(-9deg); }
.hero-pic--bear { right: 4%; transform: rotate(9deg); }
.hero-pic--capybara { left: 29%; bottom: 4%; z-index: 2; width: 42%; animation: bob 3.4s ease-in-out infinite; }
@keyframes bob { 0%, 100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-8px) rotate(1deg); } }
.buy { position: relative; display: flex; align-items: center; gap: 12px; margin-top: 14px; padding: 12px 12px 12px 12px;
  border-radius: 24px; text-decoration: none; text-align: left; overflow: hidden; color: #2b1a10;
  background: linear-gradient(180deg, #ffb347 0%, #ff9620 100%); border: 2px solid #2b1a10;
  box-shadow: 0 6px 0 #2b1a10, 0 14px 26px #b8641a40; transition: transform .14s ease, box-shadow .14s ease; }
.buy:hover { transform: translateY(-2px); box-shadow: 0 8px 0 #2b1a10, 0 18px 30px #b8641a4d; }
.buy:active { transform: translateY(4px); box-shadow: 0 2px 0 #2b1a10, 0 8px 16px #b8641a33; }
.buy::after { content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; pointer-events: none;
  background: linear-gradient(100deg, transparent, #ffffff8c, transparent); transform: skewX(-18deg); animation: shine 3.6s ease-in-out 1s infinite; }
@keyframes shine { 0%, 70% { left: -60%; } 100% { left: 130%; } }
.buy-face { flex: 0 0 auto; width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; box-shadow: 0 2px 0 #2b1a10; }
.buy-face--sm { width: 30px; height: 30px; border-width: 2px; box-shadow: none; }
.buy-text { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.buy-label { font-size: clamp(1.05rem, 5.2vw, 1.3rem); font-weight: 900; letter-spacing: -.01em; line-height: 1.15; white-space: nowrap; }
.buy-sub { margin-top: 3px; font-size: .76rem; font-weight: 700; color: #5a3312; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.buy-arrow { flex: 0 0 auto; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
  background: #2b1a10; color: #ffb347; font-size: 1.35rem; font-weight: 900; }
.nowrap { white-space: nowrap; }
.jump { position: sticky; top: 0; z-index: 4; display: flex; gap: 8px; margin: 14px -16px 0; padding: 10px 16px;
  overflow-x: auto; scrollbar-width: none; background: #f8f1e7;
  border-bottom: 1px solid var(--line); }
.jump::-webkit-scrollbar { display: none; }
.jump a { flex: 0 0 auto; padding: 8px 13px; border-radius: 99px; background: #fff; border: 1px solid var(--line);
  color: var(--ink); font-weight: 800; font-size: .84rem; text-decoration: none; box-shadow: 0 3px 0 #ecd9bf; }
.jump a:active { transform: translateY(2px); box-shadow: 0 1px 0 #ecd9bf; }
[id] { scroll-margin-top: 70px; }
main { margin-top: 16px; }
.sticky-shop { position: fixed; left: 50%; bottom: max(14px, env(safe-area-inset-bottom)); z-index: 5; width: min(92vw, 420px);
  display: flex; align-items: center; justify-content: center; gap: 8px; padding: 15px 18px; border-radius: 99px;
  background: linear-gradient(180deg, #ffb347, #ff9620); color: #2b1a10; font-weight: 900; text-decoration: none; border: 2px solid #2b1a10;
  box-shadow: 0 5px 0 #2b1a10, 0 14px 28px #2b1c1240; transform: translate(-50%, 160%); transition: transform .25s ease; }
.sticky-shop.show { transform: translate(-50%, 0); }
body { padding-bottom: 96px; }
.tile img { height: auto; }  /* fix: the width/height attributes were stretching the character tiles */
@media (prefers-reduced-motion: reduce) { .hero-pic--capybara, .buy::after { animation: none; } .sticky-shop, .buy { transition: none; } }

/* ---- Daily pick, watch links, hearts, coming soon (12 Nov) ---- */
.today { margin: 16px 20px 4px; }
.today-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.today-date { color: var(--muted); font-weight: 800; font-size: .8rem; }
.today .top-pick { margin: 10px 0 0; }
.pick[hidden] { display: none; }
.pick.spin .top-media img { animation: wobble .12s ease-in-out infinite; }
@keyframes wobble { 50% { transform: rotate(-4deg) scale(.96); } }
.pick.land .top-pick { animation: pop .45s cubic-bezier(.3, 1.6, .5, 1); }
@keyframes pop { 0% { transform: scale(.94); } 100% { transform: scale(1); } }
.surprise { display: flex; justify-content: center; gap: 10px; margin-top: 14px; }
.surprise button { cursor: pointer; font: inherit; font-weight: 900; font-size: .95rem; padding: 11px 18px; border-radius: 99px; color: #2b1a10;
  background: #fff; border: 2px solid #2b1a10; box-shadow: 0 4px 0 #2b1a10; -webkit-tap-highlight-color: transparent; }
.surprise button:active { transform: translateY(3px); box-shadow: 0 1px 0 #2b1a10; }
.surprise .again { display: none; }
.watch { display: flex; flex-wrap: nowrap; align-items: center; gap: 5px; margin: 8px 0 0; font-size: .7rem; overflow: hidden; font-weight: 800; color: var(--muted); }
.watch a { flex: 0 1 auto; white-space: nowrap; padding: 5px 8px; border-radius: 99px; background: #fff; border: 1px solid var(--line); color: var(--ink); text-decoration: none; box-shadow: 0 2px 0 #ecd9bf; }
.watch a:active { transform: translateY(2px); box-shadow: none; }
.card, .reel { position: relative; display: flex; flex-direction: column; }
.card > a, .reel > a { flex: 1; }
.heart { position: absolute; top: 8px; right: 8px; z-index: 2; width: 40px; height: 40px; display: grid; place-items: center; cursor: pointer;
  border-radius: 50%; background: #fff; border: 2px solid #2b1a10; box-shadow: 0 3px 0 #2b1a10; font-size: 1.15rem; line-height: 1; color: #c2410c;
  -webkit-tap-highlight-color: transparent; }
.heart[aria-pressed="true"] { background: #ffe1d6; }
.heart.bump { animation: pop .35s cubic-bezier(.3, 1.8, .5, 1); }
.seen { margin: 6px 20px 0; display: flex; align-items: center; gap: 10px; font-size: .78rem; font-weight: 800; color: var(--muted); }
.seen-bar { flex: 1; height: 8px; border-radius: 9px; background: #ecd9bf; overflow: hidden; }
.seen-bar span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #ffb347, #ff9620); transition: width .4s ease; }
.soon { flex: 0 0 46%; max-width: 190px; scroll-snap-align: start; }
.soon-peek { display: flex; flex-direction: column; gap: 6px; width: 100%; padding: 8px 8px 10px; cursor: pointer; font: inherit; color: inherit; text-align: left;
  background: #fff; border: 2px dashed #2b1a10; border-radius: 20px; -webkit-tap-highlight-color: transparent; }
.soon-media { position: relative; display: block; aspect-ratio: 1; border-radius: 14px; overflow: hidden; background: #faf4ef; }
.soon-media img { display: block; width: 100%; height: 100%; object-fit: contain; filter: blur(9px) saturate(1.2); transform: scale(1.08); transition: filter .35s ease, transform .35s ease; }
.soon.peeked .soon-media img { filter: none; transform: none; }
.soon-sticker { position: absolute; left: 6px; top: 6px; padding: 3px 7px; border-radius: 8px; background: #2b1a10; color: #ffb347; font-size: .64rem; font-weight: 900; }
.soon-tap { position: absolute; inset: auto 0 10px; text-align: center; font-weight: 900; font-size: .8rem; color: #2b1a10; text-shadow: 0 1px 0 #fff; }
.soon.peeked .soon-tap { display: none; }
.soon-name { font-weight: 800; font-size: .84rem; line-height: 1.25; }
.soon-lane { font-size: .72rem; font-weight: 800; color: var(--muted); }
.follow { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 12px 0 0; font-size: .78rem; font-weight: 800; color: var(--muted); }
.follow a { padding: 6px 11px; border-radius: 99px; background: #fff; border: 1px solid var(--line); color: var(--ink); text-decoration: none; box-shadow: 0 2px 0 #ecd9bf; }
.saved-empty { margin: 8px 20px 0; color: var(--muted); font-size: .84rem; }
@media (prefers-reduced-motion: reduce) { .pick.spin .top-media img, .pick.land .top-pick, .heart.bump { animation: none; } .soon-media img, .seen-bar span { transition: none; } }

/* ---- Feature your product (paid partnerships) ---- */
.panel { background: #fffaf4cc; border: 1px solid var(--line); border-radius: 22px; padding: 20px; }
.panel .note { text-align: left; }
.ticks, .steps { margin: 14px 0 0; padding-left: 1.2rem; line-height: 1.5; font-size: .93rem; }
.ticks li, .steps li { margin: 6px 0; }
.sub { margin: 12px 0 0; color: var(--muted); font-size: .85rem; line-height: 1.5; }
.pform { display: grid; gap: 12px; margin-top: 14px; }
.pform label { display: grid; gap: 5px; font-weight: 800; font-size: .88rem; }
.pform input, .pform select, .pform textarea, .fallback textarea { font: inherit; font-weight: 500; font-size: 1rem; color: var(--ink);
  padding: 11px 12px; border: 2px solid #d5c0a7; border-radius: 14px; background: #fff; width: 100%; }
.pform input:focus, .pform select:focus, .pform textarea:focus { outline: 3px solid #a96114; outline-offset: 1px; border-color: #2b1a10; }
.pform .check { display: flex; align-items: flex-start; gap: 10px; font-weight: 600; line-height: 1.4; }
.pform .check input { width: 20px; height: 20px; flex: 0 0 auto; margin: 1px 0 0; accent-color: #ff9620; }
.pbtn { cursor: pointer; font: inherit; font-weight: 900; font-size: 1rem; padding: 13px 16px; }
.form-error { margin: 0; color: #9a2c10; font-weight: 700; font-size: .88rem; }
.fallback { margin-top: 16px; font-size: .88rem; line-height: 1.5; }
.fallback textarea { margin-top: 6px; font-size: .82rem; }
.fallback .cta2 { border: 0; cursor: pointer; font: inherit; font-weight: 800; }

/* graphics */
.pp-phone { width: 128px; margin: 18px auto 4px; padding: 7px; border-radius: 26px; background: #2b1a10; box-shadow: 0 10px 0 #e3c497, 0 16px 30px #56391f33;
  transform: rotate(-4deg); animation: bob 3.4s ease-in-out infinite; }
.pp-screen { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; height: 200px; padding: 26px 10px 12px;
  border-radius: 20px; background: linear-gradient(180deg, #ffe3b8, #fff7ec); }
.pp-ad { position: absolute; top: 8px; left: 8px; padding: 2px 6px; border-radius: 6px; background: #2b1a10; color: #ffb347; font-size: .6rem; font-weight: 900; }
.pp-prod { font-size: 3.4rem; line-height: 1; margin-top: 8px; }
.pp-cap { font-size: .7rem; font-weight: 900; color: #70400d; }
.pp-bar { width: 80%; height: 7px; border-radius: 9px; background: #ecd9bf; margin-top: auto; }
.pp-bar--s { width: 55%; margin-top: 0; }
.pp-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; list-style: none; margin: 14px 0 0; padding: 0; }
.pp-tiles li { display: flex; flex-direction: column; align-items: center; gap: 3px; text-align: center; padding: 14px 8px;
  background: #fff; border: 2px solid #2b1a10; border-radius: 18px; box-shadow: 0 4px 0 #2b1a10; }
.pp-tiles strong { font-size: .98rem; }
.pp-tiles span:last-child { color: var(--muted); font-size: .76rem; line-height: 1.35; }
.pp-ico { font-size: 1.9rem; line-height: 1.1; }
.pp-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.pp-plan { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 16px 8px; text-align: center;
  background: #fff; border: 2px solid #2b1a10; border-radius: 18px; box-shadow: 0 4px 0 #2b1a10; }
.pp-plan--hi { background: linear-gradient(180deg, #ffb347, #ff9620); }
.pp-plan-name { font-weight: 800; font-size: .85rem; }
.pp-amt { font-family: Georgia, serif; font-size: 2rem; font-weight: 700; letter-spacing: -.03em; }
.pp-plan-sub { font-size: .74rem; line-height: 1.3; color: #5a3312; }
.pp-price .note { text-align: center; }
.pp-steps { position: relative; list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 12px; }
.pp-steps::before { content: ""; position: absolute; left: 21px; top: 22px; bottom: 22px; border-left: 3px dashed #e3c497; }
.pp-steps li { position: relative; display: flex; align-items: center; gap: 12px; font-size: .93rem; }
.pp-dot { flex: 0 0 auto; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #fff;
  border: 2px solid #2b1a10; font-size: 1.25rem; box-shadow: 0 3px 0 #2b1a10; }
.pp-fit { display: grid; gap: 10px; margin-top: 14px; }
.pp-chips { display: flex; flex-wrap: wrap; gap: 7px; list-style: none; margin: 0; padding: 0; }
.pp-chips li { padding: 7px 11px; border-radius: 99px; font-weight: 800; font-size: .8rem; }
.pp-chips--yes li { background: #e4f3dc; color: #2f5a1f; border: 1px solid #bcdcae; }
.pp-chips--no li { background: #f6e3de; color: #8a3524; border: 1px solid #e6bdb3; }
.pp-chips--yes::before, .pp-chips--no::before { flex-basis: 100%; font-size: .78rem; font-weight: 800; color: var(--muted); }
.pp-chips--yes::before { content: "✅ Yes please"; }
.pp-chips--no::before { content: "Not right now"; }
.pp-rules { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 9px; }
.pp-rules li { display: flex; gap: 10px; align-items: flex-start; font-size: .88rem; line-height: 1.45; padding: 10px 12px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.pp-rules li > span:first-child { font-size: 1.2rem; line-height: 1.2; }
@media (prefers-reduced-motion: reduce) { .pp-phone { animation: none; } }
