@font-face{font-family:Fredoka;src:url("fonts/fredoka-600.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Fredoka;src:url("fonts/fredoka-700.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Rubik;src:url("fonts/rubik-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Rubik;src:url("fonts/rubik-500.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Rubik;src:url("fonts/rubik-700.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--orange:#fa6d0f;--deep:#be4e04;--ink:#26231f;--green:#63b23a;--blue:#477eff;--cream:#fffaf1;--muted:#716b62;--line:#e8e0d4;--display:Fredoka,ui-rounded,"Arial Rounded MT Bold",Arial,sans-serif;--body:Rubik,"Avenir Next",Avenir,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--body);color:var(--ink);background:var(--cream)}a:focus-visible{outline:3px solid var(--blue);outline-offset:4px;border-radius:4px}.hero{height:100svh;min-height:min(700px,max(100svh,560px));position:relative;overflow:hidden;isolation:isolate;background:#bee3f2}.hill{position:absolute;width:125%;left:-12%;border-radius:50% 50% 0 0}.far{height:55%;bottom:8%;background:#8fd457;transform:rotate(-4deg)}.mid{height:46%;bottom:-2%;left:-2%;background:#79c446;transform:rotate(5deg)}.near{height:34%;bottom:-12%;background:var(--green);transform:rotate(-2deg)}.cloud{position:absolute;width:105px;height:29px;border-radius:40px;background:white;top:14%;left:42%;animation:cloudFloat 7s ease-in-out infinite}.cloud:before,.cloud:after{content:"";position:absolute;background:white;border-radius:50%;bottom:0;width:48px;height:48px;left:17px}.cloud:after{width:37px;height:37px;left:55px}.cloud-b{left:auto;right:5%;top:9%;transform:scale(.65);animation:cloudFloatSmall 9s ease-in-out -2s infinite}header{position:relative;z-index:10;width:min(1240px,calc(100% - 64px));height:96px;margin:auto;display:flex;align-items:center}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font:700 29px var(--display)}.brand img{width:43px;height:43px;filter:drop-shadow(0 4px 0 rgba(53,122,34,.18))}.layout{position:relative;z-index:5;width:min(1240px,calc(100% - 64px));height:calc(100% - 96px);margin:auto;display:grid;grid-template-columns:.88fr 1.12fr;align-items:center}.copy{padding-bottom:7vh}.chip{display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border-radius:30px;background:rgba(255,255,255,.92);box-shadow:0 4px 0 rgba(53,122,34,.16);color:#357a22;font-size:11px;font-weight:700}.chip i{width:8px;height:8px;background:#1fc173;border-radius:50%;box-shadow:0 0 0 4px #e4f9ee}.copy h1{font:700 clamp(61px,6.7vw,94px)/.85 var(--display);letter-spacing:-4px;margin:29px 0 26px}.copy h1 em{font-style:normal;color:var(--orange);text-shadow:0 5px 0 rgba(190,78,4,.15)}.copy>p{max-width:500px;color:#3b4d2f;font-size:16px;line-height:1.7}.download{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:18px;margin-top:27px;padding:10px 12px 10px 19px;border-radius:16px;background:var(--orange);box-shadow:0 6px 0 var(--deep),0 0 0 0 rgba(250,109,15,.24);color:white;text-decoration:none;font-size:14px;font-weight:700;animation:ctaFocus 3.2s ease-in-out infinite}.download:after{content:"";position:absolute;z-index:-1;top:-30%;bottom:-30%;width:38px;left:-65px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:skewX(-18deg);animation:ctaShine 4.2s ease-in-out infinite}.download-label{white-space:nowrap}.play-mark{display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:rgba(255,255,255,.16);box-shadow:inset 0 0 8px rgba(255,255,255,.2)}.play-mark>img{width:22px;height:22px}.play-mark i{font-style:normal;text-align:left;line-height:1}.play-mark small,.play-mark b{display:block}.play-mark small{font-size:7px;letter-spacing:.5px;opacity:.85}.play-mark b{font-size:12px;margin-top:2px}.download:hover{animation-play-state:paused;transform:translateY(2px);box-shadow:0 4px 0 var(--deep)}.showcase{height:100%;position:relative;display:grid;place-items:end center}.phone{position:relative;width:min(350px,37vw);height:min(730px,calc(100vh - 112px));background:#26231f;border:9px solid #26231f;border-radius:47px 47px 0 0;box-shadow:23px 28px 0 rgba(53,122,34,.34),35px 45px 65px rgba(38,35,31,.25);overflow:hidden;transform:rotate(1.5deg)}.phone img{position:absolute;inset:17px 0 0;width:100%;height:calc(100% - 17px);object-fit:cover;object-position:top;border-radius:30px 30px 0 0}.speaker{position:absolute;z-index:3;top:5px;left:50%;transform:translateX(-50%);width:78px;height:7px;border-radius:8px;background:#57534c}.feature{--r:0deg;--line:70px;position:absolute;z-index:4;display:flex;align-items:center;gap:10px;background:white;border:1px solid #e3dfd8;border-radius:16px;padding:11px 14px;box-shadow:0 6px 0 #e3dfd8;animation:pillFloat 4s ease-in-out infinite;transform:rotate(var(--r))}.feature:after{content:"";position:absolute;z-index:-1;top:50%;height:2px;width:var(--line);background:rgba(53,122,34,.45);transform:translateY(-50%)}.feature:before{content:"";position:absolute;z-index:2;top:50%;width:7px;height:7px;border:2px solid white;border-radius:50%;background:#63b23a;transform:translateY(-50%);box-shadow:0 0 0 1px rgba(53,122,34,.35)}.feature p{margin:0;white-space:nowrap}.feature small,.feature strong{display:block}.feature small{font-size:7px;letter-spacing:.85px;color:#a8a299;font-weight:700}.feature strong{font:600 13px var(--display);margin-top:3px}.icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:white;font-style:normal;font-weight:700}.icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.orange{background:var(--orange)}.green{background:#1fc173}.blue{background:var(--blue)}.yellow{background:#ffc914}.coral{background:#fc9a5b}.next{--r:4deg;--line:62px;right:0;top:15%;animation-delay:-.5s}.offline{--r:-4deg;--line:60px;left:0;top:31%;animation-delay:-1.4s}.voice{--r:3deg;--line:54px;right:-2%;top:50%;animation-delay:-2.1s}.ai{--r:-3deg;--line:55px;left:2%;bottom:21%;animation-delay:-2.8s}.free{--r:3deg;--line:52px;right:2%;bottom:9%;animation-delay:-3.4s}.next:after,.voice:after,.free:after{right:100%}.next:before,.voice:before,.free:before{right:calc(100% + var(--line) - 4px)}.offline:after,.ai:after{left:100%}.offline:before,.ai:before{left:calc(100% + var(--line) - 4px)}.tree{position:absolute;z-index:2}.tree i{display:block;width:78px;height:68px;background:#357a22;border-radius:50%;box-shadow:-34px 15px 0 #4a9a2f,30px 17px 0 #4a9a2f}.tree b{display:block;width:17px;height:70px;background:#8c5a33;margin:auto}.tree-a{right:2%;bottom:1%;transform:scale(.72)}.tree-b{left:43%;bottom:2%;transform:scale(.42)}
@keyframes cloudFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(16px,-7px,0)}}@keyframes cloudFloatSmall{0%,100%{transform:scale(.65) translate3d(0,0,0)}50%{transform:scale(.65) translate3d(-20px,-9px,0)}}@keyframes pillFloat{0%,100%{transform:rotate(var(--r)) translateY(0)}50%{transform:rotate(var(--r)) translateY(-7px)}}@keyframes ctaFocus{0%,100%{box-shadow:0 6px 0 var(--deep),0 0 0 0 rgba(250,109,15,.28)}50%{box-shadow:0 6px 0 var(--deep),0 0 0 9px rgba(250,109,15,0)}}@keyframes ctaShine{0%,58%{left:-65px}82%,100%{left:120%}}@media(prefers-reduced-motion:reduce){.cloud,.cloud-b,.feature,.download,.download:after{animation:none}}
@media(max-width:800px){.hero{--head:clamp(54px,7.6svh,76px);height:100vh;height:100svh;min-height:520px}header{width:calc(100% - 32px);height:var(--head)}.brand{font-size:clamp(21px,5.7vw,25px)}.brand img{width:clamp(32px,8.4vw,38px);height:clamp(32px,8.4vw,38px)}.layout{width:calc(100% - 32px);height:calc(100% - var(--head));min-height:0;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);text-align:center;align-items:start}.copy{padding:0 0 clamp(6px,1.6svh,16px);align-self:start}.chip{padding:7px 12px;font-size:clamp(10px,2.7vw,11px)}.copy h1{font-size:min(12vw,6.4svh,58px);letter-spacing:-2px;margin:clamp(8px,1.8svh,22px) 0 clamp(7px,1.5svh,18px)}.copy>p{font-size:clamp(12.5px,3.4vw,14px);line-height:1.5;max-width:40ch;margin-inline:auto}.download{margin-top:clamp(9px,2.1svh,19px)}.download-label{display:none}.play-mark{padding:8px 13px}.play-mark>img{width:25px;height:25px}.play-mark b{font-size:14px}.showcase{position:relative;left:auto;right:auto;bottom:auto;height:100%;min-height:0;place-items:end center}.phone{width:min(50vw,215px);height:100%;border-width:7px;border-radius:36px 36px 0 0}.speaker{width:58px;height:6px}.feature{--line:24px!important;padding:6px 8px;gap:6px;max-width:40vw;border-radius:13px;box-shadow:0 4px 0 #e3dfd8}.feature p{white-space:normal;text-align:left}.feature:after,.feature:before{opacity:.65}.icon{width:25px;height:25px;border-radius:8px;font-size:11px}.icon svg{width:14px;height:14px;stroke-width:2.2}.feature strong{font-size:9.5px;line-height:1.2}.feature small{font-size:5.5px;letter-spacing:.6px}.next{right:1%;top:1%}.offline{left:0;top:8%}.voice{right:0;top:41%}.ai{left:1%;bottom:23%}.free{right:0;bottom:2%}.cloud-a{left:70%;top:20%}.tree-b{display:none}}
@media(max-width:430px){.copy h1{font-size:min(13vw,6.6svh,51px)}.copy>p{max-width:32ch}.phone{width:min(52vw,205px)}.feature p{white-space:normal;text-align:left}.next,.voice,.free{right:-5px}.offline,.ai{left:-5px}}

/* Layered sky: clouds cross the full viewport at varied speeds and heights. */
.cloud-stream{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}.cloud-stream .cloud{--scale:1;--duration:34s;--delay:0s;--y:12%;position:absolute;top:var(--y);left:-190px;right:auto;width:105px;height:29px;opacity:.92;filter:drop-shadow(0 4px 0 rgba(53,122,34,.06));animation:cloudTravel var(--duration) linear var(--delay) infinite}.cloud-1{--scale:.55!important;--duration:31s!important;--delay:-20s!important;--y:7%!important;opacity:.78!important}.cloud-2{--scale:.9!important;--duration:39s!important;--delay:-4s!important;--y:14%!important}.cloud-3{--scale:.42!important;--duration:27s!important;--delay:-13s!important;--y:23%!important;opacity:.68!important}.cloud-4{--scale:1.12!important;--duration:48s!important;--delay:-35s!important;--y:31%!important}.cloud-5{--scale:.68!important;--duration:35s!important;--delay:-27s!important;--y:40%!important;opacity:.82!important}.cloud-6{--scale:.48!important;--duration:30s!important;--delay:-7s!important;--y:50%!important;opacity:.7!important}.cloud-7{--scale:.8!important;--duration:43s!important;--delay:-18s!important;--y:18%!important;opacity:.86!important}.cloud-8{--scale:.36!important;--duration:25s!important;--delay:-23s!important;--y:36%!important;opacity:.62!important}.cloud-9{--scale:.6!important;--duration:37s!important;--delay:-10s!important;--y:27%!important;opacity:.76!important}@keyframes cloudTravel{0%{transform:translate3d(0,0,0) scale(var(--scale))}25%{transform:translate3d(calc(25vw + 95px),-7px,0) scale(var(--scale))}50%{transform:translate3d(calc(50vw + 190px),3px,0) scale(var(--scale))}75%{transform:translate3d(calc(75vw + 285px),-5px,0) scale(var(--scale))}100%{transform:translate3d(calc(100vw + 380px),0,0) scale(var(--scale))}}

/* Callouts float freely without connector lines or anchor dots. */
.feature:before,.feature:after{display:none!important}

@media(prefers-reduced-motion:reduce){.cloud-stream .cloud{animation:none;left:18%}.cloud-stream .cloud:nth-child(2n){left:68%}.cloud-stream .cloud:nth-child(n+5){display:none}}

/* The landscape masks clouds whenever their path reaches the green area. */
.cloud-stream{z-index:0}.hill{z-index:1}

/* App screenshots cross-fade inside the phone without shifting its frame. */
.phone-screen{position:absolute;inset:17px 0 0;border-radius:30px 30px 0 0;overflow:hidden;background:#f7f3ea}.phone .screen{inset:0;width:100%;height:100%;object-fit:cover;object-position:top;border-radius:0;opacity:0;transform:scale(1.012);transition:opacity .42s ease,transform .62s ease}.phone .screen.active{opacity:1;transform:scale(1)}
@media(prefers-reduced-motion:reduce){.phone .screen{transition:none;transform:none}}
/* The phone shrinks on small screens, so its bezel and inner radius follow. */
@media(max-width:800px){.phone-screen{inset:13px 0 0;border-radius:25px 25px 0 0}}
/* From tablet up the whole device is on screen: a closed frame (all four
   corners, a bottom bezel with its home bar) lifted clear of the hero's
   edge. Below 801px it keeps rising out of the bottom, cropped by design.
   The height drives the width through aspect-ratio so a short window
   narrows the phone instead of squashing it. */
@media(min-width:801px){.showcase{padding-bottom:clamp(24px,4.4svh,52px)}.phone{width:auto;height:min(700px,calc(100svh - 210px));aspect-ratio:350/730;border-radius:44px}.phone-screen{inset:16px 0 19px;border-radius:29px}.phone:after{content:"";position:absolute;z-index:3;bottom:6px;left:50%;transform:translateX(-50%);width:34%;height:5px;border-radius:3px;background:#57534c}}
/* A short landscape screen cannot fit the composition; let it scroll instead. */
@media(max-width:800px) and (max-height:460px){.hero{height:auto;min-height:0}.layout{height:auto;grid-template-rows:auto}.showcase{height:420px}.copy{padding-block:18px}}

/* Quiet footer, deliberately outside the hero so it never competes with the CTA. */
.site-footer{min-height:118px;padding:30px max(32px,calc((100% - 1240px)/2));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:34px;background:var(--orange);font-size:12px}.footer-brand{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.52);font:700 23px var(--display);text-decoration:none}.site-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px}.site-footer nav a{color:#fff;font-weight:500;text-transform:uppercase;letter-spacing:.07em;text-decoration:none}.site-footer nav a:hover{color:rgba(255,255,255,.72)}.site-footer>p{justify-self:center;margin:0;padding:9px 15px;border-radius:30px;background:#fff;box-shadow:0 4px 0 rgba(140,56,2,.3);color:var(--ink);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.site-footer a:focus-visible{outline-color:#fff}

/* Legal pages share the brand, but leave the content to do the work. */
.legal-page{background:var(--cream)}ruebli-legal-header{display:block;min-height:88px}.legal-header{height:88px;width:min(1100px,calc(100% - 48px));justify-content:space-between;border-bottom:1px solid var(--line)}.legal-header .download{margin:0;animation:none;padding:12px 18px;box-shadow:0 4px 0 var(--deep)}.legal-main{width:min(760px,calc(100% - 48px));margin:0 auto;padding:72px 0 96px}.legal-eyebrow{margin:0 0 12px;color:#357a22;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.legal-main h1{font:700 clamp(44px,7vw,68px)/1 var(--display);letter-spacing:-2px;margin:0}.legal-updated{margin:16px 0 48px;color:var(--muted);font-size:14px}.legal-lead{font-size:20px;line-height:1.6;color:#3e4c35}.legal-main h2{font:700 24px/1.25 var(--display);margin:48px 0 14px}.legal-main h3{font:700 17px/1.4 var(--display);margin:28px 0 8px}.legal-main p,.legal-main li{font-size:16px;line-height:1.75;color:#4f4a43}.legal-main ul{padding-left:22px}.legal-main a{color:#317824;text-underline-offset:3px}.privacy-promise{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:36px 0 50px}.privacy-promise div{padding:20px;border:1px solid #dce9d2;border-radius:16px;background:#f4faef}.privacy-promise strong{display:block;font:700 16px var(--display);color:#357a22;margin-bottom:6px}.privacy-promise span{font-size:13px;line-height:1.5;color:#5b6754}.policy-table{width:100%;border-collapse:collapse;margin:24px 0}.policy-table th,.policy-table td{text-align:left;vertical-align:top;padding:15px 14px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.55}.policy-table th{color:#357a22;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.legal-note{padding:18px 20px;border-left:4px solid var(--orange);border-radius:0 12px 12px 0;background:#fff1e7}.legal-note p{margin:0}.legal-footer{min-height:auto}.legal-contact{display:inline-flex;margin-top:10px;padding:12px 16px;border-radius:12px;background:#eff7e9;font-weight:700;text-decoration:none}

@media(max-width:700px){.site-footer{grid-template-columns:1fr;text-align:center;gap:20px}.footer-brand{justify-content:center}.site-footer>p{white-space:normal}.legal-header{width:calc(100% - 32px);height:76px}.legal-header .brand{font-size:23px}.legal-header .brand img{width:35px;height:35px}.legal-header .download{font-size:12px;padding:10px 13px}.legal-main{width:calc(100% - 36px);padding:48px 0 72px}.privacy-promise{grid-template-columns:1fr}.policy-table{display:block;overflow-x:auto}.legal-footer .footer-brand{display:none}}
