@font-face{font-family:figtree fallback;src:local("Segoe UI"),local("Roboto"),local("Helvetica Neue"),local("Arial");size-adjust:100.5%;ascent-override:96%;descent-override:24%;line-gap-override:0%}:root{--font-sans:'Figtree Fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:700;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.5rem;--text-4xl:3rem;--text-5xl:3.5rem;--primary:#4a7a5a;--primary-light:#dce7e1;--primary-dark:#3a6048;--primary-glow:rgba(74, 122, 90, 0.12);--bg:#f4efe6;--fg:#2b2520;--muted:#7a6d61;--border:#d3cabb;--surface:#ece6d8;--surface-hover:#e4dccf;--header-bg:rgba(244, 239, 230, 0.88);--card-shadow:0 1px 3px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.03);--card-shadow-hover:0 4px 12px rgba(0,0,0,0.07), 0 12px 28px rgba(0,0,0,0.06);--radius:1rem;--radius-lg:1.5rem}.fonts-loaded{--font-sans:'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif}.hero-mockup-stack{position:relative;width:100%;padding-bottom:28px}.hero-desktop-img{display:block;width:100%;border-radius:12px;box-shadow:0 2px rgba(255,255,255,6%)inset,0 32px 64px rgba(0,0,0,.22),0 8px 24px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,8%);animation:heroDesktopIn .7s cubic-bezier(.16,1,.3,1).1s both}.hero-phone-img{position:absolute;bottom:0;right:-20px;width:30%;border-radius:22px;box-shadow:0 24px 48px rgba(0,0,0,.3),0 8px 16px rgba(0,0,0,.18),0 0 0 1px rgba(0,0,0,8%);animation:heroPhoneIn .8s cubic-bezier(.175,.885,.32,1.275).35s both}@media(max-width:1199px){.hero-phone-img{width:28%;right:-10px}}@media(max-width:767px){.hero-phone-img{display:none}}@media(max-width:767px){.hero-desktop-img{display:none}.hero-mockup-stack{padding-bottom:0;max-width:260px;margin:0 auto}.hero-phone-img{display:block;position:static;width:100%;border-radius:32px}}@keyframes heroDesktopIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes heroPhoneIn{from{opacity:0;transform:translateY(20px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.hero-image-wrapper{position:relative;width:100%;max-width:600px;margin:0 auto}.hero-image-wrapper .hero-glow{position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:80%;height:40px;background:radial-gradient(ellipse,rgba(74,122,90,.18) 0%,transparent 70%);filter:blur(16px);z-index:-1;pointer-events:none}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--fg);line-height:1.6;transition:background-color .3s,color .3s;overscroll-behavior-x:none}@media(max-width:767px){body{padding-top:4.5rem}}.container{max-width:1120px;margin:0 auto;padding:0 2rem}a{color:inherit;text-decoration:none;transition:color .2s ease,opacity .2s ease}.text-primary{color:var(--primary)}#mobile-nav-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:98;animation:fadeIn .2s ease}body:has(#mobile-menu-toggle:checked) #mobile-nav-backdrop{display:block}@keyframes fadeIn{from{opacity:0}to{opacity:1}}header{position:-webkit-sticky;position:sticky;top:0;z-index:100;width:100%;border-bottom:1px solid var(--border);background-color:var(--header-bg);backdrop-filter:blur(16px)saturate(1.8);-webkit-backdrop-filter:blur(16px)saturate(1.8);transform:translateZ(0);-webkit-transform:translateZ(0)}@media(max-width:767px){header{position:fixed}}header .nav-container{height:4.5rem;display:flex;align-items:center;justify-content:space-between}header .logo a{display:flex;align-items:center;gap:.625rem;font-size:1.4rem;font-weight:700;letter-spacing:-.01em}header .logo a svg,header .logo a .logo-img{flex-shrink:0;width:48px;height:48px}header .mobile-menu-toggle{display:none;background:0 0;border:none;cursor:pointer;padding:.5rem;margin-right:-.5rem;z-index:100}@media(max-width:767px){header .mobile-menu-toggle{display:block}}header .mobile-menu-toggle .hamburger{display:block;width:24px;height:2px;background:var(--fg);position:relative;transition:background .2s ease}header .mobile-menu-toggle .hamburger::before,header .mobile-menu-toggle .hamburger::after{content:'';position:absolute;width:24px;height:2px;background:var(--fg);transition:transform .2s ease}header .mobile-menu-toggle .hamburger::before{top:-7px}header .mobile-menu-toggle .hamburger::after{bottom:-7px}header body:has(#mobile-menu-toggle:checked) .mobile-menu-toggle .hamburger{background:0 0}header body:has(#mobile-menu-toggle:checked) .mobile-menu-toggle .hamburger::before{transform:translateY(7px)rotate(45deg)}header body:has(#mobile-menu-toggle:checked) .mobile-menu-toggle .hamburger::after{transform:translateY(-7px)rotate(-45deg)}header .nav-wrapper{display:flex;align-items:center;gap:1.5rem}@media(max-width:767px){header .nav-wrapper{position:fixed;top:0;right:0;height:100vh;width:280px;background:var(--bg);flex-direction:column;justify-content:center;gap:2rem;padding:2rem;border-left:1px solid var(--border);transform:translateX(100%);visibility:hidden;transition:transform .3s ease,visibility 0s ease .3s;z-index:99}body:has(#mobile-menu-toggle:checked) header .nav-wrapper{transform:translateX(0);visibility:visible;transition:transform .3s ease,visibility 0s ease 0s}header .nav-wrapper nav{display:flex;flex-direction:column;align-items:center;gap:1.5rem}header .nav-wrapper .actions{width:100%}header .nav-wrapper .actions .btn-primary{width:100%;justify-content:center;padding:.875rem 1.5rem}}header nav{display:none;gap:2.25rem;font-size:.9rem;font-weight:500;color:var(--muted)}@media(min-width:768px){header nav{display:flex}}header nav a{position:relative;color:var(--muted);transition:color .2s ease}header nav a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--primary);border-radius:1px;transition:width .25s ease}header nav a:hover{color:var(--fg)}header nav a:hover::after{width:100%}@media(max-width:767px){body:has(#mobile-menu-toggle:checked) header .actions{display:block}}@media(max-width:767px){header .nav-container{gap:0}}.logo-kulu{color:var(--fg)}.logo-dot-food{color:var(--primary)}.btn-primary{background-color:var(--primary);color:#fff;padding:.6rem 1.5rem;border-radius:9999px;font-weight:600;font-size:.875rem;display:inline-flex;align-items:center;gap:.5rem;transition:background-color .2s ease,transform .15s ease,box-shadow .2s ease;box-shadow:0 1px 3px rgba(74,122,90,.2)}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(74,122,90,.25)}.btn-primary:active{transform:translateY(0)}.btn-lg{padding:.85rem 2rem;font-size:1.05rem}section{padding:5rem 0}@media(min-width:1024px){section{padding:7rem 0}}.section-header{text-align:center;max-width:600px;margin:0 auto 4rem}.section-header h2{font-size:2rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:1rem}@media(min-width:640px){.section-header h2{font-size:2.5rem}}.section-header p{color:var(--muted);font-size:1.1rem;line-height:1.6}.hero-cta{margin-top:2rem;display:flex;flex-direction:column;align-items:flex-start;gap:0}.hero-cta .download-badges{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.hero-cta-row{display:flex;align-items:center;gap:.875rem}.hero-cta-hint{color:var(--muted);font-size:.8rem}.hero{padding-top:4rem}@media(min-width:1024px){.hero{padding-top:5rem}}.hero .grid{display:grid;gap:3rem;align-items:center}@media(min-width:1024px){.hero .grid{grid-template-columns:5fr 7fr;gap:3rem}}.hero .content h1{font-size:2.75rem;font-weight:700;line-height:1.15;letter-spacing:-.025em;margin-bottom:1.5rem}@media(min-width:640px){.hero .content h1{font-size:3.5rem}}.hero .content h1 span{display:block}.hero .content h1 span.text-primary{color:var(--primary)}.hero .content p{font-size:1.125rem;color:var(--muted);line-height:1.7;margin-bottom:2rem;max-width:480px}.hero .mockup-container{display:flex;justify-content:center}@media(min-width:1024px){.hero .mockup-container{justify-content:flex-end}}.why{background-color:var(--bg)}.why .why-inner{max-width:680px;margin:0 auto;text-align:center}.why .why-inner h2{font-size:2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1.75rem}@media(min-width:640px){.why .why-inner h2{font-size:2.5rem}}.why .why-inner p{color:var(--muted);font-size:1.05rem;line-height:1.75;margin-bottom:1.5rem}.why .why-inner .creator-note{border-left:3px solid var(--primary);background:var(--surface);border-radius:0 var(--radius)var(--radius)0;margin:2.5rem 0;padding:1.5rem 1.75rem;text-align:left;color:var(--fg);font-size:1.1rem;font-weight:500;line-height:1.75}.features{background-color:var(--surface)}.features h2{text-align:center;font-size:2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1rem}@media(min-width:640px){.features h2{font-size:2.5rem}}.features .grid{display:grid;gap:1.5rem;margin-top:3.5rem}@media(min-width:640px){.features .grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.features .grid{grid-template-columns:repeat(3,1fr)}}.feature-card{text-align:center;padding:2.25rem;background-color:var(--bg);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--card-shadow);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover);border-color:rgba(74,122,90,.3)}.feature-card .icon{height:4rem;width:4rem;color:var(--primary);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.feature-card .icon svg{width:3rem;height:3rem;flex-shrink:0}.feature-card h3{font-size:1.15rem;font-weight:700;margin-bottom:.75rem;letter-spacing:-.01em}.feature-card p{color:var(--muted);font-size:.9rem;line-height:1.6}.how-it-works{background-color:var(--bg);overflow:hidden}.hiw-timeline{max-width:800px;margin:0 auto;position:relative}.hiw-step{display:grid;grid-template-columns:60px 1fr 200px;gap:2rem;align-items:start;opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.hiw-step.hiw-visible{opacity:1;transform:translateY(0)}.hiw-step[data-step="2"]{transition-delay:.15s}.hiw-step[data-step="3"]{transition-delay:.3s}@media(max-width:768px){.hiw-step{grid-template-columns:48px 1fr;gap:1.25rem}.hiw-step .hiw-visual{display:none}}.hiw-step-number{position:relative;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.25rem}.hiw-step-number span{color:#fff;font-weight:700;font-size:1.25rem;z-index:2}.hiw-pulse{position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--primary);opacity:0}.hiw-step.hiw-visible .hiw-pulse{animation:hiwPulse 2.5s ease-out infinite}@keyframes hiwPulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.6);opacity:0}}.hiw-step-content .hiw-icon-box{width:56px;height:56px;background:var(--primary-light);color:var(--primary);border-radius:.875rem;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;transition:transform .3s ease,box-shadow .3s ease}.hiw-step-content .hiw-icon-box:hover{transform:scale(1.08)rotate(-3deg);box-shadow:0 4px 16px rgba(74,122,90,.2)}.hiw-step-content h3{font-size:1.3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.75rem}.hiw-step-content p{color:var(--muted);font-size:.95rem;line-height:1.65;max-width:360px}.hiw-connector{display:flex;flex-direction:column;align-items:center;padding-left:23px;height:60px;opacity:0;transition:opacity .5s ease .3s}.hiw-connector.hiw-visible{opacity:1}@media(max-width:768px){.hiw-connector{padding-left:23px;height:40px}}.hiw-connector-line{width:2px;flex:1;background:linear-gradient(to bottom,var(--primary),transparent);border-radius:1px;transform-origin:top;transform:scaleY(0)}.hiw-connector.hiw-visible .hiw-connector-line{animation:connectorGrow .8s ease-out .3s forwards}@keyframes connectorGrow{to{transform:scaleY(1)}}.hiw-connector-dot{width:8px;height:8px;background:var(--primary);border-radius:50%;flex-shrink:0;opacity:0;transition:opacity .3s ease .8s}.hiw-connector.hiw-visible .hiw-connector-dot{opacity:1}.hiw-visual{display:flex;align-items:center;justify-content:center}.hiw-anim{width:160px;height:160px;position:relative;display:flex;align-items:center;justify-content:center}.hiw-anim-search .hiw-search-ring{position:absolute;width:80px;height:80px;border:2px solid var(--primary);border-radius:50%;opacity:0}.hiw-anim-search .hiw-map-dots .dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--primary);opacity:0;transform:scale(0)}.hiw-anim-search .dot-1{top:20%;left:30%}.hiw-anim-search .dot-2{top:35%;left:65%}.hiw-anim-search .dot-3{top:55%;left:25%}.hiw-anim-search .dot-4{top:70%;left:55%}.hiw-anim-search .dot-5{top:40%;left:45%}.hiw-step.hiw-visible .hiw-anim-search .hiw-search-ring{animation:searchRing 2.5s ease-out infinite}.hiw-step.hiw-visible .hiw-anim-search .dot{animation:dotAppear .5s ease forwards}.hiw-step.hiw-visible .hiw-anim-search .dot-1{animation-delay:.6s}.hiw-step.hiw-visible .hiw-anim-search .dot-2{animation-delay:.9s}.hiw-step.hiw-visible .hiw-anim-search .dot-3{animation-delay:1.2s}.hiw-step.hiw-visible .hiw-anim-search .dot-4{animation-delay:1.5s}.hiw-step.hiw-visible .hiw-anim-search .dot-5{animation-delay:1.8s}@keyframes searchRing{0%{transform:scale(.3);opacity:.8}50%{transform:scale(1.2);opacity:.3}100%{transform:scale(1.8);opacity:0}}@keyframes dotAppear{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.3)}100%{opacity:1;transform:scale(1)}}.hiw-anim-details .hiw-card-stack{display:flex;flex-direction:column;gap:.5rem;width:100%}.hiw-anim-details .hiw-mini-card{background:var(--surface);border:1px solid var(--border);border-radius:.625rem;padding:.625rem .875rem;opacity:0;transform:translateX(30px);box-shadow:var(--card-shadow)}.hiw-anim-details .badge{font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:4px}.hiw-anim-details .badge-green{background:rgba(74,122,90,.15);color:var(--primary)}.hiw-anim-details .badge-blue{background:rgba(37,99,235,.1);color:#2563eb}.hiw-anim-details .badge-teal{background:rgba(20,184,166,.1);color:#0d9488}.hiw-step.hiw-visible .hiw-anim-details .card-a{animation:cardSlideIn .6s cubic-bezier(.16,1,.3,1).3s forwards}.hiw-step.hiw-visible .hiw-anim-details .card-b{animation:cardSlideIn .6s cubic-bezier(.16,1,.3,1).5s forwards}.hiw-step.hiw-visible .hiw-anim-details .card-c{animation:cardSlideIn .6s cubic-bezier(.16,1,.3,1).7s forwards}@keyframes cardSlideIn{0%{opacity:0;transform:translateX(30px)}100%{opacity:1;transform:translateX(0)}}.hiw-anim-contribute .hiw-points-burst{position:relative;display:flex;align-items:center;justify-content:center}.hiw-anim-contribute .hiw-trophy{font-size:2.5rem;opacity:0;transform:scale(0)}.hiw-anim-contribute .point-particle{position:absolute;font-size:.85rem;font-weight:700;color:var(--primary);opacity:0}.hiw-step.hiw-visible .hiw-anim-contribute .hiw-trophy{animation:trophyPop .6s cubic-bezier(.34,1.56,.64,1).3s forwards}.hiw-step.hiw-visible .hiw-anim-contribute .p1{animation:pointFloat 1s ease-out .5s forwards;--dx:-30px;--dy:-40px}.hiw-step.hiw-visible .hiw-anim-contribute .p2{animation:pointFloat 1s ease-out .7s forwards;--dx:35px;--dy:-35px}.hiw-step.hiw-visible .hiw-anim-contribute .p3{animation:pointFloat 1s ease-out .9s forwards;--dx:5px;--dy:-50px}@keyframes trophyPop{0%{opacity:0;transform:scale(0)rotate(-20deg)}60%{opacity:1;transform:scale(1.15)rotate(5deg)}100%{opacity:1;transform:scale(1)rotate(0)}}@keyframes pointFloat{0%{opacity:0;transform:translate(0,0)scale(.5)}40%{opacity:1;transform:translate(calc(var(--dx) * .5),calc(var(--dy) * .5))scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy))scale(.8)}}.faq .faq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.faq .faq-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;display:flex;flex-direction:column;gap:.75rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.faq .faq-card:hover{transform:translateY(-3px);box-shadow:var(--card-shadow-hover);border-color:rgba(74,122,90,.25)}.faq .faq-card h3{font-size:1.05rem;font-weight:700;line-height:1.45}.faq .faq-card p{color:var(--muted);font-size:.9rem;line-height:1.6}.faq-page .faq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.faq-page .faq-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;gap:1rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.faq-page .faq-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover);border-color:rgba(74,122,90,.3)}.faq-page .faq-card h3{font-size:1.15rem;font-weight:700;line-height:1.4}.faq-page .faq-card>div{color:var(--muted);line-height:1.65;font-size:.95rem}@media(max-width:640px){.faq-page .faq-grid{grid-template-columns:1fr!important}}.cta{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;text-align:center;position:relative;overflow:hidden}.cta::before{content:'';position:absolute;top:-50%;right:-20%;width:400px;height:400px;background:rgba(255,255,255,5%);border-radius:50%}.cta h2{font-size:2rem;font-weight:700;letter-spacing:-.02em}@media(min-width:640px){.cta h2{font-size:2.5rem}}.cta p{opacity:.9;margin:1.5rem auto 2.5rem;font-size:1.15rem;max-width:520px;line-height:1.6}.cta .btn-white{background-color:#fff;color:var(--primary-dark);padding:.9rem 2.25rem;border-radius:9999px;font-weight:700;font-size:1.05rem;display:inline-block;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;box-shadow:0 4px 14px rgba(0,0,0,.1)}.cta .btn-white:hover{background-color:#f0ebe2;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.15)}.cta .btn-white:active{transform:translateY(0)}footer{border-top:1px solid var(--border);padding:5rem 0 2rem;background-color:var(--bg)}footer .footer-inner{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:4rem}@media(max-width:1024px){footer .footer-inner{flex-direction:column;gap:3rem}}footer .footer-left{flex:1;max-width:400px;text-align:left}footer .footer-logo{display:flex;align-items:center;gap:.625rem;margin-bottom:1.25rem;font-size:1.7rem;font-weight:700;color:var(--fg)}footer .footer-logo svg,footer .footer-logo .logo-img{flex-shrink:0;width:48px;height:48px}footer .footer-tagline{font-size:1rem;color:var(--muted);margin-bottom:2rem;line-height:1.6}footer .footer-right{display:flex;gap:4rem}@media(max-width:640px){footer .footer-right{width:100%;flex-direction:column;gap:2.5rem}}footer .footer-nav-group h4{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--fg);margin-bottom:1.25rem}footer .footer-nav{list-style:none;padding:0;display:flex;flex-direction:column;gap:.75rem}footer .footer-nav li a{color:var(--muted);font-size:.95rem;font-weight:500;transition:color .2s ease}footer .footer-nav li a:hover{color:var(--primary)}footer .bottom{width:100%;margin-top:5rem;padding-top:1.5rem;border-top:1px solid var(--border);text-align:left;font-size:.875rem;color:var(--muted)}@media(max-width:1024px){footer .bottom{margin-top:3rem;text-align:center}}.download-badges{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap;scroll-margin-top:40vh}.download-badges .store-badge-link{display:inline-block;transition:transform .2s ease,opacity .2s ease}.download-badges .store-badge-link:hover{transform:scale(1.03);opacity:.9}.download-badges .store-badge-link:active{transform:scale(.98)}.download-badges .store-badge-img{height:3rem;width:auto;display:block}.prose p{margin-bottom:1rem;line-height:1.7;color:var(--muted)}.prose ul{padding-left:1.25rem;margin-bottom:1.5rem}.prose li{margin-bottom:.5rem;line-height:1.6;color:var(--muted)}.prose strong{color:var(--fg);font-weight:600}.prose h3{margin-bottom:1rem;font-weight:700}.link-primary{color:var(--primary);font-weight:600;font-size:1.05rem;transition:opacity .2s ease}.link-primary:hover{opacity:.8}.legal-page{padding:3rem 0 5rem}.legal-page .legal-container{max-width:720px}.legal-page h1{font-size:2.25rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.75rem;line-height:1.2}@media(min-width:640px){.legal-page h1{font-size:2.75rem}}.legal-page h2{font-size:1.35rem;font-weight:700;margin-top:2.5rem;margin-bottom:.75rem;letter-spacing:-.01em}.legal-page h3{font-size:1.1rem;font-weight:600;margin-top:1.5rem;margin-bottom:.5rem}.legal-page p{color:var(--muted);line-height:1.75;margin-bottom:1rem;font-size:.95rem}.legal-page ul,.legal-page ol{padding-left:1.5rem;margin-bottom:1.25rem}.legal-page li{color:var(--muted);line-height:1.7;margin-bottom:.4rem;font-size:.95rem}.legal-page strong{color:var(--fg);font-weight:600}.legal-page em{color:var(--muted);font-style:italic}.legal-page hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}.legal-page a{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.legal-page a:hover{opacity:.8}.legal-page code{background:var(--surface);padding:.15em .4em;border-radius:.25rem;font-size:.875em}article.content-page{max-width:720px;margin:0 auto;padding:3rem 2rem 5rem}.error-page{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:4rem 2rem;text-align:center}.error-page__inner{display:flex;flex-direction:column;align-items:center;gap:1rem}.error-page__code{font-size:6rem;font-weight:700;color:var(--color-primary,#4a9e6e);line-height:1;margin:0}.error-page__title{font-size:1.75rem;font-weight:700;margin:0}.error-page__message{color:#666;margin:0 0 1rem}.city-header{padding:4rem 0 3rem;max-width:900px}.city-header .breadcrumbs{margin-bottom:1.5rem;font-size:.875rem;font-weight:500;color:var(--muted)}.city-header .breadcrumbs a{transition:color .2s ease}.city-header .breadcrumbs a:hover{color:var(--primary)}.city-header h1{font-size:2.5rem;font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:1.25rem;color:var(--fg)}@media(max-width:768px){.city-header h1{font-size:2rem}}.city-header .city-intro{font-size:1.0625rem;line-height:1.6;color:var(--muted);margin-bottom:2rem}.city-header .city-intro strong{color:var(--fg)}.highlight-link{position:relative;color:var(--primary-dark);font-weight:600;text-decoration:none;isolation:isolate;padding:0 4px}.highlight-link::before{content:'';position:absolute;inset:-1px -4px;z-index:-1;background:rgba(74,122,90,.18);clip-path:polygon(0% 22%,100% 4%,100% 96%,0% 78%)}.restaurant-grid{display:grid;gap:1.25rem;margin-top:2.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.restaurant-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;transition:all .25s cubic-bezier(.4,0,.2,1)}.restaurant-card:hover{transform:translateY(-3px);box-shadow:var(--card-shadow-hover);border-color:var(--primary)}.restaurant-info h3{font-size:1.125rem;font-weight:700;margin-bottom:.5rem;color:var(--fg);line-height:1.3}.restaurant-info .address{font-size:.9rem;color:var(--muted);margin-bottom:.2rem}.restaurant-info .city-state{font-size:.85rem;color:var(--muted);opacity:.8;margin:0}.restaurant-actions{display:flex}.restaurant-actions .btn-primary{width:100%;justify-content:center}.restaurant-actions .btn-primary{width:100%;justify-content:center}.btn-outline{background:0 0!important;color:var(--primary)!important;border:1.5px solid var(--primary)!important;box-shadow:none!important}.btn-outline:hover{background:var(--primary)!important;color:#fff!important}.city-bottom-cta{margin-top:4rem;padding:3.5rem 2.5rem;background-color:var(--primary);border-radius:var(--radius-lg);text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.city-bottom-cta .city-bottom-cta-heading{font-size:1.75rem;font-weight:700;color:#fff;line-height:1.2;letter-spacing:-.02em;margin:0}@media(max-width:600px){.city-bottom-cta .city-bottom-cta-heading{font-size:1.4rem}}.city-bottom-cta .city-bottom-cta-sub{font-size:1rem;color:rgba(255,255,255,.8);margin:0 0 .5rem;max-width:480px;line-height:1.6}.city-bottom-cta .btn-primary{background-color:#fff!important;color:var(--primary)!important;box-shadow:0 4px 16px rgba(0,0,0,.15)!important;font-size:1rem;padding:.8rem 2rem}.city-bottom-cta .btn-primary:hover{background-color:var(--primary-light)!important;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.2)!important}.search-container{max-width:600px;margin:0 auto 3rem}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1.25rem;color:var(--muted);pointer-events:none}#city-search{width:100%;padding:1rem 1rem 1rem 3.5rem;font-size:1.125rem;font-family:inherit;background-color:var(--surface);border:2px solid var(--border);border-radius:var(--radius);color:var(--fg);transition:all .2s ease;outline:none}#city-search:focus{border-color:var(--primary);background-color:var(--bg);box-shadow:0 0 0 4px var(--primary-glow)}.city-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:0}.city-card{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:inherit;position:relative;overflow:hidden}.city-card:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:var(--card-shadow-hover)}.city-card:hover h3{color:var(--primary)}.city-card-content{position:relative;z-index:1}.city-card h3{font-size:1.25rem;font-weight:700;margin:0 0 .25rem;transition:color .2s ease}.restaurant-count{font-size:.9rem;color:var(--muted);font-weight:500}.city-card-arrow{position:relative;z-index:1;color:var(--primary);transform:translateX(-4px);opacity:0;transition:all .2s ease}.city-card:hover .city-card-arrow{transform:translateX(0);opacity:1}.btn-outline{background:0 0!important;color:var(--primary)!important;border:2px solid var(--primary)!important;box-shadow:none!important}.btn-outline:hover{background:var(--primary)!important;color:#fff!important}.no-results{padding:4rem 0;text-align:center}.no-results-content{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--muted)}.no-results p{font-size:1.25rem;font-weight:500}.btn-link{background:0 0;border:none;color:var(--primary);font-weight:600;text-decoration:underline;cursor:pointer;padding:0;font-size:1rem}@media(max-width:640px){.city-grid{grid-template-columns:1fr}}.donation-grid{display:grid;gap:1.5rem;margin-top:2rem;margin-bottom:2rem}@media(min-width:640px){.donation-grid{grid-template-columns:1fr}}.donation-card{background:var(--surface);padding:2.5rem 2rem;border-radius:var(--radius);border:1px solid var(--border);text-align:center;transition:transform .2s ease,box-shadow .2s ease}.donation-card:hover{transform:translateY(-2px);box-shadow:var(--card-shadow-hover)}.donation-card .donation-icon{font-size:3rem;margin-bottom:1.25rem;display:block}.donation-card h3{margin-top:0!important;margin-bottom:.75rem!important;font-size:1.5rem!important;font-weight:700!important}.donation-card p{font-size:1rem!important;color:var(--muted)!important;margin-bottom:2rem!important;max-width:480px;margin-left:auto;margin-right:auto;line-height:1.6!important}.donation-card .donation-link{display:inline-block;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.donation-card .donation-link:hover{transform:scale(1.08)}.donation-card .donation-link img{display:block;margin:0 auto;height:50px;box-shadow:0 4px 12px rgba(0,0,0,.1);border-radius:12px}.coming-soon-container{display:flex;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:4rem 1rem}.coming-soon-container h1{font-size:var(--text-4xl);color:var(--fg);margin-bottom:1.5rem;font-weight:var(--font-weight-bold)}.coming-soon-container p{font-size:var(--text-lg);color:var(--muted);line-height:1.6;margin-bottom:2.5rem}@media(max-width:767px){.coming-soon-container h1{font-size:var(--text-3xl)}}.coming-soon-content{max-width:600px}.callback-container{display:flex;align-items:center;justify-content:center;min-height:70vh;padding:4rem 1.5rem}.callback-content{width:100%;max-width:480px}.auth-status-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:3.5rem 2rem;text-align:center;box-shadow:var(--card-shadow-hover);display:flex;flex-direction:column;align-items:center;gap:1.5rem;transition:all .3s ease}.auth-status-card h1{font-size:1.75rem;font-weight:700;margin:0;letter-spacing:-.02em}.auth-status-card p{color:var(--muted);line-height:1.6;margin:0;font-size:1rem}.auth-status-card.status-error .spinner-ring{border-color:#ef4444;border-top-color:transparent;animation:none}.auth-status-card.status-error .spinner-check{color:#ef4444;opacity:1;transform:scale(1)}.auth-logo{margin-bottom:1rem}.auth-logo svg,.auth-logo .logo-img{width:64px;height:64px;display:block;margin:0 auto}.auth-spinner{position:relative;width:80px;height:80px;margin-bottom:.5rem}.spinner-ring{position:absolute;inset:0;border:4px solid var(--primary-light);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.spinner-check{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--primary);opacity:0;transform:scale(.5);transition:all .5s cubic-bezier(.34,1.56,.64,1)}.spinner-check svg{width:40px;height:40px}.manual-redirect{margin-top:1rem;padding-top:1.5rem;border-top:1px solid var(--border);width:100%;animation:fadeIn .5s ease}.manual-redirect p{font-size:.875rem;margin-bottom:1.25rem}.manual-redirect .btn-primary{width:100%;justify-content:center}.auth-footer{margin-top:1rem}.link-secondary{font-size:.875rem;color:var(--muted);text-decoration:underline;text-underline-offset:4px}.link-secondary:hover{color:var(--fg)}@keyframes spin{to{transform:rotate(360deg)}}