/* ==========================================================================
   Inner pages — hero + mockups, chapter bands, prose, legacy content blocks
   Relies on tokens and primitives from ui.css.
   ========================================================================== */

.ip {
  --ip-ink: var(--hp-text);
  --ip-muted: var(--hp-muted);
  --ip-line: var(--hp-line);
  --ip-accent: var(--hp-amber);
  --ip-card: rgba(255,255,255,.025);
  --ip-card-ring: inset 0 0 0 1px var(--hp-line);
  --ip-card-shadow: none;
  --ip-radius: var(--hp-r);
}
.ip .section--light {
  --ip-ink: var(--hp-paper-ink);
  --ip-muted: var(--hp-paper-muted);
  --ip-line: var(--hp-paper-line);
  --ip-accent: #C46A00;
  --ip-card: #fff;
  --ip-card-ring: inset 0 0 0 1px var(--hp-paper-line);
  --ip-card-shadow: 0 24px 60px -36px rgba(10,11,13,.22);
}

/* --------------------------------------------------------------------------
   Bands
   -------------------------------------------------------------------------- */
.band {
  position: relative;
  isolation: isolate;
  padding-block: clamp(4.5rem, 8vw, 7.5rem);
  color: var(--ip-ink);
}
.band[id] { scroll-margin-top: calc(var(--header-h) + 4.5rem); }
.band--dark { background: var(--hp-ink); }
.band--dark::after {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background-image:
    linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 80% 55% at 50% 0%, #000 0%, transparent 75%);
  pointer-events: none;
}
.band--dark + .band--dark { border-top: 1px solid var(--hp-line); }
.ip .band.section--light {
  background: var(--hp-paper);
  border: 0;
}
.ip .section--light p,
.ip .section--light li { color: var(--ip-muted); }
.ip .section--light .hp-chip,
.ip .section--light .cat__icon,
.ip .section--light .service__icon,
.ip .section--light .step__num {
  color: #D67A00;
  background: linear-gradient(180deg, #FFF4E3, #FFE9C7);
  box-shadow: inset 0 0 0 1px rgba(242,140,20,.25);
}

.ch--continued { padding-top: 0; }
.ch--continued > .container {
  border-top: 1px solid var(--ip-line);
  padding-top: clamp(3.5rem, 6vw, 5rem);
}
.legacy--attached,
.ch--attached { padding-top: 0; }

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.ip-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-bottom: clamp(3.5rem, 7vw, 6rem);
  color: var(--hp-text);
}
.ip-hero__bg {
  position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(760px 480px at 82% 10%, rgba(255,170,50,.16), transparent 62%),
    radial-gradient(600px 400px at 0% 100%, rgba(255,170,50,.05), transparent 60%),
    var(--hp-ink);
}
.ip-hero__bg::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 70% 80% at 70% 20%, #000 10%, transparent 75%);
}
.ip-hero .breadcrumbs { padding-top: 1.5rem; font-family: var(--mono); font-size: .76rem; letter-spacing: .02em; }
.ip-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .9fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
  padding-top: clamp(2.5rem, 5vw, 4rem);
}
.ip-hero--solo .ip-hero__grid { grid-template-columns: minmax(0, 900px); }
.ip-hero--mock .ip-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
.ip-hero__title {
  max-width: 20ch;
  margin: 0 0 1.5rem;
  font-size: clamp(2.3rem, 4.4vw, 3.9rem);
  font-weight: 600;
  line-height: 1.03;
  letter-spacing: -0.05em;
  color: #fff;
  text-wrap: balance;
}
.ip-hero__title .gradient-text,
.ip-hero__title span {
  background: linear-gradient(100deg, #FFD08A 0%, var(--hp-amber) 45%, var(--hp-amber-deep) 100%);
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
}
.ip-hero__lead { max-width: 60ch; }
.ip-hero__lead p {
  margin: 0 0 1rem;
  color: rgba(255,255,255,.72) !important;
  font-size: clamp(1rem, 1.15vw, 1.1rem);
  line-height: 1.7;
}
.ip-hero__actions {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 1rem 1.25rem;
  margin-top: 2.25rem;
}
.ip-hero__meta { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.ip-hero__meta li {
  display: inline-flex; align-items: center; gap: .45rem;
  height: 38px; padding: 0 .95rem;
  border-radius: 999px;
  font-family: var(--mono); font-size: .74rem; letter-spacing: .04em;
  color: var(--hp-muted);
  background: rgba(255,255,255,.04);
  box-shadow: inset 0 0 0 1px var(--hp-line-2);
}
.ip-hero__meta .ui-icon { width: 14px; height: 14px; color: var(--hp-amber); }

/* TOC card (pages without a mockup) */
.ip-toc {
  padding: 1.4rem;
  border-radius: 22px;
  background: rgba(16,18,22,.7);
  box-shadow: inset 0 0 0 1px var(--hp-line-2), 0 40px 80px -30px rgba(0,0,0,.7);
  backdrop-filter: blur(14px);
}
.ip-toc__title {
  margin: 0 0 .75rem;
  font-family: var(--mono); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--hp-amber) !important;
}
.ip-toc__list {
  list-style: none; margin: 0; padding: 0 .25rem 0 0;
  max-height: 26rem; overflow: auto;
  scrollbar-width: thin; scrollbar-color: rgba(255,170,50,.35) transparent;
}
.ip-toc__list li + li { border-top: 1px solid var(--hp-line); }
.ip-toc__list a {
  display: grid; grid-template-columns: 2.1rem 1fr 16px; gap: .5rem; align-items: center;
  padding: .75rem .25rem;
  color: #D4D4D4; font-size: .92rem; line-height: 1.4;
  transition: color .2s var(--ease);
}
.ip-toc__num { font-family: var(--mono); font-size: .74rem; color: var(--hp-dim); }
.ip-toc__arrow { width: 16px; height: 16px; color: var(--hp-dim); transition: transform .25s var(--ease), color .25s; }
.ip-toc__list a:hover { color: #fff; }
.ip-toc__list a:hover .ip-toc__arrow { color: var(--hp-amber); transform: translateX(3px); }

/* Sticky chapter strip (pages with a mockup) */
.ip-chapters {
  position: sticky; top: var(--header-h); z-index: 50;
  background: rgba(10,11,13,.86);
  backdrop-filter: blur(16px) saturate(1.2);
  border-block: 1px solid var(--hp-line);
}
.ip-chapters__list {
  display: flex; gap: .35rem;
  margin: 0; padding: .6rem 0;
  list-style: none;
  overflow-x: auto;
  scrollbar-width: none;
}
.ip-chapters__list::-webkit-scrollbar { display: none; }
.ip-chapters__list a {
  position: relative;
  display: inline-flex; align-items: center; gap: .55rem;
  max-width: 340px;
  padding: .55rem .9rem;
  border-radius: 999px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  font-size: .86rem; font-weight: 500; color: var(--hp-muted);
  transition: background .25s var(--ease), color .25s var(--ease);
}
.ip-chapters__list a span { font-family: var(--mono); font-size: .7rem; color: var(--hp-dim); }
.ip-chapters__list a:hover { color: #fff; background: rgba(255,255,255,.05); }
.ip-chapters__list a::after {
  content: ""; position: absolute; left: .9rem; right: .9rem; bottom: 1px;
  height: 2px; border-radius: 2px;
  background: var(--hp-amber);
  box-shadow: 0 0 10px rgba(255,170,50,.7);
  transform: scaleX(0); transform-origin: left;
  transition: transform .35s var(--ease);
}
.ip-chapters__list a.is-active { color: #fff; background: none; }
.ip-chapters__list a.is-active span { color: var(--hp-amber); }
.ip-chapters__list a.is-active::after { transform: scaleX(1); }

/* --------------------------------------------------------------------------
   Mockups
   -------------------------------------------------------------------------- */
.mk { position: relative; padding: 1.5rem 0 2rem; }
.mk__window {
  position: relative;
  border-radius: 22px;
  background: linear-gradient(180deg, #16191F, #0E1014);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.09), 0 50px 100px -30px rgba(0,0,0,.85), 0 0 0 8px rgba(255,255,255,.02);
  overflow: hidden;
  transform: perspective(1400px) rotateY(-7deg) rotateX(3deg);
  transition: transform .9s var(--ease);
}
.mk:hover .mk__window { transform: none; }
.mk__window::after {
  content: ""; position: absolute; inset: auto -20% -60% 30%; height: 80%;
  background: radial-gradient(closest-side, rgba(255,170,50,.16), transparent);
  pointer-events: none;
}
.mk__bar { display: flex; align-items: center; gap: .4rem; padding: .85rem 1.1rem; border-bottom: 1px solid var(--hp-line); }
.mk__bar span { width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,.14); }
.mk__bar em { margin-left: .75rem; font-family: var(--mono); font-style: normal; font-size: .7rem; color: var(--hp-dim); }
.mk__body { position: relative; z-index: 1; display: grid; gap: 1.1rem; padding: 1.4rem; }
.mk small { display: block; font-family: var(--mono); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; color: var(--hp-dim); }
.mk strong { color: #fff; font-weight: 600; letter-spacing: -0.02em; }
.mk .is-ok { color: #4ADE80 !important; }
.mk .is-accent { color: var(--hp-amber) !important; }

.mk__float {
  position: absolute; z-index: 2;
  display: flex; align-items: center; gap: .75rem;
  padding: .75rem 1rem .75rem .75rem;
  border-radius: 16px;
  background: rgba(22,25,31,.88);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 24px 50px -16px rgba(0,0,0,.8);
  backdrop-filter: blur(12px);
  animation: mk-float 6s ease-in-out infinite;
}
.mk__float strong { display: block; font-size: 1.05rem; line-height: 1.1; }
.mk__float small { margin-top: .2rem; }
.mk__float--a { top: 0; right: -1rem; }
.mk__float--b { bottom: -1.25rem; left: -1.5rem; animation-delay: -3s; }
@keyframes mk-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

.mk-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.mk-kpis > div { padding: .8rem .9rem; border-radius: 12px; background: rgba(255,255,255,.03); box-shadow: inset 0 0 0 1px var(--hp-line); }
.mk-kpis strong { display: block; margin-top: .35rem; font-size: 1.25rem; }

.mk-ring { position: relative; width: 116px; height: 116px; flex: 0 0 auto; }
.mk-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.mk-ring__track { fill: none; stroke: rgba(255,255,255,.07); stroke-width: 9; }
.mk-ring__value {
  fill: none; stroke: var(--hp-amber); stroke-width: 9; stroke-linecap: round;
  stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--v));
  filter: drop-shadow(0 0 6px rgba(255,170,50,.5));
}
.mk-ring--warn .mk-ring__value { stroke: #F87171; filter: drop-shadow(0 0 6px rgba(248,113,113,.5)); }
.mk-ring > div { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.mk-ring strong { font-size: 2rem; line-height: 1; letter-spacing: -0.04em; }
.mk-ring small { margin-top: .3rem; }
.mk-ring--sm { width: 92px; height: 92px; }
.mk-ring--sm strong { font-size: 1.6rem; }

.mk-audit { display: grid; grid-template-columns: auto 1fr; gap: 1.4rem; align-items: center; }
.mk-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.mk-bars li { display: grid; grid-template-columns: 104px 1fr 24px; gap: .7rem; align-items: center; font-size: .76rem; color: var(--hp-muted); }
.mk-bars i { position: relative; height: 6px; border-radius: 99px; background: rgba(255,255,255,.07); overflow: hidden; }
.mk-bars i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); border-radius: inherit; background: linear-gradient(90deg, var(--hp-amber-deep), var(--hp-amber-2)); }
.mk-bars b { font-family: var(--mono); font-weight: 500; color: #fff; text-align: right; }
.mk-pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.mk-pill {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .45rem .75rem; border-radius: 999px;
  font-size: .76rem; color: var(--hp-muted);
  background: rgba(255,255,255,.03); box-shadow: inset 0 0 0 1px var(--hp-line);
}
.mk-pill i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.mk-pill b { font-family: var(--mono); font-weight: 500; color: #fff; }
.mk-pill--crit i { background: #F87171; }
.mk-pill--med i { background: var(--hp-amber); }
.mk-pill--low i { background: #4ADE80; }

.mk-search {
  display: flex; align-items: center; gap: .7rem;
  padding: .85rem 1rem; border-radius: 999px;
  font-size: .9rem; color: #E5E5E5;
  background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px var(--hp-line-2);
}
.mk-search .ui-icon { width: 18px; height: 18px; color: var(--hp-amber); }
.mk-ranks { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.mk-ranks li {
  display: grid; grid-template-columns: minmax(0, 1fr) 2.6rem 2.8rem; gap: .9rem; align-items: center;
  padding: .75rem .9rem; border-radius: 12px;
  background: rgba(255,255,255,.025); box-shadow: inset 0 0 0 1px var(--hp-line);
}
.mk-ranks__kw { font-size: .86rem; color: #D4D4D4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mk-ranks__pos {
  min-width: 2.6rem; padding: .25rem .5rem; border-radius: 8px; text-align: center;
  font-family: var(--mono); font-size: .78rem; color: #160F04; background: var(--hp-amber);
}
.mk-ranks__up { display: inline-flex; align-items: center; gap: .3rem; font-family: var(--mono); font-size: .76rem; color: #4ADE80; }
.mk-ranks__up .ui-icon { width: 14px; height: 14px; }

.mk-cols { display: flex; align-items: flex-end; gap: 6px; height: 110px; padding: .75rem; border-radius: 14px; background: rgba(255,255,255,.02); box-shadow: inset 0 0 0 1px var(--hp-line); }
.mk-cols i { flex: 1; height: var(--h); border-radius: 5px 5px 2px 2px; background: linear-gradient(180deg, var(--hp-amber-2), rgba(242,140,20,.35)); }
.mk-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.mk-list li { display: flex; align-items: center; gap: .7rem; padding: .65rem .8rem; border-radius: 12px; font-size: .82rem; color: #D4D4D4; background: rgba(255,255,255,.025); box-shadow: inset 0 0 0 1px var(--hp-line); }
.mk-list em { margin-left: auto; font-style: normal; font-family: var(--mono); font-size: .68rem; color: #4ADE80; }
.mk-tag { padding: .2rem .45rem; border-radius: 6px; font-family: var(--mono); font-size: .68rem; color: var(--hp-amber); background: rgba(255,170,50,.1); }

.mk-chart { position: relative; height: 150px; padding-top: .5rem; border-radius: 14px; background: rgba(255,255,255,.02); box-shadow: inset 0 0 0 1px var(--hp-line); overflow: hidden; }
.mk-chart svg { position: absolute; inset: 14px 0 22px; width: 100%; height: calc(100% - 36px); }
.mk-chart__area { fill: rgba(255,170,50,.16); }
.mk-chart__line { fill: none; stroke: var(--hp-amber); stroke-width: 2.5; filter: drop-shadow(0 0 6px rgba(255,170,50,.45)); }
.mk-chart__axis { position: absolute; left: .8rem; right: .8rem; bottom: .4rem; display: flex; justify-content: space-between; font-family: var(--mono); font-size: .6rem; color: var(--hp-dim); }
.mk-chart--sm { height: 80px; }
.mk-chart--sm svg { inset: 8px 0 0; height: calc(100% - 8px); }

.mk-status { display: flex; align-items: center; gap: .65rem; font-weight: 600; color: #fff; }
.mk-status b { margin-left: auto; font-family: var(--mono); font-size: .68rem; font-weight: 500; color: var(--hp-dim); }
.mk-status__dot { width: 10px; height: 10px; border-radius: 50%; background: #4ADE80; box-shadow: 0 0 0 5px rgba(74,222,128,.15); }
.mk-alerts, .mk-tasks { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.mk-alerts li, .mk-tasks li {
  display: flex; align-items: center; gap: .85rem;
  padding: .75rem .85rem; border-radius: 14px;
  background: rgba(255,255,255,.025); box-shadow: inset 0 0 0 1px var(--hp-line);
}
.mk-alerts li > div, .mk-tasks li > div { min-width: 0; }
.mk-alerts strong, .mk-tasks strong { display: block; font-size: .88rem; }
.mk-alerts small, .mk-tasks small { margin-top: .2rem; text-transform: none; letter-spacing: 0; font-size: .7rem; }
.mk-alerts em, .mk-tasks em {
  margin-left: auto; flex: 0 0 auto;
  padding: .3rem .6rem; border-radius: 999px;
  font-style: normal; font-family: var(--mono); font-size: .66rem;
  color: var(--hp-muted); background: rgba(255,255,255,.05);
}
.mk-alerts em.is-ok, .mk-tasks em.is-ok { background: rgba(74,222,128,.1); }
.mk-tasks em.is-run { color: var(--hp-amber); background: rgba(255,170,50,.1); }
.mk .hp-chip { --chip: 36px; border-radius: 10px; }
.mk .hp-chip .ui-icon { width: 17px; height: 17px; }

.mk-val { display: grid; gap: 1rem; }
.mk-val__site { display: flex; align-items: center; gap: .8rem; }
.mk-val__site small { margin-top: .2rem; }
.mk-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem .9rem; }
.mk-checks li { display: inline-flex; align-items: center; gap: .4rem; font-size: .8rem; color: #D4D4D4; }
.mk-checks .ui-icon { width: 16px; height: 16px; padding: 3px; border-radius: 50%; color: #160F04; background: var(--hp-amber); stroke-width: 3; }

.mk-net { position: relative; height: 290px; }
.mk-net svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.mk-net line { stroke: rgba(255,170,50,.45); stroke-width: 1.5; stroke-dasharray: 4 4; animation: mk-dash 18s linear infinite; }
.mk-net line.is-faint { stroke: rgba(255,255,255,.12); }
@keyframes mk-dash { to { stroke-dashoffset: -200; } }
.mk-net__node {
  position: absolute; transform: translate(-50%, -50%);
  padding: .5rem .8rem; border-radius: 999px;
  font-family: var(--mono); font-size: .72rem; white-space: nowrap; color: #E5E5E5;
  background: #1A1D23; box-shadow: inset 0 0 0 1px var(--hp-line-2), 0 10px 24px -10px rgba(0,0,0,.8);
}
.mk-net__node.is-core {
  padding: .8rem 1.1rem; font-size: .8rem; font-weight: 500; color: #160F04;
  background: linear-gradient(180deg, var(--hp-amber-2), var(--hp-amber));
  box-shadow: 0 0 0 8px rgba(255,170,50,.12), 0 0 40px rgba(255,170,50,.4);
}

.mk-doc { display: grid; grid-template-columns: 1fr auto; gap: 1.25rem; align-items: start; }
.mk-doc__lines { display: grid; gap: .65rem; padding: 1.1rem; border-radius: 14px; background: rgba(255,255,255,.02); box-shadow: inset 0 0 0 1px var(--hp-line); }
.mk-doc__lines i { display: block; height: 8px; border-radius: 99px; background: rgba(255,255,255,.08); }
.mk-doc__lines i.is-h { width: 70%; height: 14px; background: rgba(255,255,255,.22); }
.mk-doc__lines i.is-h2 { width: 50%; height: 11px; margin-top: .5rem; background: rgba(255,170,50,.45); }
.mk-doc__lines i.is-short { width: 55%; }
.mk-doc__lines i.is-mid { width: 80%; }
.mk-doc__side { display: grid; gap: 1rem; justify-items: center; }
.mk-doc__side .mk-checks { flex-direction: column; }

/* --------------------------------------------------------------------------
   Chapters
   -------------------------------------------------------------------------- */
.ch h2,
.legacy h2 {
  margin: 0 0 1.25rem;
  font-size: clamp(1.85rem, 3.4vw, 2.9rem);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.045em;
  color: var(--ip-ink);
  text-wrap: balance;
}
.ch h2 .gradient-text,
.legacy h2 .gradient-text,
.prose .gradient-text,
.legacy .gradient-text {
  background: none; color: var(--ip-accent); -webkit-text-fill-color: currentColor;
}
.ch__num {
  display: inline-grid; place-items: center;
  min-width: 2.4rem; height: 1.7rem; padding: 0 .55rem;
  margin-bottom: 1.25rem;
  border-radius: 999px;
  font-family: var(--mono); font-size: .76rem; letter-spacing: .02em;
  color: var(--ip-accent);
  background: rgba(255,170,50,.1);
  box-shadow: inset 0 0 0 1px rgba(255,170,50,.3);
}
.ch__split {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: stretch;
}
.ch__body { align-self: start; }
.ch__sticky { position: sticky; top: calc(var(--header-h) + 5rem); }
.ch__media { margin-top: 1.75rem; }
.ch__media figure,
.ch__wide-media figure { margin: 0; }
.ch__media img,
.ch__wide-media img {
  width: 100%; height: auto;
  border-radius: 20px;
  box-shadow: var(--ip-card-ring), 0 30px 70px -30px rgba(0,0,0,.55);
}
.ch__wide-media { margin: 0 0 clamp(2rem, 4vw, 3rem); }
.ch__wide-media--solo { max-width: 920px; margin: 0 auto; }
.ch__body--solo { max-width: 860px; }
.ch--intro .ch__body--solo p:first-child { font-size: 1.15rem; color: var(--ip-ink); }

.ch__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  align-items: end;
  margin-bottom: clamp(2.25rem, 4vw, 3.5rem);
}
.ch__head h2 { margin-bottom: 0; }
.ch__lead > :last-child { margin-bottom: 0; }
.ch__head:has(.ch__lead:empty) { grid-template-columns: 1fr; }
.ch__lead:empty { display: none; }

.ch-cards { display: grid; gap: 1rem; }
.ch-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ch-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ch-card {
  display: flex; flex-direction: column;
  padding: clamp(1.5rem, 2.4vw, 1.9rem);
  border-radius: var(--ip-radius);
  background: var(--ip-card);
  box-shadow: var(--ip-card-ring), var(--ip-card-shadow);
  transition: transform .4s var(--ease), box-shadow .4s var(--ease);
}
.ch-card:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px rgba(255,170,50,.4), var(--ip-card-shadow); }
.ch-card__top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 1.75rem; }
.ch-card__idx { font-family: var(--mono); font-size: .76rem; color: var(--hp-dim); }
.ch-card h3 { margin: 0 0 .75rem; font-size: clamp(1.08rem, 1.4vw, 1.22rem); line-height: 1.3; color: var(--ip-ink); }
.ch-card .prose { font-size: .96rem; }
.ch-card .prose p { margin-bottom: .7rem; }

/* --------------------------------------------------------------------------
   Prose
   -------------------------------------------------------------------------- */
.prose { font-size: 1.04rem; line-height: 1.75; color: var(--ip-muted); }
.prose > :first-child { margin-top: 0; }
.prose > :last-child { margin-bottom: 0; }
.prose p { margin: 0 0 1.15rem; color: var(--ip-muted); }
.prose strong { color: var(--ip-ink); font-weight: 600; }
.prose a { color: var(--ip-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.prose a:hover { color: var(--hp-amber-2); }
.prose h3 {
  margin: 2.75rem 0 .9rem;
  font-size: clamp(1.2rem, 1.7vw, 1.45rem);
  line-height: 1.25;
  letter-spacing: -0.025em;
  color: var(--ip-ink);
}
.prose h3::before {
  content: "";
  display: block;
  width: 28px; height: 3px;
  margin-bottom: .9rem;
  border-radius: 3px;
  background: linear-gradient(90deg, var(--hp-amber-2), var(--hp-amber-deep));
}
.prose h4 { margin: 1.8rem 0 .6rem; font-size: 1.08rem; color: var(--ip-ink); }

.prose ul { display: grid; gap: 0; margin: 1.25rem 0 1.75rem; padding: 0; list-style: none; }
.prose ul li {
  position: relative;
  padding: .85rem 0 .85rem 2.2rem;
  border-top: 1px solid var(--ip-line);
  color: var(--ip-muted);
  line-height: 1.6;
}
.prose ul li:first-child { border-top: 0; }
.prose ul li::before {
  content: "";
  position: absolute; left: 0; top: 1.05rem;
  width: 20px; height: 20px;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23160F04' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat,
    var(--hp-amber);
}
.prose ol { margin: 1.25rem 0 1.75rem; padding: 0; list-style: none; counter-reset: prose-ol; }
.prose ol li {
  position: relative;
  counter-increment: prose-ol;
  padding: .85rem 0 .85rem 3rem;
  border-top: 1px solid var(--ip-line);
}
.prose ol li:first-child { border-top: 0; }
.prose ol li::before {
  content: counter(prose-ol, decimal-leading-zero);
  position: absolute; left: 0; top: .85rem;
  display: grid; place-items: center;
  width: 2.1rem; height: 1.6rem;
  border-radius: 999px;
  font-family: var(--mono); font-size: .72rem;
  color: var(--ip-accent);
  background: rgba(255,170,50,.1);
  box-shadow: inset 0 0 0 1px rgba(255,170,50,.3);
}

.prose figure { margin: 2rem 0; }
.prose figure img { width: 100%; height: auto; border-radius: 18px; box-shadow: var(--ip-card-ring); }
.prose figcaption { margin-top: .6rem; font-size: .85rem; color: var(--ip-muted); }

.prose .wp-block-table,
.legacy .wp-block-table {
  margin: 1.75rem 0 2rem;
  overflow-x: auto;
  border-radius: 18px;
  background: var(--ip-card);
  box-shadow: var(--ip-card-ring), var(--ip-card-shadow);
}
.prose table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .94rem; line-height: 1.55; }
.prose th,
.prose td {
  padding: 1rem 1.15rem;
  text-align: left; vertical-align: top;
  border-bottom: 1px solid var(--ip-line);
  color: var(--ip-muted);
}
.prose thead th,
.prose tr:first-child th {
  font-family: var(--mono); font-size: .7rem; font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--ip-accent);
  background: rgba(255,170,50,.06);
}
.prose tbody tr:last-child td { border-bottom: 0; }
.prose td:first-child { color: var(--ip-ink); font-weight: 600; }
.prose tbody tr { transition: background .25s; }
.prose tbody tr:hover td { background: rgba(255,170,50,.035); }

.prose .wp-block-columns {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem; margin: 1.5rem 0;
  align-items: stretch !important;
}
.prose .wp-block-column {
  margin: 0 !important;
  padding: clamp(1.5rem, 2.6vw, 2.25rem);
  border-radius: var(--ip-radius);
  background: var(--ip-card);
  box-shadow: var(--ip-card-ring), var(--ip-card-shadow);
}
.prose .wp-block-column:nth-child(2n) {
  background:
    radial-gradient(420px 220px at 100% 0%, rgba(255,170,50,.12), transparent 70%),
    var(--ip-card);
}
.prose .wp-block-column ul { margin: .75rem 0 1.25rem; }
.prose .wp-block-column > p:has(+ ul) { margin-top: 1.25rem; color: var(--ip-ink); font-weight: 600; }
.ch__body--wide .wp-block-columns { margin-top: 0; }
.prose .has-text-align-center { text-align: center; }

/* --------------------------------------------------------------------------
   Legacy blocks
   -------------------------------------------------------------------------- */
.legacy h2 { margin: 0; }
.legacy h3 { color: var(--ip-ink); }
.legacy p { color: var(--ip-muted); }
.cats__head,
.steps__head,
.services__head,
.proscons__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  column-gap: clamp(1.5rem, 5vw, 5rem);
  align-items: start;
  margin-bottom: clamp(2.25rem, 4vw, 3.5rem);
}
.cats__head > h2,
.steps__head > h2,
.services__head > h2,
.proscons__head > h2 { grid-column: 1; grid-row: 1 / span 8; }
.cats__head > :not(h2),
.steps__head > :not(h2),
.services__head > :not(h2) { grid-column: 2; }
.cats__head p,
.steps__head p,
.services__head p { margin: 0 0 1rem; font-size: 1.04rem; line-height: 1.7; }
.cats__head > :last-child,
.steps__head > :last-child,
.services__head > :last-child { margin-bottom: 0; }

.cat,
.step,
.service,
.pc-card,
.post,
.team__card,
details.q {
  border-radius: var(--ip-radius);
  background: var(--ip-card);
  box-shadow: var(--ip-card-ring), var(--ip-card-shadow);
}
.cat, .step, .service, .post, .team__card { transition: transform .4s var(--ease), box-shadow .4s var(--ease); }
.cat:hover, .step:hover, .service:hover, .post:hover, .team__card:hover {
  transform: translateY(-3px);
  box-shadow: inset 0 0 0 1px rgba(255,170,50,.4), var(--ip-card-shadow);
}

.cat__icon,
.service__icon,
.step__num {
  width: 48px; height: 48px; flex: 0 0 auto;
  display: grid; place-items: center;
  border-radius: 14px;
  color: var(--hp-amber);
  background: linear-gradient(180deg, rgba(255,170,50,.16), rgba(255,170,50,.06));
  box-shadow: inset 0 0 0 1px rgba(255,170,50,.22);
}
.cat__icon .ui-icon,
.service__icon .ui-icon,
.step__num .ui-icon { width: 22px; height: 22px; }

.cats__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.cats__grid[data-cols="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cats__grid[data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cat { display: flex; flex-direction: column; gap: 1.5rem; padding: clamp(1.5rem, 2.4vw, 2rem); }
.cat h3 { margin: 0 0 .7rem; font-size: 1.2rem; letter-spacing: -0.02em; }
.cat__text p { margin: 0 0 .7rem; font-size: .96rem; line-height: 1.65; }
.cat__text p:last-child { margin-bottom: 0; }

.steps__row { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); gap: 1rem; counter-reset: step; }
.step { position: relative; padding: clamp(1.6rem, 2.6vw, 2.1rem); overflow: hidden; counter-increment: step; }
.step::after {
  content: counter(step, decimal-leading-zero);
  position: absolute; top: 1.4rem; right: 1.5rem;
  font-family: var(--mono); font-size: .76rem; color: var(--hp-dim);
}
.step::before {
  content: ""; position: absolute; left: 1.6rem; right: 1.6rem; top: 0; height: 2px;
  background: linear-gradient(90deg, var(--hp-amber), transparent); opacity: .7;
}
.step__num { margin-bottom: 1.5rem; }
.step h3 { margin: 0 0 .85rem; font-size: 1.25rem; letter-spacing: -0.02em; }
.step__text p { margin: 0 0 .85rem; font-size: .96rem; line-height: 1.65; }
.step__text p + p {
  position: relative; margin: 0;
  padding: .7rem 0 .7rem 1.4rem;
  border-top: 1px solid var(--ip-line);
  font-size: .93rem;
}
.step__text p + p::before {
  content: ""; position: absolute; left: 0; top: 1.2rem;
  width: 7px; height: 7px; border-radius: 50%; background: var(--hp-amber);
}

.services__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.service { padding: clamp(1.5rem, 2.4vw, 1.9rem); }
.service__header { display: flex; align-items: center; gap: .9rem; margin-bottom: 1.25rem; }
.service h3 { margin: 0; font-size: 1.1rem; line-height: 1.3; }
.service p { margin: 0; font-size: .95rem; line-height: 1.65; }
.service p + p { padding: .55rem 0; border-top: 1px solid var(--ip-line); }
.service p:first-of-type:is(.service__header + p) { padding-bottom: .75rem; color: var(--ip-ink); font-style: italic; }

.proscons__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.pc-card { padding: clamp(1.6rem, 2.6vw, 2.25rem); }
.pc-card--pros {
  background: radial-gradient(420px 200px at 0% 0%, rgba(255,170,50,.12), transparent 70%), var(--ip-card);
  box-shadow: inset 0 0 0 1px rgba(255,170,50,.35), var(--ip-card-shadow);
}
.pc-card__head { display: flex; align-items: center; gap: .9rem; margin-bottom: 1.4rem; }
.pc-card__head h3 { margin: 0; font-size: 1.25rem; }
.pc-card__icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; }
.pc-card__icon--pros { color: #160F04; background: var(--hp-amber); }
.pc-card__icon--cons { color: var(--ip-muted); background: rgba(127,127,127,.14); }
.pc-list { display: grid; margin: 0; padding: 0; list-style: none; }
.pc-list li {
  position: relative;
  padding: .75rem 0 .75rem 1.6rem;
  border-top: 1px solid var(--ip-line);
  color: var(--ip-muted); font-size: .96rem; line-height: 1.6;
}
.pc-list li::before { content: ""; position: absolute; left: 0; top: 1.25rem; width: 8px; height: 8px; border-radius: 50%; background: var(--hp-amber); }
.pc-list--cons li::before { background: var(--ip-muted); opacity: .6; }

.legacy--list-block > .container {
  display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 6vw, 6rem); align-items: start;
}
.list-block__head { position: sticky; top: calc(var(--header-h) + 5rem); }
.list-block__head h2 { margin-bottom: 1.25rem; }
.list-block__head p { margin: 0; font-size: 1.04rem; line-height: 1.7; }
.lst { margin: 0; padding: 0; list-style: none; counter-reset: lst; display: grid; gap: .6rem; }
.lst__item {
  counter-increment: lst;
  display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; align-items: baseline;
  padding: 1.2rem 1.35rem;
  border-radius: 16px;
  background: var(--ip-card);
  box-shadow: var(--ip-card-ring), var(--ip-card-shadow);
}
.lst__tag-spacer::before { content: counter(lst, decimal-leading-zero); font-family: var(--mono); font-size: .82rem; color: var(--ip-accent); }
.lst__title { color: var(--ip-ink); font-weight: 600; margin-bottom: .25rem; letter-spacing: -0.01em; }
.lst__sub { color: var(--ip-muted); line-height: 1.6; }

.faq__inner { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.faq__head { position: sticky; top: calc(var(--header-h) + 5rem); }
.faq__head h2 { margin-bottom: 1rem; }
.faq__head p { margin: 0; }
.faq__list { display: grid; gap: .75rem; }
details.q { padding: 0 1.5rem; transition: box-shadow .3s var(--ease); }
details.q[open] { box-shadow: inset 0 0 0 1px rgba(255,170,50,.4), var(--ip-card-shadow); }
details.q summary {
  position: relative;
  padding: 1.35rem 3.25rem 1.35rem 0;
  list-style: none; cursor: pointer;
  color: var(--ip-ink);
  font-weight: 600; font-size: 1.05rem; line-height: 1.45; letter-spacing: -0.015em;
}
details.q summary::-webkit-details-marker { display: none; }
details.q summary::after {
  content: "+";
  position: absolute; right: 0; top: 50%;
  width: 34px; height: 34px;
  display: grid; place-items: center;
  transform: translateY(-50%);
  border-radius: 50%;
  color: var(--ip-ink);
  background: rgba(127,127,127,.12);
  font-size: 1.2rem; font-weight: 400; line-height: 1;
  transition: transform .35s var(--ease), background .3s, color .3s;
}
details.q[open] summary::after { transform: translateY(-50%) rotate(45deg); background: var(--hp-amber); color: #160F04; }
.q__body { padding-bottom: 1.4rem; color: var(--ip-muted); line-height: 1.7; }

.team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.team__card { display: flex; flex-direction: column; overflow: hidden; background-image: none !important; }
.team__photo {
  aspect-ratio: 1 / 1.05; overflow: hidden;
  background: radial-gradient(circle at 50% 30%, rgba(255,170,50,.22), transparent 65%), linear-gradient(180deg, #1A1E25, #0C0F13);
}
.team__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; transition: transform .7s var(--ease); }
.team__card:hover .team__photo img { transform: scale(1.04); }
.team__body { padding: 1.5rem 1.6rem 1.75rem; }
.team__eyebrow {
  display: block; margin: 0 0 .5rem;
  font-family: var(--mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ip-accent);
}
.legacy .team__name { margin: 0 0 .75rem; font-size: 1.35rem; letter-spacing: -0.03em; }
.team__bio { margin: 0; font-size: .95rem; line-height: 1.65; }

.news__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: clamp(1.75rem, 3vw, 2.5rem); }
.btn--ghost {
  padding: .8rem 1.25rem; border-radius: 999px;
  color: var(--ip-ink); font-size: .92rem;
  box-shadow: inset 0 0 0 1px var(--hp-line-2);
}
.btn--ghost:hover { color: var(--hp-amber); box-shadow: inset 0 0 0 1px var(--hp-amber); }
.news__nav { display: flex; align-items: center; gap: .5rem; flex: 0 0 auto; }
.news__nav .btn--ghost { display: inline-flex; align-items: center; gap: .5rem; margin-right: .35rem; white-space: nowrap; }
.news__arrow {
  display: inline-grid; place-items: center;
  width: 46px; height: 46px; padding: 0;
  border: 0; border-radius: 50%;
  background: transparent;
  color: var(--ip-ink);
  box-shadow: inset 0 0 0 1px var(--hp-line-2);
  cursor: pointer;
  transition: color .2s, box-shadow .2s, opacity .2s;
}
.news__arrow .ui-icon { width: 18px; height: 18px; }
.news__arrow:hover:not(:disabled) { color: var(--hp-amber); box-shadow: inset 0 0 0 1px var(--hp-amber); }
.news__arrow:disabled { opacity: .3; cursor: default; }
.news__track {
  display: grid; grid-auto-flow: column;
  grid-auto-columns: calc((100% - 2rem) / 3);
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.news__track::-webkit-scrollbar { display: none; }
.news__track > .post { scroll-snap-align: start; }
.post { display: flex; flex-direction: column; overflow: hidden; }
.post__media { display: block; overflow: hidden; }
.post__thumb { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background-color: var(--hp-ink-3); transition: transform .7s var(--ease); }
.post:hover .post__thumb { transform: scale(1.04); }
.post__body { flex: 1; display: flex; flex-direction: column; gap: .65rem; padding: 1.35rem 1.5rem 1.5rem; }
.post h3 { margin: 0; font-size: 1.06rem; line-height: 1.35; letter-spacing: -0.015em; }
.post h3 a { color: var(--ip-ink); }
.post h3 a:hover { color: var(--hp-amber); }
.post__excerpt { margin: 0; font-size: .9rem; line-height: 1.6; }
.post__more { display: inline-flex; gap: .35rem; margin-top: auto; padding-top: .35rem; color: var(--ip-accent); font-size: .88rem; font-weight: 600; }
.post__more .arr { display: inline-block; transition: transform .25s var(--ease); }
.post:hover .post__more .arr { transform: translateX(4px); }
@media (max-width: 992px) {
  .news__track { grid-auto-columns: calc((100% - 1rem) / 2); }
}
@media (max-width: 700px) {
  .news__track { grid-auto-columns: 86%; }
  .news__nav .btn--ghost { margin-right: auto; }
  .news__nav { width: 100%; }
}

.cf-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .8fr); gap: 1rem; align-items: stretch; }
.cf-layout__info {
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-radius: 24px;
  color: var(--hp-text);
  background:
    radial-gradient(420px 260px at 100% 0%, rgba(255,170,50,.2), transparent 70%),
    var(--hp-ink-2);
  box-shadow: inset 0 0 0 1px var(--hp-line-2), var(--ip-card-shadow);
}
.cf-layout__info ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.4rem; }
.cf-layout__info li { display: flex; align-items: flex-start; gap: .9rem; }
.ip .section--light .cf-layout__info li,
.cf-layout__info li span { color: #fff; }
.cf-layout__info small { display: block; margin-bottom: .3rem; font-family: var(--mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--hp-dim); }
.cf-layout__info a { color: #fff; transition: color .2s; }
.cf-layout__info a:hover { color: var(--hp-amber); }
.ip .section--light .cf-layout__info .hp-chip { color: var(--hp-amber); background: linear-gradient(180deg, rgba(255,170,50,.16), rgba(255,170,50,.06)); box-shadow: inset 0 0 0 1px rgba(255,170,50,.22); }
.legacy--contactform br,
.cf__hp { display: none; }
.cf__form > p { margin: 0; }
.cf__alert { margin-top: 1rem; padding: .9rem 1rem; border-radius: 12px; font-size: .92rem; }
.cf__alert--ok { color: #166534; background: #DCFCE7; }
.cf__alert--err { color: #991B1B; background: #FEE2E2; }
.legacy--contactform button .arr { width: 18px; height: 18px; margin-left: .5rem; }
.legacy--contactform form,
.legacy--contactform .cf,
.cf-layout .isa-lead {
  max-width: none;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: 24px;
  background: var(--ip-card);
  box-shadow: var(--ip-card-ring), var(--ip-card-shadow);
}
.cf__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.cf__field { display: grid; gap: .5rem; margin-bottom: 1rem; }
.cf__label { font-family: var(--mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--hp-dim); }
.cf__req { color: var(--hp-amber); }
.cf__input {
  width: 100%;
  padding: .95rem 1.05rem;
  border: 0; border-radius: 12px;
  color: var(--ip-ink);
  background: rgba(255,255,255,.04);
  box-shadow: inset 0 0 0 1px var(--ip-line);
  outline: none;
  transition: box-shadow .25s var(--ease), background .25s;
}
.section--light .cf__input { background: #F6F7F9; }
.cf__input:focus { box-shadow: inset 0 0 0 1px rgba(255,170,50,.6), 0 0 0 4px rgba(255,170,50,.12); }
.cf__textarea { min-height: 140px; resize: vertical; }
.cf-layout .isa-lead .clf__form { max-width: none; padding: 0; background: none; box-shadow: none; border-radius: 0; }
.legacy--contactform button,
.legacy--contactform [type="submit"] {
  display: inline-flex; align-items: center; justify-content: center;
  height: 52px; padding: 0 1.6rem;
  border: 0; border-radius: 999px;
  font-weight: 600; color: #160F04;
  background: linear-gradient(180deg, var(--hp-amber-2) 0%, var(--hp-amber) 55%, var(--hp-amber-deep) 100%);
  box-shadow: 0 10px 30px -8px rgba(255,170,50,.55), inset 0 1px 0 rgba(255,255,255,.5);
  cursor: pointer;
  transition: transform .3s var(--ease);
}
.legacy--contactform button:hover { transform: translateY(-2px); }

/* --------------------------------------------------------------------------
   Closing CTA
   -------------------------------------------------------------------------- */
.ip-cta { padding-block: clamp(3rem, 6vw, 5rem); }
.ip-cta .hp-cta { margin-top: 0; }
.ip-cta .ip-cta__eyebrow {
  margin: 0 0 .9rem !important;
  font-family: var(--mono); font-size: .74rem; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(20,13,2,.65) !important;
}
.ip-cta .ip-cta__text {
  max-width: 34ch; margin: 0 !important;
  font-size: clamp(1.5rem, 2.6vw, 2.2rem);
  font-weight: 600; line-height: 1.12; letter-spacing: -0.04em;
  color: #140D02 !important;
}

/* --------------------------------------------------------------------------
   Document mode (legal pages)
   -------------------------------------------------------------------------- */
.ip--document .band { padding-block: clamp(2.5rem, 4vw, 3.5rem); }
.ip--document .band + .band > .container { border-top: 1px solid var(--ip-line); padding-top: clamp(2.5rem, 4vw, 3.5rem); }
.ip--document .band + .band { padding-top: 0; }
.ip--document .ch__split { grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); }
.ip--document .ch h2 { font-size: clamp(1.4rem, 2.2vw, 1.9rem); }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) {
  .ip-hero__grid,
  .ip-hero--mock .ip-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .ip-hero__visual { max-width: 620px; }
  .ip-toc__list { max-height: 18rem; }
  .ch__split,
  .ch__head,
  .cats__head,
  .steps__head,
  .services__head,
  .proscons__head,
  .faq__inner,
  .cf-layout,
  .legacy--list-block > .container,
  .ip--document .ch__split { grid-template-columns: minmax(0, 1fr); align-items: start; }
  .cats__head > :not(h2),
  .steps__head > :not(h2),
  .services__head > :not(h2) { grid-column: 1; }
  .cats__head > h2,
  .steps__head > h2,
  .services__head > h2,
  .proscons__head > h2 { grid-row: auto; margin-bottom: 1.25rem; }
  .ch__sticky,
  .faq__head,
  .list-block__head { position: static; }
  .ch__media { max-width: 640px; }
  .ch-cards--3,
  .cats__grid,
  .cats__grid[data-cols="4"],
  .services__grid,
  .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps__row { grid-template-columns: 1fr; }
  .mk__window { transform: none; }
}
@media (max-width: 700px) {
  .band { padding-block: 4rem; }
  .ip-hero__title { font-size: clamp(2rem, 9vw, 2.6rem); }
  .ip-hero__actions .hp-btn { flex: 1 1 100%; }
  .ch-cards--2,
  .ch-cards--3,
  .cats__grid,
  .cats__grid[data-cols="2"],
  .cats__grid[data-cols="4"],
  .services__grid,
  .team-grid,
  .proscons__grid,
  .cf__row,
  .prose .wp-block-columns { grid-template-columns: 1fr; }
  .news__head { flex-direction: column; align-items: flex-start; }
  .mk { padding: 1rem 0 1.5rem; }
  .mk__float { display: none; }
  .mk-audit,
  .mk-doc { grid-template-columns: 1fr; justify-items: center; }
  .mk-bars, .mk-doc__lines { width: 100%; }
  .mk-kpis strong { font-size: 1rem; }
  .mk-net { height: 240px; }
}
@media (prefers-reduced-motion: reduce) {
  .mk__float, .mk-net line { animation: none; }
  .mk__window { transform: none; }
}
