/* =========================================================
   Merit Yazılım — ana stil
   1 Değişkenler  2 Reset  3 Tipografi  4 Butonlar  5 Header
   6 Hero  7 Hizmetler  8 Süreç  9 Teknoloji  10 Projeler
   11 Hakkımızda  12 Form  13 İletişim  14 Footer
   15 Yardımcı  16 Responsive
   ========================================================= */

/* ---------- 1. DEĞİŞKENLER ---------- */
:root{
  /* Zeminler */
  --bg:        #090b10;
  --bg-2:      #0d1016;
  --surface:   #12161f;
  --surface-2: #191e29;

  /* Metin */
  --head:      #eef2f9;
  --text:      #a8b1c2;
  --muted:     #6b7589;

  /* Aksan */
  --accent:    #5b8cff;
  --accent-d:  #3f6fe0;
  --accent-s:  rgba(91,140,255,.12);
  --mint:      #3ddc97;
  --amber:     #e8b450;

  /* Çizgiler */
  --line:      rgba(255,255,255,.09);
  --line-2:    rgba(255,255,255,.045);

  /* Tipografi */
  --ff-display:"Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ff-body:   "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --ff-mono:   "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* Ölçü */
  --maxw:      1240px;
  --gut:       22px;
  --sec-y:     clamp(72px, 9vw, 130px);
  --r:         10px;
  --r-sm:      6px;

  /* Hareket */
  --ease:      cubic-bezier(.16,.84,.44,1);
  --t:         .38s var(--ease);
  --t-fast:    .2s var(--ease);
}

/* ---------- 2. RESET ---------- */
*,*::before,*::after{ box-sizing:border-box; }

html{
  scroll-behavior:smooth;
  scroll-padding-top:90px;
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--ff-body);
  font-size:16px;
  font-weight:400;
  line-height:1.68;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body.is-locked{ overflow:hidden; }

img,svg,iframe{ max-width:100%; display:block; }
img{ height:auto; }

a{ color:var(--accent); text-decoration:none; transition:color var(--t-fast); }
a:hover{ color:#86abff; }

ul{ margin:0; padding:0; list-style:none; }
p{ margin:0 0 1.1em; }

button,input,select,textarea{ font:inherit; color:inherit; }
button{ cursor:pointer; background:none; border:0; }
table{ border-collapse:collapse; width:100%; }

:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:3px; }

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:9999;
  background:var(--accent); color:#06080c;
  padding:12px 20px; font-weight:600; border-radius:0 0 var(--r-sm) 0;
}
.skip-link:focus{ left:0; }

.wrap{
  width:100%; max-width:var(--maxw);
  margin-inline:auto; padding-inline:var(--gut);
}

/* ---------- 3. TİPOGRAFİ ---------- */
h1,h2,h3,h4,.h2{
  font-family:var(--ff-display);
  color:var(--head);
  font-weight:600;
  line-height:1.14;
  letter-spacing:-.025em;
  margin:0 0 .5em;
}
h1{ font-size:clamp(2.5rem,6vw,4.4rem); letter-spacing:-.035em; }
.h2{ font-size:clamp(1.9rem,3.8vw,2.9rem); margin-bottom:.4em; }
h3{ font-size:1.18rem; }
h4{ font-size:1rem; }

/* Mono etiket — bölüm başlıkları, kodlar */
.tag{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--ff-mono);
  font-size:.72rem; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--accent);
  margin:0 0 1.1em;
}
.tag::before{
  content:""; width:22px; height:1px;
  background:var(--accent); opacity:.65; flex:none;
}

.sec{ padding:var(--sec-y) 0; position:relative; }
.sec--alt{ background:var(--bg-2); }
.sec--line{ border-top:1px solid var(--line-2); }

.sechead{ max-width:680px; margin-bottom:clamp(40px,5vw,66px); }
.sechead p{ color:var(--muted); margin-bottom:0; }

.lead{ font-size:clamp(1rem,1.4vw,1.1rem); color:var(--text); }

/* İnce grid arka plan dokusu */
.gridbg{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(to right,  var(--line-2) 1px, transparent 1px),
    linear-gradient(to bottom, var(--line-2) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(100% 70% at 50% 0%, #000 10%, transparent 75%);
  -webkit-mask-image:radial-gradient(100% 70% at 50% 0%, #000 10%, transparent 75%);
}
.sec > .wrap{ position:relative; z-index:1; }

/* ---------- 4. BUTONLAR ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:13px 26px;
  border-radius:var(--r-sm);
  border:1px solid transparent;
  background:var(--accent); color:#06080c;
  font-family:var(--ff-body);
  font-size:.9rem; font-weight:600;
  letter-spacing:-.01em; white-space:nowrap;
  transition:background var(--t-fast), border-color var(--t-fast),
             color var(--t-fast), transform var(--t-fast);
}
.btn:hover{ background:#7ba4ff; color:#06080c; }
.btn:active{ transform:translateY(1px); }

.btn--line{
  background:transparent; color:var(--head);
  border-color:var(--line);
}
.btn--line:hover{ background:var(--accent-s); border-color:var(--accent); color:var(--head); }

.btn--lg{ padding:16px 32px; font-size:.95rem; }
.btn--sm{ padding:9px 18px; font-size:.82rem; }
.btn--block{ width:100%; }

.btn svg{ width:16px; height:16px; fill:currentColor; flex:none; }

/* ---------- 5. HEADER ---------- */
.header{
  position:sticky; top:0; z-index:100;
  background:rgba(9,11,16,.78);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:background var(--t), border-color var(--t);
}
.header.is-stuck{
  background:rgba(7,9,13,.95);
  border-bottom-color:var(--line-2);
}
.header__in{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  min-height:72px;
  transition:min-height var(--t);
}
.header.is-stuck .header__in{ min-height:62px; }

.brand{ display:inline-flex; align-items:center; gap:11px; color:var(--head); }
.brand:hover{ color:var(--head); }
.brand__mark{
  width:34px; height:34px; flex:none;
  display:grid; place-items:center;
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  background:linear-gradient(145deg, rgba(91,140,255,.16), transparent 70%);
}
.brand__mark svg{ width:17px; height:17px; fill:var(--accent); }
.brand__txt{ display:flex; align-items:baseline; gap:6px; }
.brand__txt strong{
  font-family:var(--ff-display);
  font-size:1.05rem; font-weight:700; letter-spacing:-.02em;
}
.brand__txt em{
  font-family:var(--ff-mono);
  font-style:normal; font-size:.82rem; font-weight:400;
  color:var(--accent);
}

.nav{ display:flex; align-items:center; gap:30px; }
.nav__list{ display:flex; align-items:center; gap:26px; }
.nav__link{
  position:relative;
  color:var(--text); font-size:.9rem; padding:6px 0;
}
.nav__link::after{
  content:""; position:absolute; left:0; bottom:0;
  width:0; height:1px; background:var(--accent);
  transition:width var(--t-fast);
}
.nav__link:hover,.nav__link.is-active{ color:var(--head); }
.nav__link:hover::after,.nav__link.is-active::after{ width:100%; }

.burger{
  display:none;
  width:42px; height:42px;
  flex-direction:column; justify-content:center; align-items:center; gap:5px;
  border:1px solid var(--line); border-radius:var(--r-sm);
}
.burger span{ width:18px; height:1.5px; background:var(--head); transition:transform var(--t-fast), opacity var(--t-fast); }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

/* ---------- 6. HERO ---------- */
.hero{
  position:relative; overflow:hidden;
  padding:clamp(64px,9vw,120px) 0 clamp(56px,7vw,96px);
  border-bottom:1px solid var(--line-2);
}
.hero__glow{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(60% 50% at 78% 8%,  rgba(91,140,255,.16), transparent 62%),
    radial-gradient(45% 45% at 10% 95%, rgba(61,220,151,.07), transparent 65%);
}
.hero__in{
  position:relative; z-index:1;
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(34px,5vw,64px); align-items:center;
}
.hero__title{ margin-bottom:.4em; }
.hero__title b{ color:var(--accent); font-weight:600; }
.hero__lead{ max-width:520px; margin-bottom:2em; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:clamp(36px,5vw,54px); }

.hero__facts{
  display:grid; grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line-2);
  padding-top:24px; max-width:560px;
}
.hero__facts li{ padding-right:18px; border-right:1px solid var(--line-2); }
.hero__facts li:last-child{ border-right:0; padding-right:0; }
.hero__facts strong{
  display:block;
  font-family:var(--ff-display);
  font-size:1.5rem; font-weight:600; color:var(--head);
  letter-spacing:-.02em;
}
.hero__facts span{
  font-family:var(--ff-mono);
  font-size:.7rem; letter-spacing:.09em; text-transform:uppercase;
  color:var(--muted);
}

/* Terminal kartı */
.term{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r);
  overflow:hidden;
  box-shadow:0 30px 70px rgba(0,0,0,.5);
}
.term__bar{
  display:flex; align-items:center; gap:7px;
  padding:11px 14px;
  background:var(--surface-2);
  border-bottom:1px solid var(--line-2);
}
.term__dot{ width:10px; height:10px; border-radius:50%; background:#2c3444; }
.term__dot:nth-child(1){ background:#e05a4e; }
.term__dot:nth-child(2){ background:#e8b450; }
.term__dot:nth-child(3){ background:#3ddc97; }
.term__name{
  margin-left:8px;
  font-family:var(--ff-mono); font-size:.72rem; color:var(--muted);
}
.term__body{
  margin:0; padding:18px 18px 22px;
  font-family:var(--ff-mono); font-size:.78rem; line-height:1.85;
  color:var(--text); overflow-x:auto;
}
.term__body .c-key{ color:#c792ea; }
.term__body .c-str{ color:var(--mint); }
.term__body .c-fn{ color:var(--accent); }
.term__body .c-com{ color:var(--muted); }
.term__body .c-num{ color:var(--amber); }

/* ---------- 7. HİZMETLER ---------- */
.cards{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1px;
  background:var(--line-2);
  border:1px solid var(--line-2);
  border-radius:var(--r);
  overflow:hidden;
}
.card{
  background:var(--bg);
  padding:clamp(24px,2.6vw,34px);
  transition:background var(--t-fast);
}
.card:hover{ background:var(--surface); }
.card__no{
  font-family:var(--ff-mono); font-size:.72rem;
  letter-spacing:.1em; color:var(--accent);
  display:block; margin-bottom:16px;
}
.card h3{ margin-bottom:.5em; }
.card p{ font-size:.93rem; color:var(--muted); margin-bottom:1.1em; }
.card ul{ display:grid; gap:7px; }
.card li{
  position:relative; padding-left:18px;
  font-size:.87rem; color:var(--text);
}
.card li::before{
  content:""; position:absolute; left:0; top:.62em;
  width:5px; height:5px; border-radius:1px;
  background:var(--accent); opacity:.8;
}

/* ---------- 8. SÜREÇ ---------- */
.steps{ display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative; }
.steps::before{
  content:""; position:absolute; left:0; right:0; top:19px;
  height:1px; background:var(--line-2);
}
.step{ position:relative; padding:0 18px 0 0; }
.step__no{
  position:relative; z-index:1;
  width:38px; height:38px; margin-bottom:18px;
  display:grid; place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--bg);
  font-family:var(--ff-mono); font-size:.8rem; color:var(--accent);
}
.sec--alt .step__no{ background:var(--bg-2); }
.step h3{ font-size:1.02rem; margin-bottom:.4em; }
.step p{ font-size:.87rem; color:var(--muted); margin:0; }

/* ---------- 9. TEKNOLOJİ ---------- */
.stack{ display:grid; gap:26px; }
.stack__row{
  display:grid; grid-template-columns:180px 1fr; gap:22px;
  padding-bottom:22px; border-bottom:1px solid var(--line-2);
  align-items:start;
}
.stack__row:last-child{ border-bottom:0; padding-bottom:0; }
.stack__ad{
  font-family:var(--ff-mono); font-size:.74rem;
  letter-spacing:.09em; text-transform:uppercase; color:var(--muted);
  padding-top:5px;
}
.chips{ display:flex; flex-wrap:wrap; gap:8px; }
.chip{
  padding:6px 13px;
  border:1px solid var(--line);
  border-radius:100px;
  background:var(--surface);
  font-family:var(--ff-mono); font-size:.78rem; color:var(--text);
  transition:border-color var(--t-fast), color var(--t-fast);
}
.chip:hover{ border-color:var(--accent); color:var(--head); }

/* ---------- 10. PROJELER ---------- */
.projects{ display:grid; grid-template-columns:repeat(auto-fit,minmax(310px,1fr)); gap:16px; }
.project{
  display:flex; flex-direction:column;
  background:var(--surface);
  border:1px solid var(--line-2);
  border-radius:var(--r);
  padding:26px;
  transition:border-color var(--t-fast), transform var(--t-fast);
}
.project:hover{ border-color:var(--line); transform:translateY(-3px); }
.project__ust{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-bottom:16px;
  font-family:var(--ff-mono); font-size:.72rem;
  letter-spacing:.08em; text-transform:uppercase;
}
.project__sektor{ color:var(--accent); }
.project__yil{ color:var(--muted); }
.project h3{ font-size:1.1rem; margin-bottom:.5em; }
.project p{ font-size:.9rem; color:var(--muted); margin-bottom:1.2em; flex:1; }
.project__etiketler{ display:flex; flex-wrap:wrap; gap:6px; }
.project__etiketler span{
  padding:4px 10px;
  border:1px solid var(--line-2); border-radius:4px;
  font-family:var(--ff-mono); font-size:.7rem; color:var(--muted);
}
.projects__not{
  margin-top:22px; padding-left:16px;
  border-left:2px solid var(--line);
  font-size:.85rem; color:var(--muted);
}

/* ---------- 11. HAKKIMIZDA ---------- */
.about{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:clamp(34px,5vw,70px); align-items:start; }
.about__metin p{ color:var(--text); }
.prensip{ display:grid; gap:1px; background:var(--line-2); border:1px solid var(--line-2); border-radius:var(--r); overflow:hidden; }
.prensip li{ background:var(--bg); padding:20px 22px; }
.sec--alt .prensip li{ background:var(--bg-2); }
.prensip h4{ margin-bottom:.35em; color:var(--head); }
.prensip p{ margin:0; font-size:.88rem; color:var(--muted); }

/* ---------- 12. FORM ---------- */
.formgrid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(34px,5vw,64px); align-items:start; }

.form{
  background:var(--surface);
  border:1px solid var(--line-2);
  border-radius:var(--r);
  padding:clamp(24px,3vw,36px);
}
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field{ margin-bottom:16px; display:flex; flex-direction:column; }
.field label{
  font-family:var(--ff-mono);
  font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); margin-bottom:8px;
}
.field .opt{ text-transform:none; letter-spacing:0; opacity:.7; }
.req{ color:var(--accent); }

.field input,.field select,.field textarea{
  width:100%; padding:12px 14px;
  background:var(--bg);
  border:1px solid var(--line-2);
  border-radius:var(--r-sm);
  color:var(--head);
  font-size:.93rem;
  transition:border-color var(--t-fast), background var(--t-fast);
}
.field textarea{ resize:vertical; min-height:120px; font-family:var(--ff-body); }
.field input::placeholder,.field textarea::placeholder{ color:#4d5668; }
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none; border-color:var(--accent); background:#070910;
}
.field select{
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%235b8cff'><path d='M7 10l5 5 5-5z'/></svg>");
  background-repeat:no-repeat; background-position:right 11px center; background-size:18px;
  padding-right:36px;
}
.field.has-err input,.field.has-err select,.field.has-err textarea{ border-color:#e0665a; }

.err{ color:#f08a7e; font-size:.78rem; margin-top:6px; }
.err:empty{ display:none; }

.field--check{
  flex-direction:row; align-items:flex-start; gap:11px; flex-wrap:wrap;
  margin:4px 0 20px;
}
.field--check input{ width:18px; height:18px; flex:none; margin-top:3px; accent-color:var(--accent); cursor:pointer; }
.field--check label{
  flex:1; margin:0;
  font-family:var(--ff-body); font-size:.84rem;
  text-transform:none; letter-spacing:0; line-height:1.6; color:var(--muted); cursor:pointer;
}
.field--check .err{ flex-basis:100%; }

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

.durum{ margin:0 0 20px; padding:14px 16px; border-radius:var(--r-sm); font-size:.9rem; }
.durum--ok{ background:rgba(61,220,151,.09); border:1px solid rgba(61,220,151,.3); color:#86e9bd; }
.durum--no{ background:rgba(224,102,90,.09); border:1px solid rgba(224,102,90,.3); color:#f0a197; }

.form__alt{ text-align:center; font-size:.85rem; color:var(--muted); margin:16px 0 0; }

/* İletişim kutuları */
.iletisim{ display:grid; gap:1px; background:var(--line-2); border:1px solid var(--line-2); border-radius:var(--r); overflow:hidden; }
.iletisim li{ background:var(--bg); padding:20px 22px; display:flex; gap:15px; align-items:flex-start; }
.sec--alt .iletisim li{ background:var(--bg-2); }
.iletisim__ic{
  width:36px; height:36px; flex:none;
  display:grid; place-items:center;
  border:1px solid var(--line); border-radius:var(--r-sm);
}
.iletisim__ic svg{ width:16px; height:16px; fill:var(--accent); }
.iletisim strong{
  display:block;
  font-family:var(--ff-mono); font-size:.68rem;
  letter-spacing:.11em; text-transform:uppercase; color:var(--muted);
  margin-bottom:3px;
}
.iletisim a,.iletisim span{ color:var(--head); font-size:.95rem; }
.iletisim a:hover{ color:var(--accent); }
.iletisim address{ font-style:normal; color:var(--head); font-size:.95rem; line-height:1.6; }

/* ---------- 14. FOOTER ---------- */
.footer{ background:#06080c; border-top:1px solid var(--line-2); padding-top:clamp(48px,6vw,76px); }
.footer__in{
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1.3fr; gap:38px;
  padding-bottom:44px;
}
.footer__col h4{
  font-family:var(--ff-mono); font-size:.7rem;
  letter-spacing:.11em; text-transform:uppercase; color:var(--accent);
  margin:0 0 16px;
}
.footer__col ul{ display:grid; gap:9px; }
.footer__col a{ color:var(--text); font-size:.9rem; }
.footer__col a:hover{ color:var(--head); }
.footer__desc{ color:var(--muted); font-size:.88rem; max-width:290px; margin:16px 0 0; }
.footer__legal li{ color:var(--muted); font-size:.83rem; line-height:1.6; }


.footer__bottom{
  border-top:1px solid var(--line-2);
  padding-block:20px;
  display:flex; flex-wrap:wrap; gap:8px 26px;
  justify-content:space-between; align-items:center;
}
.footer__bottom p{ margin:0; color:var(--muted); font-size:.8rem; }

/* ---------- 15. YARDIMCI ---------- */
.cookie{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:300;
  background:rgba(18,22,31,.97);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid var(--line); border-radius:var(--r);
  box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.cookie[hidden]{ display:none; }
.cookie__in{
  max-width:var(--maxw); margin-inline:auto; padding:18px 22px;
  display:flex; align-items:center; gap:22px; flex-wrap:wrap;
}
.cookie__in p{ margin:0; flex:1 1 360px; font-size:.86rem; }
.cookie__btns{ display:flex; gap:9px; flex-wrap:wrap; }

.totop{
  position:fixed; right:20px; bottom:20px; z-index:200;
  width:44px; height:44px;
  display:grid; place-items:center;
  border-radius:var(--r-sm);
  background:var(--accent);
  box-shadow:0 10px 26px rgba(0,0,0,.4);
}
.totop[hidden]{ display:none; }
.totop svg{ width:20px; height:20px; fill:#06080c; }
.totop:hover{ background:#7ba4ff; }

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

/* ---------- 16. RESPONSIVE ---------- */
@media (max-width:1040px){
  .hero__in{ grid-template-columns:1fr; }
  .term{ max-width:580px; }
  .about,.formgrid{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:repeat(2,1fr); gap:30px 20px; }
  .steps::before{ display:none; }
  .footer__in{ grid-template-columns:1fr 1fr; gap:32px; }
}

@media (max-width:860px){
  html{ scroll-padding-top:72px; }
  .burger{ display:flex; }

  .header{ backdrop-filter:none; -webkit-backdrop-filter:none; background:rgba(7,9,13,.97); }
  .header.is-stuck{ background:rgba(5,7,10,.99); }

  .nav{
    position:fixed; inset:0 0 0 auto;
    width:min(330px,86vw);
    flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0;
    padding:96px 26px 36px;
    background:#070910;
    border-left:1px solid var(--line-2);
    transform:translateX(100%);
    transition:transform var(--t);
    overflow-y:auto; z-index:99;
  }
  .nav.is-open{ transform:none; }
  .nav__list{ flex-direction:column; align-items:stretch; gap:0; }
  .nav__list li{ border-bottom:1px solid var(--line-2); }
  .nav__link{ display:block; padding:15px 0; font-size:1rem; }
  .nav__link::after{ display:none; }
  .nav__cta{ margin-top:22px; }

  .stack__row{ grid-template-columns:1fr; gap:12px; }
  .stack__ad{ padding-top:0; }
}

@media (max-width:620px){
  :root{ --gut:18px; }
  .hero__facts{ grid-template-columns:1fr; }
  .hero__facts li{
    display:flex; align-items:baseline; justify-content:space-between; gap:12px;
    padding:12px 0; border-right:0; border-bottom:1px solid var(--line-2);
  }
  .hero__actions .btn{ flex:1 1 100%; }
  .steps{ grid-template-columns:1fr; gap:26px; }
  .form__row{ grid-template-columns:1fr; gap:0; }
  .footer__in{ grid-template-columns:1fr; gap:28px; }
  .footer__bottom{ flex-direction:column; align-items:flex-start; }
  .cookie__btns .btn{ flex:1; }
}

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

@media print{
  .header,.cookie,.totop,.gridbg,.hero__glow,.term,.form{ display:none !important; }
  body{ background:#fff; color:#000; }
  h1,h2,h3,.h2{ color:#000; }
  a{ color:#000; text-decoration:underline; }
}
