@font-face{font-family:Lora;src:url('assets/Lora.ttf') format('truetype');font-display:swap;font-weight:400 700}@font-face{font-family:Nunito;src:url('assets/NunitoSans.ttf') format('truetype');font-display:swap;font-weight:200 900}:root{--olive:#414d30;--cream:#fff5e8;--paper:#fffcf6;--ink:#242d1c;--sage:#d5d9be;--clay:#a45f46}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Nunito,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--clay);outline-offset:5px}header,main>section,footer{max-width:1440px;margin:auto}header{height:112px;display:flex;justify-content:space-between;align-items:center;padding:0 6%}.logo{object-fit:contain;display:block}nav{display:flex;gap:36px;align-items:center;font-weight:650;font-size:14px}.nav-login{border:1px solid #414d3030;border-radius:40px;padding:12px 22px}.nav-login span{margin-left:18px}.hero{padding:55px 6% 80px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;min-height:700px}.intro{font-size:13px;font-weight:650;display:flex;gap:10px;align-items:center;margin-bottom:26px}.small-symbol{font-size:22px;color:var(--clay)}h1,h2{font-family:Lora,Georgia,serif;font-weight:500;letter-spacing:-.055em;margin:0;line-height:1.07}h1{font-size:clamp(56px,6.4vw,92px)}em{font-weight:400;color:var(--olive)}h1 em{position:relative}h1 em:after{content:'';position:absolute;bottom:-7px;left:0;width:100%;height:7px;border-top:2px solid var(--clay);border-radius:60%}.hero-copy>p{font-size:18px;line-height:1.65;margin:30px 0}.hero-actions{display:flex;gap:28px;align-items:center}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;background:var(--olive);color:var(--paper);border-radius:50px;padding:17px 25px;font-size:15px;font-weight:700;min-height:54px;transition:transform .2s,background .2s}.button:hover{background:#303c21;transform:translateY(-2px)}.button span{font-size:23px;line-height:1}.text-link{font-size:14px;border-bottom:1px solid #414d3066;padding:8px 0}.text-link span{margin-left:10px}.hero-scene{position:relative;height:595px;isolation:isolate;display:flex;align-items:center;justify-content:center}.arch{position:absolute;inset:20px 0 0 8%;border-radius:48% 48% 8px 8px;background:#e8e9d7;z-index:-1}.phone{width:290px;background:var(--paper);border:6px solid var(--olive);border-radius:38px;padding:15px 17px 13px;box-shadow:0 25px 35px #242d1c18;transform:rotate(3deg);position:relative;z-index:1}.phone-top{display:flex;justify-content:space-between;font-size:10px;padding:0 6px 23px;font-weight:800}.phone-heading{display:flex;justify-content:space-between;align-items:center}.avatar-group{display:flex;padding-right:5px}.avatar-group span{width:29px;height:29px;border-radius:50%;background:var(--sage);border:2px solid var(--paper);display:grid;place-items:center;font-size:10px;font-weight:700;margin-right:-5px}.avatar-group span+span{background:#eed3be}.home-name{font-size:11px;font-weight:800;margin:14px 0 20px}.home-name span{margin-left:7px}.sample-date{font-size:9px;color:#65705a}.phone-title{font-family:Lora;font-size:20px;letter-spacing:-.7px;margin:5px 0 20px}.mini-calendar{display:flex;justify-content:space-between;margin-bottom:23px}.mini-calendar span{display:flex;flex-direction:column;align-items:center;font-size:8px;gap:6px;padding:7px 8px;border-radius:20px}.mini-calendar b{font-size:11px}.mini-calendar .selected{background:var(--olive);color:var(--paper)}.today-label{font-size:12px;font-weight:800;display:flex;justify-content:space-between}.today-label span{font-weight:400;font-size:9px}.sample-item{display:flex;gap:9px;align-items:center;padding:17px 0;border-bottom:1px solid #414d3012;font-size:11px;font-weight:700}.sample-item>span:last-child{margin-left:auto}.sample-item small{display:block;font-size:9px;font-weight:400;color:#69725f;margin-top:3px}.item-icon{border-radius:9px;background:#e5e8db;display:grid;place-items:center;width:31px;height:33px;color:var(--olive);font-size:16px}.item-icon.clay{background:#f3e6df;color:var(--clay);font-size:10px}.item-icon.tan{background:#f2ead8;color:#82724b}.person{background:var(--sage);width:21px;height:21px;border-radius:50%;display:grid;place-items:center;font-size:8px}.phone-bottom{display:flex;justify-content:space-between;margin-top:22px;font-size:18px;text-align:center;color:#7e8575}.phone-bottom small{display:block;font-size:7px;margin-top:3px}.phone-bottom .active{color:var(--olive)}.paper-note{position:absolute;top:18px;left:0;transform:rotate(-9deg);background:#f2e6cd;padding:23px 20px;box-shadow:0 8px 16px #242d1c0c;width:200px;z-index:2;display:flex;flex-direction:column;gap:8px;font-size:13px}.paper-note:before{content:'';width:60px;height:20px;background:#d5d9be99;position:absolute;top:-9px;left:65px;transform:rotate(5deg)}.crossed{text-decoration:line-through;color:#8e8672;font-size:12px}.handwritten{font-family:Lora;font-style:italic;font-size:13px;color:var(--olive)}.floating-bill{position:absolute;right:-3%;bottom:93px;z-index:2;background:var(--paper);border:1px solid #414d3015;border-radius:15px;padding:16px 20px;display:flex;gap:13px;align-items:center;font-size:13px;box-shadow:0 12px 30px #242d1c14;transform:rotate(-5deg)}.floating-bill small{display:block;font-size:10px;color:#68735b;margin-top:4px}.tick{width:28px;height:28px;display:grid;place-items:center;background:var(--sage);border-radius:50%}.scene-caption{position:absolute;bottom:11px;left:21%;font-size:11px;color:#677057}.feature-strip{padding:28px 6%;border-block:1px solid #414d3020;display:flex;justify-content:center;gap:34px;align-items:center;font-size:14px;color:var(--olive)}.feature-strip i{font-style:normal;color:#a1ab8c}.inside{padding:110px 6%}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}h2{font-size:clamp(38px,4.4vw,62px)}.section-top p{font-size:17px;line-height:1.7;margin:0 10% 0 20px}.explorer{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--cream);border-radius:14px;overflow:hidden}.explore-menu{padding:38px;display:flex;justify-content:center;flex-direction:column}.explore-menu button{background:none;text-align:left;border:0;border-bottom:1px solid #414d3025;color:#6e765f;padding:25px 0;display:flex;align-items:center;gap:16px;font-size:19px;cursor:pointer;min-height:65px}.explore-menu button>span:first-child{font-size:11px}.explore-menu button .arrow{margin-left:auto}.explore-menu button[aria-selected=true]{color:var(--olive);font-weight:800}.demo-area{background:#e7e9db;min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px}.demo-caption{font-size:10px;color:#5e6854;margin-top:18px}#demo{background:var(--paper);border-radius:14px;width:100%;max-width:365px;min-height:280px;padding:25px;box-shadow:0 12px 25px #414d300c}.demo-title{display:flex;justify-content:space-between;font-size:17px;font-weight:800;margin-bottom:7px}.demo-sub{font-size:11px;color:#6d765f;margin-bottom:15px}.demo-row{display:flex;align-items:center;gap:11px;border-bottom:1px solid #414d3015;padding:13px 0;font-size:13px}.demo-row .amount{margin-left:auto;font-weight:750}.demo-row small{display:block;font-size:10px;color:#6d765f;margin-top:3px}.check{width:23px;height:23px;border:1px solid #818c71;border-radius:50%;background:none;color:var(--paper);cursor:pointer;flex-shrink:0;display:grid;place-items:center;padding:0}.check:before{content:'';position:absolute;width:44px;height:44px}.check[aria-pressed=true]{background:var(--olive);border-color:var(--olive)}.demo-row.done .row-text{text-decoration:line-through;color:#7c836f}.tag{margin-left:auto;background:#e8ebdf;padding:5px 8px;border-radius:12px;font-size:9px;color:var(--olive)}.demo-total{margin-top:18px;padding-top:15px;border-top:1px solid #414d3030;display:flex;justify-content:space-between;font-size:12px}.demo-total strong{font-size:20px;font-family:Lora}.event-day{width:31px;font-weight:800;font-size:15px;flex-shrink:0}.event-day small{font-size:8px;margin:0}.together{padding:45px 6% 115px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.together-art{position:relative;background:var(--cream);min-height:390px;border-radius:50% 50% 8px 8px;display:grid;place-items:center}.big-symbol{padding-top:10px}.bubble{position:absolute;border-radius:18px 18px 18px 3px;padding:13px 20px;font-size:15px;background:var(--paper);box-shadow:0 8px 20px #414d3008;transform:rotate(-7deg)}.b1{left:6%;top:18%}.b2{right:0;top:30%;transform:rotate(6deg);background:var(--sage)}.b3{left:0;bottom:24%;transform:rotate(-5deg)}.b4{right:4%;bottom:9%;transform:rotate(5deg);background:var(--sage)}.together-copy h2{font-size:clamp(36px,3.5vw,49px)}.together-copy p{font-size:17px;line-height:1.75;max-width:370px;margin:28px 0}.details-section{padding:75px 6% 110px;border-top:1px solid #414d3020;display:grid;grid-template-columns:1fr 1.15fr;gap:70px}.details-section h2{font-size:42px}.faqs details{border-bottom:1px solid #414d3025}.faqs summary{display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;font-size:16px;font-weight:650;padding:22px 0;gap:20px;min-height:64px}.faqs summary::-webkit-details-marker{display:none}.faqs summary span{font-size:22px;font-weight:400}.faqs details[open] summary span{transform:rotate(45deg)}.faqs p{font-size:14px;line-height:1.7;color:#59644d;margin:0 35px 22px 0}.final-cta{background:var(--olive);color:var(--paper);text-align:center;padding:65px 20px 70px;max-width:none}.final-cta img{filter:brightness(0) invert(1);opacity:.8;margin-bottom:25px}.final-cta h2{font-size:clamp(48px,5.5vw,76px)}.final-cta em{color:var(--cream)}.button.light{background:var(--cream);color:var(--olive);margin:34px 0 24px}.button.light:hover{background:white}.final-cta>span{display:block;font-size:12px;color:var(--sage)}footer{display:flex;justify-content:space-between;align-items:center;padding:35px 6%;font-size:12px}footer p{color:#65705a}footer>a:last-child{border-bottom:1px solid #414d3030}.skip{position:absolute;top:-100px;left:15px;padding:12px;background:var(--olive);color:white;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.feature-strip{padding-inline:calc((100% - 1260px)/2)}}@media(max-width:1000px){.hero{gap:0;padding-top:30px}.hero-scene{transform:scale(.9);transform-origin:center right}.paper-note{left:-10px}.floating-bill{right:-5%}.feature-strip{gap:22px}.explore-menu{padding:25px}.explore-menu button{font-size:16px}.together{gap:40px}.details-section{gap:40px}}@media(max-width:760px){header{height:85px;padding-inline:6%}.logo{width:145px;height:auto}nav{gap:18px}.nav-link{display:none}.nav-login{padding:10px 16px;font-size:12px}.hero{grid-template-columns:1fr;padding-top:28px;padding-bottom:30px}.hero-copy{text-align:center}.intro{justify-content:center;font-size:12px;margin-bottom:22px}h1{font-size:clamp(52px,10.5vw,76px);line-height:1.08}.hero-copy>p{font-size:16px;margin:26px 0}.hero-actions{justify-content:center;gap:23px}.button{font-size:14px;padding:16px 23px;gap:24px}.hero-scene{transform:none;height:550px;max-width:410px;width:100%;margin:45px auto 0}.phone{width:270px;transform:rotate(3deg) scale(.95)}.arch{inset:15px 0 0}.paper-note{left:-1%;top:6px;width:165px;padding:18px 14px;font-size:11px}.paper-note span{font-size:11px}.floating-bill{right:0;bottom:61px;padding:12px 14px;font-size:11px}.floating-bill small{font-size:9px}.scene-caption{left:0;width:100%;text-align:center;bottom:10px}.feature-strip{gap:14px;padding:22px 6%;flex-wrap:wrap;font-size:12px}.feature-strip i{font-size:10px}.feature-strip i:nth-of-type(3){display:none}.inside{padding:60px 6%}.section-top{display:block;margin-bottom:30px}.section-top h2{font-size:43px}.section-top p{font-size:15px;line-height:1.6;margin:20px 0 0}.section-top p br{display:none}.explorer{grid-template-columns:1fr}.explore-menu{padding:8px 20px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.explore-menu button{font-size:12px;gap:7px;padding:15px 0}.explore-menu button>span:first-child{font-size:9px}.explore-menu button .arrow{font-size:14px}.demo-area{padding:27px 20px;min-height:370px}#demo{padding:22px;min-height:270px}.together{padding:0 6% 65px;grid-template-columns:1fr;gap:40px}.together-art{min-height:340px;max-width:440px;width:100%;margin:auto}.big-symbol img{width:140px;height:140px}.bubble{font-size:12px;padding:13px 15px}.together-copy h2{font-size:39px}.together-copy p{font-size:16px;max-width:none;margin:22px 0}.details-section{padding:45px 6% 65px;grid-template-columns:1fr;gap:25px}.details-section h2{font-size:37px}.faqs summary{font-size:14px}.final-cta{padding:50px 6%}.final-cta h2{font-size:52px}footer{flex-wrap:wrap;gap:17px;padding-block:25px}footer .logo{width:125px}footer p{order:3;width:100%;margin:0;font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Motion is progressive: content remains readable without JavaScript. */
@media(prefers-reduced-motion:no-preference){
 .hero-copy .intro{animation:arrive .65s both .05s}
 .hero-copy h1{animation:arrive .85s both .15s}
 .hero-copy>p{animation:arrive .75s both .3s}
 .hero-actions{animation:arrive .75s both .4s}
 .arch{animation:arch-arrive 1.1s both .1s}
 .phone{animation:phone-arrive 1s both .25s,phone-settle 3s ease-in-out 1.25s}
 .paper-note{animation:note-arrive .85s both .65s}
 .floating-bill{animation:bill-arrive .8s both 1.65s}
 .floating-bill .tick{animation:tick-pop .5s both 2.2s}
 .phone .sample-item{animation:arrive .6s both 1s}
 .phone .sample-item:nth-of-type(9){animation-delay:1.15s}
 .phone .sample-item:nth-of-type(10){animation-delay:1.3s}
 .scene-caption{animation:arrive .7s both 1.8s}
 .reveal{opacity:0;translate:0 24px;transition:opacity .8s ease,translate .8s cubic-bezier(.2,.7,.2,1)}
 .reveal.visible{opacity:1;translate:0 0}
 .reveal:nth-child(2){transition-delay:80ms}
 .reveal:nth-child(3){transition-delay:140ms}
 .check{transition:background .2s,border-color .2s,scale .2s}
 .check:active{scale:.86}
 .check[aria-pressed=true]{animation:check-pop .3s ease}
 .explore-menu button{transition:color .2s}
 .explore-menu button .arrow,.nav-login span,.text-link span{display:inline-block;transition:translate .25s}
 .explore-menu button:hover .arrow,.nav-login:hover span{translate:3px -3px}
 .text-link:hover span{translate:0 4px}
 .button span{transition:translate .25s}
 .button:hover span{translate:3px -3px}
 @keyframes arrive{from{opacity:0;translate:0 17px}to{opacity:1;translate:0 0}}
 @keyframes arch-arrive{from{opacity:0;scale:.96;translate:0 20px}to{opacity:1;scale:1;translate:0 0}}
 @keyframes phone-arrive{from{opacity:0;translate:0 35px}to{opacity:1;translate:0 0}}
 @keyframes phone-settle{0%,100%{translate:0 0}50%{translate:0 -8px}}
 @keyframes note-arrive{from{opacity:0;translate:-15px -12px}to{opacity:1;translate:0 0}}
 @keyframes bill-arrive{from{opacity:0;translate:18px 14px}to{opacity:1;translate:0 0}}
 @keyframes tick-pop{0%{scale:.5}65%{scale:1.14}100%{scale:1}}
 @keyframes check-pop{50%{scale:1.13}100%{scale:1}}
}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;translate:none}*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
/* Shared vector icons render consistently, including on iOS. */
.icon-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.icon{display:inline-block;width:1.15em;height:1.15em;flex:none;vertical-align:-.16em;overflow:visible;pointer-events:none}
.small-symbol{width:20px;height:20px;object-fit:contain}
.feature-strip{gap:clamp(22px,4vw,58px)}
.feature-item{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;min-width:0}
.feature-item>.icon{width:19px;height:19px}
.status-icons{display:flex;gap:4px;align-items:center}
.status-icons .icon{width:12px;height:12px}
.phone-bottom .icon{width:17px;height:17px}
.phone-bottom>span{display:flex;flex-direction:column;align-items:center;gap:3px}
.phone-bottom small{margin:0}
.sample-item .icon{width:14px;height:14px}
.item-icon .icon{width:17px;height:17px}
.tick .icon{width:16px;height:16px}
.home-name .icon{width:12px;height:12px;margin-left:0}
.button{white-space:normal}
.button>span{display:inline-flex;align-items:center}
.button .icon{width:20px;height:20px}
.demo-title>span{display:flex;align-items:center}
.demo-title .icon{width:19px;height:19px}
.check{position:relative}
.check .icon{width:15px;height:15px}
.handwritten .icon,.bubble .icon{width:14px;height:14px}
.section-top p{max-width:32ch;line-height:1.75}
footer>a:last-child{display:inline-flex;align-items:center;gap:5px}
@media(max-width:760px){
 header{gap:12px;height:82px}
 .nav-login{display:inline-flex;align-items:center;min-height:44px;gap:12px}
 .nav-login span{margin:0;display:inline-flex}
 nav{flex-shrink:0}
 .hero{padding-top:22px}
 .hero-actions{gap:20px;flex-wrap:wrap}
 .hero-scene{margin-top:34px}
 .feature-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;padding:21px 5%;}
 .feature-item{flex-direction:column;justify-content:center;gap:9px;font-size:clamp(10px,2.9vw,12px);line-height:1.2}
 .feature-item>.icon{width:20px;height:20px}
 .inside{padding-top:44px;padding-bottom:48px}
 .section-top{margin-bottom:26px}
 .section-top h2{font-size:clamp(35px,10vw,43px);line-height:1.13}
 .section-top p{font-size:15px;margin-top:20px;max-width:34ch;line-height:1.75}
 .explore-menu{gap:0 22px;padding:4px 20px}
 .explore-menu button{min-height:62px;font-size:14px;gap:10px;line-height:1.25}
 .explore-menu button>span:first-child{font-size:10px}
 .explore-menu button .arrow{display:inline-flex}
 .explore-menu .icon{width:16px;height:16px}
 .demo-area{padding:24px 18px;min-height:365px}
 .demo-title{font-size:17px;line-height:1.4;gap:10px}
 .demo-sub{font-size:12px;line-height:1.6;margin-bottom:10px}
 .demo-row{min-height:54px;gap:12px}
 .demo-row .row-text{min-width:0}
 .demo-caption{font-size:10px;line-height:1.5;text-align:center}
 .check:before{inset:50% auto auto 50%;translate:-50% -50%}
 .faqs summary{gap:15px}
 .faqs summary>span{display:flex;flex-shrink:0}
 .faqs .icon{width:19px;height:19px}
 .explorer,.demo-area,#demo,.hero-copy,.hero-scene{min-width:0}
 .paper-note{left:0}
}
@media(max-width:360px){
 header .logo{width:130px}
 .hero-actions{gap:16px}
 .hero-actions .button{padding-inline:20px;font-size:13px;gap:18px}
 .hero-actions .text-link{font-size:13px}
 .hero-scene{height:525px}
 .phone{scale:.92}
 .paper-note{width:145px;padding:16px 12px;top:10px}
 .paper-note span{font-size:10px}
 .floating-bill{padding:10px 12px;bottom:50px}
 .explore-menu{padding-inline:16px;column-gap:18px}
 .explore-menu button{font-size:13px}
 #demo{padding:18px}
}

/* Household pricing */
.pricing-section{padding:80px 6%;border-top:1px solid #414d3026;scroll-margin-top:24px}
.pricing-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0 24px}
.pricing-option{padding:32px;border:1px solid #414d3033;border-radius:20px;position:relative;min-width:0}
.pricing-option.annual{background:var(--cream);border-color:var(--olive)}
.pricing-option h3{font-size:20px;margin:0 0 20px}.pricing-option p{line-height:1.7}
.pricing-option .plan-price{font-family:Lora,serif;font-size:42px;color:var(--olive);margin:0 0 12px}
.plan-price span{font-family:Nunito,system-ui,sans-serif;font-size:16px;margin-left:6px}
.plan-label{display:inline-block;font-size:12px;font-weight:750;color:var(--olive);margin-bottom:16px}
.extra-price{font-weight:750}.pricing-footnote{font-size:14px;line-height:1.7;max-width:70ch;margin:12px 0}.pricing-section>.text-link{display:inline-flex;min-height:44px;align-items:center;gap:12px;margin-top:12px}
@media(max-width:760px){.pricing-section{padding:48px 6%}.pricing-options{grid-template-columns:1fr;gap:16px}.pricing-option{padding:24px}.pricing-option .plan-price{font-size:36px}}

.waitlist-section{padding:65px 6%;border-top:1px solid #414d3020;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.waitlist-section p{line-height:1.7;font-size:16px;max-width:32ch}.waitlist-section form>label:first-child{display:block;font-size:14px;font-weight:700;margin-bottom:10px}.waitlist-section input[type=email]{font:inherit;font-size:16px;background:var(--paper);border:1px solid #414d3060;border-radius:12px;width:100%;padding:16px;min-height:54px;color:var(--ink)}.waitlist-section input:focus-visible{outline:3px solid var(--sage);outline-offset:2px}.waitlist-consent{display:flex;gap:11px;font-size:13px;line-height:1.6;align-items:flex-start;margin:18px 0 22px;cursor:pointer}.waitlist-consent input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--olive);flex:none}.waitlist-consent a{text-decoration:underline;text-underline-offset:3px}.waitlist-section button{border:0;cursor:pointer;font:inherit;font-size:15px;font-weight:700}.waitlist-section button:disabled{opacity:.65;cursor:wait}.waitlist-status{min-height:24px;max-width:none!important;font-size:14px!important;margin:12px 0 0}.waitlist-status[data-error=true]{color:#8c3c28}.waitlist-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.waitlist-section form{min-width:0}.waitlist-section .button{min-width:190px}@media(max-width:760px){.waitlist-section{grid-template-columns:1fr;gap:26px;padding-block:45px}.waitlist-section h2{font-size:40px}.waitlist-section p{max-width:34ch}.waitlist-section .button{width:100%;justify-content:center;gap:24px}.waitlist-consent{padding-block:4px}}
