/* A shared finish across the homepage, landing pages and demo wrapper. */
:root { --secondary:#b2bfcd; --muted:#91a2b4; --polish-ease:cubic-bezier(.22,.68,.2,1); }
body { text-rendering:optimizeLegibility; }
main { overflow:clip; }
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
.site-header { border-bottom-color:rgba(178,203,219,.055); }
.site-header.is-scrolled { box-shadow:0 10px 35px #0002; }
.reading-progress { position:absolute; bottom:0; left:0; width:100%; height:2px; background:linear-gradient(90deg,#4d9f87,var(--mint),#c7f7e5); transform:scaleX(0); transform-origin:left; pointer-events:none; opacity:.8; }
.desktop-nav a,.login-link { font-size:13px; color:#b0bdca; }
.button { font-size:14px; font-weight:550; border-radius:13px; }
.button-small { font-size:12px; }
.button-primary { box-shadow:inset 0 1px 0 #e4fff966,0 4px 16px #0001; }
.button-primary:hover { box-shadow:inset 0 1px 0 #effffa88,0 9px 30px #8cd7bc20; }
.text-link { font-size:14px; }
.eyebrow,.micro-label { color:#a4b8c9; font-size:11px; letter-spacing:.12em; }
.everyday-home .hero-copy > .eyebrow { font-size:10px; }
.everyday-home .hero-description { font-size:17px; max-width:470px; }
.everyday-home .hero-note { color:#aebecb; font-size:12px; line-height:1.8; }
.service-line { padding-block:25px; }
.service-line p,.service-line > span { font-size:12px; color:#b1c2cb; }
.section { padding-block:100px; }
.two-column-heading { gap:64px; }
.two-column-heading > p { font-size:16px; max-width:410px; }
.benefit-card { background:linear-gradient(140deg,#16302b60,#111b2860); border-color:#accfc526; }
.benefit-card,.audience-card,.related-grid a { transition:border-color .25s,background .25s,box-shadow .25s,transform .35s var(--polish-ease); }
.benefit-card p,.audience-card p,.journey-differences p,.journey-benefits p { font-size:15px; line-height:1.8; }
.benefit-card:focus-visible { outline-offset:5px; }
.benefit-card:hover { border-color:#a8e1c96b; box-shadow:0 14px 40px #0002; }
.audience-card:hover { background:linear-gradient(120deg,#8cd7bc06,transparent); }
.audience-card:hover .text-link .icon,.related-grid a:hover .icon { transform:translateX(4px); }
.display-scene { box-shadow:0 16px 38px #0003; transition:border-color .35s,box-shadow .35s; }
.display-scene img { transition:transform .9s var(--polish-ease); }
.display-scene:hover { border-color:#9cd8c15c; box-shadow:0 20px 44px #0005; }
.display-scene:hover img { transform:scale(1.025); }
.display-scene figcaption span { font-size:10px; letter-spacing:.08em; }
.display-scene figcaption strong { font-size:15px; }
.stage-note,.screen-caption,.widget-preview-label,.notification-art-caption { font-size:11px; color:#9cafbf; }
.provider-grid { gap:12px; border:0; }
.provider-grid > li { border:1px solid var(--line); border-radius:14px; background:#101b2480; transition:background .3s,border-color .3s,transform .3s; }
.provider-grid > li:hover { background:#142923; border-color:#8cd7bc66; transform:translateY(-2px); }
.provider-heading > span,.provider-testing small { font-size:12px; }
.provider-heading { gap:25px; }
.compatibility-help { border-radius:0 15px 15px 0; }
.hardware-notice { margin-block:30px; }
.hardware-notice p,.hardware-description,.hardware-requires { font-size:14px; }
.hardware-seller,.hardware-route { font-size:12px; }
.hardware-card { transition:border-color .3s,box-shadow .3s,transform .35s var(--polish-ease); }
.hardware-card:hover { border-color:#9ac7b965; box-shadow:0 14px 35px #0004; }
.hardware-photo img { transition:transform .7s var(--polish-ease); }
.hardware-card:hover .hardware-photo img { transform:scale(1.03); }
.hardware-credit { font-size:12px; color:#9cafbd; }
.feature-content > span,.notification-details p,.steps p { font-size:15px; color:#adbdcc; }
.feature-content strong { font-size:22px; }
.beta-invitation p,.beta-invitation p.beta-note { font-size:13px; color:#b3c4d0; }
.notification-silent { font-size:12px; color:#a5b9c5; }
.notification-message-body p { color:#b8c8d2; font-size:12px; }
.notification-critical { font-size:10px; }
.notification-message { transition:transform .6s var(--polish-ease),box-shadow .6s; }
.notification-art:hover .notification-message { transform:rotateY(0) rotateX(0); box-shadow:0 28px 70px #0005; }
.steps h3 { font-size:24px; }
.steps .text-link { font-size:14px; }
.scope-note,.fit-note p,.journey-hero-note,.scenario-note,.timeline-note,.conversion-actions .conversion-small { font-size:12px; line-height:1.85; }
.scope-note { color:#adbdc9; }
.journey-hero { gap:75px; padding-bottom:78px; }
.journey-hero h1 { font-size:clamp(44px,4.65vw,67px); }
.journey-description { color:#c0ccd7; }
.journey-phone-visual > img { box-shadow:0 25px 75px #0006,inset 0 0 0 1px #dbefff33; }
.visual-orbit { border-color:transparent; background:radial-gradient(ellipse,#4b9b7e25,transparent 66%); }
.journey-visual figcaption { color:#a7b9c6; font-size:11px; max-width:440px; }
.visual-label { background:#172b28; color:#d0eddf; border-color:#a8d1c43d; box-shadow:0 12px 32px #0004; font-size:12px; }
.journey-photo-visual { border-radius:24px; }
.journey-photo-visual > img { box-shadow:0 20px 55px #0005; }
.journey-benefits { gap:48px; }
.journey-benefits h2 { font-size:24px; }
.scenario-copy h2 { font-size:clamp(35px,3.6vw,48px); }
.scenario-copy > p:not(.eyebrow) { line-height:1.85; }
.scenario-timeline { background:linear-gradient(145deg,#13232b,#0d1521); box-shadow:0 16px 40px #0002; }
.timeline-event { grid-template-columns:82px 1fr; }
.timeline-time { font-size:12px; }
.timeline-event p { font-size:14px; }
.journey-conversion { box-shadow:0 18px 55px #0002; }
.journey-conversion > div > p:not(.eyebrow) { font-size:16px; }
.related-grid a { padding:25px 30px 18px 0; }
.related-grid a:hover { border-color:#a8e1c98c; }
.related-grid span { font-size:12px; }
.related-grid strong { font-size:20px; }
.family-situation { background:radial-gradient(ellipse at 85% 60%,#294a4420,transparent 60%),#101a25; }
.family-situation-visual { max-height:410px; }
.family-situation-visual > span { font-size:11px; }
.pilot-label { font-size:12px; }
.advanced-details { border:1px solid var(--line); border-radius:16px; margin-top:30px; background:#0e1721; }
.advanced-details > summary { padding:24px 27px; cursor:pointer; font-size:17px; list-style:none; display:flex; justify-content:space-between; gap:25px; }
.advanced-details > summary::-webkit-details-marker { display:none; }
.advanced-details > summary::after { content:'+'; color:var(--mint); font-size:24px; line-height:1; }
.advanced-details[open] > summary::after { content:'−'; }
.advanced-details > .advanced-content { padding:0 27px 27px; }
.advanced-details .comparison-scroll { margin-top:0; }
.faq-list summary { font-size:16px; }
.faq-answer p { font-size:15px; color:#afbfce; }
.faq-plus { transition:transform .25s var(--polish-ease); }
.faq-list details[open] .faq-plus { transform:rotate(45deg); }
.faq-list details[open] .faq-plus:after { transform:none; }
.faq-list details[open] { background:linear-gradient(90deg,#8cd7bc05,transparent); }
.footer-links h3 { font-size:13px; color:#dce7eb; }
.footer-links a { font-size:12px; color:#a6b8c7; }
.footer-links a:hover { color:var(--mint-bright); }
.footer-bottom { font-size:11px; }
.demo-header .brand > img.brand-lockup { width:205px; height:auto; }
.demo-introduction { font-size:16px; color:#b8c6d1; }
.demo-tour button strong { font-size:14px; }
.demo-tour button > span { color:#9eb8ae; font-size:11px; }
.demo-tour button { min-height:46px; }
.demo-details { font-size:12px; color:#abbcca; }
.demo-testflight,.demo-widget-link,.demo-back,.reset-demo { font-size:13px; }
.demo-sample-note,.demo-status { font-size:11px; color:#a6bdb4; }
.demo-preview::before { inset:4% 0; }
/* The resting layout stays visible without JS; only waiting reveal targets are hidden. */
.enhanced-motion [data-motion]:not(.is-visible) { opacity:0; transform:translate3d(0,30px,0); }
.enhanced-motion [data-motion='image']:not(.is-visible) { transform:translate3d(0,38px,0) scale(.97); }
.enhanced-motion [data-motion].is-visible { opacity:1; transform:none; }
.enhanced-motion .benefit-card.is-visible:hover,.enhanced-motion .hardware-card.is-visible:hover {transform:translate3d(0,-4px,0);}
.enhanced-motion .provider-grid > .is-visible:hover {transform:translate3d(0,-2px,0);}
.mobile-nav:not([hidden]) { animation:menu-arrive .22s var(--polish-ease) both; transform-origin:top; }
.menu-toggle span { transition:transform .25s var(--polish-ease); }
.menu-toggle[aria-expanded='true'] span:first-child { transform:translateY(4px) rotate(45deg); }
.menu-toggle[aria-expanded='true'] span:last-child { transform:translateY(-4px) rotate(-45deg); }
@keyframes menu-arrive { from {opacity:0;transform:translateY(-6px);} to {opacity:1;transform:translateY(0);} }
@media(min-width:1021px) and (max-width:1190px) { .desktop-nav {gap:14px;} .desktop-nav a {font-size:12px;} .header-inner {gap:16px;} .header-actions {gap:16px;} }
@media(max-width:800px) { .section {padding-block:74px;} .two-column-heading {gap:28px;} .journey-hero {gap:40px;} .journey-benefits {gap:28px;} .provider-heading {align-items:flex-start;} .provider-heading > span {flex-shrink:0;} }
@media(max-width:640px) {
 .eyebrow,.micro-label,.journey-hero-copy .eyebrow {font-size:10px;}
 .everyday-home .hero-copy > .eyebrow {font-size:9px;}
 .everyday-home .hero-description {font-size:16px;}
 .hero-buttons .button,.journey-hero .hero-buttons .button {font-size:13px;min-height:49px;}
 .service-line {display:grid;grid-template-columns:1fr 1fr;gap:13px 20px;}
 .service-line > p {grid-column:1/-1;color:#a4b8c8;}
 .service-line > span {font-size:12px;}
 .service-line > span:last-child {grid-column:1/-1;}
 .display-scene figcaption span {font-size:9px;}
 .display-scene figcaption strong {font-size:13px;}
 .stage-note {font-size:11px;line-height:1.7;}
 .benefit-card p,.audience-card p,.journey-benefits p,.journey-differences p {font-size:15px;}
 .journey-hero h1 {font-size:clamp(37px,10vw,52px);}
 .journey-description {font-size:16px;}
 .journey-hero-note {font-size:12px;}
 .journey-visual figcaption {font-size:11px;}
 .scenario-copy > p:not(.eyebrow) {font-size:15px;}
 .timeline-event {grid-template-columns:67px 1fr;gap:14px;}
 .timeline-event p {font-size:14px;}
 .family-situation {padding:27px;}
 .family-situation-copy > p:not(.eyebrow) {font-size:15px;}
 .family-situation-visual {max-height:320px;}
 .advanced-details > summary {padding:22px 20px;font-size:16px;}
 .advanced-details > .advanced-content {padding:0 20px 22px;}
 .footer-links {gap:16px;}
 .footer-links h3 {font-size:12px;}
 .footer-links a {font-size:11px;}
 .footer-bottom {font-size:10px;}
 .demo-header .brand > img.brand-lockup {width:170px;}
 .demo-header-actions {gap:12px;}
 .demo-header .sample-badge {display:none;}
 .demo-tour button strong {font-size:14px;}
 .demo-introduction {font-size:15px;}
 .demo-next .button {font-size:13px;}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto;}
 .enhanced-motion [data-motion] {opacity:1;transform:none;transition:none;}
 .display-scene img,.hardware-photo img,.notification-message,.reading-progress {transition:none;}
 .mobile-nav:not([hidden]) {animation:none;}
 .display-scene:hover img,.hardware-card:hover .hardware-photo img,.provider-grid > li:hover {transform:none;}
 .enhanced-motion .benefit-card.is-visible:hover,.enhanced-motion .hardware-card.is-visible:hover,.enhanced-motion .provider-grid > .is-visible:hover {transform:none;}
}
@media print { [data-motion] {opacity:1!important;transform:none!important;} .reading-progress {display:none;} }

/* Natural lifestyle imagery, kept separate from the product screenshots. */
.lifestyle-picture { display:block; min-width:0; overflow:hidden; border-radius:18px; isolation:isolate; }
.lifestyle-picture img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.benefit-card-photo { padding-top:20px; }
.benefit-photo { align-self:stretch; margin:0 -12px 24px; border-radius:14px; }
.benefit-photo img { transition:transform .75s var(--polish-ease); }
.benefit-card-photo:hover .benefit-photo img { transform:scale(1.035); }
.benefit-card-photo > .icon { display:none; }
.benefit-card-photo h3 { margin-top:16px; }
.lifestyle-credit { color:#95aaba; font-size:11px; line-height:1.7; margin-top:17px; }
.scenario-grid.has-lifestyle { grid-template-columns:1.1fr 1fr; grid-template-areas:'photo copy' 'timeline timeline'; gap:44px 64px; }
.has-lifestyle > .scenario-photo { grid-area:photo; border:1px solid #afcfc429; box-shadow:0 18px 45px #0003; }
.has-lifestyle > .scenario-copy { grid-area:copy; }
.has-lifestyle > .scenario-copy h2 { margin-top:18px; }
.has-lifestyle > .scenario-copy > p:not(.eyebrow) { margin-top:18px; }
.has-lifestyle > .scenario-timeline { grid-area:timeline; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:30px; padding:8px 28px; }
.has-lifestyle .timeline-event { display:block; padding:22px 0; border:0; }
.has-lifestyle .timeline-event + .timeline-event { border-top:0; }
.has-lifestyle .timeline-event h3 { margin-top:9px; }
.has-lifestyle .timeline-note { grid-column:1/-1; padding:13px 0; }
.family-situation .family-lifestyle { max-height:none; justify-content:center; overflow:visible; }
.family-lifestyle .lifestyle-picture { width:100%; border-radius:17px; box-shadow:0 18px 45px #0003; }
.family-lifestyle .lifestyle-picture img { width:100%; height:auto; border:0; border-radius:0; }
.family-situations > .lifestyle-credit { margin-top:-13px; }
@media(max-width:1020px) {
 .benefit-photo { margin-inline:-5px; }
 .scenario-grid.has-lifestyle { gap:32px; }
 .has-lifestyle > .scenario-timeline { column-gap:24px; }
}
@media(max-width:700px) {
 .benefit-card-photo { padding-top:15px; }
 .benefit-photo { margin:0 -12px 22px; }
 .scenario-grid.has-lifestyle { grid-template-columns:1fr; grid-template-areas:'copy' 'photo' 'timeline'; gap:28px; }
 .has-lifestyle > .scenario-timeline { grid-template-columns:1fr; padding:0 22px; }
 .has-lifestyle .timeline-event { display:grid; grid-template-columns:70px 1fr; gap:15px; padding:20px 0; }
 .has-lifestyle .timeline-event h3 { margin-top:0; }
 .has-lifestyle .timeline-event + .timeline-event { border-top:1px solid var(--line); }
 .family-situation .family-lifestyle { margin-top:2px; }
}
@media(prefers-reduced-motion:reduce) {
 .benefit-photo img { transition:none; }
 .benefit-card-photo:hover .benefit-photo img { transform:none; }
}
