/* Shared brand, native navigation, screenshot frames and footer. */
.km-header { background:#fff; color:var(--km-navy); border-top:4px solid var(--km-gold); border-bottom:1px solid #e3e8ef; }
.km-header-inner { min-height:106px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.km-brand-wrap { width:max-content; }
.km-brand-wrap > * { margin:0; }
/* Only the white margin of the supplied square logo is masked; its artwork is unchanged. */
.km-site-logo { margin:0!important; }
.km-site-logo .custom-logo-link { display:block; width:190px; height:82px; overflow:hidden; background:#fefefe; }
.km-site-logo .custom-logo { width:190px!important; height:190px!important; max-width:none; display:block; transform:translateY(-52px); }
.km-site-logo.km-logo-natural .custom-logo-link { height:auto; overflow:visible; }
.km-site-logo.km-logo-natural .custom-logo { height:auto!important; transform:none; }
.km-brand-by { font-size:.5rem; font-weight:650; letter-spacing:.18em; color:#526071; text-align:center; margin:0 0 .35rem!important; }
.km-navigation { font-size:.83rem; font-weight:550; }
.km-navigation .wp-block-navigation__container { gap:1.65rem; }
.km-navigation .wp-block-navigation-item__content { padding-block:.7rem; }
.km-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child > a { color:var(--km-navy); background:var(--km-gold); border:1px solid var(--km-gold); padding:.8rem 1.15rem; border-radius:8px; font-weight:650; }
.km-navigation .wp-block-navigation__responsive-container-open { min-width:48px; min-height:48px; justify-content:center; align-items:center; }
.km-navigation .is-menu-open { background:#fff!important; color:var(--km-navy)!important; padding:2rem!important; border-top:4px solid var(--km-gold); }
.km-navigation .is-menu-open .wp-block-navigation__container { align-items:flex-start; gap:1rem; width:100%; }
.km-navigation .is-menu-open .wp-block-navigation__responsive-container-content { align-items:flex-start; }
.km-navigation .is-menu-open .wp-block-navigation-item__content { font-size:1.2rem; padding:.7rem 0; }
.km-navigation .wp-block-navigation__responsive-container-close { min-width:44px; min-height:44px; }
.wp-block-buttons { display:flex; flex-wrap:wrap; gap:.8rem; }
.wp-block-button__link { display:inline-flex; min-height:50px; align-items:center; justify-content:center; gap:1rem; text-decoration:none; transition:background-color .18s ease,box-shadow .18s ease; }
.wp-block-button__link:hover { background:#ffd153; box-shadow:0 6px 20px #00000012; }
.km-button-text .wp-block-button__link { background:transparent; color:inherit; border:1px solid #ffffff50; box-shadow:none; }
.km-button-text .wp-block-button__link:hover { background:#ffffff0d; border-color:#fff; }
.km-shot-image { margin:0; }
.km-shot-image > a { display:block; }
.km-shot-image > a:focus-visible { outline-offset:-4px; }
.km-shot-image img { display:block; width:100%; height:auto; object-fit:contain; background:#fff; }
.km-shot-image figcaption { margin:.75rem 1rem; font-size:.7rem; line-height:1.55; color:#536273; text-align:left; }
.km-desktop { background:#fff; border:1px solid #d6dee8; border-radius:12px; overflow:hidden; box-shadow:0 22px 55px #05213914; }
.km-device-bar { display:flex; align-items:center; gap:1rem; margin:0!important; padding:.75rem 1rem; background:#fff; color:#506073!important; border-bottom:1px solid #e4e9f0; font-size:.62rem; font-weight:550; }
.km-device-bar .km-window-dots { color:#a8b2bf; font-size:.45rem; letter-spacing:.15rem; }
.km-mobile { width:260px; max-width:100%; background:#102a40; padding:7px; border-radius:24px; box-shadow:0 18px 40px #09263d25; }
.km-mobile .km-shot-image { border-radius:15px; overflow:hidden; background:#fff; }
.km-mobile .km-shot-label { color:#e6edf6!important; padding:.65rem .5rem; font-size:.5rem; letter-spacing:.08em; margin:0!important; }
.km-mobile figcaption { font-size:.65rem; margin:.65rem; }
.km-shot-label { font-size:.62rem; letter-spacing:.12em; font-weight:650; color:#526071!important; padding:.85rem 1rem; margin:0!important; }
.km-feature-icon { display:flex; align-items:center; justify-content:center; width:52px; height:52px; margin:0 0 1.3rem; border-radius:12px; background:#fff3cc; border:1px solid #ffe69a; }
.km-feature-icon img { display:block; width:28px; height:28px; }
.km-footer { padding:3.5rem 0 1.5rem; background:#061b2d; color:#f1f5f9; }
.km-footer-grid { display:grid; grid-template-columns:1.2fr .8fr 1fr; gap:4rem; padding-bottom:2.5rem; }
.km-footer .km-brand-wrap { background:#fefefe; padding:.2rem .8rem; border-radius:10px; }
.km-footer h3 { font-size:.9rem; letter-spacing:0; margin:0 0 1rem; }
.km-footer p { margin:0 0 .5rem; }
.km-footer-tagline { color:#b5c4d2; font-size:.95rem; margin-top:1.3rem!important; }
.km-footer-links p { font-size:.83rem; color:#bcc9d6; }
.km-footer-links a { display:inline-flex; min-height:36px; align-items:center; text-decoration:none; }
.km-footer-links a:hover { color:var(--km-gold); text-decoration:underline; }
.km-footer-about p { color:#bcc9d6; font-size:.83rem; }
.km-footer-about .km-footer-note { font-size:.7rem; margin-top:1rem; }
.km-footer-bottom { display:flex; justify-content:space-between; gap:1rem; padding-top:1.4rem; border-top:1px solid #ffffff20; font-size:.68rem; color:#b5c4d2; }
@media (min-width:600px) and (max-width:1000px) {
  .km-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none!important; }
  .km-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) { display:flex!important; }
}
@media (max-width:767px) {
  .km-header-inner { min-height:94px; gap:1rem; }
  .km-site-logo .custom-logo-link { width:164px; height:71px; }
  .km-site-logo .custom-logo { width:164px!important; height:164px!important; transform:translateY(-44px); }
  .km-brand-by { font-size:.45rem; }
  .km-footer-grid { grid-template-columns:1fr 1fr; gap:2rem; }
  .km-footer-brand { grid-column:1/-1; }
  .km-footer-bottom { flex-direction:column; }
}
@media (max-width:450px) { .km-footer-grid { grid-template-columns:1fr; } }
