/* October refinement: tactile product, intimate photography, generous type. */
:root{--header-h:80px}
.site-header{padding:0 clamp(20px,3vw,48px)}
.nav-actions{display:flex;align-items:center;gap:13px}.nav-actions .btn{height:46px;padding:0 24px;font-size:14px}
.language-picker{position:relative}.flag-avatar{width:46px;height:46px;border:3px solid #fff;border-radius:50%;padding:0;overflow:hidden;background:#fff;box-shadow:0 3px 10px -5px #23262650;display:block;flex:none;transition:transform .25s,box-shadow .25s}.flag-avatar img{width:100%;height:100%;object-fit:cover}.flag-avatar:hover{transform:translateY(-2px);box-shadow:0 6px 14px -5px #23262655}.flag-avatar:focus-visible{outline-color:#465744}.language-toggle[aria-expanded=true]{box-shadow:0 0 0 2px #72816c,0 4px 12px #23262615}
.language-menu{position:absolute;right:-5px;top:58px;width:184px;padding:15px;display:grid;grid-template-columns:repeat(3,44px);gap:10px;background:#fbf9f3f2;backdrop-filter:blur(20px);border:1px solid #fff;border-radius:24px;box-shadow:0 18px 50px -15px #23262645;transform-origin:90% 0;animation:flags-in .28s cubic-bezier(.2,.8,.2,1)}.language-menu[hidden]{display:none}.language-menu .flag-avatar{width:44px;height:44px}.language-menu button[aria-pressed=true]{box-shadow:0 0 0 2px #72816c}
@keyframes flags-in{from{opacity:0;transform:translateY(-8px) scale(.94)}to{opacity:1;transform:none}}
.hero-intro{top:clamp(104px,11svh,180px);left:20px;right:20px;will-change:transform;max-width:none}.hero-intro h1{font-size:clamp(46px,5.6vw,80px);letter-spacing:-.055em;line-height:1.08;font-weight:500}.hero-intro h1 .hero-line{display:flex;align-items:center;justify-content:center;gap:.18em;color:var(--ink)}.hero-intro h1 .hero-line--muted,.hero-intro h1 .hero-line--muted .hero-words{color:#909787}.hero-intro h1 .hero-words,.hero-intro h1 .hero-word-mask{color:inherit}.hero-line+.hero-line{margin-top:.045em}
.hero-word-mask{display:inline-block;overflow:hidden;padding:.08em .02em;margin:-.08em -.02em}.hero-words{display:block;transform-origin:0 100%}
.hero-avatar{display:inline-block;position:relative;flex:none;width:.82em;height:.82em;border:3px solid #fff;border-radius:50%;overflow:hidden;background:#9ba68e;box-shadow:0 5px 12px -6px #23262633;isolation:isolate}.hero-avatar--owner{background:#c89b98}.hero-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;animation:none}
.hero-description{font-size:15px;margin:20px 0 23px;color:#636b60}.hero-intro .eyebrow{margin-bottom:16px}.hero-dog{bottom:auto;top:var(--dog-top,360px);width:min(112svh,1320px);mask-image:radial-gradient(ellipse 51% 76% at 50% 64%,#000 60%,transparent 100%)}.hero-footer{left:auto;right:26px;bottom:24px}.hero-dog video{transition:opacity .2s}.motion-toggle{background:#fff7;border-color:#646e6055;color:#434d3e}
.spin-backgrounds{position:absolute;inset:0;z-index:0;pointer-events:none}.spin-backgrounds i{display:block;position:absolute;inset:0;clip-path:circle(0% at 50% 50%);will-change:clip-path}.spin-backgrounds i:nth-child(1){background:#9ba68e}.spin-backgrounds i:nth-child(2){background:#454747}.spin-backgrounds i:nth-child(3){background:#c89b98}.spin-backgrounds i:nth-child(4){background:#9db4c2}
.stage-line{font-size:clamp(38px,4.5vw,72px);line-height:1.06;font-weight:500;letter-spacing:-.04em;color:#1e2923}.callout{max-width:32vw;color:#1e2923;font-size:17px;line-height:1.5}.callout b{font-size:clamp(26px,2.7vw,42px);line-height:1.1;margin-bottom:13px}.callout span{max-width:350px}.callout--sense{left:67%;top:42%}.callout--slot{right:65%;top:44%}.callout--mic{left:66%;top:42%}.stage.spin-dark .callout{color:#fff9ee}.stage.spin-dark .callout i,.stage.spin-dark .callout i:after{background:#fff9ee}
.feature-scenes{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;visibility:hidden}.feature-scenes>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 55%;opacity:0;transform:scale(1.055);transition:opacity .75s,transform 1.4s cubic-bezier(.16,1,.3,1)}.feature-scenes>img.on{opacity:1;transform:scale(1)}.feature-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,20,15,.82),rgba(30,24,18,.6) 36%,rgba(30,24,18,.12) 70%),linear-gradient(180deg,rgba(18,16,12,.3),transparent 38%,rgba(26,21,15,.18))}
#features-title{top:15%;left:6vw;text-align:left;width:43%;font-size:clamp(32px,3.5vw,52px);color:#fffaf0;letter-spacing:-.04em;transform:none}#features-title span{color:#dfdbc9}#features-eyebrow{left:6vw;top:10.5%;color:#e5e1d6;font-size:10px;transform:none;letter-spacing:.09em}
.features{left:7vw;top:61%;width:min(370px,35vw);right:auto}.features li{opacity:1;padding:9px 0;gap:16px;transform:scale(.93);transform-origin:0 50%;transition:transform .65s cubic-bezier(.16,1,.3,1)}.features li.on{transform:scale(1.08);padding:14px 0}.f-txt b{font-size:18px;font-weight:400;color:#ede9df}.features li.on .f-txt b{font-size:19px;font-weight:500;color:#fff}.f-txt em{color:#eee9dd;font-size:12px;line-height:1.6;max-width:32ch}.f-ico{background:#fff1;border:1px solid #fff3;width:34px;height:34px}.f-ico svg{stroke:#f7f3e9;width:17px;height:17px}.features li.on .f-ico{background:#f4f0e8;border-color:#f4f0e8}.features li.on .f-ico svg{stroke:#303c2d}
.appcard{left:54%;top:56%;width:clamp(240px,22vw,320px);padding:23px 25px 22px;border:1px solid #fff3;border-radius:22px;background:#28271fe0;color:#fff;box-shadow:0 20px 45px -15px #120f0b65;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.appcard-inner{min-height:170px}.ac{inset:0;color:#fcf9f1;visibility:hidden;transition:opacity .35s,visibility .35s}.ac.on{visibility:visible}.ac small{color:#dfddcd;font-size:10px;letter-spacing:.065em;margin-bottom:20px}.ac h5{font-size:20px;font-weight:400;line-height:1.25;letter-spacing:-.03em}.ac p{color:#e1ddcc;font-size:11px;line-height:1.6;margin-top:14px}.ac-stat{display:flex;align-items:center;justify-content:space-between;gap:10px}.ac-stat>strong{font-size:34px;font-weight:400;letter-spacing:-.06em;white-space:nowrap}.ac-stat strong span{font-size:17px;letter-spacing:-.02em}.ac-stat>span{font-size:10px;color:#e1ddcc}.ac-status{color:#d7e9ba!important;font-size:9px;white-space:nowrap}.sleep-timeline{display:flex;gap:3px;margin:22px 0 8px;height:34px;align-items:center}.sleep-timeline i{background:#bbccaa;border-radius:2px;height:80%;flex:1}.sleep-timeline i:nth-child(3n){height:100%}.sleep-timeline i:nth-child(7n){background:#8b9580;height:28%}.ac-axis{display:flex;justify-content:space-between;font-size:8px;color:#d2cebe}.ac-meal{display:flex;align-items:center;gap:14px;margin:8px 0 22px}.ac-meal h5{font-size:19px}.ac-meal p{margin:6px 0 0}.ac-check{width:36px;height:36px;border:1px solid #aebb95;border-radius:50%;display:grid;place-items:center;color:#d7e9ba}.ac-divider{height:1px;background:#ffffff24;margin:16px 0}.ac-pair{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#e1ddcc}.ac-pair h5{font-size:18px}.ac .ac-wave{height:62px;color:#c1d0a8;margin:15px 0 5px}.ac .ac-band{height:62px;background:transparent;border-bottom:1px solid #fff2;margin-top:24px}.ac .ac-band-range{background:#afc99140}.ac .ac-dot{background:#b8c99a}.ac .ac-dot--now{background:#e0edce;box-shadow:0 0 0 4px #c6dab529}.ac-comparison{margin:22px 0 15px}.ac-comparison>div{display:grid;grid-template-columns:54px 1fr 50px;align-items:center;gap:10px;margin:12px 0;font-size:9px}.ac-comparison i{height:6px;width:var(--length);background:#d8ba98;border-radius:4px}.ac-comparison>div+div i{background:#b0c39b}.ac-comparison b{font-size:10px;font-weight:400;text-align:right}.sound-wave{display:flex;align-items:center;gap:5px;height:55px;margin:15px 0 23px}.sound-wave i{height:var(--bar);flex:1;background:#c8d4b6;border-radius:10px}.ac-journal-head{display:flex;gap:13px;align-items:center}.ac-journal-head>img{width:44px;height:44px;object-fit:cover;object-position:58% 55%;border-radius:50%}.ac-journal-head small{margin-bottom:6px}.ac-journal-head h5{margin:0}.ac-journal-row{display:flex;justify-content:space-between;font-size:10px;margin:12px 0;color:#e1ddcc}.ac-journal-row b{font-weight:400}.ac-share{font-size:10px;background:#ffffff0e;padding:11px 12px;border-radius:7px;margin-top:18px;color:#d7e9ba}
.family-pet>span{font-family:'Caveat',cursive;text-transform:none;font-size:30px;letter-spacing:0;font-weight:500;color:#505b48;bottom:46%;left:-32%;right:auto;transform:rotate(-9deg);width:95px;text-align:center}.family-pet--1>span{bottom:65%;left:-40%;transform:rotate(-13deg)}.family-pet--2>span{bottom:81%;left:70%;transform:rotate(6deg)}.family-pet--3>span{bottom:69%;left:69%;transform:rotate(8deg)}.family-pet--4>span{bottom:43%;left:71%;transform:rotate(10deg)}.pet-arrow{width:60px;height:60px;position:absolute;top:25px;left:42px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.family-pet--0 .pet-arrow{transform:rotate(-78deg);left:55px;top:-10px}.family-pet--1 .pet-arrow{transform:rotate(-32deg);left:55px;top:17px}.family-pet--2 .pet-arrow{transform:scaleX(-1);left:-5px}.family-pet--3 .pet-arrow{transform:scaleX(-1) rotate(-10deg);left:-5px}.family-pet--4 .pet-arrow{transform:scaleX(-1) rotate(-80deg);left:-28px;top:-10px}
.inside-story{height:340svh}.inside-heading{top:14%;max-width:38vw}.inside-caption{top:48%;bottom:auto;right:6vw;width:25%;max-width:320px;transform:translateY(-12%)}.inside-caption h3{font-size:30px;font-weight:400;line-height:1.12}.inside-caption p{color:#5f6559;font-size:15px;min-height:100px}.inside-index{font-size:10px;color:#56624e;letter-spacing:.08em}.inside-leader{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}.inside-leader path{fill:none;stroke:#697260;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1}.inside-leader circle{fill:#697260;stroke:#eee5dc;stroke-width:2;vector-effect:non-scaling-stroke}
.band-story{padding-bottom:85px}.band-ghost-word{top:13%;font-size:clamp(100px,18vw,250px);color:#637057;opacity:.23;letter-spacing:-.065em;line-height:1;transition:color .6s,opacity .6s}.band-preview{height:min(560px,65vw)}.band-palette{margin-top:0}.combo span{color:#626e57}.combo i{box-shadow:inset 0 0 0 1px #23262622}.band-heading>p:last-child{color:#626e57}.band-heading h2 span{color:#76846c}
.app-story{background:#eceee6;padding:100px 0 85px}.app-layout{display:block;max-width:1280px}.app-copy{text-align:center}.app-copy h2{font-size:clamp(40px,4.8vw,64px);font-weight:500;line-height:1.08}.app-copy>p:not(.eyebrow){max-width:550px;margin:24px auto 0;color:#606c57;font-size:15px}.app-copy h2 span{color:#7b8970}.app-gallery{position:relative;height:680px;margin:36px auto 0;max-width:1100px;perspective:1500px}.app-device{position:absolute;left:50%;top:42px;width:270px;transition:transform .85s cubic-bezier(.16,1,.3,1),opacity .7s;transform-origin:50% 65%;z-index:1}.app-device .phone{width:100%;aspect-ratio:9/19;border-radius:43px;padding:7px;background:#2c302b;box-shadow:15px 25px 45px -18px #38493160,0 0 0 1px #9ba08e;max-width:none}.app-device .phone:after{content:'';position:absolute;top:14px;left:50%;transform:translateX(-50%);width:66px;height:16px;background:#1c201b;border-radius:20px}.app-device .phone-screen{border-radius:36px;padding:17px 17px 15px;background:#faf8f2;gap:0;line-height:1.4}.app-device--0{transform:translateX(-50%) rotate(0);z-index:3}.app-device--1{transform:translateX(-155%) translateY(35px) rotate(-10deg) scale(.91)}.app-device--2{transform:translateX(55%) translateY(35px) rotate(10deg) scale(.91)}.app-gallery[data-active="1"] .app-device--0{transform:translateX(-155%) translateY(35px) rotate(-10deg) scale(.91);z-index:1}.app-gallery[data-active="1"] .app-device--1{transform:translateX(-50%);z-index:3}.app-gallery[data-active="2"] .app-device--0{transform:translateX(55%) translateY(35px) rotate(10deg) scale(.91);z-index:1}.app-gallery[data-active="2"] .app-device--2{transform:translateX(-50%);z-index:3}
.phone-status{display:flex;justify-content:space-between;font-size:8px;font-weight:600;padding:1px 10px 20px}.app-welcome{display:flex;justify-content:space-between;align-items:center;margin:13px 0 17px}.app-welcome small,.app-view-title small{font-size:8px;color:#6d775f;display:block;margin-bottom:8px}.app-welcome h4,.app-view-title h4{font-size:25px;font-weight:500;letter-spacing:-.045em}.app-pet-avatar{width:35px;height:35px;border-radius:50%;object-fit:cover;object-position:58% 56%}.app-photo{position:relative;height:175px;border-radius:18px;overflow:hidden}.app-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 44%}.app-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#21251b80)}.app-photo span{position:absolute;bottom:14px;left:14px;font-size:12px;font-weight:500;color:#fff;z-index:1}.app-metric-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.app-metric-row>div{background:#eaeee1;padding:14px 10px;border-radius:13px}.app-metric-row small{font-size:9px;color:#68765a;display:block}.app-metric-row b{display:block;font-size:20px;font-weight:500;letter-spacing:-.045em;margin:8px 0 3px}.app-metric-row span{font-size:7px;color:#626e55}.app-meal-log{display:flex;gap:11px;margin-top:18px;align-items:center}.app-meal-log>i{font-size:13px;font-style:normal;border:1px solid #a9b79b;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;color:#5a6e45}.app-meal-log b{font-size:10px;font-weight:500}.app-meal-log small{font-size:8px;color:#6b765f;display:block;margin-top:3px}.app-bottom{margin-top:auto;display:flex;justify-content:space-around;padding:17px 0 3px;border-top:1px solid #dfe3d5;font-size:8px;color:#737d68}.app-bottom .active{color:#35492a;font-weight:600}.app-view-title{margin:17px 0 22px}.app-period{display:flex;gap:4px;padding:4px;background:#eaeee3;border-radius:20px;font-size:8px;text-align:center}.app-period>*{flex:1;padding:6px 7px}.app-period b{background:#fff;border-radius:20px;font-weight:500;box-shadow:0 2px 4px #455e3710}.app-rest-number{padding:26px 0 16px}.app-rest-number b{display:block;font-size:36px;font-weight:400;letter-spacing:-.065em}.app-rest-number b span{color:#7c8c6c}.app-rest-number small{font-size:8px;color:#667559;display:block;margin-top:5px}.app-week-chart{display:flex;gap:10px;height:95px;align-items:end;border-bottom:1px solid #b9c5aa;padding:0 4px}.app-week-chart>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:end;position:relative}.app-week-chart i{display:block;height:var(--height);background:#adbf94;border-radius:5px 5px 0 0}.app-week-chart>div:nth-child(3) i{background:#607c48}.app-week-chart span{position:absolute;top:102%;left:50%;transform:translateX(-50%);font-size:8px;color:#6f7b63}.app-chart-key{display:flex;gap:6px;font-size:7px;align-items:center;color:#69775c;margin-top:27px}.app-chart-key i{width:5px;height:5px;border-radius:50%;background:#b2c49b}.app-insight{margin-top:22px;background:#eef1e7;border-radius:13px;padding:13px}.app-insight>span{font-size:11px;font-weight:500}.app-insight p{font-size:9px;color:#66755a;line-height:1.6;margin-top:5px}.journal-pet{display:flex;align-items:center;gap:10px;padding-bottom:18px;border-bottom:1px solid #dfe3d5}.journal-pet b{display:block;font-size:12px;font-weight:500}.journal-pet small{font-size:8px;color:#6a775e}.journal-entry{padding:19px 0 16px;border-bottom:1px solid #dfe3d5}.journal-entry>small{font-size:8px;color:#6e7a62;display:block}.journal-entry>b{font-size:14px;font-weight:500;display:block;margin-top:8px}.journal-entry p{font-size:10px;color:#5e6c52;margin:7px 0 10px}.journal-entry>span{display:inline-block;font-size:7px;padding:4px 7px;background:#e7ecdd;border-radius:5px;color:#586d42}.journal-footer{padding:18px 0}.journal-footer b{font-size:12px;font-weight:500}.journal-footer p{font-size:8px;color:#66755a;margin-top:5px}.app-view-tabs{display:flex;justify-content:center;gap:5px;margin:0 auto;background:#dfe5d5;padding:5px;border-radius:28px;width:max-content}.app-view-tabs button{border:0;border-radius:24px;padding:12px 23px;background:none;font-size:12px;color:#5a694e;transition:background .3s,color .3s}.app-view-tabs button[aria-selected=true]{background:#fffdf7;color:#2d3b24;box-shadow:0 3px 10px -5px #39472d33}
.dims{left:0;right:0;top:60px;justify-content:center;font-size:32px;letter-spacing:-.04em;gap:9px}.dims small{font-size:10px;margin-left:2px}.vet-avatar{overflow:hidden;flex:none}.vet-avatar img{width:100%;height:100%;object-fit:cover;object-position:58% 56%;transform:scale(1.8)}
@media(min-width:1800px){.hero-intro{top:clamp(140px,13svh,240px)}.hero-intro h1{font-size:84px}.hero-dog{width:1320px}.features{width:400px;top:57%}.features li{padding:13px 0}.features li.on{padding:18px 0}.f-txt b{font-size:22px}.features li.on .f-txt b{font-size:24px}.f-txt em{font-size:15px}.f-ico{width:42px;height:42px}.appcard{width:320px}}
@media(max-width:1100px) and (min-width:901px){.features{left:5vw;width:36vw}.features li{padding:6px 0}.f-txt b{font-size:16px}.features li.on .f-txt b{font-size:17px}.f-txt em{font-size:11px}.appcard{width:235px;padding:19px}.ac h5{font-size:17px}.inside-caption h3{font-size:25px}.callout{max-width:30vw}.callout b{font-size:27px}}
@media(max-width:900px){
 :root{--header-h:76px}.site-header{padding:0 19px}.site-header .nav{display:none}.site-header .brand .wordmark{font-size:21px}.nav-actions{gap:10px}.nav-actions .btn{height:44px;padding:0 19px;font-size:12px}.flag-avatar{width:44px;height:44px}.language-menu{right:-45px;top:56px}.hero-intro{top:105px;left:12px;right:12px}.hero-intro h1{font-size:clamp(36px,8.6vw,60px);letter-spacing:-.055em}.hero-intro .eyebrow{margin-bottom:14px;font-size:9px}.hero-avatar{border-width:2px}.hero-description{font-size:12px;margin:18px 0 21px}.hero-actions{gap:22px}.hero-actions .btn{font-size:12px;padding:14px 20px}.hero-dog{width:min(206vw,100svh);top:var(--dog-top,270px);bottom:auto}.hero-footer{bottom:17px;right:19px}.motion-toggle{width:32px;height:32px}
 .stage-line{font-size:32px;width:40%;top:26%;text-align:center}.stage-line--l{left:6vw}.stage-line--r{right:6vw}.callout{top:auto;bottom:15%;left:8vw;right:8vw;max-width:none;justify-content:center;text-align:left;font-size:14px}.callout b{font-size:28px}.callout span{padding-left:13px;max-width:300px}.callout--slot{flex-direction:row}.callout--slot span{padding-right:0;padding-left:13px}.callout i::after{display:none}
 #features-title{left:7vw;top:13%;width:86vw;font-size:29px;text-align:left;line-height:1.08}#features-eyebrow{left:7vw;top:9.5%;font-size:8px;letter-spacing:.07em;white-space:normal;width:85vw}.feature-scenes>img{object-position:70% 35%}.feature-scrim{background:linear-gradient(180deg,#201b14a6,rgba(24,21,15,.22) 32%,rgba(24,21,15,.7) 57%,#181910ee 95%),linear-gradient(90deg,#211e1880,transparent 85%)}
 .features{left:9vw;top:74%;width:83vw}.features li{padding:4px 0;gap:12px;transform:scale(.95)}.features li.on{padding:8px 0;transform:scale(1.035)}.f-ico{width:27px;height:27px}.f-ico svg{width:14px;height:14px}.f-txt b{font-size:14px}.features li.on .f-txt b{font-size:16px}.f-txt em{font-size:10px;line-height:1.4;max-width:32ch}.appcard{display:block!important;left:7%;top:28%;width:195px;min-height:0;padding:16px 17px;border-radius:16px}.appcard-inner{min-height:138px}.ac small{font-size:8px;margin-bottom:12px}.ac h5{font-size:16px}.ac p{font-size:9px;margin-top:10px}.ac-stat strong{font-size:27px}.ac-stat strong span{font-size:12px}.ac-status{font-size:7px}.ac-stat>span{font-size:8px}.sleep-timeline{height:25px;margin:14px 0 6px;gap:2px}.ac-axis{font-size:7px}.ac-meal{gap:8px;margin:6px 0 14px}.ac-check{width:28px;height:28px;flex:none}.ac-pair{font-size:8px}.ac-divider{margin:12px 0}.ac .ac-wave{height:47px;margin:13px 0 3px}.ac .ac-band{height:42px;margin:18px 0 6px}.ac-comparison{margin:16px 0 10px}.ac-comparison>div{grid-template-columns:41px 1fr 42px;gap:7px;font-size:8px}.ac-comparison b{font-size:8px}.sound-wave{height:43px;gap:3px;margin:13px 0 19px}.ac-journal-head{gap:8px}.ac-journal-head>img{width:31px;height:31px}.ac-journal-row{font-size:8px;margin:10px 0}.ac-share{font-size:8px;padding:8px;margin-top:12px}
 .family-pet>span{font-size:20px;width:65px;bottom:47%;left:-30%}.family-pet--1>span{bottom:68%;left:-25%}.family-pet--2>span{bottom:84%;left:56%}.family-pet--3>span{bottom:69%;left:60%}.family-pet--4>span{bottom:44%;left:58%}.pet-arrow{width:39px;height:45px;top:16px;left:30px}.family-pet--0 .pet-arrow{left:34px;top:-8px}.family-pet--1 .pet-arrow{left:35px;top:12px}.family-pet--2 .pet-arrow,.family-pet--3 .pet-arrow{left:0}.family-pet--4 .pet-arrow{left:-13px;top:-8px}
 .inside-heading{top:13%;left:7vw;max-width:86vw}.inside-heading h2{font-size:32px}.inside-visual{top:47%;width:min(70vw,58svh)}.inside-caption{top:70%;bottom:auto;left:8vw;right:8vw;width:auto;max-width:none;transform:none}.inside-caption h3{font-size:25px;margin:12px 0 9px}.inside-caption p{font-size:12px;max-width:40ch;min-height:0;line-height:1.6}.inside-leader path{stroke-width:1}.inside-index{font-size:9px}.band-story{padding-bottom:60px}.band-ghost-word{top:11%;font-size:23vw;opacity:.3}.band-preview{height:73vw;width:100%;margin:15px 0 0}.band-palette{gap:14px}.combo i{width:42px;height:29px}.combo span{font-size:9px}.band-heading>p:last-child{font-size:12px}
 .app-story{padding:70px 0 65px}.app-layout{padding:0 20px}.app-copy h2{font-size:40px}.app-copy>p:not(.eyebrow){font-size:12px;margin-top:21px;max-width:310px}.app-copy>p br{display:none}.app-gallery{height:610px;margin:20px -20px 0}.app-device{width:260px;top:25px}.app-device--1{transform:translateX(-114%) translateY(24px) rotate(-9deg) scale(.84);opacity:.4}.app-device--2{transform:translateX(14%) translateY(24px) rotate(9deg) scale(.84);opacity:.4}.app-gallery[data-active="1"] .app-device--0{transform:translateX(-114%) translateY(24px) rotate(-9deg) scale(.84);opacity:.4}.app-gallery[data-active="1"] .app-device--1{transform:translateX(-50%);opacity:1}.app-gallery[data-active="2"] .app-device--0{transform:translateX(14%) translateY(24px) rotate(9deg) scale(.84);opacity:.4}.app-gallery[data-active="2"] .app-device--2{transform:translateX(-50%);opacity:1}.app-view-tabs button{padding:11px 16px;font-size:10px}.app-view-tabs{margin-top:0}.dims{top:54px;font-size:32px}.buy .preview-stage{height:min(40svh,350px)}
}
@media(max-width:900px) and (max-height:710px){.hero-intro{top:88px}.hero-intro h1{font-size:35px}.hero-description{margin:14px 0 17px;font-size:11px}.hero-intro .eyebrow{font-size:8px;margin-bottom:11px}.hero-dog{width:100svh}#features-title{top:14%;font-size:25px}#features-eyebrow{top:10%;font-size:7px}.features{top:75%}.features li{padding:2px 0}.features li.on{padding:5px 0}.f-txt b{font-size:12px}.features li.on .f-txt b{font-size:14px}.f-txt em{font-size:9px}.f-ico{width:24px;height:24px}.appcard{top:27%;padding:13px;width:180px}.appcard-inner{min-height:120px}.ac small{margin-bottom:10px}.ac-stat strong{font-size:24px}.ac p{font-size:8px}.ac .ac-wave{height:35px}.sleep-timeline{height:20px;margin:11px 0 5px}.inside-caption{top:69%}.inside-heading h2{font-size:27px}.inside-caption h3{font-size:21px}.inside-caption p{font-size:11px}}
@media(max-height:520px) and (orientation:landscape){.hero-intro{top:85px;left:6vw;right:auto;width:45%}.hero-intro h1{font-size:30px}.hero-description br{display:block}.hero-dog{width:90svh;left:75%;top:70px!important}.hero-footer{bottom:16px}.features{top:61%;left:5vw;width:45%}.features li{padding:2px 0}.features li.on{padding:3px 0}.f-txt b{font-size:11px}.f-txt em{display:none}.f-ico{width:20px;height:20px}#features-title{font-size:22px;top:19%;width:48%}#features-eyebrow{top:15%;font-size:7px}.appcard{left:62%!important;top:30%!important}.inside-caption{left:62%;top:35%;right:4%}.inside-heading h2{font-size:25px}.inside-heading{left:5%;top:25%;max-width:30%}}
@media(prefers-reduced-motion:reduce){.hero-avatar img{animation:none}.feature-scenes>img,.features li,.appcard,.app-device,.flag-avatar,.language-menu,.band-ghost-word{transition:none;animation:none}.spin-backgrounds i{will-change:auto}.hero-intro{will-change:auto}}
.flag-avatar[hidden]{display:none}
@media(max-width:649px){html[lang=fi] .hero-intro h1{font-size:6.1vw}html[lang=de] .hero-intro h1{font-size:6.5vw}html[lang=fi] .features li.on .f-txt b,html[lang=de] .features li.on .f-txt b,html[lang=fr] .features li.on .f-txt b{font-size:14px}.app-view-tabs{max-width:100%}.app-view-tabs button{white-space:nowrap;padding-left:14px;padding-right:14px}}

/* Keep portraits, labels and leader lines inside the usable viewport. */
.hero-dog{mask-image:radial-gradient(ellipse 51% 76% at 50% 64%,#000 60%,transparent 100%),linear-gradient(#000 0 80%,transparent 100%);mask-composite:intersect}
.app-pet-avatar,.ac-pet-avatar,.vet-avatar{position:relative;display:block;overflow:hidden;border-radius:50%;flex:none}.ac-pet-avatar{width:44px;height:44px}
.app-pet-avatar img,.ac-pet-avatar img,.vet-avatar img{position:absolute;width:200%;height:auto;max-width:none;left:-60%;top:-128%;transform:none}
.appcard[data-feature="0"] .appcard-inner{min-height:200px}
.family-labels{position:absolute;inset:0;pointer-events:none;z-index:8;opacity:0}.family-labels>span{position:absolute;font-family:'Caveat',cursive;font-size:30px;line-height:1.1;color:#505b48;white-space:nowrap;transform:translate(-50%,-50%) rotate(var(--tilt))}.family-labels>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.family-labels path{fill:none;stroke:#68735d;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:900px){.ac-pet-avatar{width:31px;height:31px}.appcard[data-feature="0"] .appcard-inner{min-height:148px}.family-labels>span{font-size:23px}}
@media(max-width:900px) and (max-height:710px){.appcard[data-feature="0"] .appcard-inner{min-height:128px}}

/* A quiet vertical carousel beside the dog; motion stops with the hero control. */
.hero-benefits{position:absolute;z-index:6;left:calc(50% - var(--benefit-distance,310px));width:220px;height:350px;transform:translate(-50%,-50%);mask-image:linear-gradient(transparent,#000 28% 72%,transparent);pointer-events:auto}.hero-benefits ul{position:absolute;inset:0;margin:0;list-style:none;padding:0}.hero-benefits li{position:absolute;left:10px;right:10px;top:50%;display:flex;align-items:center;gap:12px;min-height:62px;padding:12px;border:1px solid transparent;border-radius:23px;transform:translateY(calc(-50% + var(--offset)*68px)) scale(var(--row-scale));transform-origin:center;transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .9s,background-color .7s,box-shadow .7s;opacity:0;font-size:14px;line-height:1.25;color:#38432f;letter-spacing:-.025em}.hero-benefits li.active{background:#fffcf7ef;border-color:#fff;box-shadow:0 8px 18px -9px #473b2745}.hero-benefits .f-ico{width:34px;height:34px;background:#dadfd0;border:0;flex:none}.hero-benefits .f-ico svg{stroke:#6d7d5c}.hero-benefits li.active .f-ico{background:#697d54}.hero-benefits li.active .f-ico svg{stroke:#fff}
@media(min-width:1800px){.hero-benefits{width:250px;height:380px}.hero-benefits li{font-size:16px;min-height:68px;transform:translateY(calc(-50% + var(--offset)*76px)) scale(var(--row-scale))}}
@media(max-width:900px){.hero-benefits{left:8px;width:145px;height:280px;transform:translateY(-50%)}.hero-benefits li{left:3px;right:3px;gap:7px;padding:9px 8px;min-height:52px;border-radius:18px;font-size:10px;transform:translateY(calc(-50% + var(--offset)*55px)) scale(var(--row-scale))}.hero-benefits .f-ico{width:28px;height:28px}.hero-benefits .f-ico svg{width:15px;height:15px}}
@media(max-width:420px){.hero-benefits{width:132px;left:5px}}
@media(max-height:520px) and (orientation:landscape){.hero-benefits{display:none}}
@media(prefers-reduced-motion:reduce){.hero-benefits li{transition:none}}

.hero-motion-paused .hero-avatar img{animation-play-state:paused}
@media(min-width:901px) and (max-height:800px){.hero-benefits{height:280px}.hero-benefits li{min-height:54px;transform:translateY(calc(-50% + var(--offset)*56px)) scale(var(--row-scale));font-size:13px}}
.motion-toggle{pointer-events:auto}

/* Motion polish: annotations stay outside the subject; colour fills the composition. */
.family-labels>span{color:#797d75}.family-labels path{stroke:#8b9086}
.inside-caption{left:62%;right:auto;width:28%;max-width:330px}.inside-caption h3{margin-top:12px}.inside-caption p{min-height:0}
.band-story{transition:background-color .75s ease}.band-ghost-word{opacity:1;transition:color .75s ease}
/* Scroll controls spread. Tab changes alone receive a positional transition. */
#app-gallery{--app-spread:1;--fan-offset:224px}
#app-gallery .app-device[data-position]{--side:0;transform:translateX(calc(-50% + var(--side)*var(--fan-offset)*var(--app-spread))) translateY(calc(26px*var(--app-spread))) rotate(calc(var(--side)*8deg*var(--app-spread))) scale(calc(.91 + .03*var(--app-spread)));opacity:1;z-index:1;transition:none;transform-origin:50% 70%;will-change:transform}
#app-gallery .app-device[data-position=left]{--side:-1}
#app-gallery .app-device[data-position=right]{--side:1}
#app-gallery .app-device[data-position=center]{transform:translateX(-50%);z-index:3}
#app-gallery.is-switching .app-device[data-position]{transition:transform .85s cubic-bezier(.22,1,.36,1)}
@media(max-width:900px){.inside-caption{left:8vw;right:8vw;width:auto;max-width:none;top:66%}.inside-caption h3{margin-top:9px}#app-gallery{--fan-offset:165px}#app-gallery .app-device[data-position]{scale:.88}#app-gallery .app-device[data-position=center]{scale:1}.band-ghost-word{opacity:1}}
@media(max-width:900px) and (max-height:710px){.inside-caption{top:66%}}
@media(max-height:520px) and (orientation:landscape){.inside-caption{left:62%;right:4%;top:35%;width:auto}}
@media(prefers-reduced-motion:reduce){.band-story,.band-ghost-word,#app-gallery.is-switching .app-device[data-position]{transition:none}#app-gallery .app-device[data-position]{will-change:auto}}

/* Laptop: keep the copy compact and give the actual dog half the viewport. */
@media(min-width:901px) and (min-height:560px) and (max-height:900px){
 .hero-intro{top:clamp(82px,11.7svh,102px)}
 .hero-intro h1{font-size:clamp(48px,8.2svh,68px);line-height:.96}
 .hero-line+.hero-line{margin-top:.025em}
 .hero-intro .eyebrow{font-size:9px;margin-bottom:10px}
 .hero-description{font-size:13px;line-height:1.5;margin:13px auto 17px;max-width:710px}
 .hero-description br{display:none}
 .hero-actions{gap:24px}.hero-actions .btn{min-height:44px;padding:12px 22px;font-size:13px}.hero-actions .text-link{font-size:12px}
}
/* A clear active row; the other capabilities remain as quiet context. */
.features li{opacity:.25;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .4s}
.features li.on{opacity:1;transform:scale(1.14)}
.features li.on .f-txt b{font-size:24px;line-height:1.15}
.features li.on .f-ico{width:40px;height:40px}.features li.on .f-ico svg{width:20px;height:20px}
@media(max-width:1100px) and (min-width:901px){.features li.on .f-txt b{font-size:21px}}
@media(max-width:900px){.features li.on{transform:scale(1.075)}.features li.on .f-txt b{font-size:19px}.features li.on .f-ico{width:32px;height:32px}.features li.on .f-ico svg{width:16px;height:16px}}
@media(max-width:900px) and (max-height:710px){.features li.on .f-txt b{font-size:17px}.features li.on .f-ico{width:29px;height:29px}}
@media(max-height:520px) and (orientation:landscape){.features li.on .f-txt b{font-size:13px}.features li.on .f-ico{width:23px;height:23px}}
/* The card loops are independent of scroll and run only while their card is active. */
#appcard [data-ui-motion]{animation-duration:var(--ui-duration,6s);animation-delay:var(--ui-delay,0s);animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-play-state:paused;transform-origin:center}
#appcard[data-motion=running] .ac.on [data-ui-motion]{animation-play-state:running}
[data-ui-motion=rest]{animation-name:ui-rest}
[data-ui-motion=check]{animation-name:ui-check}
[data-ui-motion=breathe]{animation-name:ui-breathe}
[data-ui-motion=trace]{animation-name:ui-trace;stroke:#f1f8e4;stroke-width:3;stroke-dasharray:.09 .91;stroke-linecap:round;opacity:0}
[data-ui-motion=dot]{animation-name:ui-dot}
[data-ui-motion=sound]{animation-name:ui-sound}
[data-ui-motion=journal]{animation-name:ui-journal}
@keyframes ui-rest{0%,100%{opacity:.7;transform:scaleY(.94)}50%{opacity:1;transform:scaleY(1)}}
@keyframes ui-check{0%,65%,100%{transform:scale(1);opacity:.85}35%{transform:scale(1.06);opacity:1}}
@keyframes ui-breathe{0%,100%{opacity:.65}50%{opacity:1}}
@keyframes ui-trace{0%{stroke-dashoffset:.1;opacity:0}12%,70%{opacity:.65}85%,100%{stroke-dashoffset:-.91;opacity:0}}
@keyframes ui-dot{0%,100%{transform:scale(.92);opacity:.7}50%{transform:scale(1.08);opacity:1}}
@keyframes ui-sound{0%,100%{transform:scaleY(.8);opacity:.8}45%{transform:scaleY(1.05);opacity:1}}
@keyframes ui-journal{0%,100%{opacity:.72;transform:translateY(1px)}40%,65%{opacity:1;transform:translateY(0)}}
/* Source, horizontal leader and heading share one axis at every breakpoint. */
.inside-caption{transform:none;bottom:auto}.inside-caption h3{margin:0 0 12px}
@media(max-width:900px){
 .inside-visual{left:28%;top:50%;width:min(67vw,52svh)}
 .inside-caption{left:57%;right:6%;width:auto;max-width:none;text-align:left}
 .inside-caption h3{font-size:18px;line-height:1.14;margin:0 0 10px}
 .inside-caption p{font-size:11px;line-height:1.55;max-width:none;margin:0;min-height:0}
}
@media(max-height:520px) and (orientation:landscape){.inside-visual{left:48%;width:46svh}.inside-caption{left:64%;right:4%}.inside-caption h3{font-size:17px}.inside-caption p{font-size:10px}}
.band-ghost-word{top:50%;transform:translate(-50%,-50%)}
@media(prefers-reduced-motion:reduce){#appcard [data-ui-motion]{animation:none!important}[data-ui-motion=trace]{display:none}.features li{transition:none}}

/* Compact flags, with the full navbar hit area retained around the selection. */
.language-picker{display:flex;align-items:center;align-self:center}
.language-toggle{display:grid;place-items:center;overflow:visible;border:0;background:transparent;box-shadow:none}
.language-toggle img{width:60%;height:60%;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 7px #23262620}
.language-toggle:hover,.language-toggle[aria-expanded=true]{box-shadow:none}
.language-toggle[aria-expanded=true] img{box-shadow:0 0 0 2px #72816c}
.language-menu{right:0;top:52px;width:max-content;grid-template-columns:repeat(4,26.4px);gap:8px;padding:12px;border-radius:19px;transform-origin:85% 0}
.language-menu .flag-avatar{width:26.4px;height:26.4px;border-width:2px}

/* Let translated/fluid copy determine the active preview's required height. */
.appcard-inner>.ac.on{position:relative;inset:auto}

.drag-cue{position:absolute;bottom:5%;left:50%;width:56px;height:35px;transform:translateX(-50%);color:#6d7864;opacity:.75;pointer-events:none;z-index:3;transition:opacity .3s}
.drag-cue svg{display:block;width:100%;height:100%;overflow:visible}
.drag-cue-guide{opacity:.45}
.drag-cue.is-demonstrating .drag-cue-hand{animation:demonstrate-drag 2.1s .45s cubic-bezier(.45,0,.25,1) 1 both paused}
.drag-cue[data-running=true] .drag-cue-hand{animation-play-state:running}
.drag-cue.is-dismissed{opacity:0}
@keyframes demonstrate-drag{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}65%{transform:translateX(8px)}}
@media(prefers-reduced-motion:reduce){.drag-cue{transition:none}.drag-cue .drag-cue-hand{animation:none!important}}

/* One quiet white marker follows the component; captions stay on the right. */
.inside-indicator{position:absolute;inset:0;z-index:2;pointer-events:none}
#inside-indicator-dot{position:absolute;width:9px;height:9px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;box-shadow:0 0 0 3px #ffffff25,0 1px 5px #23262630}

/* Section colours fill the whole viewport, including the adjacent section. */
body.has-page-atmosphere{background:var(--page-background,var(--ivory))}
.has-page-atmosphere .stage-wrap,
.has-page-atmosphere [data-page-surface],
.has-page-atmosphere .inside-pin,
.has-page-atmosphere .buy .preview-stage{background:transparent;transition:none}
.has-page-atmosphere [data-page-surface]{color:var(--page-ink)}
.has-page-atmosphere .films .sec-title,.has-page-atmosphere .site-footer{color:var(--page-ink)}
.has-page-atmosphere .films>.wrap>p,
.has-page-atmosphere .foot-nav,.has-page-atmosphere .socials,.has-page-atmosphere .legal{color:var(--page-muted)}
.has-page-atmosphere .foot-top{border-color:var(--page-rule)}
.has-page-atmosphere .card,.has-page-atmosphere .buy .opt{color:var(--ink)}
.has-page-atmosphere .card-copy--light{color:#fff}
.has-page-atmosphere .buy .launch-offer>p,.has-page-atmosphere .buy .fit-note,
.has-page-atmosphere .buy .buy-note,.has-page-atmosphere .buy .check-txt em,
.has-page-atmosphere .buy .sum-line,.has-page-atmosphere .buy .sw span{color:var(--page-muted)}
.has-page-atmosphere .buy .launch-offer strong,.has-page-atmosphere .buy .sw.on span{color:var(--page-ink)}
.has-page-atmosphere .buy .btn-cta{background:var(--page-ink);color:var(--page-background)}
.has-page-atmosphere .site-header::before{background:linear-gradient(var(--page-background),transparent)}
.has-page-atmosphere .site-header.on-dark::before{background:linear-gradient(#0a080c55,transparent)}
.has-page-atmosphere .combo.on i{box-shadow:0 0 0 4px var(--page-background),0 0 0 5px #69735f}
@media(max-width:900px){.has-page-atmosphere .buy-preview{background:var(--page-background)}}

/* Full-height mobile spin: one centred composition, with no inherited side offsets. */
@media(max-width:900px){
 .stage{height:100dvh}
 .stage-line{left:8vw;right:8vw;width:auto;max-width:none;margin:0;text-align:center}
 .stage-line--l{top:18%;bottom:auto}
 .stage-line--r{top:auto;bottom:16%}
 .callout,.callout--slot,.callout--mic{
  top:auto;bottom:14%;left:7vw;right:7vw;width:auto;max-width:none;margin:0;
  flex-direction:column;align-items:center;justify-content:center;gap:15px;text-align:center;
 }
 .callout span,.callout--slot span{max-width:340px;padding:0}
 .callout b{margin-bottom:10px}
 .callout i::after{display:none}
}
@media(max-width:900px) and (max-height:520px){
 .stage-line--l{top:20%}
 .stage-line--r{bottom:8%}
 .callout,.callout--slot,.callout--mic{bottom:6%;gap:8px}
 .callout b{margin-bottom:5px}
}

.has-page-atmosphere .site-header.in-product-spin::before{background:none}

/* Studio photography introduces the early-access form without crowding it. */
#order-modal .modal-card{width:min(100%,520px);max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain}
.waitlist-image{
 display:block;width:calc(100% + 72px);max-width:none;height:clamp(140px,22vh,190px);
 margin:-38px -36px 26px;border-radius:30px 30px 0 0;
 object-fit:cover;object-position:50% 46%;background:#e9e0d5;
}
@media(max-width:900px){
 #order-modal .modal-card{max-height:calc(100dvh - 100px)}
 .waitlist-image{width:calc(100% + 44px);height:clamp(116px,19vh,160px);margin:-25px -22px 22px}
}

/* The cat's ears sit higher in its source frame; preserve their sharp silhouette. */
html[data-hero="cat"] .hero-dog{mask-image:radial-gradient(ellipse 58% 88% at 50% 60%,#000 60%,transparent 100%),linear-gradient(#000 0 80%,transparent 100%)}
