/* The Love to Pieces edition retains the working native-scroll journey. */
.ui-arrow { display:inline-block; width:1em; height:1em; vertical-align:-.13em; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.ui-dot { display:block; width:4px; height:4px; border-radius:50%; background:currentColor; }
.orbit-reference .ui-arrow,.piece-reference .ui-arrow,.collection-photo .ui-arrow { display:none; }
:root { --ink:#0a46a8; --muted:#596578; --yellow:#f5da7c; --blue:#e9eff7; --page:#fff7e8; --line:#d8dace; --display:Georgia,"Times New Roman",serif; color:#23344d; }
.announcement { background:var(--ink); font-weight:400; padding-block:0; min-height:38px; align-items:center; }
.announcement > span { color:var(--yellow); }
.announcement a { display:inline-flex; align-items:center; min-height:38px; color:var(--page); }
.site-header { height:96px; background:var(--page); padding-block:12px; }
.site-header.is-scrolled { border-color:var(--line); }
.site-header nav { font-weight:500; }
.nav-link,.account-link { display:inline-flex; align-items:center; min-height:44px; }
.button { border:1px solid var(--ink); border-radius:5px; font-weight:600; background:var(--ink); color:var(--page); min-height:56px; }
.button:hover { background:#08367f; box-shadow:none; transform:translateY(-2px); }
.button-small { min-height:46px; }
.hero { background:var(--page); padding-top:38px; grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr); column-gap:60px; }
.eyebrow { color:var(--ink); font-size:.75rem; font-weight:600; letter-spacing:.14em; }
h1,h2,h3 { color:var(--ink); font-weight:400; text-wrap:balance; }
h1 { font-size:clamp(4rem,6.9vw,6.6rem); line-height:.99; letter-spacing:-.055em; margin:22px 0 24px; }
h1 > span { display:inline-block; color:var(--ink); font-style:italic; font-size:.86em; }
.hero-description > p { font-size:1.0625rem; line-height:1.75; max-width:385px; }
.hero-actions { flex-wrap:wrap; }
.hero-demo, .step-demo { display:inline-flex; align-items:center; gap:14px; min-height:44px; color:var(--ink); font-size:.875rem; font-weight:500; text-underline-offset:5px; }
.showcase-status { color:var(--muted); font-size:.875rem; line-height:1.5; margin-top:18px; }
.early-access { scroll-margin-top:120px; }
.early-access .offer-copy h2 { font-size:clamp(3rem,4.8vw,4.8rem); }
.early-access .offer-copy h2 span { display:block; }
.signup-card { min-width:0; background:#f8e9b1; border:1px solid #dfd2a8; border-radius:6px; padding:36px; }
.signup-card h3 { font-size:2.4rem; margin:0 0 12px; }
.signup-card > p { font-size:1rem; line-height:1.6; }
.signup-card form { display:grid; gap:12px; margin-top:24px; }
.signup-card label { font-size:.875rem; font-weight:500; }
.signup-card input[type="email"] { width:100%; min-width:0; min-height:54px; padding:14px; background:#fffdf8; border:1px solid #8c98a6; border-radius:5px; color:#23344d; font:inherit; font-size:1rem; }
.signup-consent { display:flex; align-items:flex-start; gap:10px; padding:10px 0; line-height:1.55; cursor:pointer; }
.signup-consent input { flex:none; width:20px; height:20px; margin:1px 0 0; accent-color:var(--ink); }
.signup-card input:focus-visible, .signup-status:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.signup-card .button { justify-content:space-between; width:100%; }
.signup-card .button:disabled { background:#dde0de; border-color:#c1c8c6; color:#536176; cursor:wait; transform:none; }
.signup-status { margin:0; font-size:.875rem; line-height:1.55; color:var(--ink); }
.signup-status[data-error] { color:#8b3027; }
.signup-card > .signup-privacy { margin:20px 0 0; font-size:.8125rem; line-height:1.6; color:#555c65; }
.signup-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media (max-width:600px) { .signup-card { padding:26px 22px; } .early-access { scroll-margin-top:98px; } .early-access .offer-copy h2 { font-size:3.2rem; } .showcase-status { margin-top:8px; } }
.hero-price { min-height:44px; margin-top:14px; color:var(--muted); }
.hero-price > span { background:#f8e9b1; color:var(--ink); font-size:.6875rem; font-weight:500; border-radius:0; }
.pet-showcase { gap:20px; padding:38px 0 48px; }
.pet-card { height:410px; padding:20px; border:1px solid #ddd5c2; border-radius:5px; box-shadow:0 10px 24px #26344c0a; }
.dog-card { background:#e9eff7; transform:rotate(-3deg) translateY(-13px); }
.cat-card { background:#f8e9b1; transform:rotate(3deg) translateY(22px); }
.pet-card:hover { box-shadow:0 16px 32px #26344c12; }
.pet-card-label { color:var(--ink); font-size:.6875rem; letter-spacing:.1em; font-weight:500; }
.original-photo { width:105px; top:46px; border:0; background:#fffdf8; }
.original-photo img { height:83px; }
.original-photo figcaption { font-size:.6875rem; font-weight:400; padding:6px 2px; }
.pet-model { height:285px; top:79px; }
.pet-card-bottom strong { font:400 1.45rem/1.1 var(--display); color:var(--ink); letter-spacing:-.025em; }
.pet-card-bottom a { width:44px; height:44px; min-width:44px; border-color:#0a46a855; color:var(--ink); background:transparent; }
.showcase-note { font-size:.75rem; color:var(--muted); bottom:-7px; }
.hero-footer { min-height:78px; margin-top:30px; border-color:var(--line); font-size:.75rem; color:var(--muted); font-weight:400; letter-spacing:0; }
.hero-footer b { font-weight:400; }
.hero-footer a { display:inline-flex; align-items:center; min-height:44px; color:var(--ink); font-size:.875rem; }
.benefit-strip { background:#f8e9b1; font-weight:400; color:var(--ink); gap:42px; padding-block:20px; border:0; }
.benefit-strip i { color:var(--ink); font-size:1rem; }
.journey { padding-top:80px; }
h2 { font-size:clamp(2.6rem,4.3vw,4.2rem); line-height:1.05; letter-spacing:-.045em; }
.section-heading h2 span { color:var(--ink); font-style:italic; }
.section-heading > p:last-child { font-size:1rem; }
.journey-layout { gap:90px; padding-top:48px; }
.journey-stage { top:max(114px,calc((100svh - 460px)/2)); background:#f1eadb; border:1px solid #dfd5c2; border-radius:6px; }
.stage-top { font-size:.75rem; letter-spacing:.06em; color:var(--ink); font-weight:500; }
.journey-scene { transform:translateY(12px); transition:opacity 550ms var(--ease),transform 700ms var(--ease),visibility 550ms; }
.process-photo { transform:rotate(-5deg); background:#fffdf8; }
.process-photo img { object-fit:contain; background:#f1eadb; }
.process-photo figcaption { font-size:.75rem; }
.scene-sticker { background:var(--page); border:1px solid #d9cdad; border-radius:2px; color:var(--ink); font-size:.875rem; font-weight:400; line-height:1.5; transform:rotate(3deg); box-shadow:none; }
.process-mascot { display:none; }
.preview-window { border-color:#bac4ce; border-radius:6px; background:var(--page); transform:rotate(-2deg); box-shadow:0 12px 25px #23344d0a; }
.window-bar { font-size:.6875rem; font-weight:500; }
.window-tools { font-size:.75rem; }
.process-pack { width:58%; height:260px; margin:18px auto; }
.journey-progress { height:2px; background:#0a46a81a; }
.journey-step { min-height:205px; padding-block:30px; }
.step-number { width:36px; height:36px; font-weight:500; color:var(--ink); }
.is-active .step-number { border-color:var(--yellow); }
h3 { font-size:1.8rem; letter-spacing:-.03em; }
.journey-step p { font-size:1rem; }
.step-tag { font-size:.6875rem; letter-spacing:.06em; color:var(--ink); font-weight:500; }
.gift { margin-top:60px; border:1px solid var(--line); border-radius:6px; background:#e9eff7; }
.gift-image figcaption { background:#fff7e8eb; font-size:.6875rem; border-radius:0; }
.gift-copy { padding:52px 46px; }
.gift-copy h2 { font-size:clamp(2.6rem,3.7vw,3.7rem); }
.gift-copy h2 em { font-style:italic; font-weight:400; text-decoration:none; }
.gift-star { display:none; }
.text-link { min-height:44px; font-weight:500; color:var(--ink); }
.final-offer { gap:90px; padding-block:88px 70px; }
.offer-copy h2 { font-size:clamp(3.3rem,5.5vw,5.5rem); }
.offer-copy h2 span { color:var(--ink); font-style:italic; }
.offer-copy > small { font-size:.8125rem; }
.offer-card { border:1px solid #dfd2a8; border-radius:5px; background:#f8e9b1; box-shadow:none; transform:none; }
.offer-card-top { color:var(--ink); font-size:.75rem; font-weight:500; }
.offer-card-top strong { border-radius:0; font-size:.6875rem; font-weight:500; color:var(--page); }
.price > span { font-weight:400; color:var(--ink); }
.price del { font-size:1.4rem; color:var(--muted); }
.offer-card > p,.offer-card ul,.offer-separate,.offer-separate p { font-size:.9375rem; }
.offer-separate { border-color:#d6c798; }
.offer-card .availability { font-size:.8125rem; line-height:1.6; color:#55523d; }
.questions h2 { font-size:2.7rem; max-width:300px; }
summary { min-height:70px; font-size:1rem; font-weight:500; }
details > p { font-size:1rem; }
.site-footer > div > a { display:inline-flex; align-items:center; min-height:44px; font-size:.875rem; font-weight:500; color:var(--ink); }
.site-footer p { font-size:.75rem; max-width:360px; line-height:1.5; }
.footer-note { font:italic 1.4rem/1.2 var(--display); color:var(--ink); letter-spacing:0; }
.reveal-pending { transform:translateY(14px); }
@keyframes dog-bob { 0%,100% { transform:rotate(-3deg) translateY(-13px); } 50% { transform:rotate(-2deg) translateY(-19px); } }
@keyframes cat-bob { 0%,100% { transform:rotate(3deg) translateY(22px); } 50% { transform:rotate(2deg) translateY(16px); } }
@media (prefers-reduced-motion:no-preference) { .hero.is-in-view .dog-card { animation-duration:9s; } .hero.is-in-view .cat-card { animation-duration:10s; } }
@media (max-width:1150px) { .hero { column-gap:36px; } h1 { font-size:clamp(3.7rem,7.3vw,5.8rem); } .pet-card { height:365px; padding:16px; } .pet-model { height:235px; top:90px; } .original-photo { width:90px; top:43px; left:12px; } .original-photo img { height:68px; } .pet-card-bottom strong { font-size:1.25rem; } .journey-layout { gap:48px; } .gift-copy { padding:36px 30px; } .final-offer { gap:55px; } }
@media (max-width:850px) {
 h1 > span { font-size:1em; }
 .nav-link { display:none; } .hero { grid-template-columns:1fr; text-align:center; padding-top:28px; }
 .hero-heading { grid-column:1; grid-row:1; padding-top:0; } h1 { font-size:5.5rem; margin-top:16px; text-align:center; }
 .hero-description { grid-column:1; grid-row:2; padding:0 0 10px; } .hero-description > p { margin:auto; max-width:460px; } .desktop-break { display:none; }
 .hero-actions { justify-content:center; align-items:center; margin-top:20px; } .hero-price { margin-inline:auto; }
 .pet-showcase { grid-column:1; grid-row:3; width:min(600px,95%); justify-self:center; padding:38px 0 46px; }
 .hero-footer { grid-row:4; margin-top:18px; } .benefit-strip { gap:18px; font-size:.8125rem; } .journey-layout { gap:28px; } .journey-step { min-height:220px; } h3 { font-size:1.65rem; } .gift-copy h2 { font-size:2.5rem; } .final-offer { gap:34px; }
}
@media (max-width:600px) {
 .orbit-reference .ui-arrow,.piece-reference .ui-arrow,.collection-photo .ui-arrow { display:none; }
 .section-width { width:calc(100% - 36px); } .announcement { min-height:34px; font-size:.75rem; } .announcement > span { display:none; } .announcement a { min-height:34px; }
 .site-header { height:78px; padding:10px 18px; gap:16px; } .site-header .button-small { display:none; } .site-header nav { gap:14px; } .account-link { font-size:.8125rem; }
 .hero { padding:26px 18px 0; } .eyebrow { font-size:.6875rem; letter-spacing:.1em; } h1 { font-size:clamp(3.3rem,13.5vw,4.6rem); line-height:1.01; margin:14px 0 19px; }
 .hero-description > p { font-size:1rem; line-height:1.6; max-width:360px; } .hero-actions { gap:10px; } .hero-actions .button { width:100%; max-width:360px; } .cta-note br { display:none; }
 .hero-price { margin-top:10px; font-size:.75rem; gap:6px; } .hero-price > span { font-size:.625rem; }
 .pet-showcase { width:calc(100% - 10px); gap:14px; padding:28px 0 40px; } .pet-card { height:267px; padding:12px; border-width:1px; } .pet-card-label { font-size:.625rem; letter-spacing:.04em; }
 .original-photo { width:69px; top:33px; left:8px; padding:4px 4px 0; } .original-photo img { height:53px; } .original-photo figcaption { font-size:.625rem; padding:5px 0; } .original-photo figcaption span { display:none; }
 .pet-model { height:140px; top:62px; } .pet-card-bottom { left:8px; right:8px; gap:4px; } .pet-card-bottom strong { font-size:.875rem; line-height:1.15; } .pet-card-bottom a { width:44px; height:44px; font-size:1.2rem; border-color:#0a46a830; } .showcase-note { font-size:.6875rem; bottom:-4px; }
 .hero-footer { min-height:70px; gap:16px; font-size:.6875rem; text-align:left; } .hero-footer b { display:none; } .hero-footer a { font-size:.8125rem; }
 .benefit-strip { padding:18px 15px; gap:12px; font-size:.75rem; font-weight:400; } .benefit-strip i { display:none; } .benefit-strip span { flex:1; }
 .journey { padding-top:52px; } h2 { font-size:clamp(2.5rem,10vw,3.3rem); } .journey-layout { display:block; padding-top:30px; }
 .journey-step { min-height:0; padding:26px 0; gap:13px; } .journey-step p { margin:10px 0 14px; font-size:1rem; } .step-tag { font-size:.6875rem; letter-spacing:.025em; } .step-mobile-image { display:none; }
 .gift { margin-top:26px; } .gift-image > img { height:auto; aspect-ratio:1.6; } .gift-image figcaption { font-size:.625rem; } .gift-copy { padding:30px 26px; } .gift-copy h2 { font-size:2.75rem; } .gift-copy .eyebrow { font-size:.6875rem; }
 .final-offer { grid-template-columns:1fr; gap:30px; padding-block:54px 44px; } .offer-copy h2 { font-size:3.6rem; margin:15px 0 20px; } .offer-card { padding:26px; margin:0; transform:none; } .price > span { font-size:4.6rem; }
 .questions h2 { font-size:2.4rem; max-width:none; } summary { min-height:72px; font-size:.9375rem; } details > p { font-size:1rem; }
 .site-footer { padding-bottom:110px; } .site-footer p { font-size:.75rem; } .mobile-cta { border-color:#c8cabe; border-radius:6px; box-shadow:0 6px 24px #23344d18; } .mobile-cta > span { font-size:.75rem; font-weight:400; letter-spacing:0; color:var(--ink); } .mobile-cta small { font-size:.6875rem; }
}
@media (max-width:360px) { .hero { padding-inline:16px; } h1 { font-size:2.7rem; } .gift-copy h2 { font-size:2.3rem; } .pet-card { height:250px; } .pet-model { top:62px; height:120px; } .pet-card-bottom strong { font-size:.75rem; } .hero-price { font-size:.6875rem; } .offer-card { padding:22px; } }
@media (prefers-reduced-motion:reduce) { html:not([data-site-motion="on"]) *,html:not([data-site-motion="on"]) *::before,html:not([data-site-motion="on"]) *::after { animation:none !important; transition:none !important; } }
