@font-face{font-family:Sora;src:url('/assets/elo-Sora.ttf') format('truetype');font-style:normal;font-weight:100 800;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/elo-Manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
:root{--coral:oklch(68.498% .20625 34.335);--ink:oklch(28.653% .05132 269.016);--paper:oklch(96.178% .01269 86.830);--peach:oklch(90.882% .04995 42.985);--steel:oklch(80.544% .02338 260.716);--muted:oklch(47.186% .03047 268.473);--line:color-mix(in srgb,var(--ink) 22%,var(--paper));--touch:160ms;--state:240ms;--entrance:480ms;--ease:cubic-bezier(.2,.8,.2,1);font-family:Manrope,system-ui,sans-serif;font-synthesis:none;scroll-padding-top:1.5rem;scrollbar-color:var(--steel) var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}::selection{background:var(--coral);color:var(--ink)}a{color:inherit;text-underline-offset:.25em}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--ink);outline-offset:4px;box-shadow:0 0 0 4px var(--paper)}.wrap{width:min(100% - 3rem,78rem);margin-inline:auto}.skip-link{position:absolute;top:1rem;left:1rem;z-index:20;min-height:48px;padding:.75rem 1rem;background:var(--coral);transform:translateY(-180%)}.skip-link:focus{transform:none}.site-header{min-height:6rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;border-bottom:1px solid var(--line)}.wordmark{font-family:Sora,Manrope,sans-serif;font-size:2.1rem;font-weight:650;line-height:1;text-decoration:none;letter-spacing:-.04em;display:inline-flex;gap:.55rem;min-height:48px;align-items:center}.wordmark img{display:block}.site-header nav{display:flex;gap:1.2rem;align-items:center}.site-header nav a{min-width:48px;min-height:48px;display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;font-size:.875rem;font-weight:650}.site-header nav a:first-child{display:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Sora,Manrope,sans-serif;line-height:1.12;letter-spacing:-.04em;text-wrap:balance;font-weight:550}h1{font-size:clamp(2.4rem,1.6rem + 3.4vw,6rem)}h2{font-size:clamp(2.3rem,1.8rem + 2.5vw,4.4rem)}h3{font-size:clamp(1.5rem,1.3rem + .7vw,2rem)}em{font-style:normal}p{max-width:64ch}.hero{padding-top:2.5rem;display:grid;gap:1.5rem}.hero h1 em{display:inline-block;position:relative}.hero h1 em:after{content:'';position:absolute;bottom:-.1em;left:0;width:100%;height:.07em;background:var(--coral)}.lead{font-size:1rem;line-height:1.7;max-width:31rem;margin-top:1.7rem;color:var(--muted)}.hero-actions{display:flex;gap:.7rem 1.5rem;align-items:center;flex-wrap:wrap;margin-top:1.7rem}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;min-height:3.5rem;padding:.9rem 1.4rem;border-radius:3rem;background:var(--coral);color:var(--ink);text-decoration:none;font-weight:750;transition:transform var(--touch) var(--ease)}.button:active{transform:scale(.98)}.arrow{display:inline-block;position:relative;width:1rem;height:1rem;flex-shrink:0}.arrow:before{content:'';position:absolute;width:.8rem;height:.8rem;right:0;top:0;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor}.arrow:after{content:'';position:absolute;width:1.15rem;height:1.5px;background:currentColor;top:.45rem;left:-.05rem;transform:rotate(-45deg)}.arrow.down{transform:rotate(135deg)}.text-link{display:inline-flex;gap:1rem;min-height:48px;align-items:center;font-size:.875rem;font-weight:650}.availability{font-size:.75rem;letter-spacing:.01em;color:var(--muted);margin-top:.9rem}.hero-scene{margin:0;position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;isolation:isolate;padding-top:.5rem}.hero-scene:before{content:'';position:absolute;z-index:-1;left:5%;right:5%;top:14%;bottom:5.5rem;background:var(--peach);border-radius:48% 48% 2rem 2rem}.elo-hero{display:block;width:100%;height:26rem;object-fit:contain;animation:elo-arrive var(--entrance) var(--ease) both}.hero-scene figcaption{font-size:.75rem;text-align:center;margin-top:.5rem;display:flex;flex-direction:column;gap:.2rem;color:var(--muted)}.hero-scene figcaption strong{font-size:.875rem;color:var(--ink)}.hero-baseline{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--line);padding:1.2rem 0;font-size:.75rem;grid-column:1/-1}.hero-baseline a{min-height:48px;align-items:center;gap:1rem;display:none;text-decoration:none}
.journey-section{background:var(--ink);color:var(--paper);padding:4rem 0;scroll-margin-top:0}.journey-grid{display:grid;gap:2rem}.journey-intro p{color:var(--steel);max-width:24rem;margin-top:1.5rem}.story-controls{display:flex;gap:.6rem;margin-top:1.8rem;flex-wrap:wrap}.story-controls[hidden]{display:none}.story-controls button{min-height:48px;padding:.55rem 1.1rem;border:1px solid var(--steel);background:transparent;color:var(--paper);border-radius:3rem;cursor:pointer;font-size:.875rem;font-weight:650;transition:transform var(--touch)}.story-controls button[aria-pressed=true]{background:var(--coral);color:var(--ink);border-color:var(--coral)}.story-controls button:active{transform:scale(.97)}.story-controls button:focus-visible{outline-color:var(--paper);box-shadow:0 0 0 4px var(--ink)}.story-panel{min-width:0}.story-step{display:grid;gap:1.5rem}.story-step[hidden]{display:none}.story-step+.story-step{margin-top:2rem}.story-step[hidden]+.story-step{margin-top:0}.story-art{height:21rem;position:relative;display:grid;place-items:center;overflow:hidden;border-radius:1.5rem;color:var(--ink)}.capture-art{background:var(--peach)}.scan-corner{position:absolute;inset:2.2rem 3rem;border:1px solid var(--muted);border-radius:1rem}.medicine-box{width:12.5rem;height:15rem;transform:rotate(-7deg);background:var(--paper);padding:1.35rem;box-shadow:0 0 0 1px #20294428,0 14px 22px -14px #20294466;display:flex;flex-direction:column}.medicine-box strong{font-family:Sora,sans-serif;font-size:1.55rem;line-height:1.2;margin-top:.8rem;font-weight:650}.box-code{height:1.6rem;width:4rem;margin-top:.8rem;background:repeating-linear-gradient(to right,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 8px)}.medicine-box small{font-size:.75rem;margin-top:auto}.story-copy h3{margin-bottom:.75rem}.story-copy p{font-size:1rem;color:var(--paper);line-height:1.75}.story-copy .note{font-size:.8125rem;line-height:1.6;color:var(--steel);margin-top:.75rem}.review-art{background:var(--coral)}.review-sheet{background:var(--paper);width:min(88%,24rem);padding:1.5rem;border-radius:1rem;transform:rotate(3deg);box-shadow:0 0 0 1px #20294428,0 14px 25px -18px #20294488}.review-sheet>strong{font-family:Sora,sans-serif;font-size:1.65rem;line-height:1.2;display:block;margin:.2rem 0 1.4rem}.review-sheet>div{display:flex;gap:.5rem;justify-content:space-between;font-size:.75rem;border-top:1px solid var(--line);padding:.7rem 0}.review-sheet>div span{font-weight:750}.routine-art{background:var(--steel)}.routine-sheet{width:min(82%,20rem);background:var(--paper);padding:1.5rem;border-radius:1.5rem;box-shadow:0 0 0 1px #20294428,0 14px 25px -18px #20294488}.routine-sheet>span{font-family:Sora,sans-serif;font-size:1.3rem;font-weight:650}.routine-sheet>strong{font-family:Sora,sans-serif;font-weight:550;display:block;font-size:3.5rem;line-height:1.3;margin-top:.5rem;font-variant-numeric:tabular-nums}.routine-sheet>p{font-size:.875rem;margin-bottom:1.2rem}.routine-sheet>div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:.8rem 0;font-size:.75rem;font-weight:750}.routine-sheet>div span{font-weight:450}.step-enter{animation:step-arrive var(--state) var(--ease) both}
.world-section{padding:4rem 0}.world-copy{display:grid;gap:1.5rem;margin-bottom:2rem}.world-copy p{color:var(--muted);max-width:30rem}.world-copy .button{margin-top:1.5rem}.world-scene{display:block;position:relative;background:var(--peach);border-radius:1.5rem;overflow:hidden;min-height:48px}.world-scene img{display:block;width:100%;height:auto;aspect-ratio:1.4;object-fit:cover}.scene-label{position:absolute;bottom:1rem;left:1rem;right:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--paper);color:var(--ink);padding:.8rem 1.1rem;border-radius:3rem;font-size:.875rem;font-weight:650}.world-note{display:grid;gap:.65rem;margin-top:1.5rem}.world-note p{font-size:.8125rem;color:var(--muted);max-width:53ch}.status-section{padding:4rem 0;background:var(--coral)}.status-grid{display:grid;gap:2rem}.status-copy p{max-width:32rem}.status-copy p+p{margin-top:1rem}.status-copy .text-link{margin-top:1.6rem}.site-footer{padding:2rem 0;display:flex;align-items:center;justify-content:space-between;gap:.6rem 1rem;flex-wrap:wrap}.site-footer .wordmark{font-size:1.8rem}.site-footer p{font-size:.8125rem;color:var(--muted)}.site-footer>a:last-child{font-size:.8125rem;min-height:48px;display:inline-flex;align-items:center}.legal-page{padding:3rem 0 5rem;max-width:50rem}.legal-page h1{font-size:clamp(2.5rem,2rem + 2vw,5rem);margin-bottom:2rem}.legal-page h2{font-size:1.65rem;margin-top:2.5rem;margin-bottom:.8rem}.legal-page p+p{margin-top:1rem}.legal-page .lead{margin-bottom:1rem}.legal-page .button{margin-top:2rem}
@keyframes elo-arrive{from{opacity:.6;transform:translateY(16px) rotate(-3deg)}to{opacity:1;transform:none}}@keyframes step-arrive{from{transform:translateY(7px)}to{transform:none}}
@media(hover:hover){.button:hover{transform:translateY(-2px)}.site-header nav a:hover,.text-link:hover,.hero-baseline a:hover{text-decoration:underline}.story-controls button:hover{border-color:var(--paper)}.story-controls button[aria-pressed=true]:hover{border-color:var(--coral)}}
@media(min-width:48rem){.wrap{width:min(100% - 5rem,78rem)}.site-header{min-height:7rem}.site-header nav{gap:2rem}.site-header nav a:first-child{display:inline-flex}.hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:2rem;padding-top:2.5rem}.hero-copy{padding:1rem 0}.hero h1{font-size:clamp(3.1rem,1.8rem + 3.8vw,5.8rem)}.lead{font-size:1.0625rem}.hero-scene{padding:0}.elo-hero{height:34rem}.hero-scene:before{left:2%;right:2%;top:10%;bottom:5.6rem}.hero-scene figcaption{margin-top:0}.hero-baseline{padding:1.2rem 0;margin-top:1.5rem}.hero-baseline a{display:inline-flex}.journey-section{padding:6rem 0}.journey-grid{grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:start}.journey-intro{padding-top:1rem}.story-art{height:24rem}.world-section{padding:6rem 0}.world-copy{grid-template-columns:1.1fr 1fr;gap:4rem;align-items:start;margin-bottom:3rem}.world-scene img{aspect-ratio:1.9}.scene-label{right:auto;min-width:14rem;left:2rem;bottom:2rem}.world-note{grid-template-columns:1fr 1fr;gap:4rem}.status-section{padding:5rem 0}.status-grid{grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center}.site-footer{padding:2.5rem 0}.legal-page{width:min(100% - 5rem,50rem)}}
@media(min-width:75rem){.hero{gap:2.5rem}.hero-scene:before{left:0;right:0}.elo-hero{height:37rem}.hero-baseline{margin-top:.5rem}.journey-grid{gap:7rem}.world-copy{gap:7rem}.status-grid{gap:7rem}}
@media(max-width:25rem){.wrap{width:calc(100% - 2.5rem)}.wordmark{font-size:1.9rem}.wordmark img{width:32px;height:32px}.site-header nav a{font-size:.8125rem}.hero h1{font-size:2.25rem}.hero{padding-top:2rem}.hero-actions{gap:.5rem}.elo-hero{height:24rem}.review-sheet{padding:1.2rem}.review-sheet>div{font-size:.75rem;gap:.35rem}.story-controls{gap:.4rem}.story-controls button{padding:.55rem .9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.elo-hero{animation:elo-fade var(--touch) ease both}.step-enter{animation:none}.button,.story-controls button{transition:none}.button:hover,.button:active,.story-controls button:active{transform:none}@keyframes elo-fade{from{opacity:.65}to{opacity:1}}}
@media(forced-colors:active){button:focus-visible,a:focus-visible{outline:3px solid Highlight;outline-offset:4px;box-shadow:none}.button,.story-controls button,.story-art,.world-scene,.scene-label{border:1px solid CanvasText}.hero h1 em:after{display:none}.story-controls button[aria-pressed=true]{outline:2px solid Highlight;outline-offset:2px}.hero-scene:before{forced-color-adjust:none}}

/* The medicine capture is the first visual. Elo stays in the optional story below. */
.hero-capture{padding:28px 36px 16px;justify-content:center}.hero-capture:before{inset:20px 12px 106px;border-radius:34px}.capture-phone{position:relative;z-index:1;width:280px;max-width:100%;margin:auto;background:var(--paper);border:1px solid var(--ink);border-radius:32px;padding:24px 20px 18px;box-shadow:0 18px 32px color-mix(in oklch,var(--ink) 10%,transparent)}.capture-heading{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;font-weight:750;margin-bottom:18px}.capture-heading svg{width:22px;height:22px}.capture-window{height:260px;position:relative;display:grid;place-items:center;background:var(--peach);overflow:hidden}.capture-frame{position:absolute;inset:18px;border:1px solid var(--ink);border-radius:12px}.capture-window .medicine-box{position:relative;width:166px;height:208px;transform:rotate(-8deg);padding:18px 16px;border:1px solid var(--ink);border-radius:3px;min-height:184px;margin:0;inset:auto;background:var(--paper);box-shadow:6px 10px 18px color-mix(in oklch,var(--ink) 14%,transparent)}.capture-window .medicine-box strong{font-size:.875rem;line-height:1.4}.capture-window .medicine-box small{font-size:.75rem}.capture-window .medicine-box img{width:30px;height:30px}.capture-window .box-code{height:18px;margin-block:18px 10px}.capture-phone>p{font-size:.75rem;line-height:1.6;text-align:center;margin-top:14px;color:var(--ink)}.capture-button{width:54px;height:54px;border:2px solid var(--ink);border-radius:50%;background:var(--coral);display:grid;place-items:center;margin:18px auto 0}.capture-button svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.capture-heading svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.hero-capture figcaption{position:relative;inset:auto;padding-top:24px;margin-top:0;text-align:center}.hero-capture .capture-phone{animation:capture-arrive 480ms cubic-bezier(.2,.85,.25,1)}@keyframes capture-arrive{from{transform:translateY(14px)}to{transform:translateY(0)}}@media(max-width:700px){.hero-capture{padding:24px 12px 6px}.hero-capture:before{inset:12px 0 94px}.capture-phone{width:268px}.capture-window{height:242px}.hero-capture figcaption{padding-top:22px}}@media(prefers-reduced-motion:reduce){.hero-capture .capture-phone{animation:none}.capture-window .medicine-box{transform:none}}
