/* home styles extracted from WordPress page 80. */

/* Source: kaios-official-footer-logo-v2 */
.kv-footer-brand > a {
  display:block !important;
  width:104px !important;
  height:28px !important;
  background:url("https://kaiostech.com/wp-content/uploads/2026/09/kaios-footer-logo-official.png") center / contain no-repeat !important;
}
.kv-footer-brand > a > img {
  display:block !important;
  width:104px !important;
  height:28px !important;
  opacity:0 !important;
}
@media (max-width:700px) {
  .kv-footer-brand > a, .kv-footer-brand > a > img { width:96px !important; height:26px !important; }
}

/* Source: kaios-homepage-ceo-mission-section */
body.page-id-80 .kv1-ceo-mission { padding:104px 48px; background:#fff; }
body.page-id-80 .kv1-ceo-mission-badge { display:table; width:max-content; margin:0 0 28px max(0px,calc((100% - 1180px)/2)); color:#651ab0; font-size:12px; font-weight:800; letter-spacing:.08em; line-height:1.2; text-transform:uppercase; }
body.page-id-80 .kv1-ceo-mission-content { display:grid; grid-template-columns:minmax(0,700px) 400px; grid-template-areas:"quote profile" "intro profile"; grid-template-rows:auto auto; column-gap:80px; row-gap:28px; width:min(100%,1180px); max-width:1180px; margin:0 auto; align-items:center; }
body.page-id-80 .kv1-ceo-mission-quote { grid-area:quote; max-width:680px; margin:0; padding:28px 0 0; border-top:3px solid #651ab0; color:#17131b; font-size:50px; line-height:1.08; text-align:left; text-wrap:balance; }
body.page-id-80 .kv1-ceo-mission-intro { grid-area:intro; max-width:650px; margin:0; color:#625f67; font-size:18px; line-height:1.68; text-align:left; }
body.page-id-80 .kv1-ceo-attribution { grid-area:profile; width:100%; max-width:400px; margin:0; overflow:visible; background:transparent; }
body.page-id-80 .kv1-ceo-avatar, body.page-id-80 .kv1-ceo-avatar img { display:block; width:100%; height:500px; margin:0; border-radius:0; object-fit:cover; }
body.page-id-80 .kv1-ceo-avatar img { object-position:center 18%; }
body.page-id-80 .kv1-ceo-attribution-copy { padding:24px 0 0; border-top:3px solid #651ab0; background:transparent; text-align:left; }
body.page-id-80 .kv1-ceo-attribution-copy p { margin:0; }
body.page-id-80 .kv1-ceo-attribution-copy p:first-child { color:#17131b; font-size:21px; font-weight:700; line-height:1.3; }
body.page-id-80 .kv1-ceo-attribution-copy p:last-child { margin-top:6px; color:#716d76; font-size:15px; line-height:1.45; }
@media (min-width:901px) and (max-width:1199px) {
  body.page-id-80 .kv1-ceo-mission { padding:88px 48px; }
  body.page-id-80 .kv1-ceo-mission-content { grid-template-columns:minmax(0,1fr) 320px; column-gap:48px; row-gap:24px; }
  body.page-id-80 .kv1-ceo-mission-quote { max-width:600px; padding-top:24px; font-size:44px; line-height:1.1; }
  body.page-id-80 .kv1-ceo-mission-intro { max-width:580px; font-size:17px; }
  body.page-id-80 .kv1-ceo-attribution { max-width:320px; }
  body.page-id-80 .kv1-ceo-avatar, body.page-id-80 .kv1-ceo-avatar img { height:400px; }
  body.page-id-80 .kv1-ceo-attribution-copy p:first-child { font-size:20px; }
  body.page-id-80 .kv1-ceo-attribution-copy p:last-child { font-size:15px; }
}
@media (max-width:900px) {
  body.page-id-80 .kv1-ceo-mission { padding:64px 24px; }
  body.page-id-80 .kv1-ceo-mission-badge { margin:0 0 24px; }
  body.page-id-80 .kv1-ceo-mission-content { grid-template-columns:1fr; grid-template-areas:"quote" "intro" "profile"; grid-template-rows:auto; gap:24px; }
  body.page-id-80 .kv1-ceo-mission-quote { max-width:640px; padding-top:22px; font-size:38px; line-height:1.1; }
  body.page-id-80 .kv1-ceo-mission-intro { max-width:620px; font-size:17px; line-height:1.65; }
  body.page-id-80 .kv1-ceo-attribution { max-width:420px; margin-top:16px; }
  body.page-id-80 .kv1-ceo-avatar, body.page-id-80 .kv1-ceo-avatar img { height:auto; aspect-ratio:4 / 5; }
  body.page-id-80 .kv1-ceo-attribution-copy { padding-top:22px; }
}
@media (max-width:540px) {
  body.page-id-80 .kv1-ceo-mission { padding:56px 22px; }
  body.page-id-80 .kv1-ceo-mission-quote { font-size:34px; }
  body.page-id-80 .kv1-ceo-attribution { max-width:none; }
}

/* Source: kaios-footer-deduplicate */
body > footer.kv-footer ~ footer.kv-footer {
  display: none !important;
}

/* Source: kaios-home-journey-linking */
body.page-id-80 .kv1-journey-card { position:relative; transition:transform .22s ease, box-shadow .22s ease; }
body.page-id-80 .kv1-journey-card:hover { transform:translateY(-4px); box-shadow:0 18px 38px rgba(35,13,58,.14); }
body.page-id-80 .kv1-journey-card-hit { position:absolute; z-index:3; inset:0; display:block; text-decoration:none; cursor:pointer; }
body.page-id-80 .kv1-journey-card-hit:focus-visible { outline:3px solid #651ab0; outline-offset:-3px; }
body.page-id-80 .kv1-journey-link { position:relative; z-index:2; pointer-events:none; }
body.page-id-80 .kv1-help-actions { gap:12px !important; }
body.page-id-80 .kv1-help-actions .kv1-help-button.alt .wp-block-button__link { background:#fff !important; color:#651ab0 !important; border:1px solid #651ab0 !important; }
@media (max-width:700px) { body.page-id-80 .kv1-journey-card:hover { transform:none; box-shadow:none; } body.page-id-80 .kv1-help-actions { width:100%; flex-direction:column; align-items:stretch; } body.page-id-80 .kv1-help-actions .wp-block-button { width:100%; } body.page-id-80 .kv1-help-actions .wp-block-button__link { width:100%; } }

/* Source: kaios-homepage-journey-card-composition */
@media (hover:hover) and (pointer:fine) {
  #journeys .kv1-journey-card {
    min-height:480px;
    background:#09090b;
  }
  #journeys .kv1-journey-media {
    height:480px;
    background:#09090b;
  }
  #journeys .kv1-journey-media figure,
  #journeys .kv1-journey-card:first-child .kv1-journey-media figure {
    height:306px;
    margin:0;
    overflow:hidden;
  }
  #journeys .kv1-journey-media figure img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
  }
  #journeys .kv1-journey-copy {
    top:326px;
    right:48px;
    left:48px;
    width:auto;
    height:auto;
  }
  #journeys .kv1-journey-copy h3 {
    max-width:330px;
    font-size:30px;
    line-height:1.12;
  }
  #journeys .kv1-journey-copy p {
    max-width:300px;
    margin-top:12px;
    font-size:15px;
    line-height:1.42;
  }
  #journeys .kv1-journey-link {
    position:absolute !important;
    z-index:4 !important;
    right:48px;
    bottom:22px;
    left:auto;
    display:inline-flex !important;
    width:auto;
    min-height:0;
    margin:0;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:#fff !important;
    font-size:14px;
    font-weight:700;
    line-height:1.2;
  }
  #journeys .kv1-journey-link span,
  #journeys .kv1-journey-link span span {
    color:inherit !important;
  }
  #journeys .kv1-journey-link span span {
    margin-left:7px;
    color:#b679ff !important;
  }
  #journeys .kv1-journey-card:hover .kv1-journey-link {
    color:#fff !important;
    background:transparent !important;
  }
}

/* Source: kaios-homepage-journey-card-composition-correction */
@media (hover:hover) and (pointer:fine) {
  #journeys .kv1-journey-copy {
    top:316px;
    right:48px;
    left:48px;
  }
  #journeys .kv1-journey-copy h3 {
    max-width:none;
    font-size:28px;
    line-height:1.14;
  }
  #journeys .kv1-journey-copy p {
    max-width:none;
    margin-top:10px;
    font-size:15px;
    line-height:1.38;
  }
  #journeys .kv1-journey-link {
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    line-height:1.2 !important;
  }
}

/* Source: kaios-homepage-journey-help-spacing */
body.page-id-80 #journeys .kv1-section-title {
  margin-bottom:clamp(28px,2.6vw,42px);
}
body.page-id-80 .kv1-help-intro {
  margin-bottom:clamp(26px,2.4vw,38px);
}
@media (hover:hover) and (pointer:fine) {
  body.page-id-80 .kv1-help-card {
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
    transform:translateZ(0);
  }
  body.page-id-80 .kv1-help-card:hover {
    transform:translateY(-5px);
    border-color:rgba(101,26,176,.34);
    box-shadow:0 16px 32px rgba(35,13,58,.12),inset 0 3px 0 #6b20be;
  }
}
@media (max-width:700px) {
  body.page-id-80 #journeys .kv1-section-title { margin-bottom:24px; }
  body.page-id-80 .kv1-help-intro { margin-bottom:24px; }
}

/* Source: kaios-homepage-journey-help-spacing-correction */
body.page-id-80 .kv1-help-grid {
  margin-top:clamp(26px,2.4vw,38px) !important;
}
@media (max-width:700px) {
  body.page-id-80 .kv1-help-grid { margin-top:24px !important; }
}

/* Source: kaios-homepage-impact-people-pan */
@media (hover:hover) and (pointer:fine) {
  body.page-id-80 .kv1-impact-image {
    cursor:ew-resize;
  }
  body.page-id-80 .kv1-impact-image img {
    transform:translate3d(var(--impact-pan-x, 0),var(--impact-pan-y, 0),0) scale(1.075);
    transform-origin:center;
    transition:transform .42s cubic-bezier(.2,.72,.2,1);
    will-change:transform;
  }
  body.page-id-80 .kv1-impact-image.is-panning img {
    transition:transform .12s linear;
  }
}
@media (prefers-reduced-motion:reduce) {
  body.page-id-80 .kv1-impact-image img { transform:none !important; }
}

/* Source: kaios-homepage-ceo-mission-aligned-v2 */
/* Match the established Our Mission CEO treatment rather than introducing a second portrait layout. */
body.page-id-80 .kv1-ceo-mission { padding:100px 24px 116px; background:#fff; }
body.page-id-80 .kv1-ceo-mission-badge { display:table; width:max-content; margin:0 auto 30px; padding:11px 18px; border:0; border-radius:999px; background:#f4f1f6; color:#17131b; font-size:12px; font-weight:700; letter-spacing:0; line-height:1.2; text-align:center; text-transform:none; }
body.page-id-80 .kv1-ceo-mission-content { display:block; width:min(100%,1080px); max-width:1080px; margin:0 auto; text-align:center; }
body.page-id-80 .kv1-ceo-mission-quote { max-width:980px; margin:0 auto; padding:0; border:0; color:#050408; font-size:56px; line-height:1.08; text-align:center; text-wrap:balance; }
body.page-id-80 .kv1-ceo-mission-intro { max-width:880px; margin:32px auto 0; color:#625f67; font-size:18px; line-height:1.65; text-align:center; }
body.page-id-80 .kv1-ceo-attribution { display:flex; align-items:center; width:max-content; max-width:100%; margin:52px auto 0; background:transparent; text-align:left; }
body.page-id-80 .kv1-ceo-avatar, body.page-id-80 .kv1-ceo-avatar img { display:block; width:112px; height:112px; margin:0; border-radius:50%; aspect-ratio:auto; object-fit:cover; }
body.page-id-80 .kv1-ceo-avatar img { object-position:center 18%; }
body.page-id-80 .kv1-ceo-attribution-copy { padding:0 0 0 22px; border:0; background:transparent; }
body.page-id-80 .kv1-ceo-attribution-copy p:first-child { font-size:21px; }
body.page-id-80 .kv1-ceo-attribution-copy p:last-child { margin-top:6px; font-size:15px; }
@media (max-width:900px) {
 body.page-id-80 .kv1-ceo-mission { padding:72px 22px 80px; }
 body.page-id-80 .kv1-ceo-mission-badge { margin-bottom:24px; }
 body.page-id-80 .kv1-ceo-mission-content { width:100%; }
 body.page-id-80 .kv1-ceo-mission-quote { font-size:38px; line-height:1.1; }
 body.page-id-80 .kv1-ceo-mission-intro { margin-top:24px; font-size:17px; }
 body.page-id-80 .kv1-ceo-attribution { margin-top:36px; }
}
@media (max-width:540px) {
 body.page-id-80 .kv1-ceo-mission { padding:60px 20px 68px; }
 body.page-id-80 .kv1-ceo-mission-quote { font-size:32px; }
 body.page-id-80 .kv1-ceo-mission-intro { font-size:16px; }
 body.page-id-80 .kv1-ceo-avatar, body.page-id-80 .kv1-ceo-avatar img { width:82px; height:82px; }
 body.page-id-80 .kv1-ceo-attribution-copy { padding-left:16px; }
 body.page-id-80 .kv1-ceo-attribution-copy p:first-child { font-size:18px; }
 body.page-id-80 .kv1-ceo-attribution-copy p:last-child { font-size:14px; }
}

/* Source: kaios-navigation-dropdown-v2 */
/* Navigation refinement: neutral surfaces with KaiOS purple reserved for emphasis. */
.kv-primary-menu .sub-menu {
  min-width:236px !important;
  margin-top:14px !important;
  padding:8px !important;
  border:1px solid rgba(101,26,176,.18) !important;
  border-top:3px solid #6d1dc1 !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 22px 52px rgba(32,12,51,.18), 0 2px 8px rgba(32,12,51,.06) !important;
}
.kv-primary-menu .sub-menu li { margin:0 !important; }
.kv-primary-menu .sub-menu a {
  position:relative;
  display:flex !important;
  align-items:center;
  min-height:42px;
  margin:0 !important;
  padding:10px 36px 10px 13px !important;
  border:0 !important;
  border-radius:6px !important;
  background:transparent !important;
  color:#261332 !important;
  font-size:14px !important;
  font-weight:600;
  letter-spacing:0 !important;
  line-height:1.35;
  transition:background-color .18s ease, color .18s ease, transform .18s ease !important;
}
.kv-primary-menu .sub-menu a::after {
  content:'';
  position:absolute;
  right:15px;
  width:6px;
  height:6px;
  border-top:1.5px solid currentColor;
  border-right:1.5px solid currentColor;
  color:#6d1dc1;
  opacity:0;
  transform:rotate(45deg) translate(-2px,2px);
  transition:opacity .18s ease, transform .18s ease;
}
.kv-primary-menu .sub-menu a:hover, .kv-primary-menu .sub-menu a:focus-visible, .kv-primary-menu .sub-menu .current-menu-item > a {
  background:#f4effa !important;
  color:#651ab0 !important;
  transform:translateX(2px);
}
.kv-primary-menu .sub-menu a:hover::after, .kv-primary-menu .sub-menu a:focus-visible::after, .kv-primary-menu .sub-menu .current-menu-item > a::after {
  opacity:1;
  transform:rotate(45deg) translate(0,0);
}
.kv-primary-menu .sub-menu a:focus-visible { outline:2px solid #6d1dc1; outline-offset:2px; }
@media (max-width:960px) {
  .kv-primary-navigation {
    border-top-color:rgba(101,26,176,.14) !important;
    background:#fff !important;
    box-shadow:0 18px 42px rgba(32,12,51,.16) !important;
  }
  .kv-primary-menu > li > a {
    border-bottom-color:rgba(38,19,50,.1) !important;
    color:#261332 !important;
  }
  .kv-primary-menu > li > a:hover, .kv-primary-menu > li > a:focus-visible, .kv-primary-menu > .current-menu-item > a, .kv-primary-menu > .current-menu-ancestor > a {
    color:#651ab0 !important;
  }
  .kv-primary-menu > li.menu-item-has-children > .kv-submenu-toggle { color:#35154e !important; }
  .kv-primary-menu .sub-menu {
    margin:0 12px 10px !important;
    padding:6px !important;
    width:calc(100% - 24px) !important;
    border:1px solid rgba(101,26,176,.14) !important;
    border-top:0 !important;
    border-radius:8px !important;
    background:#f8f5fb !important;
    box-shadow:none !important;
  }
  .kv-primary-menu .sub-menu a {
    min-height:42px;
    padding:10px 34px 10px 13px !important;
    border-left:0 !important;
    color:#35154e !important;
  }
  .kv-primary-menu .sub-menu a:hover, .kv-primary-menu .sub-menu a:focus-visible, .kv-primary-menu .sub-menu .current-menu-item > a {
    background:#ece3f6 !important;
    color:#651ab0 !important;
    transform:none;
  }
}

/* Source: kaios-navigation-dropdown-mobile-state-v1 */
@media (max-width:960px){.kv-primary-menu > li:hover > a,.kv-primary-menu > li:focus-within > a{color:#651ab0 !important;}}

/* Source: kaios-home-mobile-hero-framing-v1 */
@media (max-width:700px) {
  body.page-id-80 .kv1-hero {
    display:block !important;
    min-height:0 !important;
    height:auto !important;
    padding:46px 20px 0 !important;
    background:#fff !important;
  }
  body.page-id-80 .kv1-hero-copy {
    position:relative !important;
    z-index:1;
    width:100% !important;
    max-width:430px !important;
    margin:0 auto 28px !important;
  }
  body.page-id-80 .kv1-hero-bg {
    position:relative !important;
    inset:auto !important;
    display:block !important;
    width:calc(100% + 40px) !important;
    height:min(94vw, 410px) !important;
    margin:0 -20px !important;
    overflow:hidden !important;
  }
  body.page-id-80 .kv1-hero-bg img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:76% 66% !important;
  }
}

/* Source: kaios-home-mobile-hero-framing-v2 */
@media (max-width:700px) {
  body.page-id-80 .kv1-hero {
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    height:auto !important;
    padding:46px 20px 0 !important;
    background:#fff !important;
  }
  body.page-id-80 .kv1-hero-copy {
    position:relative !important;
    order:1;
    z-index:1;
    width:100% !important;
    max-width:430px !important;
    margin:0 auto 28px !important;
  }
  body.page-id-80 .kv1-hero-bg {
    position:relative !important;
    order:2;
    inset:auto !important;
    display:block !important;
    width:calc(100% + 40px) !important;
    height:min(94vw, 410px) !important;
    margin:0 -20px !important;
    overflow:hidden !important;
  }
  body.page-id-80 .kv1-hero-bg img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:76% 66% !important;
  }
}

/* Source: kaios-home-mobile-hero-framing-v3 */
@media (max-width:700px) {
  body.page-id-80 .kv1-hero {
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    height:auto !important;
    padding:46px 20px 0 !important;
    background:#fff !important;
  }
  body.page-id-80 .kv1-hero-copy {
    position:relative !important;
    order:1;
    z-index:1;
    width:100% !important;
    max-width:430px !important;
    margin:0 auto 8px !important;
  }
  body.page-id-80 .kv1-hero-bg {
    position:relative !important;
    order:2;
    inset:auto !important;
    display:block !important;
    width:calc(100% + 40px) !important;
    height:min(112vw, 470px) !important;
    margin:0 -20px !important;
    overflow:hidden !important;
  }
  body.page-id-80 .kv1-hero-bg img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:76% 66% !important;
  }
}

/* Source: kaios-home-mobile-hero-framing-v4 */
@media (max-width:700px) {
  body.page-id-80 .kv1-hero {
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    height:auto !important;
    padding:46px 20px 0 !important;
    background:#fff !important;
  }
  body.page-id-80 .kv1-hero-copy {
    position:relative !important;
    order:1;
    z-index:1;
    width:100% !important;
    max-width:430px !important;
    margin:0 auto 8px !important;
  }
  body.page-id-80 .kv1-hero-bg {
    position:relative !important;
    order:2;
    inset:auto !important;
    display:block !important;
    width:calc(100% + 40px) !important;
    height:min(112vw, 470px) !important;
    margin:-28px -20px 0 !important;
    overflow:hidden !important;
  }
  body.page-id-80 .kv1-hero-bg img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:76% 66% !important;
  }
}

/* Source: kaios-home-mobile-image-proximity */
/* Preserve the existing mobile composition while bringing the hero visual closer to its copy. */
@media (max-width:600px) {
  body.page-id-80 .kv1-hero-bg img {
    transform:translateY(-46px) scale(1.02);
    transform-origin:center bottom;
  }
  body.page-id-80 .kv1-journeys {
    position:relative;
    z-index:2;
    margin-top:-32px !important;
    padding-top:40px !important;
    background:#fff !important;
  }
  body.page-id-80 .kv1-help {
    padding:64px 20px !important;
    background:#f0edf4 !important;
  }
  body.page-id-80 .kv1-help-kicker {
    background:#fff !important;
  }
  body.page-id-80 .kv1-help-card {
    border-color:#ded7e5 !important;
    border-radius:12px !important;
    background:#fff !important;
  }
}

/* Source: kaios-home-consumer-journey-platform-image-v1 */
#journeys .kv1-journey-card:first-child .kv1-journey-media figure img { object-position:center center !important; }

/* Source: kaios-mobile-layout-guard */
/* Narrow-screen guard: prevents legacy blocks from forcing horizontal overflow. */
.kv-submenu-toggle { display:none; }

/* KaiOS primary navigation: a single purple visual system across every breakpoint. */
.kv-header { border-bottom-color:rgba(255,255,255,.24) !important; background:#651ab0 !important; box-shadow:0 1px 0 rgba(255,255,255,.08) !important; }
.kv-logo img { display:block; width:104px !important; height:29px !important; object-fit:contain; object-position:left center; }
.kv-primary-menu > li > a { color:#fff !important; }
.kv-primary-menu > li > a:hover, .kv-primary-menu > li > a:focus-visible, .kv-primary-menu > .current-menu-item > a, .kv-primary-menu > .current-menu-ancestor > a, .kv-primary-menu > li:hover > a, .kv-primary-menu > li:focus-within > a { color:#fff !important; }
.kv-primary-menu > li > a:focus-visible, .kv-nav-cta:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.kv-primary-menu > li.menu-item-has-children > a::after { content:''; display:inline-block; width:6px; height:6px; margin:0 0 3px 8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); }
.kv-primary-menu .sub-menu { border-top-color:rgba(255,255,255,.42) !important; background:#54158e !important; box-shadow:0 20px 46px rgba(31,5,58,.28) !important; }
.kv-primary-menu .sub-menu a { color:#fff !important; }
.kv-primary-menu .sub-menu a:hover, .kv-primary-menu .sub-menu a:focus-visible, .kv-primary-menu .sub-menu .current-menu-item > a { background:rgba(255,255,255,.12) !important; color:#fff !important; }
.kv-nav-cta { border:1px solid rgba(255,255,255,.72) !important; background:transparent !important; color:#fff !important; }
.kv-nav-cta:hover, .kv-nav-cta:focus-visible { border-color:#fff !important; background:rgba(255,255,255,.12) !important; color:#fff !important; }

@media (max-width: 700px) {
  body.page-id-80,
  body.page-id-80 .site-content,
  body.page-id-80 .nv-single-page-wrap,
  body.page-id-80 .entry-content { max-width:100%; overflow-x:clip; }

  body.page-id-80 .entry-content :is(.wp-block-group, .wp-block-columns, .wp-block-column, .wp-block-cover, .wp-block-media-text, .kvsite, .kv1-home, .kpsupport, .kpdev, .kms-app-intro, .kmp-hero, .kmf-final) { min-width:0; max-width:100%; }
  body.page-id-80 .entry-content :is(h1, h2, h3, h4, p, a, li, small, strong) { overflow-wrap:break-word; word-break:normal; }
  body.page-id-80 .entry-content :is(img, video, iframe, svg, canvas) { max-width:100%; }
  body.page-id-80 .entry-content .wp-block-columns:not(.is-not-stacked-on-mobile) { flex-wrap:wrap !important; }
  body.page-id-80 .entry-content .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis:100% !important; }
  body.page-id-80 .entry-content .wp-block-buttons { gap:12px; }

}

@media (max-width: 960px) {
  .kv-menu-toggle span:not(.screen-reader-text) { background:#fff !important; }
  .kv-primary-navigation { border-top-color:rgba(255,255,255,.22) !important; background:#651ab0 !important; box-shadow:0 16px 30px rgba(31,5,58,.24) !important; }
  .kv-primary-menu > li > a { border-bottom-color:rgba(255,255,255,.2) !important; color:#fff !important; }
  .kv-primary-menu > li.menu-item-has-children > a::after { display:none; }
  .kv-primary-menu .sub-menu { position:static !important; display:none; grid-column:1 / -1; width:100% !important; min-width:0 !important; max-width:none !important; margin:0 !important; padding:8px 0 14px !important; border:0 !important; border-radius:0 !important; background:#54158e !important; box-shadow:none !important; opacity:1 !important; visibility:visible !important; transform:none !important; }
  .kv-primary-menu li.is-open > .sub-menu { display:grid !important; }
  .kv-primary-menu .sub-menu li { width:100%; margin:0 !important; padding:0 !important; }
  .kv-primary-menu .sub-menu a { display:flex !important; align-items:center; width:100%; min-height:48px !important; height:48px; margin:0 !important; padding:12px 16px 12px 22px !important; border-left:2px solid rgba(255,255,255,.36); border-radius:0 !important; color:#fff !important; font-size:15px !important; line-height:1.3; white-space:normal !important; transform:none !important; touch-action:manipulation; }
  .kv-primary-menu .sub-menu a:hover, .kv-primary-menu .sub-menu a:focus-visible { border-left-color:#fff; background:rgba(255,255,255,.12) !important; color:#fff !important; }
  .kv-primary-menu > li.menu-item-has-children { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:center; }
  .kv-primary-menu > li.menu-item-has-children > a { grid-column:1; min-width:0; }
  .kv-primary-menu > li.menu-item-has-children > .kv-submenu-toggle { display:block; grid-column:2; width:48px; height:48px; margin:0; padding:0; border:0; background:transparent; color:#fff; cursor:pointer; touch-action:manipulation; }
  .kv-primary-menu > li.menu-item-has-children > .kv-submenu-toggle span { display:block; width:9px; height:9px; margin:auto; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .16s ease; }
  .kv-primary-menu > li.menu-item-has-children.is-open > .kv-submenu-toggle span { transform:translateY(3px) rotate(225deg); }
  .kv-primary-menu > li.menu-item-has-children > .sub-menu { grid-column:1 / -1; }
  .kv-primary-menu > li.menu-item-has-children > .kv-submenu-toggle:focus-visible { outline:2px solid #651ab0; outline-offset:-2px; }
}

@media (max-width: 420px) {
  body.page-id-80 .entry-content :is(.kv-wrap, .kpsupport-shell, .kpdev-shell, .kms-shell, .kmp-shell) { width:calc(100% - 32px); }
}

/* Source: kaios-navigation-submenu-surfaces-v3 */
/* Brand purple frames navigation; white surfaces distinguish its second level. */
@media (min-width:961px) {
  .kv-primary-menu .sub-menu {
    min-width:258px !important;
    margin-top:13px !important;
    padding:8px !important;
    border:1px solid rgba(101,26,176,.16) !important;
    border-radius:10px !important;
    background:rgba(255,255,255,.98) !important;
    box-shadow:0 22px 48px rgba(34,16,54,.16),0 4px 12px rgba(34,16,54,.06) !important;
    backdrop-filter:blur(14px);
  }
  .kv-primary-menu .sub-menu li { margin:0 !important; }
  .kv-primary-menu .sub-menu a {
    position:relative;
    display:flex !important;
    align-items:center;
    min-height:43px;
    margin:0 !important;
    padding:10px 34px 10px 14px !important;
    border:0 !important;
    border-radius:6px !important;
    background:transparent !important;
    color:#2b1b38 !important;
    font-size:14px !important;
    font-weight:600;
    letter-spacing:0 !important;
    line-height:1.35;
    transition:background-color .18s ease,color .18s ease,transform .18s ease !important;
  }
  .kv-primary-menu .sub-menu a::after {
    content:'';
    position:absolute;
    right:16px;
    width:6px;
    height:6px;
    border-top:1.5px solid #681bc1;
    border-right:1.5px solid #681bc1;
    opacity:0;
    transform:rotate(45deg) translate(-3px,3px);
    transition:opacity .18s ease,transform .18s ease;
  }
  .kv-primary-menu .sub-menu a:hover,
  .kv-primary-menu .sub-menu a:focus-visible,
  .kv-primary-menu .sub-menu .current-menu-item > a {
    background:#f4eff9 !important;
    color:#651ab0 !important;
    transform:translateX(2px);
  }
  .kv-primary-menu .sub-menu a:hover::after,
  .kv-primary-menu .sub-menu a:focus-visible::after,
  .kv-primary-menu .sub-menu .current-menu-item > a::after {
    opacity:1;
    transform:rotate(45deg) translate(0,0);
  }
  .kv-primary-menu .sub-menu a:focus-visible { outline:2px solid #681bc1; outline-offset:2px; }
}

@media (max-width:960px) {
  /* Keep the masthead purple; present expanded destinations in a clean secondary panel. */
  .kv-primary-navigation { background:#651ab0 !important; }
  .kv-primary-menu .sub-menu {
    position:static !important;
    display:none;
    grid-column:1 / -1;
    width:calc(100% - 24px) !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 12px 12px !important;
    padding:6px !important;
    border:1px solid rgba(101,26,176,.16) !important;
    border-radius:8px !important;
    background:#fff !important;
    box-shadow:0 10px 20px rgba(24,8,40,.16) !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }
  .kv-primary-menu li.is-open > .sub-menu { display:grid !important; }
  .kv-primary-menu .sub-menu li { width:100%; margin:0 !important; padding:0 !important; }
  .kv-primary-menu .sub-menu a {
    display:flex !important;
    align-items:center;
    width:100%;
    min-height:50px !important;
    height:auto !important;
    margin:0 !important;
    padding:13px 42px 13px 18px !important;
    border:0 !important;
    border-left:2px solid rgba(104,27,193,.28) !important;
    border-radius:5px !important;
    background:transparent !important;
    color:#2b1b38 !important;
    font-size:15px !important;
    font-weight:600;
    line-height:1.35;
    white-space:normal !important;
    transform:none !important;
    touch-action:manipulation;
    transition:background-color .18s ease,border-color .18s ease,color .18s ease !important;
  }
  .kv-primary-menu .sub-menu a:hover,
  .kv-primary-menu .sub-menu a:focus-visible,
  .kv-primary-menu .sub-menu .current-menu-item > a {
    border-left-color:#681bc1 !important;
    background:#f4eff9 !important;
    color:#651ab0 !important;
  }
  .kv-primary-menu .sub-menu a:focus-visible { outline:2px solid #681bc1; outline-offset:2px; }
}

/* Source: kaios-mobile-module-touch-feedback-v1 */
/* One restrained press state for informational surfaces across the mobile site. */
@media (max-width:700px) {
  .kaios-touch-module {
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease !important;
  }
  .kaios-touch-module.kaios-touch-active {
    position:relative;
    z-index:2;
    transform:translateY(1px) scale(.987) !important;
    box-shadow:0 10px 22px rgba(31,14,46,.14) !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  .kaios-touch-module { transition:none !important; }
  .kaios-touch-module.kaios-touch-active { transform:none !important; }
}

/* Source: kaios-submenu-alignment-v1 */
/* Shared navigation: size desktop menus to their labels and attach them to the Header. */
@media (min-width:701px) {
  .kv-primary-menu .sub-menu {
    width:fit-content !important;
    min-width:0 !important;
    max-width:calc(100vw - 32px) !important;
    top:100% !important;
    margin-top:0 !important;
    transform:translate(-50%, 0) !important;
  }
}

/* Remove the decorative right arrow from every menu mode. */
.kv-primary-menu .sub-menu a { padding-right:13px !important; }
.kv-primary-menu .sub-menu a::after { content:none !important; display:none !important; }

/* Touch navigation keeps a calm color-only feedback state. */
@media (max-width:700px) {
  .kv-primary-menu .sub-menu a:hover,
  .kv-primary-menu .sub-menu a:focus-visible,
  .kv-primary-menu .sub-menu .current-menu-item > a { transform:none !important; }
}

/* Source: kaios-home-mobile-hero-subtitle-integration-v1 */
/* On phones, let the community image emerge directly from the introductory copy. */
@media (max-width:700px) {
  body.page-id-80 .kv1-hero {
    min-height:0 !important;
    height:auto !important;
    padding:40px 20px 0 !important;
    overflow:hidden !important;
  }
  body.page-id-80 .kv1-hero-copy {
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
    max-width:430px !important;
    margin:0 auto !important;
  }
  body.page-id-80 .kv1-hero-bg {
    position:relative !important;
    z-index:1 !important;
    inset:auto !important;
    display:block !important;
    width:calc(100% + 40px) !important;
    height:min(118vw, 474px) !important;
    margin:-94px -20px 0 !important;
    overflow:hidden !important;
  }
  body.page-id-80 .kv1-hero-bg img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:74% 63% !important;
    transform:translateX(-5%) translateY(-54px) scale(1.20) !important;
    transform-origin:72% 70% !important;
  }
  body.page-id-80 .kv1-hero-bg::after {
    content:'' !important;
    position:absolute !important;
    inset:0 !important;
    pointer-events:none !important;
    background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.70) 19%,rgba(255,255,255,.18) 39%,rgba(255,255,255,0) 55%) !important;
  }
}

/* Source: kaios-mobile-submenu-left-edge-v1 */
/* Mobile submenu: remove the inherited left rail and panel edge. */
@media (max-width:960px) {
  .kv-primary-menu .sub-menu { border-left-color:transparent !important; }
  .kv-primary-menu .sub-menu a,
  .kv-primary-menu .sub-menu a:hover,
  .kv-primary-menu .sub-menu a:focus-visible,
  .kv-primary-menu .sub-menu .current-menu-item > a { border-left-width:0 !important; }
}

/* Source: kaios-home-journey-image-alignment-v1 */
/* Recenter each Journey visual around its subject while retaining full edge coverage. */
@media (min-width:701px) {
  #journeys .kv1-journey-media figure {
    overflow:hidden !important;
  }
  #journeys .kv1-journey-card .kv1-journey-media figure img {
    transform:translateX(-3%) scale(1.08) !important;
    transform-origin:center center !important;
  }
}
@media (max-width:700px) {
  #journeys .kv1-journey-media figure {
    overflow:hidden !important;
  }
  #journeys .kv1-journey-card .kv1-journey-media figure img {
    transform:translateX(-5%) scale(1.12) !important;
    transform-origin:center center !important;
  }
}

/* Source: kaios-surecookie-brand-style-v1 */
/* Staging preview: KaiOS sitewide Cookie bar treatment. */
.surecookie-public-banner-wrapper{position:fixed!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;z-index:2147483000!important}
.surecookie-public-banner{width:100%!important;max-width:none!important;border:0!important;border-top:1px solid #e2e2e9!important;border-radius:0!important;background:#fff!important;color:#09090b!important;box-shadow:0 -8px 28px rgba(9,9,11,.12)!important}
.surecookie-banner-inner{width:min(1280px,100%)!important;max-width:none!important;margin:0 auto!important;padding:16px 24px!important}
.surecookie-banner-content-box{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important}
.surecookie-banner-description{flex:1 1 auto!important;max-width:820px!important;color:#3f3f46!important;font:400 14px/1.5 Inter,Arial,sans-serif!important}
.surecookie-banner-buttons-box{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex:0 0 auto!important}
.surecookie-banner-buttons-box .surecookie-btn-base{min-height:42px!important;padding:10px 18px!important;border:1px solid #651ab0!important;border-radius:999px!important;background:#fff!important;color:#651ab0!important;font:700 13px/1.1 Inter,Arial,sans-serif!important;white-space:nowrap!important;cursor:pointer!important;transition:background .16s ease,color .16s ease,transform .16s ease!important}
.surecookie-banner-buttons-box .surecookie-btn-base:hover{background:#f4eafb!important;color:#651ab0!important;transform:translateY(-1px)!important}
.surecookie-banner-buttons-box .surecookie-accept-all-btn{background:#651ab0!important;color:#fff!important}
.surecookie-banner-buttons-box .surecookie-accept-all-btn:hover{background:#53138e!important;color:#fff!important}
.surecookie-banner-buttons-box .surecookie-preferences-btn{border-color:transparent!important;background:transparent!important;color:#651ab0!important}
.surecookie-banner-buttons-box .surecookie-branding{color:#71717a!important;font-size:11px!important;white-space:nowrap!important}
@media(max-width:760px){
  .surecookie-banner-inner{padding:16px!important}
  .surecookie-banner-content-box{display:block!important}
  .surecookie-banner-description{max-width:none!important;font-size:13px!important}
  .surecookie-banner-buttons-box{justify-content:flex-start!important;flex-wrap:wrap!important;margin-top:13px!important;gap:8px!important}
  .surecookie-banner-buttons-box .surecookie-btn-base{min-height:40px!important;padding:9px 14px!important;font-size:12px!important}
  .surecookie-banner-buttons-box .surecookie-branding{display:none!important}
}

/* Source: kaios-surecookie-layout-style-v2 */
.surecookie-banner-content-box{flex-direction:row!important;align-items:center!important;justify-content:space-between!important}
.surecookie-banner-text-wrapper{flex:1 1 auto!important;width:auto!important;min-width:0!important}
.surecookie-banner-buttons-box{flex:0 0 auto!important}
.surecookie-banner-buttons-box .surecookie-btn-base:focus-visible{outline:2px solid #651ab0!important;outline-offset:2px!important}
.surecookie-banner-buttons-box .surecookie-branding svg path{fill:#651ab0!important}
@media(max-width:760px){.surecookie-banner-content-box{display:block!important}.surecookie-banner-text-wrapper{width:100%!important}.surecookie-banner-buttons-box{width:100%!important}}

/* Source: kaios-surecookie-grid-style-v3 */
.surecookie-banner-inner{display:block!important;width:100%!important}
.surecookie-banner-content-box{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:24px!important;width:100%!important}
.surecookie-banner-text-wrapper{width:auto!important;min-width:0!important}
.surecookie-banner-buttons-box{width:auto!important;min-width:0!important;display:flex!important;align-items:center!important;justify-content:flex-end!important}
@media(max-width:760px){.surecookie-banner-content-box{display:block!important}.surecookie-banner-buttons-box{width:100%!important;justify-content:flex-start!important}}

/* Source: kaios-home-tablet-hero-v1 */
@media (min-width:701px) and (max-width:900px) {
  body.page-id-80 .kv1-hero {
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    height:auto !important;
    padding:64px 48px 0 !important;
    overflow:hidden !important;
    background:#fff !important;
  }
  body.page-id-80 .kv1-hero-copy {
    order:1;
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
    max-width:680px !important;
    margin:0 auto 36px !important;
    text-align:center !important;
  }
  body.page-id-80 .kv1-hero-title {
    max-width:680px !important;
    margin:0 auto !important;
    font-size:clamp(48px,8vw,72px) !important;
    line-height:1.04 !important;
    text-align:center !important;
  }
  body.page-id-80 .kv1-hero-subtitle {
    max-width:620px !important;
    margin:24px auto 0 !important;
    font-size:17px !important;
    line-height:1.6 !important;
    text-align:center !important;
  }
  body.page-id-80 .kv1-hero-bg {
    order:2;
    position:relative !important;
    inset:auto !important;
    display:block !important;
    width:calc(100% + 96px) !important;
    height:420px !important;
    margin:0 -48px !important;
    overflow:hidden !important;
  }
  body.page-id-80 .kv1-hero-bg img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 62% !important;
  }
}

/* Source: kaios-home-tablet-hero-v2 */
@media (min-width:701px) and (max-width:900px) {
  body.page-id-80 .kv1-hero {
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    height:auto !important;
    padding:64px 48px 0 !important;
    overflow:hidden !important;
    background:#fff !important;
  }
  body.page-id-80 .kv1-hero-copy {
    order:1;
    position:relative !important;
    z-index:2 !important;
    width:100% !important;
    max-width:680px !important;
    padding:0 !important;
    margin:0 auto 36px !important;
    text-align:center !important;
  }
  body.page-id-80 .kv1-hero-title {
    max-width:680px !important;
    margin:0 auto !important;
    font-size:clamp(48px,8vw,72px) !important;
    line-height:1.04 !important;
    text-align:center !important;
  }
  body.page-id-80 .kv1-hero-subtitle {
    max-width:620px !important;
    margin:24px auto 0 !important;
    font-size:17px !important;
    line-height:1.6 !important;
    text-align:center !important;
  }
  body.page-id-80 .kv1-hero-bg {
    order:2;
    position:relative !important;
    inset:auto !important;
    display:block !important;
    width:calc(100% + 96px) !important;
    height:420px !important;
    margin:0 -48px !important;
    overflow:hidden !important;
  }
  body.page-id-80 .kv1-hero-bg img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 62% !important;
  }
}

/* Source: kaios-tablet-submenu-position-v1 */
@media (max-width:960px) {
  .kv-primary-menu .sub-menu {
    left:0 !important;
    right:auto !important;
    transform:none !important;
  }
}

/* Source: kaios-surecookie-sitewide-style-v4 */
/* Sitewide KaiOS cookie consent bar: consistent across page templates and subdomains. */
.surecookie-public-banner-wrapper,
.surecookie-public-banner[data-banner="true"],
.surecookie-public-banner.surecookie-banner{
  position:fixed!important;
  inset:auto 0 0!important;
  z-index:2147483000!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-top:1px solid #e4e4e7!important;
  border-radius:0!important;
  background:#fff!important;
  color:#18181b!important;
  box-shadow:0 -10px 30px rgba(24,24,27,.12)!important;
}
.surecookie-public-banner .surecookie-banner-inner{
  width:min(1280px,calc(100% - 48px))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:18px 0!important;
}
.surecookie-public-banner .surecookie-banner-content-box{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:28px!important;
  width:100%!important;
}
.surecookie-public-banner .surecookie-banner-text-wrapper{
  width:auto!important;
  min-width:0!important;
}
.surecookie-public-banner .surecookie-banner-description{
  max-width:850px!important;
  margin:0!important;
  color:#3f3f46!important;
  font:400 14px/1.55 Inter,Arial,sans-serif!important;
}
.surecookie-public-banner .surecookie-banner-description a{
  color:#651ab0!important;
  font-weight:600!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
}
.surecookie-public-banner .surecookie-banner-buttons-box{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  width:auto!important;
  min-width:0!important;
}
.surecookie-public-banner .surecookie-btn-base{
  min-height:42px!important;
  padding:10px 16px!important;
  border:1px solid #651ab0!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#651ab0!important;
  font:700 13px/1.1 Inter,Arial,sans-serif!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transition:background .16s ease,color .16s ease,transform .16s ease!important;
}
.surecookie-public-banner .surecookie-btn-base:hover{
  background:#f4eafb!important;
  color:#651ab0!important;
  transform:translateY(-1px)!important;
}
.surecookie-public-banner .surecookie-btn-base:focus-visible{
  outline:2px solid #651ab0!important;
  outline-offset:2px!important;
}
.surecookie-public-banner .surecookie-accept-all-btn{
  background:#651ab0!important;
  color:#fff!important;
}
.surecookie-public-banner .surecookie-accept-all-btn:hover{
  background:#53138e!important;
  color:#fff!important;
}
.surecookie-public-banner .surecookie-preferences-btn{
  border-color:transparent!important;
  background:transparent!important;
  color:#651ab0!important;
}
.surecookie-public-banner .surecookie-branding{
  color:#71717a!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  .surecookie-public-banner .surecookie-banner-inner{
    width:calc(100% - 32px)!important;
    padding:16px 0!important;
  }
  .surecookie-public-banner .surecookie-banner-content-box{
    display:block!important;
  }
  .surecookie-public-banner .surecookie-banner-description{
    max-width:none!important;
    font-size:13px!important;
  }
  .surecookie-public-banner .surecookie-banner-buttons-box{
    width:100%!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    margin-top:13px!important;
  }
  .surecookie-public-banner .surecookie-btn-base{
    min-height:40px!important;
    padding:9px 14px!important;
    font-size:12px!important;
  }
  .surecookie-public-banner .surecookie-branding{
    display:none!important;
  }
}
