/* consultation-packages-01  (namespace k5-)  Session packages: midnight navy + brass on cool grey. Selectable package cards, goal filter, comparison table. */
.k5 { --pm-ink: #0f1d3a; --pm-bg: #f3f5f9; --pm-brand: #0f1d3a; --pm-cta: #d4a24c; --pm-on-cta: #0f1d3a; --pm-muted: #4d5a78; --pm-line: #d5dbe8; --pm-soft: #e7ebf4; --pm-surface: #fff;
  --pm-btn-r: 8px; --pm-btn-bd: 0; --pm-btn-sh: 0 4px 0 #8d6a24; }
.k5-dark { background: #0f1d3a; color: #fff; }
.k5-dark :focus-visible { outline-color: #d4a24c; }
.k5-top__in { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-block: 14px; }
.k5-brand { font-weight: 900; text-decoration: none; font-size: 1.1rem; }
.k5-hero { padding-block: 20px 52px; }
.k5-h1 { font-size: clamp(2.05rem, 7.2vw, 3.4rem); line-height: 1.28; font-weight: 900; max-width: 16em; }
.k5-lead { margin: 14px 0 0; color: #b9c3dc; font-size: clamp(1.05rem, 3vw, 1.2rem); line-height: 1.9; max-width: 33em; }
.k5-goal { margin: 26px 0 8px; font-weight: 800; }
.k5-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.k5-chips button { border: 2px solid #3b4b72; background: transparent; color: #fff; border-radius: 999px; min-height: 44px; padding: 2px 18px; font-weight: 800; cursor: pointer; font-size: .98rem; }
.k5-chips button:hover { border-color: #d4a24c; }
.k5-chips button[aria-pressed="true"] { background: #d4a24c; border-color: #d4a24c; color: #0f1d3a; }
.k5-hero .pm-cta { margin-top: 24px; } .k5-hero .pm-btn--ghost { color: #fff !important; border: 2px solid #3b4b72; }

.k5-sec { padding-block: 56px; } .k5-sec--w { background: #fff; }
.k5-h2 { font-size: clamp(1.7rem, 5.4vw, 2.5rem); line-height: 1.32; font-weight: 900; max-width: 19em; }
.k5-sub { margin: 10px 0 0; color: var(--pm-muted); max-width: 36em; }
.k5-pkgs { display: grid; gap: 14px; margin-top: 28px; }
.k5-pkg { position: relative; background: #fff; border: 2px solid var(--pm-line); border-radius: 20px; padding: 24px 20px 22px; display: grid; gap: 4px; align-content: start; cursor: pointer; transition: border-color .15s, opacity .25s, transform .15s; }
.k5-pkg:hover { border-color: #8e9ab8; }
.k5-pkg[aria-checked="true"] { border-color: var(--pm-ink); box-shadow: 0 0 0 3px #d4a24c, 0 14px 30px -14px rgba(15,29,58,.5); }
.k5-pkg:focus-visible { outline: 3px solid #d4a24c; outline-offset: 3px; }
.k5-pkg.is-dim { opacity: .35; }
.k5-pkg__ck { position: absolute; top: 16px; inset-inline-end: 16px; width: 28px; height: 28px; border-radius: 50%; border: 2px solid var(--pm-line); display: grid; place-items: center; color: transparent; }
.k5-pkg[aria-checked="true"] .k5-pkg__ck { background: #d4a24c; border-color: var(--pm-ink); color: var(--pm-ink); }
.k5-pkg__ck .pm-ico { width: 15px; height: 15px; }
.k5-pkg h3 { margin: 0; font-size: 1.3rem; font-weight: 900; padding-inline-end: 0; }
.k5-pkg h3, .k5-pkg .c { padding-inline-start: 0; } .k5-pkg h3 { padding-inline-end: 0; } .k5-pkg .c { color: var(--pm-muted); font-weight: 700; font-size: .95rem; }
.k5-price { display: flex; align-items: baseline; gap: 8px; line-height: 1; margin: 10px 0 2px; } .k5-price b { font-size: clamp(2.6rem, 10vw, 3.2rem); font-weight: 900; direction: ltr; } .k5-price span { font-weight: 800; }
.k5-per { color: var(--pm-muted); font-weight: 700; font-size: .9rem; margin-bottom: 8px; }
.k5-pkg ul { list-style: none; margin: 8px 0 0; padding: 12px 0 0; border-top: 1px solid var(--pm-line); display: grid; gap: 6px; font-weight: 700; font-size: .96rem; } .k5-pkg li { display: flex; gap: 10px; } .k5-pkg li .pm-ico { color: #168a57; margin-top: .3em; }
.k5-fit { margin: 12px 0 0; background: var(--pm-soft); border-radius: 10px; padding: 8px 12px; font-size: .9rem; line-height: 1.6; color: var(--pm-muted); } .k5-fit b { color: var(--pm-ink); }
.k5-bar { margin-top: 22px; display: grid; gap: 12px; background: var(--pm-ink); color: #fff; border-radius: 18px; padding: 18px 20px; align-items: center; }
.k5-bar span { color: #b9c3dc; font-weight: 700; font-size: .9rem; } .k5-bar b { font-size: 1.15rem; font-weight: 900; } .k5-bar .pm-btn { border-radius: 10px; }

.k5-tblwrap { overflow-x: auto; margin-top: 24px; border: 2px solid var(--pm-ink); border-radius: 16px; background: #fff; }
.k5-tbl { width: 100%; min-width: 560px; border-collapse: collapse; }
.k5-tbl th, .k5-tbl td { padding: 14px 16px; text-align: start; border-bottom: 1px solid var(--pm-line); line-height: 1.6; }
.k5-tbl thead th { background: var(--pm-ink); color: #fff; font-weight: 900; } .k5-tbl tbody th { font-weight: 800; } .k5-tbl tr:last-child > * { border-bottom: 0; }
.k5-tbl .y { color: #168a57; font-weight: 900; } .k5-tbl .no { color: #8a93a8; }
.k5-steps { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 14px; counter-reset: k5s; }
.k5-steps li { counter-increment: k5s; display: grid; grid-template-columns: 50px 1fr; gap: 0 16px; } .k5-steps li::before { content: counter(k5s); grid-row: span 2; width: 46px; height: 46px; border-radius: 12px; background: #d4a24c; color: var(--pm-ink); display: grid; place-items: center; font-weight: 900; }
.k5-steps h3 { margin: 0; font-size: 1.1rem; font-weight: 900; } .k5-steps p { margin: 0; color: var(--pm-muted); }
.k5-note { margin-top: 20px; background: #fff7e0; border: 2px dashed #d4a24c; border-radius: 14px; padding: 14px 16px; font-weight: 600; line-height: 1.8; }
.k5-faq { display: grid; gap: 20px; }
.k5-final { text-align: center; padding-block: 52px; } .k5-final h2 { margin: 0 auto 8px; font-size: clamp(1.8rem, 6vw, 2.6rem); font-weight: 900; max-width: 15em; line-height: 1.3; } .k5-final p { color: #b9c3dc; margin: 0 auto 20px; max-width: 28em; }
.k5-foot { background: #0a1429; color: #8190b0; font-size: .9rem; padding-block: 20px; } .k5-foot p { margin: 0; }
@media (min-width: 768px) {
  .k5-sec { padding-block: 84px; } .k5-pkgs { grid-template-columns: repeat(3, 1fr); gap: 18px; }
  .k5-bar { grid-template-columns: 1fr auto; gap: 24px; padding: 20px 26px; } .k5-steps { grid-template-columns: repeat(3, 1fr); gap: 28px; } .k5-steps li { grid-template-columns: 1fr; } .k5-steps li::before { grid-row: auto; margin-bottom: 10px; }
}
@media (min-width: 992px) { .k5-faq { grid-template-columns: 1fr 1.6fr; gap: 56px; align-items: start; } }
