/* ═══════════════════════════════════════════════════
   Weizenfeld · weizenfeld.xyz
   Пшеничное поле — фонд помощи украинским военным
   ═══════════════════════════════════════════════════ */

:root{
  --night:      #08182c;
  --deep:       #0d2338;
  --deep-2:     #12314c;
  --steel:      #1b3a5c;
  --sky:        #4c7ba0;

  --rye:        #e3b23c;
  --rye-dk:     #c08f22;
  --rye-lt:     #f2d492;
  --grain:      #a87c2b;

  --cream:      #faf6ec;
  --cream-2:    #f2ead8;
  --line:       #e0d5bd;
  --ink:        #16130d;
  --ink-2:      #4a4335;
  --ink-3:      #7d735f;

  --gate-bg:    #08182c;

  --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans:  "Inter", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

  --wrap: 1200px;
  --r:  14px;
  --r-lg: 22px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.7;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img,svg{ max-width:100%; }
a{ color:inherit; }

.wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding:0 40px; }

/* ─────────── Типографика ─────────── */

.h2{
  font-family:var(--serif);
  font-size:clamp(34px,4vw,54px);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.01em;
  margin:0 0 22px;
  color:var(--ink);
}
.h2--light{ color:var(--cream); }

.kicker{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--grain);
  margin:0 0 18px;
}
.kicker--light{ color:var(--rye-lt); opacity:.85; }

.p{ margin:0 0 20px; color:var(--ink-2); font-size:17.5px; }
.p--light{ color:rgba(250,246,236,.72); }
.p--narrow{ max-width:660px; }
.p--center{ margin-left:auto; margin-right:auto; }
.p b{ font-weight:600; color:var(--ink); }
.p--light b{ color:var(--cream); }

.quote{
  margin:34px 0 0;
  padding:22px 0 22px 26px;
  border-left:2px solid var(--rye);
  font-family:var(--serif);
  font-size:23px;
  line-height:1.45;
  color:var(--ink);
  font-style:italic;
}
.quote cite{
  display:block;
  margin-top:12px;
  font-family:var(--sans);
  font-size:13px;
  font-style:normal;
  letter-spacing:.04em;
  color:var(--ink-3);
}

/* ─────────── Кнопки ─────────── */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  padding:15px 30px;
  border:0;
  border-radius:999px;
  font-family:var(--sans);
  font-size:15px;
  font-weight:500;
  letter-spacing:.01em;
  text-decoration:none;
  cursor:pointer;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease),
             background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
  white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }

.btn--gold{
  background:linear-gradient(135deg,var(--rye-lt),var(--rye) 45%,var(--rye-dk));
  color:#241a05;
  box-shadow:0 10px 26px -10px rgba(227,178,60,.75);
}
.btn--gold:hover{ box-shadow:0 16px 34px -12px rgba(227,178,60,.9); }

.btn--outline{
  background:transparent;
  color:var(--cream);
  border:1px solid rgba(250,246,236,.4);
}
.btn--outline:hover{ background:rgba(250,246,236,.1); border-color:rgba(250,246,236,.75); }

.btn--ghost{
  background:transparent;
  border:1px solid var(--line);
  color:var(--ink);
}
.btn--ghost:hover{ background:var(--ink); color:var(--cream); border-color:var(--ink); }

.btn--sm{ padding:10px 20px; font-size:13.5px; }
.btn--lg{ padding:18px 38px; font-size:16px; }
.btn--full{ width:100%; }

.ic{ width:20px; height:20px; flex:none; }
.ic--xs{ width:15px; height:15px; }

/* ─────────── Заглушка для телефонов ─────────── */

.gate{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 26px;
  background:
    radial-gradient(120% 90% at 50% 115%, rgba(227,178,60,.20), transparent 60%),
    var(--gate-bg);
  color:var(--cream);
  text-align:center;
}
.gate[hidden]{ display:none; }
.gate__inner{ max-width:440px; }
.gate__icon{ width:88px; height:88px; color:rgba(242,212,146,.9); margin-bottom:26px; }
.gate__code{
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:#e07b5c; margin:0 0 14px; font-weight:500;
}
.gate__title{
  font-family:var(--serif);
  font-size:34px; line-height:1.15; font-weight:500;
  margin:0 0 18px;
}
.gate__text{ font-size:15.5px; line-height:1.65; color:rgba(250,246,236,.68); margin:0 0 26px; }
.gate__text b{ color:var(--rye-lt); font-weight:500; }
.gate__mail{ font-size:13.5px; color:rgba(250,246,236,.45); margin:0; }
.gate__mail a{ color:var(--rye-lt); }

body.is-gated{ overflow:hidden; height:100vh; }
body.is-gated > *:not(#gate){ display:none !important; }

/* ─────────── Шапка ─────────── */

.hdr{
  position:fixed;
  top:0; left:0; right:0;
  z-index:900;
  padding:20px 0;
  transition:background .35s var(--ease), padding .35s var(--ease), box-shadow .35s var(--ease);
}
.hdr.is-stuck{
  background:rgba(250,246,236,.92);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  padding:12px 0;
  box-shadow:0 1px 0 rgba(0,0,0,.07);
}
.hdr__row{ display:flex; align-items:center; gap:34px; }

.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--cream); transition:color .35s var(--ease); }
.hdr.is-stuck .brand{ color:var(--ink); }
.brand__mark{ width:26px; height:33px; color:var(--rye); flex:none; }
.brand__txt{ display:flex; flex-direction:column; line-height:1.15; }
.brand__txt b{ font-family:var(--serif); font-size:22px; font-weight:600; letter-spacing:.01em; }
.brand__txt i{ font-style:normal; font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; opacity:.6; }

.nav{ display:flex; gap:30px; margin-left:auto; }
.nav a{
  text-decoration:none;
  font-size:14.5px;
  color:rgba(250,246,236,.78);
  transition:color .25s var(--ease);
  position:relative;
  padding:4px 0;
}
.nav a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1px;
  background:var(--rye); transition:right .3s var(--ease);
}
.nav a:hover{ color:var(--cream); }
.nav a:hover::after{ right:0; }
.hdr.is-stuck .nav a{ color:var(--ink-2); }
.hdr.is-stuck .nav a:hover{ color:var(--ink); }

.lang{ display:flex; gap:2px; padding:3px; border-radius:999px; background:rgba(250,246,236,.08); border:1px solid rgba(250,246,236,.16); transition:background .35s var(--ease), border-color .35s var(--ease); }
.lang__btn{
  appearance:none;
  border:0;
  background:transparent;
  cursor:pointer;
  padding:6px 11px;
  border-radius:999px;
  font-family:var(--sans);
  font-size:12px;
  font-weight:600;
  letter-spacing:.04em;
  color:rgba(250,246,236,.55);
  transition:background .25s var(--ease), color .25s var(--ease);
}
.lang__btn:hover{ color:var(--cream); }
.lang__btn.is-active{ background:var(--rye); color:#241a05; }
.lang__btn:focus-visible{ outline:2px solid var(--rye); outline-offset:2px; }
.hdr.is-stuck .lang{ background:var(--cream-2); border-color:var(--line); }
.hdr.is-stuck .lang__btn{ color:var(--ink-3); }
.hdr.is-stuck .lang__btn:hover{ color:var(--ink); }
.hdr.is-stuck .lang__btn.is-active{ background:var(--ink); color:var(--cream); }

.hdr .btn--ghost{ color:var(--cream); border-color:rgba(250,246,236,.35); }
.hdr .btn--ghost:hover{ background:var(--cream); color:var(--ink); border-color:var(--cream); }
.hdr.is-stuck .btn--ghost{ color:var(--ink); border-color:var(--line); }
.hdr.is-stuck .btn--ghost:hover{ background:var(--ink); color:var(--cream); }

/* ─────────── Герой ─────────── */

.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
}
.hero__scene{
  position:absolute; inset:0;
  width:100%; height:100%;
  z-index:-2;
}
.hero__veil{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(100deg, rgba(8,24,44,.78) 0%, rgba(8,24,44,.45) 42%, rgba(8,24,44,0) 72%);
}
.hero__content{ padding-top:120px; padding-bottom:120px; }

.hero__title{
  font-family:var(--serif);
  font-size:clamp(64px,9vw,124px);
  line-height:.92;
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--cream);
  margin:0 0 28px;
  text-shadow:0 4px 40px rgba(0,0,0,.4);
}
.hero__lead{
  max-width:520px;
  font-size:19px;
  line-height:1.65;
  color:rgba(250,246,236,.85);
  margin:0 0 40px;
  font-weight:300;
}
.hero__cta{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:52px; }
.hero__addr{
  display:inline-flex; align-items:center; gap:9px;
  font-size:12.5px; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(250,246,236,.55); margin:0;
}

.hero__scroll{
  position:absolute; bottom:34px; left:50%; transform:translateX(-50%);
  width:38px; height:38px; color:rgba(250,246,236,.55);
  animation:bob 2.6s ease-in-out infinite;
  z-index:2;
}
@keyframes bob{ 0%,100%{ transform:translate(-50%,0);} 50%{ transform:translate(-50%,9px);} }

/* колосья в поле */
.stalks path{ transform-origin:bottom center; }
.stalks--1 path{ animation:sway 6.5s ease-in-out infinite; }
.stalks--2 path{ animation:sway 7.8s ease-in-out infinite; }
.stalks--3 path{ animation:sway 9.2s ease-in-out infinite; }
@keyframes sway{
  0%,100%{ transform:rotate(-1.1deg); }
  50%    { transform:rotate(1.4deg); }
}
.stars circle{ animation:twinkle 4s ease-in-out infinite; }
@keyframes twinkle{ 0%,100%{opacity:.25} 50%{opacity:.9} }

/* ─────────── Секции ─────────── */

.sec{ padding:130px 0; position:relative; }
.sec--cream{ background:var(--cream); }
.sec--deep{
  background:
    radial-gradient(90% 70% at 85% 0%, rgba(76,123,160,.22), transparent 65%),
    radial-gradient(80% 60% at 5% 100%, rgba(227,178,60,.10), transparent 60%),
    var(--deep);
  color:var(--cream);
}
.sec--strip{
  padding:0;
  background:var(--night);
  color:var(--cream);
}
.sec__head{ margin-bottom:64px; }
.sec__head--center{ text-align:center; }

.grid{ display:grid; gap:60px; }
.grid--2{ grid-template-columns:1.05fr .95fr; align-items:start; }
.grid--wide-gap{ gap:90px; }
.grid--form{ grid-template-columns:.9fr 1.1fr; gap:80px; align-items:start; }

/* ─────────── Столпы ─────────── */

.pillars{ display:flex; flex-direction:column; gap:18px; }
.pillar{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:28px 30px;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:20px;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.pillar:hover{
  transform:translateY(-3px);
  border-color:var(--rye);
  box-shadow:0 22px 44px -26px rgba(120,90,20,.45);
}
.pillar__ic{ grid-row:1/3; width:44px; height:44px; color:var(--grain); }
.pillar h3{ margin:0 0 6px; font-family:var(--serif); font-size:24px; font-weight:600; }
.pillar p{ margin:0; font-size:15px; line-height:1.6; color:var(--ink-2); }

/* ─────────── Карточки направлений ─────────── */

.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.card{
  background:rgba(250,246,236,.045);
  border:1px solid rgba(250,246,236,.12);
  border-radius:var(--r-lg);
  padding:34px 30px 32px;
  transition:transform .4s var(--ease), background .4s var(--ease), border-color .4s var(--ease);
}
.card:hover{
  transform:translateY(-5px);
  background:rgba(250,246,236,.08);
  border-color:rgba(242,212,146,.45);
}
.card__ic{ width:48px; height:48px; color:var(--rye-lt); margin-bottom:22px; }
.card h3{
  font-family:var(--serif);
  font-size:25px; font-weight:600;
  margin:0 0 12px; color:var(--cream);
}
.card p{ margin:0; font-size:15px; line-height:1.65; color:rgba(250,246,236,.62); }

/* ─────────── Цифры ─────────── */

.stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:62px 40px;
}
.stat{ text-align:center; padding:0 20px; border-left:1px solid rgba(250,246,236,.12); }
.stat:first-child{ border-left:0; }
.stat b{
  display:block;
  font-family:var(--serif);
  font-size:clamp(42px,4.4vw,60px);
  font-weight:500; line-height:1;
  color:var(--rye-lt);
  margin-bottom:12px;
}
.stat span{ font-size:13.5px; color:rgba(250,246,236,.5); letter-spacing:.03em; }

/* ─────────── Скачивание списков ─────────── */

.dl{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:56px;
  align-items:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  padding:52px 56px;
  max-width:980px;
  margin:0 auto;
  box-shadow:0 40px 80px -60px rgba(70,55,20,.5);
}
.dl__doc svg{ width:100%; height:auto; filter:drop-shadow(0 18px 30px rgba(90,70,25,.18)); transform:rotate(-3deg); transition:transform .5s var(--ease); }
.dl:hover .dl__doc svg{ transform:rotate(-1deg) translateY(-4px); }
.dl__title{ font-family:var(--serif); font-size:30px; font-weight:600; margin:0 0 16px; }
.dl__meta{
  list-style:none; margin:0 0 20px; padding:0;
  display:flex; flex-wrap:wrap; gap:8px;
}
.dl__meta li{
  display:inline-flex; align-items:center; gap:7px;
  background:var(--cream-2);
  border-radius:999px;
  padding:6px 14px;
  font-size:12.5px;
  color:var(--ink-2);
  letter-spacing:.02em;
}
.dl__note{ margin:0 0 26px; font-size:15px; color:var(--ink-2); max-width:460px; }
.dl__hint{ margin:14px 0 0; font-size:13px; color:var(--ink-3); }

/* ─────────── Анкета ─────────── */

.apply__aside .steps{
  list-style:none; padding:0; margin:34px 0 34px;
  display:flex; flex-direction:column; gap:14px;
}
.steps li{ display:flex; gap:13px; align-items:flex-start; font-size:15.5px; color:rgba(250,246,236,.75); }
.steps .ic{ color:var(--rye); margin-top:2px; }

.apply__privacy{
  display:flex; gap:11px; align-items:flex-start;
  font-size:13.5px; line-height:1.6;
  color:rgba(250,246,236,.45);
  border-top:1px solid rgba(250,246,236,.12);
  padding-top:22px; margin:0;
}
.apply__privacy .ic{ margin-top:3px; color:var(--rye-lt); flex:none; }

.form{
  background:rgba(250,246,236,.05);
  border:1px solid rgba(250,246,236,.14);
  border-radius:26px;
  padding:42px 44px 38px;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.field{ margin-bottom:24px; }
.field label{
  display:block;
  font-size:13px; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase;
  color:rgba(250,246,236,.65);
  margin-bottom:10px;
}
.req{ color:var(--rye); }

.field__box{
  position:relative;
  display:flex; align-items:center;
  background:rgba(8,24,44,.42);
  border:1px solid rgba(250,246,236,.16);
  border-radius:var(--r);
  transition:border-color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);
}
.field__box--area{ align-items:flex-start; }
.field__box:focus-within{
  border-color:var(--rye);
  background:rgba(8,24,44,.62);
  box-shadow:0 0 0 4px rgba(227,178,60,.14);
}
.field__ic{ width:20px; height:20px; margin:0 0 0 16px; color:rgba(242,212,146,.55); flex:none; }
.field__box--area .field__ic{ margin-top:15px; }

.field input,
.field textarea{
  flex:1;
  width:100%;
  background:transparent;
  border:0;
  outline:none;
  padding:14px 16px;
  color:var(--cream);
  font-family:var(--sans);
  font-size:16px;
  font-weight:300;
  line-height:1.6;
  resize:vertical;
}
.field textarea{ min-height:130px; }
.field input::placeholder,
.field textarea::placeholder{ color:rgba(250,246,236,.3); }

.field__err{
  margin:8px 0 0;
  font-size:13px;
  color:#f0947a;
  min-height:0;
  display:none;
}
.field.has-error .field__box{ border-color:#e07b5c; }
.field.has-error .field__err,
.field__err.is-on{ display:block; }

.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.check{ display:flex; gap:13px; align-items:flex-start; cursor:pointer; margin:6px 0 4px; }
.check input{ position:absolute; opacity:0; width:0; height:0; }
.check__box{
  width:21px; height:21px; flex:none; margin-top:2px;
  border:1px solid rgba(250,246,236,.3);
  border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  color:transparent;
  transition:all .2s var(--ease);
}
.check__box svg{ width:14px; height:14px; }
.check input:checked + .check__box{ background:var(--rye); border-color:var(--rye); color:#241a05; }
.check input:focus-visible + .check__box{ box-shadow:0 0 0 4px rgba(227,178,60,.2); }
.check__txt{ font-size:14.5px; color:rgba(250,246,236,.62); line-height:1.55; }

#submit-btn{ margin-top:24px; position:relative; }
.btn__spin{ width:19px; height:19px; display:none; animation:spin .8s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }
#submit-btn.is-busy{ pointer-events:none; opacity:.75; }
#submit-btn.is-busy .btn__spin{ display:block; }

.form__status{
  margin:18px 0 0;
  font-size:14.5px;
  line-height:1.6;
  text-align:center;
  min-height:1px;
  display:none;
}
.form__status.is-on{ display:block; }
.form__status.is-ok{
  color:#a8d8a0;
  background:rgba(120,200,110,.1);
  border:1px solid rgba(120,200,110,.28);
  border-radius:var(--r);
  padding:14px 18px;
}
.form__status.is-bad{
  color:#f0947a;
  background:rgba(224,123,92,.1);
  border:1px solid rgba(224,123,92,.28);
  border-radius:var(--r);
  padding:14px 18px;
}

/* ─────────── Контакты и карта ─────────── */

.contacts{ display:grid; grid-template-columns:1.15fr .85fr; gap:32px; align-items:start; }

.map-frame{
  position:relative;
  border-radius:26px;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--cream-2);
  box-shadow:0 34px 70px -50px rgba(70,55,20,.55);
  min-height:520px;
}
.map-frame iframe{
  display:block;
  width:100%;
  height:520px;
  border:0;
  filter:saturate(.72) contrast(1.04) sepia(.16);
}
.map-frame__pin{
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-100%);
  width:34px;
  pointer-events:none;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.35));
  animation:pinDrop .9s var(--ease) both;
}
@keyframes pinDrop{
  from{ transform:translate(-50%,-160%); opacity:0; }
  to  { transform:translate(-50%,-100%); opacity:1; }
}
.map-frame__link{
  position:absolute;
  right:16px; bottom:16px;
  display:inline-flex; align-items:center; gap:7px;
  background:rgba(250,246,236,.94);
  backdrop-filter:blur(8px);
  border:1px solid var(--line);
  border-radius:999px;
  padding:9px 17px;
  font-size:13px;
  text-decoration:none;
  color:var(--ink);
  transition:background .25s var(--ease), transform .25s var(--ease);
}
.map-frame__link:hover{ background:#fff; transform:translateY(-2px); }

.ccards{ display:grid; gap:14px; }
.ccard{
  display:flex; gap:18px; align-items:flex-start;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px 24px;
  transition:border-color .3s var(--ease), transform .3s var(--ease);
}
.ccard:hover{ border-color:var(--rye); transform:translateX(3px); }
.ccard--accent{ background:linear-gradient(135deg,#fff,var(--cream-2)); border-color:var(--rye); }
.ccard__ic{ width:26px; height:26px; color:var(--grain); flex:none; margin-top:3px; }
.ccard h3{
  margin:0 0 5px;
  font-size:12px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-3);
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.ccard h3 em{
  font-style:normal;
  font-size:9.5px;
  letter-spacing:.1em;
  background:var(--cream-2);
  border:1px solid var(--line);
  color:var(--ink-3);
  border-radius:999px;
  padding:2px 8px;
  font-weight:400;
  text-transform:none;
}
.ccard p{ margin:0; font-size:15.5px; line-height:1.55; color:var(--ink); }
.ccard a{ text-decoration:none; border-bottom:1px solid var(--line); transition:border-color .2s; }
.ccard a:hover{ border-color:var(--rye); }

/* ─────────── Подвал ─────────── */

.ftr{
  position:relative;
  background:#08131e;
  color:rgba(250,246,236,.6);
  padding:120px 0 46px;
}
.ftr__field{
  position:absolute; top:-1px; left:0;
  width:100%; height:120px;
  transform:translateY(-100%);
  pointer-events:none;
}
.ftr__row{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:40px;
  align-items:center;
}
.ftr__brand b{
  display:block;
  font-family:var(--serif);
  font-size:26px; font-weight:600;
  color:var(--cream);
  margin-bottom:5px;
}
.ftr__brand span{ font-size:13px; letter-spacing:.02em; }
.ftr__nav{ display:flex; gap:24px; justify-content:center; }
.ftr__nav a{ font-size:14px; text-decoration:none; transition:color .2s; }
.ftr__nav a:hover{ color:var(--rye-lt); }
.ftr__copy{ margin:0; text-align:right; font-size:13px; }
.ftr__copy span{ opacity:.5; font-size:12px; }

/* ─────────── Появление при скролле ─────────── */

.reveal{ opacity:0; transform:translateY(26px); }
.reveal.is-in{
  opacity:1; transform:none;
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}

/* ─────────── Адаптив (десктоп, узкие окна) ─────────── */

@media (max-width:1100px){
  .cards{ grid-template-columns:repeat(2,1fr); }
  .grid--2,.grid--form{ grid-template-columns:1fr; gap:56px; }
  .contacts{ grid-template-columns:1fr; }
  .dl{ grid-template-columns:160px 1fr; gap:36px; padding:40px; }
  .ftr__row{ grid-template-columns:1fr; text-align:center; }
  .ftr__copy{ text-align:center; }
  .wrap{ padding:0 28px; }
}

@media (max-height:700px){
  .hero__content{ padding-top:100px; padding-bottom:80px; }
  .hero__scroll{ display:none; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  html{ scroll-behavior:auto; }
}
