  :root{
    /* ---- Prekės ženklo spalvos (tiksliai iš "Grabit" dizaino sistemos) ---- */
    --orange:      #F5825E;   /* Orange · Primary — CTA mygtukai, pagrindiniai veiksmai */
    --orange-dark: #DD6B47;   /* tamsesnė, hover būsenoms */
    --green:       #5EA577;   /* Green · Accent — kainos, sėkmės būsenos, aktyvūs elementai */
    --green-light: #ECF8F0;   /* Green Light — akcentinių ikonų fonai */
    --white:       #FFFFFF;   /* ekrano fonas, kortelių fonas */
    --smoke:       #F2F2F7;   /* antrinis fonas, sąrašo eilučių fonas */
    --silver:      #D1D1D6;   /* plonos linijos, skirtukai */
    --gray:        #8E8E93;   /* antraeilis / paaiškinimų tekstas */
    --charcoal:    #3A3A3C;   /* pagrindinis tekstas (niekada gryna juoda) */
    --black:       #1C1C1E;   /* tamsiausias neutralas — footer, tamsūs blokai */
    --danger:      #C0392B;

    /* Šie pseudonimai naudojami senesniame kode žemiau, kad viskas liktų suderinta */
    --ink:         var(--charcoal);
    --ink-soft:    var(--gray);
    --mint:        var(--smoke);
    --cream:       var(--white);
    --green-deep:  #305F40;  /* medium forest green — footer, dark panels (clearly not black) */

    /* ---- Tipografija: viena šeima, trys svoriai (kaip programėlėje) ---- */
    --font-display: 'Nunito', system-ui, sans-serif;   /* naudoti su weight 900 (Black) */
    --font-body:    'Nunito', system-ui, sans-serif;   /* 400 tekstui, 700 pavadinimams */

    /* ---- Spinduliai (radius token'ai iš dizaino sistemos) ---- */
    --radius-md: 12px;   /* chips, inputs */
    --radius-lg: 16px;   /* list rows */
    --radius-xl: 20px;   /* cards, modals */
    --radius-xxl: 24px;  /* large sheets */
    --radius-pill: 999px; /* buttons, tab bar */

    /* ---- Elevation (šešėliai — visada tamsus neutralas, niekad gryna juoda) ---- */
    --shadow-card:    0 2px 8px rgba(28,28,30,0.07);
    --shadow-elevated: 0 4px 16px rgba(28,28,30,0.07);
    --shadow-modal:   0 8px 24px rgba(28,28,30,0.07);
    --shadow-soft: var(--shadow-elevated);
    --shadow-btn: 0 10px 22px -8px rgba(245,130,94,0.45);
    --container: 1180px;
  }

  /* ---- Glass receptai (tiksliai pagal dizaino sistemą) ---- */
  /* LIGHT — šerkšno kortelės ant balto/šviesaus fono arba nuotraukų */
  .glass{
    background:rgba(255,255,255,0.20);
    backdrop-filter:blur(34px);
    -webkit-backdrop-filter:blur(34px);
    background-image:linear-gradient(180deg, rgba(255,255,255,0.20) 0%, rgba(255,255,255,0.05) 50%, transparent 50%);
    border:1px solid rgba(0,0,0,0.06);
    border-radius:var(--radius-xl);
    box-shadow:0 4px 16px rgba(0,0,0,0.10);
  }
  /* CTA — naudoti TIK ant spalvoto / nuotraukos fono, niekad ant paprasto balto */
  .glass-cta{
    background:rgba(255,255,255,0.07);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    background-image:linear-gradient(180deg, rgba(255,255,255,0.22) 0%, rgba(255,255,255,0.02) 50%, transparent 50%);
    border:1px solid rgba(255,255,255,0.18);
    border-radius:var(--radius-pill);
    box-shadow:0 8px 16px rgba(0,0,0,0.30);
    color:var(--white);
  }

  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; overflow-x:hidden; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *{ animation:none !important; transition:none !important; }
  }

  body{
    margin:0;
    font-family:var(--font-body);
    color:var(--ink);
    background-color:var(--white);
    -webkit-font-smoothing:antialiased;
    position:relative;
  }

  .skip-link{
    position:absolute; left:-9999px; top:auto;
    background:var(--charcoal); color:var(--white);
    padding:12px 20px; border-radius:0 0 10px 0;
    font-weight:700; font-size:14px;
    z-index:1000;
  }
  .skip-link:focus{ left:0; top:0; }

  img{ max-width:100%; display:block; }
  a{ color:inherit; text-decoration:none; }
  ul{ margin:0; padding:0; list-style:none; }
  section{ position:relative; }

  .wrap{
    max-width:var(--container);
    margin:0 auto;
    padding:0 clamp(16px, 4vw, 28px);
  }
  /* Grid/flex elementai negali būti siauresni nei jų turinys, todėl
     be min-width:0 jie ištempia konteinerį ir atsiranda horizontalus slinkimas */
  .hero-grid > *, .showcase > *, .biz > *, .steps > *,
  .impact-grid > *, .foot-grid > *, .final-cta > *{ min-width:0; }

  h1,h2,h3{
    font-family:var(--font-display);
    font-weight:900;
    color:var(--charcoal);
    line-height:1.08;
    margin:0;
  }

  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:var(--font-body);
    font-weight:800;
    font-size:13px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--orange-dark);
    background:rgba(245,130,94,0.12);
    padding:7px 16px;
    border-radius:var(--radius-pill);
  }

  .skip-link{
    position:absolute; left:-999px; top:0;
    background:var(--ink); color:var(--white);
    padding:10px 16px; border-radius:0 0 10px 0; z-index:200;
  }
  .skip-link:focus{ left:0; }

  :focus-visible{ outline:3px solid var(--orange); outline-offset:3px; }

  /* ============ Pill / glass buttons (atspindi programėlės mygtukus) ============ */
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    height:54px;
    padding:0 28px;
    border-radius:var(--radius-pill);
    font-family:var(--font-body);
    font-weight:900;
    font-size:16px;
    letter-spacing:0.01em;
    border:1px solid transparent;
    cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
    white-space:nowrap;
  }
  .btn:active{ opacity:0.8; }

  .btn-solid{
    background:var(--orange);
    color:var(--white);
    box-shadow:var(--shadow-btn);
  }
  .btn-solid:hover{ background:var(--orange-dark); transform:translateY(-2px); }

  .btn-white{
    background:var(--white);
    color:var(--ink);
    border-color:rgba(18,32,25,0.10);
    box-shadow:0 12px 26px -14px rgba(18,32,25,0.28);
  }
  .btn-white:hover{ transform:translateY(-2px); }

  .btn-outline{
    background:transparent;
    color:var(--white);
    border-color:rgba(255,255,255,0.55);
  }
  .btn-outline:hover{ background:rgba(255,255,255,0.12); }

  .btn-sm{ height:46px; padding:0 20px; font-size:14px; }

  /* ============ Header ============ */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    padding:16px 0;
  }
  header .bar{
    display:flex; align-items:center; justify-content:space-between;
    background:rgba(255,255,255,0.72);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border:1px solid rgba(255,255,255,0.7);
    border-radius:var(--radius-pill);
    padding:8px 10px 8px 14px;
    box-shadow:0 12px 30px -18px rgba(18,32,25,0.35);
  }
  .brand{ display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:700; font-size:20px; color:var(--green-deep); }
  .wordmark{ height:34px; width:auto; display:block; }
  header .wordmark{ height:32px; }
  .foot-brand .wordmark{ height:38px; }

  nav.main-nav{ display:flex; align-items:center; gap:28px; }
  nav.main-nav a{ font-weight:600; font-size:14.5px; color:var(--ink-soft); transition:color .15s; }
  nav.main-nav a:hover{ color:var(--green-deep); }

  .header-actions{ display:flex; align-items:center; gap:14px; }

  .menu-toggle{ display:flex; align-items:center; }
  .menu-toggle input{ display:none; }
  .mobile-only-cta{ display:none; }
  .menu-toggle label{
    display:none; width:42px; height:42px; border-radius:50%;
    align-items:center; justify-content:center; cursor:pointer;
    background:var(--mint);
  }
  .menu-toggle label span, .menu-toggle label span::before, .menu-toggle label span::after{
    content:''; display:block; width:18px; height:2px; background:var(--green-deep); position:relative; transition:.2s;
  }
  .menu-toggle label span::before{ position:absolute; top:-6px; }
  .menu-toggle label span::after{ position:absolute; top:6px; }

  /* ============ Hero ============ */
  .hero{
    padding:150px 0 90px;
    background:linear-gradient(180deg, var(--mint) 0%, var(--white) 78%);
    overflow:hidden;
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:48px;
    align-items:center;
  }
  .food-field{
    position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden;
  }
  .food-field svg{ position:absolute; color:var(--green); opacity:0.08; animation:bob 9s ease-in-out infinite; }
  .food-field svg:nth-child(odd){ animation-duration:11s; }
  .food-field svg:nth-child(3n){ animation-duration:13s; }
  .site-food-field{
    position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden;
  }
  .site-food-field svg{ position:absolute; color:var(--green); opacity:0.07; animation:bob 9s ease-in-out infinite; }
  .site-food-field svg:nth-child(odd){ animation-duration:11s; }
  .site-food-field svg:nth-child(3n){ animation-duration:13s; }
  main, footer{ position:relative; z-index:1; }
  @keyframes bob{
    0%,100%{ transform:translateY(0) rotate(var(--r,0deg)); }
    50%{ transform:translateY(-7px) rotate(var(--r,0deg)); }
  }

  .hero-copy{ position:relative; z-index:1; }
  .hero-copy h1{
    font-size:clamp(44px, 7.5vw, 92px);
    letter-spacing:-0.02em;
    margin:20px 0 22px;
  }
  .hero-copy h1 em{ font-style:normal; color:var(--orange); }
  .hero-copy p.lead{
    font-size:18px; line-height:1.6; color:var(--ink-soft);
    max-width:520px; margin:0 0 30px;
  }
  .store-row{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:18px; }
  .store-note{ font-size:13.5px; color:var(--ink-soft); }

  .hero-visual{ position:relative; z-index:1; }
  .hero-card{
    padding:34px 30px;
    position:relative;
  }
  .hero-photo{
    width:100%; height:auto; aspect-ratio:4/3; object-fit:cover;
    display:block; border-radius:var(--radius-xl);
  }

  .float-chip{
    position:absolute;
    display:flex; align-items:center; gap:10px;
    padding:12px 16px;
    font-weight:700; font-size:14px;
    color:var(--green-deep);
  }
  .float-chip svg{ width:20px; height:20px; color:var(--green); flex-shrink:0; }
  .chip-1{ top:-10px; left:-18px; animation:bob 6s ease-in-out infinite; }
  .chip-2{ bottom:-14px; right:-14px; animation:bob 7.5s ease-in-out infinite reverse; }

  .rating-row{
    display:flex; align-items:center; flex-wrap:wrap; gap:8px;
    margin-top:22px; font-size:14px; color:var(--ink-soft);
  }
  .rating-row strong{ color:var(--ink); font-family:var(--font-body); font-weight:800; }
  .rating-stars{ display:inline-flex; gap:2px; }
  .rating-stars svg{ width:15px; height:15px; color:var(--orange); }
  .rating-badge{
    display:inline-flex; align-items:center;
    font-size:11.5px; font-weight:800; letter-spacing:0.05em; text-transform:uppercase;
    color:var(--green-deep); background:var(--green-light);
    border:1px solid rgba(94,165,119,0.28);
    padding:5px 11px; border-radius:var(--radius-pill); flex-shrink:0;
  }
  .impact-source{
    margin:18px 0 0; text-align:center;
    font-size:12.5px; line-height:1.55; color:rgba(255,255,255,0.5);
  }
  .rating-sep{ opacity:0.5; }

  /* ============ Stat strip ============ */
  .stat-strip{ padding:36px 0; border-top:1px solid rgba(18,32,25,0.08); border-bottom:1px solid rgba(18,32,25,0.08); }
  .stat-strip .wrap{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; }
  .stat-strip .item{ text-align:center; flex:1; min-width:150px; }
  .stat-strip .item strong{ display:block; font-family:var(--font-display); font-size:clamp(22px,3vw,30px); color:var(--green-deep); }
  .stat-strip .item span{ font-size:13.5px; color:var(--ink-soft); }

  /* ============ Section heading ============ */
  .section-head{ max-width:640px; margin:0 0 46px; }
  .section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
  .section-head h2{ font-size:clamp(28px,3.4vw,40px); margin-top:16px; }
  .section-head p{ color:var(--ink-soft); font-size:16.5px; line-height:1.6; margin-top:14px; }

  section.pad{ padding:clamp(56px, 8vw, 100px) 0; }

  .phone-sm{ width:min(240px,100%); padding:10px; border-radius:34px; }
  .phone-sm .phone-screen{ border-radius:24px; min-height:auto; padding:16px 12px 20px; }
  .phone-sm .notch{ width:64px; height:16px; margin-bottom:14px; }
  .phone-sm .ph-title{ font-size:15px; margin-bottom:10px; }
  .phone-sm .listing{ padding:9px; margin-bottom:9px; gap:7px; align-items:center; }
  .phone-sm .listing .thumb{ width:32px; height:32px; border-radius:9px; }
  .phone-sm .listing .thumb svg{ width:17px; height:17px; }
  .phone-sm .listing .meta .name{ font-size:11.5px; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .phone-sm .listing .meta .sub{ font-size:10px; margin-top:1px; }
  .phone-sm .listing .price .now{ font-size:11.5px; white-space:nowrap; }
  .phone-sm .listing .price .old{ display:none; }

  /* ============ Partneriai ============ */
  .partners{ padding:8px 0 56px; }
  .partners-label{
    font-size:12.5px; font-weight:800; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--gray); margin:0 0 22px;
  }
  .partners-marquee{
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  }
  .partners-track{
    display:flex; gap:14px; width:max-content;
    animation:partners-scroll 18s linear infinite;
  }
  .partners-marquee:hover .partners-track,
  .partners-track:focus-within{
    animation-play-state:paused;
  }
  @keyframes partners-scroll{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
  }
  @media (prefers-reduced-motion: reduce){
    .partners-track{ animation:none; }
  }
  .partner-logo{
    flex:0 0 220px; width:220px; min-width:0;
    display:flex; align-items:center; justify-content:center;
    min-height:120px; padding:14px 22px;
    border-radius:var(--radius-xl);
    background:var(--white);
    border:1px solid rgba(28,28,30,0.07);
    box-shadow:var(--shadow-card);
    text-align:center;
  }
  .partner-name{
    font-family:var(--font-display); font-weight:900;
    font-size:19px; line-height:1.15; color:var(--green-deep);
    letter-spacing:-0.01em;
  }
  .partner-name em{ font-style:normal; color:var(--orange); }
  .partner-logo img{
    max-height:92px; max-width:100%; width:auto;
    object-fit:contain; display:block;
  }
  .partners-cta{
    display:flex; align-items:center; justify-content:center; gap:8px;
    margin:20px auto 0; max-width:340px;
    padding:14px 22px; cursor:pointer;
    border-radius:var(--radius-pill);
    background:transparent;
    border:1.5px dashed rgba(94,165,119,0.45);
    font-family:var(--font-body); font-weight:700; font-size:13.5px; line-height:1.3;
    color:var(--gray);
    transition:border-color .18s ease, color .18s ease, background .18s ease;
  }
  .partners-cta-plus{
    font-size:17px; font-weight:900; line-height:1; color:var(--green);
  }
  .partners-cta:hover{
    border-color:var(--green); color:var(--green-deep); background:var(--green-light);
  }

  /* ============ How it works ============ */
  .steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px, 2.4vw, 26px); }
  .step-card{
    padding:28px 24px 32px;
    background:var(--white);
    border:1px solid rgba(28,28,30,0.06);
    box-shadow:var(--shadow-card);
    border-radius:var(--radius-xl);
    position:relative;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .step-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-elevated); }
  .step-num{
    position:absolute; top:20px; right:20px; z-index:2;
    font-family:var(--font-display); font-size:14px; font-weight:900;
    color:var(--white); background:var(--orange);
    width:30px; height:30px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 4px 10px rgba(245,130,94,0.4);
  }
  .step-card h3{ font-size:21px; margin:20px 0 10px; }
  .step-card p{ color:var(--gray); font-size:15px; line-height:1.6; margin:0; }
  .step-phone{ margin:0 auto; }
  .step-phone.phone-sm{ width:min(218px,100%); height:378px; }
  .step-phone.phone-sm .phone-screen{ height:calc(100% - 20px); display:flex; flex-direction:column; }
  .phone-fill{ flex:1; display:flex; flex-direction:column; justify-content:center; }

  .step-confirm{ text-align:center; padding:10px 4px 4px; }
  .step-confirm-icon{
    width:40px; height:40px; border-radius:50%;
    background:var(--green-light); color:var(--green);
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 12px;
  }
  .step-confirm-name{ font-family:var(--font-display); font-weight:800; font-size:13.5px; color:var(--charcoal); margin-bottom:6px; }
  .step-confirm-code{ font-size:12px; color:var(--gray); font-weight:700; letter-spacing:0.02em; }
  .step-confirm-time{ font-size:11.5px; color:var(--green); font-weight:700; margin-top:6px; }
  .step-confirm-qr{ width:72px; height:72px; margin:0 auto 10px; border-radius:8px; overflow:hidden; border:1px solid rgba(28,28,30,0.08); }
  .step-confirm-qr svg{ width:100%; height:100%; display:block; }

  /* ============ For business ============ */
  .biz{
    background:var(--green-deep);
    color:var(--white);
    border-radius:40px;
    padding:64px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:48px;
    align-items:center;
  }
  .biz h2{ color:var(--white); font-size:clamp(26px,3vw,36px); }
  .biz p.lead{ color:rgba(255,255,255,0.78); font-size:16.5px; line-height:1.65; margin:16px 0 26px; }
  .biz-list{ display:flex; flex-direction:column; gap:16px; margin-bottom:30px; }
  .biz-list li{ display:flex; gap:12px; align-items:flex-start; font-size:15.5px; color:rgba(255,255,255,0.92); }
  .biz-list svg{ width:22px; height:22px; color:var(--green); flex-shrink:0; margin-top:1px; }
  .biz-card{
    background:rgba(255,255,255,0.07);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    background-image:linear-gradient(180deg, rgba(255,255,255,0.14) 0%, rgba(255,255,255,0.02) 60%, transparent 60%);
    border:1px solid rgba(255,255,255,0.18);
    box-shadow:0 8px 16px rgba(0,0,0,0.25);
    border-radius:var(--radius-xl);
    padding:30px;
  }
  .biz-card-kicker{ font-size:13px; font-weight:800; letter-spacing:0.03em; text-transform:uppercase; color:rgba(255,255,255,0.65); margin:0 0 16px; }
  .biz-card-list{ display:flex; flex-direction:column; gap:16px; }
  .biz-card-list li{ display:flex; align-items:flex-start; gap:10px; font-size:15px; color:var(--white); line-height:1.4; }
  .biz-card-list svg{ width:20px; height:20px; color:var(--green-light); flex-shrink:0; margin-top:1px; }

  /* ============ Impact ============ */
  .impact{ background:var(--green-deep); color:var(--white); padding:clamp(52px, 6vw, 72px) 0; }
  .impact .section-head h2{ color:var(--white); }
  .impact .section-head p{ color:rgba(255,255,255,0.72); }
  .impact-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(10px, 1.4vw, 16px); margin-top:16px; }
  .impact-item{
    text-align:center; padding:22px 14px;
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.1);
    border-radius:18px;
  }
  .impact-item strong{
    display:block; font-family:var(--font-display);
    font-size:clamp(26px,3vw,36px); color:var(--orange);
  }
  .impact-item span{ font-size:13px; color:rgba(255,255,255,0.7); }

  .impact-callout{
    margin-top:18px;
    background:var(--charcoal);
    border-radius:18px;
    padding:clamp(18px, 2.2vw, 26px);
  }
  .impact-callout .eyebrow{ display:inline-block; margin-bottom:10px; }
  .impact-callout p{ margin:0; font-size:14.5px; line-height:1.6; color:rgba(255,255,255,0.85); max-width:760px; }

  /* ============ Įkūrėjų žodis ============ */
  .founder-note{ padding-top:0; }
  .founder-card{
    max-width:760px; margin:0 auto; text-align:center;
    background:var(--mint); border-radius:24px;
    padding:clamp(32px, 5vw, 52px) clamp(24px, 5vw, 56px);
  }
  .founder-quote-mark{ color:var(--orange); opacity:0.8; margin-bottom:18px; }
  .founder-quote{
    font-family:var(--font-display); font-weight:700;
    font-size:clamp(19px, 2.2vw, 24px); line-height:1.5;
    color:var(--ink);
  }
  .founder-sig{
    margin-top:26px; display:flex; align-items:center; justify-content:center; gap:12px;
    font-size:14px; font-weight:700; color:var(--ink-soft);
  }
  .founder-avatar{
    height:26px; display:flex; align-items:center; flex-shrink:0;
  }
  .founder-avatar img{ height:100%; display:block; }

  /* ============ App showcase ============ */
  .showcase{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:clamp(28px, 4vw, 56px); align-items:start; }
  .showcase-copy{ padding-top:clamp(0px, 4vw, 48px); }
  .phone{
    width:min(320px,100%);
    max-width:100%;
    margin:0 auto;
    background:var(--ink);
    border-radius:44px;
    padding:14px;
    box-shadow:var(--shadow-soft);
  }
  .phone-screen{
    background:var(--mint);
    border-radius:32px;
    padding:20px 16px 26px;
    min-height:520px;
    position:relative;
    overflow:hidden;
  }
  .phone-screen .notch{ width:90px; height:22px; background:var(--ink); border-radius:0 0 16px 16px; margin:0 auto 18px; }
  .phone-screen .ph-title{ font-family:var(--font-display); font-weight:700; color:var(--green-deep); font-size:18px; margin-bottom:14px; }
  .listing{
    background:var(--white); border:1px solid rgba(28,28,30,0.06); border-radius:var(--radius-lg); padding:14px; margin-bottom:14px;
    display:flex; gap:12px; box-shadow:var(--shadow-card);
  }
  .listing .thumb{ width:56px; height:56px; border-radius:14px; flex-shrink:0; display:flex; align-items:center; justify-content:center; }
  .listing .thumb svg{ width:28px; height:28px; color:var(--white); }
  .listing .meta{ flex:1; min-width:0; }
  .listing .meta .name{ font-weight:700; font-size:14.5px; color:var(--ink); }
  .listing .meta .sub{ font-size:12.5px; color:var(--ink-soft); margin-top:2px; }
  .listing .price{ text-align:right; flex-shrink:0; }
  .listing .price .now{ font-weight:800; color:var(--green); font-size:15px; }
  .listing .price .old{ font-size:12px; color:#b5b5ac; text-decoration:line-through; }

  /* ---- Map illustration: shows the actual idea (nearby partners on a map,
     with distance + pickup window) instead of an arbitrary icon cluster. ---- */
  .map-card{
    position:relative;
    width:min(440px, 100%);
    aspect-ratio:1/1;
    margin:0 0 0 clamp(0px, 2vw, 12px);
    margin-left:clamp(-32px, -4vw, 0px);
    border-radius:32px;
    overflow:hidden;
    background:var(--mint);
    box-shadow:0 24px 48px -20px rgba(28,28,30,0.22);
  }
  .map-card svg{ position:absolute; inset:0; width:100%; height:100%; }
  .map-pin{ filter:drop-shadow(0 6px 10px rgba(28,28,30,0.25)); }
  .map-pulse{ animation:mapPulse 2.6s ease-out infinite; transform-origin:center; }
  .map-pulse.d2{ animation-delay:.9s; }
  @keyframes mapPulse{
    0%{ transform:scale(0.5); opacity:0.55; }
    100%{ transform:scale(2.6); opacity:0; }
  }
  .map-callout{
    position:absolute; left:54%; top:20%;
    background:var(--white); border-radius:18px;
    padding:12px 16px; box-shadow:var(--shadow-modal);
    display:flex; align-items:center; gap:10px;
    max-width:210px;
  }
  .map-callout .thumb{
    width:34px; height:34px; border-radius:10px; flex-shrink:0;
    background:var(--orange); color:var(--white);
    display:flex; align-items:center; justify-content:center;
  }
  .map-callout .thumb svg{ position:static; width:18px; height:18px; }
  .map-callout .info{ line-height:1.3; }
  .map-callout .name{ font-weight:800; font-size:13.5px; color:var(--ink); }
  .map-callout .meta{ font-size:12px; color:var(--ink-soft); margin-top:1px; }
  .map-callout .meta strong{ color:var(--green); }
  @media (max-width:640px){
    .map-card{ margin-left:0; margin-top:8px; }
  }

  .showcase-copy .feature{ display:flex; gap:16px; margin-bottom:26px; }
  .showcase-copy .feature svg{ width:26px; height:26px; color:var(--orange); flex-shrink:0; }
  .showcase-copy .feature h3{ font-size:18px; margin-bottom:6px; }
  .showcase-copy .feature p{ margin:0; font-size:15px; color:var(--ink-soft); line-height:1.6; }

  /* ============ FAQ ============ */
  .faq-list{ max-width:760px; margin:0 auto; }
  .faq-item{
    background:var(--white);
    border:1px solid rgba(28,28,30,0.06);
    border-radius:var(--radius-xl);
    margin-bottom:14px;
    overflow:hidden;
  }
  .faq-item summary{
    list-style:none; cursor:pointer;
    display:flex; align-items:center; justify-content:space-between;
    padding:22px 26px;
    font-family:var(--font-display); font-weight:600; font-size:16.5px; color:var(--green-deep);
  }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item .plus{ width:26px; height:26px; border-radius:50%; background:var(--white); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform .2s; }
  .faq-item .plus svg{ width:14px; height:14px; color:var(--orange-dark); }
  .faq-item[open] .plus{ transform:rotate(45deg); }
  .faq-item .faq-body{ padding:0 26px 24px; color:var(--ink-soft); font-size:15px; line-height:1.65; }

  /* ============ Final CTA ============ */
  .final-cta{
    background:linear-gradient(135deg, var(--orange) 0%, #ff9270 100%);
    border-radius:40px;
    padding:70px 60px;
    color:var(--white);
    display:grid;
    grid-template-columns:1.2fr 0.8fr;
    gap:40px;
    align-items:center;
  }
  .final-cta h2{ color:var(--white); font-size:clamp(28px,3.6vw,42px); }
  .final-cta p{ color:rgba(255,255,255,0.9); font-size:16.5px; margin:14px 0 26px; max-width:460px; }
  .qr-box{ background:var(--white); border-radius:24px; padding:22px; text-align:center; justify-self:center; }
  .qr-box .qr{ width:150px; height:150px; border-radius:14px; margin:0 auto 12px; overflow:hidden; border:1px solid rgba(28,28,30,0.08); }
  .qr-box .qr svg{ width:100%; height:100%; display:block; }
  .qr-box span{ font-size:13px; color:var(--ink-soft); }

  /* ============ Footer ============ */
  footer{ background:var(--green-deep); color:rgba(255,255,255,0.85); padding:70px 0 30px; }

  .store-toast{
    position:fixed; left:50%; bottom:28px; transform:translateX(-50%) translateY(20px);
    display:flex; align-items:center; gap:10px;
    background:var(--charcoal); color:var(--white);
    padding:14px 20px; border-radius:var(--radius-pill);
    box-shadow:var(--shadow-modal);
    font-size:14px; font-weight:700; max-width:min(90vw, 420px);
    opacity:0; pointer-events:none;
    transition:opacity .25s ease, transform .25s ease;
    z-index:999;
  }
  .store-toast svg{ width:18px; height:18px; color:var(--green); flex-shrink:0; }
  .store-toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }

  .cookie-banner{
    position:fixed; left:0; right:0; bottom:0;
    z-index:1000;
    background:var(--charcoal); color:var(--white);
    padding:20px clamp(20px, 4vw, 40px);
    display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px;
    box-shadow:0 -8px 24px rgba(0,0,0,0.18);
  }
  .cookie-banner[hidden]{ display:none; }
  .cookie-banner-text{
    font-size:14px; line-height:1.55; color:rgba(255,255,255,0.85); max-width:640px; flex:1 1 320px;
  }
  .cookie-banner-text strong{ color:var(--white); }
  .cookie-link{
    background:none; border:0; padding:0; margin:0; font:inherit;
    color:var(--white); text-decoration:underline; cursor:pointer;
  }
  .cookie-banner-actions{ display:flex; gap:10px; flex-shrink:0; }
  .btn-ghost-sm{
    height:46px; padding:0 18px; font-size:14px; font-weight:700;
    background:transparent; color:var(--white);
    border:1px solid rgba(255,255,255,0.35); border-radius:var(--radius-pill);
    cursor:pointer;
  }
  .btn-ghost-sm:hover{ background:rgba(255,255,255,0.08); }
  @media (max-width:640px){
    .cookie-banner{ flex-direction:column; align-items:stretch; }
    /* Perjungus į stulpelį, flex-basis pradeda reikšti AUKŠTĮ, todėl
       „flex:1 1 320px“ išpūsdavo juostą per visą ekraną. */
    .cookie-banner-text{ flex:0 1 auto; max-width:none; }
    .cookie-banner-actions{ justify-content:stretch; }
    .cookie-banner-actions .btn{ flex:1 1 0; min-width:0; }
  }

  /* ============ Verslo registracijos langas (modal) ============ */
  .biz-modal{
    border:none;
    border-radius:var(--radius-xxl);
    padding:0;
    width:min(92vw, 520px);
    max-height:88vh;
    overflow-y:auto;
    box-shadow:var(--shadow-modal);
    background:var(--white);
  }
  .biz-modal::backdrop{ background:rgba(28,28,30,0.55); }
  .biz-modal[open]{ animation:modal-in .22s ease; }
  @keyframes modal-in{
    from{ opacity:0; transform:translateY(12px) scale(0.98); }
    to{ opacity:1; transform:translateY(0) scale(1); }
  }

  .biz-modal-head{
    display:flex; align-items:center; justify-content:space-between;
    padding:26px 26px 0;
  }
  .biz-modal-head h3{ font-family:var(--font-display); font-weight:900; font-size:22px; color:var(--charcoal); margin:0; }
  .biz-modal-close{
    width:36px; height:36px; border-radius:50%; border:none;
    background:var(--smoke); color:var(--charcoal);
    display:flex; align-items:center; justify-content:center;
    cursor:pointer; flex-shrink:0;
  }
  .biz-modal-close svg{ transform:rotate(45deg); }
  .biz-modal-close:hover{ background:var(--silver); }

  .biz-modal-form{ padding:18px 26px 28px; }
  .biz-modal-intro{ color:var(--gray); font-size:14.5px; line-height:1.55; margin:0 0 20px; }

  .field{ margin-bottom:16px; }
  .field-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .field label{ display:block; font-size:13.5px; font-weight:700; color:var(--charcoal); margin-bottom:6px; }
  .field-optional{ font-weight:400; color:var(--gray); }
  .field input, .field select, .field textarea{
    width:100%; box-sizing:border-box;
    font-family:var(--font-body); font-size:15px; color:var(--charcoal);
    background:var(--smoke); border:1px solid transparent;
    border-radius:var(--radius-md); padding:12px 14px;
    transition:border-color .15s ease, background .15s ease;
  }
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:none; border-color:var(--green); background:var(--white);
  }
  .field textarea{ resize:vertical; font-family:inherit; }
  .field input:invalid:not(:placeholder-shown){ border-color:var(--danger); }

  .biz-modal-submit{ width:100%; margin-top:6px; }

  .biz-modal-success{ padding:40px 32px 36px; text-align:center; }
  .biz-modal-success-icon{
    width:56px; height:56px; border-radius:50%; background:var(--green-light); color:var(--green);
    display:flex; align-items:center; justify-content:center; margin:0 auto 18px;
  }
  .biz-modal-success h3{ font-family:var(--font-display); font-weight:900; font-size:22px; color:var(--charcoal); margin:0 0 8px; }
  .biz-modal-success p{ color:var(--gray); font-size:15px; line-height:1.55; margin:0 0 24px; }
  .biz-modal-success .btn{ min-width:160px; }

  @media (max-width: 560px){
    .field-row{ grid-template-columns:1fr; }
  }
  .foot-grid{ display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:clamp(28px, 3vw, 40px); margin-bottom:50px; }
  .foot-brand .brand{ color:var(--white); }
  .foot-logo-plate{
    display:inline-flex; align-items:center; justify-content:center;
    background:var(--white);
    padding:14px 22px;
    border-radius:var(--radius-xl);
    box-shadow:0 4px 14px rgba(0,0,0,0.18);
  }
  .foot-logo-plate .wordmark{ height:34px; }
  .foot-brand p{ color:rgba(255,255,255,0.65); font-size:14.5px; line-height:1.6; margin:16px 0 20px; max-width:280px; }
  .social-row{ display:flex; gap:10px; }
  .social-row a{ width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; transition:.2s; }
  .social-row a:hover{ background:var(--orange); }
  .social-row svg{ width:17px; height:17px; color:var(--white); }
  .foot-col h4{ font-family:var(--font-display); color:var(--white); font-size:15px; margin:0 0 18px; }
  .foot-col ul{ display:flex; flex-direction:column; gap:12px; }
  .foot-col a{ font-size:14.5px; color:rgba(255,255,255,0.68); transition:.15s; }
  .foot-col a:hover{ color:var(--white); }
  .foot-link-btn{
    background:none; border:none; padding:0; cursor:pointer;
    font-family:var(--font-body); font-size:14.5px;
    color:rgba(255,255,255,0.68); transition:.15s; text-align:left;
  }
  .foot-link-btn:hover{ color:var(--white); }
  .foot-legal button{
    background:none; border:none; padding:0; cursor:pointer;
    font-family:var(--font-body); font-size:13px;
    color:rgba(255,255,255,0.75);
    text-decoration:underline; text-underline-offset:3px;
    text-decoration-color:rgba(255,255,255,0.35);
    transition:color .15s ease, text-decoration-color .15s ease;
  }
  .foot-legal button:hover{ color:var(--white); text-decoration-color:var(--white); }
  .foot-bottom{
    border-top:1px solid rgba(255,255,255,0.14);
    padding-top:24px;
    display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between;
    align-items:center;
    font-size:13px; color:rgba(255,255,255,0.55);
  }
  .foot-legal{ display:flex; flex-wrap:wrap; gap:20px; }
  .foot-legal a{
    font-size:13px; color:rgba(255,255,255,0.75);
    text-decoration:underline; text-underline-offset:3px;
    text-decoration-color:rgba(255,255,255,0.35);
    transition:color .15s ease, text-decoration-color .15s ease;
  }
  .foot-legal a:hover{ color:var(--white); text-decoration-color:var(--white); }


  /* ============ Teisiniai dokumentai (atskiri puslapiai) ============ */
  .legal-page{
    max-width:800px;
    margin:0 auto;
    /* Antraštė yra position:fixed (~80px aukščio), todėl viršuje paliekame
       vietos, kad „Grįžti į pradžią“ nuoroda neliktų po ja paslėpta. */
    padding:clamp(108px, 14vw, 140px) clamp(16px, 4vw, 28px) clamp(48px, 8vw, 88px);
    color:var(--charcoal);
  }
  .legal-back{
    display:inline-flex; align-items:center; gap:7px;
    font-size:14.5px; font-weight:700; color:var(--gray);
    margin-bottom:22px; transition:.15s;
  }
  .legal-back:hover{ color:var(--orange-dark); }

  .legal-head{
    padding:0 0 20px;
    border-bottom:1px solid rgba(28,28,30,0.08);
    margin-bottom:28px;
  }
  .legal-head h1{
    font-family:var(--font-display); font-weight:900;
    font-size:clamp(28px, 5vw, 38px); color:var(--charcoal); margin:0 0 6px;
  }
  .legal-head .updated{ font-size:13px; color:var(--gray); margin:0; }

  .legal-body{
    line-height:1.65;
  }
  .legal-body h2{
    font-family:var(--font-display); font-weight:900; font-size:19px;
    color:var(--charcoal); margin:32px 0 12px;
  }
  /* Nuorodos į skyrių (pvz. /naudojimo-taisykles#kaina) neturi nusileisti
     po fiksuota antrašte, todėl paliekame tiek pat vietos, kiek ji užima. */
  .legal-body h2, .legal-body h3{ scroll-margin-top:100px; }
  .legal-body h2:first-child{ margin-top:0; }
  .legal-body h3{ font-weight:800; font-size:16px; color:var(--charcoal); margin:22px 0 8px; }
  .legal-body p{ margin:0 0 13px; font-size:15px; }
  .legal-body a{ color:var(--green-deep); text-decoration:underline; text-underline-offset:2px; }
  .legal-body a:hover{ color:var(--orange-dark); }
  .legal-body ul.bullets{ list-style:none; margin:0 0 15px; padding:0; }
  .legal-body ul.bullets li{ position:relative; padding-left:24px; margin-bottom:9px; font-size:15px; }
  .legal-body ul.bullets li::before{
    content:""; position:absolute; left:7px; top:9px;
    width:6px; height:6px; border-radius:50%; background:var(--green);
  }
  .legal-body .fill{
    background:rgba(245,130,94,0.14); border-radius:4px;
    padding:1px 6px; font-weight:700; overflow-wrap:anywhere;
  }
  .legal-body .note{
    display:block; background:#FFF6ED;
    border-left:3px solid var(--orange); border-radius:0 8px 8px 0;
    padding:12px 16px; margin:0 0 15px;
    font-size:13.5px; line-height:1.55; color:#7a5533;
  }
  .legal-table{
    width:100%; border-collapse:collapse; margin:0 0 18px;
    font-size:14px; table-layout:fixed;
  }
  .legal-table th, .legal-table td{
    text-align:left; padding:11px 13px; vertical-align:top;
    border-bottom:1px solid rgba(28,28,30,0.08); overflow-wrap:anywhere;
  }
  .legal-table th{ font-weight:800; background:var(--smoke); }
  .legal-table tr:last-child td{ border-bottom:none; }
  .contact-box{
    background:var(--green-light); border-radius:var(--radius-xl);
    padding:22px 24px; margin-top:28px;
  }
  .contact-box h3{ margin-top:0; }
  .contact-box p:last-child{ margin-bottom:0; }
  .draft-note{
    display:flex; gap:12px; align-items:flex-start;
    background:#FFF6ED; border:1px solid rgba(245,130,94,0.35);
    border-left:4px solid var(--orange);
    border-radius:var(--radius-md); padding:16px 18px; margin:0 0 24px;
    font-size:14px; line-height:1.55;
  }
  .draft-note strong{ display:block; margin-bottom:3px; }

  /* Tekstinis mygtukas, atrodantis kaip nuoroda */
  .link-btn{
    background:none; border:none; padding:0; font:inherit; cursor:pointer;
    color:var(--green-deep); text-decoration:underline; text-underline-offset:2px;
  }
  .link-btn:hover{ color:var(--orange-dark); }


  /* ============ Reveal on scroll ============ */
  .reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
  .reveal.in{ opacity:1; transform:translateY(0); }

  /* ============ Responsive ============ */
  /* Tarpinė pakopa: 3 stulpeliai -> 2, kad planšetėse neliktų per tuščia */
  @media (max-width: 1080px){
    .steps{ grid-template-columns:repeat(2,1fr); }
  }
  @media (max-width: 980px){
    .hero-grid, .showcase, .biz{ grid-template-columns:1fr; }
    .hero-visual{ order:-1; max-width:420px; margin:0 auto; }
    .steps{ grid-template-columns:1fr; }
    .impact-grid{ grid-template-columns:repeat(2,1fr); }
    .final-cta{ grid-template-columns:1fr; text-align:center; padding:50px 30px; }
    .final-cta p{ margin-left:auto; margin-right:auto; }
    .qr-box{ justify-self:center; }
    .foot-grid{ grid-template-columns:1fr 1fr; }
  }
  @media (max-width: 760px){
    nav.main-nav{
      position:fixed; inset:0; top:78px; z-index:90;
      background:var(--white);
      flex-direction:column; align-items:flex-start;
      padding:30px 28px; gap:22px;
      opacity:0; visibility:hidden; transform:translateY(-8px);
      transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
    }
    nav.main-nav a{ font-size:18px; }
    .menu-toggle label{ display:flex; }
    .menu-toggle input:checked ~ nav.main-nav{ opacity:1; visibility:visible; transform:translateY(0); }
    .header-actions .btn-sm{ display:none; }
    .mobile-only-cta{ display:inline-flex; margin-top:8px; }
    .biz{ padding:40px 26px; border-radius:28px; }
    .final-cta{ border-radius:28px; }
    .foot-grid{ grid-template-columns:1fr; gap:34px; }
  }
  @media (max-width: 420px){
    .impact-grid{ grid-template-columns:1fr; }
    .stat-strip .item{ min-width:0; flex:1 1 calc(50% - 12px); }
    .stat-strip .wrap{ row-gap:26px; }
    .store-row{ flex-direction:column; align-items:stretch; }
    .store-row .btn{ width:100%; }
    .biz{ padding:32px 20px; border-radius:22px; }
    .final-cta{ padding:40px 22px; border-radius:22px; }
    .foot-bottom{ flex-direction:column; align-items:flex-start; gap:14px; }
  }
