:root {
  --kp-navy: #062638;
  --kp-navy-deep: #041e2d;
  --kp-orange: #ff5a1f;
  --kp-orange-dark: #e9470d;
  --kp-ink: #102834;
  --kp-muted: #667983;
  --kp-cream: #f6f3ec;
  --kp-line: #dfe4e2;
  --kp-white: #fff;
  --kp-shadow: 0 24px 80px rgba(3, 31, 46, 0.12);
}

html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body.kp-subpage { margin: 0; overflow-x: hidden; background: var(--kp-white); color: var(--kp-ink); font-family: Inter, "DM Sans", "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
.kp-subpage *, .kp-subpage *::before, .kp-subpage *::after { box-sizing: border-box; }
.kp-subpage a { transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease; }
.kp-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }

.kp-topbar { background: var(--kp-navy-deep); color: rgba(255,255,255,.72); font-size: 12px; letter-spacing: .02em; }
.kp-topbar__inner, .kp-topbar__links { display: flex; align-items: center; justify-content: space-between; }
.kp-topbar__inner { min-height: 36px; }
.kp-topbar__inner p { margin: 0; }
.kp-topbar__links { gap: 24px; }
.kp-topbar a { color: inherit; }
.kp-topbar a:hover { color: #fff; }

.kp-site-header { position: sticky; z-index: 999; top: 0; background: rgba(255,255,255,.95); border-bottom: 1px solid rgba(16,40,52,.08); backdrop-filter: blur(18px); }
.admin-bar .kp-site-header { top: 32px; }
.kp-header__inner { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.kp-brand { width: 172px; flex: 0 0 auto; }
.kp-brand img { display: block; width: 100%; height: 58px; object-fit: contain; }
.kp-nav { display: flex; align-items: center; gap: clamp(18px,2vw,30px); color: #24404c; font-size: 14px; font-weight: 700; }
.kp-nav > a:not(.kp-button) { position: relative; padding-block: 28px; color: #24404c; }
.kp-nav > a:not(.kp-button)::after { content: ""; position: absolute; right: 0; bottom: 21px; left: 0; height: 2px; background: var(--kp-orange); transform: scaleX(0); transform-origin: left; transition: transform 180ms ease; }
.kp-nav > a:not(.kp-button):hover::after { transform: scaleX(1); }
.kp-menu-button { display: none; }
.kp-button { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 0 24px; border: 1px solid var(--kp-orange); border-radius: 9px; background: var(--kp-orange); color: #fff !important; font-weight: 760; box-shadow: 0 12px 30px rgba(255,90,31,.2); text-decoration: none !important; }
.kp-button:hover { transform: translateY(-2px); background: var(--kp-orange-dark); border-color: var(--kp-orange-dark); box-shadow: 0 16px 36px rgba(255,90,31,.28); }
.kp-button--small { min-height: 44px; padding: 0 18px; }

.kp-page-hero { position: relative; overflow: hidden; padding: 82px 0 88px; background: var(--kp-navy); color: #fff; }
.kp-page-hero::before { content: ""; position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to right,black,transparent 82%); }
.kp-page-hero__glow { position: absolute; width: 460px; height: 460px; right: -120px; top: -260px; border-radius: 50%; background: rgba(255,90,31,.28); }
.kp-page-hero__inner { position: relative; }
.kp-eyebrow { margin: 0 0 15px; color: #ffad72; font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.kp-page-hero h1 { max-width: 940px; margin: 0; color: #fff; font-size: clamp(42px,5vw,68px); line-height: 1.02; letter-spacing: -.05em; overflow-wrap: anywhere; }
.kp-breadcrumb { display: flex; align-items: center; gap: 10px; margin-top: 25px; color: rgba(255,255,255,.55); font-size: 13px; }
.kp-breadcrumb a { color: rgba(255,255,255,.78); }
.kp-breadcrumb strong { max-width: 650px; overflow: hidden; color: rgba(255,255,255,.55); font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }

.kp-subpage #pxl-main { min-height: 420px; background: #fff; }
.kp-subpage #pxl-main > .container { padding-top: 86px; padding-bottom: 108px; }
.kp-subpage #pxl-main > .elementor-container { padding-top: 70px; padding-bottom: 90px; }
.kp-subpage #pxl-content-main { color: #334f5a; font-size: 16px; line-height: 1.78; }
.kp-subpage #pxl-content-main p { margin-top: 0; margin-bottom: 22px; }
.kp-subpage #pxl-content-main h1,
.kp-subpage #pxl-content-main h2,
.kp-subpage #pxl-content-main h3,
.kp-subpage #pxl-content-main h4 { color: var(--kp-ink); font-family: Inter,"DM Sans",sans-serif; letter-spacing: -.035em; }
.kp-subpage #pxl-content-main h1 { margin: 0 0 28px; font-size: clamp(38px,4vw,54px); line-height: 1.06; }
.kp-subpage #pxl-content-main h2 { margin: 54px 0 20px; font-size: clamp(30px,3vw,40px); line-height: 1.14; }
.kp-subpage #pxl-content-main h3 { margin: 38px 0 15px; font-size: 24px; line-height: 1.25; }
.kp-subpage #pxl-content-main h4 { margin: 28px 0 12px; font-size: 19px; }
.kp-subpage #pxl-content-main a:not(.btn):not(.button):not(.woocommerce-button) { color: #d94714; text-decoration-color: rgba(255,90,31,.35); text-underline-offset: 3px; }
.kp-subpage #pxl-content-main a:not(.btn):not(.button):hover { color: var(--kp-orange); }
.kp-subpage .pxl-entry-content { max-width: 880px; margin-inline: auto; }
.kp-subpage .pxl-entry-content ul,
.kp-subpage .pxl-entry-content ol { margin: 0 0 28px; padding-left: 24px; }
.kp-subpage .pxl-entry-content li { margin-bottom: 9px; }
.kp-subpage .pxl-entry-content blockquote { margin: 38px 0; padding: 28px 32px; border: 0; border-left: 4px solid var(--kp-orange); border-radius: 0 10px 10px 0; background: var(--kp-cream); color: #294753; font-size: 19px; line-height: 1.65; }
.kp-subpage .pxl-entry-content img { border-radius: 10px; }
.kp-subpage.page:not(.elementor-page) .pxl-entry-content > h1:first-child { display: none; }
.kp-subpage.single-post #pxl-content-main > article > .pxl-item--title { display: none; }

.kp-subpage .btn,
.kp-subpage button[type="submit"],
.kp-subpage input[type="submit"],
.kp-subpage .woocommerce a.button,
.kp-subpage .woocommerce button.button,
.kp-subpage .woocommerce input.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 0 22px; border: 1px solid var(--kp-orange) !important; border-radius: 8px !important; background: var(--kp-orange) !important; color: #fff !important; font-weight: 760; text-decoration: none !important; box-shadow: 0 10px 25px rgba(255,90,31,.17); }
.kp-subpage .btn:hover,
.kp-subpage button[type="submit"]:hover,
.kp-subpage input[type="submit"]:hover,
.kp-subpage .woocommerce a.button:hover,
.kp-subpage .woocommerce button.button:hover { background: var(--kp-orange-dark) !important; border-color: var(--kp-orange-dark) !important; color: #fff !important; }
.kp-subpage .pxl-entry-content > p > a[style*="background"] { padding: 14px 24px !important; border-radius: 8px !important; background: var(--kp-orange) !important; color: #fff !important; font-weight: 760 !important; box-shadow: 0 10px 25px rgba(255,90,31,.16); }

.kp-subpage input[type="text"], .kp-subpage input[type="email"], .kp-subpage input[type="tel"], .kp-subpage input[type="password"], .kp-subpage input[type="search"], .kp-subpage input[type="number"], .kp-subpage select, .kp-subpage textarea { width: 100%; border: 1px solid #d5ddda; border-radius: 6px; outline: none; background: #fbfcfb; color: var(--kp-ink); }
.kp-subpage input[type="text"], .kp-subpage input[type="email"], .kp-subpage input[type="tel"], .kp-subpage input[type="password"], .kp-subpage input[type="search"], .kp-subpage input[type="number"], .kp-subpage select { min-height: 50px; padding: 0 14px; }
.kp-subpage textarea { padding: 13px 14px; }
.kp-subpage input:focus, .kp-subpage select:focus, .kp-subpage textarea:focus { border-color: var(--kp-orange); box-shadow: 0 0 0 3px rgba(255,90,31,.1); }

.kp-subpage .wpcf7 { max-width: 720px; margin: 38px 0; padding: 38px; border: 1px solid var(--kp-line); border-radius: 12px; background: #fff; box-shadow: var(--kp-shadow); }
.kp-subpage .wpcf7 .contact-form-home { padding: 0 !important; background: transparent !important; }
.kp-subpage .wpcf7 .pxl-title-form { margin: 0 0 8px !important; color: var(--kp-ink) !important; font-size: 28px !important; }
.kp-subpage .wpcf7 .pxl-subtitle-form { color: var(--kp-muted) !important; }
.kp-subpage .wpcf7 .input-filled { margin-bottom: 14px; }
.kp-subpage .wpcf7 .wpcf7-spinner { display: block; margin: 14px auto 0; }
.kp-subpage .wpcf7-response-output { margin: 18px 0 0 !important; padding: 13px 15px !important; border-width: 1px !important; border-radius: 6px; }

.kp-subpage .pxl-content-wrap { row-gap: 48px; }
.kp-subpage .pxl-item--archive { margin-bottom: 24px; padding: 34px !important; border: 1px solid var(--kp-line); border-radius: 12px; background: #fff; box-shadow: 0 12px 34px rgba(3,31,46,.06); }
.kp-subpage .pxl-item--archive:hover { transform: translateY(-3px); box-shadow: 0 20px 45px rgba(3,31,46,.1); }
.kp-subpage .pxl-item--archive .pxl-item--title { margin: 15px 0 14px !important; font-size: 28px !important; line-height: 1.2; }
.kp-subpage .pxl-item--archive .pxl-item--excerpt { color: var(--kp-muted); }
.kp-subpage .pxl-item--meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0 !important; color: #8a999f !important; font-size: 12px; }
.kp-subpage .pxl-item--meta li { margin: 0 !important; }
.kp-subpage .pxl-item-readmore { margin-top: 22px; }

.kp-subpage #pxl-sidebar-area .widget { margin-bottom: 24px; padding: 27px; border: 1px solid var(--kp-line); border-radius: 10px; background: var(--kp-cream); }
.kp-subpage #pxl-sidebar-area .widget-title { margin: 0 0 20px; color: var(--kp-ink); font-size: 19px; }
.kp-subpage #pxl-sidebar-area .pxl--item { padding-block: 12px; border-bottom: 1px solid #dfe4e2; }
.kp-subpage #pxl-sidebar-area .pxl--item:last-child { border-bottom: 0; }
.kp-subpage #pxl-sidebar-area .pxl-item--title { margin: 0; font-size: 15px; line-height: 1.45; }
.kp-subpage .tagcloud a { display: inline-block; margin: 3px; padding: 6px 9px; border-radius: 5px; background: #fff; color: var(--kp-muted) !important; font-size: 12px !important; }
.kp-subpage .pxl-pagination-links { display: flex; gap: 8px; margin-top: 36px; }
.kp-subpage .page-numbers { min-width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--kp-line); border-radius: 6px; background: #fff; color: var(--kp-ink); }
.kp-subpage .page-numbers.current, .kp-subpage .page-numbers:hover { border-color: var(--kp-orange); background: var(--kp-orange); color: #fff; }

.kp-subpage .elementor-widget-container h1,
.kp-subpage .elementor-widget-container h2,
.kp-subpage .elementor-widget-container h3 { font-family: Inter,"DM Sans",sans-serif; letter-spacing: -.035em; }
.kp-subpage .elementor-widget-text-editor { color: #435d68; }
.kp-subpage .elementor-widget-pxl_service_grid .pxl-grid-item,
.kp-subpage .elementor-widget-pxl_service_carousel .pxl-swiper-slide { border-radius: 10px; overflow: hidden; }

.kp-subpage.woocommerce-page #pxl-content-main,
.kp-subpage.single-product #pxl-content-main { color: var(--kp-ink); }
.kp-subpage .woocommerce ul.products { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.kp-subpage .woocommerce ul.products::before,
.kp-subpage .woocommerce ul.products::after { display: none; }
.kp-subpage .woocommerce ul.products li.product { width: auto !important; margin: 0 !important; padding: 20px !important; border: 1px solid var(--kp-line); border-radius: 10px; background: #fff; box-shadow: 0 10px 30px rgba(3,31,46,.05); }
.kp-subpage .woocommerce ul.products li.product img { border-radius: 7px; }
.kp-subpage .woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--kp-ink); font-size: 18px; line-height: 1.35; }
.kp-subpage .woocommerce .price { color: var(--kp-orange) !important; font-weight: 800; }
.kp-subpage .woocommerce table.shop_table { border-color: var(--kp-line); border-radius: 8px; }
.kp-subpage .woocommerce-message, .kp-subpage .woocommerce-info { border-top-color: var(--kp-orange); background: var(--kp-cream); }
.kp-subpage .woocommerce-message::before, .kp-subpage .woocommerce-info::before { color: var(--kp-orange); }
.kp-subpage #pxl-main > .wp-site-blocks { padding: 72px max(18px,calc((100vw - 1160px)/2)); background: #f5f6f2; }
.kp-subpage #pxl-main > .wp-site-blocks .wp-block-woocommerce-coming-soon { max-width: 880px; margin: 0 auto; padding: 14px; border: 1px solid var(--kp-line); border-radius: 14px; background: rgba(255,255,255,.72); box-shadow: var(--kp-shadow); }
.kp-subpage #pxl-main > .wp-site-blocks .wp-block-group { min-height: 360px; padding: 46px clamp(24px,6vw,72px); border-radius: 10px; background: radial-gradient(circle at 82% 18%,rgba(255,90,31,.12),transparent 34%),#fff; }
.kp-subpage #pxl-main > .wp-site-blocks .wp-block-spacer { height: 24px !important; }
.kp-subpage #pxl-main > .wp-site-blocks .wp-block-heading { margin: 0; color: var(--kp-navy); font-family: Inter,"DM Sans",sans-serif !important; font-size: clamp(32px,5vw,52px); line-height: 1.08; letter-spacing: -.045em; }
.kp-subpage #pxl-main > .wp-site-blocks .wp-block-paragraph { max-width: 620px; margin-inline: auto; color: var(--kp-muted); font-family: Inter,"DM Sans",sans-serif !important; font-size: 17px; line-height: 1.75; }

.kp-footer-cta { padding: 62px 0; background: var(--kp-cream); }
.kp-footer-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.kp-footer-cta .kp-eyebrow { color: var(--kp-orange); }
.kp-footer-cta h2 { max-width: 760px; margin: 0; color: var(--kp-ink); font-size: clamp(32px,3.5vw,48px); line-height: 1.08; letter-spacing: -.045em; }
.kp-footer { padding: 78px 0 26px; background: var(--kp-navy-deep); color: rgba(255,255,255,.62); }
.kp-footer__grid { display: grid; grid-template-columns: 1.5fr .7fr 1fr .7fr; gap: 64px; }
.kp-footer__brand img { width: 190px; height: 88px; object-fit: contain; filter: brightness(0) invert(1); }
.kp-footer__brand p { max-width: 300px; margin: 22px 0 0; line-height: 1.65; }
.kp-footer h3 { margin: 0 0 22px; color: #fff; font-size: 13px; letter-spacing: .11em; text-transform: uppercase; }
.kp-footer a, .kp-footer__grid > div > p { display: block; margin: 0 0 11px; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.6; }
.kp-footer a:hover { color: #fff; }
.kp-footer__bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 62px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); font-size: 12px; }
.kp-footer__bottom a { margin: 0; }
.kp-mobile-cta { display: none; }

@media (max-width: 1080px) {
  .kp-nav { gap: 17px; font-size: 13px; }
  .kp-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .kp-footer__grid > div:last-child { grid-column: 2; }
}

@media (max-width: 900px) {
  .kp-shell { width: min(100% - 36px,740px); }
  .kp-topbar__inner > p, .kp-topbar__links a:first-child { display: none; }
  .kp-topbar__inner { justify-content: flex-end; }
  .kp-menu-button { width: 46px; height: 46px; display: grid; align-content: center; gap: 7px; padding: 0 12px; border: 1px solid var(--kp-line); border-radius: 7px; background: #fff; }
  .kp-menu-button span { display: block; height: 2px; background: var(--kp-navy); }
  .kp-nav { position: absolute; inset: 80px 0 auto; display: none; align-items: stretch; gap: 0; padding: 14px 18px 22px; border-top: 1px solid var(--kp-line); background: #fff; box-shadow: 0 24px 45px rgba(4,30,45,.14); }
  .kp-nav--open { display: grid; }
  .kp-nav > a:not(.kp-button) { padding: 13px 7px; border-bottom: 1px solid #edf0ef; }
  .kp-nav > a:not(.kp-button)::after { display: none; }
  .kp-nav .kp-button { margin-top: 15px; }
  .kp-page-hero { padding: 66px 0 72px; }
  .kp-footer-cta__inner { align-items: flex-start; flex-direction: column; }
  .kp-subpage .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
  html { scroll-padding-top: 75px; }
  body.kp-subpage { padding-bottom: 62px; }
  .admin-bar .kp-site-header { top: 46px; }
  .kp-shell { width: calc(100% - 32px); }
  .kp-topbar__inner { min-height: 32px; }
  .kp-header__inner { min-height: 72px; }
  .kp-brand { width: 145px; }
  .kp-brand img { height: 50px; }
  .kp-nav { top: 72px; }
  .kp-page-hero { padding: 54px 0 60px; }
  .kp-page-hero h1 { font-size: clamp(36px,11vw,48px); }
  .kp-breadcrumb strong { max-width: 210px; }
  .kp-subpage #pxl-main > .container { padding-top: 58px; padding-bottom: 72px; }
  .kp-subpage #pxl-content-main { font-size: 15.5px; }
  .kp-subpage #pxl-content-main h2 { margin-top: 42px; font-size: 29px; }
  .kp-subpage .pxl-item--archive { padding: 24px !important; }
  .kp-subpage .pxl-item--archive .pxl-item--title { font-size: 23px !important; }
  .kp-subpage .wpcf7 { padding: 24px 18px; }
  .kp-subpage .woocommerce ul.products { grid-template-columns: 1fr; }
  .kp-subpage #pxl-main > .wp-site-blocks { padding-block: 48px; }
  .kp-subpage #pxl-main > .wp-site-blocks .wp-block-group { min-height: 300px; padding-inline: 22px; }
  .kp-footer-cta { padding: 50px 0; }
  .kp-footer { padding-top: 60px; }
  .kp-footer__grid { grid-template-columns: 1fr 1fr; gap: 38px 24px; }
  .kp-footer__brand { grid-column: 1 / -1; }
  .kp-footer__grid > div:last-child { grid-column: auto; }
  .kp-footer__bottom { align-items: flex-start; flex-direction: column; gap: 10px; }
  .kp-mobile-cta { position: fixed; z-index: 1000; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: .72fr 1.28fr; box-shadow: 0 -12px 30px rgba(4,30,45,.15); }
  .kp-mobile-cta a { min-height: 62px; display: grid; place-items: center; background: #fff; color: var(--kp-navy); font-size: 14px; font-weight: 790; }
  .kp-mobile-cta a:last-child { background: var(--kp-orange); color: #fff; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
