/* ===========================================================================
   Enterprise light theme — v26
   Loaded after site.css / header.css. It re-skins the dark navy bands as a
   light, corporate surface and adds the components used by the rich homepage.
   Nothing here changes markup that other pages depend on; the navy tokens are
   kept so any remaining dark component still resolves.
   =========================================================================== */

:root {
  --paper:      #ffffff;
  --tint:       #f6f8fc;
  --tint-2:     #eef2f9;
  --rule:       #e3e8f0;
  --rule-soft:  #eff2f8;
  --ink:        #0d1b2f;
  --ink-soft:   #43536a;
  --muted:      #6a7a90;
  --brand:      #1f5fe0;
  --brand-dark: #1747b0;
  --brand-soft: #e9f0ff;
  --shadow-card: 0 1px 2px rgba(13, 27, 47, .04), 0 18px 40px -28px rgba(13, 27, 47, .38);
  --grid-line: rgba(13, 27, 47, .045);
}

/* Subtle blueprint grid used by the light bands. */
.band-grid { position: relative; overflow: hidden; }
.band-grid::before {
  content: "";
  position: absolute; inset: 0;
  background-image: linear-gradient(var(--grid-line) 1px, transparent 1px),
                    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size: 96px 96px;
  pointer-events: none;
}
.band-grid > * { position: relative; z-index: 1; }

/* ------------------------------------------------------------- hero light - */
.hero--light {
  background:
    radial-gradient(900px 520px at 92% -10%, rgba(31, 95, 224, .10), transparent 62%),
    linear-gradient(180deg, #ffffff 0%, #f4f7fd 62%, #eef3fb 100%);
  color: var(--ink);
  border-bottom: 1px solid var(--rule);
  padding: clamp(52px, 6vw, 84px) 0 0;
}
.hero--light .hero__grid {
  grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
  align-items: start;
  gap: clamp(30px, 4vw, 56px);
}
.hero--light h1 { color: var(--ink); max-width: 15ch; font-size: clamp(2.2rem, 4.2vw, 3.35rem); }
.hero--light h1 em { color: var(--brand); font-style: normal; }
.hero--light .eyebrow { color: var(--brand); }
.hero--light .hero__lede { color: var(--ink-soft); font-size: 1.08rem; max-width: 56ch; }
.hero--light .btn--ghost {
  background: var(--surface);
  border-color: var(--rule);
  color: var(--ink);
  box-shadow: var(--shadow-card);
}
.hero--light .btn--ghost:hover { background: var(--tint); color: var(--ink); }

.hero__checks { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 10px; }
.hero__checks li {
  display: flex; align-items: center; gap: 10px;
  color: var(--ink-soft); font-size: .95rem;
}
.hero__checks li::before {
  content: "✓";
  width: 22px; height: 22px; flex: 0 0 auto;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--good-soft, #e3f6ef);
  color: var(--good, #17a97a);
  font-size: .72rem; font-weight: 700;
}

.hero__aside--light { display: grid; gap: 20px; }
.hero__shot {
  margin: 0;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--rule);
  background: #fff;
  box-shadow: 0 30px 60px -40px rgba(13, 27, 47, .55);
}
.hero__shot img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

/* Ledger card, light version. */
.hero--light .ledger,
.ledger--light {
  background: #fff;
  border: 1px solid var(--rule);
  box-shadow: var(--shadow-card);
  backdrop-filter: none;
}
.hero--light .ledger__head,
.ledger--light .ledger__head { color: var(--muted); border-bottom-color: var(--rule); }
.hero--light .ledger__row,
.ledger--light .ledger__row { border-bottom-color: var(--rule-soft); }
.hero--light .ledger__label,
.ledger--light .ledger__label { color: var(--ink); }
.hero--light .ledger__value,
.ledger--light .ledger__value { color: var(--brand); }
.hero--light .ledger__note,
.ledger--light .ledger__note { color: var(--muted); }

/* ------------------------------------------------------- light stat strip - */
.stats--light {
  background: transparent;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  color: var(--ink);
}
.stats--light .stat { border-left: 1px solid var(--rule); padding: 28px 30px; }
.stats--light .stat:first-child { border-left: 0; padding-left: 0; }
.stats--light .stat__value { color: var(--ink); font-size: 2.15rem; }
.stats--light .stat__label { color: var(--muted); }

/* ------------------------------------------------------------- trust bar - */
.trustbar { background: #fff; border-bottom: 1px solid var(--rule); padding: 20px 0; }
.trustbar__inner {
  display: flex; flex-wrap: wrap; align-items: center; gap: 14px 34px;
  justify-content: space-between;
}
.trustbar__label {
  font-family: var(--mono); font-size: .7rem; letter-spacing: .16em;
  text-transform: uppercase; color: var(--muted);
}
.trustbar__list { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 12px; margin: 0; padding: 0; }
.trustbar__list li {
  border: 1px solid var(--rule);
  border-radius: 999px;
  padding: 7px 14px;
  font-size: .82rem;
  color: var(--ink-soft);
  background: var(--tint);
  white-space: nowrap;
}

/* ------------------------------------------------------------ pagehead -- */
.pagehead {
  background:
    radial-gradient(800px 380px at 92% 0%, rgba(31, 95, 224, .10), transparent 60%),
    linear-gradient(180deg, var(--surface) 0%, var(--paper) 100%);
  color: var(--ink);
  border-bottom: 1px solid var(--rule);
}
.pagehead h1 { color: var(--ink); }
.pagehead p { color: var(--ink-soft); }
.pagehead .eyebrow, .pagehead .crumbs { color: var(--muted); }
.pagehead .crumbs a:hover { color: var(--brand); }
.pagehead .btn--ghost { background: var(--surface); border-color: var(--rule); color: var(--ink); }
.pagehead .btn--ghost:hover { background: var(--tint); color: var(--ink); }

/* ------------------------------------------------------------- icon tile - */
.itile {
  width: 44px; height: 44px; border-radius: 12px;
  display: grid; place-items: center;
  background: var(--brand-soft); color: var(--brand);
  margin-bottom: 16px;
  border: 1px solid rgba(31, 95, 224, .16);
}
.itile svg { width: 22px; height: 22px; }

/* --------------------------------------------------------- feature cards - */
.card--feature { padding: 26px 24px 24px; }
.card--feature .card__foot {
  margin-top: auto; padding-top: 14px;
  font-family: var(--mono); font-size: .76rem; letter-spacing: .06em;
  color: var(--brand);
}
.card__list { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 7px; }
.card__list li { font-size: .9rem; color: var(--ink-soft); padding-left: 16px; position: relative; }
.card__list li::before {
  content: ""; position: absolute; left: 0; top: .62em;
  width: 6px; height: 6px; border-radius: 50%; background: var(--brand);
}

/* ------------------------------------------------------------- split row - */
.split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}
.split--reverse .split__media { order: 2; }
.split__media {
  margin: 0; border-radius: 16px; overflow: hidden;
  border: 1px solid var(--rule); box-shadow: var(--shadow-card); background: #fff;
}
.split__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.split__body h2 { margin-bottom: .35em; }
.split__body p { color: var(--ink-soft); }

/* ---------------------------------------------------------------- steps -- */
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; counter-reset: step; }
.steps li {
  background: #fff; border: 1px solid var(--rule); border-radius: var(--radius);
  padding: 24px 22px; position: relative;
}
.steps li::before {
  counter-increment: step; content: counter(step, decimal-leading-zero);
  font-family: var(--mono); font-size: .78rem; letter-spacing: .1em;
  color: var(--brand); display: block; margin-bottom: 12px;
}
.steps h3 { margin: 0 0 6px; font-size: 1rem; }
.steps p { margin: 0; color: var(--ink-soft); font-size: .92rem; }

/* --------------------------------------------------------------- pricing - */
.plan {
  background: #fff; border: 1px solid var(--rule); border-radius: var(--radius);
  padding: 28px 26px; display: flex; flex-direction: column;
}
.plan--featured { border-color: var(--brand); box-shadow: 0 24px 50px -34px rgba(31, 95, 224, .8); }
.plan__tag {
  font-family: var(--mono); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--brand); margin-bottom: 10px;
}
.plan__price { font-family: var(--display); font-weight: 800; font-size: 2rem; color: var(--ink); letter-spacing: -.02em; }
.plan__price small { font-family: var(--mono); font-weight: 400; font-size: .72rem; color: var(--muted); margin-left: 6px; }
.plan ul { list-style: none; margin: 18px 0 22px; padding: 0; display: grid; gap: 9px; }
.plan ul li { font-size: .92rem; color: var(--ink-soft); padding-left: 18px; position: relative; }
.plan ul li::before { content: "✓"; position: absolute; left: 0; color: var(--good, #17a97a); font-size: .8rem; }
.plan .btn { margin-top: auto; }

/* -------------------------------------------------------------- coverage - */
.coverage { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 1px solid var(--rule); border-radius: var(--radius); overflow: hidden; background: #fff; }
.coverage li { padding: 18px 22px; border-right: 1px solid var(--rule-soft); border-bottom: 1px solid var(--rule-soft); font-size: .94rem; color: var(--ink-soft); }
.coverage li strong { display: block; color: var(--ink); font-family: var(--display); font-size: .98rem; margin-bottom: 2px; }

/* ---------------------------------------------------------------- alert -- */
.deadline {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0;
  border: 1px solid var(--rule); border-radius: var(--radius); overflow: hidden; background: #fff;
}
.deadline > div { padding: 20px 22px; border-right: 1px solid var(--rule-soft); }
.deadline > div:last-child { border-right: 0; }
.deadline__date { font-family: var(--mono); color: var(--brand); font-size: .82rem; letter-spacing: .08em; }
.deadline__title { font-family: var(--display); font-weight: 700; color: var(--ink); margin: 6px 0 4px; }
.deadline__note { font-size: .85rem; color: var(--muted); margin: 0; }

/* ------------------------------------------------------------------ cta -- */
.cta--light {
  background: linear-gradient(120deg, #0d1b2f 0%, #12294a 58%, #17376a 100%);
}

/* --------------------------------------------------------------- quotes -- */
.quote { box-shadow: var(--shadow-card); }

/* ------------------------------------------------------------ responsive - */
@media (max-width: 1000px) {
  .steps, .deadline, .coverage { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats--light .stat { padding: 22px; }
}
@media (max-width: 900px) {
  .hero--light .hero__grid { grid-template-columns: minmax(0, 1fr); }
  .split { grid-template-columns: minmax(0, 1fr); }
  .split--reverse .split__media { order: 0; }
}
@media (max-width: 640px) {
  .steps, .deadline, .coverage { grid-template-columns: minmax(0, 1fr); }
  .deadline > div { border-right: 0; border-bottom: 1px solid var(--rule-soft); }
  .trustbar__inner { justify-content: flex-start; }
}

/* ===========================================================================
   v28 — GLOBAL LIGHT CONVERSION
   The live homepage is built from CMS blocks (site/home_blocks.php), so the
   generic .hero / .ledger / .stats / .cta / .pagehead / .calc__result bands
   must be converted too, not only the hand-built home view. These rules are
   last in the cascade and intentionally broad.
   =========================================================================== */

/* --------------------------------------------------------- hero (blocks) - */
.hero {
  color: var(--ink);
  background:
    radial-gradient(900px 520px at 92% -12%, rgba(31, 95, 224, .10), transparent 62%),
    radial-gradient(700px 420px at -8% 110%, rgba(31, 95, 224, .07), transparent 62%),
    linear-gradient(180deg, #ffffff 0%, #f5f8fd 58%, #eaf0fa 100%);
  border-bottom: 1px solid var(--rule);
}
.hero::after {
  background-image: linear-gradient(var(--grid-line) 1px, transparent 1px),
                    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size: 88px 88px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, .8), transparent 72%);
}
.hero h1 { color: var(--ink); }
.hero h1 em { color: var(--brand); }
.hero .eyebrow,
.hero__eyebrow { color: var(--brand); }
.hero__lede { color: var(--ink-soft); }
.hero__lede p { color: var(--ink-soft); }
.hero a:not(.btn) { color: var(--brand); }

.hero .btn--ghost {
  background: var(--surface);
  border-color: var(--rule);
  color: var(--ink);
  box-shadow: var(--shadow-card);
}
.hero .btn--ghost:hover { background: var(--tint); border-color: #c9d5e8; color: var(--ink); }

.hero__points li { color: var(--ink-soft); }
.hero__points li::before { border-color: rgba(31, 95, 224, .45); background: var(--brand-soft); }

.hero__media {
  border: 1px solid var(--rule);
  background: #fff;
  box-shadow: 0 30px 70px -40px rgba(13, 27, 47, .55);
}
.hero__media::after { display: none; }

.hero__proof { border-top: 1px solid var(--rule); }
.hero__proof b { color: var(--ink); }
.hero__proof span { color: var(--muted); }

/* --------------------------------------------------- due-dates ledger card */
.ledger {
  background: #fff;
  border: 1px solid var(--rule);
  box-shadow: var(--shadow-card);
  backdrop-filter: none;
}
.ledger__head { color: var(--muted); border-bottom: 1px solid var(--rule); }
.ledger__row { border-bottom: 1px solid var(--rule-soft); }
.ledger__label { color: var(--ink); }
.ledger__value { color: var(--brand); font-weight: 600; }
.ledger__note { color: var(--muted); }

/* -------------------------------------------------------------- stat strip */
.stats {
  background: var(--tint);
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  color: var(--ink);
}
.stat { border-left: 1px solid var(--rule); }
.stat__value { color: var(--ink); }
.stat__label { color: var(--muted); }

/* -------------------------------------------------------------- page heads */
.pagehead {
  background:
    radial-gradient(900px 420px at 90% -20%, rgba(31, 95, 224, .10), transparent 62%),
    linear-gradient(180deg, var(--surface) 0%, var(--paper) 100%);
  color: var(--ink);
  border-bottom: 1px solid var(--rule);
}
.pagehead h1 { color: var(--ink); }
.pagehead p { color: var(--ink-soft); }
.pagehead .eyebrow { color: var(--brand); }
.pagehead .crumbs { color: var(--muted); }
.pagehead .crumbs a:hover { color: var(--brand); }
.pagehead .btn--ghost {
  background: var(--surface);
  border-color: var(--rule);
  color: var(--ink);
}
.pagehead .btn--ghost:hover { background: var(--tint); color: var(--ink); }

/* ------------------------------------------------------------ calculators */
.calc__result {
  background: linear-gradient(170deg, #f7faff 0%, #eef3fc 100%);
  color: var(--ink);
  border: 1px solid var(--rule);
  box-shadow: var(--shadow-card);
}
.calc__result h3 { color: var(--ink); }
.calc__out { color: var(--ink-soft); border-bottom: 1px solid var(--rule); }
.calc__out b { color: var(--ink); }
.calc__out--lead { color: var(--ink); }
.calc__out--lead b { color: var(--brand); }
.calc__note { color: var(--muted); }

/* -------------------------------------------------------- ink-bg sections */
.sec--bg-ink {
  background: var(--tint);
  color: var(--ink-soft);
  border-block: 1px solid var(--rule);
}
.sec--bg-ink h1, .sec--bg-ink h2, .sec--bg-ink h3, .sec--bg-ink strong { color: var(--ink); }
.sec--bg-ink .prose { color: var(--ink-soft); }
.sec--bg-ink a:not(.btn) { color: var(--brand); }
.sec--bg-ink .card { background: #fff; border-color: var(--rule); box-shadow: var(--shadow-card); }
.sec--bg-ink .card h3 a { color: var(--ink); }
.sec--bg-ink .card p { color: var(--ink-soft); }
.sec--bg-ink .cols__col--boxed { background: #fff; border-color: var(--rule); }

/* The closing CTA band stays navy on purpose: one deliberate dark anchor at
   the foot of a light page reads as premium, not as a dark theme. */
.cta { box-shadow: 0 30px 70px -44px rgba(13, 27, 47, .8); }

/* Tick marks in the hero checklist: a real check, legible on a light band. */
.hero__points li::before {
  content: "";
  width: 18px; height: 18px;
  border: 0;
  border-radius: 50%;
  background: var(--brand-soft)
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f5fe0' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>")
    center / 12px 12px no-repeat;
  box-shadow: inset 0 0 0 1px rgba(31, 95, 224, .28);
}

/* ==================================================================
   v29 — HOME CONTENT SECTIONS (app/Views/site/partials/home_extra.php)
   Self-contained: prefixed .ent* so nothing else can be disturbed.
   ================================================================== */
.ent { padding: 74px 0; background: #fff; }
.ent--tint { background: linear-gradient(180deg, #f6f9ff, #eef4fd); border-block: 1px solid rgba(20, 40, 80, .07); }
.ent__eyebrow {
  margin: 0 0 10px; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase;
  font-weight: 700; color: #1f5fe0;
}
.ent__h2 { margin: 0 0 14px; font-size: clamp(1.55rem, 3vw, 2.3rem); line-height: 1.18; letter-spacing: -.02em; color: #0d1b33; }
.ent__lede { margin: 0 0 26px; max-width: 62ch; font-size: 1.03rem; line-height: 1.65; color: #4a5871; }
.ent__note { margin-top: 18px; font-size: .84rem; color: #78839a; }

.entgrid { display: grid; gap: 20px; }
.entgrid--3 { grid-template-columns: repeat(3, 1fr); }
.entgrid--2 { grid-template-columns: repeat(2, 1fr); }

.entcard {
  background: #fff; border: 1px solid rgba(20, 40, 80, .1); border-radius: 14px; padding: 24px 22px;
  box-shadow: 0 1px 2px rgba(16, 34, 68, .04); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.entcard:hover { transform: translateY(-3px); border-color: rgba(31, 95, 224, .32); box-shadow: 0 14px 34px -18px rgba(16, 40, 92, .45); }
.entcard__t { margin: 0 0 8px; font-size: 1.06rem; color: #0d1b33; }
.entcard__d { margin: 0 0 14px; font-size: .93rem; line-height: 1.6; color: #55637d; }
.entcard__p { font-size: .8rem; font-weight: 700; letter-spacing: .04em; color: #1f5fe0; }

.entsplit { display: grid; grid-template-columns: 1fr 1fr; gap: 46px; align-items: center; }
.entsplit--rev .entshot { order: 2; }
.entshot { margin: 0; border-radius: 16px; overflow: hidden; box-shadow: 0 26px 60px -34px rgba(12, 30, 70, .55); }
.entshot img { display: block; width: 100%; height: 100%; object-fit: cover; }

.entticks { list-style: none; margin: 0 0 26px; padding: 0; display: grid; gap: 12px; }
.entticks li { position: relative; padding-left: 30px; font-size: .96rem; line-height: 1.55; color: #3f4d66; }
.entticks li::before {
  content: ""; position: absolute; left: 0; top: 2px; width: 19px; height: 19px; border-radius: 50%;
  background: rgba(31, 95, 224, .12)
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f5fe0' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>")
    center / 12px 12px no-repeat;
}

.entsteps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; counter-reset: s; }
.entsteps li { padding-top: 20px; border-top: 2px solid rgba(31, 95, 224, .22); }
.entsteps span { display: block; font-family: ui-monospace, "SFMono-Regular", monospace; font-size: .8rem; color: #1f5fe0; letter-spacing: .1em; }
.entsteps b { display: block; margin: 8px 0 6px; font-size: 1.04rem; color: #0d1b33; }
.entsteps p { margin: 0; font-size: .92rem; line-height: 1.6; color: #55637d; }

.entphoto { background: #fff; border: 1px solid rgba(20, 40, 80, .1); border-radius: 16px; overflow: hidden; }
.entphoto img { display: block; width: 100%; height: 260px; object-fit: cover; }
.entphoto__body { padding: 22px 24px 26px; }
.entphoto__body h3 { margin: 0 0 8px; font-size: 1.12rem; color: #0d1b33; }
.entphoto__body p { margin: 0; font-size: .94rem; line-height: 1.62; color: #55637d; }

.entchips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.entchips span {
  font-size: .84rem; padding: 8px 14px; border-radius: 999px; color: #35486b;
  background: #fff; border: 1px solid rgba(20, 40, 80, .12);
}

.enttable { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid rgba(20, 40, 80, .1); border-radius: 12px; overflow: hidden; }
.enttable th, .enttable td { padding: 13px 16px; text-align: left; font-size: .93rem; border-bottom: 1px solid rgba(20, 40, 80, .08); }
.enttable tr:last-child th, .enttable tr:last-child td { border-bottom: 0; }
.enttable th { width: 34%; color: #1f5fe0; font-family: ui-monospace, "SFMono-Regular", monospace; font-weight: 700; white-space: nowrap; }
.enttable td { color: #45536d; }

.entplan { position: relative; background: #fff; border: 1px solid rgba(20, 40, 80, .12); border-radius: 16px; padding: 28px 24px; display: flex; flex-direction: column; }
.entplan--best { border-color: #1f5fe0; box-shadow: 0 22px 50px -28px rgba(20, 60, 150, .5); }
.entplan__flag { position: absolute; top: -12px; left: 24px; background: #1f5fe0; color: #fff; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; padding: 5px 11px; border-radius: 999px; }
.entplan h3 { margin: 0 0 6px; font-size: 1.06rem; color: #0d1b33; }
.entplan__p { margin: 0 0 18px; font-size: 1.9rem; font-weight: 700; color: #0d1b33; letter-spacing: -.02em; }
.entplan__p small { font-size: .8rem; font-weight: 500; color: #78839a; margin-left: 5px; }
.entplan ul { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 9px; }
.entplan li { font-size: .92rem; color: #55637d; padding-left: 18px; position: relative; }
.entplan li::before { content: "·"; position: absolute; left: 4px; color: #1f5fe0; font-weight: 700; }
.entplan .btn { margin-top: auto; align-self: flex-start; }

.entfaq details { background: #fff; border: 1px solid rgba(20, 40, 80, .1); border-radius: 12px; padding: 16px 18px; margin-bottom: 12px; }
.entfaq summary { cursor: pointer; font-weight: 600; color: #0d1b33; font-size: .99rem; list-style: none; }
.entfaq summary::-webkit-details-marker { display: none; }
.entfaq summary::after { content: "+"; float: right; color: #1f5fe0; font-weight: 700; }
.entfaq details[open] summary::after { content: "–"; }
.entfaq p { margin: 12px 0 2px; font-size: .94rem; line-height: 1.65; color: #55637d; }

@media (max-width: 900px) {
  .entgrid--3, .entgrid--2 { grid-template-columns: 1fr 1fr; }
  .entsteps { grid-template-columns: 1fr 1fr; }
  .entsplit { grid-template-columns: 1fr; gap: 28px; }
  .entsplit--rev .entshot { order: 0; }
}
@media (max-width: 640px) {
  .ent { padding: 52px 0; }
  .entgrid--3, .entgrid--2, .entsteps { grid-template-columns: 1fr; }
  .enttable th { width: 40%; }
}
