:root{--paper:#f7f6ef;--ink:#203e31;--muted:#647267;--green:#254e3c;--lime:#d9e7a9;--line:#dce0d3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}.wrap{width:min(1200px,calc(100% - 100px));margin:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #ae783d;outline-offset:5px}.nav{display:flex;align-items:center;justify-content:space-between;height:112px;gap:30px}.brand{display:flex;align-items:center;gap:10px;font-size:26px;font-weight:800;letter-spacing:-1px}.brand-icon{display:grid;place-items:center;width:39px;height:39px;background:var(--green);color:var(--paper);border-radius:50%;font-size:29px}.brand-dot{font-size:11px;align-self:flex-start;margin:5px 0 0 -5px}.nav nav{display:flex;gap:30px;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--green);color:white;padding:19px 24px;border-radius:7px;font-size:14px;border:0;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#356b50;transform:translateY(-2px)}.button span{font-size:21px}.button.small{padding:12px 17px;font-size:12px;gap:22px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:35px;padding:45px 0 73px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:9px}.eyebrow>span{width:7px;height:7px;background:#78924e;border-radius:50%}h1{font-size:clamp(52px,5.6vw,80px);font-weight:500;letter-spacing:-4px;line-height:1.03;margin:29px 0 25px}h1 em{font-family:Georgia,serif;font-weight:400;color:#66834d;letter-spacing:-4px}p{font-size:15px;line-height:1.8;color:var(--muted)}.hero-copy>p{max-width:420px;margin-bottom:28px}.text-link{font-size:15px;margin-left:20px;white-space:nowrap}.hero-note{display:flex;align-items:center;gap:10px;margin-top:32px;color:var(--muted);font-size:11px}.mini-paw{font-size:25px;color:#7a8d58}.hero-art{position:relative;background:#e8ebdc;border-radius:46% 46% 14px 14px;min-height:530px;display:flex;align-items:center;justify-content:center}.dog-art{width:100%;max-height:520px}.art-label,.art-caption{position:absolute;font-size:8px;letter-spacing:1.8px;font-weight:bold;left:0;right:0;text-align:center;top:36px}.art-caption{top:auto;bottom:25px}.floating-card{position:absolute;display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fffdf5;border:1px solid #e7e7da;border-radius:10px;box-shadow:0 12px 28px #263d3010;transform:rotate(-5deg)}.floating-card strong{display:block;font-size:12px}.floating-card small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.card-top{top:125px;right:-18px}.status-icon{background:#e2eccb;border-radius:50%;padding:8px;color:#486334}.card-bottom{bottom:95px;left:-28px;transform:rotate(4deg)}.card-bottom>span{font-size:32px;color:#a87a47}.ribbon{background:var(--green);color:#e5edcf;padding:24px 0}.ribbon .wrap{display:flex;justify-content:space-between;align-items:center;font-size:14px}.ribbon span{color:#b5ca84;font-size:23px}.section{padding:95px 0}h2{font-size:44px;line-height:1.13;letter-spacing:-1.8px;font-weight:500;margin:20px 0 25px}.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:flex-end}.section-heading>p{max-width:340px;margin-bottom:30px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:36px}.features article{border-top:1px solid var(--line);padding-top:28px}.feature-icon{display:grid;place-items:center;width:46px;height:46px;background:#e8ecd9;border-radius:50%;font-size:24px;margin-bottom:26px}.number{font-size:9px;letter-spacing:1.6px;color:#77826c}h3{font-size:22px;line-height:1.35;font-weight:500;letter-spacing:-.5px}.features p,.steps p{font-size:13px}.fine{font-size:10px;margin-top:28px;color:#7b8477}.demo-section{background:#e9eddf;padding:80px 0}.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.demo-grid>div>p{max-width:390px}.tabs{margin-top:30px;max-width:390px}.tabs button{width:100%;display:flex;align-items:center;gap:20px;border:0;border-bottom:1px solid #cdd5c3;background:transparent;text-align:left;padding:20px 10px;color:#65735e;font-size:11px;cursor:pointer}.tabs button span{flex:1;font-size:14px}.tabs button[aria-selected=true]{color:var(--ink);background:#f6f7ef;border-radius:7px;border-color:transparent}.phone-stage{position:relative;display:flex;justify-content:center;background:#d6dfc4;border-radius:50% 50% 45% 45%;padding:30px 0}.phone{width:273px;min-height:510px;background:#fcfcf7;border:7px solid #254433;border-radius:37px;box-shadow:15px 25px 35px #203e3120;overflow:hidden;transform:rotate(5deg);padding:15px 17px 0}.phone-top{display:flex;justify-content:space-between;font-size:9px;font-weight:bold}.phone-brand{margin:25px 0 20px;font-family:Georgia,serif;font-size:24px;display:flex;gap:8px;align-items:center}.phone-brand span{font-family:Arial,sans-serif;font-size:10px;font-weight:bold}.phone h4{font-size:24px;line-height:1.2;letter-spacing:-.7px;margin:10px 0}.phone p{font-size:10px;line-height:1.5}.app-visual{height:105px;background:#dce6c7;border-radius:10px;padding:18px;margin:18px 0;font-size:43px;display:flex;align-items:center;justify-content:space-between}.app-visual span{font-size:11px;line-height:1.5;font-weight:bold}.app-card{border:1px solid #dce2d1;border-radius:8px;padding:12px;margin:10px 0;font-size:11px}.app-card strong{display:block;margin-bottom:7px}.app-card small{font-size:9px;color:#6c7865}.app-tag{display:inline-block;background:#e8ecd9;font-size:8px;padding:5px;border-radius:4px;margin-top:8px}.phone-nav{display:flex;justify-content:space-around;border-top:1px solid #dce2d1;margin-top:20px;padding:13px 0 10px;font-size:18px}.phone-nav span{text-align:center}.phone-nav small{display:block;font-size:7px;margin-top:3px}.stage-note{position:absolute;right:-22px;bottom:48px;font-family:Georgia,serif;font-style:italic;font-size:18px;transform:rotate(-8deg)}.stage-note i{display:block;font-size:35px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}.steps article{border-top:1px solid var(--line);padding-top:25px}.steps article>span{font-family:Georgia,serif;color:#7b9162;font-size:38px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:var(--green);color:var(--paper);padding:60px;border-radius:15px}.contact p{color:#c9d4c1;max-width:380px}.contact h2{font-size:41px}.contact label{display:block;font-size:11px;margin-bottom:9px}.contact input,.contact textarea{width:100%;border:1px solid #68806a;background:#ffffff08;color:white;border-radius:5px;padding:13px;margin-bottom:18px;font-size:12px}.contact input::placeholder,.contact textarea::placeholder{color:#aebfa9}.contact .button{background:var(--lime);color:var(--ink);width:100%}.contact .form-note{font-size:10px;line-height:1.6}.faq{max-width:900px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-size:15px}.faq details p{font-size:13px}footer{border-top:1px solid var(--line);padding:32px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}footer>span{font-size:10px;color:var(--muted)}footer>div{display:flex;gap:20px;font-size:10px}.legal{max-width:750px;min-height:70vh;padding:70px 0}.legal h1{font-size:50px}.legal p{font-size:15px}@media(min-width:1500px){.hero{padding-top:70px;padding-bottom:100px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.nav nav{gap:15px}.hero{gap:25px}h1{font-size:61px}.hero-art{min-height:450px}.text-link{display:block;margin:20px 0}.card-top{right:-8px}.card-bottom{left:-8px}.demo-grid{gap:45px}.stage-note{display:none}.contact{gap:35px;padding:40px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.nav{height:85px}.nav nav{display:none}.brand{font-size:23px}.nav .small{font-size:10px;padding:10px;gap:10px}.hero{grid-template-columns:1fr;padding-top:30px;gap:45px}h1{font-size:63px}.hero-art{min-height:400px;max-width:440px;width:100%;margin:auto}.hero-copy>p{max-width:100%}.dog-art{max-height:440px}.art-label{top:25px}.ribbon .wrap{font-size:10px;gap:12px;flex-wrap:wrap;justify-content:center}.ribbon span{font-size:15px}.ribbon span:last-child{display:none}.section{padding:65px 0}h2{font-size:36px}.section-heading{display:block}.section-heading>p{max-width:100%}.features,.steps{grid-template-columns:1fr;gap:25px}.features h3 br{display:none}.features article{position:relative;padding-left:65px}.feature-icon{position:absolute;left:0;top:28px}.features h3{margin:14px 0 10px}.demo-grid{grid-template-columns:1fr}.demo-section{padding:60px 0}.phone-stage{max-width:380px;width:100%;margin:auto}.contact{grid-template-columns:1fr;padding:30px 24px;gap:25px}.contact h2{font-size:35px}.steps{gap:25px}.steps h3{margin:12px 0}footer{flex-wrap:wrap}footer>span{width:100%;order:3}.faq h2{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.brand{font-size:21px;letter-spacing:-.7px}@media(max-width:700px){.brand{font-size:17px;gap:7px}.brand-icon{width:32px;height:32px;font-size:24px}.nav{gap:12px}}

/* Mobile typography: let text follow the available width. */
@media(max-width:700px){
 h1{font-size:clamp(42px,9vw,63px);letter-spacing:-2px;text-wrap:balance}
 h2,.contact h2,.faq h2{font-size:clamp(29px,7vw,36px);letter-spacing:-1px;text-wrap:balance}
 h3{text-wrap:balance}
 .hero h1 br,.section-heading h2 br,.demo-grid h2 br,.contact h2 br{display:none}
 .hero h1 em{display:block;letter-spacing:-2px;margin-top:.1em}
 .hero-copy>p,.section-heading>p,.demo-grid>div>p,.contact p,.features p,.steps p{overflow-wrap:break-word;hyphens:auto}
 .button{gap:18px;line-height:1.4}
 .contact .button{font-size:13px;padding:16px;gap:12px;text-align:left}
 .contact .button span{flex-shrink:0}
 .contact a[href^="mailto:"]{overflow-wrap:anywhere}
 .contact a[href^="tel:"]{white-space:nowrap}
 .contact p strong{display:block;line-height:1.5}
 .ribbon .wrap{column-gap:10px;row-gap:10px;line-height:1.5}
 .ribbon .wrap span{flex-shrink:0}
 .tabs button span{line-height:1.5}
 footer>div{flex-wrap:wrap}
}
@media(max-width:380px){
 .nav .brand{font-size:15px;letter-spacing:-.5px}
 .nav .small{font-size:10px;gap:6px;padding:9px}
 .contact{padding:28px 20px}
 .eyebrow{font-size:9px;letter-spacing:1.5px;line-height:1.6}
}

/* TestFlight access and support */
.skip-link{position:fixed;top:10px;left:10px;padding:12px 18px;background:var(--green);color:white;z-index:10;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.testflight-box{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;background:#e9eddf;border:1px solid var(--line);border-radius:18px;padding:42px;margin-top:30px}
.testflight-box h3{font-size:30px;margin:22px 0 12px}
.testflight-badge{display:inline-flex;letter-spacing:1.8px;font-size:10px;font-weight:700;background:#d4dfc0;padding:10px 12px;border-radius:30px}
.test-duration{font-size:13px;border-top:1px solid #cbd4bf;margin-top:22px;padding-top:18px}
.testflight-actions{align-self:center}.testflight-actions .button{width:100%}.access-note{font-size:13px;line-height:1.6;margin:16px 0 24px}
.store-link{font-size:13px;line-height:1.6;text-decoration:underline;text-underline-offset:4px;display:inline-block;padding:4px 0}
.testflight-actions .fine{margin-top:14px;font-size:11px;line-height:1.6}
.support-section{align-items:center}.support-details p{margin-top:0}.support-details a[href^="mailto:"]{overflow-wrap:anywhere}
.phone #app-content{min-height:315px}.phone .app-visual .visual-symbol{font-size:40px}.phone{transform:rotate(3deg)}
.fine{font-size:12px;line-height:1.6}.hero-note{font-size:12px}.faq details a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.testflight-box{gap:30px;padding:30px}.nav nav{gap:18px}.testflight-box h3{font-size:26px}}
@media(max-width:700px){.testflight-box{grid-template-columns:1fr;padding:28px 22px;gap:16px}.testflight-actions .button{justify-content:space-between}.testflight-section h2 br{display:none}.hero-note{line-height:1.6}.testflight-box h3{font-size:25px}.support-section{gap:20px}.support-details .button{margin-top:5px}.phone{transform:rotate(0)}.hero-art .floating-card{padding:13px 15px}.hero-art .card-top{right:-6px}.hero-art .card-bottom{left:-6px}}

/* Apple and Android test access */
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero-actions .button{gap:22px}
.button-outline{background:transparent;color:var(--green);border:1px solid var(--green)}
.button-outline:hover{background:#e9eddf;color:var(--green)}
.install-help{display:inline-block;margin:20px 0 0}
.android-section{border-top:1px solid var(--line)}
.android-box{background:#efeee2}
.android-box .testflight-badge{background:#dddcc7}
.android-data-note{max-width:850px}
.android-actions .store-link{overflow-wrap:anywhere}
@media(max-width:1000px){.nav nav{gap:14px}.nav{gap:20px}.hero-actions .button{padding:17px 18px;gap:16px}}
@media(max-width:700px){.hero-actions{align-items:stretch}.hero-actions .button{flex:1 1 190px}.hero-actions .button span{flex-shrink:0}.android-section h2 br{display:none}.android-box h3{text-wrap:balance}.install-help{margin-left:0}.android-data-note{font-size:12px}}
