:root {
  --bg: #0c0b0e;
  --surface: #151317;
  --line: #322a31;
  --text: #f5f1f3;
  --muted: #a9a2ac;
  --brand: #d72a58;
  --brand-soft: #f299b2;
  --max: 1280px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { display: block; max-width: 100%; }
main { overflow: clip; }
section { scroll-margin-top: 88px; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--brand-soft); outline-offset: 5px; }
.container { width: min(var(--max), calc(100% - 64px)); margin: 0 auto; }
.skipLink { position: fixed; z-index: 100; top: -80px; left: 20px; padding: 14px 20px; background: white; color: #171317; border-radius: 8px; }
.skipLink:focus { top: 12px; }
.siteHeader { position: sticky; top: 0; z-index: 50; background: #0c0b0ef0; backdrop-filter: blur(18px); border-bottom: 1px solid #ffffff0b; }
.headerInner { height: 80px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 32px; }
.brand { display: block; width: 180px; }
.brand img { width: 100%; height: auto; }
.mainNav { display: flex; gap: 30px; }
.mainNav a { font-size: 12px; color: #b7b0b9; transition: color .2s; }
.mainNav a:hover { color: #fff; }
.headerInner > .btn { justify-self: end; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 50px; padding: 0 23px; background: linear-gradient(110deg, #c71f54, #dc324c); border: 1px solid #ef4b702f; border-radius: 99px; color: #fff; font-size: 12px; font-weight: 650; transition: filter .2s, transform .2s; }
.btn:hover { filter: brightness(1.12); transform: translateY(-1px); }
.btn > span { font-size: 18px; font-weight: 400; }
.btnSmall { min-height: 40px; padding: 0 19px; font-size: 11px; gap: 15px; }
.kicker { display: flex; align-items: center; gap: 10px; margin: 0 0 22px; color: #afa2af; text-transform: uppercase; letter-spacing: .15em; font-size: 9px; font-weight: 650; }
.kicker > span { display: block; width: 23px; height: 2px; background: var(--brand); flex-shrink: 0; }
.brandHero { position: relative; background: radial-gradient(ellipse at 16% 80%, #60182d19, transparent 48%), var(--bg); }
.heroGrid { display: grid; grid-template-columns: 1.03fr 1fr; gap: 52px; align-items: center; padding: 67px 0 54px; min-height: min(760px, calc(100svh - 142px)); }
.brandHeroCopy h1 { font-size: clamp(52px, 5.5vw, 82px); font-weight: 620; line-height: 1.02; letter-spacing: -.062em; margin: 0; }
.brandHeroCopy h1 em { font-style: normal; color: var(--brand-soft); }
.heroLead { max-width: 440px; margin: 28px 0 0; font-size: 15px; line-height: 1.85; color: #aaa3ac; }
.heroLead strong { color: #e8dce5; font-weight: 550; }
.heroActions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 30px; }
.textLink { font-size: 11px; color: #c1b7c4; display: inline-flex; gap: 12px; align-items: center; padding: 10px 0; }
.textLink:hover { color: #fff; }
.textLink span { color: var(--brand-soft); font-size: 17px; }
.heroSignature { display: flex; align-items: center; gap: 15px; margin-top: 42px; }
.signatureLine { width: 2px; height: 36px; background: linear-gradient(var(--brand), #692239); }
.heroSignature p { margin: 0; font-size: 10px; color: #8c808f; line-height: 1.9; }
.heroSignature strong { color: #c7bac9; font-weight: 450; }
.brandHeroVisual { position: relative; isolation: isolate; margin: 0; height: clamp(440px, 43vw, 580px); border-radius: 100px 18px 18px 18px; border: 1px solid #ffffff18; overflow: hidden; background: #201d22; }
.brandHeroVisual > img, .brandHeroVisual > video { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.brandHeroVisual > video { display: block; }
.heroPhotoShade { position: absolute; inset: 0; background: linear-gradient(180deg, #09081108 25%, #100c1240 57%, #140d17ed 100%); }
.brandHeroVisual figcaption { position: absolute; z-index: 1; bottom: 33px; left: 32px; right: 30px; }
.brandHeroVisual figcaption > span { display: block; font-size: 12px; color: #ded0df; margin-bottom: 6px; }
.brandHeroVisual figcaption > strong { display: block; font-size: clamp(26px, 2.5vw, 36px); font-weight: 500; letter-spacing: -.035em; }
.brandHeroVisual figcaption > div { display: flex; gap: 7px; margin-top: 20px; }
.brandHeroVisual figcaption > div > span { font-size: 9px; padding: 6px 11px; border: 1px solid #dfb9d13a; border-radius: 99px; background: #ffffff08; color: #ded1de; }
.heroBottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 21px 0 26px; border-top: 1px solid #33262f; color: #8e818f; font-size: 10px; }
.heroBottom > a { display: flex; gap: 20px; color: #cbbaca; }
.heroBottom > a span { color: var(--brand-soft); }
.sectionHeader { display: grid; grid-template-columns: 1.15fr 1fr; gap: 70px; align-items: end; margin-bottom: 48px; }
.sectionHeader h2 { margin: 0; font-size: clamp(36px, 4.2vw, 58px); font-weight: 580; line-height: 1.06; letter-spacing: -.05em; }
.sectionHeader > p { max-width: 380px; justify-self: end; font-size: 14px; line-height: 1.85; margin: 0 0 3px; color: var(--muted); }
.process { padding: 110px 0 115px; background: #121015; border-top: 1px solid #2b222b; }
.stepGrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.step { padding-top: 25px; border-top: 1px solid #4c3241; }
.stepNumber { display: block; margin-bottom: 29px; font-size: 12px; color: #e77898; letter-spacing: .05em; }
.step h3 { margin: 0 0 12px; font-size: 19px; font-weight: 500; letter-spacing: -.03em; }
.step p { margin: 0; color: #a49aa8; font-size: 12px; line-height: 1.85; }
.cta { position: relative; padding: 102px 0; background: radial-gradient(ellipse at 65% 85%, #aa23462e, transparent 60%), #1a1019; }
.ctaInner { display: flex; justify-content: space-between; align-items: center; gap: 70px; }
.cta h2 { margin: 0; font-size: clamp(47px, 5.5vw, 78px); letter-spacing: -.055em; line-height: 1.03; font-weight: 580; }
.cta h2 em { font-style: normal; color: var(--brand-soft); }
.ctaInner > div > p:not(.kicker) { margin: 23px 0 27px; font-size: 14px; line-height: 1.8; color: #b6a3b6; }
.contactBrand { width: min(400px, 40%); transform: rotate(-3deg); }
.logoPaper { padding: 7px 10px; background: white; border-radius: 10px; box-shadow: 0 32px 60px #0003; }
.logoPaper img { width: 100%; height: auto; }
.contactBrand > span { display: block; margin-top: 22px; color: #b7a1b4; text-align: center; font-size: 9px; }
footer { background: #0b090d; }
.footerInner { padding: 38px 0; display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.footerInner .brand { width: 160px; }
.footerInner > p { margin: 0; font-size: 12px; line-height: 1.7; color: #c8bccb; }
.footerInner > p span { color: #8c7f91; }
.footerInner > a:not(.brand) { font-size: 12px; color: #c8b9cb; }
.footerInner > a > span { color: var(--brand-soft); margin-left: 10px; }
.footerBottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #282029; padding: 20px 0; font-size: 9px; color: #8b7d8e; line-height: 1.7; }
@media (max-width: 1050px) {
  .mainNav { gap: 18px; }.mainNav a { font-size: 11px; }
  .headerInner { gap: 20px; }.brand { width: 165px; }
  .heroGrid { gap: 32px; }.brandHeroCopy h1 { font-size: 60px; }
  .brandHeroVisual { height: 500px; }.heroActions { gap: 8px 18px; }
  .sectionHeader { gap: 35px; }.stepGrid { gap: 22px; }.step h3 { font-size: 17px; }
}
@media (max-width: 800px) {
  .mainNav { display: none; }.headerInner { display: flex; justify-content: space-between; height: 72px; }
  .heroGrid { grid-template-columns: 1fr; padding: 50px 0 32px; gap: 37px; }.brandHeroCopy h1 { font-size: clamp(50px, 9vw, 72px); }
  .heroLead { max-width: 500px; }.heroSignature { margin-top: 25px; }.brandHeroVisual { height: 420px; border-top-left-radius: 65px; }
  .sectionHeader { grid-template-columns: 1fr; gap: 22px; }.sectionHeader > p { justify-self: start; }
  .stepGrid { grid-template-columns: 1fr 1fr; gap: 36px 25px; }.process { padding: 75px 0; }
  .ctaInner { gap: 36px; }.contactBrand { width: 40%; }.cta { padding: 75px 0; }
}
@media (max-width: 540px) {
  .container { width: calc(100% - 36px); }.headerInner { height: 72px; gap: 15px; }.brand { width: 151px; }.btnSmall { min-height: 36px; padding: 0 13px; gap: 10px; font-size: 10px; }
  .kicker { font-size: 8px; letter-spacing: .11em; gap: 8px; margin-bottom: 20px; }
  .brandHeroCopy h1 { font-size: clamp(45px, 10.7vw, 60px); }.heroLead { margin-top: 23px; font-size: 14px; line-height: 1.85; }.heroActions { margin-top: 24px; gap: 13px; }.heroActions .btn { min-height: 47px; padding: 0 19px; font-size: 11px; }.textLink { font-size: 11px; }
  .brandHeroVisual { height: 340px; border-top-left-radius: 60px; }.brandHeroVisual figcaption { left: 24px; right: 24px; bottom: 24px; }.brandHeroVisual figcaption > strong { font-size: 31px; }
  .heroBottom { align-items: flex-start; font-size: 9px; }.heroBottom > span { max-width: 145px; line-height: 1.7; }.heroBottom > a { padding-top: 3px; gap: 8px; }
  .sectionHeader { margin-bottom: 32px; }.sectionHeader h2 { font-size: 37px; }.sectionHeader > p { font-size: 13px; }
  .stepGrid { gap: 29px 20px; }.stepNumber { margin-bottom: 21px; }.step h3 { font-size: 18px; }.step p { font-size: 11px; }
  .ctaInner { flex-direction: column; align-items: flex-start; gap: 46px; }.cta h2 { font-size: 58px; }.ctaInner > div > p:not(.kicker) { font-size: 13px; }.contactBrand { width: min(310px, 95%); align-self: center; transform: rotate(-2deg); }
  .footerInner { flex-wrap: wrap; gap: 25px; padding: 31px 0; }.footerInner .brand { width: 145px; }.footerInner > p { font-size: 11px; }.footerBottom { flex-direction: column; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; } *, *::before, *::after { scroll-behavior: auto !important; }.btn, .mainNav a { transition: none; }
}


.kserv_section { padding: 105px 0 98px; background: #121015; border-top: 1px solid #27202a; }
.kserv_grid { display: grid; grid-template-columns: .92fr 1.28fr; align-items: start; gap: 60px; }
.kserv_selector { padding-top: 4px; }
.kserv_selector > button { display: grid; grid-template-columns: 28px 1fr 20px; align-items: start; gap: 17px; width: 100%; padding: 30px 0; background: transparent; border: 0; border-top: 1px solid #3a2d38; color: inherit; text-align: left; cursor: pointer; }
.kserv_selector > button:last-of-type { border-bottom: 1px solid #3a2d38; }
.kserv_number { padding-top: 5px; font-size: 10px; color: #817184; font-variant-numeric: tabular-nums; }
.kserv_serviceName { display: flex; flex-direction: column; gap: 11px; }
.kserv_serviceName > strong { font-size: 22px; font-weight: 500; line-height: 1.18; letter-spacing: -.035em; color: #bcb0be; }
.kserv_serviceName > span { max-width: 240px; font-size: 11px; color: #948899; line-height: 1.75; }
.kserv_arrow { font-size: 22px; line-height: 1; color: #68556b; transition: transform .2s; }
.kserv_selector > button:hover .kserv_serviceName > strong { color: #fff; }
.kserv_selector > button[aria-pressed=true] { border-top-color: #ce4772; }
.kserv_selector > button[aria-pressed=true] .kserv_number { color: var(--brand-soft); }
.kserv_selector > button[aria-pressed=true] .kserv_serviceName > strong { color: #f5d3df; }
.kserv_selector > button[aria-pressed=true] .kserv_arrow { color: #ef7aa1; transform: translate(2px, -2px); }
.kserv_serviceContact { display: inline-flex; gap: 16px; align-items: center; font-size: 11px; color: #c7acc8; padding: 25px 0 0; }
.kserv_serviceContact > span { color: var(--brand-soft); font-size: 17px; }
.kserv_panel { border: 1px solid #3a2e38; background: #1a151c; border-radius: 20px; overflow: hidden; }
.kserv_imageWrap { height: 310px; position: relative; overflow: hidden; }
.kserv_imageWrap::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 60%, #100e1570); pointer-events: none; }
.kserv_imageWrap > img { width: 100%; height: 100%; object-fit: cover; }
.kserv_imageLabel { position: absolute; z-index: 1; left: 22px; bottom: 20px; display: inline-flex; align-items: center; gap: 10px; padding: 8px 11px; border-radius: 6px; background: #131017d9; border: 1px solid #ffffff1c; font-size: 9px; color: #f0e3f0; }
.kserv_imageLabel > span { color: #c7698c; }
.kserv_copy { padding: 28px 30px 27px; min-height: 217px; }
.kserv_copy h3 { margin: 0 0 13px; font-size: 25px; font-weight: 500; letter-spacing: -.04em; line-height: 1.17; }
.kserv_copy > p { margin: 0; color: #aea0b2; font-size: 12px; line-height: 1.85; }
.kserv_copy > ul { list-style: none; margin: 19px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 9px 16px; }
.kserv_copy li { display: flex; align-items: center; gap: 6px; font-size: 9px; color: #c4afc8; }
.kserv_copy li::before { content: ""; width: 3px; height: 3px; border-radius: 50%; background: #e5769a; }
.kserv_technology { display: flex; gap: 25px; align-items: center; margin-top: 49px; padding: 27px 0 0; border-top: 1px solid #322833; scroll-margin-top: 95px; }
.kserv_technology > img { width: 91px; height: 80px; object-fit: contain; opacity: .82; }
.kserv_technology > div { flex: 1; }
.kserv_technology > div > span { display: block; margin-bottom: 8px; font-size: 8px; color: #a48aaa; text-transform: uppercase; letter-spacing: .12em; }
.kserv_technology h3 { margin: 0 0 8px; font-size: 16px; font-weight: 500; letter-spacing: -.02em; color: #d6c6db; }
.kserv_technology p { margin: 0; max-width: 650px; font-size: 11px; line-height: 1.75; color: #98839e; }
.kserv_technology > a { display: inline-flex; align-items: center; gap: 15px; white-space: nowrap; font-size: 11px; color: #d0b2d6; }
.kserv_technology > a > span { color: var(--brand-soft); }
@media (max-width: 1050px) {
  .kserv_grid { gap: 35px; grid-template-columns: .9fr 1.15fr; }.kserv_serviceName > strong { font-size: 20px; }.kserv_selector > button { gap: 9px; padding: 25px 0; }.kserv_imageWrap { height: 280px; }.kserv_copy { padding: 24px; min-height: 257px; }.kserv_copy h3 { font-size: 23px; }
}
@media (max-width: 800px) {
  .kserv_section { padding: 75px 0; }.kserv_grid { grid-template-columns: 1fr; gap: 25px; }.kserv_selector > button { padding: 19px 0; }.kserv_serviceName { gap: 7px; }.kserv_serviceName > span { max-width: none; }.kserv_serviceContact { padding-top: 20px; }.kserv_copy { min-height: 210px; }.kserv_imageWrap { height: 330px; }.kserv_technology { gap: 20px; align-items: start; flex-wrap: wrap; }.kserv_technology > div { min-width: 220px; }.kserv_technology > a { margin-left: 110px; }
}
@media (max-width: 540px) {
  .kserv_serviceName > strong { font-size: 21px; }.kserv_selector > button { grid-template-columns: 20px 1fr 18px; gap: 12px; }.kserv_serviceName > span { font-size: 11px; }.kserv_panel { border-radius: 15px; }.kserv_imageWrap { height: 225px; }.kserv_imageLabel { left: 15px; bottom: 15px; font-size: 8px; }.kserv_copy { padding: 24px 21px; min-height: 290px; }.kserv_copy h3 { font-size: 25px; }.kserv_copy > p { font-size: 12px; }.kserv_copy > ul { display: grid; gap: 10px; }.kserv_copy li { font-size: 10px; }.kserv_technology { margin-top: 31px; padding-top: 26px; gap: 15px; }.kserv_technology > img { width: 61px; height: 60px; }.kserv_technology > div { min-width: 0; }.kserv_technology h3 { font-size: 15px; line-height: 1.5; }.kserv_technology p { font-size: 10px; }.kserv_technology > a { margin-left: 76px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { .kserv_arrow { transition: none; } }


.kener_section { padding: 110px 0 80px; background: radial-gradient(ellipse at 85% 8%, #4b23431a, transparent 35%), #0d0b10; scroll-margin-top: 90px; }
.kener_heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 39px; }
.kener_heading h2 { margin: 0; font-size: clamp(44px, 4.8vw, 69px); font-weight: 580; line-height: 1.03; letter-spacing: -.055em; }
.kener_heading h2 em { color: var(--brand-soft, #f299b2); font-style: normal; }
.kener_heading > div:last-child { max-width: 350px; padding-bottom: 5px; }
.kener_heading p:not(.kicker) { color: #a89bae; font-size: 13px; line-height: 1.8; margin: 0; }
.kener_interactiveLabel { display: flex; align-items: center; gap: 8px; margin-top: 20px; font-size: 10px; color: #d4b7ce; }
.kener_interactiveLabel i { width: 5px; height: 5px; border-radius: 50%; background: #eb81a7; box-shadow: 0 0 14px #ff82ad66; }
.kener_sceneSelector { display: grid; grid-template-columns: repeat(8, 1fr); gap: 6px; margin: 0 0 15px; position: sticky; top: 80px; z-index: 15; background: #0d0b10f5; padding: 10px 0; backdrop-filter: blur(14px); }
.kener_sceneSelector button { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 9px; min-height: 75px; padding: 12px 5px; border: 1px solid #382c3b; border-radius: 12px; background: #151219; color: #b5a6bd; font-size: 10px; cursor: pointer; transition: color .2s, background .2s, border-color .2s; }
.kener_sceneSelector svg { width: 21px; height: 21px; color: #aa8bb1; }
.kener_sceneSelector button:hover { background: #251926; border-color: #7d4a68; color: white; }
.kener_sceneSelector button[aria-pressed=true] { color: #fff0f6; background: linear-gradient(150deg, #633044, #392131); border-color: #cf7198; box-shadow: inset 0 1px #ffccdf22; }
.kener_sceneSelector button[aria-pressed=true] svg { color: #ffa4c5; }
.kener_experience { border: 1px solid #4a3349; border-radius: 22px; background: #151119; overflow: clip; box-shadow: 0 30px 100px #0003; }
.kener_topbar { display: flex; align-items: center; justify-content: space-between; padding: 24px 28px; gap: 20px; border-bottom: 1px solid #312333; }
.kener_sceneNow { display: flex; align-items: center; gap: 12px; }
.kener_sceneNow > svg { width: 31px; height: 31px; color: #efb9bc; }
.kener_sceneNow > div { display: flex; flex-direction: column; gap: 6px; }
.kener_sceneNow strong { font-size: 14px; font-weight: 550; color: #f5dfea; }
.kener_sceneNow span { font-size: 10px; color: #b3a0b6; }
.kener_topActions { display: flex; align-items: center; gap: 10px; }
.kener_demoBadge { margin-right: 10px; font-size: 8px; text-transform: uppercase; letter-spacing: .14em; color: #b899bd; }
.kener_iconButton { display: inline-grid; place-items: center; flex-shrink: 0; width: 33px; height: 33px; border: 1px solid #4c354b; background: #201724; color: #cfb1d3; border-radius: 8px; cursor: pointer; }
.kener_iconButton svg { height: 16px; width: 16px; }
.kener_iconButton:hover { border-color: #db7ca2; color: white; }
.kener_metrics { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid #382738; }
.kener_metrics > * { min-width: 0; padding: 21px 25px; text-align: left; border: 0; border-right: 1px solid #382738; background: transparent; color: #eee2f0; font: inherit; }
.kener_metrics > :last-child { border-right: 0; }
.kener_metrics > button { cursor: pointer; }
.kener_metrics > button:hover, .kener_metrics > button[aria-pressed=true] { background: #2d202b; }
.kener_metrics > * > span { display: flex; align-items: center; gap: 7px; font-size: 10px; color: #c5b8c9; }
.kener_metrics svg { width: 16px; height: 16px; color: var(--source, #dfa0c1); }
.kener_metrics i { margin-left: auto; color: #eac798; font-size: 10px; font-style: normal; }
.kener_metrics strong { display: block; font-size: 31px; font-weight: 500; line-height: 1; letter-spacing: -.05em; font-variant-numeric: tabular-nums; margin: 13px 0 10px; }
.kener_metrics small { font-size: 12px; font-weight: 400; color: #a28ba9; letter-spacing: 0; }
.kener_metrics em { display: flex; justify-content: space-between; font-style: normal; font-size: 9px; line-height: 1.5; color: #a68faa; }
.kener_metrics em > b { color: var(--source); font-weight: 400; }
.kener_workspace { display: grid; grid-template-columns: minmax(0, 1fr) 286px; }
.kener_visualArea { background: radial-gradient(ellipse at 50% 30%, #52364715, transparent 60%), #121016; min-width: 0; display: flex; flex-direction: column; }
.kener_viewbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 20px 22px 0; }
.kener_viewbar > div { display: flex; padding: 3px; border: 1px solid #3e2f42; border-radius: 8px; background: #1a151e; }
.kener_viewbar button { display: flex; align-items: center; justify-content: center; gap: 7px; font-size: 10px; min-height: 31px; padding: 0 13px; border: 0; border-radius: 5px; background: transparent; color: #ad99b4; cursor: pointer; }
.kener_viewbar button[aria-pressed=true] { background: #3c2a40; color: #f0d7eb; }
.kener_viewbar svg { width: 14px; height: 14px; }
.kener_viewbar > span { max-width: 155px; color: #88718e; font-size: 9px; text-align: right; line-height: 1.6; }
.kener_canvas { width: 100%; aspect-ratio: 1200/680; position: relative; margin: auto 0; isolation: isolate; }
.kener_drawing { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.kener_houseImage { filter: brightness(1.12) saturate(.72); transition: filter .65s; }
[data-scene=night] .kener_houseImage { filter: brightness(.7) saturate(.7); }
[data-scene=cloud] .kener_houseImage, [data-scene=reserve] .kener_houseImage { filter: brightness(.91) saturate(.63); }
.kener_roomShade { transition: opacity .6s; }.kener_blinds { transition: height .65s; }
.kener_flow { transition: opacity .25s; }
.kener_flow[data-focused=false] { opacity: .13; }
.kener_flow path { stroke-linecap: round; stroke-linejoin: round; fill: none; }
.kener_track { stroke: #9d87a0; stroke-opacity: .17; stroke-width: 1.4; }
.kener_flow[data-active=false] .kener_track { stroke-dasharray: 3 9; stroke-opacity: .13; }
.kener_glow { stroke: var(--flow); stroke-width: 8; opacity: .1; filter: blur(3px); }
.kener_wire { stroke: var(--flow); stroke-width: 1.8; opacity: .68; }
.kener_particles { stroke: var(--flow); stroke-width: 3; stroke-dasharray: 2 28; animation: travel var(--speed) linear infinite; filter: drop-shadow(0 0 3px var(--flow)); }
.kener_section[data-motion=paused] .kener_particles { animation-play-state: paused; }
@keyframes travel { to { stroke-dashoffset: -60; } }
.kener_node { position: absolute; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 4px; border: 0; background: none; padding: 0; color: #e7dce9; cursor: pointer; transition: opacity .25s; z-index: 2; }
.kener_nodeIcon { display: grid; place-items: center; width: 34px; height: 34px; background: #17141feF; border: 1px solid #8d799788; border-radius: 50%; box-shadow: 0 3px 10px #0008; }
.kener_nodeIcon svg { width: 17px; height: 17px; }
.kener_node[data-active=true] .kener_nodeIcon { border-color: #c4a8cf; background: #312239f2; box-shadow: 0 0 14px #bd82bf1f, 0 3px 8px #0008; }
.kener_node[data-active=false] { color: #938699; }
.kener_node[data-selected=true] .kener_nodeIcon { color: #fff3f8; border-color: #ffa7c9; background: #722d50; box-shadow: 0 0 0 5px #fb84b31c; }
.kener_node[data-dimmed=true] { opacity: .38; }
.kener_node:hover .kener_nodeIcon { border-color: var(--node-color); color: white; }
.kener_nodeLabel { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 4px 7px 5px; border: 1px solid #63566a66; background: #14111bf2; border-radius: 5px; white-space: nowrap; }
.kener_nodeLabel strong { font-weight: 500; font-size: 8px; }.kener_nodeLabel small { color: #bea8c5; font-size: 8px; }
.kener_sourceNode .kener_nodeIcon { color: var(--node-color); border-color: var(--node-color); }
.kener_sourceNode .kener_nodeLabel small { color: var(--node-color); }
.kener_houseCaption { position: absolute; top: 91%; left: 0; width: 100%; display: flex; flex-direction: column; align-items: center; gap: 6px; pointer-events: none; }
.kener_houseCaption > span { color: #ae8ba9; font-size: 7px; text-transform: uppercase; letter-spacing: .16em; }
.kener_houseCaption > strong { font-size: 9px; font-weight: 450; color: #c5aecb; text-align: center; }
[data-scene=leak] .kener_houseCaption > strong { color: #ffb2b9; }
.kener_legend { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px 16px; padding: 14px 18px 23px; margin-top: auto; font-size: 8px; color: #a695af; }
.kener_legend > span { display: flex; align-items: center; gap: 5px; }
.kener_legend i { width: 4px; height: 4px; border-radius: 50%; }.kener_legend .kener_flowHint { color: #786580; margin-left: 4px; }
.kener_schematic { min-height: 500px; aspect-ratio: auto; flex: 1; background-image: radial-gradient(#aa85af16 1px, transparent 1px); background-size: 20px 20px; margin: 16px 0 0; }
.kener_schematic .kener_node { flex-direction: row; padding: 8px 10px; gap: 9px; width: 178px; min-height: 43px; border: 1px solid #56425f; border-radius: 9px; background: #1b1422; }
.kener_schematic .kener_nodeLabel { padding: 0; align-items: flex-start; background: none; border: 0; white-space: normal; text-align: left; }.kener_schematic .kener_nodeLabel strong { font-size: 9px; }.kener_schematic .kener_nodeLabel small { font-size: 9px; }
.kener_schematic .kener_nodeIcon { width: 25px; height: 25px; flex-shrink: 0; box-shadow: none; border: 0; background: #302338; }.kener_schematic .kener_nodeIcon svg { height: 15px; width: 15px; }
.kener_schematic .kener_node[data-selected=true] { border-color: #e68ab7; background: #3b2338; }
.kener_schematic .kener_wire { vector-effect: non-scaling-stroke; stroke-width: 1; }.kener_schematic .kener_particles { vector-effect: non-scaling-stroke; stroke-width: 2; }
.kener_inspector { padding: 22px 24px 25px; border-left: 1px solid #3e2a3d; background: linear-gradient(160deg, #231727, #19131e); min-height: 570px; }
.kener_inspectorTop { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 33px; margin-bottom: 18px; }
.kener_inspectorTop > span { font-size: 8px; text-transform: uppercase; letter-spacing: .13em; color: #b998bb; }.kener_inspectorTop .kener_iconButton { border: 0; background: #35223a; height: 26px; width: 26px; }
.kener_inspectorIcon { display: grid; place-items: center; height: 40px; width: 40px; border: 1px solid #78426277; border-radius: 11px; color: #eda0bd; background: #46243a55; margin-bottom: 20px; }
.kener_inspectorIcon > svg { width: 23px; height: 23px; }
.kener_inspector h3 { margin: 0; font-size: 26px; line-height: 1.1; letter-spacing: -.04em; font-weight: 500; color: #f0deef; }
.kener_inspectorIntro { margin: 15px 0 0; font-size: 11px; line-height: 1.8; color: #b5a0bd; }
.kener_steps { list-style: none; padding: 0; margin: 26px 0 0; display: grid; gap: 20px; }
.kener_steps li { display: flex; align-items: flex-start; gap: 12px; }.kener_steps li > span { color: #cb7a9e; font-size: 8px; margin-top: 4px; }.kener_steps strong { font-size: 11px; font-weight: 500; color: #e1cbe3; }.kener_steps p { margin: 6px 0 0; font-size: 10px; line-height: 1.7; color: #a38aac; }
.kener_decision { display: flex; gap: 8px; align-items: flex-start; border-top: 1px solid #4b304a; padding-top: 18px; margin-top: 24px; font-size: 10px; line-height: 1.65; color: #ddb8d0; }.kener_decision i { flex-shrink: 0; width: 4px; height: 4px; margin-top: 6px; border-radius: 50%; background: #ed91b0; }
.kener_location { display: block; font-size: 9px; color: #ae8fb8; margin-bottom: 9px; }
.kener_selectedPower { font-size: 41px; font-weight: 500; letter-spacing: -.06em; color: #ffe2ef; margin: 22px 0 10px; font-variant-numeric: tabular-nums; }.kener_selectedPower > span { font-size: 14px; font-weight: 400; color: #ab8db4; letter-spacing: 0; }
.kener_statusBadge { display: inline-block; font-size: 9px; padding: 5px 8px; border: 1px solid #8ca36d55; background: #a8c8780c; color: #c6e5a5; border-radius: 5px; }.kener_statusBadge[data-status=waiting] { color: #edc48a; border-color: #bf95505c; background: #b88c3010; }.kener_statusBadge[data-status=off] { color: #aa94b4; border-color: #6a4e7959; }
.kener_reason { padding-top: 19px; margin-top: 23px; border-top: 1px solid #58374e; }.kener_reason > strong { font-size: 10px; color: #ead0e7; font-weight: 500; }.kener_reason > p { color: #ae93b8; font-size: 10px; line-height: 1.8; margin: 7px 0 0; }
.kener_deviceAction { display: flex; width: 100%; justify-content: space-between; align-items: center; gap: 8px; padding: 13px 14px; margin-top: 24px; border: 1px solid #b25d8a; border-radius: 8px; background: #78334f; color: #ffeef6; font-size: 10px; cursor: pointer; }.kener_deviceAction:hover { background: #914160; }
.kener_smallNote { font-size: 9px; line-height: 1.7; color: #997b9f; margin: 15px 0 0; }
.kener_essentialNote { display: flex; gap: 7px; align-items: center; color: #bde9b2; font-size: 10px; margin-top: 23px; }.kener_essentialNote svg { width: 16px; height: 16px; }
.kener_sliderLabel { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; font-size: 10px; color: #bda3c5; margin: 32px 0 15px; }.kener_sliderLabel strong { color: #f2c7dd; font-weight: 500; }
.kener_range { width: 100%; accent-color: #eb8bb4; height: 24px; cursor: pointer; }.kener_range:focus-visible { outline: 2px solid #ffd4e3; outline-offset: 4px; }
.kener_rangeEnds { display: flex; justify-content: space-between; font-size: 8px; color: #94769e; margin-top: 5px; }
.kener_gridReadout { display: grid; gap: 20px; margin-top: 27px; }.kener_gridReadout > span { font-size: 10px; color: #b49abd; }.kener_gridReadout strong { display: block; font-size: 25px; color: #b6d8ff; font-weight: 500; margin-top: 7px; }
.kener_equipmentSection { padding: 28px; border-top: 1px solid #3c2a3c; background: #19121c; }
.kener_equipmentTitle { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 23px; }.kener_equipmentTitle > div > span { display: block; text-transform: uppercase; letter-spacing: .13em; font-size: 8px; color: #c082a6; margin-bottom: 10px; }.kener_equipmentTitle h3 { margin: 0; font-size: 23px; font-weight: 500; letter-spacing: -.035em; }.kener_equipmentTitle > p { color: #a28aa9; font-size: 10px; line-height: 1.75; max-width: 285px; margin: 0; }
.kener_equipmentGrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.kener_deviceCard { border: 1px solid #493147; border-radius: 10px; background: #201724; min-width: 0; }.kener_deviceCard[data-selected=true] { border-color: #d77aa5; background: #362033; }
.kener_cardSelect { display: flex; width: 100%; align-items: flex-start; gap: 11px; border: 0; padding: 16px 14px 14px; background: none; color: #e2cce4; text-align: left; cursor: pointer; }.kener_cardSelect > svg { width: 22px; height: 22px; flex-shrink: 0; color: #bd87b1; }.kener_cardSelect > span { font-size: 10px; line-height: 1.4; }.kener_cardSelect strong { display: block; margin-top: 7px; font-size: 18px; font-weight: 500; letter-spacing: -.025em; font-variant-numeric: tabular-nums; color: #f5e3f2; }.kener_cardSelect b { margin-left: auto; font-size: 12px; font-weight: 400; color: #a776a2; }
.kener_cardBottom { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 39px; padding: 7px 13px 8px; border-top: 1px solid #51344b55; }.kener_cardBottom > span { display: flex; align-items: center; gap: 5px; font-size: 8px; color: #bea7c5; }.kener_cardBottom i { width: 4px; height: 4px; background: #b4e782; border-radius: 50%; }.kener_deviceCard[data-status=waiting] .kener_cardBottom i { background: #efbf77; }.kener_deviceCard[data-status=off] .kener_cardBottom i { background: #705479; }.kener_cardBottom > svg { width: 15px; height: 15px; color: #9daa92; }
.kener_switch { height: 23px; width: 39px; position: relative; border: 1px solid #725272; border-radius: 20px; background: #322239; cursor: pointer; flex-shrink: 0; }.kener_switch > span { display: block; position: absolute; width: 15px; height: 15px; top: 3px; left: 3px; border-radius: 50%; background: #baa1c3; transition: transform .15s; }.kener_switch[aria-checked=true] { background: #a24c72; border-color: #b75b7d; }.kener_switch[aria-checked=true] > span { background: #ffe5ef; transform: translateX(15px); }
.kener_cycleButton { padding: 5px 7px; border: 1px solid #865778; color: #e5bfd6; border-radius: 5px; font-size: 8px; background: #42243a; cursor: pointer; }
.kener_balance { display: flex; align-items: center; gap: 20px; justify-content: space-between; flex-wrap: wrap; padding: 18px 28px; border-top: 1px solid #3a273a; background: #161019; }.kener_balance > span { display: flex; align-items: center; gap: 6px; font-size: 8px; color: #ae8ab7; }.kener_balance i { width: 4px; height: 4px; border-radius: 50%; background: #95c78d; }.kener_balance > p { font-size: 9px; color: #b39aba; margin: 0; line-height: 1.9; font-variant-numeric: tabular-nums; }.kener_balance b { color: #e297bf; padding: 0 5px; }.kener_balance small { color: #e0c5e3; font-size: 9px; margin-left: 4px; }
.kener_afterDemo { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 28px 0 0; }.kener_afterDemo p { color: #a68daf; font-size: 12px; line-height: 1.8; margin: 0; max-width: 650px; }.kener_afterDemo strong { color: #dcc2dc; font-weight: 450; }.kener_afterDemo a { display: flex; gap: 13px; color: #efb4cd; font-size: 11px; white-space: nowrap; }
.kener_footnote { font-size: 9px; color: #826e8b; line-height: 1.85; max-width: 960px; margin: 20px 0 0; }
@media(min-width: 1450px) { .kener_workspace { grid-template-columns: minmax(0, 1fr) 310px; }.kener_nodeLabel strong, .kener_nodeLabel small { font-size: 9px; }.kener_nodeIcon { width: 37px; height: 37px; } }
@media(max-width: 1080px) {
  .kener_heading { gap: 30px; }.kener_heading h2 { font-size: 54px; }.kener_sceneSelector { gap: 5px; }.kener_sceneSelector button { font-size: 9px; }
  .kener_workspace { grid-template-columns: minmax(0, 1fr) 255px; }.kener_inspector { padding: 20px; }.kener_inspector h3 { font-size: 24px; }.kener_viewbar { padding: 17px 15px 0; }.kener_viewbar > span { display: none; }
  .kener_nodeIcon { height: 28px; width: 28px; }.kener_nodeIcon svg { height: 14px; width: 14px; }.kener_nodeLabel { padding: 3px 5px; }.kener_nodeLabel strong,.kener_nodeLabel small { font-size: 7px; }
  .kener_schematic .kener_node { width: 145px; padding: 7px; gap: 5px; }.kener_schematic .kener_nodeLabel strong { font-size: 8px; }.kener_metrics > * { padding: 19px; }.kener_metrics strong { font-size: 28px; }.kener_legend .kener_flowHint { display: none; }.kener_cardSelect { gap: 8px; padding: 14px 10px; }.kener_cardSelect > svg { width: 18px; height: 18px; }.kener_cardSelect > span { font-size: 9px; }.kener_cardSelect strong { font-size: 16px; }
}
@media(max-width: 900px) {
  .kener_section { padding: 78px 0 65px; }.kener_workspace { grid-template-columns: 1fr; }.kener_inspector { border-left: 0; border-top: 1px solid #3e2a3d; min-height: 0; padding: 26px; }.kener_inspectorTop { margin-bottom: 12px; }.kener_inspectorIcon { float: left; margin-right: 14px; margin-bottom: 10px; }.kener_inspector h3 { padding-top: 4px; }.kener_steps { grid-template-columns: repeat(3,1fr); gap: 23px; }.kener_inspectorIntro { clear: both; }.kener_inspector .kener_reason { max-width: 620px; }.kener_deviceAction { max-width: 290px; }.kener_range { max-width: 560px; }.kener_sliderLabel,.kener_rangeEnds { max-width: 560px; }.kener_gridReadout { grid-template-columns: 1fr 1fr; }.kener_viewbar > span { display: block; }.kener_canvas { margin-top: 5px; }.kener_nodeIcon { width: 34px; height: 34px; }.kener_nodeLabel strong,.kener_nodeLabel small { font-size: 8px; }.kener_legend { padding-top: 12px; }.kener_schematic { min-height: 540px; }.kener_schematic .kener_node { width: 178px; }
  .kener_equipmentSection { padding: 25px; }.kener_equipmentGrid { grid-template-columns: repeat(4,1fr); }.kener_cardSelect { flex-wrap: wrap; }.kener_cardSelect b { display: none; }.kener_cardSelect > span { font-size: 9px; }.kener_cardBottom { padding-inline: 9px; }
}
@media(max-width: 800px) { .kener_sceneSelector { top: 72px; }.kener_heading { display: block; }.kener_heading > div:last-child { max-width: 490px; margin-top: 23px; }.kener_heading h2 { font-size: 48px; }.kener_interactiveLabel { margin-top: 13px; }.kener_sceneSelector { grid-template-columns: repeat(4, 1fr); }.kener_sceneSelector button { min-height: 57px; flex-direction: row; gap: 7px; font-size: 9px; }.kener_sceneSelector svg { height: 17px; width: 17px; }.kener_afterDemo { align-items: flex-start; flex-direction: column; gap: 14px; } }
@media(max-width: 600px) {
  .kener_section .container { width: calc(100% - 24px); }.kener_section { padding-top: 62px; }.kener_heading { margin-bottom: 24px; padding-inline: 6px; }.kener_heading h2 { font-size: 44px; }.kener_heading p:not(.kicker) { font-size: 12px; }.kener_heading p br { display: none; }.kener_heading h2 br { display: initial; }.kener_interactiveLabel { font-size: 9px; }
  .kener_sceneSelector { gap: 5px; padding: 8px 0; margin-bottom: 10px; }.kener_sceneSelector button { flex-direction: column; gap: 6px; min-height: 61px; padding: 8px 2px; border-radius: 8px; font-size: 9px; }.kener_sceneSelector svg { height: 18px; width: 18px; }
  .kener_experience { border-radius: 15px; }.kener_topbar { padding: 17px 15px; gap: 10px; }.kener_sceneNow { gap: 9px; }.kener_sceneNow > svg { width: 24px; height: 24px; }.kener_sceneNow strong { font-size: 12px; }.kener_sceneNow span { font-size: 9px; }.kener_demoBadge { display: none; }.kener_topActions { gap: 6px; }.kener_iconButton { width: 31px; height: 31px; }
  .kener_metrics { grid-template-columns: 1fr 1fr; }.kener_metrics > * { padding: 17px 15px; }.kener_metrics > :nth-child(2) { border-right: 0; }.kener_metrics > :nth-child(-n+2) { border-bottom: 1px solid #382738; }.kener_metrics > * > span { font-size: 9px; gap: 6px; }.kener_metrics svg { height: 14px; width: 14px; }.kener_metrics strong { font-size: 27px; margin: 11px 0 7px; }.kener_metrics small { font-size: 11px; }.kener_metrics em { font-size: 8px; }.kener_metrics i { font-size: 8px; }
  .kener_viewbar { padding: 16px 12px 0; }.kener_viewbar > span { max-width: 90px; font-size: 8px; }.kener_viewbar button { padding: 0 10px; font-size: 9px; }.kener_viewbar svg { width: 13px; height: 13px; }
  .kener_canvas:not(.kener_schematic) { margin-top: 18px; margin-bottom: 10px; }.kener_nodeIcon { width: 26px; height: 26px; }.kener_nodeIcon svg { width: 14px; height: 14px; }.kener_node { gap: 2px; }.kener_nodeLabel { display: none; }.kener_node[data-selected=true] .kener_nodeLabel { display: flex; position: absolute; top: 31px; z-index: 10; }.kener_node[data-selected=true] { z-index: 5; }.kener_nodeLabel strong,.kener_nodeLabel small { font-size: 8px; }.kener_houseCaption > span { display: none; }.kener_houseCaption > strong { font-size: 7px; max-width: 290px; line-height: 1.6; }.kener_houseCaption { top: 96%; }
  .kener_wire { stroke-width: 3; }.kener_particles { stroke-width: 4; }.kener_track { stroke-width: 2; }.kener_legend { gap: 7px 11px; padding: 19px 10px 19px; font-size: 7px; }
  .kener_schematic { min-height: 560px; }.kener_schematic .kener_node { width: 123px; min-height: 45px; padding: 6px; gap: 5px; }.kener_schematic .kener_sourceNode { width: 86px; flex-direction: column; gap: 4px; }.kener_schematic .kener_nodeIcon { width: 20px; height: 20px; border-radius: 5px; }.kener_schematic .kener_nodeIcon svg { width: 14px; height: 14px; }.kener_schematic .kener_nodeLabel { display: flex; position: static; }.kener_schematic .kener_nodeLabel strong { font-size: 8px; }.kener_schematic .kener_nodeLabel small { font-size: 8px; }.kener_schematic .kener_sourceNode .kener_nodeLabel { align-items: center; text-align: center; }
  .kener_inspector { padding: 22px 18px; }.kener_inspector h3 { font-size: 25px; }.kener_inspectorIcon { height: 34px; width: 34px; margin-right: 12px; }.kener_inspectorIcon svg { width: 20px; height: 20px; }.kener_inspectorIntro { font-size: 11px; }.kener_steps { grid-template-columns: 1fr; gap: 17px; margin-top: 22px; }.kener_steps p { font-size: 10px; }.kener_steps strong { font-size: 11px; }.kener_steps li { gap: 11px; }.kener_decision { margin-top: 19px; padding-top: 15px; }.kener_selectedPower { font-size: 37px; }.kener_sliderLabel { margin-top: 25px; }.kener_smallNote { font-size: 9px; }
  .kener_equipmentSection { padding: 24px 13px 19px; }.kener_equipmentTitle { display: block; margin-bottom: 20px; }.kener_equipmentTitle h3 { font-size: 24px; max-width: 240px; }.kener_equipmentTitle > p { margin-top: 12px; font-size: 10px; }.kener_equipmentGrid { grid-template-columns: 1fr 1fr; gap: 8px; }.kener_cardSelect { flex-wrap: nowrap; gap: 7px; padding: 13px 10px; }.kener_cardSelect > svg { width: 17px; height: 17px; }.kener_cardSelect > span { font-size: 9px; }.kener_cardSelect strong { font-size: 16px; }.kener_cardBottom { min-height: 42px; gap: 4px; padding: 7px 8px; }.kener_cardBottom > span { font-size: 7px; gap: 4px; }.kener_cycleButton { padding: 5px; font-size: 7px; }.kener_switch { width: 34px; height: 22px; }.kener_switch > span { width: 14px; height: 14px; }.kener_switch[aria-checked=true] > span { transform: translateX(12px); }
  .kener_balance { padding: 16px; gap: 7px; }.kener_balance > p { font-size: 8px; line-height: 1.9; }.kener_balance > span { font-size: 8px; }.kener_afterDemo { padding: 22px 5px 0; }.kener_afterDemo p { font-size: 11px; }.kener_afterDemo a { font-size: 11px; }.kener_footnote { font-size: 8px; padding: 0 5px; }
}
.kener_inspector { scroll-margin-top: 185px; }
.kener_junction { position: absolute; left: 44.1667%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 35px; height: 35px; border-radius: 50%; border: 1px solid #c680a6; background: #231829; color: #eea7c4; pointer-events: none; }
.kener_junction svg { width: 18px; height: 18px; }
.kener_inspectorIntro, .kener_reason > p, .kener_steps p { font-size: 12px; }
.kener_steps strong, .kener_reason > strong, .kener_deviceAction, .kener_sliderLabel { font-size: 12px; }
.kener_node:focus-visible, .kener_section button:focus-visible { outline: 2px solid #ffd4e3; outline-offset: 4px; }
@media(max-width: 800px) { .kener_inspector { scroll-margin-top: 220px; } }
@media(max-width: 600px) {
  .kener_node::after { content: ""; position: absolute; inset: -8px; }
  .kener_schematic .kener_node::after { inset: 0; }
  .kener_sceneSelector button, .kener_viewbar button { font-size: 10px; }
  .kener_metrics > * > span, .kener_metrics em { font-size: 10px; }
  .kener_viewbar button { min-height: 38px; }
  .kener_legend { font-size: 9px; }.kener_houseCaption > strong { font-size: 9px; }
  .kener_schematic .kener_node { width: 112px; }.kener_schematic .kener_sourceNode { width: 80px; }
  .kener_schematic .kener_nodeLabel strong, .kener_schematic .kener_nodeLabel small { font-size: 10px; }
  .kener_cardSelect > span { font-size: 11px; }.kener_cardSelect { min-height: 85px; }
  .kener_cardBottom > span, .kener_cycleButton { font-size: 9px; }.kener_cardBottom { flex-wrap: wrap; }
  .kener_switch::after { content: ""; position: absolute; inset: -10px -5px; }
  .kener_cycleButton { min-height: 34px; }.kener_smallNote, .kener_footnote { font-size: 10px; }
}
@media(prefers-reduced-motion: reduce) { .kener_particles { animation: none; }.kener_node,.kener_flow,.kener_houseImage,.kener_roomShade,.kener_blinds,.kener_switch > span,.kener_sceneSelector button { transition: none; }.kener_motionControl { display: none; } }


/* Casa interactiva ampliada: rutinas completas coordinadas por el Miniserver */
.kplus_routines{border-top:1px solid #493348;background:linear-gradient(135deg,#1d1420 0%,#17121b 55%,#211524 100%);padding:30px 28px 28px;position:relative;overflow:hidden}
.kplus_routines:before{content:"";position:absolute;width:430px;height:430px;right:-170px;top:-270px;border-radius:50%;background:radial-gradient(circle,#b4e78216,transparent 68%);pointer-events:none}
.kplus_head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:22px;position:relative}
.kplus_eyebrow{display:flex;align-items:center;gap:8px;margin:0 0 9px;color:#d98baa;font-size:8px;letter-spacing:.14em;text-transform:uppercase}
.kplus_eyebrow:before{content:"";width:18px;height:1px;background:#df678f}
.kplus_head h3{margin:0;color:#f5e4ef;font-size:25px;line-height:1.15;font-weight:500;letter-spacing:-.035em}
.kplus_head>p{max-width:390px;margin:0;color:#a991ae;font-size:11px;line-height:1.75}
.kplus_grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);gap:14px;position:relative}
.kplus_choices{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.kplus_routine{min-width:0;min-height:116px;padding:15px 13px;border:1px solid #4c354c;border-radius:12px;background:#1b151f;color:#bca9c2;text-align:left;cursor:pointer;transition:.22s ease;position:relative;overflow:hidden}
.kplus_routine:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,#ed739e,#b4e782);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.kplus_routine:hover{transform:translateY(-2px);border-color:#8b536f;background:#271a27;color:#fff}
.kplus_routine[aria-pressed=true]{border-color:#dd779e;background:linear-gradient(145deg,#4b263d,#2a1d2c);box-shadow:0 10px 25px #0003,inset 0 1px #ffffff15;color:#fff}
.kplus_routine[aria-pressed=true]:after{transform:scaleX(1)}
.kplus_routine svg{width:23px;height:23px;color:#e793b2;display:block;margin-bottom:13px}
.kplus_routine strong{display:block;font-size:11px;font-weight:520;margin-bottom:6px}.kplus_routine span{display:block;font-size:8px;line-height:1.55;color:#9f8ba6}
.kplus_live{border:1px solid #4a374c;border-radius:12px;background:#151119;padding:17px 18px;min-height:116px;display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center}
.kplus_core{width:58px;height:58px;position:relative;display:grid;place-items:center;border:1px solid #71954f;border-radius:13px;background:#1d2919;box-shadow:0 0 25px #a8e37816}
.kplus_core:before,.kplus_core:after{content:"";position:absolute;inset:-7px;border:1px solid #9fdb7655;border-radius:17px;opacity:0;animation:kplusPulse 2.2s ease-out infinite}.kplus_core:after{animation-delay:1.1s}
.kplus_core img{width:48px;height:41px;object-fit:contain;filter:drop-shadow(0 0 7px #a8e37844)}
.kplus_status small{display:block;color:#a682a7;font-size:8px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}.kplus_status strong{display:block;color:#ecdeeb;font-size:13px;font-weight:520;line-height:1.35}.kplus_status p{margin:6px 0 0;color:#a894ad;font-size:9px;line-height:1.55}
.kplus_progress{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:1px}.kplus_step{height:3px;background:#3a2d3b;border-radius:5px;overflow:hidden}.kplus_step i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#dd6f98,#b4e782);transform:scaleX(0);transform-origin:left;transition:transform .35s}.kplus_step.done i{transform:scaleX(1)}
.kplus_sensors{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:14px;border:1px solid #402e41;border-radius:10px;overflow:hidden;background:#402e41}.kplus_sensor{background:#171219;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:9px}.kplus_sensor span{font-size:8px;color:#9c86a3;text-transform:uppercase;letter-spacing:.08em}.kplus_sensor strong{font-size:10px;color:#dbc9dd;font-weight:500;white-space:nowrap}.kplus_sensor strong:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;margin-right:6px;background:#b4e782;box-shadow:0 0 8px #b4e78288}
.kener_canvas.kplus-running:after{content:"";position:absolute;left:50.4%;top:51.3%;width:80px;height:80px;border:1px solid #b4e78299;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;animation:kplusHub 1.6s ease-out infinite;z-index:1}
.kener_canvas.kplus-running .kener_particles{filter:drop-shadow(0 0 6px var(--flow));stroke-width:4}
@keyframes kplusPulse{0%{transform:scale(.82);opacity:.75}100%{transform:scale(1.45);opacity:0}}@keyframes kplusHub{0%{transform:translate(-50%,-50%) scale(.45);opacity:.85}100%{transform:translate(-50%,-50%) scale(1.45);opacity:0}}
@media(max-width:900px){.kplus_head{align-items:flex-start}.kplus_grid{grid-template-columns:1fr}.kplus_live{grid-template-columns:auto 1fr}.kplus_choices{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.kplus_routines{padding:24px 14px 20px}.kplus_head{display:block}.kplus_head>p{margin-top:12px}.kplus_choices{grid-template-columns:1fr 1fr}.kplus_routine{min-height:107px}.kplus_sensors{grid-template-columns:1fr 1fr}.kplus_sensor{padding:11px}.kplus_grid{gap:10px}.kplus_core{width:52px;height:52px}.kener_canvas.kplus-running:after{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.kplus_core:before,.kplus_core:after,.kener_canvas.kplus-running:after{animation:none}.kplus_routine{transition:none}}
