/* Japan visa landing. Header and popup stay on live styles.
   Footer CSS is in site-foot.js. This page does not restyle it.
   Pull down at the top refreshes the page, same as the homepage. */
html, body { overscroll-behavior: auto; }

.jp-hero {
  position: relative;
  overflow: hidden;
  min-height: 640px;
  padding: 52px 0 48px;
}
.jp-hero__grid {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  min-height: 528px;
}
.jp-hero__copy {
  max-width: 680px;
  min-width: 0;
}
.jp-kicker {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin: 0 0 20px;
  color: #83652F;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.jp-kicker__text { min-width: 0; }
.jp-kicker__rule {
  width: 44px;
  height: 1px;
  background: #83652F;
  flex: 0 0 auto;
}
.jp-hero h1 {
  margin: 0;
  font-family: "Instrument Serif", "Times New Roman", serif;
  font-size: clamp(56px, 5.15vw, 80px);
  font-weight: 400;
  line-height: 0.92;
  letter-spacing: -0.025em;
  color: #142033;
}
.jp-lead {
  max-width: 36rem;
  margin: 22px 0 0;
  color: #3c4553;
  font-size: 17px;
  line-height: 1.5;
}
.jp-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 26px;
}
.jp-hero__actions .sg-btn {
  cursor: pointer;
  height: 48px;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 8px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  white-space: nowrap;
}
.jp-hero__actions .sg-btn svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}
.jp-hero__actions .sg-btn--fill {
  background: #1a2744;
  border: 1.5px solid #1a2744;
  color: #fff;
}
.jp-hero__actions .sg-btn--line {
  background: #fff;
  border: 1.5px solid #1a2744;
  color: #1a2744;
}
.jp-trust {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 28px 0 0;
  color: #a68445;
  font-size: 14.5px;
  font-weight: 500;
}
.jp-trust svg {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  color: #c4a46a;
}
.jp-hero__art {
  position: absolute;
  inset: 0;
  margin: 0;
  pointer-events: none;
}
.jp-hero__art img {
  display: block;
  width: auto;
  height: 100%;
  max-width: 100%;
  margin-left: auto;
  object-fit: contain;
  object-position: right bottom;
}
/* 768–1023: contain letterboxes the 16:9 photo and its top edge cuts the H1. */
@media (min-width: 768px) and (max-width: 1023px) {
  .jp-hero__art img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: right center;
  }
}

.jp-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.jp-head .sg-h2 { margin: 0; }
.jp-sub {
  margin: 0;
  color: #83652F;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.jp-fit {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 28px;
}
.jp-fit article,
.jp-type {
  margin: 0;
  padding: 26px 22px 22px;
  border: 1px solid #eadfcd;
  border-radius: 16px;
  background: #fffefb;
}
.jp-fit__n {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  color: #83652F;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1;
}
.jp-fit__n::before { content: none; }
.jp-fit__n::after {
  content: "";
  width: 36px;
  height: 5px;
  flex: 0 0 auto;
  background:
    radial-gradient(circle at 50% 50%, #83652F 2.25px, transparent 2.45px),
    linear-gradient(#83652F, #83652F) center / 36px 1px no-repeat;
}
.jp-ico {
  display: flex;
  justify-content: center;
  margin: 14px 0 8px;
  color: #1c2b4a;
}
.jp-ico svg { width: 42px; height: 42px; }
.jp-fit h3,
.jp-type h3 {
  margin: 8px 0 0;
  text-align: center;
  font-family: var(--display);
  font-size: 26px;
  font-weight: 400;
  color: #142033;
}
.jp-fit p {
  margin: 10px 0 0;
  text-align: center;
  color: #5c564c;
  font-size: 14.5px;
  line-height: 1.5;
}

.jp-types {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 26px;
}
.jp-type h3 { margin-bottom: 8px; }
.jp-checks {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.jp-checks li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 0 0 10px;
  color: #3d4654;
  font-size: 15px;
  line-height: 1.45;
}
.jp-checks svg {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  color: #b08948;
}


.jp-who-head,
.jp-types-head {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  max-width: 100%;
}
.jp-who-head .sg-h2,
.jp-types-head .sg-h2 { margin: 0; flex: 0 0 auto; }
.jp-who-rule {
  display: flex;
  align-items: center;
  flex: 1 1 48px;
  min-width: 36px;
  max-width: 168px;
}
.jp-who-rule::before {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: #83652F;
}
.jp-who-rule i {
  width: 5px;
  height: 5px;
  margin-left: -2px;
  flex: 0 0 5px;
  border-radius: 50%;
  background: #83652F;
}
.jp-who-eye {
  margin: 10px 0 0;
  color: #83652F;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.jp-types-head { flex-wrap: wrap; row-gap: 8px; }
.jp-types-rule {
  display: flex;
  align-items: center;
  flex: 0 1 140px;
  min-width: 64px;
  gap: 8px;
}
.jp-types-rule::before,
.jp-types-rule::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #83652F;
}
.jp-types-rule i {
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  background: #83652F;
  transform: rotate(45deg);
}
.jp-types-label {
  margin: 0;
  flex: 1 1 240px;
  min-width: 0;
  color: #83652F;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1.35;
}
.jp-fit,
.jp-types { max-width: 100%; }
.jp-fit article,
.jp-type {
  min-width: 0;
  border: 1px solid #e6d6bf;
  border-radius: 12px;
  background: #fffdf8;
}
.jp-fit article { padding: 22px 14px 20px; }
.jp-type { padding: 34px 28px 28px; }
.jp-fit .jp-ico svg,
.jp-type .jp-ico svg { width: auto; max-width: 100%; }
.jp-fit .jp-ico svg { height: 46px; }
.jp-type .jp-ico { margin-top: 2px; }
.jp-type .jp-ico svg { height: 52px; }
.jp-type .jp-checks li { margin-bottom: 12px; }
.jp-type .jp-checks svg { color: #83652F; }

.jp-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: 18px;
  margin-top: 36px;
  width: 100%;
}
.jp-step {
  position: relative;
  min-width: 0;
  margin: 0;
  text-align: left;
}
.jp-step__row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;
}
.jp-step__n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #142033;
  color: #fff;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}
.jp-step__ico {
  display: flex;
  flex: 0 0 auto;
  color: #142033;
}
.jp-step__ico svg { width: 36px; height: 36px; display: block; }
.jp-step__arrow {
  position: absolute;
  top: 14px;
  left: 84px;
  right: 6px;
  height: 8px;
  display: flex;
  align-items: center;
  color: #83652F;
  pointer-events: none;
}
.jp-step__arrow::before {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: currentColor;
}
.jp-step__arrow svg { flex: 0 0 10px; width: 10px; height: 8px; display: block; }
.jp-step h3 {
  margin: 14px 0 0;
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.25;
  color: #142033;
}
.jp-step p {
  margin: 8px 0 0;
  color: #5c564c;
  font-size: 14px;
  line-height: 1.45;
  overflow-wrap: break-word;
}
.jp-split {
  --jp-card-top: 22px;
  --jp-card-edge: 1px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
  gap: 32px 36px;
  margin-top: 52px;
  align-items: start;
}
.jp-subh {
  margin: calc(var(--jp-card-top) + var(--jp-card-edge)) 0 20px;
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: -0.02em;
}
.jp-notes { margin: 0; padding: 0; list-style: none; }
.jp-notes li {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin: 0 0 16px;
  color: #3a342c;
  font-size: 15px;
  line-height: 1.45;
}
.jp-notes svg { width: 22px; height: 22px; color: #83652F; margin-top: 1px; }
.jp-important {
  position: relative;
  min-width: 0;
  padding: var(--jp-card-top) 26px 22px;
  border-radius: 16px;
  background: #fffdf8;
  border: var(--jp-card-edge) solid #e3d5bf;
  box-shadow:
    inset 0 1px 0 rgba(255, 252, 246, 0.95),
    1px 1px 0 #eadfcb,
    2px 2px 0 #e3d6be,
    3px 3px 0 #dccdb1,
    4px 4px 0 #d5c4a4,
    5px 5px 0 #cebb97,
    6px 6px 0 #c7b28a,
    7px 7px 0 #c0a97d,
    9px 12px 18px rgba(48, 36, 18, 0.12),
    16px 24px 36px rgba(48, 36, 18, 0.08);
}
.jp-important h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  font-family: var(--display);
  font-size: 32px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #142033;
}
.jp-important h3 svg { width: 22px; height: 22px; color: #83652F; flex: 0 0 22px; }
.jp-important > p { margin: 0 0 14px; color: #3a342c; font-size: 15px; line-height: 1.45; }
.jp-vlist { margin: 0; padding: 0; list-style: none; }
.jp-vlist li {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 0 0 12px;
  color: #3a342c;
  font-size: 15px;
  line-height: 1.45;
}
.jp-vlist svg { width: 16px; height: 16px; color: #83652F; margin-top: 3px; }
.jp-vlist strong { font-weight: 600; color: #142033; }
.jp-foot {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 6px 0 0;
  color: #5c564c;
  font-size: 14.5px;
  line-height: 1.45;
}
.jp-foot svg { flex: 0 0 18px; width: 18px; height: 18px; color: #83652F; margin-top: 2px; }

.jp-faq {
  position: relative;
  /* Above #steps (z-index 2). The «Важно» shadow hangs below the sticky
     block on a short landscape screen and would paint on this cream. */
  z-index: 3;
  background: #FFF1DC;
  color: #142033;
  overflow: hidden;
}
.jp-faq__in {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100% - 96px));
  margin: 0 auto;
  padding: 36px 0 32px;
  box-sizing: border-box;
}
.jp-faq__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}
.jp-faq__rule {
  display: block;
  width: 36px;
  height: 2px;
  margin: 0 0 16px;
  background: #c6a15b;
}
.jp-faq__h,
.jp-faq__cta-h {
  margin: 0;
  font-family: "Instrument Serif", var(--display);
  font-weight: 400;
  font-size: 32px;
  line-height: 1.15;
  color: #142033;
  letter-spacing: -0.01em;
}
.jp-faq__lead {
  margin: 0 0 6px;
  font-size: 14px;
  line-height: 1.35;
  text-align: right;
  white-space: nowrap;
  color: #83652F;
}
.jp-faq__list {
  margin-top: 22px;
  border-top: 1px solid rgba(92, 86, 76, 0.20);
}
.jp-faq__item { border-bottom: 1px solid rgba(92, 86, 76, 0.20); }
.jp-faq__sum {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  margin: 0;
  padding: 16px 2px;
  box-sizing: border-box;
  background: transparent;
  border: 0;
  color: #142033;
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
  list-style: none;
}
.jp-faq__sum::-webkit-details-marker { display: none; }
.jp-faq__sum::marker { content: ""; }
.jp-faq__sum:focus { outline: none; }
.jp-faq__sum:focus-visible {
  outline: 1px solid #c6a15b;
  outline-offset: 2px;
}
.jp-faq__plus {
  position: relative;
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  color: #c6a15b;
}
.jp-faq__plus::before,
.jp-faq__plus::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: currentColor;
  transform: translate(-50%, -50%);
}
.jp-faq__plus::before { width: 12px; height: 1px; }
.jp-faq__plus::after { width: 1px; height: 12px; }
.jp-faq__item[open] .jp-faq__plus::after { opacity: 0; }
.jp-faq__q { flex: 1 1 auto; min-width: 0; }
.jp-faq__chev {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  color: rgba(20, 32, 51, 0.45);
}
.jp-faq__item[open] .jp-faq__chev { transform: rotate(90deg); }
.jp-faq__a {
  padding: 0 28px 16px 28px;
  color: #5c564c;
  font-size: 15px;
  line-height: 1.55;
}
.jp-faq__a p { margin: 0 0 10px; }
.jp-faq__a p:last-child { margin-bottom: 0; }
.jp-faq__cta {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  gap: 40px;
  margin-top: 137px;
}
.jp-faq__cta-copy { flex: 0 1 380px; min-width: 0; }
.jp-faq__btn { flex: 0 0 auto; }
.jp-faq__cta-h { font-size: 30px; }
.jp-faq__cta-sub {
  margin: 10px 0 0;
  max-width: 46ch;
  color: #83652F;
  font-size: 14px;
  line-height: 1.45;
}
.jp-faq__btn {
  justify-self: center;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  margin: 0;
  padding: 0 22px;
  border: 0;
  border-radius: 999px;
  background: #142033;
  color: #fff;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}
.jp-faq__btn:hover { background: #0d182c; }
.jp-faq__btn:focus-visible {
  outline: 2px solid #c6a15b;
  outline-offset: 3px;
}
.jp-faq__contact {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 16px;
  align-items: center;
  align-self: center;
  flex: 1 1 auto;
  min-width: 0;
  margin-left: 32px;
  margin-right: 0;
  box-sizing: border-box;
  padding: 18px 22px;
  border: 1px solid rgba(196, 164, 106, 0.72);
  border-radius: 24px;
  background: #F7EEE4;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75), inset 0 0 0 1px rgba(255,255,255,.35), 0 2px 6px rgba(74,52,18,.14), 0 20px 44px rgba(74,52,18,.12);
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .jp-faq__contact {
    background: rgba(244, 236, 229, 0.62);
    -webkit-backdrop-filter: blur(16px) saturate(115%);
    backdrop-filter: blur(16px) saturate(115%);
  }
}
.jp-faq__contact-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.jp-faq__pico {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid #c6a15b;
  border-radius: 10px;
  color: #c6a15b;
}
.jp-faq__pico svg { width: 22px; height: 22px; }
.jp-faq__contact-k {
  margin: 0;
  color: #6B665C;
  font-size: 15px;
  line-height: 1.3;
}
.jp-faq__tel,
.jp-faq__mail {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #142033;
  text-decoration: none;
}
.jp-faq__tel {
  margin-top: 2px;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.25;
  white-space: nowrap;
}
.jp-faq__mail {
  margin-top: 4px;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.25;
  white-space: nowrap;
}
.jp-faq__mail svg { width: 16px; height: 16px; flex: 0 0 auto; }
.jp-faq__tel:hover,
.jp-faq__mail:hover { color: #c6a15b; }

@media (max-width: 1100px) {
  .jp-fit h3 { font-size: 22px; }
  .jp-hero h1 { font-size: 56px; }
  .jp-hero__copy { max-width: 560px; }
}
@media (max-width: 860px) {
  .jp-faq__head { align-items: flex-start; flex-direction: column; gap: 10px; }
  .jp-faq__lead { margin: 0; text-align: left; white-space: normal; }
  .jp-faq__h { font-size: 28px; }
  .jp-faq__cta-h { font-size: 26px; }
}
@media (max-width: 1100px) {
  .jp-faq__cta {
    flex-direction: column;
    align-items: center;
    gap: 28px;
    text-align: center;
  }
  .jp-faq__cta-copy { flex-basis: auto; }
  .jp-faq__cta-sub { margin-left: auto; margin-right: auto; }
  .jp-faq__btn { align-self: center; }
  .jp-faq__contact {
    align-self: stretch;
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 767px) {
  .jp-hero {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 28px 0 0;
  }
  .jp-hero__grid { order: 1; width: 100%; min-height: 0; }
  .jp-hero__copy { max-width: none; }
  .jp-hero h1 { font-size: 40px; }
  .jp-kicker { letter-spacing: 0.1em; }
  .jp-hero__art {
    position: relative;
    inset: auto;
    order: 2;
    width: 100%;
    height: 280px;
    margin: 22px 0 0;
  }
  .jp-hero__art img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    object-position: 78% 42%;
  }
  .jp-hero__actions .sg-btn {
    width: 100%;
    white-space: normal;
  }
}


.sg .sg-eye { color: #83652F; }
.sg .sg-eye::before { background: #83652F; }
.sg .sg-block { padding-top: 96px; padding-bottom: 0; }

@media (max-width: 1023px) {
  .sg .sg-block { padding-top: 80px; }
  .jp-faq__in { width: calc(100% - 64px); }
}
@media (max-width: 767px) {
  .jp-hero {
    display: flex;
    flex-direction: column;
  }
  .jp-hero__grid { order: 1; width: 100%; }
  .jp-hero__art { order: 2; }
  .sg .sg-block { padding-top: 64px; }
  .jp-fit,
  .jp-types { grid-template-columns: 1fr; }
  .jp-steps,
  .jp-split { grid-template-columns: 1fr; }
  .jp-step__arrow { display: none; }
  .jp-split { margin-top: 36px; gap: 28px; }
  .jp-subh { margin-top: 0; }
  .jp-step { padding-bottom: 4px; }
  .jp-types-label { flex-basis: 100%; letter-spacing: 0.08em; }
  .jp-who-eye { letter-spacing: 0.12em; }
  .jp-type { padding: 28px 20px 24px; }
}
@media (max-width: 420px) {
  .jp-faq__in { width: calc(100% - 48px); padding: 28px 0 24px; }
  .jp-faq__h { font-size: 26px; }
  .jp-faq__sum { font-size: 15px; padding: 14px 0; gap: 10px; }
  .jp-faq__cta { margin-top: 95px; }
  .jp-faq__cta-h { font-size: 24px; }
  .jp-faq__a { padding: 0 0 14px 24px; }
}
@media (max-width: 340px) {
  .jp-faq__contact {
    padding-left: 12px;
    padding-right: 12px;
    column-gap: 10px;
  }
  .jp-faq__pico { width: 34px; height: 34px; }
}


@media (max-width: 1100px) and (min-width: 768px) {
  .jp-steps { column-gap: 12px; }
  .jp-step__n { flex-basis: 28px; width: 28px; height: 28px; font-size: 12px; }
  .jp-step__ico svg { width: 30px; height: 30px; }
  .jp-step__arrow { left: 74px; top: 12px; }
  .jp-step h3 { font-size: 14px; }
  .jp-step p { font-size: 13px; }
}

.jp-fit .jp-ico img {
  display: block;
  height: 84px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}


.jp-type .jp-ico img {
  display: block;
  height: 39px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
.jp-fit {
  align-items: stretch;
}
.jp-fit > article {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
}
.jp-fit > article > h3 {
  min-height: 2.5em;
}
.jp-types {
  align-items: stretch;
}
.jp-types > .jp-type {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
.jp-types > .jp-type > h3 {
  min-height: 1.25em;
}
.jp-fit > article > h3,
.jp-fit > article > p,
.jp-types > .jp-type > h3,
.jp-types > .jp-type > .jp-checks {
  min-width: 0;
}

@media (max-width: 767px) {
  .jp-who-head { flex-wrap: wrap; }
  .jp-who-rule { flex-basis: 120px; max-width: 120px; min-width: 0; }
}

/* =====================================================================
   VCP Travel · /visa/japan/ · блок «Анализируем кейс до подачи»
   Секция #jp-case (класс .jp-case). Заменяет все старые правила .jp-case*
   Заголовки — Instrument Serif, как H1 этой страницы. Playfair не грузим.
   Карта: /visa/japan/japan-map.png, плашка вырезана. Бокс 781×810 @ left 659, top 44.
   object-fit: contain, без рамки, поворота и scale. Портрет — тот же файл Елены.
   ===================================================================== */

.jp-case{
  --case-ink:var(--c-ink,#142033);
  --case-name:#4C4841;
  --case-muted:#6B665C;
  --case-subtle:#716C63;
  --case-gold:var(--c-gold,#C4A46A);
  --case-line:rgba(92,86,76,.20);
  --case-line-card:rgba(131,101,47,.16);
  --case-bg-1:#FFF1DC;
  --case-bg-2:#FFF1DC;
  --case-glass:rgba(244,236,229,.62);
  --case-glass-solid:#F7EEE4;
  --case-shadow-card:0 2px 6px rgba(74,52,18,.14),0 20px 44px rgba(74,52,18,.12);
  --case-shadow-face:0 4px 12px rgba(40,28,12,.18);
  --case-r:24px;
  --f-display:"Instrument Serif","Times New Roman",serif;
  --f-sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;

  position:relative;
  z-index:30;
  margin-top:0;
  overflow:hidden;
  border-radius:28px 28px 0 0;
  box-shadow:none;
  padding:64px 0 64px;
  background:#FFF1DC;
  color:var(--case-ink);
  font-family:var(--f-sans);
}
.jp-case *,.jp-case *::before,.jp-case *::after{box-sizing:border-box}

.jp-case__wrap{
  position:relative; z-index:2;
  width:min(1280px,100%); margin-inline:auto; padding-inline:24px;
  display:grid; grid-template-columns:minmax(0,1fr);
  grid-template-areas:"head" "points" "person" "card";
}

.jp-case__head{grid-area:head; min-width:0}
.jp-case__title{
  margin:0; font-family:var(--f-display); font-weight:400;
  font-size:28px; line-height:34px; letter-spacing:-.01em; color:var(--case-ink);
  text-wrap:balance;
}
.jp-case__title-l2{display:inline}
.jp-case__lead{
  margin:16px 0 0; max-width:34em;
  font-size:17px; line-height:28px; font-weight:400; color:var(--case-muted);
}

.jp-case__points{grid-area:points; list-style:none; margin:32px 0 0; padding:0; min-width:0}
.jp-case__point{margin:0; padding:0}
.jp-case__point + .jp-case__point{margin-top:28px; padding-top:20px; border-top:1px solid var(--case-line)}
.jp-case__abbr{
  margin:0; font-family:var(--f-display); font-weight:400;
  font-size:15px; line-height:20px; letter-spacing:0; color:var(--case-subtle);
}
.jp-case__abbr abbr{text-decoration:none; border:0; cursor:help}
.jp-case__point h3{
  margin:8px 0 0; font-family:var(--f-display); font-weight:400;
  font-size:18px; line-height:26px; letter-spacing:-.01em; color:var(--case-ink);
}
.jp-case__point p:not(.jp-case__abbr){
  margin:8px 0 0; font-size:15px; line-height:24px; color:var(--case-muted);
  max-width:364px;
}

.jp-case__person{grid-area:person; margin:40px 0 0; min-width:0}
.jp-case__person picture,.jp-case__person img.jp-case__photo{display:block}
.jp-case__photo{
  display:block; width:100%; max-width:396px; height:auto; aspect-ratio:25/26;
  object-fit:cover; object-position:50% 30%;
  border-radius:var(--case-r); background:#E7E1D6;
}
.jp-case__person figcaption{margin:16px 0 0}
.jp-case__name{display:block; font-size:17px; line-height:26px; font-weight:400; color:var(--case-name)}
.jp-case__role{display:block; margin-top:4px; max-width:300px; font-size:15px; line-height:24px; color:var(--case-subtle)}

.jp-case__map{position:absolute; z-index:0; pointer-events:none; user-select:none}
.jp-case__map img{display:block; width:100%; height:auto; max-width:none}
.jp-case__map--frag img{
  height:309px;
  object-fit:contain;
  object-position:center center;
}

.jp-case__cardzone{grid-area:card; position:relative; margin-top:144px; min-width:0}
.jp-case__cardzone .jp-case__map--frag{right:0; top:0; width:min(200px,62%); max-width:100%}
.jp-case__card{
  position:relative; z-index:1;
  width:100%; max-width:392px;
  border:1px solid rgba(196,164,106,.72);
  border-radius:var(--case-r);
  background:var(--case-glass-solid);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 0 0 1px rgba(255,255,255,.35),var(--case-shadow-card);
}
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .jp-case__card{
    background:var(--case-glass);
    -webkit-backdrop-filter:blur(16px) saturate(115%);
    backdrop-filter:blur(16px) saturate(115%);
  }
}
.jp-case__rows{list-style:none; margin:0; padding:4px 16px 8px}
.jp-case__rows li{
  display:flex; align-items:center; gap:16px; min-height:60px; margin:0; padding:0 0 0 8px;
  font-family:var(--f-display); font-weight:400; font-size:17px; line-height:24px; color:var(--case-ink);
  font-variant-numeric:lining-nums;
}
.jp-case__rows li + li{border-top:1px solid var(--case-line-card)}
.jp-case__ico{flex:0 0 28px; width:28px; height:28px; color:var(--case-ink)}
.jp-case__face{
  position:absolute; z-index:2; right:12px; bottom:-36px;
  width:56px; height:56px; border-radius:50%; object-fit:cover; object-position:50% 20%;
  border:3px solid #fff; background:#E7E1D6; box-shadow:var(--case-shadow-face);
}

@media (min-width:768px){
  .jp-case{padding:80px 0 80px}
  .jp-case__wrap{
    padding-inline:32px;
    grid-template-columns:288px minmax(0,1fr); column-gap:40px;
    grid-template-areas:"head head" "points points" "person card";
  }
  .jp-case__title{font-size:36px; line-height:42px}
  .jp-case__title-l2{display:block}
  .jp-case__lead{font-size:18px; line-height:30px; max-width:600px}
  .jp-case__points{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:40px; margin-top:40px}
  .jp-case__point + .jp-case__point{margin-top:0; padding-top:0; border-top:0}
  .jp-case__point h3{font-size:20px; line-height:28px}
  .jp-case__person{margin-top:48px}
  .jp-case__photo{max-width:288px}
  .jp-case__name{font-size:18px; line-height:28px}
  .jp-case__cardzone{
    margin-top:48px; align-self:stretch;
    display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-end;
  }
  .jp-case__cardzone .jp-case__map--frag{
    top:0; bottom:auto; right:0; left:auto;
    width:min(240px, 42%); height:auto; max-width:100%;
  }
  .jp-case__cardzone .jp-case__map--frag img{
    display:block; width:100%; height:auto; max-width:100%; max-height:480px;
    object-fit:contain; object-position:center center;
  }
  .jp-case__rows{padding:6px 20px 10px}
  .jp-case__rows li{gap:20px; min-height:66px; padding-left:6px}
  .jp-case__rows li:last-child{padding-right:64px}
  .jp-case__ico{flex-basis:32px; width:32px; height:32px}
  .jp-case__face{width:68px; height:68px; right:8px; bottom:-12px}
}
@media (min-width:1024px){
  .jp-case__wrap{grid-template-columns:396px minmax(0,1fr); column-gap:48px}
  .jp-case__points{column-gap:48px}
  .jp-case__photo{max-width:396px}
  .jp-case__rows li{font-size:18px}
}

@media (min-width:1280px){
  .jp-case{padding:96px 0 68px}
  .jp-case__wrap{
    grid-template-columns:396px 200px 364px; column-gap:0;
    grid-template-areas:"head head points" "person . points";
    grid-template-rows:auto 1fr;
    align-items:start;
  }
  .jp-case__head{max-width:560px}
  .jp-case__title{font-size:40px; line-height:48px}
  .jp-case__points{display:block; margin-top:0; padding-top:4px}
  .jp-case__point + .jp-case__point{margin-top:36px; padding-top:20px; border-top:1px solid var(--case-line)}
  .jp-case__person{margin-top:16px}
  .jp-case__name{margin:0}
  .jp-case__role{margin-top:4px}
  .jp-case__cardzone{
    position:absolute; margin:0; display:block; align-self:auto;
    bottom:24px; right:calc(32px - clamp(0px, (100vw - 1216px) / 2 - 32px, 40px));
    width:392px;
  }
  .jp-case__cardzone{overflow:visible; z-index:3}
  .jp-case__person{overflow:visible}
  .jp-case__person figcaption{overflow:visible}
  .jp-case__cardzone .jp-case__map--frag{display:none}
  .jp-case__photo{
    width:396px; height:412px; max-width:396px; aspect-ratio:auto;
    object-fit:cover; object-position:50% 30%;
  }
  .jp-case__card{width:392px; height:216px; max-width:392px}
  .jp-case__map--full{
    left:calc(50% - 21px - clamp(0px, (100vw - 1216px) / 2 - 32px, 40px));
    right:auto;
    top:44px;
    bottom:auto;
    width:781px;
    height:810px;
    aspect-ratio:auto;
    max-width:none;
    margin:0;
    overflow:hidden;
    transform:none;
  }
  .jp-case__map.jp-case__map--full img{
    position:static;
    inset:auto;
    display:block;
    width:781px;
    height:810px;
    max-width:none;
    max-height:none;
    object-fit:contain;
    object-position:right center;
    transform:none;
  }
}
.jp-case__map--full{display:none}
@media (min-width:1280px){.jp-case__map--full{display:block}}

/* 768–950: the long word stays inside the tourism card. */
@media (min-width: 768px) and (max-width: 950px) {
  .jp-fit p {
    overflow-wrap: break-word;
  }
}

.jp-case .rv{transition:opacity 240ms cubic-bezier(.2,.7,.2,1),transform 240ms cubic-bezier(.2,.7,.2,1)}
.jp-reveal .jp-case .rv:not(.in){opacity:0; transform:translateY(8px)}
.jp-case .rv-2{transition-delay:40ms}.jp-case .rv-3{transition-delay:80ms}.jp-case .rv-4{transition-delay:120ms}
.jp-case__card{transition:box-shadow 200ms ease,border-color 200ms ease}
@media (hover:hover){
  .jp-case__card:hover{border-color:rgba(196,164,106,.95); box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 0 0 1px rgba(255,255,255,.35),0 2px 6px rgba(74,52,18,.16),0 24px 52px rgba(74,52,18,.16)}
}
@media (prefers-reduced-motion:reduce){
  .jp-case .rv,.jp-reveal .jp-case .rv:not(.in){opacity:1; transform:none; transition:none}
  .jp-case__card{transition:none}
}

/* Homepage bar: fixed, so the burger at the footer does not drop it. */
body { padding-top: 61px; }
.visa-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 100%;
}
.jp-overlap { overflow: visible; margin-top: 0; }
:root {
  --bar-h: 61px;
}

#steps {
  position: relative;
  top: auto;
  z-index: 1;
  margin-top: 0;
  padding-bottom: 0;
  background: #f4f1ea;
}

@media (min-width: 1024px) {
  #steps {
    /* 96px padding + 12px margin + 46px line of «Что входит».
       The heading finishes under the bar before the Elena sheet can enter.
       Once it is under the bar, the page script pulls the sheet up over this block. */
    --steps-lock: 154px;
    position: sticky;
    top: calc(var(--bar-h) - var(--steps-lock));
    z-index: 2;
    box-sizing: border-box;
    min-height: calc(100svh - var(--bar-h) + var(--steps-lock));
    padding-bottom: 0;
    background: #f4f1ea;
  }
  .jp-case {
    position: relative;
    top: auto;
    z-index: 30;
    margin-top: 0;
    overflow: hidden;
    min-height: max(860px, calc(100svh - var(--bar-h)));
    background: #FFF1DC;
  }
  .jp-case.is-cover { border-radius: 0; }
}
/* 1920 and 2560: 100svh min-height leaves cream under the map. 1440 stays on the rule above. */
@media (min-width: 1920px) {
  .jp-case { min-height: 0; }
}

/* Portrait tablet: pin under the bar. No 100svh min-height — that box was taller than the screen and locked the scroll. */
@media (min-width: 768px) and (max-width: 1023px) {
  #steps {
    position: sticky;
    top: var(--bar-h);
    z-index: 1;
    box-sizing: border-box;
    min-height: 0;
    padding-bottom: 0;
    background: #f4f1ea;
  }
  .jp-case {
    position: relative;
    top: auto;
    z-index: 30;
    margin-top: 0;
    min-height: max(860px, calc(100svh - var(--bar-h)));
    background: #FFF1DC;
  }
  .jp-overlap { overflow: visible; }
}

/* Fragment map (below 1280): card sits on the map. Row height stays the person column, so the 1024 pin is unchanged. */
@media (min-width: 768px) and (max-width: 1279px) {
  .jp-case__cardzone {
    align-self: start;
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    min-height: 0;
    justify-items: end;
  }
  .jp-case__cardzone .jp-case__map--frag {
    position: relative;
    grid-area: 1 / 1;
    align-self: start;
    justify-self: end;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: min(240px, 42%);
    height: auto;
    max-width: 100%;
  }
  .jp-case__card {
    position: relative;
    grid-area: 1 / 1;
    z-index: 1;
    align-self: end;
    justify-self: end;
    width: 100%;
    max-width: 392px;
    margin-bottom: 20px;
  }
}

/* Portrait only: the fragment is the whole map, and the card sits on it. */
@media (min-width: 768px) and (max-width: 1023px) {
  .jp-case__cardzone .jp-case__map--frag {
    width: 100%;
    justify-self: stretch;
  }
  .jp-case__cardzone .jp-case__map--frag img {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center center;
  }
  .jp-case__card {
    align-self: center;
    justify-self: center;
    width: calc(100% - 8px);
    max-width: none;
    margin-bottom: 0;
  }
}

/* 1024–1279: full map, not the 240px fragment.
   The chain sits right of the two text columns. The manager card
   sits on the lower-right cream, off the islands.
   Comes after the fragment rules so those widths do not win. */
@media (min-width: 1024px) and (max-width: 1279px) {
  .jp-case__points { max-width: 68%; }
  .jp-case__map--full {
    display: block;
    left: auto;
    right: 0;
    top: 24px;
    bottom: 24px;
    width: min(680px, 64%);
    height: auto;
    max-width: none;
    overflow: hidden;
  }
  .jp-case__map.jp-case__map--full img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: right top;
    transform: scale(0.78);
    transform-origin: right top;
  }
  .jp-case__cardzone .jp-case__map--frag { display: none; }
  .jp-case__cardzone {
    position: absolute;
    z-index: 3;
    margin: 0;
    display: block;
    width: 380px;
    max-width: 380px;
    right: 20px;
    bottom: 18px;
    align-self: auto;
  }
  .jp-case__card {
    position: relative;
    width: 380px;
    max-width: 380px;
    margin: 0;
    align-self: auto;
    justify-self: auto;
  }
}

/* 1366: the 781px map is placed for 1440 and was clipped on the right. Keep 1440+. */
@media (min-width: 1280px) and (max-width: 1439px) {
  .jp-case__map--full {
    left: auto;
    right: 0;
    width: 781px;
    max-width: 100%;
  }
  .jp-case__map.jp-case__map--full img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: right center;
  }
}

/* 391–767: «Сроки и нюансы» stick, the case sheet covers them.
   21vh of padding is the overlap, so the sheet does not meet the block flush.
   min-height stays 0 so the block cannot grow past the screen and lock scroll. */
@media (min-width: 391px) and (max-width: 767px) {
  #steps {
    position: sticky;
    z-index: 1;
    top: 0;
    min-height: 0;
    padding-bottom: 21vh;
    background: #f4f1ea;
  }
  .jp-case {
    position: relative;
    z-index: 30;
    top: auto;
    min-height: 0;
    margin-top: 0;
    background: #FFF1DC;
  }
  .jp-overlap { overflow: visible; }
  /* Full archipelago in the column. The card sits in the lower-right
     cream, clear of the islands. The 1024 card rules are not in this range. */
  .jp-case__cardzone {
    position: relative;
    margin-top: 28px;
    width: 100%;
    min-height: 0;
  }
  .jp-case__cardzone .jp-case__map--frag {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: 100%;
    height: auto;
    max-width: 100%;
  }
  .jp-case__cardzone .jp-case__map--frag img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: none;
    object-fit: contain;
    object-position: center center;
  }
  .jp-case__card {
    position: absolute;
    z-index: 1;
    right: 3%;
    bottom: 16px;
    width: min(260px, 40%);
    max-width: min(260px, 40%);
    margin: 0;
  }
  .jp-case__rows { padding: 2px 6px 4px; }
  .jp-case__rows li {
    gap: 6px;
    min-height: 0;
    padding: 6px 0 6px 2px;
    min-width: 0;
    font-size: 15px;
    line-height: 19px;
  }
  .jp-case__ico { flex-basis: 18px; width: 18px; height: 18px; }
  .jp-case__rows span { min-width: 0; }
  .jp-case__face { width: 40px; height: 40px; right: 6px; bottom: -32px; }
}

@media (max-width: 390px) {
  /* Sticky pin: #steps stops, .jp-case scrolls over it and covers it.
     The pin offset (100svh − block height) is set on #steps by the page script. */
  #steps {
    position: sticky;
    z-index: 1;
    top: 0;
    min-height: 0;
    padding-bottom: 21vh;
  }
  .jp-case {
    position: relative;
    z-index: 30;
    top: auto;
    min-height: 0;
    margin-top: 0;
    padding-bottom: 8px;
    background: #FFF1DC;
    overflow-x: clip;
    overflow-y: visible;
  }
  .jp-faq__in { padding-top: 4px; }
  .jp-overlap {
    overflow: visible;
    max-width: 100%;
  }
  .jp-case__cardzone {
    margin-top: 24px;
    min-height: 400px;
    position: relative;
  }
  .jp-case__cardzone .jp-case__map--frag {
    inset: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
  }
  .jp-case__cardzone .jp-case__map--frag img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center center;
  }
  .jp-case__card {
    position: absolute;
    z-index: 1;
    top: 108px;
    left: 0;
    right: 0;
    width: 100%;
  }
  .jp-case__wrap,
  .jp-case__card,
  .jp-case__map--frag,
  .jp-case__map--frag img,
  .jp-case__map--full,
  .jp-case__map--full img { max-width: 100%; }
}

.jp-press {
  background: #FFF1DC;
  color: #142033;
  overflow-x: clip;
  padding: 72px 0 84px;
}
.jp-press__in {
  width: min(1120px, calc(100% - 96px));
  margin: 0 auto;
  padding: 32px 28px 36px;
  box-sizing: border-box;
  border: 1px solid #c6a15b;
  border-radius: 18px;
}
.jp-press__eye {
  margin: 0 0 14px;
  color: #142033;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1.2;
  text-transform: uppercase;
}
.jp-press__eye--trust { margin-top: 64px; }
.jp-press__h {
  margin: 0;
  font-family: "Instrument Serif", Georgia, serif;
  font-weight: 400;
  font-size: 46px;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: #142033;
}
.jp-press__bar {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 14px;
  min-width: 0;
}
.jp-press__meta {
  margin: 0;
  flex: 0 1 auto;
  color: #8a8376;
  font-size: 15px;
  line-height: 1.3;
}
.jp-press__rule {
  flex: 1 1 40px;
  height: 1px;
  min-width: 24px;
  background: #c6a15b;
}
.jp-press__all {
  flex: 0 0 auto;
  color: #142033;
  font-size: 15px;
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap;
}
.jp-press__all:hover { color: #83652F; }
.jp-press__all:focus-visible {
  outline: 1px solid #c6a15b;
  outline-offset: 3px;
}
.jp-press__expert {
  display: flex;
  align-items: center;
  gap: 22px;
  margin: 28px 0 0;
}
.jp-press__expert img {
  display: block;
  width: 112px;
  height: 112px;
  flex: 0 0 auto;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 22%;
  border: 1px solid rgba(198, 161, 91, 0.55);
  background: #e7e1d6;
}
.jp-press__expert-name {
  margin: 0 0 8px;
  font-family: "Instrument Serif", Georgia, serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #142033;
}
.jp-press__expert-roles {
  margin: 0;
  padding: 0;
  list-style: none;
}
.jp-press__expert-roles li {
  margin: 0;
  color: #5c564c;
  font-size: 15px;
  line-height: 1.45;
}
.jp-press__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
.jp-press__card {
  min-width: 0;
  background: #fbf8f2;
  border: 1px solid rgba(186, 164, 128, 0.55);
  border-radius: 16px;
  overflow: hidden;
}
.jp-press__card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}
.jp-press__cap {
  margin: 0;
  padding: 14px 12px 16px;
  text-align: center;
  color: #142033;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.3;
}
.jp-press__ticker {
  overflow: hidden;
  margin-top: 22px;
  padding-block: 2px;
}
.jp-press__track {
  display: flex;
  width: max-content;
  animation: jp-press-ticker 45s linear infinite;
}
.jp-press__ticker:hover .jp-press__track,
.jp-press__ticker:focus-within .jp-press__track {
  animation-play-state: paused;
}
.jp-press__pills {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  gap: 12px;
  margin: 0;
  padding: 0 12px 0 0;
  list-style: none;
}
.jp-press__pills li {
  box-sizing: border-box;
  flex: 0 0 auto;
  padding: 10px 18px;
  border: 1px solid rgba(198, 161, 91, 0.7);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  backdrop-filter: blur(10px) saturate(120%);
  color: #142033;
  font-size: 15px;
  font-weight: 450;
  line-height: 1.2;
  white-space: nowrap;
}
@keyframes jp-press-ticker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .jp-press__ticker { overflow: visible; }
  .jp-press__track {
    display: block;
    width: auto;
    animation: none;
  }
  .jp-press__pills {
    flex-wrap: wrap;
    gap: 10px 12px;
    padding-right: 0;
  }
  .jp-press__pills[aria-hidden="true"] { display: none; }
}
@media (max-width: 1023px) {
  .jp-press__in { width: calc(100% - 40px); }
}
/* 1024+: same column as .wrap (1280, gutter 32). Border on the press card is 1px. */
@media (min-width: 1024px) {
  .jp-faq__in {
    width: min(1280px, 100%);
    padding-left: 32px;
    padding-right: 32px;
  }
  .jp-press__in {
    width: min(1280px, 100%);
    padding-left: 31px;
    padding-right: 31px;
  }
}
@media (max-width: 860px) {
  .jp-press__h { font-size: 34px; }
  .jp-press__cards { grid-template-columns: 1fr; gap: 14px; }
  .jp-press__eye--trust { margin-top: 48px; }
}
@media (max-width: 640px) {
  .jp-press__expert { gap: 14px; }
  .jp-press__expert img { width: 88px; height: 88px; }
  .jp-press__expert-name { font-size: 22px; }
  .jp-press__bar { flex-wrap: wrap; row-gap: 10px; }
  .jp-press__rule { display: none; }
  .jp-press__all { margin-left: auto; }
}
@media (max-width: 420px) {
  .jp-press { padding: 48px 0 56px; }
  .jp-press__in { width: calc(100% - 32px); padding: 22px 16px 24px; }
  .jp-press__h { font-size: 30px; }
  .jp-press__meta { font-size: 14px; }
}
