

:root {
  --bg: #F5F8FC;
  --surface: #FFFFFF;
  --text: #0E1B2A;
  --muted: #57687A;
  --accent: #1F5FA8;
  --accent2: #9DBBD8;

  --inset: #EDF2F8;
  --hairline: rgba(14,27,42,.14);
  --hairline-soft: rgba(14,27,42,.08);

  --site-bg: #F5F8FC;
  --site-surface: #FFFFFF;
  --site-text: #0E1B2A;
  --site-muted: #57687A;
  --site-accent: #1F5FA8;

  --shell: 1440px;
  --pad: clamp(20px, 5vw, 24px);
  --band: 96px;

  --ff-head: "Bitter", Georgia, serif;
  --ff-body: "Nunito Sans", system-ui, sans-serif}

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

html { -webkit-text-size-adjust: 100%}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--ff-body);
  font-size: clamp(16px, 1.05vw, 17px);
  line-height: 1.65;
  overflow-x: hidden}

img { max-width: 100%}

h1, h2, h3, h4 {
  font-family: var(--ff-head);
  font-weight: 700;
  line-height: 1.15;
  color: var(--text);
  margin: 0 0 .5em}

a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 3px}
a:hover { color: #17497f}

p { margin: 0 0 1em; max-width: 72ch}

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

.pml-shell {
  width: min(100% - (var(--pad) * 2), var(--shell));
  margin-inline: auto}

.pml-band {
  padding-block: var(--band)}
.pml-band--inset { background: var(--inset)}

.pml-bleed {
  width: 100vw;
  margin-left: 50%;
  transform: translateX(-50%)}

.pml-band--deep {
  background: var(--accent);
  color: #EAF1F9}
.pml-band--deep h1,
.pml-band--deep h2,
.pml-band--deep h3 { color: #fff}

.pml-tik {
  --tik: rgba(14,27,42,.28);
  height: 12px;
  margin: 0 0 24px;
  background-image: repeating-linear-gradient(90deg,
    var(--tik) 0, var(--tik) 1px, transparent 1px, transparent 9px);
  -webkit-mask-image: linear-gradient(90deg, #000 0, #000 84px, transparent 84px);
          mask-image: linear-gradient(90deg, #000 0, #000 84px, transparent 84px)}
.pml-band--deep .pml-tik { --tik: rgba(255,255,255,.55)}

.pml-kicker {
  font-family: var(--ff-body);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .74rem;
  color: var(--muted);
  margin: 0 0 14px}
.pml-band--deep .pml-kicker { color: var(--accent2)}

.pml-lede { font-size: 1.12rem; color: var(--muted)}

.btn-gb9 {
  display: inline-flex;
  align-items: center;
  gap: .55em;
  font-family: var(--ff-body);
  font-weight: 700;
  font-size: .95rem;
  line-height: 1;
  padding: 14px 22px;
  border: 1px solid transparent;
  border-radius: 0;
  cursor: pointer;
  text-decoration: none;
  transition: background .18s ease, color .18s ease, border-color .18s ease}
.btn-gb9--primary {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent)}
.btn-gb9--primary:hover { background: #17497f; border-color: #17497f; color:#fff}
.btn-gb9--ghost {
  background: transparent;
  color: var(--text);
  border-color: var(--text)}
.btn-gb9--ghost:hover { background: var(--text); color: var(--bg)}
.pml-band--deep .btn-gb9--ghost { color:#fff; border-color: rgba(255,255,255,.7)}
.pml-band--deep .btn-gb9--ghost:hover { background:#fff; color: var(--accent)}
.btn-gb9:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px}
.btn-gb9:disabled { opacity: .5; cursor: not-allowed}

.control-632 {
  width: 100%;
  min-width: 0;
  font-family: var(--ff-body);
  font-size: 1rem;
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: 0;
  padding: 13px 15px;
  transition: border-color .18s ease, box-shadow .18s ease}
.control-632::placeholder { color: #90a0b0}
.control-632:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: inset 0 -2px 0 var(--accent)}
textarea.control-632 { min-height: 140px; resize: vertical}

.pml-frm-field { margin-bottom: 18px}
.pml-frm-field label {
  display: block;
  font-weight: 700;
  font-size: .86rem;
  margin-bottom: 7px}
.pml-frm-field .pml-req { color: var(--accent)}

.card-b9s {
  background: var(--surface);
  border: 1px solid var(--hairline);
  padding: 26px}
.label-pill-ij3 {
  display: inline-flex;
  align-items: center;
  gap: .4em;
  font-family: var(--ff-body);
  font-weight: 700;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--accent);
  background: var(--inset);
  border: 1px solid var(--hairline-soft);
  padding: 5px 10px;
  border-radius: 0}

.pml-hdr-shell {
  position: sticky;
  top: 0;
  z-index: 60;
  padding: 16px var(--pad) 0;
  background: var(--bg)}
.pml-hdr-box {
  width: min(100% , var(--shell));
  margin-inline: auto;
  height: 72px;
  border: 1px solid var(--text);
  background: var(--bg);
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  transition: background .2s ease, border-color .2s ease}
#nav-shell-ynl.is-scrolled .pml-hdr-box {
  background: var(--surface)}

.pml-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  padding: 0 20px;
  text-decoration: none;
  color: var(--text)}
.pml-brand svg { width: 26px; height: 26px; display: block}
.pml-brand__word {
  font-family: var(--ff-head);
  font-weight: 700;
  font-size: 1.22rem;
  letter-spacing: .01em;
  color: var(--text);
  line-height: 1}

.pml-nav_utama {
  display: flex;
  align-items: center;
  gap: 26px;
  margin: 0;
  padding: 0 22px;
  list-style: none;
  flex-wrap: wrap}
.pml-nav_utama a {
  font-weight: 600;
  font-size: .95rem;
  color: var(--text);
  text-decoration: none;
  letter-spacing: .01em}
.pml-nav_utama a:hover,
.pml-nav_utama a[aria-current="page"] { color: var(--accent)}

.pml-hdr-cta {
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  border-left: 1px solid var(--text);
  padding: 0 22px;
  background: var(--accent);
  color: #fff;
  font-family: var(--ff-body);
  font-weight: 700;
  font-size: .92rem;
  text-decoration: none;
  white-space: nowrap}
.pml-hdr-cta:hover { background: #17497f; color:#fff}

.pml-burger {
  display: none;
  align-items: center;
  gap: 8px;
  border: none;
  border-left: 1px solid var(--text);
  background: transparent;
  padding: 0 18px;
  font-size: 1.3rem;
  color: var(--text);
  cursor: pointer}

#backdrop-gkf {
  position: fixed;
  inset: 0;
  background: rgba(14,27,42,.45);
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease;
  z-index: 70}
#backdrop-gkf.is-open { opacity: 1; visibility: visible}

#nav-panel-9yj {
  position: fixed;
  top: 0; right: 0;
  height: 100%;
  width: min(84vw, 340px);
  background: var(--surface);
  border-left: 1px solid var(--text);
  transform: translateX(100%);
  transition: transform .28s ease;
  z-index: 80;
  padding: 24px;
  display: flex;
  flex-direction: column}
#nav-panel-9yj.is-open { transform: translateX(0)}
.pml-drawer-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 16px;
  margin-bottom: 8px}
.pml-drawer-top strong { font-family: var(--ff-head)}
#nav-close-bc0 {
  border: 1px solid var(--text);
  background: transparent;
  width: 40px; height: 40px;
  font-size: 1.2rem;
  cursor: pointer;
  color: var(--text)}
.pml-drawer-nav { list-style: none; margin: 0; padding: 18px 0 0}
.pml-drawer-nav li { border-bottom: 1px solid var(--hairline-soft)}
.pml-drawer-nav a {
  display: block;
  padding: 14px 4px;
  font-family: var(--ff-head);
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--text);
  text-decoration: none}
.pml-drawer-nav a:hover { color: var(--accent)}

@media (max-width: 900px) {
  .pml-nav_utama, .pml-hdr-cta { display: none}
  .pml-burger { display: inline-flex}
}

.pml-hdr_hero {
  position: relative;
  min-height: clamp(520px, 78vh, 780px);
  display: flex;
  align-items: flex-end;
  overflow: hidden}
.pml-hdr_hero__img {
  position: absolute; inset: 0}
.pml-hdr_hero__img img {
  display: block; width: 100%; height: 100%; object-fit: cover}
.pml-hdr_hero::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(14,27,42,.15) 0%, rgba(14,27,42,.72) 100%)}
.pml-hdr_hero__inner {
  position: relative;
  z-index: 2;
  width: min(100% - (var(--pad)*2), var(--shell));
  margin-inline: auto;
  padding-block: clamp(40px, 6vw, 72px);
  color: #fff}
.pml-hdr_hero__mark {
  font-family: var(--ff-body);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: .8rem;
  color: var(--accent2);
  margin-bottom: 16px}
.pml-hdr_hero h1 {
  color: #fff;
  font-size: clamp(2.3rem, 5.4vw, 4rem)}
.pml-hdr_hero__lede { color: rgba(255,255,255,.9); max-width: 56ch; font-size: 1.1rem}
.pml-hdr_hero .pml-tik { --tik: rgba(255,255,255,.6)}

.pml-page_hero--band {
  background: var(--inset);
  padding-block: clamp(64px, 8vw, 104px)}
.pml-page_hero--band h1 { font-size: clamp(2rem, 4.4vw, 3.1rem)}

.pml-page_hero--compact {
  text-align: center;
  padding-block: clamp(56px, 7vw, 88px)}
.pml-page_hero--compact .pml-tik { margin-inline: auto}
.pml-page_hero--compact h1 { font-size: clamp(2rem, 4.2vw, 3rem)}
.pml-page_hero--compact p { margin-inline: auto}

.pml-page_hero--side {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
  padding-block: clamp(56px, 7vw, 92px)}
.pml-page_hero--side .pml-hdr_side-media {
  aspect-ratio: 4/5;
  overflow: hidden;
  border: 1px solid var(--hairline)}
.pml-page_hero--side .pml-hdr_side-media img {
  display: block; width: 100%; height: 100%; object-fit: cover}
@media (max-width: 760px) {
  .pml-page_hero--side { grid-template-columns: 1fr}
}

.pml-blog--notebook {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1px;
  background: var(--hairline);
  border: 1px solid var(--hairline)}
.pml-blog-entry {
  background: var(--surface);
  padding: 30px;
  text-decoration: none;
  color: var(--text);
  display: flex;
  flex-direction: column;
  min-width: 0;
  transition: background .18s ease}
.pml-blog-entry:hover { background: var(--inset)}
.pml-blog-entry__pg {
  font-family: var(--ff-head);
  font-size: .8rem;
  color: var(--muted);
  letter-spacing: .12em;
  border-bottom: 1px solid var(--hairline);
  padding-bottom: 10px;
  margin-bottom: 18px}
.pml-blog-entry h3 { font-size: 1.28rem}
.pml-blog-entry p { color: var(--muted); font-size: .96rem}
.pml-blog-entry__more {
  margin-top: auto;
  font-weight: 700;
  color: var(--accent);
  font-size: .9rem}

.pml-blog--rows { border-top: 1px solid var(--hairline)}
.pml-blog-row {
  display: grid;
  grid-template-columns: 88px 1fr auto;
  gap: 22px;
  align-items: center;
  padding: 26px 4px;
  border-bottom: 1px solid var(--hairline);
  text-decoration: none;
  color: var(--text)}
.pml-blog-row:hover { background: var(--inset)}
.pml-blog-row__date {
  font-family: var(--ff-head);
  font-size: .84rem;
  color: var(--muted)}
.pml-blog-row h3 { font-size: 1.18rem; margin: 0; min-width: 0}
.pml-blog-row p { margin: 4px 0 0; color: var(--muted); font-size: .92rem}
.pml-blog-row__arw { color: var(--accent); font-size: 1.1rem}
@media (max-width: 640px) {
  .pml-blog-row { grid-template-columns: 1fr; gap: 6px}
  .pml-blog-row__arw { display: none}
}

.pml-loc--triptych {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px}
.pml-loc-shot figure { margin: 0}
.pml-loc-shot__frame {
  aspect-ratio: 3/4;
  overflow: hidden;
  border: 1px solid var(--hairline)}
.pml-loc-shot__frame img {
  display: block; width: 100%; height: 100%; object-fit: cover}
.pml-loc-shot figcaption {
  margin-top: 12px;
  font-size: .9rem;
  color: var(--muted);
  border-left: 2px solid var(--accent2);
  padding-left: 12px}

.pml-loc--split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 5vw, 60px);
  align-items: center}
.pml-loc--split .pml-loc-media {
  aspect-ratio: 4/3;
  overflow: hidden;
  border: 1px solid var(--hairline)}
.pml-loc--split .pml-loc-media img {
  display: block; width: 100%; height: 100%; object-fit: cover}
.pml-loc-hours { list-style: none; margin: 18px 0 0; padding: 0}
.pml-loc-hours li {
  display: flex; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
  padding: 10px 0;
  border-bottom: 1px solid var(--hairline-soft)}
.pml-loc-hours li span:last-child { color: var(--muted)}
@media (max-width: 760px) { .pml-loc--split { grid-template-columns: 1fr} }

.pml-quote--portrait {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: clamp(28px, 5vw, 56px);
  align-items: center}
.pml-quote-portrait {
  aspect-ratio: 3/4;
  overflow: hidden;
  border: 1px solid var(--hairline)}
.pml-quote-portrait img { display: block; width: 100%; height: 100%; object-fit: cover}
.pml-quote--portrait blockquote {
  margin: 0;
  font-family: var(--ff-head);
  font-weight: 600;
  font-size: clamp(1.4rem, 2.6vw, 2rem);
  line-height: 1.32}
.pml-quote-cite {
  display: block;
  margin-top: 20px;
  font-family: var(--ff-body);
  font-weight: 700;
  font-size: .95rem;
  color: var(--accent)}
.pml-quote-cite span { display: block; color: var(--muted); font-weight: 400}
@media (max-width: 700px) { .pml-quote--portrait { grid-template-columns: 1fr} }

.pml-quote--rule { max-width: 60ch}
.pml-quote--rule blockquote {
  margin: 0;
  font-family: var(--ff-head);
  font-weight: 600;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  line-height: 1.34}
.pml-quote--rule .pml-quote-cite {
  border-top: 1px solid var(--text);
  padding-top: 14px;
  margin-top: 26px}

.pml-quote--plain { text-align: center}
.pml-quote--plain blockquote {
  margin: 0 auto;
  font-family: var(--ff-head);
  font-weight: 700;
  font-size: clamp(2rem, 5.5vw, 3.8rem);
  line-height: 1.12}
.pml-quote--plain .pml-quote-cite { margin-top: 28px}

.pml-case--acts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1px;
  background: var(--hairline);
  border: 1px solid var(--hairline)}
.pml-case-act {
  background: var(--surface);
  padding: 34px 28px}
.pml-case-act__tag {
  font-family: var(--ff-head);
  font-size: .8rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 16px}
.pml-case-act__no {
  font-family: var(--ff-head);
  font-size: 2.4rem;
  color: var(--accent2);
  line-height: 1;
  margin-bottom: 12px}
.pml-case-act h3 { font-size: 1.25rem}
.pml-case-act p { color: var(--muted)}

.pml-res--cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 22px}
.pml-res-card { display: flex; flex-direction: column; gap: 14px}
.pml-res-card__head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; flex-wrap: wrap}
.pml-res-card__icon {
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border: 1px solid var(--hairline);
  color: var(--accent);
  font-size: 1.2rem}
.pml-res-card h3 { font-size: 1.1rem; margin: 0}
.pml-res-card p { color: var(--muted); font-size: .92rem; margin: 0}
.pml-res-card__foot {
  margin-top: auto;
  display: flex; justify-content: space-between; align-items: center;
  gap: 12px; flex-wrap: wrap;
  font-size: .82rem; color: var(--muted);
  border-top: 1px solid var(--hairline-soft);
  padding-top: 14px}
.pml-res-card__dl { font-weight: 700; color: var(--accent); text-decoration: none}

.pml-res--list { border-top: 1px solid var(--hairline)}
.pml-res-item {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 20px;
  align-items: center;
  padding: 22px 4px;
  border-bottom: 1px solid var(--hairline);
  text-decoration: none;
  color: var(--text)}
.pml-res-item:hover { background: var(--inset)}
.pml-res-item__ico { color: var(--accent); font-size: 1.3rem}
.pml-res-item h3 { font-size: 1.08rem; margin: 0; min-width: 0}
.pml-res-item__meta { color: var(--muted); font-size: .84rem; white-space: nowrap}
.pml-res-item__go { color: var(--accent); font-weight: 700; font-size: .9rem}
@media (max-width: 620px) {
  .pml-res-item { grid-template-columns: auto 1fr}
  .pml-res-item__meta, .pml-res-item__go { grid-column: 2}
}

.pml-proc--row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 26px}
.pml-proc-step { min-width: 0}
.pml-proc-step__no {
  font-family: var(--ff-head);
  font-size: 2.6rem;
  color: var(--accent);
  line-height: 1}
.pml-proc-step__no::after {
  content: "";
  display: block;
  width: 40px; height: 8px; margin-top: 14px;
  background-image: repeating-linear-gradient(90deg,
    var(--accent2) 0, var(--accent2) 1px, transparent 1px, transparent 6px)}
.pml-proc-step h3 { font-size: 1.14rem; margin: 18px 0 8px}
.pml-proc-step p { color: var(--muted); font-size: .95rem}

.pml-proc--chips {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 24px}
.pml-proc--chips .pml-proc-step {
  border-left: 2px solid var(--accent2);
  padding-left: 20px}
.pml-proc-chips-row {
  display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px}

.pml-proc--timeline {
  position: relative;
  max-width: 760px;
  margin-inline: auto;
  padding-left: 34px}
.pml-proc--timeline::before {
  content: "";
  position: absolute; left: 6px; top: 6px; bottom: 6px;
  width: 1px; background: var(--hairline)}
.pml-proc-node { position: relative; padding-bottom: 40px}
.pml-proc-node:last-child { padding-bottom: 0}
.pml-proc-node::before {
  content: "";
  position: absolute; left: -34px; top: 6px;
  width: 13px; height: 13px;
  border: 1px solid var(--accent);
  background: var(--bg)}
.pml-proc-node__step {
  font-family: var(--ff-head);
  font-size: .78rem; letter-spacing: .16em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 6px}
.pml-proc-node h3 { font-size: 1.2rem}
.pml-proc-node p { color: var(--muted)}

.pml-news--split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 5vw, 64px);
  align-items: center}
.pml-news-promise h2 { font-size: clamp(1.7rem, 3.4vw, 2.5rem)}
.pml-news-promise p { color: var(--muted)}
.pml-news-form { display: flex; flex-direction: column; gap: 14px}
@media (max-width: 760px) { .pml-news--split { grid-template-columns: 1fr} }

.pml-cta--split {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: clamp(28px, 5vw, 56px);
  align-items: center}
.pml-cta--split h2 { font-size: clamp(1.7rem, 3.4vw, 2.6rem)}
.pml-cta-contacts { list-style: none; margin: 0; padding: 0}
.pml-cta-contacts li {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,.22)}
.pml-cta-contacts a { color: #fff; text-decoration: none; word-break: break-word}
.pml-cta-contacts i { color: var(--accent2); width: 20px; text-align: center}
@media (max-width: 760px) { .pml-cta--split { grid-template-columns: 1fr} }

.pml-cta--card {
  max-width: 720px;
  margin-inline: auto;
  text-align: center;
  padding: clamp(40px, 6vw, 64px)}
.pml-cta--card h2 { font-size: clamp(1.6rem, 3vw, 2.3rem)}
.pml-cta--card p { margin-inline: auto; color: var(--muted)}
.pml-cta--card .pml-cta-actions { justify-content: center}

.pml-cta--band { text-align: center}
.pml-cta--band h2 { font-size: clamp(1.9rem, 4vw, 3rem); margin-inline: auto}
.pml-cta--band p { margin-inline: auto; color: rgba(234,241,249,.85); max-width: 56ch}
.pml-cta--band .pml-tik { --tik: rgba(255,255,255,.55); margin-inline: auto}

.pml-cta-actions {
  display: flex; flex-wrap: wrap; gap: 14px; margin-top: 26px}

.pml-frm-kontak {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(30px, 5vw, 64px);
  align-items: start}
.pml-frm-kontak form { display: block}
.pml-frm-row {
  display: flex; flex-wrap: wrap; gap: 18px}
.pml-frm-row .pml-frm-field { flex: 1 1 200px; margin-bottom: 0}
.pml-frm-row + .pml-frm-field,
.pml-frm-row + .pml-frm-row { margin-top: 18px}
.pml-frm-info { }
.pml-frm-info ul { list-style: none; margin: 20px 0 0; padding: 0}
.pml-frm-info li {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 16px 0; border-bottom: 1px solid var(--hairline)}
.pml-frm-info i { color: var(--accent); font-size: 1.1rem; margin-top: 3px; width: 22px; text-align: center}
.pml-frm-info a { color: var(--text); text-decoration: none; word-break: break-word}
.pml-frm-info a:hover { color: var(--accent)}
@media (max-width: 800px) { .pml-frm-kontak { grid-template-columns: 1fr} }

[data-collapse-item] {
  border-bottom: 1px solid var(--hairline)}
[data-fold-head] {
  width: 100%;
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
  background: transparent;
  border: none;
  padding: 22px 4px;
  font-family: var(--ff-head);
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--text);
  text-align: left;
  cursor: pointer}
[data-fold-head]::after {
  content: "+";
  font-family: var(--ff-body);
  font-size: 1.5rem;
  color: var(--accent);
  transition: transform .25s ease}
.is-open [data-fold-head]::after { content: "–"}
[data-collapse-item] .pml-fold-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease}
.is-open .pml-fold-body { max-height: 600px}
.pml-fold-body__inner { padding: 0 4px 24px; color: var(--muted)}

.slider-081 { padding-bottom: 44px}
.slider-081 .swiper-slide { height: auto}
.swiper-pagination-bullet {
  background: var(--accent2);
  opacity: 1;
  border-radius: 0;
  width: 12px; height: 4px}
.swiper-pagination-bullet-active { background: var(--accent)}
.swiper-button-prev, .swiper-button-next { color: var(--accent)}
.swiper-button-prev::after, .swiper-button-next::after { font-size: 1.3rem}

.site-modal, .modal-fpm {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: none;
  align-items: center;
  justify-content: center;
  padding: var(--pad);
  background: rgba(14,27,42,.5)}
.site-modal.is-open, .modal-fpm.is-open { display: flex}
.pml-modal-dialog {
  background: var(--surface);
  border: 1px solid var(--text);
  max-width: 480px;
  width: 100%;
  padding: 34px;
  position: relative}
.pml-modal-dialog h3 { font-size: 1.5rem}
.pml-modal-dialog p { color: var(--muted)}
.pml-modal-close {
  position: absolute; top: 12px; right: 12px;
  width: 38px; height: 38px;
  border: 1px solid var(--hairline);
  background: transparent;
  font-size: 1.2rem; cursor: pointer; color: var(--text)}
.pml-modal-form { display: flex; flex-direction: column; gap: 14px; margin-top: 8px}

.pml-ftr {
  margin-top: 0}
.pml-ftr__halves {
  display: grid;
  grid-template-columns: 1fr 1fr}
.pml-ftr__left {
  background: var(--surface);
  padding: clamp(44px, 6vw, 72px) var(--pad)}
.pml-ftr__right {
  background: var(--accent);
  color: #EAF1F9;
  padding: clamp(44px, 6vw, 72px) var(--pad);
  display: flex;
  flex-direction: column;
  justify-content: center}
.pml-ftr-inner-l {
  max-width: 620px; margin-left: auto; width: 100%;
  padding-right: clamp(0px, 4vw, 40px)}
.pml-ftr-inner-r {
  max-width: 620px; margin-right: auto; width: 100%;
  padding-left: clamp(0px, 4vw, 40px)}
.pml-ftr__brand {
  display: inline-flex; align-items: center; gap: 10px;
  margin-bottom: 20px; text-decoration: none; color: var(--text)}
.pml-ftr__brand svg { width: 24px; height: 24px}
.pml-ftr__brand span {
  font-family: var(--ff-head); font-weight: 700; font-size: 1.2rem; color: var(--text)}
.pml-ftr-legal address {
  font-style: normal; color: var(--muted); line-height: 1.7; margin-bottom: 18px}
.pml-ftr-contacts { list-style: none; margin: 0 0 20px; padding: 0}
.pml-ftr-contacts li { padding: 4px 0}
.pml-ftr-contacts a { color: var(--text); text-decoration: none}
.pml-ftr-contacts a:hover { color: var(--accent)}
.pml-ftr-nav {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 8px 22px}
.pml-ftr-nav a { color: var(--muted); text-decoration: none; font-size: .92rem}
.pml-ftr-nav a:hover { color: var(--accent)}

.pml-ftr__right h3 { color: #fff; font-size: clamp(1.5rem, 2.6vw, 2rem)}
.pml-ftr__right .pml-tik { --tik: rgba(255,255,255,.5)}
.pml-ftr__right-link {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: 16px; color: #fff; font-weight: 700; text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.5); padding-bottom: 4px; width: max-content}
.pml-ftr__right-link:hover { color:#fff; border-color:#fff}

.pml-ftr__strip {
  min-height: 40px;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 10px 24px;
  padding: 10px var(--pad);
  background: var(--text);
  color: rgba(255,255,255,.75);
  font-size: .82rem}
.pml-ftr__strip a { color: rgba(255,255,255,.85); text-decoration: none}
.pml-ftr__strip a:hover { color: #fff}
.pml-ftr__strip-links { display: flex; flex-wrap: wrap; gap: 8px 18px}
@media (max-width: 760px) {
  .pml-ftr__halves { grid-template-columns: 1fr}
  .pml-ftr-inner-l, .pml-ftr-inner-r { max-width: none; padding: 0; margin: 0}
}

#side-dock-fsp {
  position: fixed;
  right: 18px; bottom: 18px;
  z-index: 90;
  display: flex; flex-direction: column; gap: 10px}
#side-dock-fsp a, #side-dock-fsp button {
  width: 50px; height: 50px;
  display: grid; place-items: center;
  border: 1px solid var(--text);
  background: var(--surface);
  color: var(--accent);
  font-size: 1.15rem;
  cursor: pointer;
  text-decoration: none;
  transition: background .18s ease, color .18s ease}
#side-dock-fsp a:hover, #side-dock-fsp button:hover {
  background: var(--accent); color: #fff; border-color: var(--accent)}
#to-top-lcb { opacity: 0; visibility: hidden; transition: opacity .2s ease}
#to-top-lcb.is-show { opacity: 1; visibility: visible}

.pml-legal { padding-block: clamp(48px, 7vw, 88px)}
.pml-legal__body { max-width: 72ch}
.pml-legal__body h2 { font-size: 1.4rem; margin-top: 2em}
.pml-legal__body h3 { font-size: 1.1rem; margin-top: 1.4em}
.pml-legal__body p, .pml-legal__body li { color: var(--muted)}
.pml-legal__body ul { padding-left: 1.2em}

.pml-thanks { text-align: center; padding-block: clamp(64px, 10vw, 140px)}

[data-aos] { }

.pml-sec-head { max-width: 60ch; margin-bottom: 40px}
.pml-sec-head--center { margin-inline: auto; text-align: center}
.pml-sec-head--center .pml-tik { margin-inline: auto}
.pml-sec-head h2 { font-size: clamp(1.7rem, 3.4vw, 2.6rem)}

@media (max-width: 500px) {
  #side-dock-fsp a, #side-dock-fsp button { width: 46px; height: 46px}
}

.consent-3js-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;transition:.25s;z-index:9998}
.consent-3js-overlay.is-open{opacity:1;visibility:visible}
.consent-3js-panel{position:fixed;background:var(--site-surface,#fff);color:var(--site-text,#1a1a1a);
  box-shadow:0 20px 60px rgba(0,0,0,.28);padding:24px;opacity:0;visibility:hidden;transition:.25s;z-index:9999}
.consent-3js-panel.is-open{opacity:1;visibility:visible}
.consent-3js-panel h3{margin:0 0 8px;font-size:1.2rem}
.consent-3js-panel>p{margin:0 0 16px;color:var(--site-muted,#666);font-size:.95rem}
.consent-3js-cat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(128,128,128,.2)}
.consent-3js-cat h4{margin:0 0 2px;font-size:.98rem}
.consent-3js-cat p{margin:0;color:var(--site-muted,#777);font-size:.85rem}
.consent-3js-switch{position:relative;flex:0 0 auto;width:44px;height:24px}
.consent-3js-switch input{opacity:0;width:0;height:0;position:absolute}
.consent-3js-switch span{position:absolute;inset:0;background:#c9c9c9;border-radius:999px;transition:.2s;cursor:pointer}
.consent-3js-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.consent-3js-switch input:checked+span{background:var(--site-accent,#2b7)}
.consent-3js-switch input:checked+span::before{transform:translateX(20px)}
.consent-3js-switch input:disabled+span{opacity:.6;cursor:not-allowed}
.consent-3js-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.consent-3js-actions button{flex:1;min-width:140px;padding:11px 16px;border:none;border-radius:10px;font:inherit;font-weight:600;cursor:pointer}
.consent-3js-actions #consent-3js-all{background:var(--site-accent,#2b7);color:#fff}
.consent-3js-actions #consent-3js-save{background:transparent;color:var(--site-text,#222);border:1px solid rgba(128,128,128,.4)}
.consent-3js-links{display:flex;gap:16px;margin-top:14px;font-size:.85rem}
.consent-3js-links a{color:var(--site-accent,#2b7);text-decoration:underline}
.consent-3js-trigger{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--site-surface,#fff);color:var(--site-accent,#2b7);box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:9997;font-size:1.1rem}

.consent-3js-overlay{background:transparent;pointer-events:none}
.consent-3js-panel{left:0;right:0;bottom:0;width:100%;border-radius:16px 16px 0 0;transform:translateY(100%)}
.consent-3js-panel>*{max-width:900px;margin-left:auto;margin-right:auto}
.consent-3js-panel.is-open{transform:translateY(0)}
@media(max-width:520px){.consent-3js-actions button{min-width:100%}}
#side-dock-fsp{left:auto !important;right:18px !important}
@media(max-width:520px){#side-dock-fsp{right:12px !important}}
html[data-cookie-open] #side-dock-fsp{bottom:min(46vh,260px) !important}

.thanks-pop-fyz{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(8,10,14,.55);backdrop-filter:blur(2px)}
.thanks-pop-fyz.is-open{display:flex}
.thanks-pop-fyz__box{width:min(420px,100%);background:var(--site-surface,#fff);color:var(--site-text,#15181d);
  border-radius:16px;padding:32px 28px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28);
  animation:thanks-pop-fyz-in .22s ease-out}
@keyframes thanks-pop-fyz-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.thanks-pop-fyz__mark{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:26px;line-height:1;
  background:var(--site-accent,#2e7d5b);color:#fff}
.thanks-pop-fyz__title{margin:0 0 10px;font-size:1.35rem;line-height:1.25}
.thanks-pop-fyz__text{margin:0 0 24px;line-height:1.6;color:var(--site-muted,#5b6472)}
.thanks-pop-fyz__close{display:inline-block;cursor:pointer;border:0;border-radius:999px;
  padding:12px 30px;font:inherit;font-weight:600;background:var(--site-accent,#2e7d5b);color:#fff}
.thanks-pop-fyz__close:hover{filter:brightness(1.08)}
.thanks-pop-fyz__close:focus-visible{outline:2px solid var(--site-text,#15181d);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.thanks-pop-fyz__box{animation:none}}

*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%}
img,svg,video,iframe,canvas{max-width:100%}
table{max-width:100%}

.simpleParallax{display:block;width:100%;height:100%}
.simpleParallax img{width:100%;height:100%;object-fit:cover}

blockquote, figure { margin-left: 0; margin-right: 0}

figure > blockquote, figure > figcaption { margin-left: 0; margin-right: 0}

html.no-aos [data-aos]{opacity:1 !important;transform:none !important}

@media(prefers-reduced-motion:reduce){
  [data-aos]{opacity:1 !important;transform:none !important;transition:none !important}
}

.legal-doc{max-width:72ch;margin:0 auto;padding:64px 20px;line-height:1.7}
.legal-doc h1{margin:0 0 .6em}
.legal-doc h2{margin:1.8em 0 .5em}
.legal-doc h3{margin:1.4em 0 .4em}
.legal-doc p,.legal-doc li{margin:0 0 .8em}
.legal-doc ul,.legal-doc ol{padding-left:1.4em;margin:0 0 1em}
.legal-doc table{width:100%;border-collapse:collapse;margin:0 0 1.2em}
.legal-doc th,.legal-doc td{border:1px solid currentColor;padding:.5em;text-align:left}

@media (max-width: 720px) {
  body { overflow-x: hidden}
  h1, h2, h3, p, li, td { overflow-wrap: break-word}
  
  input, select, textarea { max-width: 100%; min-width: 0}
  
  img, svg, video, iframe, table { max-width: 100%}
}

#menu-open-roe{appearance:none;-webkit-appearance:none;background:none;border:0;padding:.4em;color:inherit;font:inherit;cursor:pointer;line-height:1}

@media (max-width: 720px) {
  
.btn-gb9,
.label-pill-ij3,
.pml-hdr-box,
.pml-brand,
.pml-hdr-cta,
#nav-panel-9yj,
.pml-drawer-top,
.pml-hdr_hero,
.pml-blog-entry,
.pml-res-card,
.pml-news-form,
.pml-frm-info li,
[data-fold-head],
.site-modal.is-open, .modal-fpm.is-open,
.pml-modal-form,
.pml-ftr__right,
.pml-ftr__brand,
.pml-ftr__right-link,
#side-dock-fsp,
.consent-3js-cat,
.consent-3js-links,
.thanks-pop-fyz.is-open,
.thanks-pop-fyz__mark { flex-wrap: wrap}
  
.btn-gb9 > *,
.label-pill-ij3 > *,
.pml-hdr-box > *,
.pml-brand > *,
.pml-hdr-cta > *,
#nav-panel-9yj > *,
.pml-drawer-top > *,
.pml-hdr_hero > *,
.pml-blog-entry > *,
.pml-res-card > *,
.pml-news-form > *,
.pml-frm-info li > *,
[data-fold-head] > *,
.site-modal.is-open, .modal-fpm.is-open > *,
.pml-modal-form > *,
.pml-ftr__right > *,
.pml-ftr__brand > *,
.pml-ftr__right-link > *,
#side-dock-fsp > *,
.consent-3js-cat > *,
.consent-3js-links > *,
.thanks-pop-fyz.is-open > *,
.thanks-pop-fyz__mark > * { min-width: 0}
}

.consent-3js-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;transition:.25s;z-index:9998;}
.consent-3js-overlay.is-open{opacity:1;visibility:visible;}
.consent-3js-panel{position:fixed;background:var(--site-surface,#fff);color:var(--site-text,#1a1a1a);
  box-shadow:0 20px 60px rgba(0,0,0,.28);padding:24px;opacity:0;visibility:hidden;transition:.25s;z-index:9999;}
.consent-3js-panel.is-open{opacity:1;visibility:visible;}
.consent-3js-panel h3{margin:0 0 8px;font-size:1.2rem;}
.consent-3js-panel>p{margin:0 0 16px;color:var(--site-muted,#666);font-size:.95rem;}
.consent-3js-cat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(128,128,128,.2);}
.consent-3js-cat h4{margin:0 0 2px;font-size:.98rem;}
.consent-3js-cat p{margin:0;color:var(--site-muted,#777);font-size:.85rem;}
.consent-3js-switch{position:relative;flex:0 0 auto;width:44px;height:24px;}
.consent-3js-switch input{opacity:0;width:0;height:0;position:absolute;}
.consent-3js-switch span{position:absolute;inset:0;background:#c9c9c9;border-radius:999px;transition:.2s;cursor:pointer;}
.consent-3js-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;}
.consent-3js-switch input:checked+span{background:var(--site-accent,#2b7);}
.consent-3js-switch input:checked+span::before{transform:translateX(20px);}
.consent-3js-switch input:disabled+span{opacity:.6;cursor:not-allowed;}
.consent-3js-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.consent-3js-actions button{flex:1;min-width:140px;padding:11px 16px;border:none;border-radius:10px;font:inherit;font-weight:600;cursor:pointer;}
.consent-3js-actions #consent-3js-all{background:var(--site-accent,#2b7);color:#fff;}
.consent-3js-actions #consent-3js-save{background:transparent;color:var(--site-text,#222);border:1px solid rgba(128,128,128,.4);}
.consent-3js-links{display:flex;gap:16px;margin-top:14px;font-size:.85rem;}
.consent-3js-links a{color:var(--site-accent,#2b7);text-decoration:underline;}
.consent-3js-trigger{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--site-surface,#fff);color:var(--site-accent,#2b7);box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:9997;font-size:1.1rem;}

.consent-3js-overlay{background:transparent;pointer-events:none;}
.consent-3js-panel{left:0;right:0;bottom:0;width:100%;border-radius:16px 16px 0 0;transform:translateY(100%);}
.consent-3js-panel>*{max-width:900px;margin-left:auto;margin-right:auto;}
.consent-3js-panel.is-open{transform:translateY(0);}
@media(max-width:520px){.consent-3js-actions button{min-width:100%;}}
#side-dock-fsp{left:auto !important;right:18px !important;}
@media(max-width:520px){#side-dock-fsp{right:12px !important;}}
html[data-cookie-open] #side-dock-fsp{bottom:min(46vh,260px) !important;}

.thanks-pop-fyz{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(8,10,14,.55);backdrop-filter:blur(2px);}
.thanks-pop-fyz.is-open{display:flex;}
.thanks-pop-fyz__box{width:min(420px,100%);background:var(--site-surface,#fff);color:var(--site-text,#15181d);
  border-radius:16px;padding:32px 28px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28);
  animation:thanks-pop-fyz-in .22s ease-out;}
@keyframes thanks-pop-fyz-in{from{opacity:0;transform:translateY(12px) scale(.97);}to{opacity:1;transform:none;}}
.thanks-pop-fyz__mark{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:26px;line-height:1;
  background:var(--site-accent,#2e7d5b);color:#fff;}
.thanks-pop-fyz__title{margin:0 0 10px;font-size:1.35rem;line-height:1.25;}
.thanks-pop-fyz__text{margin:0 0 24px;line-height:1.6;color:var(--site-muted,#5b6472);}
.thanks-pop-fyz__close{display:inline-block;cursor:pointer;border:0;border-radius:999px;
  padding:12px 30px;font:inherit;font-weight:600;background:var(--site-accent,#2e7d5b);color:#fff;}
.thanks-pop-fyz__close:hover{filter:brightness(1.08);}
.thanks-pop-fyz__close:focus-visible{outline:2px solid var(--site-text,#15181d);outline-offset:3px;}
@media(prefers-reduced-motion:reduce){.thanks-pop-fyz__box{animation:none;}}

*,*::before,*::after{box-sizing:border-box;}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%;}
img,svg,video,iframe,canvas{max-width:100%;}
table{max-width:100%;}

.simpleParallax{display:block;width:100%;height:100%;}
.simpleParallax img{width:100%;height:100%;object-fit:cover;}

blockquote, figure { margin-left: 0; margin-right: 0; }

figure > blockquote, figure > figcaption { margin-left: 0; margin-right: 0; }

html.no-aos [data-aos]{opacity:1 !important;transform:none !important;}

@media(prefers-reduced-motion:reduce){
  [data-aos]{opacity:1 !important;transform:none !important;transition:none !important;}
}

.legal-doc{max-width:72ch;margin:0 auto;padding:64px 20px;line-height:1.7;}
.legal-doc h1{margin:0 0 .6em;}
.legal-doc h2{margin:1.8em 0 .5em;}
.legal-doc h3{margin:1.4em 0 .4em;}
.legal-doc p,.legal-doc li{margin:0 0 .8em;}
.legal-doc ul,.legal-doc ol{padding-left:1.4em;margin:0 0 1em;}
.legal-doc table{width:100%;border-collapse:collapse;margin:0 0 1.2em;}
.legal-doc th,.legal-doc td{border:1px solid currentColor;padding:.5em;text-align:left;}

@media (max-width: 720px) {
  body { overflow-x: hidden; }
  h1, h2, h3, p, li, td { overflow-wrap: break-word; }
  
  input, select, textarea { max-width: 100%; min-width: 0; }
  
  img, svg, video, iframe, table { max-width: 100%; }
}


/* --- cookie consent (per-site) --- */
.consent-3js-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;transition:.25s;z-index:9998;}
.consent-3js-overlay.is-open{opacity:1;visibility:visible;}
.consent-3js-panel{position:fixed;background:var(--site-surface,#fff);color:var(--site-text,#1a1a1a);
  box-shadow:0 20px 60px rgba(0,0,0,.28);padding:24px;opacity:0;visibility:hidden;transition:.25s;z-index:9999;}
.consent-3js-panel.is-open{opacity:1;visibility:visible;}
.consent-3js-panel h3{margin:0 0 8px;font-size:1.2rem;}
.consent-3js-panel>p{margin:0 0 16px;color:var(--site-muted,#666);font-size:.95rem;}
.consent-3js-cat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(128,128,128,.2);}
.consent-3js-cat h4{margin:0 0 2px;font-size:.98rem;}
.consent-3js-cat p{margin:0;color:var(--site-muted,#777);font-size:.85rem;}
.consent-3js-switch{position:relative;flex:0 0 auto;width:44px;height:24px;}
.consent-3js-switch input{opacity:0;width:0;height:0;position:absolute;}
.consent-3js-switch span{position:absolute;inset:0;background:#c9c9c9;border-radius:999px;transition:.2s;cursor:pointer;}
.consent-3js-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;}
.consent-3js-switch input:checked+span{background:var(--site-accent,#2b7);}
.consent-3js-switch input:checked+span::before{transform:translateX(20px);}
.consent-3js-switch input:disabled+span{opacity:.6;cursor:not-allowed;}
.consent-3js-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.consent-3js-actions button{flex:1;min-width:140px;padding:11px 16px;border:none;border-radius:10px;font:inherit;font-weight:600;cursor:pointer;}
.consent-3js-actions #consent-3js-all{background:var(--site-accent,#2b7);color:#fff;}
.consent-3js-actions #consent-3js-save{background:transparent;color:var(--site-text,#222);border:1px solid rgba(128,128,128,.4);}
.consent-3js-links{display:flex;gap:16px;margin-top:14px;font-size:.85rem;}
.consent-3js-links a{color:var(--site-accent,#2b7);text-decoration:underline;}
.consent-3js-trigger{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--site-surface,#fff);color:var(--site-accent,#2b7);box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:9997;font-size:1.1rem;}

.consent-3js-overlay{background:transparent;pointer-events:none;}
.consent-3js-panel{left:0;right:0;bottom:0;width:100%;border-radius:16px 16px 0 0;transform:translateY(100%);}
.consent-3js-panel>*{max-width:900px;margin-left:auto;margin-right:auto;}
.consent-3js-panel.is-open{transform:translateY(0);}
@media(max-width:520px){.consent-3js-actions button{min-width:100%;}}
#side-dock-fsp{left:auto !important;right:18px !important;}
@media(max-width:520px){#side-dock-fsp{right:12px !important;}}
html[data-cookie-open] #side-dock-fsp{bottom:min(46vh,260px) !important;}


/* --- form feedback popup (deterministic) --- */
.thanks-pop-fyz{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(8,10,14,.55);backdrop-filter:blur(2px);}
.thanks-pop-fyz.is-open{display:flex;}
.thanks-pop-fyz__box{width:min(420px,100%);background:var(--site-surface,#fff);color:var(--site-text,#15181d);
  border-radius:16px;padding:32px 28px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28);
  animation:thanks-pop-fyz-in .22s ease-out;}
@keyframes thanks-pop-fyz-in{from{opacity:0;transform:translateY(12px) scale(.97);}to{opacity:1;transform:none;}}
.thanks-pop-fyz__mark{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:26px;line-height:1;
  background:var(--site-accent,#2e7d5b);color:#fff;}
.thanks-pop-fyz__title{margin:0 0 10px;font-size:1.35rem;line-height:1.25;}
.thanks-pop-fyz__text{margin:0 0 24px;line-height:1.6;color:var(--site-muted,#5b6472);}
.thanks-pop-fyz__close{display:inline-block;cursor:pointer;border:0;border-radius:999px;
  padding:12px 30px;font:inherit;font-weight:600;background:var(--site-accent,#2e7d5b);color:#fff;}
.thanks-pop-fyz__close:hover{filter:brightness(1.08);}
.thanks-pop-fyz__close:focus-visible{outline:2px solid var(--site-text,#15181d);outline-offset:3px;}
@media(prefers-reduced-motion:reduce){.thanks-pop-fyz__box{animation:none;}}


/* --- safety net (deterministic) --- */
*,*::before,*::after{box-sizing:border-box;}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%;}
img,svg,video,iframe,canvas{max-width:100%;}
table{max-width:100%;}
/* simpleParallax оборачивает <img> в свой .simpleParallax — заставляем обёртку
   тянуться на всю высоту родителя, а фото внутри — cover. Проценты безопасны:
   при родителе без заданной высоты height:100% откатывается к auto (без коллапса). */
.simpleParallax{display:block;width:100%;height:100%;}
.simpleParallax img{width:100%;height:100%;object-fit:cover;}
/* Браузерный дефолт для <blockquote> и <figure> — margin: 1em 40px. Модель берёт
   эти семантические теги для отзывов и карточек с подписью, но сбросить поля
   забывает: внутри карточки в 267px текст сжимался до 131px (по 40px с каждой
   стороны) и переносился по одному слову, а между карточками зияли пустоты.
   Сбрасываем только горизонтальные поля — вертикальные обычно задуманы. */
blockquote, figure { margin-left: 0; margin-right: 0; }
/* Вложенные фигуры внутри сеток тоже не должны добавлять отступ сбоку. */
figure > blockquote, figure > figcaption { margin-left: 0; margin-right: 0; }
/* Если AOS не поднялся (CDN недоступен, блокировщик) — main.js вешает .no-aos.
   Без этого элементы с data-aos остались бы с opacity:0 из aos.css, то есть
   половина страницы была бы невидимой. */
html.no-aos [data-aos]{opacity:1 !important;transform:none !important;}
/* Пользователи с prefers-reduced-motion получают контент сразу, без анимаций. */
@media(prefers-reduced-motion:reduce){
  [data-aos]{opacity:1 !important;transform:none !important;transition:none !important;}
}

/* Метки под ребрендинг не должны участвовать в раскладке.
   mark_naming оборачивает бренд, домен и юрлицо в <span data-naming-dom=…>. Внутри
   flex-контейнера такой span становится ОТДЕЛЬНЫМ элементом, и gap раздвигает то,
   что было единым текстом. У задачи 132 ссылка на почту была
   `<i></i> info@<span>homerefinancingguide.com</span>` в контейнере с gap:8px —
   и адрес отображался с восемью пикселями внутри: «info@ homerefinancingguide.com».
   display:contents убирает коробку: текст снова склеивается с соседним в один
   элемент раскладки. Целимся только в свои метки — у них нет class, в отличие от
   span-ов, которые написала модель и которым стили нужны. */
span[data-naming-dom]:not([class]) { display: contents; }

/* Юр-страницы собираются из кэшированного текста без классов сайта —
   читаемость обеспечиваем здесь, а не дизайн-системой. */
.legal-doc{max-width:72ch;margin:0 auto;padding:64px 20px;line-height:1.7;}
.legal-doc h1{margin:0 0 .6em;}
.legal-doc h2{margin:1.8em 0 .5em;}
.legal-doc h3{margin:1.4em 0 .4em;}
.legal-doc p,.legal-doc li{margin:0 0 .8em;}
.legal-doc ul,.legal-doc ol{padding-left:1.4em;margin:0 0 1em;}
.legal-doc table{width:100%;border-collapse:collapse;margin:0 0 1.2em;}
.legal-doc th,.legal-doc td{border:1px solid currentColor;padding:.5em;text-align:left;}

/* Запрет переноса в меню пробовали и убрали: при нехватке места nowrap даёт
   горизонтальный вылет всей страницы, а это хуже некрасивого переноса.
   Аккуратность переносов остаётся задачей вёрстки, а не страховки. */

/* Мобильная страховка: длинные слова и ссылки не растягивают страницу вширь. */
@media (max-width: 720px) {
  body { overflow-x: hidden; }
  h1, h2, h3, p, li, td { overflow-wrap: break-word; }
  /* Поля формы в ряд с жёсткой min-width не влезают в телефон. */
  input, select, textarea { max-width: 100%; min-width: 0; }
  /* Картинки и медиа никогда не шире экрана. */
  img, svg, video, iframe, table { max-width: 100%; }
}

/* mobile-flex-guard */
@media (max-width: 720px) {
  /* Ряды без объявленного переноса: на узком экране они сжимали детей
     до нечитаемого вместо переноса. Десктоп не затронут. */
.btn-gb9,
.label-pill-ij3,
.pml-hdr-box,
.pml-brand,
.pml-hdr-cta,
#nav-panel-9yj,
.pml-drawer-top,
.pml-hdr_hero,
.pml-blog-entry,
.pml-res-card,
.pml-news-form,
.pml-frm-info li,
[data-fold-head],
.site-modal.is-open, .modal-fpm.is-open,
.pml-modal-form,
.pml-ftr__right,
.pml-ftr__brand,
.pml-ftr__right-link,
#side-dock-fsp,
.consent-3js-cat,
.consent-3js-links,
.thanks-pop-fyz.is-open,
.thanks-pop-fyz__mark,
.consent-3js-cat,
.consent-3js-links,
.thanks-pop-fyz.is-open,
.thanks-pop-fyz__mark,
.consent-3js-cat,
.consent-3js-links,
.thanks-pop-fyz.is-open,
.thanks-pop-fyz__mark { flex-wrap: wrap; }
  /* Классика flexbox: ребёнок не сжимается уже своего min-content и
     вылезает за край контейнера. min-width:0 это снимает. */
.btn-gb9 > *,
.label-pill-ij3 > *,
.pml-hdr-box > *,
.pml-brand > *,
.pml-hdr-cta > *,
#nav-panel-9yj > *,
.pml-drawer-top > *,
.pml-hdr_hero > *,
.pml-blog-entry > *,
.pml-res-card > *,
.pml-news-form > *,
.pml-frm-info li > *,
[data-fold-head] > *,
.site-modal.is-open, .modal-fpm.is-open > *,
.pml-modal-form > *,
.pml-ftr__right > *,
.pml-ftr__brand > *,
.pml-ftr__right-link > *,
#side-dock-fsp > *,
.consent-3js-cat > *,
.consent-3js-links > *,
.thanks-pop-fyz.is-open > *,
.thanks-pop-fyz__mark > *,
.consent-3js-cat > *,
.consent-3js-links > *,
.thanks-pop-fyz.is-open > *,
.thanks-pop-fyz__mark > *,
.consent-3js-cat > *,
.consent-3js-links > *,
.thanks-pop-fyz.is-open > *,
.thanks-pop-fyz__mark > * { min-width: 0; }
}
