/* Shared finishing details and a quiet motion system. */
.site-footer{background:#f1f2fc;color:var(--ink);padding:64px 0 25px;border-top:1px solid #e0e4f3}
.footer-main{display:grid;grid-template-columns:1.35fr 1fr .9fr 1.1fr;gap:46px;padding-bottom:48px}
.footer-brand .brand{font-size:31px}.footer-brand p{font-size:14px;line-height:1.75;color:#65718e;margin-top:17px}.footer-origin{display:block;font-size:11px;color:#78829c;margin-top:21px}
.footer-main h2{font:600 13px var(--body);letter-spacing:0;line-height:1.4;margin:5px 0 21px}
.footer-main nav>a{display:block;width:fit-content;font-size:12px;line-height:1.6;margin-top:13px;color:#5a6886}
.footer-contact p{font-size:12px;line-height:1.6;color:#65718e}.footer-contact>a{font-size:12px;display:inline-block;margin-top:12px;overflow-wrap:anywhere}.footer-contact .footer-contact-link{display:block;font-size:11px;color:#65718e;margin-top:22px}
.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}.site-footer .brand:hover{text-decoration:none}
.footer-bottom{border-top:1px solid #dce0ef;padding-top:23px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:10px;color:#66728f;line-height:1.6}.footer-bottom>div{display:flex;align-items:center;gap:26px}.motion-toggle{background:none;display:inline-flex;gap:7px;align-items:center;padding:8px 0;font-size:10px;color:#58678a;min-height:40px}.motion-toggle[hidden]{display:none}.motion-toggle:disabled{opacity:.85;cursor:default}
.legal-page .opening{background:#f1f2fc}.legal-hero{background:#f1f2fc;padding:34px 0 55px;border-bottom:1px solid #e1e4f2}.back-link{font-size:12px;color:#647190;text-decoration:underline;text-underline-offset:4px}.legal-hero h1{font-size:76px;letter-spacing:-3.5px;line-height:1.06;margin:31px 0 17px}.legal-subtitle{font-size:20px;line-height:1.6;color:#526184;max-width:650px}.legal-date{font-size:12px;color:#737e98;margin-top:24px}
.legal-layout{display:grid;grid-template-columns:245px minmax(0,760px);gap:100px;justify-content:start;align-items:start;padding-block:64px 96px}.legal-toc{position:sticky;top:32px}.legal-toc nav{display:flex;flex-direction:column;gap:13px}.legal-toc h2{font:600 12px var(--body);letter-spacing:0;margin-bottom:7px}.legal-toc nav a{font-size:12px;line-height:1.65;color:#6a7690;max-width:230px}.legal-toc a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.legal-help{border-top:1px solid #e5e8f2;padding-top:22px;margin-top:28px;display:inline-block;font-size:12px}.legal-help span{margin-left:12px}
.legal-content{min-width:0}.legal-summary{display:flex;align-items:center;gap:17px;background:#f2f4fc;padding:23px 26px;border-radius:14px;margin-bottom:42px}.legal-summary>span{font-size:35px;color:#6e80bb}.legal-summary p{font-size:14px;line-height:1.75;color:#526184;margin:0}
.legal-section{scroll-margin-top:32px;margin-top:43px}.legal-section:first-of-type{margin-top:0}.legal-section h2{font-size:29px;line-height:1.2;letter-spacing:-.8px;margin-bottom:17px}.legal-section p,.legal-section li{font-size:15px;line-height:1.85;color:#52607c}.legal-section p+p{margin-top:15px}.legal-section ul{padding-left:21px;margin:15px 0}.legal-section li{padding-left:4px;margin-top:9px}.legal-section strong{font-weight:650;color:#3b4c70}.legal-content a{color:#354f9b;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.legal-content a:hover{color:#203678}.legal-section code{font-size:12px;overflow-wrap:anywhere}.legal-table-wrap{max-width:100%;overflow-x:auto;margin:20px 0 24px}.legal-section table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;line-height:1.75;color:#52607c}.legal-section caption{text-align:left;font-size:12px;color:#75809a;padding-bottom:13px}.legal-section th{background:#f1f3fc;color:#3e4e73;font-weight:600}.legal-section th,.legal-section td{vertical-align:top;padding:15px 17px;border-bottom:1px solid #e3e7f1}.legal-section td:first-child{width:29%;font-weight:500}.legal-section table th:first-child{border-radius:8px 0 0 0}.legal-section table th:last-child{border-radius:0 8px 0 0}.legal-end{border-top:1px solid #e2e6f0;padding-top:27px;margin-top:48px;font-size:12px;line-height:1.8;color:#6d7992}.legal-end p{margin-bottom:5px}.legal-section .contact-email{font-family:var(--display);font-size:clamp(20px,2.9vw,36px);display:inline-block;margin:22px 0;letter-spacing:-.8px;overflow-wrap:anywhere}.contact-email>span{display:inline-block;margin-left:10px}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:21px}.contact-actions a{display:inline-flex;align-items:center;border:1px solid #d1d8ec;border-radius:30px;padding:10px 17px;font-size:12px;text-decoration:none;min-height:44px}.contact-actions a:hover{background:#f0f3fc}
/* A home that gently breathes, with a single arrival sequence. */
@keyframes home-arrive{from{opacity:0;transform:translate3d(0,22px,0) scale(.965)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes note-arrive{from{opacity:0;translate:0 14px;scale:.96}to{opacity:1;translate:0 0;scale:1}}
@keyframes message-arrive{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes budget-grow{from{transform:scaleX(.04)}to{transform:scaleX(1)}}
@keyframes listening-ring{0%,100%{box-shadow:0 0 0 0 #cf839300}50%{box-shadow:0 0 0 5px #cf839328}}
@media(prefers-reduced-motion:no-preference){
 .motion-enabled .home-arrival .scene-image-wrap picture{display:block;height:100%;animation:home-arrive 1.1s cubic-bezier(.22,1,.36,1) both}
 .motion-enabled .home-arrival .home-note{animation:note-arrive .65s cubic-bezier(.22,1,.36,1) both}
 .motion-enabled .home-arrival .note-groceries{animation-delay:.35s}.motion-enabled .home-arrival .note-chores{animation-delay:.55s}.motion-enabled .home-arrival .note-money{animation-delay:.75s}
 .motion-enabled .user-message,.motion-enabled .assistant-message,.motion-enabled .assistant-result{animation:message-arrive .28s cubic-bezier(.22,1,.36,1) both}
 .motion-enabled .budget-fill{transform-origin:left;animation:budget-grow .65s cubic-bezier(.22,1,.36,1) both}
 .motion-enabled .voice-button.listening{animation:listening-ring 1.6s ease-in-out infinite}
 .motion-enabled .scene-tooltip:not([hidden]),.motion-enabled dialog[open]{animation:message-arrive .22s ease-out both}
 .motion-enabled .button-icon,.motion-enabled .header-cta>span{transition:transform .22s ease}.motion-enabled .button:hover .button-icon,.motion-enabled .header-cta:hover>span{transform:translate(2px,-2px)}
}
html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1150px){.footer-main{gap:28px;grid-template-columns:1.2fr 1fr 1fr}.footer-contact{grid-column:1/-1;border-top:1px solid #dce0ef;padding-top:21px;display:flex;gap:22px;align-items:baseline;flex-wrap:wrap}.footer-contact h2{margin:0}.footer-contact>a,.footer-contact .footer-contact-link{margin:0}.legal-layout{gap:55px;grid-template-columns:210px minmax(0,1fr)}.legal-hero h1{font-size:65px}}
@media(max-width:800px){.site-footer{padding:44px 0 20px}.footer-main{grid-template-columns:1fr 1fr;gap:34px 24px;padding-bottom:28px}.footer-brand{grid-column:1/-1}.footer-brand p{margin-top:12px}.footer-origin{margin-top:12px}.footer-contact{display:block}.footer-contact h2{margin-bottom:14px}.footer-contact>a{margin-top:10px}.footer-contact .footer-contact-link{margin-top:15px}.footer-main nav>a{font-size:12px;margin-top:15px}.footer-main h2{font-size:12px;margin-bottom:16px}.footer-bottom{display:block;padding-top:21px}.footer-bottom>div{margin-top:13px;justify-content:space-between;gap:14px}.legal-hero{padding:24px 0 36px}.legal-hero h1{font-size:48px;letter-spacing:-2px;margin-top:25px}.legal-subtitle{font-size:17px}.legal-date{font-size:11px;margin-top:18px}.legal-layout{display:block;padding-block:32px 60px}.legal-toc{position:static;padding-bottom:25px;margin-bottom:31px;border-bottom:1px solid #e2e6f0}.legal-toc nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px 18px}.legal-toc h2{width:100%;margin-bottom:3px}.legal-toc nav a{font-size:11px;max-width:none}.legal-help{margin-top:15px;border-top:0;padding:0}.legal-summary{padding:18px;margin-bottom:31px}.legal-summary p{font-size:13px}.legal-section h2{font-size:25px}.legal-section p,.legal-section li{font-size:14px;line-height:1.85}.legal-section{margin-top:35px}.legal-section td,.legal-section th{padding:12px 10px;font-size:12px}.legal-section td:first-child{width:32%}.legal-page .header{gap:12px}.legal-end{font-size:11px}}
@media(max-width:390px){.legal-hero h1{font-size:42px}.footer-main{gap:28px 16px}.footer-main h2{line-height:1.6}.legal-section .contact-email{font-size:22px}.footer-bottom{font-size:9px}.motion-toggle{font-size:9px}}

@media print{.legal-page .header,.legal-page .site-footer,.legal-toc,.back-link,.legal-help{display:none!important}.legal-hero{background:white;padding:0 0 20px;border-bottom:1px solid #ccc}.legal-hero h1{font-size:34px;letter-spacing:-1px;margin-top:0}.legal-hero .wrap,.legal-layout{width:100%;max-width:none}.legal-layout{display:block;padding:25px 0}.legal-summary{background:none;padding:0;margin-bottom:24px}.legal-summary>span{display:none}.legal-section h2{font-size:21px;break-after:avoid}.legal-section p,.legal-section li{font-size:11pt;line-height:1.6;color:#222}.legal-section{margin-top:25px}.legal-section table{font-size:10pt}.legal-table-wrap{overflow:visible}tr{break-inside:avoid}.legal-content a{color:#222}.legal-hero .legal-date{color:#444}}

/* Ambient home motion remains visible after the entrance has finished. */
.hero-motion{margin-top:10px;font-size:11px;gap:8px;color:#52608b;text-decoration:underline;text-underline-offset:4px}
.paper-task{position:relative;display:inline-block}.life-note>p{text-decoration:none}
.paper-task:after{content:"";position:absolute;left:-2%;right:-2%;height:2px;top:54%;background:#bc735ca6;transform:rotate(-2deg);transform-origin:left center}
.scene-image-wrap picture{display:block;height:100%}
@keyframes home-breathe{0%,100%{translate:0 4px}50%{translate:0 -10px}}
@keyframes note-float{0%,100%{translate:0 5px}50%{translate:0 -8px}}
@keyframes paper-cross{0%,12%{scale:0 1}100%{scale:1 1}}
@keyframes paper-release{from{opacity:.2;translate:0 8px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:no-preference){
 .motion-enabled .home-image{animation:home-breathe 7s ease-in-out infinite;animation-play-state:paused}
 .motion-enabled .home-note{animation:note-float 5s ease-in-out infinite;animation-play-state:paused}
 .motion-enabled .note-chores{animation-delay:-1.7s}.motion-enabled .note-money{animation-delay:-3.4s}
 .motion-enabled .motion-in-view .home-image,.motion-enabled .motion-in-view .home-note{animation-play-state:running}
 .motion-enabled .home-note:hover,.motion-enabled .home-note:focus-visible,.motion-enabled .home-note[aria-expanded=true]{animation-play-state:paused}
 .motion-enabled .home-arrival .home-note{animation-name:note-arrive,note-float;animation-duration:.65s,5s;animation-timing-function:cubic-bezier(.22,1,.36,1),ease-in-out;animation-iteration-count:1,infinite;animation-fill-mode:both,none;animation-delay:.35s,1s}
 .motion-enabled .home-arrival .note-chores{animation-delay:.55s,1.2s}.motion-enabled .home-arrival .note-money{animation-delay:.75s,1.4s}
 .motion-enabled .life-note.motion-in-view .paper-task:after{animation:paper-cross .65s cubic-bezier(.22,1,.36,1) both}
 .motion-enabled .life-note.motion-in-view .paper-task:nth-of-type(2):after{animation-delay:.45s}
 .motion-enabled .life-note.motion-in-view .paper-task:nth-of-type(3):after{animation-delay:.9s}
 .motion-enabled .life-note.motion-in-view .paper-task:nth-of-type(4):after{animation-delay:1.35s}
 .motion-enabled .life-note.motion-in-view .note-bottom{animation:paper-release .65s 1.8s both}
 .motion-background .home-image,.motion-background .home-note{animation-play-state:paused!important}
}

/* Reuse the app's original icon assets across every brand surface. */
.brand-icon{display:block;width:36px;height:36px;flex-shrink:0;margin-right:10px;border-radius:9px}
.intro-app-icon{display:block;border-radius:6px;flex-shrink:0}
.assistant-avatar.app-avatar{display:block;border-radius:11px;object-fit:contain;flex-shrink:0}
.legal-app-icon{display:block;border-radius:10px;flex-shrink:0}
@media print{.legal-app-icon{display:none}}

.closing-app-icon{display:block;width:72px;height:72px;margin:0 auto 16px;border-radius:18px}
