/* Shared components used across the service and information pages */
.hero.inner {
  padding:28px 0 36px;
}
.hero.inner h1 {
  font-size:var(--fs-38);
}
.for {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:var(--space-2);
  margin-top:22px;
}
.for {
  list-style:none;
}
.for li {
  padding:7px var(--space-3);
  border:1px solid var(--color-border-strong);
  border-radius:var(--radius-md);
  background:var(--color-white);
  font-size:var(--fs-14_5);
  color:var(--color-text-soft);
}
.for li.lab {
  padding:7px var(--space-1) 7px 0;
  border:0;
  background:none;
  font-size:var(--font-size-xs);
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--color-muted);
}
.crumb {
  font-size:var(--fs-14);
  color:var(--color-muted);
  margin-bottom:var(--space-3);
}
.crumb a {
  color:var(--color-muted);
}
.textlink {
  display:inline-flex;
  align-items:center;
  gap:var(--space-2);
  min-height:var(--tap-size);
  font-weight:600;
  font-size:var(--fs-16_5);
  color:var(--color-primary);
}
.textlink:hover {
  color:var(--color-accent);
}
.docs {
  display:grid;
  gap:14px;
}
.doc {
  display:flex;
  gap:var(--space-4);
  padding:var(--space-5);
  background:var(--color-white);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
}
.pdf {
  flex:none;
  display:grid;
  place-items:center;
  width:var(--tap-size);
  height:54px;
  border-radius:5px;
  border:1.5px solid var(--color-primary);
  font-size:var(--fs-11);
  font-weight:700;
  letter-spacing:.04em;
  color:var(--color-primary);
  background:var(--color-success-wash);
}
.doc strong {
  display:block;
  font-size:var(--fs-18);
  line-height:1.3;
  color:var(--color-text);
}
.doc span {
  display:block;
  font-size:var(--font-size-sm);
  color:var(--color-muted);
  margin-top:var(--space-1);
}
.inc-list.compact li {
  padding:var(--space-3) 0;
  align-items:center;
}
.inc-list.compact strong {
  font-size:var(--fs-17_5);
}
.r5 {
  display:grid;
  gap:0;
}
.step5 {
  position:relative;
  display:flex;
  gap:var(--space-4);
  padding-bottom:22px;
}
.step5:not(:last-child)::before {
  content:"";
  position:absolute;
  left:16px;
  top:38px;
  bottom:4px;
  width:2px;
  background:var(--color-line);
}
.step5 strong {
  display:block;
  font-size:var(--fs-18);
  line-height:1.3;
  color:var(--color-text);
}
.step5 span.d {
  display:block;
  font-size:var(--font-size-sm);
  color:var(--color-muted);
  margin-top:3px;
}
.step5.us .step-n {
  background:var(--color-accent);
}
.two {
  display:grid;
  gap:var(--space-4);
}
.lcard {
  background:var(--color-white);
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  padding:var(--space-6) 22px;
}
.lcard h3 {
  font-family:var(--font-heading);
  font-size:var(--fs-24);
  font-weight:600;
  line-height:1.15;
  letter-spacing:-.01em;
  color:var(--color-text);
  margin-bottom:6px;
}
.lcard .lsub {
  font-size:var(--font-size-sm);
  color:var(--color-muted);
  margin-bottom:10px;
}
.lcard li {
  display:flex;
  gap:var(--space-3);
  align-items:flex-start;
  padding:10px 0;
  font-size:var(--fs-16);
  color:var(--color-text-soft);
}
.lcard li+li {
  border-top:1px solid var(--color-surface-tint-2);
}
.lcard li strong {
  color:var(--color-text);
}
.lcard .lfoot {
  margin-top:var(--space-3);
  padding-top:var(--space-3);
  border-top:1px solid var(--color-border-faint);
  font-size:var(--fs-15);
  color:var(--color-text-mid);
}
.band {
  display:grid;
  gap:var(--space-2);
  padding:28px var(--space-6);
  border-radius:var(--radius-xl);
  background:var(--color-primary);
  color:var(--color-on-dark);
}
.band .k {
  font-size:var(--font-size-xs);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--color-on-dark-accent);
}
.band .bn {
  font-family:var(--font-heading);
  font-size:var(--fs-64);
  line-height:1;
  font-weight:600;
  letter-spacing:-.03em;
  color:var(--color-white);
}
.band p {
  font-size:var(--font-size-md);
  color:var(--color-on-dark-soft);
}
.band .bt p+p {
  margin-top:10px;
}
.why4 {
  display:grid;
  gap:14px;
}
.wcard {
  padding:22px 22px var(--space-5);
  background:var(--color-white);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
}
.wcard .pt-ic {
  margin-bottom:14px;
}
.wcard strong {
  display:block;
  font-size:var(--fs-19);
  line-height:1.3;
  color:var(--color-text);
}
.wcard span.d {
  display:block;
  font-size:var(--font-size-sm);
  color:var(--color-muted);
  margin-top:6px;
}
.xsell {
  display:grid;
  gap:14px;
  padding:var(--space-6) 22px;
  border:1.5px solid var(--color-primary);
  border-radius:var(--radius-xl);
  background:var(--color-success-wash);
}
.xsell h3 {
  font-family:var(--font-heading);
  font-size:var(--fs-26);
  font-weight:600;
  line-height:1.12;
  letter-spacing:-.01em;
  color:var(--color-text);
}
.xsell p {
  font-size:var(--fs-16_5);
  color:var(--color-text-soft);
}
.xsell .btn {
  justify-self:start;
}
.cost4 {
  display:grid;
  gap:0;
  border-top:1px solid var(--color-border);
}
.cost4 div {
  display:flex;
  gap:var(--space-4);
  padding:var(--space-5) 0;
  border-bottom:1px solid var(--color-border);
}
.cost4 b {
  flex:none;
  font-family:var(--font-heading);
  font-size:var(--fs-34);
  line-height:1;
  font-weight:600;
  color:var(--color-accent);
  width:40px;
}
.cost4 strong {
  display:block;
  font-size:var(--fs-19);
  line-height:1.3;
  color:var(--color-text);
}
.cost4 span {
  display:block;
  font-size:var(--fs-16);
  color:var(--color-text-mid);
  margin-top:var(--space-1);
}
.honest {
  margin-top:22px;
  padding:18px var(--space-5);
  border-radius:var(--radius-lg);
  background:var(--color-surface-alt);
  font-size:var(--font-size-md);
  color:var(--color-text-soft);
}
.honest strong {
  color:var(--color-text);
}
.pull {
  font-family:var(--font-heading);
  font-size:var(--fs-27);
  line-height:1.22;
  letter-spacing:-.01em;
  font-weight:500;
  color:var(--color-text);
  text-wrap:balance;
}
.defc {
  padding:var(--space-6) 22px;
  border-radius:var(--radius-xl);
  background:var(--color-primary);
  color:var(--color-on-dark);
}
.defc .k {
  font-size:var(--font-size-xs);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--color-on-dark-accent);
  margin-bottom:10px;
}
.defc .pull {
  color:var(--color-white);
}
.defc p.e {
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--color-primary-600);
  font-size:var(--fs-16);
  color:var(--color-on-dark-soft);
}
.three {
  display:grid;
  gap:14px;
}
.who3 {
  display:grid;
  gap:0;
  border-top:1px solid var(--color-border);
}
.who3 li {
  display:flex;
  gap:14px;
  padding:18px 0;
  border-bottom:1px solid var(--color-border);
}
.who3 strong {
  display:block;
  font-size:var(--fs-18);
  line-height:1.3;
  color:var(--color-text);
}
.who3 span.d {
  display:block;
  font-size:var(--fs-16);
  color:var(--color-text-mid);
  margin-top:3px;
}
.note {
  margin-top:18px;
  padding:14px var(--space-4);
  border-radius:var(--radius-lg);
  background:var(--color-surface-alt);
  font-size:var(--font-size-sm);
  color:var(--color-text-soft);
}
.note strong {
  color:var(--color-text);
}
.crumb {
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-1) var(--space-2);
  align-items:center;
  font-size:var(--fs-14);
  color:var(--color-muted);
  margin-bottom:14px;
}
.crumb a {
  color:var(--color-muted);
  text-decoration:none;
}
.crumb a:hover {
  color:var(--color-accent);
  text-decoration:underline;
}
.crumb i {
  font-style:normal;
  color:var(--color-dot);
}
.hero.inner.center {
  text-align:center;
}
.hero.inner.center .lede,.hero.inner.center .sub {
  margin-inline:auto;
}
.hero-grid.one {
  grid-template-columns:minmax(0,1fr);
}
.prose-p {
  font-size:var(--fs-18_5);
  line-height:1.65;
  color:var(--color-text-soft);
  max-width:var(--measure);
  text-wrap:pretty;
}
.prose-p+.prose-p {
  margin-top:var(--space-4);
}
.prose-p strong {
  color:var(--color-text);
}
.chips {
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2);
}
.chip {
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 var(--space-3);
  border-radius:var(--radius-md);
  border:1px solid var(--color-border-strong);
  background:var(--color-white);
  font-size:var(--fs-14_5);
  font-weight:600;
  color:var(--color-text-soft);
  text-decoration:none;
}
.chip.on {
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:var(--color-white);
}
.tagsoon {
  display:inline-block;
  padding:var(--space-1) 10px;
  border-radius:var(--radius-sm);
  font-size:var(--fs-12_5);
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  background:var(--color-surface-alt);
  color:var(--color-warn-text);
}
.taglive {
  display:inline-block;
  padding:var(--space-1) 10px;
  border-radius:var(--radius-sm);
  font-size:var(--fs-12_5);
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  background:var(--color-success-tint);
  color:var(--color-secondary-dark);
}
.startbar {
  display:grid;
  gap:14px;
  padding:var(--space-6) 22px;
  border:1.5px solid var(--color-primary);
  border-radius:var(--radius-xl);
  background:var(--color-success-wash);
}
.startbar h3 {
  font-family:var(--font-heading);
  font-size:var(--fs-26);
  font-weight:600;
  line-height:1.12;
  letter-spacing:-.01em;
  color:var(--color-text);
}
.startbar p {
  font-size:var(--fs-16_5);
  color:var(--color-text-soft);
}
.startbar .btn {
  justify-self:start;
}
.cmpt td.us::before {
  color:var(--color-secondary);
}
.svc-card {
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:var(--space-6) 22px;
  background:var(--color-white);
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
}
.svc-card h3 {
  font-family:var(--font-heading);
  font-size:var(--fs-24);
  font-weight:600;
  line-height:1.15;
  letter-spacing:-.01em;
  color:var(--color-text);
}
.svc-card .sp {
  display:flex;
  align-items:baseline;
  gap:var(--space-2);
  margin:6px 0 var(--space-1);
}
.svc-card .sp strong {
  font-family:var(--font-heading);
  font-size:var(--fs-40);
  line-height:1;
  font-weight:600;
  color:var(--color-text);
}
.svc-card .sp span {
  font-size:var(--fs-15);
  color:var(--color-muted);
}
.svc-card p.d {
  font-size:var(--fs-16);
  color:var(--color-text-mid);
}
.svc-card .btn {
  margin-top:var(--space-3);
  align-self:flex-start;
}
.jstep.us .jn b {
  color:var(--color-accent);
}
.jstep.us .jtag {
  background:var(--color-danger-bg-2);
  color:var(--color-accent-dark);
}
.mk-node.on {
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:var(--color-white);
}
.svc-card .meta {
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2);
  margin:2px 0 6px;
}
.svc-card .meta span {
  padding:var(--space-1) 10px;
  border-radius:var(--radius-sm);
  background:var(--color-surface-alt);
  font-size:var(--fs-13_5);
  font-weight:600;
  color:var(--color-text-soft);
}
.svc-card .links {
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2) 18px;
  align-items:center;
  margin-top:14px;
}
.svc-card .links .btn {
  margin-top:0;
}
.formcard .btn {
  width:100%;
  margin-top:6px;
}
.kf.warn b {
  color:var(--color-accent);
}
.tile {
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:var(--color-primary);
}
.tile svg {
  position:relative;
  width:64px;
  height:64px;
  color:var(--white-a92);
}
.tile::before {
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(135deg,var(--white-a05) 0,var(--white-a05) 12px,transparent 12px,transparent 24px);
}
.tile.c1 {
  background:var(--color-primary);
}
.tile.c2 {
  background:var(--color-primary-500);
}
.tile.c3 {
  background:var(--color-accent);
}
.tile.c4 {
  background:var(--color-warn);
}
.tile.c5 {
  background:var(--color-secondary);
}
.tile.c6 {
  background:var(--color-warn-muted);
}
.tile.c7 {
  background:var(--color-info);
}
.tile .imgtag {
  position:absolute;
  left:10px;
  bottom:8px;
  font-size:var(--fs-11);
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--white-a75);
}
.catrow :is(button,a).on {
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:var(--color-white);
}
.catrow :is(button,a).on span {
  color:var(--color-on-dark-muted);
}
.rcard .tile {
  height:120px;
}
.more .btn {
  min-width:240px;
}
.tile .tl {
  position:relative;
  font-family:var(--font-heading);
  font-size:var(--fs-34);
  font-weight:600;
  letter-spacing:-.02em;
  color:var(--white-a94);
}
.rf-img .tile {
  height:100%;
  min-height:200px;
}
.art-fig .tile .tl {
  font-size:var(--fs-64);
}
.art-fig {
  margin:var(--space-6) 0 0;
}
.art-fig .tile {
  height:220px;
  border-radius:var(--radius-xl);
}
.art-fig figcaption {
  font-size:var(--fs-14);
  color:var(--color-muted-soft);
  margin-top:var(--space-2);
}
:is(.callout.warn,.is-style-callout-warn) {
  background:var(--color-danger-bg-3);
}
:is(.callout.warn,.is-style-callout-warn) strong.ct {
  color:var(--color-danger-dark);
}
.art-cta .cta-row {
  margin-top:18px;
}
.nf .cta-row {
  align-items:center;
  margin-inline:auto;
  max-width:420px;
}
@media (min-width:860px){
  .hero.inner {
    padding:var(--space-16) 0 var(--space-20);
  }
  .hero.inner h1 {
    font-size:var(--fs-64);
    line-height:1;
  }
  .hero .price-card {
    position:static;
    top:auto;
  }
  .for {
    margin-top:26px;
  }
  .docs {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
  }
  .doc {
    padding:26px 26px;
  }
  .r5 {
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:var(--space-5);
  }
  .step5 {
    flex-direction:column;
    gap:14px;
    padding:var(--space-6) var(--space-5);
    background:var(--color-white);
    border:1px solid var(--color-border);
    border-radius:var(--radius-lg);
  }
  .step5:not(:last-child)::before {
    display:none;
  }
  .two {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--space-6);
  }
  .lcard {
    padding:var(--space-8) var(--space-8) 28px;
  }
  .band {
    grid-template-columns:auto minmax(0,1fr);
    gap:var(--space-2) var(--space-12);
    align-items:center;
    padding:44px var(--space-12);
  }
  .band .bn {
    font-size:var(--fs-112);
  }
  .why4 {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:var(--space-5);
  }
  .xsell {
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:var(--space-8);
    padding:var(--space-8) 36px;
  }
  .xsell .btn {
    justify-self:end;
  }
  .cmpt td.us {
    background:var(--color-success-wash-2);
  }
  .cmpt thead th.us {
    background:var(--color-success-tint);
    color:var(--color-secondary-dark);
  }
  .svc-card {
    padding:var(--space-8) var(--space-8) 28px;
  }
  .svc-card .sp strong {
    font-size:var(--fs-52);
  }
  .cost4 {
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:var(--space-16);
  }
  .cost4 div {
    padding:26px 0;
  }
  .honest {
    max-width:820px;
    font-size:var(--fs-18);
  }
  .pull {
    font-size:var(--fs-36);
  }
  .defc {
    padding:44px 44px var(--space-10);
  }
  .three {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--space-5);
  }
  .who3 {
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:var(--space-10);
    border-top:0;
  }
  .who3 li {
    flex-direction:column;
    gap:10px;
    border-top:1px solid var(--color-border);
    border-bottom:0;
    padding:22px 0 0;
  }
  .hero-grid.one {
    grid-template-columns:minmax(0,860px);
  }
  .r5.r3 {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .formcard .btn {
    width:auto;
    min-width:240px;
  }
  .startbar {
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:var(--space-8);
    padding:var(--space-8) 36px;
  }
  .startbar .btn {
    justify-self:end;
  }
  .rcard .tile {
    height:150px;
  }
  .art-fig .tile {
    height:420px;
  }
  .toc-col {
    position:sticky;
    top:var(--sticky-offset);
  }
}

/* Featured images shown in the category tile's frame (WordPress supplies the photo, the tile is the fallback) */
.tile--photo::before {
  display:none;
}
.tile--photo img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.art-fig > img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:var(--radius-xl);
}
.catrow a {
  text-decoration:none;
}
