/* PARALLAXIS /tailored/, step 1: start note + expandable «Как» / «Из чего».
   Loaded only by /tailored/index.html, after site-runtime.css. */

.pa-tx-note {
  margin: 14px auto 0 !important;
  color: #716C68 !important;
  font: 300 12px/1.5 Inter, Arial, sans-serif !important;
  letter-spacing: .02em;
}

/* ---------- Expandable list ---------- */
.pa-tailored-step[data-tailored-step="1"] .pa-tailored-how.pa-tx {
  box-sizing: border-box;
  max-width: 1240px;
  margin: 56px auto 100px;
  padding: 0 24px;
}
.pa-tx-item { position: relative; }
.pa-tx-item::before,
.pa-tx-item:last-child::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background-image: repeating-linear-gradient(90deg, #252424 0 6px, transparent 6px 12px);
  background-size: 12px 1px;
  background-repeat: repeat-x;
}
.pa-tx-item::before { top: 0; }
.pa-tx-item:last-child::after { bottom: 0; }
.pa-tx-item[open]::before,
.pa-tx-item:hover::before { animation: pa-tx-march 1s linear infinite; }
@keyframes pa-tx-march { to { background-position: 12px 0; } }

.pa-tx-item > summary {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 18px;
  padding: 22px 0;
  cursor: pointer;
  list-style: none;
  text-align: left;
}
.pa-tx-item > summary::-webkit-details-marker { display: none; }
.pa-tx-item > summary:focus-visible { outline: 1px solid #39180f; outline-offset: 4px; }

.pa-tx-num {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 38px;
  height: 38px;
  border: 1px solid #252424;
  border-radius: 50%;
  background: #f7f7f4;
  color: #252424;
  font: 400 12px/1 Inter, Arial, sans-serif;
  letter-spacing: .04em;
}
.pa-tx-item[open] .pa-tx-num { background: #252424; color: #f7f7f4; }
.pa-tx-head { display: block; min-width: 0; }
.pa-tailored-step[data-tailored-step="1"] .pa-tailored-how.pa-tx .pa-tx-head h2 {
  width: auto;
  margin: 0 0 4px;
  color: #252424;
  font: 400 22px/1.15 'Cormorant Garamond', Georgia, serif;
  text-align: left;
}
.pa-tx-teaser {
  display: block;
  color: #716C68;
  font: 300 13px/1.45 Inter, Arial, sans-serif;
}
.pa-tx-icon { position: relative; width: 28px; height: 28px; transition: transform .3s ease; }
.pa-tx-icon::before,
.pa-tx-icon::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 1px;
  background: #252424;
  transform: translate(-50%, -50%);
}
.pa-tx-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.pa-tx-item[open] .pa-tx-icon { transform: rotate(45deg); }

.pa-tx-body { padding: 8px 0 48px; }
.pa-tx-item[data-tx="how"] .pa-tx-body { padding-top: 4px; }

/* ---------- Materials ---------- */
.pa-tx-lead {
  max-width: 640px;
  margin: 0 auto 36px;
  color: #39180f;
  font: 400 22px/1.3 'Cormorant Garamond', Georgia, serif;
  text-align: center;
}
.pa-tx-materials { display: grid; grid-template-columns: minmax(0, 1fr); }
.pa-tx-exploded { order: 1; margin: 0; }
.pa-tx-link--a { order: 2; }
.pa-tx-material--acetate { order: 3; }
.pa-tx-link--b { order: 4; }
.pa-tx-material--hardware { order: 5; }

.pa-tx-material { min-width: 0; text-align: left; }
.pa-tx-material .pa-tx-ph { margin-bottom: 18px; }
.pa-tx-eyebrow {
  margin: 0 0 8px;
  color: #716C68;
  font: 400 11px/1.3 Inter, Arial, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.pa-tx-material h3 {
  margin: 0 0 12px;
  color: #39180f;
  font: 400 24px/1.15 'Cormorant Garamond', Georgia, serif;
}
.pa-tx-material p:not(.pa-tx-eyebrow) {
  margin: 0 0 10px;
  color: #252424;
  font: 300 14px/1.7 Inter, Arial, sans-serif;
}
.pa-tx-material .pa-tx-todo {
  padding: 8px 10px;
  background: rgba(212, 206, 191, .35);
  color: #39180f !important;
  font-size: 13px !important;
}

/* Dashed connectors, marching like the arrows of the process block. */
.pa-tx-link { position: relative; height: 58px; }
.pa-tx-link::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 6px;
  bottom: 10px;
  width: 1px;
  background-image: repeating-linear-gradient(180deg, #252424 0 6px, transparent 6px 12px);
  background-size: 1px 12px;
  animation: pa-tx-march-down 1s linear infinite;
}
.pa-tx-link::after {
  content: '';
  position: absolute;
  left: calc(50% - 4px);
  bottom: 9px;
  width: 8px;
  height: 8px;
  border-right: 1px solid #252424;
  border-bottom: 1px solid #252424;
  transform: rotate(45deg);
}
@keyframes pa-tx-march-down { to { background-position: 0 12px; } }

/* Placeholders for images supplied later. */
.pa-tx-ph {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  padding: 16px;
  border: 1px solid #d8d8d4;
  background-color: #efeee9;
  background-image: repeating-linear-gradient(135deg, rgba(37,36,36,.07) 0 1px, transparent 1px 9px);
  text-align: center;
}
.pa-tx-ph span {
  max-width: 26em;
  color: #716C68;
  font: 400 11px/1.5 Inter, Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pa-tx-ph small { font-size: 10px; letter-spacing: .12em; opacity: .8; }

@media (max-width: 960px) {
  .pa-tailored-step[data-tailored-step="1"] .pa-tailored-how.pa-tx { margin: 40px auto 72px; padding: 0 16px; }
  .pa-tx-item > summary { gap: 14px; padding: 18px 0; }
  .pa-tailored-step[data-tailored-step="1"] .pa-tailored-how.pa-tx .pa-tx-head h2 { font-size: 20px; }
  .pa-tx-teaser { font-size: 12.5px; }
  .pa-tx-lead { font-size: 20px; margin-bottom: 28px; }
  /* The four process cards run edge to edge, as before. */
  .pa-tx-item[data-tx="how"] .pa-tx-body { margin: 0 -16px; }
}

@media (min-width: 961px) {
  .pa-tailored-step[data-tailored-step="1"] .pa-tailored-how.pa-tx .pa-tx-head h2 { font-size: 30px; }
  .pa-tx-item > summary { padding: 28px 0; }
  .pa-tx-teaser { font-size: 14px; }
  .pa-tx-lead { font-size: 26px; margin-bottom: 48px; }
  /* Row 1: photo, connector, drawing, connector, photo (centred on one line).
     Row 2: the two texts under their photos. */
  .pa-tx-materials {
    grid-template-columns: minmax(0, 1fr) 72px minmax(0, 1.25fr) 72px minmax(0, 1fr);
    grid-template-areas: "ia la ex lb ib" "ta . . . tb";
    align-items: center;
    row-gap: 22px;
  }
  .pa-tx-material { display: contents; }
  .pa-tx-material--acetate .pa-tx-ph { grid-area: ia; margin: 0; }
  .pa-tx-material--acetate .pa-tx-material-text { grid-area: ta; align-self: start; }
  .pa-tx-material--hardware .pa-tx-ph { grid-area: ib; margin: 0; }
  .pa-tx-material--hardware .pa-tx-material-text { grid-area: tb; align-self: start; }
  .pa-tx-link--a { grid-area: la; }
  .pa-tx-exploded { grid-area: ex; }
  .pa-tx-link--b { grid-area: lb; }
  .pa-tx-link { height: 1px; align-self: center; }
  .pa-tx-link::before {
    left: 6px;
    right: 10px;
    top: 0;
    bottom: auto;
    width: auto;
    height: 1px;
    background-image: repeating-linear-gradient(90deg, #252424 0 6px, transparent 6px 12px);
    background-size: 12px 1px;
    animation-name: pa-tx-march-right;
  }
  .pa-tx-link::after { left: auto; right: 10px; bottom: auto; top: -4px; transform: rotate(-45deg); }
  /* The right connector points from the hardware card to the drawing. */
  .pa-tx-link--b::before { left: 10px; right: 6px; animation-name: pa-tx-march-left; }
  .pa-tx-link--b::after { right: auto; left: 10px; transform: rotate(135deg); }
}
@keyframes pa-tx-march-right { to { background-position: 12px 0; } }
@keyframes pa-tx-march-left { to { background-position: -12px 0; } }

@media (prefers-reduced-motion: reduce) {
  .pa-tx-item[open]::before, .pa-tx-item:hover::before, .pa-tx-link::before { animation: none; }
  .pa-tx-icon { transition: none; }
}

/* Step 2 (PD) starts at the same height as step 1: same top padding as the
   step-1 intro at every width (45px, or 28px on phones up to 760px). */
.pa-tailored-experience .pa-tailored-step[data-tailored-step="2"] .pa-tailored-intro { padding-top: 45px; }
@media (max-width: 760px) {
  .pa-tailored-experience .pa-tailored-step[data-tailored-step="2"] .pa-tailored-intro { padding-top: 28px; }
}
/* Desktop: room for the second line of the intro without a one-word orphan. */
@media (min-width: 961px) {
  .pa-tailored-experience .pa-tailored-step[data-tailored-step="1"] .pa-tailored-intro { max-width: 860px; }
  .pa-tailored-experience .pa-tailored-step[data-tailored-step="1"] .pa-tailored-intro > p:not(.pa-tailored-eyebrow):not(.pa-tx-note) { max-width: 800px; }
}
