/* Full-width color splashes, a photographic dog group and native disclosures. */
.page-home { --home-ink:#30251d; --home-cream:#fff9ed; background:var(--home-cream); }
.page-home.home-intro-visible .sticky,
.page-home.home-intro-visible .cookie-manage { visibility:hidden; pointer-events:none; }
.page-home .happy-hero { background:var(--home-cream); border-bottom:0; padding:0; isolation:isolate; overflow:hidden; }
.page-home .happy-hero::before { display:none; }
.hero-splashes { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.splash { position:absolute; display:block; }
.splash-lilac { width:480px; height:400px; left:max(-260px,calc(50% - 970px)); top:-295px; background:#e7dff1; border-radius:45% 55% 60% 40% / 60% 48% 52% 40%; transform:rotate(-17deg); }
.splash-sun { width:max(610px,46vw); height:690px; right:-10vw; top:-99px; background:#ffd263; border-radius:48% 52% 42% 58% / 39% 55% 45% 61%; transform:rotate(-13deg); }
.splash-coral { width:max(550px,37vw); height:460px; right:max(6vw,calc(50% - 515px)); top:75px; background:#f2b0a0; border-radius:48% 52% 45% 55% / 51% 34% 66% 49%; transform:rotate(-11deg); }
.splash-mint { width:max(510px,35vw); height:330px; left:max(-280px,calc(50% - 900px)); bottom:-272px; background:#b9d9c0; border-radius:50% 50% 55% 45%; transform:rotate(20deg); }
.hero-doodle { position:absolute; width:92px; height:auto; }
.doodle-bone { color:#8da990; top:59px; left:max(18px,calc(50% - 655px)); transform:rotate(-20deg); opacity:.85; }
.doodle-heart { color:#d484a0; width:62px; right:3.5%; bottom:48px; transform:rotate(16deg); }
.hero-spark { position:absolute; font-size:40px; line-height:1; color:#a1b6a3; }
.spark-one { bottom:34px; left:max(20px,calc(50% - 650px)); transform:rotate(20deg); }
.spark-two { top:44px; right:7%; color:#b77660; font-size:29px; }
.happy-hero-grid { width:min(100% - 64px,1220px); position:relative; display:grid; grid-template-columns:1.06fr 1fr; align-items:center; gap:0; min-height:575px; }
.happy-hero-copy { padding:58px 0 54px; position:relative; z-index:2; min-width:0; }
.happy-hero .eyebrow { color:#4c7759; background:transparent; padding:0; transform:none; font-family:var(--body); font-size:12px; font-weight:800; letter-spacing:.15em; margin:0 0 18px; }
.happy-hero h1 { color:var(--home-ink); font-size:clamp(38px,4.1vw,61px); line-height:1.13; letter-spacing:-.052em; margin:0 0 24px; max-width:100%; overflow-wrap:anywhere; }
.happy-hero h1 span { color:#aa4731; position:relative; }
.happy-hero h1 span::after { content:""; display:block; width:87%; height:10px; background:#f6d670; opacity:.65; border-radius:50%; margin-top:-8px; margin-left:8px; transform:rotate(-2deg); position:relative; z-index:-1; }
.hero-quote { max-width:480px; margin:0 0 28px; padding:2px 0 2px 23px; position:relative; border-left:3px solid #c99676; }
.hero-quote::before { content:"“"; position:absolute; left:12px; top:-24px; font:68px/1 Georgia,"Times New Roman",serif; color:#c99676; opacity:.55; }
.hero-quote blockquote { margin:0; position:relative; }
.hero-quote blockquote p { margin:0; color:#74523d; font:italic 22px/1.5 Georgia,"Times New Roman",serif; }
.hero-quote figcaption { margin-top:9px; color:#655644; font-size:13px; line-height:1.65; }
.happy-hero-actions { display:flex; gap:25px; align-items:center; flex-wrap:wrap; }
.happy-hero-actions .btn { box-shadow:3px 3px 0 #30251d; border-width:2px; font-size:15px; padding:16px 24px; }
.happy-hero-actions .btn span { font-size:21px; margin-left:9px; }
.happy-hero .hero-secondary { color:#4c523d; font-size:14px; text-decoration:none; padding:12px 0; }
.happy-hero .hero-secondary:hover { text-decoration:underline; text-underline-offset:4px; }
.hero-promise { display:flex; align-items:center; gap:10px; font-size:12px; color:#594c3d; margin-top:25px; line-height:1.6; }
.hero-promise > span:first-child { font-size:22px; filter:grayscale(1); }
.hero-promise i { font-style:normal; margin:0 7px; }
.hero-promise b { font-weight:800; }
.happy-hero-price { margin:12px 0 0; color:#49382c; font-size:13px; line-height:1.8; }
.happy-hero-price b { white-space:nowrap; font-size:15px; }
.happy-hero-price > span { color:#726453; font-size:11px; }
.happy-hero-art { position:relative; min-width:0; width:114%; margin-left:-7%; align-self:stretch; display:flex; align-items:center; z-index:1; }
.happy-scene { display:block; width:100%; height:auto; max-height:590px; overflow:visible; }
.happy-scene.hero-dogs { width:100%; max-width:100%; height:auto; max-height:520px; object-fit:contain; }
.hero-art-note { position:absolute; right:1%; top:10%; color:#5e422e; font-size:12px; font-weight:800; line-height:1.5; transform:rotate(8deg); padding-left:30px; }
.hero-art-note svg { position:absolute; left:0; top:3px; width:22px; height:22px; transform:rotate(-18deg); }
.page-home .ticker { border-width:2px; padding:10px 0; }
.page-home .ticker span { font-size:12px; letter-spacing:.02em; }
.page-home .trust-strip { background:var(--home-cream); }
.page-home .trust-item { font-size:12px; }
.page-home .trust-item b { font-size:13px; }
.page-home .trust-item span:not(.trust-icon) { font-size:11px; }
.page-home .boxes-sec { padding:60px 0 54px; }
.page-home .boxes-sec::before { opacity:.35; }
.page-home .boxes-sec .sec-head { align-items:center; }
.page-home .boxes-sec .sec-head .lead { font-size:16px; line-height:1.7; }
.page-home .boxes-sec .sec-ill { max-width:145px; }
.page-home .boxes-sec h2 { font-size:clamp(29px,3.4vw,43px); line-height:1.15; }
.page-home .boxes-sec .grid { gap:20px; margin-top:30px; }
.page-home .card { border-width:2px; border-radius:22px; padding:24px 21px; box-shadow:4px 4px 0 var(--ink); }
.page-home .card h3 { line-height:1.3; font-size:23px; min-height:0; }
.page-home .card .price { font-size:31px; margin-top:12px; }
.page-home .card .card-perks { grid-template-columns:1fr; font-size:12px!important; }
.page-home .card .card-features { font-size:13px; line-height:1.6; }
.page-home .card .card-perks li { line-height:1.5!important; border-width:1px; padding-top:8px!important; padding-bottom:8px!important; }
.page-home .card-kind { font-size:10px; }
.page-home .card-delivery { display:flex; align-items:center; gap:8px; margin:12px 0 20px; padding:9px 11px; font-size:12px; background:#fff9ec; border:1px solid #dfd1b9; }
.page-home .card-delivery > span { display:inline-block; font-size:17px; }
.page-home .card .btn { border-width:2px; font-size:13px; padding:13px 16px; }
.home-delivery-footnote { font-size:12px; line-height:1.7; max-width:950px; margin:29px auto 0; text-align:center; color:#5c5145; }
.home-delivery-footnote a { color:#5c5145; text-underline-offset:3px; }
.page-home .catalog-availability { font-size:12px; margin-top:9px; max-width:950px; text-align:center; }
.home-info { padding:45px 0 60px; background:var(--home-cream); }
.home-info-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:20px; }
.home-info-heading .eyebrow { margin:0; }
.home-info-heading > p:last-child { margin:0; font-size:13px; color:#6b5c4b; }
.home-fold { --fold-bg:#d9ebdb; background:var(--fold-bg); border:2px solid var(--home-ink); border-radius:18px; margin-bottom:14px; overflow:hidden; scroll-margin-top:106px; transition:box-shadow .16s; }
.fold-yellow { --fold-bg:#ffe8a1; }
.fold-lilac { --fold-bg:#e6dbef; }
.fold-coral { --fold-bg:#f3b5a5; }
.home-fold > summary { display:flex; gap:22px; align-items:center; list-style:none; cursor:pointer; padding:24px 28px; min-height:106px; }
.home-fold > summary::-webkit-details-marker { display:none; }
.home-fold > summary::marker { content:""; }
.home-fold > summary:hover { background:rgba(255,255,255,.16); }
.home-fold > summary:focus-visible { outline:3px solid var(--home-ink); outline-offset:-7px; border-radius:15px; }
.fold-icon { display:grid; place-items:center; width:48px; height:48px; flex-shrink:0; font-family:var(--display); font-size:26px; border:1.5px solid var(--home-ink); border-radius:50%; background:rgba(255,255,255,.38); }
.fold-label { flex:1; min-width:0; display:block; }
.fold-label h2 { font-size:clamp(21px,2.5vw,29px); line-height:1.2; }
.fold-label > span { display:block; font-size:13px; margin-top:5px; line-height:1.5; color:#544734; }
.fold-toggle { display:block; width:38px; height:38px; position:relative; border:1.5px solid var(--home-ink); border-radius:50%; flex-shrink:0; transition:transform .15s; }
.fold-toggle::before,.fold-toggle::after { content:""; position:absolute; width:14px; height:2px; background:var(--home-ink); top:17px; left:10.5px; }
.fold-toggle::after { transform:rotate(90deg); transition:transform .15s; }
.home-fold[open] .fold-toggle::after { transform:rotate(0); }
.home-fold[open] { box-shadow:4px 4px 0 var(--home-ink); }
.home-fold[open] > summary { border-bottom:1px solid rgba(48,37,29,.16); }
.fold-content { padding:28px; background:rgba(255,255,255,.7); }
.home-how { padding:0; background:#e1ebdd; }
.home-how > summary::after { content:none; }
.home-how > summary .fold-label > span { font-family:var(--body); font-size:14px; font-weight:600; line-height:1.55; margin-top:8px; }
.home-how > .fold-content { padding:28px; background:#f6f8ed; }
.home-how-intro { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.home-how-intro p { padding:0; margin:0; font:700 15px/1.65 var(--body); color:#4f3a5b; }
.home-how-intro > span { flex-shrink:0; padding:8px 13px; border:1px solid #d3c0df; border-radius:999px; background:#f0e9f5; color:#62427a; font:800 11px/1.5 var(--body); }
.home-steps { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; list-style:none; padding:0; margin:0; }
.home-step { display:flex; flex-direction:column; gap:18px; grid-column:span 2; min-width:0; padding:22px; border:1px solid #dacddd; border-radius:16px; background:#fffdf6; box-shadow:0 3px 0 #ddd9ce; }
.home-step:nth-child(n+4) { grid-column:span 3; }
.home-step:last-child { background:#fff2c5; border-color:#dfc97c; }
.home-step-n { display:grid; place-items:center; align-self:flex-start; flex-shrink:0; width:43px; height:43px; border:1px solid #74518c; border-radius:13px; background:#62427a; color:#fff9ed; font:700 17px/1 var(--mono); box-shadow:0 3px 0 #d8c8df; }
.home-step:last-child .home-step-n { background:#ffcc36; border-color:#d3a137; color:#503074; box-shadow:0 3px 0 #e8d898; }
.home-step-copy { min-width:0; }
.home-step h3 { margin:0 0 9px; color:#4f335e; font:800 17px/1.45 var(--body); letter-spacing:0; }
.home-step p { padding:0; margin:0; color:#665749; font:500 14px/1.75 var(--body); }
.home-how-finish { display:flex; align-items:center; justify-content:space-between; gap:25px; padding-top:25px; margin-top:26px; border-top:1px dashed #c6cbb8; }
.home-how-finish p { padding:0; margin:0; color:#604c67; font:500 13px/1.7 var(--body); }
.home-how-finish p strong,.home-how-finish p span { display:block; }
.home-how-finish p strong { margin-bottom:4px; color:#4f335e; font-weight:800; }
.home-how-finish .home-fold-link { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; gap:14px; min-height:48px; padding:12px 19px; margin:0; border:1px solid #503074; border-radius:999px; background:#62427a; color:#fff9ed; text-decoration:none; box-shadow:0 3px 0 #40244f; font:800 13px/1.6 var(--body); }
.home-how-finish .home-fold-link:hover { background:#503074; }
.home-how-finish .home-fold-link:focus-visible { outline:3px solid #62427a; outline-offset:5px; }
.home-fold-link { display:inline-flex; gap:20px; align-items:center; color:#3c6548; font-weight:800; font-size:14px; margin-top:24px; text-underline-offset:4px; }
.home-faq { margin-top:0; display:grid; gap:10px; }
.home-faq details { margin:0; padding:0; border:1px solid #d6c79e; border-radius:10px; box-shadow:none; background:#fffdf5; }
.home-faq summary { font-family:var(--body); font-size:14px; font-weight:800; line-height:1.5; padding:14px 45px 14px 17px; }
.home-faq summary::after { right:17px; top:14px; font-size:18px; }
.home-faq details p { font-size:13px; line-height:1.75; padding:0 17px 14px; margin:0; color:#584a3c; }
.home-why { padding:0; background:#e8deef; }
.home-why > summary::after { content:none; }
.home-why > summary .fold-label > span { font-family:var(--body); font-size:14px; font-weight:600; line-height:1.55; margin-top:8px; }
.home-why > .fold-content { padding:28px; background:#f8f3fa; }
.home-why-intro { flex-wrap:wrap; }
.home-why-intro > span { background:#fff3c5; border-color:#e1cb86; color:#604078; }
.home-perks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; list-style:none; padding:0; margin:0; }
.home-perk { display:flex; align-items:flex-start; gap:18px; min-width:0; padding:24px; border:1px solid #dacddd; border-radius:16px; background:#fffdf6; box-shadow:0 3px 0 #ded4e3; }
.home-perk:nth-child(2) { background:#fff8df; border-color:#e5d49b; }
.home-perk:nth-child(3) { background:#f0f6eb; border-color:#cbdabf; }
.home-perk:nth-child(4) { background:#f9eff1; border-color:#e3cdd4; }
.home-perk-symbol { display:grid; place-items:center; flex-shrink:0; width:50px; height:50px; border:1px solid #d3c0df; border-radius:14px; background:#eee3f5; color:#62427a; font:800 24px/1 var(--body); }
.home-perk:nth-child(2) .home-perk-symbol { background:#ffdc64; border-color:#dcb849; color:#604078; }
.home-perk:nth-child(3) .home-perk-symbol { background:#dbe9ce; border-color:#b8ccaa; color:#36563e; }
.home-perk:nth-child(4) .home-perk-symbol { background:#f3dce1; border-color:#d8b9c3; color:#834c61; }
.home-perk-symbol svg { display:block; width:28px; height:28px; }
.home-perk-copy { min-width:0; }
.home-perks h3 { margin:0 0 9px; color:#4f335e; font:800 17px/1.45 var(--body); letter-spacing:0; }
.home-perks p { padding:0; margin:0; color:#665749; font:500 14px/1.75 var(--body); }
.home-why .home-fold-note { margin:22px 0 0; padding:14px 17px; border:1px dashed #c9b7d5; border-radius:12px; background:#fffdf6; color:#604c67; font:500 13px/1.75 var(--body); }
.home-why-finish { border-color:#d0bfd9; }
.home-birthday { display:grid; grid-template-columns:1.4fr .7fr; gap:40px; align-items:center; }
.home-birthday h3 { font-size:clamp(24px,2.6vw,32px); line-height:1.25; margin-bottom:18px; }
.home-birthday p { font-size:14px; line-height:1.75; color:#654438; max-width:610px; }
.home-birthday .btn { font-size:13px; padding:14px 20px; border-width:2px; }
.home-birthday-art { position:relative; display:flex; flex-direction:column; align-items:center; }
.home-birthday-art svg { display:block; max-width:220px; transform:rotate(5deg); }
.home-birthday-art span { font-family:var(--display); font-size:17px; line-height:1.45; margin-top:15px; color:#804031; text-align:center; transform:rotate(-5deg); }
.page-home .cta-final { background:#e5eddf; padding:55px 0; }
.page-home .cta-final .peek { max-width:115px; }
.page-home .cta-final h2 { font-size:clamp(28px,3.5vw,43px); line-height:1.15; }
.page-home .cta-final .lead { font-size:16px; }
.page-home .cta-final .btn { font-size:14px; border-width:2px; }
@media(min-width:1220px) {
  .page-home .boxes-sec .grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .page-home .card { padding:24px 18px; }
  .page-home .card h3 { font-size:21px; min-height:2.6em; }
  .page-home .card .price { font-size:30px; }
  .page-home .card-top { gap:6px; flex-wrap:wrap; }
.page-home .card .card-features li { padding-left:23px; }
}
@media(min-width:1800px) {
  .splash-coral { right:calc(50% - 715px); width:760px; }
  .splash-sun { right:-11vw; width:51vw; }
}
@media(max-width:1080px) {
  .happy-hero-grid { width:min(100% - 48px,1220px); min-height:530px; }
  .happy-hero h1 { font-size:44px; }
  .hero-quote { max-width:410px; }
  .hero-quote blockquote p { font-size:20px; }
  .hero-art-note { display:none; }
  .happy-hero-art { width:115%; margin-left:-8%; }
  .splash-coral { width:510px; height:430px; right:-85px; }
  .doodle-bone { top:25px; width:65px; left:-16px; }
  .happy-hero-actions { gap:16px; }
  .happy-hero-actions .btn { font-size:13px; padding:15px 20px; }
}
@media(max-width:760px) {
  .happy-hero-grid { grid-template-columns:1fr; grid-template-rows:minmax(auto,1fr) clamp(150px,calc(100svh - var(--home-nav-height,72px) - var(--home-copy-height,340px)),300px); align-items:stretch; min-height:calc(100vh - var(--home-nav-height,72px)); min-height:calc(100svh - var(--home-nav-height,72px)); width:calc(100% - 32px); }
  .happy-hero-copy { padding:clamp(18px,3.2svh,30px) 0 8px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
  .happy-hero-copy > * { flex-shrink:0; }
  .happy-hero h1 { font-size:clamp(32px,9vw,54px); max-width:560px; margin-bottom:16px; }
  .hero-quote { width:100%; max-width:540px; margin-bottom:17px; padding-left:17px; border-left-width:2px; }
  .hero-quote::before { font-size:46px; top:-18px; left:8px; }
  .hero-quote blockquote p { font-size:clamp(18px,4.9vw,23px); line-height:1.35; }
  .hero-quote figcaption { font-size:12px; line-height:1.5; margin-top:7px; }
  .happy-hero .eyebrow { font-size:10px; margin-bottom:10px; }
  .happy-hero-actions { gap:22px; }
  .happy-hero-actions .btn { font-size:13px; min-height:44px; padding:10px 17px; }
  .happy-hero-actions .btn span { font-size:18px; }
  .happy-hero-actions .btn { line-height:1.35; }
  .happy-hero .hero-secondary { font-size:13px; padding:10px 0; }
  .hero-promise { margin-top:14px; font-size:12px; gap:7px; }
  .hero-promise > span:first-child { font-size:19px; }
  .hero-promise i { margin:0 3px; }
  .happy-hero-price { margin-top:7px; font-size:12px; line-height:1.55; }
  .happy-hero-price b { font-size:14px; }
  .happy-hero-price > span { font-size:11px; }
  .happy-hero-art { width:100%; margin:0 auto; max-width:450px; min-height:150px; max-height:none; align-items:flex-end; justify-content:center; padding-top:0; }
  .happy-scene { width:340px; flex:none; margin-top:-20px; margin-bottom:-7px; }
  .happy-scene.hero-dogs { position:absolute; bottom:0; left:0; width:100%; max-width:450px; height:100%; max-height:min(34svh,300px); object-fit:contain; object-position:center bottom; margin:0; }
  .happy-hero-art .hero-art-note { display:none; }
  .hero-art-note { right:0; top:34%; font-size:10px; padding-left:22px; }
  .hero-art-note svg { width:17px; height:17px; }
  .splash-coral { width:380px; height:270px; top:auto; bottom:10px; right:calc(50% - 295px); }
  .splash-sun { width:500px; height:350px; top:auto; bottom:-50px; right:calc(50% - 410px); }
  .splash-lilac { width:370px; height:310px; top:-235px; left:-170px; }
  .splash-mint { width:280px; height:200px; bottom:35px; left:-210px; }
  .doodle-heart { width:39px; right:-11px; bottom:240px; }
  .doodle-bone { width:52px; left:auto; right:-14px; top:19px; transform:rotate(18deg); opacity:.5; }
  .spark-one { bottom:38px; left:20px; font-size:23px; }
  .spark-two { display:none; }
  .page-home .ticker span { font-size:10px; }
  .page-home .ticker-track { gap:20px; }
  .page-home .trust-grid { grid-template-columns:1fr 1fr; gap:18px 12px; padding:21px 0; }
  .page-home .trust-item { align-items:flex-start; }
  .page-home .trust-item b { font-size:11px; }
  .page-home .trust-item span:not(.trust-icon) { font-size:10px; line-height:1.6; }
  .page-home .trust-icon { width:30px; height:30px; font-size:19px; flex-shrink:0; }
  .page-home .boxes-sec { padding:39px 0; }
  .page-home .boxes-wrap { width:calc(100% - 40px); }
  .page-home .boxes-sec .sec-head { align-items:flex-start; gap:10px; }
  .page-home .boxes-sec .sec-ill { display:none; }
  .page-home .boxes-sec .sec-head .lead { font-size:14px; margin-top:14px!important; }
  .page-home .boxes-sec .grid { margin-top:23px; grid-template-columns:1fr; gap:20px; }
  .page-home .card { padding:23px 21px; border-radius:18px; }
  .page-home .card .card-perks { grid-template-columns:1fr; }
  .page-home .card-top { margin-bottom:13px; }
  .page-home .card h3 { font-size:23px; }
  .page-home .card-kind { font-size:10px; }
  .page-home .card .card-features { margin-top:9px; }
  .home-delivery-footnote, .page-home .catalog-availability { text-align:left; font-size:11px; }
  .home-delivery-footnote { margin-top:22px; }
  .home-info { padding:30px 0 35px; }
  .home-info > .wrap { width:calc(100% - 40px); }
  .home-info-heading { display:block; margin-bottom:18px; }
  .home-info-heading > p:last-child { font-size:12px; margin-top:10px; }
  .home-fold { border-radius:14px; margin-bottom:12px; }
  .home-fold > summary { gap:12px; min-height:94px; padding:18px 15px; }
  .fold-icon { width:34px; height:34px; font-size:20px; }
  .fold-label h2 { font-size:clamp(17px,4.7vw,23px); line-height:1.3; }
  .fold-label > span { font-size:10px; line-height:1.6; margin-top:3px; }
  .fold-toggle { width:29px; height:29px; }
  .fold-toggle::before, .fold-toggle::after { top:12px; left:7px; width:12px; }
  .fold-content { padding:22px 17px; }
  .home-how > summary .fold-label > span { font-size:12px; line-height:1.65; margin-top:6px; }
  .home-how > .fold-content { padding:20px 15px; }
  .home-how-intro { align-items:flex-start; gap:12px; }
  .home-how-intro p { font-size:13px; }
  .home-how-intro > span { padding:6px 9px; font-size:10px; }
  .home-steps { grid-template-columns:minmax(0,1fr); gap:13px; }
  .home-step,.home-step:nth-child(n+4) { grid-column:auto; flex-direction:row; gap:14px; padding:18px 15px; }
  .home-step h3 { font-size:15px; line-height:1.5; margin-bottom:7px; }
  .home-step-n { width:35px; height:35px; font-size:14px; border-radius:11px; }
  .home-step p { font-size:13px; line-height:1.75; }
  .home-how-finish { flex-direction:column; align-items:stretch; gap:16px; padding-top:21px; margin-top:23px; }
  .home-how-finish p { font-size:12px; }
  .home-how-finish .home-fold-link { width:100%; padding:12px 14px; }
  .home-faq summary { font-size:12px; padding:13px 32px 13px 12px; }
  .home-faq summary::after { right:11px; font-size:15px; }
  .home-faq details p { font-size:12px; padding:0 12px 13px; }
  .home-why > summary .fold-label > span { font-size:12px; line-height:1.65; margin-top:6px; }
  .home-why > .fold-content { padding:20px 15px; }
  .home-perks { grid-template-columns:minmax(0,1fr); gap:13px; }
  .home-perk { gap:14px; padding:18px 15px; }
  .home-perks h3 { font-size:15px; line-height:1.5; margin-bottom:7px; }
  .home-perks p { font-size:13px; }
  .home-perk-symbol { width:39px; height:39px; border-radius:11px; font-size:20px; }
  .home-perk-symbol svg { width:24px; height:24px; }
  .home-why .home-fold-note { padding:13px 14px; font-size:12px; }
  .home-birthday { grid-template-columns:1fr; gap:24px; }
  .home-birthday h3 { font-size:24px; }
  .home-birthday p { font-size:13px; }
  .home-birthday .btn { width:100%; font-size:12px; padding:13px 10px; }
  .home-birthday-art { display:none; }
  .page-home .cta-final { padding:37px 0; }
  .page-home .cta-final .peek { display:none; }
  .page-home .cta-final .lead { font-size:14px; }
  .page-home .cta-final .btn { padding:15px 16px; font-size:12px; }
}
@media(max-width:360px) {
  .hero-promise { align-items:flex-start; }
  .hero-promise > span:last-child { max-width:235px; }
  .happy-hero-actions { gap:11px; }
  .happy-hero-actions .btn { padding:10px 12px; font-size:12px; }
  .happy-hero .hero-secondary { font-size:12px; white-space:nowrap; }
  .fold-icon { display:none; }
  .home-perk { flex-direction:column; gap:13px; padding:17px 15px; }
  .home-how-intro { flex-direction:column; gap:10px; margin-bottom:18px; }
  .home-step,.home-step:nth-child(n+4) { flex-direction:column; gap:13px; padding:17px 15px; }
}
@media(min-width:761px) and (max-width:1050px) {
  .home-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-step,.home-step:nth-child(n+4) { grid-column:auto; }
  .home-step:last-child { grid-column:1 / -1; flex-direction:row; align-items:flex-start; }
  .home-how-finish { align-items:flex-start; gap:20px; }
}
@media(max-width:760px) and (max-height:700px) {
  .happy-hero-copy { padding-top:16px; padding-bottom:6px; }
  .happy-hero h1 { font-size:clamp(28px,7.5vw,36px); margin-bottom:12px; }
  .happy-hero .eyebrow { margin-bottom:8px; }
  .hero-quote { margin-bottom:13px; }
  .hero-quote blockquote p { font-size:16px; line-height:1.3; }
  .hero-quote figcaption { font-size:10px; line-height:1.45; margin-top:5px; }
  .hero-promise { margin-top:11px; font-size:10px; }
  .happy-hero-price { margin-top:5px; font-size:11px; }
  .happy-hero-price b { font-size:13px; }
  .happy-hero-price > span { font-size:10px; }
  .happy-hero-grid { grid-template-rows:minmax(auto,1fr) clamp(145px,calc(100svh - var(--home-nav-height,72px) - var(--home-copy-height,340px)),300px); }
  .happy-hero-art { min-height:145px; }
}
@media(max-width:760px) and (orientation:landscape) {
  .happy-hero-grid { min-height:0; grid-template-rows:auto auto; }
  .happy-hero-copy { padding-top:24px; }
  .happy-hero-art { min-height:270px; }
  .happy-scene.hero-dogs { height:270px; max-height:270px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-fold,.fold-toggle,.fold-toggle::after { transition:none; }
}
/* The site's generic FAQ marker must not double the disclosure controls. */
.page-home .card-monthly-price{margin:-6px 0 14px;font-size:12px;line-height:1.6;color:#665349}
.page-home .card-monthly-price b{font-weight:800;white-space:nowrap}
.page-home .card .price small{display:inline-block;white-space:nowrap}
.home-fold > summary::after { content:none; }
.home-fold[open] .home-faq details:not([open]) > summary::after { transform:none; }

/* Compact box boutique: native disclosure works without JavaScript. */
.page-home .box-boutique{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:22px;padding-top:38px}
.page-home .box-boutique .card{position:relative;display:block;overflow:visible;min-width:0;padding:22px 18px 18px;border:2px solid #5d3c70;border-radius:25px;background:#f6edf8;box-shadow:0 6px 0 #dac8e2;text-align:center}
.page-home .box-boutique .junior-card{background:#fff2b9;box-shadow:0 6px 0 #e3cb7d}
.page-home .box-boutique .subscription-card:not(.junior-card){background:#e5f2e7;box-shadow:0 6px 0 #bad5c0}
.page-home .box-boutique .card.y{background:#ffe4d6;box-shadow:0 6px 0 #e4b8a0}
.page-home .box-peek{position:relative;width:112px;height:122px;margin:-55px auto 13px}
.page-home .box-peek img{width:100%;height:100%;object-fit:cover;object-position:center 25%;border:5px solid #fffaf0;border-radius:65px 65px 22px 22px;box-shadow:0 5px 0 #5d3c70;transform:rotate(-5deg)}
.page-home .box-peek span{position:absolute;right:-13px;bottom:10px;width:35px;height:35px;border:2px solid #5d3c70;border-radius:50%;background:#ffcc26;color:#5d3c70;font-size:21px;line-height:31px;transform:rotate(12deg)}
.page-home .box-boutique .card-top{justify-content:center;margin:0 0 10px}
.page-home .box-boutique h3{font-size:clamp(21px,2vw,27px);line-height:1.15;min-height:62px;margin:10px 0}
.page-home .box-mode{font:700 13px/1.5 var(--body);color:#5d3c70;margin:0 0 20px}
.page-home .box-more{text-align:left}
.page-home .box-more>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;list-style:none;border:2px solid #5d3c70;border-radius:14px;background:#fffaf0;color:#4d2f60;font:800 15px/1.5 var(--body);padding:11px 14px;min-height:48px}
.page-home .box-more>summary::-webkit-details-marker{display:none}
.page-home .box-more>summary span{font-size:25px;line-height:1;transition:transform .2s}
.page-home .box-more[open]>summary span{transform:rotate(45deg)}
.page-home .box-more>summary:hover{background:#ffde70}
.page-home .box-more>summary:focus-visible{outline:3px solid #9a3372;outline-offset:4px}
.page-home .box-more-content{padding-top:18px}
.page-home .box-real-photo{display:block;width:100%;height:auto;border-radius:15px;border:3px solid #fffaf0}
.page-home .box-photo-note{font:500 12px/1.6 var(--body);color:#634a6c;margin:8px 0 18px}
.page-home .box-boutique .price{font-size:30px;margin:12px 0}
.page-home .box-boutique .card-copy{min-height:0}
.page-home .box-boutique .card-features,.page-home .box-boutique .card-perks{font-size:13px;line-height:1.65}
.page-home .box-boutique .card-perks{display:block}
.page-home .box-boutique .card-perks li{margin-top:8px}
.page-home .box-boutique .card-delivery{margin:18px 0;font-size:12px}
.page-home .box-boutique .card-delivery a{color:#503074;text-decoration:underline}
.page-home .box-boutique .btn{white-space:normal;font-size:13px;padding:12px 8px}
/* A trail of pawprints, with distinct stations instead of repeated numbers. */
.page-home .home-steps{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;list-style:none;padding:10px 0;margin:0;counter-reset:none}
.page-home .home-steps:before{content:"";position:absolute;left:8%;right:8%;top:47px;border-top:3px dashed #a3b896}
.page-home .home-steps .home-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:0;border:0;background:transparent;box-shadow:none}
.page-home .home-step:before{display:none}
.page-home .home-steps .home-step-n{position:relative;display:grid;place-items:center;flex:none;width:74px;height:74px;border:2px solid #5d3c70;border-radius:25px;background:#fff4ba;box-shadow:0 5px 0 #c7d7b7;font-size:32px;line-height:1;transform:rotate(-5deg)}
.page-home .home-steps .home-step:nth-child(even) .home-step-n{background:#f1e3f6;transform:rotate(5deg)}
.page-home .home-step-copy{width:100%;padding:14px 12px;border:1px solid #d5dec8;border-radius:18px;background:#fffdf4}
.page-home .home-step-copy h3{font-size:16px;line-height:1.35;margin:0 0 9px}
.page-home .home-step-copy p{font-size:13px;line-height:1.7;margin:0}
@media(max-width:1100px){.page-home .box-boutique{grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 24px}.page-home .box-boutique h3{min-height:0}.page-home .home-steps{grid-template-columns:1fr;gap:18px}.page-home .home-steps:before{top:30px;bottom:30px;left:36px;right:auto;border-top:0;border-left:3px dashed #a3b896}.page-home .home-steps .home-step{flex-direction:row;text-align:left;align-items:flex-start}.page-home .home-step-copy{flex:1;min-width:0}}
@media(max-width:520px){.page-home .box-boutique{gap:52px 12px}.page-home .box-boutique .card{padding:16px 10px 12px;border-radius:19px}.page-home .box-peek{width:85px;height:97px;margin-top:-46px}.page-home .box-boutique h3{font-size:21px;min-height:49px}.page-home .box-boutique .tag{font-size:10px;padding:5px 7px}.page-home .box-mode{font-size:12px;min-height:36px;margin-bottom:12px}.page-home .box-more>summary{font-size:13px;padding:10px 8px}.page-home .box-boutique .card-monthly-price{font-size:12px}.page-home .box-boutique .price{font-size:24px}.page-home .home-steps .home-step-n{width:56px;height:56px;font-size:25px;border-radius:18px}.page-home .home-steps:before{left:27px}.page-home .home-step-copy{padding:13px}.page-home .home-steps .home-step{gap:13px}}
@media(max-width:370px){.page-home .box-boutique{grid-template-columns:1fr}.page-home .box-boutique h3,.page-home .box-mode{min-height:0}}
@media(prefers-reduced-motion:reduce){.page-home .box-more>summary span{transition:none}}
.page-home .box-more{padding:0;border:0;background:transparent;box-shadow:none;border-radius:0}
.page-home .box-more>summary:after{content:none}
.page-home .home-steps .home-step,.page-home .home-steps .home-step:nth-child(n+4){grid-column:auto}
.page-home .home-steps .home-step-n{color:#62427a;align-self:center}
.page-home .home-step-n svg{width:36px;height:36px;display:block}
.page-home .home-step-copy p{padding-bottom:0}
@media(max-width:1100px){.page-home .home-steps .home-step-n{align-self:flex-start}}
