/* ============================================================
   r_keeper — Летняя акция (витрина)
   Айдентика rkeeper-kz-landing: Light / Clean SaaS
   Brand: Ebony Clay #2A3048 · Caribbean Green #00CF6F · Medium Purple #8B7ADF
   Font: Montserrat
   ============================================================ */

:root{
  --bg:        #ffffff;
  --soft:      #f4f7fb;
  --mint:      #ecfaf2;
  --lilac:     #f2f0fd;
  --sun:       #fff7e8;   /* летний тёплый оттенок */
  --ink:       #2A3048;
  --text:      #565d72;
  --muted:     #9D9DAF;
  --green:     #00CF6F;
  --green-600: #00CF6F;
  --green-700: #00A85A;
  --purple:    #8B7ADF;
  --line:      #e6eaf1;
  --line-2:    #d8deea;
  --card:      #ffffff;
  --shadow-sm: 0 4px 16px -6px rgba(24,39,75,.10);
  --shadow:    0 16px 44px -18px rgba(24,39,75,.18);
  --shadow-lg: 0 30px 70px -28px rgba(24,39,75,.28);
  --radius:    18px;
  --radius-lg: 24px;
  --maxw:      1200px;
  --ease:      cubic-bezier(.22,.61,.36,1);
  --font: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overscroll-behavior-y:none;background:#fff}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  font-weight:400;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  padding-top:72px;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}

.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;width:100%}
.container--narrow{max-width:760px}

.eyebrow{
  display:inline-block;font-size:13.5px;font-weight:700;letter-spacing:.02em;
  color:var(--green-700);
  padding:7px 16px;border:1px solid rgba(0,207,111,.28);border-radius:100px;
  background:var(--mint);margin-bottom:20px;
}
.head{max-width:760px;margin:0 auto 52px;text-align:center}
.head__title{font-size:clamp(28px,4.2vw,48px);font-weight:800;line-height:1.12;letter-spacing:-.02em;color:var(--ink)}
.head__sub{margin-top:16px;font-size:clamp(15px,1.4vw,18px);color:var(--muted)}

.section{padding:clamp(60px,7.5vw,104px) 0}
.section--soft{background:var(--soft)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font);font-weight:700;font-size:15px;
  padding:15px 30px;cursor:pointer;border:none;border-radius:12px;
  transition:background .25s var(--ease),box-shadow .3s var(--ease),color .25s;
}
.btn--sm{padding:11px 20px;font-size:13.5px;border-radius:10px}
.btn--full{width:100%}
.btn--primary{background:var(--green);color:#fff}
.btn--primary:hover{background:#00b863;box-shadow:0 12px 32px -8px rgba(0,207,111,.55)}
.btn--ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}
.btn--ghost:hover{box-shadow:inset 0 0 0 1.5px var(--green);color:var(--green-700)}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:100vh;background:#fff;pointer-events:none}
html.inapp .nav{position:relative}
html.inapp body{padding-top:0}
html.inapp .nav::before{content:none}
section[id]{scroll-margin-top:84px}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
/* волна-прогресс скролла под шапкой */
.nav__wave{position:absolute;left:0;right:0;bottom:-3px;width:100%;height:10px;pointer-events:none}
.nav__wave path{fill:none;stroke:var(--green);stroke-width:2.5;stroke-linecap:round}
html.inapp .nav__wave{display:none}
.logo__img{height:27px;width:auto;display:block;flex:none}
.nav__tag{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--green-700);border:1px solid rgba(0,207,111,.4);border-radius:100px;padding:5px 13px;background:var(--mint)}
.nav__cta{margin-left:auto}
@media(max-width:560px){ .nav__tag{display:none} }

/* ---------- hero: «морской бриз» ---------- */
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#e8f6ff 0%,#f0fbf4 72%,#fff 100%);
}
.hero__inner{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;
  padding-top:clamp(48px,6vw,88px);padding-bottom:clamp(76px,8vw,110px)}
.hero__title{font-size:clamp(32px,4.6vw,56px);font-weight:800;line-height:1.08;letter-spacing:-.025em;color:var(--ink)}
.hero__title em{font-style:normal;color:var(--green-600)}
.hero__sub{margin-top:20px;font-size:clamp(15.5px,1.5vw,18.5px);max-width:520px}
.hero__sub b{color:var(--ink);font-weight:700}
.hero__actions{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}
.hero__note{margin-top:18px;font-size:13px;color:var(--muted)}
.hero__chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.chip{display:inline-flex;gap:6px;align-items:baseline;background:#fff;border:1px solid var(--line);
  border-radius:100px;padding:9px 16px;font-size:13px;font-weight:700;color:var(--ink);box-shadow:var(--shadow-sm)}
.chip b{color:var(--green-700)}
/* чайки: летят через экран */
.gull{position:absolute;stroke:#8fb6c9;stroke-width:2.5;fill:none;stroke-linecap:round;opacity:.7;pointer-events:none;left:-70px}
.gull--1{animation:fly 26s linear 2s infinite}
.gull--2{animation:fly 34s linear 12s infinite}
@keyframes fly{0%{transform:translateX(0)}100%{transform:translateX(calc(100vw + 140px))}}
/* волны низа героя: дышат в противофазе + солнечный блик */
.hero__waves{position:absolute;left:0;right:0;bottom:-2px;height:70px;pointer-events:none}
.hero__waves path:first-child{animation:wobble 8s ease-in-out infinite alternate}
.hero__waves path:last-child{animation:wobble 6s ease-in-out infinite alternate-reverse}
@keyframes wobble{from{transform:translateX(0)}to{transform:translateX(-42px)}}
.hero__shimmer{position:absolute;left:0;right:0;bottom:0;height:110px;pointer-events:none;
  background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.42) 50%,transparent 58%);
  background-size:240% 100%;animation:shine 6s ease-in-out infinite}
@keyframes shine{0%{background-position:200% 0}100%{background-position:-100% 0}}
/* стаггер-появление героя при загрузке */
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero__inner .eyebrow,.hero__title,.hero__sub,.hero__chips,.hero__actions,.hero__note{animation:rise .7s var(--ease) both}
.hero__title{animation-delay:.08s}
.hero__sub{animation-delay:.16s}
.hero__chips{animation-delay:.24s}
.hero__actions{animation-delay:.32s}
.hero__note{animation-delay:.4s}
/* пульс-круги от главной кнопки героя */
.btn--pulse{position:relative}
.btn--pulse::before,.btn--pulse::after{content:"";position:absolute;inset:0;border-radius:12px;
  border:2px solid rgba(0,207,111,.45);animation:rip 3s ease-out 1.2s infinite;pointer-events:none}
.btn--pulse::after{animation-delay:2.7s}
@keyframes rip{0%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(1.4,1.85)}}
/* на узких экранах кнопка почти во всю ширину — расходящиеся кольца вылезают за край, убираем */
@media(max-width:860px){ .btn--pulse::before,.btn--pulse::after{display:none} }

/* сцена «касса плывёт» */
.seaScene{position:relative;min-height:300px;max-width:520px;margin:0 auto;width:100%}
.raft{position:relative;width:min(340px,92%);margin:44px auto 0;animation:bob 5s ease-in-out infinite}
.raft__shot{position:relative;z-index:2;width:86%;margin:0 auto;border-radius:12px;border:5px solid #fff;
  box-shadow:0 24px 50px -20px rgba(24,60,90,.45);transform:rotate(-2deg);display:block}
.raft__base{width:100%;margin-top:-26px;filter:drop-shadow(0 18px 22px rgba(36,120,160,.35))}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-.6deg)}50%{transform:translateY(-12px) rotate(.8deg)}}
.ring{position:absolute;left:0;bottom:30px;width:92px;height:92px;border-radius:50%;z-index:3;
  background:conic-gradient(from 45deg, var(--green) 0 12.5%, #fff 12.5% 37.5%, var(--green) 37.5% 62.5%, #fff 62.5% 87.5%, var(--green) 87.5% 100%);
  box-shadow:0 16px 34px -14px rgba(24,60,90,.45);
  display:flex;align-items:center;justify-content:center;animation:bob 6s ease-in-out infinite reverse}
.ring::before{content:"";position:absolute;inset:22px;border-radius:50%;background:#eef8fd;box-shadow:inset 0 4px 10px rgba(36,120,160,.3)}
.ring span{position:relative;font-weight:800;font-size:15px;color:var(--ink)}
.ball{position:absolute;right:0;bottom:-4px;width:72px;z-index:3;text-align:center;animation:bob 4.4s ease-in-out infinite}
.ball b{display:block;margin-top:6px;font-size:12px;font-weight:800;color:var(--ink);background:#fff;border-radius:100px;padding:4px 10px;box-shadow:var(--shadow-sm)}
@media(max-width:960px){
  .hero__inner{grid-template-columns:1fr;gap:40px}
  .hero__sub{max-width:none}
  .seaScene{min-height:260px}
  .gull{display:none}
}
@media (prefers-reduced-motion: reduce){
  .raft,.ring,.ball,.hero__waves path{animation:none}
}

/* волна-разделитель перед секцией */
.wave-sep{display:block;width:100%;height:64px;margin-bottom:-1px}

/* ---------- как забрать предложение: 3 шага ---------- */
.steps-wrap{position:relative}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:step}
/* лесенка вверх: шаги поднимаются к цели */
@media(min-width:861px){
  .step:nth-child(1){transform:translateY(44px)}
  .step:nth-child(2){transform:translateY(22px)}
  .step.rv{transition:opacity .6s var(--ease),transform .6s var(--ease)}
  .step.rv:not(.is-in){opacity:0;transform:translateY(84px)}
  .step.rv.is-in:nth-child(1){transform:translateY(44px)}
  .step.rv.is-in:nth-child(2){transform:translateY(22px);transition-delay:.12s}
  .step.rv.is-in:nth-child(3){transform:translateY(0);transition-delay:.24s}
  .steps{padding-bottom:44px}
}
.step{position:relative;z-index:1;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px 26px 26px;box-shadow:var(--shadow-sm);
  transition:box-shadow .3s var(--ease),border-color .3s var(--ease)}
.step:hover{box-shadow:var(--shadow);border-color:rgba(0,207,111,.45)}
.step::before{counter-increment:step;content:counter(step);
  display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;
  background:var(--mint);color:var(--green-700);font-size:18px;font-weight:800;margin-bottom:16px}
.step__title{font-size:17px;font-weight:700;color:var(--ink);margin-bottom:8px;line-height:1.3}
.step__text{font-size:14px}
/* факты доверия: белые карточки с зелёной точкой, как статы на rkeeper.ru */
.trust{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:40px}
.trust__item{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 34px 20px;box-shadow:var(--shadow-sm);min-width:250px;max-width:330px}
.trust__item::after{content:"";position:absolute;top:14px;right:14px;width:8px;height:8px;border-radius:50%;background:var(--green)}
.trust__item b{display:block;font-size:clamp(24px,2.4vw,30px);font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.1;white-space:nowrap}
.trust__item span{display:block;font-size:13px;color:var(--text);margin-top:6px}
@media(max-width:860px){.steps{grid-template-columns:1fr}}

/* ---------- why summer: карточки с зелёным бейджем на углу (вар. B) ---------- */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:14px}
.why__card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:34px 28px 28px;box-shadow:var(--shadow-sm);transition:box-shadow .3s var(--ease),border-color .3s var(--ease)}
.why__card:hover{box-shadow:var(--shadow);border-color:rgba(0,207,111,.45)}
.why__fact{position:absolute;top:-14px;left:26px;background:var(--green);color:#fff;font-weight:800;
  font-size:14px;letter-spacing:-.01em;border-radius:10px;padding:9px 16px;
  box-shadow:0 10px 22px -8px rgba(0,207,111,.6)}
.why__title{font-size:18px;font-weight:700;color:var(--ink);line-height:1.3;margin:6px 0 10px}
.why__text{font-size:14.5px}
@media(max-width:900px){ .why{grid-template-columns:1fr} }

/* ---------- offers ---------- */
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.offer{
  position:relative;display:flex;flex-direction:column;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);overflow:hidden;
  transition:box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.offer:hover{box-shadow:var(--shadow);border-color:rgba(0,207,111,.45)}
/* 3D-наклон за курсором: после появления transform отдаётся под tilt */
.offer.tilting{transition:box-shadow .3s var(--ease),border-color .3s var(--ease);will-change:transform}
/* бейдж-наклейка отлипает при ховере карточки */
.offer:hover .offer__badge{transform:rotate(3deg) translateY(-3px) scale(1.05)}
.offer .offer__badge{transition:transform .3s var(--ease)}
.offer__media{position:relative;background:linear-gradient(135deg,var(--soft),#fff 70%);border-bottom:1px solid var(--line)}
.offer__shot{width:100%;height:190px;object-fit:cover;object-position:center top;display:block}
.offer__tile{position:relative;height:190px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.offer__tile img{width:64px;height:64px;position:relative;z-index:1}
.offer__tile--mint{background:linear-gradient(135deg,var(--mint),#fff 75%)}
.offer__tile--lilac{background:linear-gradient(135deg,var(--lilac),#fff 75%)}
.offer__tile--sun{background:linear-gradient(135deg,var(--sun),#fff 75%)}
/* летняя волна внизу тайла */
.offer__tile::after{content:"";position:absolute;left:-8%;right:-8%;bottom:-6px;height:34px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 34' preserveAspectRatio='none'%3E%3Cpath d='M0,20 C66,32 133,8 200,18 C266,28 333,10 400,22 L400,34 L0,34 Z' fill='%23bfe4f5' opacity='.55'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.offer__badge{
  position:absolute;top:14px;left:14px;z-index:2;
  font-size:12px;font-weight:700;letter-spacing:.02em;color:#fff;
  background:var(--green);border-radius:100px;padding:6px 13px;box-shadow:0 6px 18px -6px rgba(0,207,111,.6);
  transform:rotate(-2deg);
}
.offer__badge--purple{background:var(--purple);box-shadow:0 6px 18px -6px rgba(139,122,223,.6)}
.offer__badge--ink{background:var(--ink);box-shadow:0 6px 18px -6px rgba(42,48,72,.5)}
.offer__body{display:flex;flex-direction:column;flex:1;padding:24px 24px 26px}
.offer__kicker{font-size:13px;font-weight:700;letter-spacing:.01em;color:var(--green-700);margin-bottom:8px}
.offer__title{font-size:19px;font-weight:800;letter-spacing:-.01em;color:var(--ink);line-height:1.25;margin-bottom:10px}
.offer__text{font-size:14px;margin-bottom:14px}
.offer__more{
  background:none;border:none;cursor:pointer;font-family:var(--font);
  display:inline-flex;align-items:center;gap:6px;align-self:flex-start;
  font-size:13.5px;font-weight:700;color:var(--green-700);padding:0;margin-bottom:14px;
}
.offer__more svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--ease)}
.offer.is-open .offer__more svg{transform:rotate(180deg)}
.offer__details{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.offer.is-open .offer__details{grid-template-rows:1fr}
.offer__details-in{overflow:hidden}
.offer__details ul{padding-bottom:14px}
.offer__details li{position:relative;padding-left:24px;font-size:13.5px;margin-bottom:8px}
.offer__details li::before{content:"";position:absolute;left:0;top:4px;width:14px;height:14px;border-radius:50%;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300A85A' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/9px no-repeat}
.offer__foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding-top:16px;border-top:1px dashed var(--line-2)}
.offer__price b{display:block;font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.15;white-space:nowrap}
.offer__price s{font-size:13.5px;color:var(--muted)}
.offer__price span{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.offer--soon .offer__media{opacity:.85}
@media(max-width:1020px){
  .offers{grid-template-columns:repeat(2,1fr)}
  .offer__foot .btn--sm{padding:11px 16px;font-size:12.5px;white-space:nowrap}
}
@media(max-width:640px){ .offers{grid-template-columns:1fr} }

/* ---------- form ---------- */
.lead{background:linear-gradient(180deg,#e8f6ff 0%,#f4f7fb 100%)}
.lead__card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow);padding:clamp(28px,4vw,48px);
}
.lead__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.field{display:flex;flex-direction:column;gap:7px}
.field--full{grid-column:1/-1}
.field label{font-size:13px;font-weight:700;color:var(--ink)}
.field label i{font-style:normal;color:var(--green-600)}
.field input,.field select{
  font-family:var(--font);font-size:15px;color:var(--ink);
  background:#fff;border:1.5px solid var(--line-2);border-radius:12px;
  padding:13px 16px;outline:none;width:100%;
  transition:border-color .25s,box-shadow .25s;
  -webkit-appearance:none;appearance:none;
}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239D9DAF' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:42px}
.field input::placeholder{color:var(--muted)}
.field input:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(0,207,111,.14)}
.lead__agree{display:flex;flex-direction:column;gap:11px;margin:20px 0 22px}
.agree{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--text);cursor:pointer;line-height:1.5}
.agree input{flex:none;width:18px;height:18px;margin-top:1px;accent-color:var(--green);cursor:pointer}
.agree a{color:var(--green-700);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.lead__note{margin-top:14px;text-align:center;font-size:13px;color:var(--muted)}
/* прогресс заполнения формы */
.lead__bar{height:6px;border-radius:100px;background:#edf1f7;overflow:hidden;margin-bottom:22px}
.lead__bar i{display:block;height:100%;width:0;border-radius:100px;
  background:linear-gradient(90deg,var(--green),#7fd6ef);transition:width .45s var(--ease)}
/* кнопка «оживает», когда всё заполнено */
.lead__form .btn--primary{transition:background .25s var(--ease),box-shadow .3s var(--ease),opacity .3s}
.lead__form:not(.is-ready) .btn--primary{opacity:.75}
.lead__form.is-ready .btn--primary{opacity:1;animation:glowpulse 2.2s ease-in-out infinite}
@keyframes glowpulse{0%,100%{box-shadow:0 0 0 0 rgba(0,207,111,.0)}50%{box-shadow:0 0 30px 2px rgba(0,207,111,.55)}}
/* конфетти после отправки */
.lead__ok{position:relative;overflow:visible}
.confetti{position:absolute;left:50%;top:34px;width:9px;height:9px;border-radius:50%;pointer-events:none;
  animation:burst 1.1s cubic-bezier(.16,.8,.4,1) var(--cd,0s) both}
@keyframes burst{
  0%{opacity:1;transform:translate(0,0) scale(.6)}
  70%{opacity:1}
  100%{opacity:0;transform:translate(var(--dx,0px),var(--dy,-80px)) scale(1)}
}
.lead__ok{display:none;text-align:center;padding:34px 10px}
.lead__ok-ico{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--mint);display:flex;align-items:center;justify-content:center}
.lead__ok-ico svg{width:30px;height:30px;stroke:var(--green-700);stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.lead__ok h3{font-size:22px;font-weight:800;color:var(--ink);margin-bottom:8px}
.lead.is-sent .lead__form{display:none}
.lead.is-sent .lead__ok{display:block}
@media(max-width:680px){ .lead__grid{grid-template-columns:1fr} }

/* ---------- footer ---------- */
.footer{border-top:1px solid var(--line);padding:34px 0;background:#fff}
.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer__logo{height:22px;width:auto;opacity:.9}
.footer__links{display:flex;gap:22px;flex-wrap:wrap}
.footer__links a{font-size:13px;color:var(--muted);transition:color .25s}
.footer__links a:hover{color:var(--green-700)}
.footer__copy{font-size:12.5px;color:var(--muted)}

/* ---------- cookie ---------- */
.cookies{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:120;margin:0 auto;max-width:560px;
  background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);
  padding:16px 18px;display:none;align-items:center;gap:16px;
}
.cookies.is-show{display:flex}
.cookies p{font-size:12.5px;line-height:1.45;color:var(--text)}
.cookies p a{color:var(--green-700);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.cookies .btn{flex:none}
@media(max-width:560px){ .cookies{flex-direction:column;align-items:stretch;text-align:center} }

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .rv{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
