/* =====================================================================
   v4 — mega menu redesign, compact popup, footer, map, sitemap, contact
   ===================================================================== */

/* ---------- Mega menu ---------- */
.jks .mega { left: 24px; right: 24px; top: calc(100% - 2px); padding: 0; border: 0; border-radius: 28px; overflow: hidden; background: rgba(255, 255, 255, .97);
  backdrop-filter: blur(18px) saturate(160%); -webkit-backdrop-filter: blur(18px) saturate(160%);
  box-shadow: 0 50px 100px -30px rgba(11, 18, 32, .45), 0 0 0 1px rgba(11, 18, 32, .06);
  transform: translateY(14px) scale(.985); transform-origin: 50% 0; clip-path: inset(0 0 100% 0 round 28px);
  transition: opacity .35s, transform .55s cubic-bezier(.22, 1, .36, 1), clip-path .6s cubic-bezier(.22, 1, .36, 1), visibility .35s; }
.jks .has-mega:hover .mega, .jks .has-mega.hover .mega, .jks .has-mega:focus-within .mega { transform: none; clip-path: inset(0 0 0 0 round 28px); }
.jks .mm-wrap { display: grid; grid-template-columns: 270px 1fr; }
.jks .mm-intro { position: relative; overflow: hidden; padding: 30px 26px; background: linear-gradient(160deg, #0b1220 0%, #1a2238 60%, #2a1c24 100%); color: #c9d0dd; display: flex; flex-direction: column; gap: 14px; }
.jks .mm-glow { position: absolute; width: 360px; height: 360px; right: -180px; top: -160px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 106, 61, .55), transparent 65%); animation: drift 12s ease-in-out infinite alternate; pointer-events: none; }
.jks .mm-intro > * { position: relative; }
.jks .mm-kicker { display: inline-flex; align-self: flex-start; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12); font: 700 11.5px var(--font-head); letter-spacing: .1em; text-transform: uppercase; color: #ffb18f; }
.jks .mm-kicker svg { width: 13px; height: 13px; }
.jks .mm-big { font: 800 23px/1.2 var(--font-head); color: #fff; letter-spacing: -.01em; margin: 4px 0 0; }
.jks .mm-sub { font-size: 13.5px; line-height: 1.5; margin: 0; color: #9aa4b8; }
.jks .mm-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 4px; }
.jks .mm-stats div { padding: 10px 6px; border-radius: 14px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .08); text-align: center; }
.jks .mm-stats b { display: block; font: 800 18px var(--font-head); background: linear-gradient(120deg, #ff8a6a, #ffc38a); -webkit-background-clip: text; background-clip: text; color: transparent; }
.jks .mm-stats small { font-size: 11px; color: #9aa4b8; }
.jks .mm-cta { margin-top: auto; width: 100%; }
.jks .mm-all { display: inline-flex; align-items: center; justify-content: center; gap: 6px; font: 600 13.5px var(--font-head); color: #fff; opacity: .85; }
.jks .mm-all svg { width: 14px; height: 14px; transition: transform .3s; }
.jks .mm-all:hover { opacity: 1; color: #ffb18f; }
.jks .mm-all:hover svg { transform: translateX(4px); }
.jks .mm-main { display: flex; flex-direction: column; min-width: 0; }
.jks .mm-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; padding: 10px 8px 6px; }
.jks .mm-col { padding: 16px 12px 10px; border-right: 0; background: none !important; opacity: 0; transform: translateY(12px); transition: opacity .45s, transform .6s cubic-bezier(.22, 1, .36, 1); transition-delay: calc(.08s + var(--i) * .06s); }
.jks .has-mega:hover .mm-col, .jks .has-mega.hover .mm-col, .jks .has-mega:focus-within .mm-col { opacity: 1; transform: none; }
.jks .mm-head { position: relative; display: flex; gap: 10px; align-items: center; padding: 10px 10px 12px; margin: 0 0 8px; border: 0; border-radius: 16px; background: linear-gradient(120deg, #fff4ee, #fff9f6); }
.jks .mm-head::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: -4px; height: 2px; border-radius: 2px; background: var(--grad); transform: scaleX(.2); transform-origin: left; transition: transform .6s cubic-bezier(.22, 1, .36, 1); }
.jks .mm-col:hover .mm-head::after { transform: scaleX(1); }
.jks .mm-gi { flex: none; width: 36px; height: 36px; border-radius: 11px; background: var(--grad); color: #fff; display: grid; place-items: center; box-shadow: 0 8px 18px -8px rgba(255, 75, 62, .7); }
.jks .mm-gi svg { width: 18px; height: 18px; }
.jks .mm-head strong { display: block; font: 700 14px/1.2 var(--font-head); color: var(--ink); }
.jks .mm-head div > span { display: block; font-size: 11.5px; line-height: 1.35; color: var(--muted); margin-top: 2px; }
.jks .mm-count { position: absolute; top: 8px; right: 8px; font: 700 10.5px var(--font-head); font-style: normal; color: var(--brand-ink); background: #fff; border: 1px solid #ffd9cb; padding: 2px 7px; border-radius: 999px; }
.jks .mm-col ul { gap: 2px; }
.jks .mm-col li { opacity: 0; transform: translateX(-8px); transition: opacity .4s, transform .5s cubic-bezier(.22, 1, .36, 1); transition-delay: calc(.18s + var(--i) * .05s + var(--j) * .03s); }
.jks .has-mega:hover .mm-col li, .jks .has-mega.hover .mm-col li, .jks .has-mega:focus-within .mm-col li { opacity: 1; transform: none; }
.jks .mm-col li a { position: relative; display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; font: 500 13.5px/1.3 var(--font-head); color: var(--ink-2); overflow: hidden; isolation: isolate; transition: color .25s, padding .35s cubic-bezier(.22, 1, .36, 1); }
.jks .mm-col li a::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: linear-gradient(90deg, #fff1ea, rgba(255, 241, 234, 0)); transform: translateX(-100%); transition: transform .45s cubic-bezier(.22, 1, .36, 1); }
.jks .mm-col li a:hover { color: var(--brand-ink); padding-left: 14px; }
.jks .mm-col li a:hover::before { transform: none; }
.jks .mm-ic { flex: none; width: 28px; height: 28px; border-radius: 9px; background: #f4f5f9; color: var(--ink-3); display: grid; place-items: center; transition: background .3s, color .3s, transform .4s cubic-bezier(.22, 1, .36, 1); }
.jks .mm-ic svg { width: 15px; height: 15px; }
.jks .mm-col li a:hover .mm-ic { background: var(--grad); color: #fff; transform: rotate(-8deg) scale(1.08); }
.jks .mm-t { flex: 1; min-width: 0; }
.jks .mm-go { width: 14px; height: 14px; flex: none; opacity: 0; transform: translateX(-6px); transition: opacity .25s, transform .3s; }
.jks .mm-col li a:hover .mm-go { opacity: 1; transform: none; }
.jks .mm-foot { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 10px 18px 18px; background: none; }
.jks .mm-promo { position: relative; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; background: linear-gradient(120deg, #ff4b3e, #ff8a4d); color: #fff; overflow: hidden; transition: transform .35s cubic-bezier(.22, 1, .36, 1), box-shadow .35s; }
.jks .mm-promo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .35) 50%, transparent 70%); transform: translateX(-100%); transition: transform .8s; }
.jks .mm-promo:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -14px rgba(255, 75, 62, .6); }
.jks .mm-promo:hover::after { transform: translateX(100%); }
.jks .mm-promo.alt { background: var(--ink); }
.jks .mm-promo.free { background: #f4f5f9; color: var(--ink); }
.jks .mm-promo .mm-tag { flex: none; display: inline-flex; align-items: center; gap: 5px; padding: 5px 9px; border-radius: 999px; background: rgba(255, 255, 255, .2); color: #fff; font: 700 10.5px var(--font-head); letter-spacing: .06em; text-transform: uppercase; }
.jks .mm-promo.free .mm-tag { background: var(--grad); }
.jks .mm-promo .mm-tag svg { width: 12px; height: 12px; }
.jks .mm-promo b { display: block; font: 700 13.5px/1.2 var(--font-head); }
.jks .mm-promo small { font-size: 11.5px; opacity: .8; }
.jks .mm-promo > span:not(.mm-tag) { flex: 1; min-width: 0; }
.jks .mm-go2 { width: 15px; height: 15px; flex: none; transition: transform .3s; }
.jks .mm-promo:hover .mm-go2 { transform: translateX(4px); }
@media (max-width: 1280px) { .jks .mm-wrap { grid-template-columns: 230px 1fr; } .jks .mm-big { font-size: 20px; } }
@media (max-width: 1080px) {
  .jks .mega { clip-path: none !important; transform: none !important; backdrop-filter: none; box-shadow: none; border-radius: 0; }
  .jks .mm-wrap { grid-template-columns: 1fr; }
  .jks .mm-intro { display: none; }
  .jks .mm-grid { grid-template-columns: 1fr; padding: 0; }
  .jks .mm-col, .jks .mm-col li { opacity: 1; transform: none; }
  .jks .mm-foot { grid-template-columns: 1fr; padding: 6px 0 10px; }
}

/* ---------- Popup: compact ---------- */
.jks .elementor-popup-modal .dialog-widget-content { width: min(780px, calc(100vw - 32px)) !important; }
.jks .elementor-popup-modal .lp-card { grid-template-columns: 0.85fr 1.15fr !important; }
.jks .elementor-popup-modal .lp-side { padding: 28px 24px; }
.jks .elementor-popup-modal .lp-title .elementor-heading-title { font-size: 22px; margin: 12px 0 6px; }
.jks .elementor-popup-modal .lp-price .elementor-heading-title { font-size: 22px; margin-bottom: 6px; }
.jks .elementor-popup-modal .lp-sub p { font-size: 13.5px; }
.jks .elementor-popup-modal .lp-points { margin-top: 10px; }
.jks .elementor-popup-modal .lp-points .elementor-icon-list-item { font-size: 13px; padding-bottom: 6px !important; }
.jks .elementor-popup-modal .lp-form-col { padding: 26px 24px 20px; }
.jks .elementor-popup-modal .lp-form-col h3 { font-size: 20px; }
.jks .elementor-popup-modal .lp-lead p { font-size: 13px; margin-bottom: 12px; }
.jks .elementor-popup-modal .jk-form .elementor-field-group { margin-bottom: 8px !important; padding: 0 4px !important; }
.jks .elementor-popup-modal .jk-form .elementor-form-fields-wrapper { margin: 0 -4px; }
.jks .elementor-popup-modal .jk-form .elementor-field-textual, .jks .elementor-popup-modal .jk-form select.elementor-field { min-height: 42px; padding: 10px 13px; font-size: 14px; border-radius: 12px; }
.jks .elementor-popup-modal .jk-form textarea.elementor-field-textual { min-height: 64px; height: 64px; }
.jks .elementor-popup-modal .jk-form .elementor-field-type-submit .elementor-button { padding: 13px 20px; font-size: 15px; }
.jks .elementor-popup-modal .lp-fine { font-size: 11.5px; margin-top: 6px; }
@media (max-width: 1080px) { .jks .elementor-popup-modal .lp-card { grid-template-columns: 1fr !important; } }
@media (max-width: 680px) {
  .jks .elementor-popup-modal .dialog-widget-content { width: calc(100vw - 20px) !important; }
  .jks .elementor-popup-modal .lp-side { padding: 18px 18px 14px; }
  .jks .elementor-popup-modal .lp-badge { display: none; }
  .jks .elementor-popup-modal .lp-title .elementor-heading-title { margin-top: 0; font-size: 19px; }
  .jks .elementor-popup-modal .lp-price .elementor-heading-title { font-size: 19px; }
  .jks .elementor-popup-modal .lp-form-col { padding: 16px 16px 14px; }
  .jks .elementor-popup-modal .lp-form-col h3, .jks .elementor-popup-modal .lp-lead { display: none; }
}

/* ---------- Footer: newsletter as a card, no empty gap ---------- */
.jks .footer .f-top { align-items: center !important; }
.jks .footer .f-news { padding: 26px 28px; border-radius: 22px; background: linear-gradient(140deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02)); border: 1px solid rgba(255, 255, 255, .09); position: relative; overflow: hidden; }
.jks .footer .f-news::before { content: ""; position: absolute; width: 260px; height: 260px; right: -110px; top: -130px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 106, 61, .35), transparent 65%); pointer-events: none; }
.jks .footer .f-news > * { position: relative; }
.jks .footer .f-news .elementor-heading-title { margin-bottom: 6px !important; font-size: 18px !important; }
.jks .footer .f-news .elementor-widget-text-editor p { margin-bottom: 14px !important; }

/* ---------- Map ---------- */
.jk-map { position: relative; border-radius: 28px; overflow: hidden; box-shadow: var(--shadow-lg); border: 1px solid var(--line); background: #eef3f0; }
.jk-map-frame { position: relative; height: var(--h, 420px); background: linear-gradient(135deg, #eef3f0, #f6f2ec); }
.jk-map-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: saturate(.9) contrast(1.02); }
.jk-map-frame::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(11, 18, 32, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(11, 18, 32, .05) 1px, transparent 1px); background-size: 40px 40px; }
.jk-map-load { position: absolute; left: 50%; top: 45%; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; border-radius: 999px; border: 0; background: var(--grad); color: #fff; font: 700 15px var(--font-head); cursor: pointer; box-shadow: 0 18px 36px -14px rgba(255, 75, 62, .7); z-index: 2; }
.jk-map-load svg { width: 18px; height: 18px; }
.jk-map-load::after { content: ""; position: absolute; inset: -10px; border-radius: inherit; border: 2px solid rgba(255, 106, 61, .5); animation: ping 2s infinite; }
.jk-map-card { position: absolute; left: 18px; right: 18px; bottom: 18px; display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 18px; background: rgba(255, 255, 255, .95); backdrop-filter: blur(10px); box-shadow: var(--shadow); z-index: 3; }
.jk-map-pin { flex: none; width: 44px; height: 44px; border-radius: 14px; background: var(--grad); color: #fff; display: grid; place-items: center; }
.jk-map-pin svg { width: 22px; height: 22px; }
.jk-map-card > div { flex: 1; min-width: 0; }
.jk-map-card strong { display: block; font: 700 15px var(--font-head); color: var(--ink); }
.jk-map-card span { font-size: 13px; color: var(--muted); }
.jk-map-card .btn { width: auto; flex: none; }
@media (max-width: 680px) { .jk-map-card { flex-wrap: wrap; } .jk-map-card .btn { width: 100%; } }

/* ---------- HTML sitemap ---------- */
.jks-sitemap { columns: 3 300px; column-gap: 24px; }
.sm-col { break-inside: avoid; margin: 0 0 24px; padding: 24px; border-radius: 22px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-sm); transition: box-shadow .4s, transform .4s cubic-bezier(.22, 1, .36, 1); }
.sm-col:hover { box-shadow: var(--shadow); transform: translateY(-3px); }
.sm-col h2 { display: flex; align-items: center; gap: 10px; font-size: 18px; margin-bottom: 14px; }
.sm-col h2 em { margin-left: auto; font-style: normal; font: 700 12px var(--font-head); color: var(--brand-ink); background: #fff0ec; padding: 3px 9px; border-radius: 999px; }
.sm-ic { width: 34px; height: 34px; border-radius: 10px; background: var(--grad); color: #fff; display: grid; place-items: center; flex: none; }
.sm-ic svg { width: 17px; height: 17px; }
.sm-col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 2px; }
.sm-col li a { display: flex; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 10px; font-size: 15px; color: var(--ink-3); transition: background .25s, color .25s, padding .3s; }
.sm-col li a::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #ffc9b8; flex: none; transition: background .25s; }
.sm-col li a:hover { background: var(--bg-soft); color: var(--brand-ink); padding-left: 14px; }
.sm-col li a:hover::before { background: var(--brand); }
.sm-xml { text-align: center; color: var(--muted); font-size: 14px; margin-top: 10px; }

/* ---------- Contact page ---------- */
.jks .ct-hero { overflow: hidden; }
.jks .ct-hero .ph-in { max-width: 760px; }
.jks .ct-badges { margin-top: 26px; }
.jks .ct-badges .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 10px; }
.jks .ct-badges .elementor-icon-list-item { margin: 0 !important; padding: 8px 14px !important; border-radius: 999px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-sm); font: 600 13.5px var(--font-head); color: var(--ink-2); }
.jks .ct-badges .elementor-icon-list-icon svg { width: 15px; height: 15px; color: #16a34a; }
.jks .ct-cards { margin-top: -40px; position: relative; z-index: 3; }
.jks .ct-card { position: relative; overflow: hidden; padding: 28px; border-radius: 26px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); gap: 6px; transition: transform .5s cubic-bezier(.22, 1, .36, 1), box-shadow .5s; }
.jks .ct-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); }
.jks .ct-card::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--grad); transform: scaleX(0); transform-origin: left; transition: transform .6s cubic-bezier(.22, 1, .36, 1); }
.jks .ct-card:hover::after { transform: scaleX(1); }
.jks .ct-card .ic .elementor-icon { width: 58px; height: 58px; border-radius: 18px; background: var(--grad); color: #fff; margin-bottom: 14px; box-shadow: 0 14px 28px -14px rgba(255, 75, 62, .8); }
.jks .ct-card .ic svg { width: 26px; height: 26px; }
.jks .ct-card.wa .ic .elementor-icon { background: linear-gradient(135deg, #25d366, #128c7e); box-shadow: 0 14px 28px -14px rgba(37, 211, 102, .8); }
.jks .ct-card h3 { font-size: 20px; }
.jks .ct-value .elementor-heading-title { font: 700 17px var(--font-head); color: var(--brand-ink); word-break: break-word; }
.jks .ct-card p { font-size: 14.5px; color: var(--muted); }
.jks .ct-card .link-arrow-w { margin-top: auto; padding-top: 10px; }
.jks .steps-row { counter-reset: st; }
.jks .ct-step { position: relative; padding: 26px 24px; border-radius: 22px; background: #fff; border: 1px solid var(--line); gap: 6px; }
.jks .ct-step .st-n .elementor-heading-title { font: 800 40px/1 var(--font-head); background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; margin-bottom: 8px; }
.jks .ct-step h3 { font-size: 18px; }
.jks .ct-step p { font-size: 14.5px; color: var(--muted); }
.jks .ct-hours .elementor-icon-list-items { display: grid; gap: 8px; }
.jks .ct-hours .elementor-icon-list-item { padding: 12px 16px !important; border-radius: 14px; background: var(--bg-soft); margin: 0 !important; font-size: 15px; color: var(--ink-2); }
.jks .ct-hours .elementor-icon-list-icon svg { width: 17px; height: 17px; color: var(--brand-ink); }
.jks .ct-map-grid { align-items: stretch; }
.jks .ct-info { padding: 32px; border-radius: 28px; background: var(--ink); color: #c9d0dd; gap: 14px; position: relative; overflow: hidden; }
.jks .ct-info::before { content: ""; position: absolute; width: 420px; height: 420px; right: -200px; top: -200px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 106, 61, .4), transparent 65%); pointer-events: none; }
.jks .ct-info > * { position: relative; }
.jks .ct-info .h2-w .elementor-heading-title { color: #fff; font-size: 30px; }
.jks .ct-info .eyebrow-w .elementor-heading-title { color: #ffb18f; }
.jks .ct-info .ct-hours .elementor-icon-list-item { background: rgba(255, 255, 255, .06); color: #e4e8f0; }
.jks .ct-info .ct-hours .elementor-icon-list-text { color: #e4e8f0; }
.jks .ct-info p { color: #aab3c5; }
@media (max-width: 1080px) { .jks .ct-cards { margin-top: 0; } }

/* Mega menu: compact layout */
.jks .mm-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.jks .mm-col:nth-child(3) { grid-column: span 2; }
.jks .mm-col:nth-child(3) ul { display: grid; grid-template-columns: 1fr 1fr; column-gap: 4px; }
.jks .mm-head { padding: 9px 10px; margin-bottom: 6px; }
.jks .mm-head div > span { display: none; }
.jks .mm-head > div { flex: 1; min-width: 0; }
.jks .mm-head strong { font-size: 13.5px; }
.jks .mm-count { position: static; flex: none; margin-left: 4px; }
.jks .mm-col li a { padding: 7px 9px; font-size: 13.5px; }
.jks .mm-intro { justify-content: center; }
.jks .mm-cta { margin-top: 6px; }
.jks .mega { max-height: calc(100vh - 150px); overflow-y: auto; }
@media (max-width: 1280px) { .jks .mm-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .jks .mm-col:nth-child(3) { grid-column: span 2; } .jks .mm-col:nth-child(4) { grid-column: span 1; } }
@media (max-width: 1080px) { .jks .mm-col:nth-child(3) { grid-column: auto; } .jks .mm-col:nth-child(3) ul { grid-template-columns: 1fr; } .jks .mega { max-height: none; } }

/* contact spacing + map fill */
.jks .jk-sec.pb-small { padding-bottom: 10px; }
.jks .ct-map-grid > .elementor-widget-shortcode, .jks .ct-map-grid .elementor-widget-container, .jks .ct-map-grid .elementor-shortcode { height: 100%; }
.jks .ct-map-grid .jk-map { height: 100%; display: flex; flex-direction: column; min-height: 460px; }
.jks .ct-map-grid .jk-map-frame { flex: 1; height: auto; min-height: 460px; }
/* FAQ page category icon */
.jks .faq-cat-ic .elementor-icon { width: 56px; height: 56px; border-radius: 18px; background: var(--grad); color: #fff; margin-bottom: 16px; box-shadow: 0 14px 28px -14px rgba(255, 75, 62, .8); }
.jks .faq-cat-ic svg { width: 26px; height: 26px; }

/* accessibility: contrast */
:root { --brand-ink: #cc2f1f; }
.jks .prose .inline-offer p { color: #c9d0dd; }
.jks .prose .inline-offer h3 { color: #fff; margin-top: 4px; }
.jks .ct-card h2 { font-size: 20px; margin: 0; }

/* ---------- Rendering performance ---------- */
/* Render below-the-fold sections only when they approach the viewport. */
.jks .elementor[data-elementor-type="wp-page"] > .e-con:nth-child(n+3),
.jks .elementor-location-footer { content-visibility: auto; contain-intrinsic-size: auto 900px; }
/* Same soft look without expensive live blur filters. */
.jks .hero::before { filter: none; opacity: .85; }
.jks .blob { filter: none; opacity: .35; background: radial-gradient(circle, currentColor 0, transparent 68%) !important; }
.jks .blob.b1 { color: #ffb38a; } .jks .blob.b2 { color: #c7cdfc; }
.jks .site-header.scrolled { backdrop-filter: saturate(140%) blur(8px); -webkit-backdrop-filter: saturate(140%) blur(8px); }

/* Speed Index: hero visual is complete at first paint; motion comes later */
.jks .sv-ai p { opacity: 1 !important; transform: none !important; transition: none !important; }
.jks .sv-ai .sk { width: var(--w) !important; transition: none !important; }
.jks .sv-map .pin.me { opacity: 1; animation: none !important; transform: rotate(-45deg); }
.jks .loaded .r-a, .jks .loaded .r-b, .jks .loaded .sv-row.brand { transition-delay: 3.2s !important; }
.jks .jk-faq .elementor-tab-title { display: block; }
.jks .jk-faq .elementor-accordion-title { pointer-events: none; }
