/* 19.10.2026 (operator: React Bits "How It Works 8"): the way of an order on the start page, seven steps on one line.
   From 1000px a row: the step's card, its number on the line, title and text; below it a column with the line on the
   left. The line runs from each number to the next; surec.js draws it step by step, --sira is the step's place. Then
   the steps take turns, one every --adim: the card lifts, its number pulses and its icon moves.
   Operator 19.10. after the first live day: "bisschen smaller … schmaler, es nimmt die ganze Seite ein" and "die steps
   animieren": the content is at most 1080px wide, the turns came with it. */
.surec {
  padding: 80px max(var(--gutter), calc((100% - 1080px) / 2)) 96px;
  border-top: 1px solid var(--product-line);
  background: var(--product-paper);
  color: var(--product-ink);
}
.surec h2 {
  margin: 0 0 12px;
  font: 400 clamp(32px, 3.4vw, 54px) / 1.06 var(--display);
  letter-spacing: -0.055em;
}
.surec-giris {
  margin: 0 0 44px;
  color: var(--product-muted);
  font-size: 16px;
}
.surec-adimlar {
  --no: 32px;
  --ara: 18px;
  display: grid;
  gap: 0 var(--ara);
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}
.surec-adim {
  position: relative;
  container-type: inline-size;
}
.surec-kart {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
  margin-bottom: 18px;
  border: 1px solid var(--product-line);
  border-radius: 12px;
  background: var(--product-surface);
}
.surec-kart svg {
  width: 40%;
  fill: none;
  stroke: var(--product-ink);
  stroke-width: 1.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.surec-kart svg :is(g, path) {
  transform-box: fill-box;
  transform-origin: center;
}
.surec-tik {
  stroke-dasharray: 9;
}
.surec-no {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: var(--no);
  height: var(--no);
  margin-bottom: 16px;
  border: 1px solid var(--product-ink);
  border-radius: 50%;
  background: var(--product-ink);
  color: var(--product-paper);
  font-size: 12px;
}
/* The line from this number to the next one: across the column and the gap. */
.surec-adim:not(:last-child)::after {
  content: '';
  position: absolute;
  top: calc(100cqi + 18px + var(--no) / 2);
  left: calc(var(--no) / 2);
  width: calc(100% + var(--ara));
  height: 1px;
  background: var(--product-ink);
  transform-origin: left;
}
.surec-adim h3 {
  margin: 0 0 6px;
  font: 400 19px / 1.15 var(--display);
  letter-spacing: -0.03em;
}
.surec-adim p {
  margin: 0;
  color: var(--product-muted);
  font-size: 13px;
  line-height: 1.5;
}
.surec-adim a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 999px) {
  .surec {
    padding-block: 64px 72px;
  }
  .surec-giris {
    margin-bottom: 36px;
  }
  .surec-adimlar {
    --ara: 28px;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ara) 0;
  }
  .surec-adim {
    display: grid;
    grid-template-columns: var(--no) 60px minmax(0, 1fr);
    column-gap: 16px;
    align-items: start;
  }
  .surec-kart {
    grid-row: 1 / 3;
    grid-column: 2;
    margin: 0;
    border-radius: 10px;
  }
  .surec-no {
    grid-row: 1 / 3;
    grid-column: 1;
    margin: 0;
  }
  .surec-adim h3,
  .surec-adim p {
    grid-column: 3;
  }
  .surec-adim h3 {
    margin-top: 4px;
  }
  .surec-adim p {
    font-size: 14px;
  }
  .surec-adim:not(:last-child)::after {
    top: calc(var(--no) / 2);
    width: 1px;
    height: calc(100% + var(--ara));
    transform-origin: top;
  }
}
/* Waiting for the view: the line undrawn, the numbers open, the steps not yet there. */
.surec--bekle .surec-adim::after {
  transform: scaleX(0);
}
.surec--bekle .surec-no {
  background: var(--product-paper);
  color: var(--product-ink);
}
.surec--bekle .surec-kart,
.surec--bekle .surec-adim h3,
.surec--bekle .surec-adim p {
  opacity: 0;
  transform: translateY(12px);
}
@media (max-width: 999px) {
  .surec--bekle .surec-adim::after {
    transform: scaleY(0);
  }
}
.surec--ciz .surec-adim::after {
  transform: none;
  transition: transform 0.4s linear calc(var(--sira) * 0.4s);
}
.surec--ciz .surec-no {
  background: var(--product-ink);
  color: var(--product-paper);
  transition:
    background-color 0.2s calc(var(--sira) * 0.4s),
    color 0.2s calc(var(--sira) * 0.4s);
}
.surec--ciz .surec-kart,
.surec--ciz .surec-adim h3,
.surec--ciz .surec-adim p {
  opacity: 1;
  transform: none;
  transition:
    opacity 0.5s var(--ease) calc(var(--sira) * 0.4s),
    transform 0.5s var(--ease) calc(var(--sira) * 0.4s);
}

/* The turns: after the line (6 × 0.4 s) each step's turn comes every --adim, one round lasts seven turns, so every
   movement plays in the first seventh of its round (0 to 14 %) and rests after it. Only while the section is seen. */
.surec-adim {
  --adim: 1.2s;
  --tur: 8.4s;
  --sira-bas: calc(2.6s + var(--sira, 0) * var(--adim));
}
/* Inside the media rule, so the loop stops at once when "reduce motion" is switched on with the page open (Codex
   19.10.2026: surec.js reads the setting only once). */
@media (prefers-reduced-motion: no-preference) {
  .surec--ciz .surec-kart {
    animation: surec-vurgu var(--tur) var(--ease) var(--sira-bas) infinite;
  }
  .surec--ciz .surec-no {
    animation: surec-nabiz var(--tur) ease-out var(--sira-bas) infinite;
  }
  .surec--ciz .surec-ikon--canta {
    animation: surec-zipla var(--tur) ease-out var(--sira-bas) infinite;
  }
  .surec--ciz .surec-isin {
    animation: surec-titre var(--tur) linear var(--sira-bas) infinite;
  }
  .surec--ciz .surec-kivilcim {
    animation: surec-kivilcim var(--tur) ease-out var(--sira-bas) infinite;
  }
  .surec--ciz .surec-parilti {
    animation: surec-parilti var(--tur) ease-in-out var(--sira-bas) infinite;
  }
  .surec--ciz .surec-arti {
    animation: surec-yanip var(--tur) linear var(--sira-bas) infinite;
  }
  .surec--ciz .surec-ikon--kutu {
    animation: surec-dus var(--tur) ease-out var(--sira-bas) infinite;
  }
  .surec--ciz .surec-ok {
    animation: surec-it var(--tur) ease-in-out var(--sira-bas) infinite;
  }
  .surec--ciz .surec-ikon--arac {
    animation: surec-yol var(--tur) ease-in-out var(--sira-bas) infinite;
  }
  .surec--ciz .surec-tik {
    animation: surec-tik var(--tur) ease-out var(--sira-bas) infinite;
  }
  .surec:not(.surec--gorunur) * {
    animation-play-state: paused;
  }
}
@keyframes surec-vurgu {
  0%,
  14%,
  100% {
    transform: none;
    border-color: var(--product-line);
    box-shadow: none;
  }
  3%,
  11% {
    transform: translateY(-6px);
    border-color: var(--product-ink);
    box-shadow: 0 12px 24px rgb(34 38 65 / 0.12);
  }
}
@keyframes surec-nabiz {
  0%,
  12%,
  100% {
    box-shadow: 0 0 0 0 rgb(34 38 65 / 0);
  }
  4% {
    box-shadow: 0 0 0 6px rgb(34 38 65 / 0.16);
  }
}
@keyframes surec-zipla {
  0%,
  14%,
  100% {
    transform: none;
  }
  4% {
    transform: translateY(-5px);
  }
  7%,
  11% {
    transform: none;
  }
  9% {
    transform: translateY(-2px);
  }
}
@keyframes surec-titre {
  0%,
  14%,
  100% {
    opacity: 1;
  }
  2%,
  6%,
  10% {
    opacity: 0.1;
  }
  4%,
  8%,
  12% {
    opacity: 1;
  }
}
@keyframes surec-kivilcim {
  0%,
  14%,
  100% {
    opacity: 1;
    transform: none;
  }
  5%,
  11% {
    opacity: 0.25;
    transform: scale(1.6);
  }
  8% {
    opacity: 1;
    transform: none;
  }
}
@keyframes surec-parilti {
  0%,
  14%,
  100% {
    transform: none;
  }
  7% {
    transform: rotate(24deg) scale(1.15);
  }
}
@keyframes surec-yanip {
  0%,
  14%,
  100% {
    opacity: 1;
  }
  4%,
  10% {
    opacity: 0;
  }
  7% {
    opacity: 1;
  }
}
@keyframes surec-dus {
  0%,
  14%,
  100% {
    transform: none;
  }
  3% {
    transform: translateY(-6px);
  }
  7% {
    transform: translateY(1px) scale(1.06, 0.94);
  }
  10% {
    transform: none;
  }
}
@keyframes surec-it {
  0%,
  14%,
  100% {
    transform: none;
  }
  5% {
    transform: translateX(2.5px);
  }
  9% {
    transform: none;
  }
  11% {
    transform: translateX(1px);
  }
}
@keyframes surec-yol {
  0%,
  14%,
  100% {
    transform: none;
  }
  3%,
  9% {
    transform: translateX(-3px);
  }
  6%,
  12% {
    transform: translateX(3px);
  }
}
@keyframes surec-tik {
  0% {
    stroke-dashoffset: 9;
  }
  8%,
  100% {
    stroke-dashoffset: 0;
  }
}
