@font-face{font-family:Centra;src:url('/assets/CentraNo2-Book.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Centra;src:url('/assets/CentraNo2-Medium.woff2') format('woff2');font-style:normal;font-weight:500 700;font-display:swap}
:root{--sequence-text-size:clamp(2.5rem,5.6vw,4.75rem);--paper:#f8f7f4;--ink:#252923;--muted:#697063;--line:#dddfd6;--accent:#43543c;--serif:Recoleta,Georgia,serif;--sans:Centra,sans-serif;--radius:16px;--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:focus-visible{outline-offset:2px}img{display:block;max-width:100%}.wrap{width:min(1120px,calc(100% - 80px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:112px}.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand img{height:auto}.site-header nav{display:flex;align-items:center;gap:32px}.site-header nav>a{text-decoration:none;font-size:14px}.nav-link{padding:10px 0}.nav-link:hover{color:var(--accent);text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;padding:14px 24px;border-radius:100px;background:var(--ink);color:var(--paper);font-size:15px;font-weight:500;text-decoration:none;transition:background .18s,transform .18s var(--ease)}.button:hover{background:var(--accent);transform:translateY(-2px)}.button:active{transform:translateY(0)}.button-small{min-height:44px;padding:10px 19px;gap:19px}.eyebrow{font-size:14px;color:var(--muted);margin-bottom:20px}.hero{text-align:center;padding:65px 0 57px}.hero h1{font-family:var(--serif);font-size:clamp(60px,8.5vw,112px);line-height:1.06;letter-spacing:-.045em;font-weight:400;margin-bottom:25px}.hero h1 em{font-style:normal;color:var(--accent)}.hero-copy{font-size:19px;line-height:1.55;max-width:620px;margin:0 auto 28px;color:#596052}.hero-note{font-size:12px;color:var(--muted);margin-top:14px}.policy-hero h1,.not-found h1{font:400 clamp(37px,4.2vw,54px)/1.12 var(--serif);letter-spacing:-.035em}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:14px;font-weight:500;text-decoration:none;padding-block:6px;border-bottom:1px solid #a8b29d}.text-link:hover{color:var(--accent);border-color:currentColor}.site-footer{display:flex;align-items:center;gap:25px;justify-content:space-between;border-top:1px solid var(--line);padding-block:25px 30px;font-size:12px;color:var(--muted)}.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer nav{display:flex;gap:22px}.site-footer p>a{color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;z-index:10;background:var(--ink);color:#fff;padding:10px 18px;transform:translateY(-150%)}.skip-link:focus{transform:none}.policy-wrap{width:min(760px,calc(100% - 48px));margin:auto}.policy-hero{padding:65px 0 40px;border-bottom:1px solid var(--line)}.policy-hero h1{font-size:64px;margin-bottom:22px}.policy-hero p{color:var(--muted);max-width:660px}.policy-date{font-size:13px;margin-top:20px}.policy-content{padding:40px 0 80px}.policy-content section+section{margin-top:36px}.policy-content h2{font-size:23px;font-weight:500;line-height:1.35;margin-bottom:14px;letter-spacing:-.025em}.policy-content p{color:#596052;line-height:1.8;overflow-wrap:anywhere}.policy-content p+p{margin-top:16px}.policy-links{display:flex;gap:20px;flex-wrap:wrap;margin-block:25px;font-size:14px}.not-found{max-width:620px;margin:15vh auto;padding:24px}.not-found h1{margin:50px 0 20px}.not-found .button{margin-top:25px}
@media(min-width:1280px){.hero{padding-top:75px}}
@media(max-width:850px){.wrap{width:calc(100% - 48px)}.site-header{min-height:92px}.site-header nav{gap:22px}.hero{padding-top:42px}.site-footer{flex-wrap:wrap}.site-footer p{margin-left:auto}.site-footer nav{width:100%;justify-content:center}}
@media(max-width:600px){html{scroll-padding-top:24px}.wrap{width:calc(100% - 36px)}.site-header{min-height:88px;gap:12px}.site-header .brand img{width:128px}.site-header .nav-link{display:none}.site-header .button{font-size:12px;gap:12px;min-height:42px;padding:10px 15px}.hero{padding:42px 0}.hero .eyebrow{font-size:12px;margin-bottom:18px}.hero h1{font-size:clamp(54px,13vw,76px);max-width:430px;margin-inline:auto;line-height:1.04;margin-bottom:23px}.hero h1 em{display:block}.hero-copy{font-size:16px;max-width:320px;margin-bottom:25px}.desktop-break{display:none}.hero-note{font-size:11px}.site-footer{gap:21px 15px;padding-block:24px;font-size:11px}.site-footer>.brand img{width:110px}.site-footer p{max-width:155px;text-align:right}.site-footer nav{gap:25px}.policy-hero{padding-top:40px}.policy-hero h1{font-size:48px}.policy-hero p{font-size:15px}.policy-content h2{font-size:21px}.policy-content p{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover{transform:none}}



/* The live app is the first screen. Its single iframe is retained through the entire reveal. */
.demo-stage{--hero-scale:1;--hero-radius:0px;--hero-hint-opacity:1;--demo-follow-distance:0px;--demo-follow-gap:48px;position:relative;height:calc(175svh + var(--demo-follow-distance));margin-bottom:calc(-1 * var(--demo-follow-distance));overflow-anchor:none}
.demo-sticky{position:sticky;top:0;height:100svh;width:100%;display:grid;place-items:center}
.demo-browser{--browser-bar-height:76px;position:relative;width:100%;height:100%;transform:scale(var(--hero-scale));transform-origin:center bottom;will-change:transform}
.hero-shell{position:relative;width:100%;height:100%;overflow:hidden;border-radius:0 0 var(--hero-radius) var(--hero-radius);box-shadow:0 20px 55px -35px #25352b66;background:#49665e}
.browser-chrome{--browser-outline:#25292355;position:absolute;inset:calc(-1 * var(--browser-bar-height)) 0 0;z-index:3;pointer-events:none;color:var(--browser-outline);opacity:0;visibility:hidden}
.browser-chrome-paper{position:absolute;inset:0 0 auto;height:var(--browser-bar-height);background:var(--paper);border-radius:var(--hero-radius) var(--hero-radius) 0 0}
.browser-chrome-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.browser-chrome-lines :is(path,circle,rect){stroke-dasharray:1;stroke-dashoffset:1;vector-effect:non-scaling-stroke}
.browser-chrome-lines [data-browser-address]{fill:#25292308;stroke:none}
.browser-chrome-lines [data-browser-icon]{stroke-width:1.4}
.browser-chrome-caption{position:absolute;opacity:0;transform:translateY(-50%)}
.browser-tab-title{display:flex;align-items:center;gap:8px;min-width:0}
.browser-tab-title img{flex:none;width:14px;height:14px;filter:brightness(0)}
.browser-skeleton{display:block;height:6px;border-radius:2px;background:#25292312}
.browser-title-skeleton{width:78px;max-width:calc(100% - 22px)}
.browser-address-label{width:116px}
@media(max-width:600px){.demo-browser{--browser-bar-height:64px}.browser-chrome-caption{font-size:11px}.browser-address-label{font-size:10px}}
.live-demo{display:block;width:100%;height:100%;border:0;background:#49665e;color-scheme:light}



.hero-demo-footer{position:absolute;z-index:2;left:50%;bottom:calc(28px + env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;pointer-events:none;opacity:var(--hero-hint-opacity)}
.hero-demo-footer a{display:flex;align-items:center;text-decoration:none;pointer-events:auto;padding:4px;color:#fff;border-radius:48px}.hero-demo-footer a:focus-visible{outline:2px solid #fff;outline-offset:8px}
.scroll-cue-circle{width:56px;height:56px;overflow:hidden;border:1.5px solid #fff;border-radius:50%;display:grid;place-items:center;transition:background-color 180ms var(--ease),transform 180ms var(--ease)}
@media(hover:hover) and (pointer:fine){.hero-demo-footer a:hover .scroll-cue-circle{background:#ffffff12;transform:scale(1.04)}}
.hero-demo-footer a:active .scroll-cue-circle{transform:scale(.96)}
@media(prefers-reduced-motion:reduce){.hero-demo-footer a:is(:hover,:active) .scroll-cue-circle{transform:none}}
.story-hero{padding-top:34px;padding-bottom:0}

@media(max-width:600px){.demo-stage{height:calc(160svh + var(--demo-follow-distance));--demo-follow-gap:32px}.scroll-cue-circle{width:48px;height:48px}.story-hero{padding-top:26px;padding-bottom:0}}
@media(prefers-reduced-motion:reduce){.demo-stage{height:100svh;margin-bottom:0}.demo-sticky{position:relative}.demo-browser{will-change:auto}.hero-demo-footer{opacity:1}}

/* A single install action appears only beyond the demo, following scroll direction. */
html:has(.marketing-header){scroll-padding-top:112px}
.marketing-header{position:fixed;top:0;z-index:30;width:100%;background:none;border:0;pointer-events:none;transform:translateY(-100%);visibility:hidden;transition:transform 350ms cubic-bezier(.4,0,.2,1),visibility 0s 350ms}
.marketing-header[data-visible="true"]{transform:translateY(0);visibility:visible;transition:transform 360ms cubic-bezier(.22,1,.36,1),visibility 0s}
.marketing-header .site-header{min-height:96px;justify-content:flex-end}
.marketing-header[data-visible="true"] .button{pointer-events:auto}
.marketing-header .button,.footer-callout .button{transform:none;transition:background-color 180ms ease}
.marketing-header .button:is(:hover,:active),.footer-callout .button:is(:hover,:active){background:#383838;transform:none}
.marketing-header .button svg,.footer-callout .button svg{display:block;flex:none}
@media(max-width:600px){html:has(.marketing-header){scroll-padding-top:96px}.marketing-header .site-header{min-height:80px}}
@media(prefers-reduced-motion:reduce){.marketing-header{transition:none}}

/* A long, gently eased transparency fade blends the landscape into the page. */
.marketing-footer{position:relative;display:flex;align-items:flex-end;min-height:clamp(300px,32vw,560px);overflow:hidden;isolation:isolate;background:var(--paper)}
.marketing-footer--closing{--footer-landscape-overlap:clamp(160px,20vw,280px);min-height:0;flex-direction:column;align-items:stretch;overflow:visible}
.footer-callout{position:relative;z-index:2;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:32px;text-align:center;padding-block:128px}
@media(max-width:600px){.footer-callout{gap:28px;padding-block:96px}}
.marketing-footer::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(transparent 35%,color-mix(in srgb,var(--paper) 90%,transparent))}
.marketing-footer .site-footer{position:relative;z-index:2;border:0;color:var(--ink);padding-block:24px max(24px,env(safe-area-inset-bottom))}
.marketing-footer .site-footer{gap:12px}
.marketing-footer .site-footer nav{width:auto;gap:0;margin-left:auto}
@media(max-width:600px){.marketing-footer .site-footer{flex-direction:column;align-items:flex-start;gap:4px}.marketing-footer .site-footer nav{margin-left:0}}
.marketing-footer .site-footer nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding-inline:12px;border-radius:8px;font-size:12px;line-height:16px;font-weight:500}
.marketing-footer .site-footer nav a:hover{text-decoration:none}
.footer-landscape{pointer-events:none;position:absolute;inset:0;z-index:0;display:block;width:100%;max-width:none;height:100%;margin:0;object-fit:cover;object-position:50% 55%;-webkit-mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.08) 12%,rgba(0,0,0,.35) 26%,rgba(0,0,0,.75) 42%,#000 60%);mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.08) 12%,rgba(0,0,0,.35) 26%,rgba(0,0,0,.75) 42%,#000 60%)}
.marketing-footer--closing .footer-landscape{top:calc(-1 * var(--footer-landscape-overlap));height:calc(100% + var(--footer-landscape-overlap))}

:root{--marketing-nav-height:97px}
.demo-stage{z-index:20;pointer-events:none}
.demo-stage .hero-shell{pointer-events:auto}
.skip-link{z-index:100}
.story-stage{position:relative;height:360svh;overflow:clip}
.story-sticky{position:sticky;top:0;height:100svh;display:grid;place-items:center}
.story-title-shell{position:relative;text-align:center}
.story-title{font-family:var(--serif);font-size:clamp(3.75rem,8.5vw,7rem);font-weight:400;letter-spacing:-.045em;line-height:1.12;margin:0;overflow-wrap:normal}
.story-title em{font-style:normal;color:var(--accent)}
.story-particles{position:absolute;inset:0;pointer-events:none}
.story-particles canvas{max-width:none}
.story-stage[data-reveal="particles"] .story-title{opacity:0}
.story-stage[data-reveal="empty"] .story-title{opacity:0}
@media(max-width:600px){:root{--marketing-nav-height:81px}.story-title{font-size:clamp(3.375rem,13vw,4.75rem);line-height:1.1}.story-title em{display:block}}
@media(prefers-reduced-motion:reduce){.story-stage{height:100svh}.story-title-shell{transform:none!important}.story-stage .story-title{opacity:1!important}.story-particles{display:none}}

/* Sticky, reversible scroll story: enter, check, disintegrate in fixed slots. */
.task-sequence{position:relative;height:360svh;overflow:clip}
.task-sequence-sticky{position:sticky;top:0;height:100svh;display:grid;place-items:center}
.task-sequence-shell{position:relative;min-width:0;width:min(1040px,calc(100% - 48px));max-width:none;display:grid;gap:0;--task-checkbox-size:clamp(36px,4vw,56px);--task-checkmark-size:calc(var(--task-checkbox-size)*18/32);--task-checkbox-border:calc(var(--task-checkbox-size)*2.5/32);--task-checkbox-radius:calc(var(--task-checkbox-size)*10/32);--task-first-line-size:1.3em;--task-checkbox-gap:0px;--ink-rgb:37,41,35;--motion-control:0ms}
.sequence-slot{position:relative;min-width:0}
.sequence-row{position:relative;transform-origin:center;min-width:0;width:100%;display:flex;gap:clamp(18px,3vw,32px);align-items:flex-start;justify-content:flex-start;padding:12px 0;font:400 var(--sequence-text-size)/1.3 var(--serif);letter-spacing:-.025em}
.task-sequence .sequence-checkbox{border-color:currentColor;cursor:default}
.sequence-text{min-width:0;white-space:normal;overflow-wrap:normal}
.sequence-row[data-checked="true"] .sequence-text{text-decoration:line-through;text-decoration-thickness:2px}
@media(max-width:600px){:root{--sequence-text-size:clamp(2rem,9vw,2.75rem)}.task-sequence-shell{max-width:calc(100% - 48px);gap:0}.sequence-row{padding-block:4px;font-size:var(--sequence-text-size);gap:18px}}
.sequence-reference{position:absolute;inset:0;opacity:0;pointer-events:none;color:rgb(37 41 35 / .5)}
.sequence-particles{position:absolute;inset:0;pointer-events:none}
.sequence-particles canvas{max-width:none}
@media(prefers-reduced-motion:reduce){.task-sequence{height:100svh}.task-sequence-sticky{height:100svh;position:relative}.sequence-live{transform:none!important;opacity:.5!important}.sequence-particles{display:none}}

/* The heading dissolves, then three static postcards pop up into a centred deck. */
.gallery-story{position:relative;height:340svh;overflow:clip}
.gallery-story-sticky{position:sticky;top:0;height:100svh;padding:calc(var(--marketing-nav-height) + 24px) 24px 24px;display:grid;place-items:center}
.gallery-story-content{display:grid;justify-items:center;align-items:center;gap:40px;width:100%;min-width:0}
.gallery-story-heading{position:relative;text-align:center;z-index:8;pointer-events:none}
.gallery-story-heading h2{font:400 clamp(48px,6.3vw,82px)/1.08 var(--serif);letter-spacing:-.04em;margin:0;text-wrap:balance}
.gallery-heading-particles{position:absolute;inset:0;pointer-events:none}
.gallery-heading-particles canvas{max-width:none}
.scroll-gallery-deck{position:relative;isolation:isolate;width:min(350px,62vw,48svh);aspect-ratio:.9}
.scroll-gallery-anchor{position:absolute;left:50%;top:50%;width:100%;translate:-50% -50%;transform-origin:50% 50%;z-index:1;pointer-events:none}
.scroll-gallery-card{pointer-events:auto;margin:0;background:#fff;padding:6px 6px 0;border:0;border-radius:12px;box-shadow:0 3px 8px -3px #25352b24;transform-origin:50% 50%;backface-visibility:hidden}
.scroll-gallery-card img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:7px}
.scroll-gallery-card figcaption{display:block;text-align:center;padding:9px 3px 11px;font-size:14px;line-height:1.3;color:var(--ink)}
.gallery-story[data-scroll-engine] .gallery-story-content{gap:0}
.gallery-story[data-scroll-engine] .gallery-story-heading,.gallery-story[data-scroll-engine] .scroll-gallery-deck{grid-area:1/1}
@media(max-width:600px){.gallery-story{height:340svh}.gallery-story-heading{width:100%}.gallery-story-heading h2{font-size:clamp(42px,11vw,60px)}.scroll-gallery-card{padding:5px 5px 0;border-radius:10px}.scroll-gallery-card img{border-radius:6px}.scroll-gallery-card figcaption{font-size:12px;padding:8px 3px 10px}}
@media(max-height:600px){.gallery-story-sticky{padding-top:calc(var(--marketing-nav-height) + 12px);padding-bottom:12px}.gallery-story-heading h2{font-size:40px}.scroll-gallery-deck{width:min(280px,56vw,47svh)}}
@media(prefers-reduced-motion:reduce){.gallery-story{height:100svh;min-height:560px}.gallery-story-sticky{position:relative;height:100%;min-height:560px}.gallery-story[data-scroll-engine] .gallery-story-content{gap:40px}.gallery-story[data-scroll-engine] .gallery-story-heading,.gallery-story[data-scroll-engine] .scroll-gallery-deck{grid-area:auto}.gallery-heading-particles{display:none}}


.weather-story{position:relative;height:500svh;overflow:clip}
.weather-story-sticky{position:sticky;top:0;height:100svh;padding:calc(var(--marketing-nav-height) + 24px) 20px 24px;display:grid;grid-template-columns:minmax(0,1fr);place-items:center}
.weather-story-content{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:14px;width:100%;min-width:0}
.weather-story h2{font:400 clamp(42px,5.2vw,68px)/1.08 var(--serif);letter-spacing:-.04em;margin:0;text-align:center;text-wrap:balance}
.weather-preview-icon{display:flex;align-items:center;justify-content:center;gap:20px;color:var(--accent)}
.weather-preview-icon svg{width:100px;height:100px;display:block}
.weather-preview-icon > span{font:400 56px/1 var(--serif);color:var(--ink);width:90px;text-align:left}
.weather-preview-panel{position:relative;transform-origin:50% 0;--font-heading:var(--serif);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--radius-md:8px;--radius-xl:16px;--weather-glass-surface:color-mix(in srgb,var(--paper) 35%,#000);--weather-glass-ink:#fff;--weather-glass-muted:rgba(255,255,255,.85);--weather-glass-edge:rgba(255,255,255,.12);--weather-glass-blur:12px;--font-size-weather-summary:1.125rem;--weather-card-surface:rgba(255,255,255,.05)}
.weather-story .weather-tooltip{max-width:100%}
.weather-summary-line{display:block}
.weather-preview-arrow{position:absolute;top:-7px;left:50%;translate:-50% 0;width:16px;height:9px;display:block;fill:var(--weather-glass-surface);z-index:1}
@media(max-width:600px){.weather-story h2{font-size:clamp(38px,10vw,50px)}.weather-story-content{gap:14px}.weather-preview-icon svg{width:76px;height:76px}.weather-preview-icon > span{font-size:42px;width:70px}.weather-story-sticky{padding-inline:20px}}
@media(max-height:650px){.weather-story{height:auto}.weather-story-sticky{position:relative;height:auto;min-height:100svh;padding-block:calc(var(--marketing-nav-height) + 32px) 40px}}
@media(prefers-reduced-motion:reduce){.weather-story{height:auto}.weather-story-sticky{position:relative;height:auto;min-height:100svh}.weather-preview-panel{opacity:1!important;transform:none!important}}

/* The heading hands the same centred stage to the weather icon and temperature. */
.weather-intro{position:relative;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;width:100%;height:100px;min-height:100px}
.weather-heading-shell{position:absolute;top:50%;left:50%;translate:-50% -50%;min-width:0}.weather-widget-shell{grid-area:1/1;position:relative;min-width:0;width:210px}
.weather-widget-live{opacity:0}
.weather-widget-reference{position:absolute;inset:0;opacity:0;pointer-events:none}
.weather-heading-particles,.weather-widget-particles{position:absolute;inset:0;pointer-events:none}
.weather-heading-particles canvas,.weather-widget-particles canvas{max-width:none}
@media(max-width:600px){.weather-intro{height:76px;min-height:76px}.weather-widget-shell{width:166px}}
@media(prefers-reduced-motion:reduce){.weather-intro{display:flex;flex-direction:column;gap:20px;height:auto;min-height:0}.weather-heading-shell{position:relative;top:auto;left:auto;translate:0 0}.weather-heading-shell h2,.weather-widget-live{opacity:1!important}.weather-heading-particles,.weather-widget-particles{display:none}}




/* Smooth each card independently so a fast scroll cannot skip its whole entrance. */
.gallery-story[data-card-motion="true"] .scroll-gallery-anchor{transition:transform 350ms cubic-bezier(.22,1,.36,1),visibility 0s 350ms;will-change:transform}
.gallery-story[data-card-motion="true"] .scroll-gallery-anchor[data-visible="true"]{transition-delay:0s,0s}
.gallery-story[data-card-motion="true"] .scroll-gallery-card{transition:opacity 350ms cubic-bezier(.22,1,.36,1)}

/* Quiet, continuous review motion; content remains readable without JavaScript. */
.social-proof{position:relative;z-index:1;padding-block:100px 0;overflow:clip}
.social-proof-heading{text-align:center;margin-bottom:48px}
.social-proof h2{font:400 clamp(46px,5.8vw,76px)/1.1 var(--serif);letter-spacing:-.04em;text-wrap:balance}
.store-statistics{color:#000;display:flex;justify-content:center;gap:clamp(44px,9vw,120px);margin:40px auto 0;text-align:center}
.footer-callout .store-statistics{width:100%;margin:0;flex-wrap:wrap}
.store-statistics>div{display:flex;flex-direction:column-reverse;gap:4px}
.store-statistics dt{font-size:14px;color:inherit}
.store-statistics dd{margin:0;font:400 clamp(3rem,2.5rem + 4vw,6rem)/1.15 var(--serif);letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.store-number{--motion-counter:1000ms}
.store-number-flow{left:50%;translate:-50% 0}
.store-statistics dd .store-rating-total{font-size:.45em;color:inherit;letter-spacing:0}
.review-window{position:relative}
.review-edge-blur{display:none;position:absolute;inset-block:0;width:clamp(20px,2.5vw,32px);z-index:1;pointer-events:none;--review-edge-direction:to right}
.review-edge-blur--left{left:0}
.review-edge-blur--right{right:0;--review-edge-direction:to left}
.review-edge-blur i{position:absolute;inset:0;-webkit-mask-image:var(--review-edge-mask);mask-image:var(--review-edge-mask);-webkit-backdrop-filter:blur(var(--review-edge-blur));backdrop-filter:blur(var(--review-edge-blur))}
.review-edge-blur i:nth-child(1){--review-edge-blur:1px;--review-edge-mask:linear-gradient(var(--review-edge-direction),#000 0%,#000 55%,transparent 100%)}
.review-edge-blur i:nth-child(2){--review-edge-blur:3px;--review-edge-mask:linear-gradient(var(--review-edge-direction),#000 0%,#000 25%,transparent 75%)}
.review-edge-blur i:nth-child(3){--review-edge-blur:6px;--review-edge-mask:linear-gradient(var(--review-edge-direction),#000 0%,transparent 45%)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) and ((mask-image:linear-gradient(#000,transparent)) or (-webkit-mask-image:linear-gradient(#000,transparent))){.social-proof[data-moving="true"] .review-edge-blur{display:block}}
.review-viewport{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-padding-inline:24px}
.review-viewport:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}
.review-track{display:flex;width:max-content;padding-inline-start:24px}
.review-group{list-style:none;display:flex;flex:none;gap:20px;margin:0;padding:8px 20px 20px 0}
.review-card{position:relative;width:clamp(260px,28vw,340px);flex:none;scroll-snap-align:start;border:0}
.review-card-visual{height:100%;border-radius:16px;background:#fff;padding:28px}
.review-edge-particles{position:absolute;inset:0;pointer-events:none}
.review-edge-particles canvas{max-width:none}
.review-card figure{display:flex;flex-direction:column;height:100%}
.review-stars{display:flex;gap:3px;color:var(--accent)}
.review-stars svg{fill:currentColor}
.review-card blockquote{margin:24px 0 30px;min-height:3.6em;font:400 28px/1.2 var(--serif);letter-spacing:-.025em;text-wrap:pretty}
.review-card blockquote p{white-space:pre-line}
.review-card figcaption{display:flex;align-items:center;gap:12px;margin-top:auto;font-size:13px;line-height:1.5}
.review-card figcaption>span{display:block;color:var(--ink)}
.review-avatar{flex:none;width:40px;height:40px;border-radius:50%;object-fit:cover}
.social-proof[data-enhanced="true"] .review-viewport{overflow:hidden}
.social-proof[data-moving="true"] .review-track{will-change:transform}
.review-group[aria-hidden="true"]{display:none}
.social-proof[data-enhanced="true"] .review-group[aria-hidden="true"]{display:flex}
@media(max-width:600px){.social-proof{padding-block:72px 0}.social-proof-heading{margin-bottom:32px}.store-statistics{gap:24px;margin:30px auto 0}.store-statistics dt{font-size:12px}.review-group{gap:14px;padding-right:14px}.review-card{width:270px}.review-card-visual{padding:24px}.review-card blockquote{font-size:27px}}
@media(prefers-reduced-motion:reduce){.social-proof[data-enhanced="true"] .review-viewport{overflow-x:auto;mask-image:none}.social-proof .review-track{transform:none!important}.social-proof[data-enhanced="true"] .review-group[aria-hidden="true"]{display:none}}

.story-description{max-width:560px;margin:24px auto 0;font-size:18px;line-height:1.6;color:var(--muted);text-wrap:pretty}
.story-stage[data-reveal="empty"] .story-description{opacity:0}

.weather-typewriter{position:relative;display:inline-block;vertical-align:top;max-width:100%}
.weather-typewriter-text{color:transparent}
.weather-typewriter-visual{position:absolute;inset:0;pointer-events:none;user-select:none}
.weather-typewriter-visual [data-character]::before{content:attr(data-character)}
@media(prefers-reduced-motion:reduce){.weather-typewriter-visual [data-character]{opacity:1!important}}
/* Give each summary overlay the full line width; split glyph rounding must not
   wrap a final word inside an intrinsically sized text box. */
.weather-summary .weather-typewriter{display:block}
.weather-location .weather-typewriter{padding-inline-end:2px}
.weather-typewriter[data-typing="false"]>.weather-typewriter-text{color:inherit}
.weather-typewriter[data-typing="false"]>.weather-typewriter-visual{visibility:hidden}
@media(prefers-reduced-motion:reduce){.weather-typewriter-text{color:inherit}.weather-typewriter-visual{visibility:hidden}}

/* Real full copy owns semantics and layout; this inert overlay owns scroll-only letter changes. */
.story-typewriter{position:absolute;inset:0 0 auto;font:400 clamp(3.75rem,8.5vw,7rem)/1.12 var(--serif);letter-spacing:-.045em;text-align:center;pointer-events:none;user-select:none}
.story-typewriter[hidden]{display:none}
.story-typewriter em{font-style:normal;color:var(--accent)}
.story-typewriter em[hidden]{display:none}
.story-typewriter[data-phase="heading"] .story-typed-copy{visibility:hidden}
.story-typewriter[data-phase="description"]{max-width:1040px;margin-inline:auto;font-size:var(--sequence-text-size);line-height:1.3;letter-spacing:-.025em;text-wrap:pretty}
.story-cursor{display:inline-block;width:0;height:.82em;border-left:2px solid var(--accent);margin-left:.06em;vertical-align:-.04em;opacity:1}
.story-stage[data-typewriter="active"] .story-description{opacity:0}
.story-stage[data-typewriter="active"]:is([data-copy-phase="deleting"],[data-copy-phase="description"]) .story-title{opacity:0}
@media(max-width:600px){.story-typewriter{font-size:clamp(3.375rem,13vw,4.75rem);line-height:1.1}.story-typewriter em:not([hidden]){display:block}.story-typewriter[data-phase="description"]{font-size:var(--sequence-text-size);line-height:1.3}}
@media(prefers-reduced-motion:reduce){.story-typewriter{display:none}.story-stage .story-description{opacity:1!important}}
