/* KNX04 / presentación clara — octubre 2026 */
:root {
  color-scheme: light;
  --knx-canvas: #ffffff;
  --knx-surface: #ffffff;
  --knx-surface-soft: #f8f6fb;
  --knx-ink: #17131b;
  --knx-ink-muted: #514b57;
  --knx-line: #e5e0e9;
  --knx-purple-strong: #6422b8;
  --knx-purple: #8d2bff;
  --knx-red: #bd263b;
  --knx-red-soft: #faeef0;
  --knx-shadow: 0 22px 60px -42px rgb(28 14 42 / 32%);
  --content: 1220px;
  --header-height: 76px;
}

:root[data-theme="light"] {
  color-scheme: light;
  --bg: var(--knx-canvas);
  --bg-deep: var(--knx-canvas);
  --surface: var(--knx-surface);
  --surface-raised: var(--knx-surface);
  --surface-soft: var(--knx-surface-soft);
  --ink: var(--knx-ink);
  --ink-soft: var(--knx-ink-muted);
  --ink-dim: #706977;
  --brand: var(--knx-purple-strong);
  --brand-2: var(--knx-purple);
  --accent: var(--knx-purple-strong);
  --accent-light: var(--knx-red);
  --line: var(--knx-line);
  --line-strong: rgb(100 34 184 / 38%);
  --h04-green: var(--knx-purple-strong);
  --h04-green-deep: var(--knx-purple-strong);
  --h04-white: #ffffff;
  --h04-white-2: #f4f1f6;
}

html,
body { min-height: 100%; background: #fff !important; color: var(--knx-ink); }
body { overflow-x: clip; font-family: Inter, "Segoe UI", Arial, sans-serif; }
body.site-body { display: flex; min-height: 100vh; min-height: 100svh; flex-direction: column; }
body.site-body > main { flex: 1 0 auto; width: 100%; }
::selection { background: #eadcf8; color: #17131b; }
:focus-visible { outline: 3px solid var(--knx-purple); outline-offset: 4px; }
.neural-universe { display: none !important; }

.site-header { padding: 10px 0; background: transparent; }
.site-header.is-scrolled { padding: 8px 0; border-color: var(--knx-line); background: rgb(255 255 255 / 94%); backdrop-filter: blur(14px); }
.nav-shell { min-height: 58px; padding: 5px 8px; border: 1px solid var(--knx-line); border-radius: 14px; background: rgb(255 255 255 / 96%); box-shadow: 0 10px 32px -28px rgb(23 19 27 / 40%); backdrop-filter: blur(12px); }
.brand { gap: 10px; }
.brand img { content: url("../img/brand/knx04/01_LOGOS/svg/KNX04_Mark_Light.svg?v=20261030"); filter: none !important; }
.brand--footer img { content: url("../img/brand/knx04/01_LOGOS/svg/KNX04_Name_Light.svg?v=20261030"); }
.brand strong { color: var(--knx-ink); letter-spacing: -.04em; }
.brand small { color: #645d69; letter-spacing: .1em; }
.site-nav { gap: clamp(12px, 1.8vw, 27px); }
.site-nav a { color: var(--knx-ink-muted); font-size: .78rem; font-weight: 650; }
.site-nav a::after { background: var(--knx-red); }
.site-nav a:hover,
.site-nav a[aria-current="page"] { color: var(--knx-purple-strong); }
.nav-actions { gap: 10px; }
.nav-actions [data-theme-toggle] { display: none !important; }
.menu-button { display: none !important; }
.button { border-radius: 9px; font-weight: 700; letter-spacing: -.01em;  }
.button:hover { transform: none; }
.button--accent { border: 1px solid var(--knx-purple-strong); background: var(--knx-purple-strong); color: #fff; box-shadow: 0 9px 20px -13px rgb(100 34 184 / 70%); }
.button--accent:hover { border-color: #4e198f; background: #4e198f; box-shadow: 0 12px 24px -14px rgb(100 34 184 / 70%); }
.button--ghost { border: 1px solid #cfc8d5; background: #fff; color: var(--knx-ink); }
.button--ghost:hover { border-color: var(--knx-purple-strong); background: #faf7fd; color: var(--knx-purple-strong); }
.text-link { color: var(--knx-purple-strong); font-weight: 700; }
.text-link:hover { color: var(--knx-red); }
.eyebrow,
.capability-code,
.case-type,
.case-detail__meta { color: var(--knx-red); }
.status-led { background: var(--knx-red); box-shadow: 0 0 0 5px rgb(189 38 59 / 10%); }

/* Personal homepage: static, compact and conversion-focused */
.home-hero { position: relative; padding: calc(var(--header-height) + 88px) 0 0; background: #fff; }
.home-hero__inner { max-width: 1120px; padding: 30px 0 64px; text-align: center; }
.home-hero .eyebrow { display: flex; justify-content: center; align-items: center; gap: 11px; margin-bottom: 24px; color: #6b6370; font-size: .68rem; font-weight: 750; letter-spacing: .16em; }
.home-hero__signal { width: 8px; height: 8px; border-radius: 50%; background: var(--knx-red); }
.home-hero h1 { max-width: 1080px; margin: 0 auto; color: var(--knx-ink); font-size: clamp(3rem, 4.7vw, 4.65rem); font-weight: 800; letter-spacing: -.068em; line-height: 1.01; }
.home-hero h1 span { color: var(--knx-purple-strong); }
.home-hero__lead { max-width: 700px; margin: 23px auto 0; color: var(--knx-ink-muted); font-size: clamp(1.05rem, 1.45vw, 1.23rem); line-height: 1.65; }
.home-hero__actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; margin-top: 29px; }
.home-hero__note { margin-top: 15px; color: #716a76; font-size: .78rem; }
.home-proofbar { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--knx-line); border-bottom: 1px solid var(--knx-line); }
.home-proofbar span { padding: 17px 12px; color: var(--knx-ink-muted); font-size: .83rem; font-weight: 650; text-align: center; }
.home-proofbar span + span { border-left: 1px solid var(--knx-line); }
.home-section { padding: clamp(72px, 8vw, 106px) 0; background: #fff; }
.home-section--areas { border-top: 0; }
.home-section__heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 34px; }
.home-section__heading h2,
.method-panel h2,
.about-panel h2,
.faq-layout h2,
.home-contact h2 { max-width: 740px; margin: 12px 0 0; color: var(--knx-ink); font-size: clamp(2.25rem, 4.5vw, 3.85rem); font-weight: 780; letter-spacing: -.06em; line-height: 1.04; }
.home-section__intro { max-width: 410px; margin: 0 0 4px; color: var(--knx-ink-muted); font-size: .98rem; line-height: 1.7; }
.ability-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--knx-line); border-radius: 12px; overflow: hidden; }
.ability-card { position: relative; min-height: 286px; padding: 21px 20px 24px; border-right: 1px solid var(--knx-line); }
.ability-card:last-child { border-right: 0; }
.ability-card:hover { background: #fbf9fd; }
.ability-card__number { display: inline-grid; place-items: center; width: 35px; height: 35px; border: 1px solid #dfd6e8; border-radius: 50%; color: var(--knx-purple-strong); font-family: "SFMono-Regular", Consolas, monospace; font-size: .69rem; }
.ability-card__label { margin-top: 25px; color: var(--knx-red); font-family: "SFMono-Regular", Consolas, monospace; font-size: .56rem; font-weight: 700; letter-spacing: .1em; }
.ability-card h3 { margin: 9px 0 0; color: var(--knx-ink); font-size: 1.2rem; letter-spacing: -.035em; line-height: 1.2; }
.ability-card > p:not(.ability-card__label) { min-height: 82px; margin-top: 10px; color: var(--knx-ink-muted); font-size: .86rem; line-height: 1.6; }
.ability-card .text-link { margin-top: 13px; font-size: .78rem; }
.home-section--work { background: #f8f6fb; }
.home-section__heading--work { align-items: end; }
.home-section__heading--work .text-link { flex: none; margin-bottom: 6px; }
.home-section__disclosure { max-width: 760px; margin: -18px 0 24px; color: #655e6b; font-size: .81rem; line-height: 1.55; }
.project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.project-card { overflow: hidden; border: 1px solid #e4dfe8; border-radius: 12px; background: #fff; }
.project-card:hover { border-color: #cbb9df; }
.project-card__art { display: flex; flex-direction: column; justify-content: space-between; min-height: 172px; padding: 16px 18px; border-bottom: 1px solid var(--knx-line); background: #f4eff9; }
.project-card--signal .project-card__art { background: #fbf0f1; }
.project-card--knowledge .project-card__art { background: #f0f1f5; }
.project-card__art-tag { width: fit-content; padding: 5px 7px; border: 1px solid rgb(100 34 184 / 23%); border-radius: 4px; color: var(--knx-purple-strong); background: #fff; font-family: "SFMono-Regular", Consolas, monospace; font-size: .55rem; letter-spacing: .1em; }
.project-card__art-title { margin-top: 24px; color: var(--knx-ink); font-size: clamp(1.35rem, 2.15vw, 1.9rem); font-weight: 780; letter-spacing: -.05em; line-height: 1.05; }
.project-card__body { padding: 18px 19px 21px; }
.project-card__meta { color: var(--knx-red); font-family: "SFMono-Regular", Consolas, monospace; font-size: .56rem; font-weight: 700; letter-spacing: .1em; }
.project-card__body h3 { margin: 8px 0 0; color: var(--knx-ink); font-size: 1.16rem; letter-spacing: -.035em; }
.project-card__body > p:not(.project-card__meta) { min-height: 66px; margin-top: 9px; color: var(--knx-ink-muted); font-size: .86rem; line-height: 1.58; }
.home-section--method { padding-block: 0; }
.method-panel { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(46px, 8vw, 118px); padding: clamp(32px, 5.5vw, 68px); border: 1px solid var(--knx-line); border-radius: 14px; background: #fff; }
.method-panel__intro > p:not(.eyebrow) { max-width: 410px; margin-top: 17px; color: var(--knx-ink-muted); line-height: 1.7; }
.method-list { list-style: none; margin: 0; padding: 0; }
.method-list li { display: grid; grid-template-columns: 36px 1fr; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--knx-line); }
.method-list li:first-child { padding-top: 0; }
.method-list li:last-child { border-bottom: 0; }
.method-list li > span { color: var(--knx-red); font-family: "SFMono-Regular", Consolas, monospace; font-size: .68rem; font-weight: 700; }
.method-list h3 { margin: 0; color: var(--knx-ink); font-size: 1.04rem; line-height: 1.25; }
.method-list p { margin-top: 5px; color: var(--knx-ink-muted); font-size: .85rem; line-height: 1.55; }
.home-section--about { padding-top: 96px; }
.about-panel { display: grid; grid-template-columns: .62fr 1.38fr; align-items: center; gap: clamp(40px, 8vw, 112px); }
.about-panel__mark { display: grid; justify-items: center; gap: 18px; padding: 35px 20px; border: 1px solid var(--knx-line); border-radius: 12px; background: #f8f6fb; }
.about-panel__mark img { width: 96px; height: 96px; object-fit: contain; }
.about-panel__mark span { color: #746d79; font-family: "SFMono-Regular", Consolas, monospace; font-size: .54rem; letter-spacing: .1em; text-align: center; }
.about-panel__copy p { max-width: 680px; margin-top: 15px; color: var(--knx-ink-muted); line-height: 1.7; }
.about-panel__copy .about-panel__lead { color: var(--knx-ink); font-size: 1.1rem; font-weight: 620; }
.about-panel__copy .button { margin-top: 22px; }
.home-section--faq { border-top: 1px solid var(--knx-line); background: #fff; }
.faq-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(42px, 8vw, 110px); }
.faq-layout > div:first-child > .home-section__intro { margin-top: 16px; }
.faq-list { border-top: 1px solid var(--knx-line); }
.faq-list details { border-bottom: 1px solid var(--knx-line); }
.faq-list summary { position: relative; padding: 20px 38px 20px 0; color: var(--knx-ink); cursor: pointer; font-weight: 700; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { position: absolute; top: 17px; right: 0; color: var(--knx-red); content: "+"; font-size: 1.3rem; font-weight: 500; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 700px; padding: 0 32px 19px 0; color: var(--knx-ink-muted); font-size: .9rem; line-height: 1.65; }
.home-contact { padding: 0 0 clamp(70px, 8vw, 105px); background: #fff; }
.home-contact__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: clamp(28px, 4.7vw, 54px); border: 1px solid #ded5e8; border-radius: 14px; background: #f8f5fb; }
.home-contact h2 { max-width: 710px; margin-top: 9px; font-size: clamp(2.2rem, 4vw, 3.25rem); }
.home-contact__inner > div > p:last-child { max-width: 570px; margin-top: 11px; color: var(--knx-ink-muted); }
.home-contact__inner .button { flex: none; }

/* Shared pages */
.page-hero { padding-block: calc(var(--header-height) + 84px) 64px; border-bottom: 1px solid var(--knx-line); background: #fff; }
.page-hero::before,
.page-hero::after { display: none; }
.page-hero h1 { color: var(--knx-ink); letter-spacing: -.055em; }
.page-hero .lead { color: var(--knx-ink-muted); }
.page-index { color: #746d79; }
.section,
.content-section,
.content-section--surface { background: #fff; }
.section--intro,
.section--cases { background: #fff; }
.section--capabilities { background: var(--knx-surface-soft); }
.section--intro::before,
.section--capabilities::before,
.section--cases::before { display: none; }
.capability,
.detail-card,
.info-card,
.case-detail,
.case-card,
.security-panel,
.project-form,
.faq details { border-color: var(--knx-line); background: #fff; box-shadow: none; }
.capability:hover,
.detail-card:hover,
.info-card:hover,
.case-card:hover { border-color: #cdbce0; box-shadow: 0 16px 36px -32px rgb(30 15 45 / 45%); }
.capability p:not(.capability-code),
.info-card p,
.case-copy p:not(.case-type),
.detail-card p { color: var(--knx-ink-muted); }
.capability-icon { border: 1px solid #e4dce9; background: #f7f3fb; }
.capability-icon__grid,
.capability-icon__route,
.capability-icon__node,
.capability-icon__arrow,
.capability-icon__browser,
.capability-icon__line,
.capability-icon__dot,
.capability-icon__cursor,
.capability-icon__block,
.capability-icon__connector,
.capability-icon__shield,
.capability-icon__check,
.capability-icon__lock { stroke: var(--knx-purple-strong); }
.case-art { background: linear-gradient(140deg, #f5effb, #fff 77%); }
.case-art::before,
.case-art::after { opacity: .25; }
.case-art__label,
.case-art small { color: var(--knx-red); }
.case-copy { background: #fff; }
.case-detail { border-radius: 12px; }
.case-detail__visual { background: linear-gradient(135deg, #f5effb, #fff); color: var(--knx-ink); }
.signal-step { border-color: var(--knx-line); }
.signal-step h3,
.content-section h2,
.section-heading h2 { color: var(--knx-ink); }
.step-number { color: var(--knx-red); }
.cta-panel { border: 1px solid var(--knx-line); border-radius: 14px; background: var(--knx-surface-soft); }
.detail-grid .detail-card { background: #fff; }
.about-mark img { content: url("../img/brand/knx04/01_LOGOS/svg/KNX04_Mark_Light.svg?v=20261030"); filter: none !important; }
.project-form { background: #fff; }
.field input,
.field textarea,
.field select { border-color: #d7d0dc; background: #fff; color: var(--knx-ink); }
.field input:focus,
.field textarea:focus,
.field select:focus { border-color: var(--knx-purple-strong); box-shadow: 0 0 0 3px rgb(100 34 184 / 12%); }
.site-footer { padding-top: 58px; border-top: 1px solid var(--knx-line); background: #fff; }
.site-footer .brand img { content: url("../img/brand/knx04/01_LOGOS/svg/KNX04_Name_Light.svg?v=20261030"); }
.site-footer .footer-grid > div:first-child > p { color: var(--knx-ink-muted); }
.footer-label { color: var(--knx-red); }
.site-footer a:not(.brand) { color: var(--knx-ink-muted); }
.site-footer a:not(.brand):hover { color: var(--knx-purple-strong); }
.toast { border-color: var(--knx-line); background: #fff; color: var(--knx-ink); }

@media (max-width: 980px) {
  :root { --header-height: 66px; }
  .nav-shell { grid-template-columns: 1fr auto; }
  .site-nav { position: absolute; top: calc(100% + 8px); right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 10px; border: 1px solid var(--knx-line); border-radius: 12px; background: #fff; box-shadow: var(--knx-shadow); }
  .site-nav.is-open { display: flex; opacity: 1; pointer-events: auto; transform: none; }
  .site-nav a { padding: 13px 12px; }
  .site-nav a::after { display: none; }
  .nav-actions .button--small { display: none; }
  .menu-button { display: inline-flex !important; width: 44px; min-width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--knx-line); border-radius: 9px; background: #fff; color: var(--knx-ink); font-size: 1.1rem; }
  .ability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ability-card:nth-child(2) { border-right: 0; }
  .ability-card:nth-child(3), .ability-card:nth-child(4) { border-top: 1px solid var(--knx-line); }
  .project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-card:last-child { grid-column: 1 / -1; }
  .split-layout,
  .security-layout,
  .about-layout,
  .contact-layout,
  .case-detail { grid-template-columns: minmax(0, 1fr); gap: clamp(24px, 4vw, 36px); }
  .about-mark { position: static; top: auto; min-height: 260px; }
  .contact-note,
  .section-sticky { position: static; top: auto; }
  .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .home-hero { padding-top: calc(var(--header-height) + 54px); }
  .home-hero__inner { padding-top: 26px; padding-bottom: 52px; }
  .home-hero h1 { max-width: 13ch; font-size: clamp(2.65rem, 10vw, 4.25rem); }
  .home-hero__lead { font-size: 1rem; }
  .home-hero__actions { align-items: stretch; flex-direction: column; }
  .home-hero__actions .button { width: 100%; }
  .home-proofbar { grid-template-columns: 1fr; }
  .home-proofbar span { padding: 12px; }
  .home-proofbar span + span { border-top: 1px solid var(--knx-line); border-left: 0; }
  .home-section__heading { display: block; }
  .home-section__intro { margin-top: 16px; }
  .home-section__heading--work .text-link { display: inline-flex; margin-top: 17px; }
  .home-section__disclosure { margin-top: -8px; }
  .project-grid { grid-template-columns: 1fr; }
  .project-card:last-child { grid-column: auto; }
  .method-panel, .about-panel, .faq-layout { grid-template-columns: 1fr; gap: 30px; }
  .method-panel { padding: 28px 22px; }
  .about-panel__mark { min-height: 190px; }
  .home-contact__inner { align-items: flex-start; flex-direction: column; }
  .home-contact__inner .button { width: fit-content; }
  .page-hero { padding-block: calc(var(--header-height) + 58px) 46px; }
  .page-index { gap: 14px; flex-direction: column; }
  .site-footer { padding-top: 42px; }
}

@media (max-width: 480px) {
  .home-hero .eyebrow { flex-wrap: wrap; font-size: .6rem; }
  .home-hero h1 { font-size: clamp(2.45rem, 10.5vw, 3.4rem); }
  .home-section__heading h2, .method-panel h2, .about-panel h2, .faq-layout h2 { font-size: clamp(2.15rem, 9vw, 3rem); }
  .ability-grid { grid-template-columns: 1fr; }
  .ability-card, .ability-card:nth-child(2), .ability-card:nth-child(3), .ability-card:nth-child(4) { min-height: auto; padding: 20px 18px; border: 0; border-bottom: 1px solid var(--knx-line); }
  .ability-card:last-child { border-bottom: 0; }
  .ability-card__label { margin-top: 19px; }
  .ability-card > p:not(.ability-card__label) { min-height: 0; }
  .project-card__art { min-height: 152px; }
  .project-card__body > p:not(.project-card__meta) { min-height: 0; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:first-child { grid-column: auto; }
}

/* Sin movimiento decorativo; se conservan los estados funcionales y el foco visible. */
*, *::before, *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
html { scroll-behavior: auto !important; }
::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
*:hover { transform: none !important; }
.text-link:hover { color: var(--knx-red); }

/* Igualar las páginas internas a la portada clara. */
:root[data-theme="light"] .page-hero {
  border-color: var(--knx-line) !important;
  background: #fff !important;
}
:root[data-theme="light"] .page-hero .eyebrow,
:root[data-theme="light"] .page-hero .page-index,
:root[data-theme="light"] .status-led {
  color: var(--knx-red) !important;
}
:root[data-theme="light"] .status-led { background: var(--knx-red) !important; box-shadow: 0 0 0 5px rgb(189 38 59 / 10%) !important; }
.page-hero h1 { max-width: 940px; font-size: clamp(2.8rem, 5vw, 4.65rem); line-height: 1.03; }
.page-hero .lead { max-width: 720px; margin-top: 19px; font-size: clamp(1rem, 1.3vw, 1.12rem); }
.page-index { margin-top: 34px; }
:root[data-theme="light"] .section,
:root[data-theme="light"] .section--intro,
:root[data-theme="light"] .section--cases,
:root[data-theme="light"] .section--security,
:root[data-theme="light"] .section--cta,
:root[data-theme="light"] .content-section,
:root[data-theme="light"] .content-section--surface { background: #fff !important; }
:root[data-theme="light"] .section--capabilities { background: var(--knx-surface-soft) !important; }
:root[data-theme="light"] .case-detail__visual,
:root[data-theme="light"] .about-mark,
:root[data-theme="light"] .metric-rail { background: var(--knx-surface-soft) !important; color: var(--knx-ink); }
:root[data-theme="light"] .cta-panel { border-color: var(--knx-line) !important; background: var(--knx-surface-soft) !important; box-shadow: none !important; }
:root[data-theme="light"] .site-footer { border-color: var(--knx-line) !important; background: #fff !important; color: var(--knx-ink) !important; }
:root[data-theme="light"] .site-footer .brand strong { color: var(--knx-ink) !important; }
:root[data-theme="light"] .site-footer .brand small,
:root[data-theme="light"] .site-footer .footer-grid > div:first-child > p,
:root[data-theme="light"] .site-footer a:not(.brand) { color: var(--knx-ink-muted) !important; }
:root[data-theme="light"] .site-footer .footer-label { color: var(--knx-red) !important; }

/* Conversión con pasos visibles, respuestas locales y contacto voluntario. */
.method-diagnostic { grid-column: 2; justify-self: start; margin-top: -18px; }
.home-section--event { border-top: 1px solid var(--knx-line); background: var(--knx-surface-soft); }
.event-panel { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: clamp(26px, 4.5vw, 52px); border: 1px solid var(--knx-line); border-radius: 14px; background: #fff; }
.event-panel h2 { max-width: 720px; margin: 12px 0 0; color: var(--knx-ink); font-size: clamp(2rem, 3.5vw, 3.2rem); letter-spacing: -.055em; line-height: 1.05; }
.event-panel p:not(.eyebrow) { max-width: 680px; margin-top: 15px; color: var(--knx-ink-muted); line-height: 1.65; }
.event-date { color: var(--knx-red) !important; font-size: .83rem; font-weight: 700; }
.event-panel .button { flex: none; }
.contact-channels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 22px; }
.contact-channel { min-width: 0; padding: 15px; border: 1px solid var(--knx-line); border-radius: 10px; background: #fff; }
.contact-channel .capability-code { margin: 0 0 8px; }
.contact-channel a { color: var(--knx-purple-strong); font-size: 1.12rem; font-weight: 750; text-decoration: none; }
.contact-channel a:hover { color: var(--knx-red); }
.whatsapp-draft { width: fit-content; margin-top: 10px; }
.whatsapp-draft[hidden] { display: none !important; }

.offer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.offer-grid .info-card { min-height: 230px; }
.offer-grid .text-link { display: inline-flex; margin-top: 14px; }
.offer-note { margin-top: 20px; padding: 16px 18px; border-left: 3px solid var(--knx-red); background: var(--knx-surface-soft); color: var(--knx-ink-muted); font-size: .9rem; line-height: 1.6; }
.offer-note strong { color: var(--knx-ink); }

.content-section--walkthrough { background: var(--knx-surface-soft); }
.walkthrough-disclosure { max-width: 790px; margin: -12px 0 22px; color: var(--knx-ink-muted); font-size: .85rem; line-height: 1.6; }
.walkthrough-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin: 0; padding: 0; list-style: none; }
.walkthrough-steps li { display: flex; flex-direction: column; min-height: 250px; padding: 20px; border: 1px solid var(--knx-line); border-radius: 12px; background: #fff; }
.walkthrough-steps li > span { color: var(--knx-red); font-family: "SFMono-Regular", Consolas, monospace; font-size: .72rem; font-weight: 750; }
.walkthrough-steps h3 { margin: 22px 0 0; color: var(--knx-ink); font-size: 1.18rem; letter-spacing: -.025em; }
.walkthrough-steps p { margin: 9px 0 18px; color: var(--knx-ink-muted); font-size: .88rem; line-height: 1.6; }
.walkthrough-steps .text-link { margin-top: auto; }

.diagnostic-layout { display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(250px, .72fr); align-items: start; gap: 20px; }
.diagnostic-aside { position: sticky; top: 100px; padding: 26px; border: 1px solid var(--knx-line); border-radius: 12px; background: var(--knx-surface-soft); }
.diagnostic-aside h2 { margin: 12px 0 0; color: var(--knx-ink); font-size: 1.7rem; letter-spacing: -.045em; line-height: 1.12; }
.diagnostic-aside > p:not(.eyebrow) { margin-top: 12px; color: var(--knx-ink-muted); font-size: .9rem; line-height: 1.65; }
.diagnostic-aside .diagnostic-limit { padding-top: 14px; border-top: 1px solid var(--knx-line); font-size: .81rem !important; }

@media (max-width: 800px) {
  .walkthrough-steps { grid-template-columns: 1fr; }
  .walkthrough-steps li { min-height: 0; }
  .walkthrough-steps h3 { margin-top: 14px; }
  .diagnostic-layout { grid-template-columns: 1fr; }
  .diagnostic-aside { position: static; grid-row: 1; }
  .method-diagnostic { grid-column: 1; margin-top: -10px; }
  .event-panel { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  .offer-grid { grid-template-columns: 1fr; }
  .detail-grid { grid-template-columns: 1fr; }
  .offer-grid .info-card { min-height: 0; }
  .contact-channels { grid-template-columns: 1fr; }
}

/* Selector interactivo: pasos cortos, selección clara y sin campos para escribir. */
.diagnostic-widget { min-width: 0; padding: clamp(20px, 4vw, 36px); border: 1px solid var(--knx-line); border-radius: 14px; background: #fff; }
.diagnostic-progress { display: flex; gap: 12px; margin-bottom: 26px; padding-bottom: 15px; border-bottom: 1px solid var(--knx-line); }
.diagnostic-progress > span { display: inline-flex; align-items: center; gap: 8px; color: #827b88; font-family: "SFMono-Regular", Consolas, monospace; font-size: .72rem; }
.diagnostic-progress > span[aria-current="step"] { color: var(--knx-purple-strong); font-weight: 750; }
.diagnostic-progress > span > span { font-family: Inter, "Segoe UI", Arial, sans-serif; font-size: .78rem; }
.diagnostic-screen[hidden] { display: none !important; }
.diagnostic-screen > .eyebrow { margin-bottom: 10px; }
.diagnostic-screen > h2 { margin: 0; color: var(--knx-ink); font-size: clamp(1.7rem, 3vw, 2.45rem); letter-spacing: -.045em; line-height: 1.12; }
.diagnostic-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-top: 21px; }
.diagnostic-choice { display: flex; min-height: 125px; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 9px; padding: 17px; border: 1px solid var(--knx-line); border-radius: 10px; background: #fff; color: var(--knx-ink); cursor: pointer; text-align: left; }
.diagnostic-choice:hover { border-color: #c8b1df; background: #fcfaff; }
.diagnostic-choice[aria-pressed="true"] { border-color: var(--knx-purple-strong); background: #f7f1fc; box-shadow: inset 0 0 0 1px var(--knx-purple-strong); }
.diagnostic-choice strong { font-size: .98rem; line-height: 1.35; }
.diagnostic-choice > span { color: var(--knx-ink-muted); font-size: .84rem; line-height: 1.5; }
.diagnostic-choice-grid--followup .diagnostic-choice { min-height: 86px; }
.diagnostic-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 21px; }
.diagnostic-back { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; padding: 0 4px; border: 0; background: transparent; color: var(--knx-purple-strong); font-size: .86rem; font-weight: 700; cursor: pointer; text-align: left; }
.diagnostic-back:hover { color: var(--knx-red); }
.diagnostic-screen--result { padding-top: 4px; }
.diagnostic-screen--result h2 { margin: 0; color: var(--knx-ink); font-size: clamp(1.8rem, 3vw, 2.45rem); letter-spacing: -.045em; line-height: 1.1; }
.diagnostic-suggestion { max-width: 820px; margin-top: 13px; color: var(--knx-ink-muted); font-size: .98rem; line-height: 1.7; }
.diagnostic-screen--result .form-note { margin-top: 14px; }
.diagnostic-screen--result .diagnostic-controls { justify-content: flex-start; }
.diagnostic-aside { position: static; }

.contact-page-layout { display: grid; gap: 30px; }
.contact-channels--large { margin-top: 0; }
.contact-channel > p:not(.capability-code) { margin: 10px 0 0; color: var(--knx-ink-muted); font-size: .84rem; line-height: 1.5; }
.contact-shortcuts { padding: clamp(20px, 4vw, 34px); border: 1px solid var(--knx-line); border-radius: 14px; background: var(--knx-surface-soft); }
.contact-shortcuts h2 { margin: 10px 0 0; color: var(--knx-ink); font-size: clamp(1.8rem, 3vw, 2.5rem); letter-spacing: -.045em; }
.contact-shortcut-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.contact-shortcut-grid a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; padding: 13px 15px; border: 1px solid var(--knx-line); border-radius: 9px; background: #fff; color: var(--knx-ink); font-size: .88rem; font-weight: 700; text-decoration: none; }
.contact-shortcut-grid a span { color: var(--knx-purple-strong); }
.contact-shortcut-grid a:hover { border-color: #c8b1df; color: var(--knx-purple-strong); }
.contact-shortcuts > .form-note { margin-top: 14px; }

.walkthrough-steps li > div { display: flex; flex: 1; flex-direction: column; }

@media (max-width: 800px) {
  .diagnostic-aside { position: static; grid-row: auto; }
  .diagnostic-widget { grid-row: 1; }
}

@media (max-width: 560px) {
  .diagnostic-widget { padding: 18px 14px; }
  .diagnostic-choice-grid, .contact-shortcut-grid { grid-template-columns: 1fr; }
  .diagnostic-choice { min-height: 0; padding: 14px; }
  .diagnostic-controls { align-items: stretch; flex-direction: column; }
  .diagnostic-controls .button { width: 100%; justify-content: center; }
}
