
  /* Одна адаптивная страница: светлый зимний лендинг, ночные акценты (сбор, мешок, спасибо). Намеренно одна тема. */
  :root{
    color-scheme:light;
    --snow:#F6F4EF; --paper:#FFFFFF; --ice:#E7EEF8; --line:#E8E3D9;
    --blue:#4A68BD; --blue-ink:#2E4585;
    --ink:#1F2433; --ink-2:#454B5C; --ink-soft:#667085;
    --tang:#F28A2E; --tang-dark:#DE7417; --tang-soft:#FDEBDA; --warm:#B85A12;
    --night-1:#2A2C5C; --night-2:#1E2447; --night-text:#D9DDF0; --night-soft:#C9CFEA; --gold:#FFD08A;
    --cream:#F4EEE5;
    --sans:"Onest","Helvetica Neue",Arial,sans-serif;
    --serif:"Lora",Georgia,"Times New Roman",serif;
    --wrap:1120px; --gut:20px;
  }
  *{box-sizing:border-box;}
  [hidden]{display:none!important;}
  html{scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%;}
  body{margin:0; background:var(--snow); color:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased; font-size:16px; line-height:1.5;}
  p{margin:0;} h1,h2,h3{margin:0; text-wrap:balance;}
  img{display:block; max-width:100%;}
  button{font:inherit; color:inherit; cursor:pointer; border:0; background:none; padding:0;}
  button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--blue); outline-offset:2px;}
  a{color:inherit;}
  .wrap{width:min(var(--wrap),100%); margin:0 auto; padding-inline:var(--gut);}
  @media (min-width:1160px){ .wrap{padding-inline:0;} }
  em.a{font-family:var(--serif); font-style:italic; font-weight:600; color:var(--blue);}
  .h2 em.a,.tt .h1 em.a{display:inline-block; line-height:1.12; padding-top:.06em;}
  .garland{display:block; width:100%; height:auto; overflow:visible;}
  .hgl,.hgl *,.snowfx,.bokeh,.bshade,.garland,.garland *,.spk,.fly,.ring,.halo,.plus1,.toast{pointer-events:none!important;}
  button,a,.chip,.plus,.stepper button,.qty button{touch-action:manipulation; -webkit-tap-highlight-color:transparent;}
  .only-d{display:none;} .only-m{display:block;}
  @media (min-width:900px){ .only-d{display:block;} .only-m{display:none;} }

  /* шапка: отдельная полоса, остается сверху при прокрутке */
  header.site{position:sticky; top:env(safe-area-inset-top,0px); z-index:30; background:rgba(255,255,255,.92); -webkit-backdrop-filter:saturate(1.4) blur(10px); backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--line); box-shadow:0 6px 20px rgba(31,36,51,.05);}
  .top nav a{padding:6px 0; border-bottom:2px solid transparent; transition:color .2s,border-color .2s;}
  .top nav a:hover{border-color:var(--tang);}
  .hbag{position:relative; display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 20px; border-radius:100px; border:0; background:var(--tang-soft); color:var(--warm); font-size:15px; font-weight:700; transition:background .25s,color .25s,box-shadow .25s,transform .15s;}
  .hbag:hover{background:#FBDDBF;}
  .hbag b{min-width:22px; height:22px; padding:0 7px; border-radius:11px; background:#fff; color:var(--tang-dark); font-size:12.5px; font-weight:800; display:inline-flex; align-items:center; justify-content:center; font-variant-numeric:tabular-nums;}
  .hbag.full{background:var(--tang); color:#fff; box-shadow:0 6px 18px rgba(242,138,46,.45), 0 0 0 4px rgba(255,208,138,.35); animation:breathe 2.8s ease-in-out infinite;}
  .hbag.full:hover{background:var(--tang-dark);}
  @keyframes breathe{0%,100%{box-shadow:0 6px 18px rgba(242,138,46,.4), 0 0 0 3px rgba(255,208,138,.3);} 50%{box-shadow:0 8px 26px rgba(242,138,46,.6), 0 0 0 7px rgba(255,208,138,.22);}}
  .hbag.pop{animation:pop .5s ease-out;}
  @keyframes pop{0%{transform:scale(1)}30%{transform:scale(1.12)}60%{transform:scale(.96)}100%{transform:scale(1)}}
  .hero{padding-top:14px;}
  .hero .hgl{margin-top:-14px;}
  section.s{scroll-margin-top:90px;}
  /* мобильное меню */
  .hright{display:flex; align-items:center; gap:6px;}
  /* мобильная гирлянда висит прямо под шапкой и едет вместе с ней */
  .hgarl{position:absolute; left:0; right:0; top:calc(100% - 6px); height:0; pointer-events:none; z-index:1;}
  .hgarl .garland{width:100%; height:auto; display:block;}
  .mnav{z-index:2;}
  @media (max-width:899px){
    .hero{padding-top:6px;}
    .hero .hgl{margin-top:0; margin-bottom:-30px;}
  }
  @media (max-width:899px){
    .hbag{height:38px; padding:0 14px; font-size:14.5px; gap:6px;}
    .hbag b{min-width:20px; height:20px; font-size:12px; padding:0 6px;}
    .top{height:60px;}
  }
  /* закрываем полосу над шапкой (вырез экрана телефона), чтобы под ней не просвечивала страница */
  header.site::before{content:""; position:absolute; left:0; right:0; bottom:100%; height:calc(env(safe-area-inset-top,0px) + 2px); background:#fff;}
  .burger{width:40px; height:40px; margin-right:-8px; border-radius:12px; background:transparent; border:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;}
  .burger:active{background:var(--snow);}
  .burger i{display:block; width:22px; height:2px; border-radius:2px; background:var(--ink); transition:transform .25s, opacity .2s;}
  .burger[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .burger[aria-expanded="true"] i:nth-child(2){opacity:0;}
  .burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .mnav{position:absolute; left:0; right:0; top:100%; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 18px 30px rgba(31,36,51,.12); padding:6px 20px 14px; display:flex; flex-direction:column; animation:drop .22s ease-out;}
  .mnav a{padding:14px 2px; font-size:17px; font-weight:700; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line);}
  .mnav a:last-child{border-bottom:0;}
  .mnav a:active{color:var(--tang-dark);}
  @keyframes drop{from{opacity:0; transform:translateY(-8px);} to{opacity:1; transform:none;}}
  @media (min-width:900px){ .burger,.mnav{display:none!important;} }
  /* кнопки */
  .cta{display:inline-flex; align-items:center; justify-content:center; gap:8px; height:58px; padding:0 32px; border-radius:18px; background:var(--tang); color:#fff; font-size:17px; font-weight:700; box-shadow:0 10px 24px rgba(242,138,46,.3); text-decoration:none; transition:background .2s, transform .15s;}
  .cta:hover{background:var(--tang-dark);} .cta:active{transform:translateY(1px);}
  .snowfx{position:absolute; inset:0; pointer-events:none; opacity:.6;
    background-image:radial-gradient(circle,#B9C6DD 1.3px,transparent 1.9px),radial-gradient(circle,#C9D3E6 1.7px,transparent 2.3px),radial-gradient(circle,#D3DBEA 1px,transparent 1.6px);
    background-size:110px 130px,170px 150px,70px 80px; background-position:10px 20px,60px 70px,30px 5px;
    -webkit-mask-image:linear-gradient(#000 45%,transparent); mask-image:linear-gradient(#000 45%,transparent); animation:fall 16s linear infinite;}
  .snowfx.light{opacity:.5; -webkit-mask-image:none; mask-image:none;
    background-image:radial-gradient(circle,#fff 1.3px,transparent 1.9px),radial-gradient(circle,#fff 1.7px,transparent 2.3px),radial-gradient(circle,#fff 1px,transparent 1.6px);}
  @keyframes fall{from{background-position:10px 20px,60px 70px,30px 5px}to{background-position:10px 150px,60px 220px,30px 85px}}

  /* шапка и баннер */
  .hero{position:relative; background:linear-gradient(180deg,#FBEEDB 0%,#F9F1E6 45%,var(--snow) 100%); padding-bottom:12px;}
  .top{position:relative; z-index:4; display:flex; align-items:center; justify-content:space-between; height:64px;}
  .top .logo img{height:32px; width:auto;}
  .top nav{display:none; gap:30px; font-size:15.5px; font-weight:700; color:var(--ink);}
  .top nav a{text-decoration:none;} .top nav a:hover{color:var(--blue);}
  .hgl{position:relative; z-index:3; margin:-6px 0 -34px;}
  .banner{position:relative; z-index:1; border-radius:26px; overflow:hidden; background:var(--cream);}
  .bimg{width:100%; height:420px; object-fit:cover; object-position:30% 30%;}
  .bshade{position:absolute; left:0; right:0; top:0; height:420px; background:linear-gradient(180deg,rgba(244,238,229,0) 55%,rgba(244,238,229,.9) 85%,var(--cream) 100%);}
  .btext{position:relative; z-index:2; margin-top:-96px; padding:0 20px 26px;}
  .h1{font-size:40px; line-height:1.06; font-weight:800; letter-spacing:-.025em;}
  .btext .h1 em.a{display:inline-block; margin-top:-.04em;}
  .h1 .nw{white-space:nowrap;}
  .lead{margin-top:14px; font-size:16px; line-height:1.5; color:var(--ink-2);}
  .lead.strong{margin-top:12px; color:var(--ink); font-weight:600;}
  .btext .cta{margin-top:22px; width:100%;}
  @media (min-width:900px){
    .top{height:76px;} .top .logo img{height:40px;}
    .top nav{display:flex;}
    .hgl{margin:-6px 0 -52px;}
    .banner{height:680px; border-radius:32px;}
    .bimg{position:absolute; left:380px; top:-4px; width:1030px; height:auto; max-width:none; object-fit:initial;}
    .bshade{height:auto; inset:0; background:linear-gradient(90deg,var(--cream) 0%,var(--cream) 34%,rgba(244,238,229,.97) 38%,rgba(244,238,229,.9) 42%,rgba(244,238,229,.78) 46%,rgba(244,238,229,.6) 50%,rgba(244,238,229,.4) 54%,rgba(244,238,229,.22) 58%,rgba(244,238,229,.09) 62%,rgba(244,238,229,.02) 66%,rgba(244,238,229,0) 70%);}
    .btext{position:absolute; left:64px; top:0; bottom:0; width:600px; margin:0; padding:40px 0 0; display:flex; flex-direction:column; justify-content:center;}
    .h1{font-size:72px; line-height:1.04;}
    .btext .lead{font-size:18px; margin-top:24px; max-width:540px; text-wrap:pretty;}
    .btext .lead.strong{font-size:17px; margin-top:14px;}
    .btext .cta{width:auto; min-width:280px; padding:0 44px; align-self:flex-start; margin-top:30px; height:60px; font-size:18px;}
  }
  @media (min-width:900px) and (max-width:1159px){ .bimg{left:44%;} .btext{left:40px; width:52%;} .h1{font-size:60px;} }

  /* секции */
  section.s{padding-top:64px;}
  @media (min-width:900px){ section.s{padding-top:88px;} }
  .h2{font-size:30px; line-height:1.08; font-weight:800; letter-spacing:-.02em;}
  .sub{margin-top:10px; font-size:15.5px; color:var(--ink-soft); max-width:60ch;}
  @media (min-width:900px){ .h2{font-size:48px; line-height:1.05;} .sub{font-size:18px;} }
  .ch{display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid var(--line);}
  .ch b{font-size:17px; font-weight:700;} .ch span{font-size:13.5px; color:var(--ink-soft);}
  @media (min-width:900px){ .ch{justify-content:flex-start;} .ch b{font-size:19px;} .ch span{font-size:14px;} }

  /* почему мешок */
  .w1{margin-top:24px; display:grid; gap:24px;}
  .w1 > div{display:flex; flex-direction:column; min-width:0;}
  .w1p{flex:1; border-radius:24px; padding:4px 18px; display:flex; flex-direction:column;}
  .w1ideas{background:var(--paper); border:1px solid var(--line);}
  .w1stats{background:var(--ice);}
  .w1r{flex:1; display:grid; grid-template-columns:48px 1fr; gap:14px; align-items:start; padding:18px 0;}
  .w1r + .w1r{border-top:1px solid var(--line);}
  .w1stats .w1r{grid-template-columns:104px 1fr; align-items:center;}
  .w1stats .w1r + .w1r{border-top:1px solid rgba(46,69,133,.15);}
  .w1pic{width:48px; height:48px; border-radius:15px; background:var(--ice); display:flex; align-items:center; justify-content:center;}
  .w1pic.warm{background:var(--tang-soft);} .w1pic img{width:32px; height:32px;} .w1pic svg{width:30px; height:30px;}
  .w1 h3{font-size:16.5px; line-height:1.3; font-weight:700;}
  .w1 p{margin-top:6px; font-size:14.5px; line-height:1.5; color:var(--ink-soft);}
  .w1stats p{color:#4A5061;}
  .w1num{font-size:44px; line-height:.9; font-weight:800; letter-spacing:-.04em; color:var(--blue-ink);}
  .w1num.warm{color:var(--warm);}
  /* по очереди подсвечиваем значки и цифры */
  .w1pic,.w1num{animation:glow 8s ease-in-out infinite; transform-origin:left center;}
  .w1r:nth-child(1) .w1pic{animation-delay:0s;} .w1r:nth-child(2) .w1pic{animation-delay:2s;}
  .w1r:nth-child(1) .w1num{animation-delay:4s;} .w1r:nth-child(2) .w1num{animation-delay:6s;}
  @keyframes glow{0%,18%,100%{transform:none; filter:none;} 6%{transform:scale(1.08); filter:drop-shadow(0 6px 14px rgba(242,138,46,.45));} 12%{transform:scale(1); filter:none;}}
  @media (min-width:900px){
    .w1{grid-template-columns:1fr 1fr; gap:20px; margin-top:36px;}
    .w1p{border-radius:28px; padding:8px 32px;}
    .w1r{grid-template-columns:64px 1fr; gap:22px; padding:28px 0;}
    .w1stats .w1r{grid-template-columns:176px 1fr; gap:20px;}
    .w1pic{width:64px; height:64px; border-radius:20px;} .w1pic img{width:42px; height:42px;} .w1pic svg{width:40px; height:40px;}
    .w1 h3{font-size:19px;} .w1 p{margin-top:8px; font-size:15.5px;}
    .w1num{font-size:68px;}
  }

  /* витрина */
  .sh{display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px 40px; margin-bottom:24px;}
  .chips{display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; max-width:100%; padding-bottom:2px;}
  .chips::-webkit-scrollbar{display:none;}
  .chip{flex:none; height:40px; padding:0 16px; border-radius:100px; background:var(--paper); border:1px solid var(--line); font-size:14.5px; font-weight:600; color:var(--ink);}
  .chip[aria-pressed="true"]{background:var(--ink); border-color:var(--ink); color:#fff;}
  .cats{display:grid; gap:28px;}
  .cat{min-width:0;}
  .cards{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  .cat[data-cat="fest"] .cards{grid-template-columns:1fr;}
  .card{background:var(--paper); border-radius:22px; padding:6px; display:flex; flex-direction:column; min-width:0; transition:box-shadow .25s, transform .25s;}
  @media (hover:hover){ .card:hover{box-shadow:0 14px 34px rgba(31,36,51,.12); transform:translateY(-3px);} .card:hover .ph img{transform:scale(1.03);} }
  .ph img{transition:transform .4s ease;}
  .ph{position:relative; aspect-ratio:4/3; max-width:100%; border-radius:17px; overflow:hidden; background:var(--ice);}
  .ph img{width:100%; height:100%; object-fit:cover;}
  .cat[data-cat="fest"] .ph,.cat[data-cat="health"] .card:first-child .ph{aspect-ratio:16/9;}
  .cat[data-cat="health"] .card:first-child{grid-column:1/-1;}
  .count{position:absolute; left:8px; top:8px; min-width:26px; height:26px; padding:0 8px; border-radius:13px; background:var(--ink); color:#fff; font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center;}
  .ctl{position:absolute; right:8px; bottom:8px;}
  .plus{width:36px; height:36px; border-radius:12px; background:var(--paper); color:var(--ink); font-size:22px; line-height:1; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 12px rgba(31,36,51,.18); transition:transform .15s;}
  .plus:hover{transform:scale(1.06);}
  .stepper{display:flex; align-items:center; height:36px; border-radius:12px; background:var(--tang); color:#fff; box-shadow:0 6px 14px rgba(31,36,51,.18); font-weight:700; font-size:15px;}
  .stepper button{width:34px; height:36px; font-size:19px; color:#fff;}
  .stepper span{min-width:22px; text-align:center; font-variant-numeric:tabular-nums;}
  .gt{padding:12px 8px 10px; display:flex; flex-direction:column;}
  .price{font-size:19px; font-weight:800; letter-spacing:-.01em; font-variant-numeric:tabular-nums;}
  .gt h3{margin-top:4px; font-size:14.5px; line-height:1.3; font-weight:700;}
  .gt p{margin-top:6px; font-size:13px; line-height:1.45; color:var(--ink-soft);}
  @media (min-width:900px){
    .cats{grid-template-columns:2fr 1fr; gap:36px 20px;}
    .cat[data-cat="health"]{grid-column:1/-1;}
    .cards{gap:20px;}
    .cat[data-cat="health"] .cards{grid-template-columns:repeat(3,1fr);}
    .cat[data-cat="health"] .card:first-child{grid-column:auto;}
    .cat[data-cat="fest"] .ph,.cat[data-cat="health"] .card:first-child .ph{aspect-ratio:10/7;}
    .card{border-radius:24px; padding:8px;}
    .ph{aspect-ratio:10/7; border-radius:18px;}
    .count{left:12px; top:12px;} .ctl{right:12px; bottom:12px;}
    .gt{padding:16px 12px 14px;}
    .price{font-size:24px;} .gt h3{font-size:18px; margin-top:6px;} .gt p{font-size:15px; margin-top:8px;}
    .cats.one{grid-template-columns:1fr;}
    .cats.one .cat .cards{grid-template-columns:repeat(3,1fr);}
  }
  .other{margin-top:20px; background:var(--paper); border-radius:22px; padding:16px; display:grid; grid-template-columns:44px 1fr; gap:12px 14px; align-items:center;}
  .oi{width:44px; height:44px; border-radius:14px; background:var(--ice); display:flex; align-items:center; justify-content:center;}
  .oi svg{width:24px; height:24px;}
  .ot b{display:block; font-size:16px; font-weight:700;}
  .ot span{display:block; margin-top:3px; font-size:13.5px; line-height:1.45; color:var(--ink-soft);}
  .of{grid-column:1/-1; display:grid; grid-template-columns:1fr; gap:8px;}
  .oin{position:relative;}
  .oin input{width:100%; height:48px; border-radius:14px; background:var(--snow); border:1px solid var(--line); padding:0 36px 0 14px; font:inherit; font-size:16px; font-weight:600; color:var(--ink);}
  .oin input::placeholder{color:#9AA0AE; font-weight:400;}
  .oin i{position:absolute; right:14px; top:50%; transform:translateY(-50%); font-style:normal; font-weight:700;}
  .obtn{height:48px; padding:0 18px; border-radius:14px; background:var(--tang); color:#fff; font-size:14.5px; font-weight:700; box-shadow:0 8px 18px rgba(242,138,46,.25); transition:background .2s;}
  .obtn:hover{background:var(--tang-dark);}
  .oerr{grid-column:1/-1; font-size:13px; color:#B4431B;}
  @media (min-width:900px){
    .other{grid-template-columns:56px 1fr 420px; padding:16px 16px 16px 20px; gap:18px;}
    .oi{width:56px; height:56px; border-radius:18px;} .oi svg{width:28px; height:28px;}
    .ot b{font-size:18px;} .ot span{font-size:15px; text-wrap:balance;}
    .of{grid-column:auto; grid-template-columns:1fr 190px;}
    .oin input,.obtn{height:52px;} .obtn{font-size:15px;}
    .oerr{grid-column:2/-1;}
  }

  /* общий сбор */
  .prog{position:relative; overflow:hidden; border-radius:24px; padding:18px 16px 20px; color:#fff; background:radial-gradient(60% 80% at 50% 120%,rgba(255,168,76,.28),transparent 70%),linear-gradient(180deg,var(--night-1) 0%,var(--night-2) 100%);}
  .pk{display:flex; align-items:center; gap:8px; font-size:13px; color:var(--night-soft);}
  .demo{font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#8A6A1C; background:#FBF0CF; border-radius:100px; padding:2px 8px;}
  .pg{margin:4px -8px -10px;}
  .garland .b .on{opacity:0; transition:opacity .5s ease-out;}
  .garland .b.lit .on{opacity:1;}
  .garland .b.new .on{animation:blink 1.4s ease-out;}
  @keyframes blink{0%{opacity:0}20%{opacity:1}35%{opacity:.3}55%{opacity:1}100%{opacity:1}}
  .pgrid{display:grid; gap:16px;}
  .pl b{display:block; font-size:34px; font-weight:800; letter-spacing:-.03em; line-height:1; color:var(--gold); font-variant-numeric:tabular-nums;}
  .pl span{display:block; margin-top:6px; font-size:14px; color:var(--night-soft);}
  .pt{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap;}
  .pt b{font-size:20px; font-weight:800; font-variant-numeric:tabular-nums;}
  .pt span{font-size:13.5px; color:var(--night-soft);}
  .bar{margin-top:8px; height:10px; border-radius:8px; background:rgba(255,255,255,.14); overflow:hidden;}
  .bar i{display:block; height:100%; width:0; border-radius:8px; background:linear-gradient(90deg,#F28A2E,#FFC05A); transition:width 1.2s ease-out;}
  .pb{margin-top:8px; display:flex; justify-content:space-between; font-size:12.5px; color:var(--night-soft);}
  .pmine{margin-top:4px; font-size:14px; color:var(--gold); font-weight:600;}
  @media (min-width:900px){
    .prog{border-radius:28px; padding:32px 40px 36px;}
    .pk{font-size:14px;}
    .pg{margin:6px -10px -34px;}
    .pgrid{grid-template-columns:1fr 1.2fr; gap:48px; align-items:end;}
    .pl b{font-size:48px;} .pl span{font-size:16px; margin-top:10px;}
    .pt b{font-size:28px;} .pt span{font-size:16px;}
    .bar{height:14px; margin-top:12px;} .pb{font-size:14px; margin-top:10px;}
  }

  /* истории */
  .stories{margin-top:20px; display:grid; grid-auto-flow:column; grid-auto-columns:78%; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px; scrollbar-width:thin;}
  .story{scroll-snap-align:start; background:var(--paper); border-radius:22px; overflow:hidden; display:flex; flex-direction:column; min-width:0;}
  .story .sp{aspect-ratio:4/3; max-width:100%; background:#E6E1D8; display:flex; align-items:center; justify-content:center; font-size:13px; color:#8A8577;}
  .story .sb{padding:14px 16px 18px;}
  .tag{display:inline-block; font-size:11.5px; font-weight:700; color:var(--blue); background:#E7E9F6; border-radius:100px; padding:3px 10px;}
  .story h3{margin-top:10px; font-size:17px; line-height:1.3; font-weight:700;}
  .story p{margin-top:6px; font-size:14px; line-height:1.5; color:var(--ink-soft);}
  .more{margin-top:20px; display:flex; justify-content:center;}
  .pill{display:inline-flex; align-items:center; height:48px; padding:0 24px; border-radius:100px; border:1.5px solid var(--ink); font-size:15px; font-weight:600; text-decoration:none;}
  @media (min-width:900px){
    .stories{grid-auto-flow:row; grid-template-columns:repeat(4,1fr); overflow:visible; gap:16px; margin-top:32px;}
  }

  /* о фонде */
  .about{background:var(--ice); border-radius:24px; padding:22px 20px; display:grid; gap:18px;}
  .about .ak img{height:34px; width:auto;}
  .about .ak p{margin-top:10px; font-size:14.5px; line-height:1.5; color:#4A5061; max-width:30em;}
  .afs{display:grid; grid-template-columns:repeat(3,1fr); gap:10px;}
  .af{border-left:1px solid rgba(46,69,133,.18); padding-left:10px; min-width:0;}
  .af:first-child{border-left:0; padding-left:0;}
  .af b{display:block; font-size:20px; font-weight:800; letter-spacing:-.02em; color:var(--blue-ink); line-height:1.1; white-space:nowrap;}
  .af span{display:block; margin-top:6px; font-size:12px; line-height:1.4; color:#4A5061;}
  @media (min-width:900px){
    .about{border-radius:28px; padding:32px 40px; grid-template-columns:1.3fr 3fr; gap:32px; align-items:center;}
    .about .ak img{height:40px;}
    .afs{gap:0;}
    .af{padding-left:28px;} .af:first-child{border-left:1px solid rgba(46,69,133,.18); padding-left:28px;}
    .af b{font-size:36px;} .af span{margin-top:10px; font-size:14.5px;}
  }
  footer{padding:48px 0 120px; font-size:13px; color:var(--ink-soft);}
  .demolink{margin-top:10px;} .demolink a{color:var(--blue); font-weight:600; font-size:14px;}

  /* плашка мешка */
  .bagbar{position:fixed; left:50%; bottom:calc(14px + env(safe-area-inset-bottom,0px)); transform:translate(-50%,0); z-index:40; width:min(520px,calc(100% - 24px)); background:var(--ink); color:#fff; border-radius:22px; padding:10px 10px 10px 14px; display:flex; align-items:center; gap:12px; box-shadow:0 18px 40px rgba(31,36,51,.35); transition:transform .3s, opacity .3s;}
  .bagbar[hidden]{display:flex!important; opacity:0; transform:translate(-50%,140%); pointer-events:none;}
  .stack{display:flex; flex:none;}
  .stack i{width:36px; height:36px; border-radius:50%; border:2px solid var(--ink); margin-left:-10px; overflow:hidden; background:#fff;}
  .stack i:first-child{margin-left:0;}
  .stack img{width:100%; height:100%; object-fit:cover;}
  .bl{flex:1; min-width:0; font-size:12.5px; color:#B9BFCE; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .bl b{display:block; color:#fff; font-size:17px; font-variant-numeric:tabular-nums;}
  .bgo{flex:none; background:var(--tang); color:#fff; border-radius:15px; padding:13px 16px; font-weight:700; font-size:14.5px; white-space:nowrap;}

  @media (max-width:480px){ .stack i:nth-child(n+3){display:none;} .bgo{padding:13px 14px;} .bagbar{gap:10px;} }
  /* искры и полет подарка */
  .ring{position:fixed; z-index:88; width:60px; height:60px; border-radius:50%; border:3px solid #FFD08A; box-shadow:0 0 18px rgba(255,192,90,.9), inset 0 0 12px rgba(255,192,90,.6); pointer-events:none;}
  .halo{position:fixed; z-index:87; width:140px; height:140px; border-radius:50%; background:radial-gradient(circle,rgba(255,214,140,.9) 0%,rgba(255,180,80,.45) 35%,rgba(255,180,80,0) 70%); pointer-events:none;}
  .plus1{position:fixed; z-index:91; font-style:normal; font-size:15px; font-weight:800; color:#fff; background:var(--tang); padding:4px 10px; border-radius:100px; box-shadow:0 6px 16px rgba(242,138,46,.5); white-space:nowrap; pointer-events:none;}
  .spk{position:fixed; z-index:90; border-radius:50%; pointer-events:none; box-shadow:0 0 10px 2px rgba(255,192,90,.95);}
  .spk.star{border-radius:0; clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%); box-shadow:none; transform-origin:center;}
  .fly{position:fixed; z-index:89; width:56px; height:56px; border-radius:50%; overflow:hidden; pointer-events:none; border:3px solid #fff; box-shadow:0 10px 26px rgba(31,36,51,.3), 0 0 0 6px rgba(255,208,138,.45);}
  .fly img{width:100%; height:100%; object-fit:cover;}
  .fly.heart{background:var(--ice); display:flex; align-items:center; justify-content:center;}
  .fly.heart svg{width:28px; height:28px;}
  .bagbar .stack.pop,#bstack.pop{animation:pop .5s ease-out;}
  @keyframes shine{0%{background-position:-160% 0}100%{background-position:260% 0}}
  .bagbar::after{content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(105deg,transparent 40%,rgba(255,220,150,.28) 50%,transparent 60%) no-repeat; background-size:60% 100%; background-position:-160% 0;}
  .bagbar.glint::after{animation:shine .9s ease-out;}
  /* мешок */
  .scrim{position:fixed; inset:0; z-index:50; background:rgba(20,22,34,.45); opacity:0; transition:opacity .3s;}
  .scrim.show{opacity:1;}
  .drawer{position:fixed; top:0; right:0; bottom:0; z-index:51; width:min(440px,100%); background:var(--snow); display:flex; flex-direction:column; transform:translateX(100%); transition:transform .35s cubic-bezier(.2,.8,.2,1); box-shadow:-20px 0 50px rgba(20,22,34,.25);}
  .drawer{visibility:hidden; transition:transform .35s cubic-bezier(.2,.8,.2,1), visibility 0s .35s;}
  .drawer.show{transform:none; visibility:visible; transition:transform .35s cubic-bezier(.2,.8,.2,1);}
  .dh{display:flex; align-items:center; justify-content:space-between; padding:calc(14px + env(safe-area-inset-top,0px)) 20px 10px;}
  .dh .clr{font-size:14px; color:var(--ink-soft);}
  .dh .x{width:40px; height:40px; border-radius:50%; background:var(--paper); border:1px solid var(--line); font-size:20px;}
  .dbody{flex:1; overflow-y:auto; padding:0 20px 16px;}
  .dcap{position:relative; overflow:hidden; border-radius:22px; padding:18px 20px; color:#fff; background:radial-gradient(70% 90% at 80% 120%,rgba(255,168,76,.35),transparent 70%),linear-gradient(160deg,var(--night-1),var(--night-2));}
  .dcap span{font-size:13px; color:var(--night-soft);}
  .dcap b{display:block; margin-top:4px; font-size:30px; font-weight:800; letter-spacing:-.02em; line-height:1.1;}
  .dcap em{display:block; margin-top:4px; font-style:normal; font-size:14px; font-weight:700; color:var(--gold);}
  .dcap svg{position:absolute; right:18px; top:14px; width:46px; height:46px; opacity:.9;}
  .ln{display:grid; grid-template-columns:52px 1fr auto; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--line);}
  .ln .th{width:52px; height:52px; border-radius:14px; overflow:hidden; background:var(--ice); display:flex; align-items:center; justify-content:center;}
  .ln .th img{width:100%; height:100%; object-fit:cover;}
  .ln .th svg{width:24px; height:24px;}
  .ln .t{font-size:15px; font-weight:700; line-height:1.25;}
  .ln .s{margin-top:2px; font-size:13px; color:var(--ink-soft); font-variant-numeric:tabular-nums;}
  .qty{display:inline-flex; align-items:center; height:36px; background:var(--paper); border:1px solid var(--line); border-radius:12px; font-weight:700; font-size:14.5px;}
  .qty button{width:32px; height:34px; color:var(--ink-soft); font-size:18px;}
  .qty span{min-width:18px; text-align:center; font-variant-numeric:tabular-nums;}
  .dsec{margin:18px 0 10px; font-size:14px; font-weight:700;}
  .sugg{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
  .sg{background:var(--paper); border-radius:16px; padding:8px; display:grid; grid-template-columns:40px 1fr 30px; gap:8px; align-items:center; text-align:left;}
  .sg .th{width:40px; height:40px; border-radius:12px; overflow:hidden;} .sg .th img{width:100%; height:100%; object-fit:cover;}
  .sg .n{font-size:13px; font-weight:700; line-height:1.2; min-width:0;} .sg .n small{display:block; font-weight:500; color:var(--ink-soft);}
  .sg .p{width:30px; height:30px; border-radius:10px; background:var(--snow); display:flex; align-items:center; justify-content:center; font-size:18px;}
  .dempty{padding:28px 4px; text-align:center; color:var(--ink-soft); font-size:15px;}
  .dpay{border-top:1px solid var(--line); background:var(--paper); padding:14px 20px calc(18px + env(safe-area-inset-bottom,0px));}
  .dtot{display:flex; justify-content:space-between; align-items:baseline;}
  .dtot span{color:var(--ink-soft); font-size:14px;} .dtot b{font-size:26px; font-weight:800; font-variant-numeric:tabular-nums;}
  .dpay .cta{margin-top:12px; width:100%; height:56px;}
  .dpay .cta:disabled{background:#C9C4BA; box-shadow:none; cursor:not-allowed;}
  .dnote{margin-top:10px; font-size:12px; color:var(--ink-soft); text-align:center;}

  /* === GIVR modal: одноразовый сбор === */
  .givr-modal{position:fixed; inset:0; z-index:55; display:flex; align-items:center; justify-content:center; padding:16px; padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));}
  .givr-modal[hidden]{display:none!important;}
  .givr-modal-bg{position:absolute; inset:0; background:rgba(20,22,34,.6); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);}
  .givr-modal-inner{position:relative; z-index:1; width:min(560px,100%); max-height:calc(100vh - 32px); background:var(--paper); border-radius:24px; box-shadow:0 30px 80px rgba(20,22,34,.45); display:flex; flex-direction:column; overflow:hidden;}
  .givr-modal-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:16px 20px; border-bottom:1px solid var(--line); background:var(--snow);}
  .givr-modal-head b{font-size:18px; font-weight:700; display:block;}
  .givr-modal-head span{display:block; margin-top:2px; font-size:13px; color:var(--ink-soft); font-weight:500;}
  .givr-modal-close{flex:none; width:36px; height:36px; border-radius:50%; background:var(--paper); border:1px solid var(--line); font-size:20px; line-height:1;}
  .givr-modal-body{padding:16px 20px 8px; overflow-y:auto; flex:1; min-height:180px;}
  .givr-modal-body:empty::after{content:"Загружаем форму оплаты…"; display:block; text-align:center; padding:48px 0; color:var(--ink-soft); font-size:14px;}
  .givr-modal-foot{padding:8px 20px 16px; text-align:center; border-top:1px solid var(--line); background:var(--snow);}
  .givr-demo{font-size:12.5px; color:var(--ink-soft); text-decoration:underline; text-underline-offset:3px;}
  .givr-demo:hover{color:var(--ink);}
  @media (min-width:900px){
    .givr-modal{padding:24px;}
    .givr-modal-inner{border-radius:28px;}
    .givr-modal-head{padding:20px 28px;}
    .givr-modal-body{padding:20px 28px 8px;}
    .givr-modal-foot{padding:10px 28px 20px;}
  }

  /* спасибо */
  .thanks{position:fixed; inset:0; z-index:60; overflow-y:auto; color:#fff; background:radial-gradient(60% 45% at 50% 108%,rgba(255,166,76,.4),transparent 70%),linear-gradient(180deg,var(--night-1) 0%,#262B55 40%,var(--night-2) 100%);}
  .thanks[hidden]{display:none!important;}
  .thanks .snowfx{animation-duration:20s;}
  .bokeh{position:absolute; inset:0; filter:blur(14px); opacity:.5; pointer-events:none;
    background:radial-gradient(circle at 12% 78%,rgba(255,190,110,.5) 0 18px,transparent 32px),radial-gradient(circle at 88% 70%,rgba(255,150,120,.4) 0 22px,transparent 38px),radial-gradient(circle at 72% 90%,rgba(255,210,140,.45) 0 14px,transparent 26px),radial-gradient(circle at 26% 92%,rgba(140,170,255,.35) 0 16px,transparent 30px);}
  .tin{position:relative; z-index:2; min-height:100%; display:flex; flex-direction:column; padding-bottom:40px;}
  .thanks .top img{filter:brightness(0) invert(1); opacity:.9;}
  .lampw{width:250px; margin:-20px auto 0; position:relative;}
  .lampw .lamp{width:100%; height:auto; display:block;}
  .lamp .on{opacity:0;}
  .thanks.go .lamp .on{animation:lampon 1.6s ease-out .5s both;}
  @keyframes lampon{0%{opacity:0}18%{opacity:.85}26%{opacity:.15}40%{opacity:1}52%{opacity:.6}70%{opacity:1}100%{opacity:1}}
  .tt{text-align:left; max-width:720px; margin:0 auto; width:100%;}
  .cnt{font-size:14px; font-weight:700; color:var(--gold);}
  .tt .h1{margin-top:10px; color:#fff; font-size:34px;}
  .tt .h1 em.a{color:var(--gold);}
  .tt .big{margin-top:14px; font-size:16px; line-height:1.55; color:var(--night-text); text-wrap:pretty;}
  .tt .big b{color:#fff; font-weight:600;}
  .keep{margin-top:22px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:22px; padding:18px;}
  .keep b{display:block; font-size:17px; font-weight:700;}
  .keep p{margin-top:8px; font-size:14px; line-height:1.5; color:var(--night-text);}
  .keep .cta{margin-top:16px; width:100%; height:52px; font-size:16px;}
  /* встроенный GIVR-виджет на странице «Спасибо» */
  .givr-recurring{margin-top:18px; background:#fff; border-radius:18px; padding:10px; min-height:200px; color:#1F2433;}
  .givr-recurring:empty::after{content:"Загружаем форму ежемесячного пожертвования…"; display:block; text-align:center; padding:56px 0; color:#667085; font-size:14px;}
  .back{margin-top:18px; display:inline-flex; align-items:center; gap:6px; font-size:14.5px; color:var(--night-soft); text-decoration:underline; text-underline-offset:3px;}
  @media (min-width:900px){
    .lampw{width:300px; margin-top:-10px;}
    .tt{text-align:center;}
    .tt .h1{font-size:60px;}
    .tt .big{font-size:18px; max-width:720px; margin-left:auto; margin-right:auto;}
    .keep{max-width:720px; margin:36px auto 0; padding:32px 36px; text-align:center;}
    .keep b{font-size:22px;} .keep p{font-size:16px; max-width:560px; margin-left:auto; margin-right:auto;}
    .givr-recurring{padding:14px; min-height:220px; border-radius:22px;}
  }

  /* тост */
  .toast{position:fixed; left:50%; bottom:calc(96px + env(safe-area-inset-bottom,0px)); transform:translate(-50%,40px); opacity:0; transition:transform .3s, opacity .3s; z-index:70; background:var(--ink); color:#fff; font-size:14px; font-weight:600; padding:10px 16px; border-radius:14px; box-shadow:0 10px 30px rgba(31,36,51,.3); white-space:nowrap; pointer-events:none;}
  .toast.show{transform:translate(-50%,0); opacity:1;}
  @media (max-width:420px){ .sugg{grid-template-columns:1fr;} }

  @media (prefers-reduced-motion: reduce){
    .snowfx,.thanks.go .lamp .on,.garland .b.new .on,.w1pic,.w1num{animation:none!important;}
    .card,.card:hover,.ph img{transform:none!important;}
    .thanks.go .lamp .on{opacity:1;}
    html{scroll-behavior:auto;}
  }
  /* исполните мечту */
  .steps{list-style:none; margin:24px 0 0; padding:0; display:grid; gap:12px;}
  .step{position:relative; background:var(--paper); border-radius:22px; padding:20px 18px 20px; display:flex; flex-direction:column; min-width:0;}
  .sn{width:40px; height:40px; border-radius:50%; background:var(--tang-soft); color:var(--warm); font-size:18px; font-weight:800; display:flex; align-items:center; justify-content:center;}
  .step h3{margin-top:14px; font-size:18px; line-height:1.25; font-weight:700;}
  .step p{margin-top:8px; font-size:14.5px; line-height:1.5; color:var(--ink-soft);}
  .step .tel{color:var(--ink); font-weight:700; white-space:nowrap;}
  .step .pill{margin-top:16px; align-self:flex-start; height:44px; padding:0 20px; font-size:14.5px; transition:background .2s,color .2s;}
  .step .pill:hover{background:var(--ink); color:#fff;}
  /* письма: конверт авиапочты */
  .airmail{border-radius:30px; padding:8px; background:repeating-linear-gradient(-45deg,var(--tang) 0 14px,#fff 14px 24px,var(--blue) 24px 38px,#fff 38px 48px); box-shadow:0 18px 44px rgba(31,36,51,.08);}
  .letters{background:linear-gradient(180deg,#FFFBF4 0%,var(--paper) 60%); border-radius:23px; padding:24px 18px 20px;}
  .lhead{display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px;}
  .env{width:120px;}
  .envsvg{display:block; width:100%; height:auto; overflow:visible;}
  .envletter{animation:peek 4.5s ease-in-out infinite;}
  @keyframes peek{0%,100%{transform:translateY(6px);} 50%{transform:translateY(-6px);}}
  .tw{transform-box:fill-box; transform-origin:center; animation:twinkle 2.4s ease-in-out infinite;}
  .tw.t2{animation-delay:1.2s;}
  @keyframes twinkle{0%,100%{opacity:.3; transform:scale(.6);} 50%{opacity:1; transform:scale(1.15);}}
  .kick{display:inline-block; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--warm); background:var(--tang-soft); padding:5px 10px; border-radius:100px;}
  .ltxt{display:flex; flex-direction:column; align-items:center;}
  .ltxt .h2{margin-top:12px; font-size:28px;}
  .ltxt p{margin-top:16px; font-size:15.5px; line-height:1.55; color:var(--ink-2); max-width:900px; text-wrap:balance;}
  .letters .steps{margin-top:22px;}
  .letters .step{background:var(--snow); border:1px dashed #E2D6C3;}
  @media (min-width:900px){
    .airmail{border-radius:36px; padding:10px;}
    .letters{border-radius:28px; padding:40px 44px 44px;}
    .lhead{gap:18px;}
    .env{width:150px;}
    .ltxt .h2{font-size:44px;}
    .ltxt p{margin-top:18px; font-size:17px; line-height:1.6;}
    .letters .steps{margin-top:34px;}
  }
  @media (prefers-reduced-motion: reduce){ .envletter,.tw{animation:none;} }
  /* для компаний */
  .biz{position:relative; overflow:hidden; background:radial-gradient(120% 140% at 100% 0%,#FFE7C9 0%,rgba(255,231,201,0) 55%),linear-gradient(135deg,#FDEBDA 0%,#FBDFC4 100%); border-radius:24px; padding:24px 20px; display:grid; gap:20px;}
  .biz .h2 em.a{color:var(--warm);}
  .bizt p{color:#5E4A3A !important;} .bizt p + p{color:var(--ink) !important;}
  .biz .h2{font-size:26px;}
  .bizt p{margin-top:10px; font-size:15px; line-height:1.5; color:#4A5061; max-width:56ch;}
  .bizt p + p{margin-top:8px; color:var(--ink); font-weight:600;}
  .biz .cta{width:100%;}
  @media (min-width:900px){
    .steps{grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px;}
    .step{border-radius:24px; padding:28px 28px 30px;}
    .sn{width:48px; height:48px; font-size:20px;}
    .step h3{margin-top:18px; font-size:20px;}
    .step p{font-size:15.5px; margin-top:10px;}
    .step .pill{margin-top:auto; padding-top:0;}
    .step p{margin-bottom:22px;}
    .step:last-child p{margin-bottom:0;}
    .biz{border-radius:28px; padding:40px 44px; grid-template-columns:1fr auto; align-items:center; gap:40px;}
    .biz .h2{font-size:36px;}
    .bizt p{font-size:17px;}
    .biz .cta{width:auto; padding:0 36px;}
  }
  /* === Тап-таргеты === */
.burger, .dh .x{ min-width:44px; min-height:44px; }
.dh .clr{ min-height:44px; display:inline-flex; align-items:center; }

/* === Инпуты: убираем зум на iOS === */
input, textarea, select{ font-size:16px; }

/* === Чипы: инерционный скролл === */
.chips{ -webkit-overflow-scrolling:touch; }

/* === Мелкие экраны === */
@media (max-width:360px){
  .btext .h1{ font-size:34px; }
  .btext .h1 .nw{ white-space:normal; }
  .af b{ font-size:17px; }
}

/* === Сейф-зоны (только шапка на мобиле) === */
@media (max-width:899px){
  .top{
    padding-left:env(safe-area-inset-left,0);
    padding-right:env(safe-area-inset-right,0);
  }
}