/* Торты на заказ и доставка цветов: шаблон главной. Серый фон, огромное белое слово за первым экраном,
   узкий наклонный гротеск, наклонённые «наклейки» тортов, повёрнутые цветные плашки-пилюли, цветные карточки с крупным скруглением. */
@font-face{font-family:'Alumni Sans';font-style:italic;font-weight:500;font-display:swap;src:url(fonts/alumni-sans-500-i-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Alumni Sans';font-style:italic;font-weight:500;font-display:swap;src:url(fonts/alumni-sans-500-i-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Alumni Sans';font-style:italic;font-weight:500;font-display:swap;src:url(fonts/alumni-sans-500-i-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Alumni Sans';font-style:italic;font-weight:600;font-display:swap;src:url(fonts/alumni-sans-600-i-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Alumni Sans';font-style:italic;font-weight:600;font-display:swap;src:url(fonts/alumni-sans-600-i-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Alumni Sans';font-style:italic;font-weight:600;font-display:swap;src:url(fonts/alumni-sans-600-i-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Alumni Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/alumni-sans-700-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Alumni Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/alumni-sans-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/onest-400-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Onest';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/onest-400-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/onest-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/onest-500-cyrillic-ext.woff2) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Onest';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/onest-500-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/onest-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{
  --bg:#EBEBEB; --ink:#4A4C4F; --head:#55575B; --white:#fff;
  --green:#4A8516; --orange:#EE6A10; --magenta:#C552AE; --pink:#C7428C; --purple:#8C5DA5; --red:#E4003A;
  --disp:'Alumni Sans', 'Arial Narrow', sans-serif; --text:'Onest', Arial, sans-serif;
  --pad:16px; --r:24px; --hh:56px;
}
@media (min-width:768px){ :root{ --pad:24px; --r:28px; --hh:48px; } }

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{ margin:0; background:var(--bg); color:var(--ink); font:400 16px/1.5 var(--text); overflow-x:clip; }
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; }
button,input,select{ font:inherit; color:inherit; }
:focus-visible{ outline:3px solid var(--green); outline-offset:3px; }
.skip{ position:absolute; left:-999px; top:0; background:var(--white); padding:12px 16px; z-index:100; }
.skip:focus{ left:8px; top:8px; }
section{ scroll-margin-top:calc(var(--hh) + 8px); }
h1,h2,h3{ margin:0; font-family:var(--disp); font-style:italic; font-weight:600; color:var(--head); letter-spacing:-0.02em; }
p{ margin:0; }


.pill{ display:inline-block; font:italic 600 34px/1 var(--disp); color:var(--white); padding:.18em .5em .26em; border-radius:999px; white-space:nowrap; letter-spacing:-0.01em; }
.pill--green{ background:var(--green); } .pill--red{ background:var(--red); } .pill--pink{ background:var(--pink); } .pill--purple{ background:var(--purple); }

.btn{ display:inline-flex; align-items:center; justify-content:center; min-height:56px; padding:0 32px; border-radius:999px; border:0; cursor:pointer;
  font:500 16px/1.2 var(--text); text-decoration:none; transition:transform .2s ease, background-color .2s ease; }
.btn--green{ background:var(--green); color:var(--white); }
.btn--green:hover{ background:#3F7312; }
.btn--white{ background:var(--white); color:var(--ink); }
.btn:active{ transform:scale(.97); }
.btn--big{ min-height:80px; padding:0 48px; font-size:18px; width:min(100%, 360px); }

/* шапка */
.hdr{ position:sticky; top:0; z-index:50; height:var(--hh); background:var(--white); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 0 0 8px; }
.hdr__nav{ display:none; }
.hdr__menu{ justify-self:start; height:36px; padding:0 16px; border:0; border-radius:999px; background:var(--bg); font-size:14px; font-weight:500; cursor:pointer; }
.logo{ justify-self:center; font:700 32px/1 var(--disp); letter-spacing:-0.01em; color:var(--head); text-decoration:none; }
.hdr__tel{ display:none; }
.hdr__cta{ justify-self:end; margin-right:8px; height:36px; display:inline-flex; align-items:center; padding:0 16px; border-radius:999px; background:var(--green); color:var(--white); font-size:14px; font-weight:500; text-decoration:none; white-space:nowrap; }
.menu{ position:absolute; left:0; right:0; top:100%; background:var(--white); padding:8px var(--pad) 24px; display:grid; gap:4px; box-shadow:0 18px 30px rgba(0,0,0,.12); } /* taste-skill-ignore: выпадающее меню — настоящий слой поверх */
.menu[hidden]{ display:none; }
.menu > a{ font:italic 600 40px/1.1 var(--disp); color:var(--head); text-decoration:none; padding:4px 0; }
.menu__tel{ display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:12px; font-weight:500; }
@media (min-width:1024px){
  .hdr{ grid-template-columns:1fr auto 1fr; padding:0 0 0 24px; }
  .hdr__menu{ display:none; }
  .hdr__nav{ display:flex; gap:28px; font-size:15px; }
  .hdr__nav a{ text-decoration:none; }
  .hdr__nav a:hover{ color:var(--green); }
  .logo{ font-size:36px; }
  .hdr__tel{ display:block; position:absolute; right:200px; top:50%; transform:translateY(-50%); font-size:15px; font-weight:500; text-decoration:none; }
  .hdr__cta{ height:100%; margin:0; border-radius:0; padding:0 32px; font-size:15px; }
  .hdr__cta:hover{ background:#3F7312; }
  .menu{ display:none !important; }
}

/* первый экран */
.hero{ position:relative; overflow:hidden; min-height:calc(100svh - var(--hh)); padding:0 var(--pad) 56px; display:flex; flex-direction:column; }
.hero::before, .end::before{ content:attr(data-word); position:absolute; left:50%; top:12%; transform:translateX(-50%); margin:0; font:700 52vw/.8 var(--disp); color:var(--white); letter-spacing:-0.02em; white-space:nowrap; pointer-events:none; }
.can{ position:absolute; z-index:1; pointer-events:none; will-change:transform; }
.can--1{ width:44vw; right:-6vw; top:2%; transform:rotate(14deg); }
.can--2{ width:24vw; left:2vw; top:22%; transform:rotate(-12deg); }
.can--3{ display:none; }
.can--4{ display:none; }
.hero .pill{ position:relative; z-index:3; }
.hero__mid{ position:relative; z-index:2; margin-top:auto; padding-top:min(36vh, 300px); }
.hero__t{ font-size:clamp(64px, 19vw, 180px); line-height:.82; }
.hero__s1{ transform:rotate(-8deg); margin:0 0 14px 8px; font-size:30px; }
.hero__s2{ transform:rotate(-6deg); margin:16px 0 0 0; font-size:30px; }
.hero__foot{ position:relative; z-index:2; margin-top:28px; display:grid; gap:20px; max-width:620px; }
.hero__foot p{ font-size:16px; max-width:30ch; }
.hero__foot .btn{ justify-self:start; }
@media (min-width:768px){
  .hero{ min-height:max(720px, calc(100svh - var(--hh))); }
  .hero::before{ top:12%; font-size:50vw; }
  .can--1{ width:28vw; right:auto; left:-3vw; top:-1%; transform:rotate(-16deg); }
  .can--2{ width:17vw; left:auto; right:1vw; top:5%; transform:rotate(13deg); }
  .can--3{ display:block; width:19vw; right:8vw; bottom:4%; transform:rotate(-7deg); }
  .can--4{ display:block; width:15vw; left:5vw; bottom:3%; transform:rotate(10deg); }
  .hero__mid{ padding-top:0; margin:auto; text-align:center; display:flex; flex-direction:column; align-items:center; }
  .hero__t{ font-size:clamp(96px, 12vw, 172px); }
  .hero__s1{ align-self:flex-end; margin:0 4% 6px 0; font-size:46px; }
  .hero__s2{ align-self:flex-start; margin:10px 0 0 2%; font-size:46px; }
  .hero__foot{ margin:24px auto 0; justify-items:center; text-align:center; }
  .hero__foot p{ max-width:44ch; }
  .hero__foot .btn{ justify-self:center; }
}
@media (min-width:1280px){
  .can--1{ width:24vw; left:-1vw; top:-2%; }
  .can--2{ width:14vw; right:3vw; top:6%; }
  .can--3{ width:13vw; right:14vw; bottom:2%; }
  .can--4{ width:10vw; left:10vw; bottom:4%; }
  .hero__t{ font-size:min(11.5vw, 176px); }
}

/* бенто из цветных карточек */
.bento{ display:grid; gap:12px; padding:24px var(--pad) 0; }
.bc{ position:relative; overflow:hidden; border-radius:var(--r); color:var(--white); padding:28px 24px; min-height:220px; }
.bc__t{ color:var(--white); font-size:52px; line-height:.86; max-width:9ch; position:relative; z-index:1; }
.bc__t--s{ font-size:44px; }
.bc__p{ margin-top:16px; max-width:24ch; font-size:16px; line-height:1.4; position:relative; z-index:1; }
.bc--pink{ background:var(--pink); min-height:520px; }
.bc--purple{ background:var(--purple); }
.bc--green{ background:var(--green); }
.bc--red{ background:var(--red); min-height:480px; }
.bc__img--wed{ position:absolute; width:62%; right:-4%; bottom:-6%; }
.bc__fl{ position:absolute; }
.bc__fl--1{ width:44%; right:-4%; bottom:4%; transform:rotate(-10deg); }
.bc__fl--2{ width:46%; left:4%; bottom:-10%; transform:rotate(8deg); }
.bc__fl--3{ width:26%; right:26%; top:42%; transform:rotate(16deg); }
@media (min-width:768px){
  .bento{ grid-template-columns:1.65fr 1fr; grid-template-rows:auto auto auto; }
  .bc--pink{ grid-row:span 2; }
  .bc--red{ grid-column:span 2; min-height:440px; }
}
@media (min-width:1100px){
  .bento{ grid-template-columns:597fr 338fr 456fr; grid-template-rows:228px 262px; }
  .bc{ padding:36px; }
  .bc--pink{ grid-row:1 / 3; min-height:0; }
  .bc--purple{ grid-column:2; grid-row:1; min-height:0; }
  .bc--green{ grid-column:2; grid-row:2; min-height:0; }
  .bc--red{ grid-column:3; grid-row:1 / 3; min-height:0; }
  .bc__t{ font-size:64px; }
  .bc__t--s{ font-size:48px; }
  .bc__img--wed{ width:52%; right:-2%; bottom:-8%; }
  .bc__fl--1{ width:52%; right:-6%; bottom:6%; }
  .bc__fl--2{ width:54%; left:-2%; bottom:-12%; }
}

/* утверждение */
.say{ padding:120px var(--pad) 40px; display:grid; gap:28px; }
.say__t{ font-size:clamp(60px, 16vw, 120px); line-height:.82; }
.say__p{ font-size:16px; max-width:22ch; }
.say__q{ font:italic 500 32px/1 var(--disp); color:var(--head); margin:10px 0 0 32px; }
@media (min-width:900px){
  .say{ grid-template-columns:1.4fr 1fr; padding:160px var(--pad) 64px 14%; align-items:start; }
  .say__t{ font-size:120px; max-width:none; }
  .say__aside{ padding-top:12px; }
  .say__q{ font-size:40px; margin-left:120px; }
}


.occ{ display:grid; gap:56px 12px; padding:56px var(--pad) 0; }
.oc{ position:relative; border-radius:var(--r); min-height:440px; padding:76px 28px 24px; cursor:pointer; color:var(--white);
  display:flex; flex-direction:column; transition:transform .25s ease; }
.oc:hover{ transform:translateY(-6px); }
.oc__tag{ position:absolute; left:10px; top:-26px; background:var(--white); border-radius:999px; padding:.14em .5em .24em; font-size:42px; line-height:1; transform:rotate(-6deg); white-space:nowrap; }
.oc__n{ font:italic 500 30px/.95 var(--disp); max-width:11ch; }
.oc__go{ position:absolute; inset:0; border:0; background:none; border-radius:var(--r); cursor:pointer; font-size:0; color:transparent; }
.oc__go:focus-visible{ outline:3px solid var(--head); outline-offset:3px; }
.oc img{ margin:auto auto 0; width:86%; pointer-events:none; max-height:300px; object-fit:contain; object-position:bottom; transform-origin:50% 100%; transition:transform .35s ease; }
.oc:hover img{ transform:scale(1.04) rotate(-2deg); }
.oc--kids{ background:var(--orange); } .oc--kids .oc__tag{ color:var(--orange); }
.oc--wed{ background:var(--magenta); } .oc--wed .oc__tag{ color:var(--magenta); }
.oc--corp{ background:var(--green); } .oc--corp .oc__tag{ color:var(--green); }
.oc--holi{ background:var(--pink); } .oc--holi .oc__tag{ color:var(--pink); }
@media (min-width:640px){ .occ{ grid-template-columns:1fr 1fr; } }
@media (min-width:1100px){
  .occ{ grid-template-columns:repeat(4, 1fr); padding-top:72px; }
  .oc{ min-height:600px; padding:96px 36px 28px; }
  .oc img{ max-height:380px; width:92%; }
}

/* каталог и расчёт */
.cat{ padding:140px var(--pad) 0; }
.cat__head{ display:grid; gap:16px; margin-bottom:40px; position:relative; }
.cat__t{ font-size:clamp(64px, 17vw, 120px); line-height:.84; }
.cat__pill{ justify-self:start; transform:rotate(-5deg); font-size:34px; }
.cat__p{ max-width:46ch; }
@media (min-width:900px){
  .cat__head{ grid-template-columns:auto auto 1fr; align-items:end; column-gap:24px; }
  .cat__pill{ font-size:44px; margin-bottom:22px; }
  .cat__p{ justify-self:end; max-width:34ch; margin-bottom:10px; }
}
.cat__wrap{ display:grid; gap:40px; align-items:start; }
@media (min-width:1100px){ .cat__wrap{ grid-template-columns:1fr 440px; gap:24px; } }
.chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.chip{ border:0; background:var(--white); border-radius:999px; min-height:44px; padding:0 20px; font-size:15px; font-weight:500; cursor:pointer; transition:background-color .2s, color .2s, transform .2s; }
.chip:hover{ transform:translateY(-2px); }
.chip.is-on{ background:var(--head); color:var(--white); }
.grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (min-width:700px){ .grid{ grid-template-columns:repeat(3, 1fr); gap:12px; } }
.card{ position:relative; border-radius:20px; overflow:hidden; color:var(--white); }
.card button{ all:unset; display:block; width:100%; cursor:pointer; }
.card__img{ aspect-ratio:7/8; width:100%; object-fit:cover; transition:transform .4s ease; }
.card:hover .card__img{ transform:scale(1.05); }
.card__b{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:12px 12px 14px; }
@media (min-width:700px){ .card__b{ flex-direction:row; justify-content:space-between; align-items:end; padding:12px 14px 14px; } }
.card__n{ font:italic 600 26px/.95 var(--disp); overflow-wrap:anywhere; }
.card__go{ flex:none; font-size:13px; font-weight:500; background:var(--white); color:var(--ink); border-radius:999px; padding:6px 10px; }
.card.is-sel{ outline:4px solid var(--head); outline-offset:-4px; }
.card.is-sel .card__go{ background:var(--head); color:var(--white); }
.card--kids{ background:var(--orange); } .card--wed{ background:var(--magenta); } .card--corp{ background:var(--green); } .card--holi{ background:var(--pink); }
.more{ margin-top:20px; width:100%; }
.more[hidden]{ display:none; }

.order{ background:var(--white); border-radius:var(--r); padding:24px 20px; display:grid; gap:18px; }
@media (min-width:1100px){ .order{ padding:28px; } }
.order__top{ display:grid; grid-template-columns:96px 1fr; gap:16px; align-items:center; }
.order__img{ width:96px; height:110px; object-fit:cover; border-radius:16px; }
.order__t{ font-size:44px; line-height:.9; }
.order__name{ font:italic 600 28px/1 var(--disp); color:var(--ink); margin-top:6px; }
.order__cat{ font-size:14px; margin-top:4px; }
.f{ display:grid; gap:8px; margin:0; padding:0; border:0; min-width:0; }
.f--row{ grid-template-columns:1fr auto; align-items:center; }
.f--two{ grid-template-columns:1fr 1fr; gap:12px; }
.f--two label{ display:grid; gap:8px; min-width:0; }
.f__l{ font-weight:500; font-size:15px; display:grid; padding:0; }
.f__l small{ font-weight:400; font-size:13px; color:#5E6064; }
.f input[type=text], .f input[type=tel], .f input[type=date], .f input[type=number], .f select{
  width:100%; min-height:48px; padding:10px 14px; border:1.5px solid #C9CACC; border-radius:14px; background:var(--white); font-size:16px; }
.f input:focus, .f select:focus{ border-color:var(--green); outline:none; }
.f--check{ grid-template-columns:auto 1fr; align-items:center; gap:12px; font-size:15px; cursor:pointer; }
.f--check input{ width:22px; height:22px; accent-color:var(--green); }
.step{ display:flex; align-items:center; gap:4px; background:var(--bg); border-radius:999px; padding:4px; }
.step__b{ width:40px; height:40px; border:0; border-radius:50%; background:var(--white); font:italic 600 26px/1 var(--disp); color:var(--head); cursor:pointer; transition:transform .15s; }
.step__b:active{ transform:scale(.9); }
.step__v{ min-width:58px; text-align:center; font:italic 600 26px/1 var(--disp); color:var(--head); }
.seg{ display:flex; gap:6px; }
.seg--wrap{ flex-wrap:wrap; }
.seg label{ cursor:pointer; }
.seg input{ position:absolute; opacity:0; width:1px; height:1px; }
.seg span{ display:inline-flex; align-items:center; min-height:40px; min-width:44px; justify-content:center; padding:0 14px; border-radius:999px; background:var(--bg); font-size:15px; font-weight:500; transition:background-color .2s, color .2s; }
.seg input:checked + span{ background:var(--green); color:var(--white); }
.seg input:focus-visible + span{ outline:3px solid var(--green); outline-offset:2px; }
.sum{ background:var(--bg); border-radius:20px; padding:18px 20px; }
.sum__l{ font-size:14px; font-weight:500; }
.sum__v{ font:italic 600 52px/1 var(--disp); color:var(--head); }
.sum__n{ font-size:14px; margin-top:8px; line-height:1.4; }
.order__err{ color:#B00030; font-weight:500; font-size:15px; }
.order__go{ width:100%; }

/* цифры: разбросанные высокие карточки и большие повёрнутые пилюли */
.facts{ padding:160px var(--pad) 0; position:relative; }
.facts__t{ font-size:clamp(44px, 12vw, 120px); line-height:.9; display:grid; }
.facts__t span{ white-space:nowrap; }
.facts__t2{ padding-left:0; }
.facts__pill{ transform:rotate(-4deg); margin:18px 0 0; font-size:34px; }
.facts__lead{ margin-top:24px; max-width:26ch; }
.facts__field{ display:grid; grid-template-columns:1fr 1fr; gap:16px 12px; margin-top:48px; align-items:start; }
.vc{ margin:0; border-radius:var(--r); overflow:hidden; }
.vc img{ width:100%; aspect-ratio:600/820; object-fit:cover; }
.st{ display:grid; gap:12px; align-content:start; }
.st__b{ justify-self:start; font-size:56px; transform:rotate(-8deg); }
.st p{ font-size:15px; max-width:24ch; }
.vc--1{ grid-column:1; } .st--1{ grid-column:2; align-self:center; }
.vc--2{ grid-column:2; grid-row:span 2; } .vc--3{ grid-column:1; }
.st--2{ grid-column:1; } .vc--4{ grid-column:2; }
.st--3{ grid-column:1 / -1; }
.facts__call{ grid-column:1 / -1; margin-top:24px; }
.facts__q{ font-weight:500; font-size:44px; line-height:.92; max-width:16ch; }
.rounds{ display:flex; gap:12px; margin-top:20px; }
.round{ width:96px; height:96px; border-radius:50%; display:grid; place-items:center; transition:transform .2s; }
.round:hover{ transform:scale(1.06) rotate(-6deg); }
.round svg{ width:46px; height:46px; fill:var(--white); }
.round--wa{ background:var(--green); } .round--tel{ background:var(--head); }
@media (min-width:900px){
  .facts__head{ display:flex; flex-wrap:wrap; align-items:flex-start; }
  .facts__t{ display:block; font-size:110px; }
  .facts__t span{ display:block; white-space:nowrap; }
  .facts__t2{ padding-left:22%; }
  .facts__pill{ font-size:52px; margin:28px 0 0 28px; }
  .facts__lead{ max-width:30ch; margin-top:20px; }
  .facts__field{ display:block; position:relative; height:1080px; margin-top:24px; }
  .vc, .st, .facts__call{ position:absolute; }
  .vc--1{ left:0; top:120px; width:18%; }
  .st--1{ left:20%; top:200px; }
  .vc--2{ left:24%; top:470px; width:24%; }
  .vc--3{ left:52%; top:0; width:24%; }
  .st--2{ left:78%; top:60px; }
  .vc--4{ right:0; top:420px; width:18%; }
  .st--3{ left:52%; top:560px; width:26%; }
  .st__b{ font-size:96px; }
  .st--2 .st__b{ font-size:72px; }
  .st p{ margin-left:18%; }
  .facts__call{ left:52%; top:830px; margin:0; }
  .facts__q{ font-size:50px; }
  .round{ width:110px; height:110px; }
  .round svg{ width:52px; height:52px; }
}


/* цветы: целое красное поле */
.flw{ margin-top:120px; background:var(--red); color:var(--white); padding:72px var(--pad) 80px; overflow:hidden; }
.flw__t{ color:var(--white); font-size:clamp(56px, 14vw, 120px); line-height:.86; max-width:15ch; }
.flw__p{ margin-top:18px; max-width:36ch; }
.flw__row{ display:grid; grid-template-columns:1fr 1fr; gap:40px 12px; margin-top:56px; padding-top:8px; }
.fb{ position:relative; border:0; border-radius:var(--r); background:#F2416F; padding:52px 16px 16px; cursor:pointer; transition:transform .25s; }
.fb:hover{ transform:translateY(-6px) rotate(-1deg); }
.fb img{ width:100%; aspect-ratio:1; object-fit:contain; }
.fb img.fb__ph{ object-fit:cover; border-radius:16px; }
.fb__tag{ position:absolute; left:8px; top:-20px; background:var(--white); color:var(--red); border-radius:999px; padding:.14em .45em .24em; font:italic 600 26px/1 var(--disp); transform:rotate(-5deg); white-space:nowrap; }
.fb.is-on{ background:var(--white); }
@media (min-width:768px){ .flw__row{ grid-template-columns:repeat(3, 1fr); } }
@media (min-width:1100px){
  .flw{ padding:96px var(--pad) 110px; }
  .flw__head{ display:flex; }
  .flw__row{ grid-template-columns:repeat(5, 1fr); }
  .fb__tag{ font-size:30px; }
}

/* условия и бегущая строка из белых пилюль, как «Купить на OZON» */
.dlv{ padding:140px 0 0; overflow:hidden; }
.dlv__head{ padding:0 var(--pad); display:grid; gap:20px; }
.dlv__t{ font-size:clamp(56px, 15vw, 120px); line-height:.86; max-width:8ch; }
.dlv__p{ max-width:34ch; }
@media (min-width:900px){ .dlv__head{ grid-template-columns:1fr auto; align-items:end; } .dlv__t{ max-width:none; } .dlv__p{ margin-bottom:12px; } }
.marq{ margin-top:48px; }
.marq__track{ list-style:none; margin:0; padding:0; display:flex; gap:12px; width:max-content; animation:marq 46s linear infinite; }
.marq:hover .marq__track{ animation-play-state:paused; }
.marq__track li{ display:flex; align-items:center; gap:16px; background:var(--white); border-radius:999px; min-height:88px; padding:0 36px 0 16px; font-size:16px; font-weight:500; white-space:nowrap; }
.ico{ flex:none; width:56px; height:56px; border-radius:16px; display:grid; place-items:center; color:var(--white); font:italic 600 24px/1 var(--disp); }
.ico--green{ background:var(--green); } .ico--orange{ background:var(--orange); } .ico--pink{ background:var(--pink); } .ico--purple{ background:var(--purple); } .ico--red{ background:var(--red); }
@keyframes marq{ to{ transform:translateX(-50%); } }

/* финал: огромное слово, торты, кнопка */
.end{ position:relative; overflow:hidden; margin-top:100px; min-height:760px; display:grid; place-items:center; padding:120px var(--pad) 140px; }
.end::before{ top:50%; transform:translate(-50%, -50%); font-size:42vw; }
.can--e1{ width:44vw; left:-10vw; top:2%; transform:rotate(18deg); }
.can--e2{ width:40vw; right:-8vw; top:6%; transform:rotate(-14deg); }
.can--e3{ width:46vw; left:24vw; bottom:-6%; transform:rotate(-6deg); }
.end__mid{ position:relative; z-index:2; display:grid; justify-items:center; gap:22px; text-align:center; }
.end__t{ font-size:clamp(60px, 16vw, 140px); line-height:.86; }
.end__c{ font-size:16px; }
.end__c a{ font-weight:500; white-space:nowrap; margin:0 6px; }
@media (min-width:900px){
  .end{ min-height:880px; }
  .end::before{ font-size:44vw; }
  .end__t{ font-size:min(9vw, 128px); }
  .can--e1{ width:22vw; left:-3vw; top:3%; transform:rotate(24deg); }
  .can--e2{ width:19vw; right:-2vw; top:10%; transform:rotate(-16deg); }
  .can--e3{ width:17vw; left:7vw; bottom:-3%; transform:rotate(-8deg); }
}

.ftr{ background:var(--white); padding:32px var(--pad) 40px; display:grid; gap:14px; font-size:15px; }
.ftr p{ max-width:60ch; }
@media (min-width:900px){ .ftr{ grid-template-columns:1fr 1fr 1fr; gap:32px; } }

/* фото шаблона — прямоугольные кадры, а не вырезанные торты: скругляем, как наклейки */
.can--2, .can--3, .can--4, .can--e1, .can--e2, .bc__img--wed, .bc__fl{ border-radius:22px; }
.oc img{ border-radius:20px; aspect-ratio:1; object-fit:cover; width:80%; }
.fb img{ border-radius:16px; object-fit:cover; }

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .marq__track{ animation:none; flex-wrap:wrap; width:auto; padding:0 var(--pad); }
  *{ transition:none !important; }
}
