/* Progressive enhancement: readable content and native controls are the baseline. */
:focus-visible { outline: var(--focus-ring); outline-offset: 4px; }
.kll-js .kll-no-js-only { display: none; }
html:not(.kll-js) .menu-button { display: none; }
html:not(.kll-js) .site-header { position: relative; height: auto; padding-top: 148px; }
html:not(.kll-js) .site-header.no-announcement { padding-top: 108px; }
html:not(.kll-js) .site-menu { position: relative; inset: auto; display: block; visibility: visible; opacity: 1; transform: none; pointer-events: auto; width: min(990px, calc(100% - 32px)); margin: 0 auto 16px; }
html:not(.kll-js) .faq-list p { display: block; }
html:not(.kll-js) .t-card { opacity: 1; filter: none; }
html:not(.kll-js) .t-dots { display: none; }
html:not(.kll-js) .booking-panel { display: none; }
html:not(.kll-js) .hero-copy { animation: none; opacity: 1; transform: none; }
.kll-lite body::before {
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 0; opacity: .35;
  background-image: radial-gradient(circle at 20% 30%, #a0a4cc 0 .7px, transparent 1px), radial-gradient(circle at 70% 65%, #9d4c98 0 .6px, transparent 1px);
  background-size: 173px 211px, 277px 293px;
}
.kll-lite .kllakar-galaxy-background { display: none; }
.kll-lite .hero-spot { display: none; }
.kll-lite .hero-visual { translate: none !important; }
.kll-lite .is-magnetic { translate: none !important; }
.kll-lite .marble-frame img, .kll-lite .work-media img { filter: none !important; }
.kll-lite .k-cursor, .kll-lite .k-cursor-dot { display: none; }
/* Only hide the native pointer after the custom pointer is actually on screen. */
html.has-cursor:not(.cursor-visible), html.has-cursor:not(.cursor-visible) * { cursor: auto !important; }
html.kll-lite.has-cursor, html.kll-lite.has-cursor * { cursor: auto !important; }
html.kll-lite.has-cursor :is(input, textarea, [contenteditable]) { cursor: text !important; }
.kll-lite .reveal, .kll-reduced-motion .reveal { opacity: 1 !important; transform: none !important; filter: none !important; }
.kll-lite .split-blur .bw { opacity: 1 !important; transform: none !important; filter: none !important; }
.kll-lite .hero-copy, .kll-lite .hero-copy > p { opacity: 1 !important; transform: none !important; filter: none !important; }
.kll-lite .hero-visual { animation: none !important; }
.kll-lite .hero-visual::before, .kll-lite .hero-visual::after { animation: none !important; }
.kll-reduced-motion, .kll-reduced-motion * { scroll-behavior: auto !important; }
.kll-reduced-motion *, .kll-reduced-motion *::before, .kll-reduced-motion *::after { animation: none !important; transition: none !important; }
/* Section titles, not small card titles. Preserve desktop typography. */
@media (max-width: 767px) {
  html:not(.kll-js) .site-header { padding-top: 124px; }
  html:not(.kll-js) .site-header.no-announcement { padding-top: 84px; }
  :is(.services-heading, .founder, .works, .testimonial, .faq, .contact,
      .ai-section-heading, .ai-cta, .service-detail, .service-deliverables,
      .related-projects, .blog-list-heading, .blog-related, .blog-cta,
      .blog-copy-section, .blog-faq, .shop-catalogue-heading, .shop-help,
      .product-section-heading, .related-products, .kll-page-content) h2,
  .booking-summary h2 { font-size: var(--section-title-mobile); line-height: 1.05; overflow-wrap: break-word; }
  .booking-section.is-mobile-drawer-open .booking-summary h2 { font-size: clamp(32px, 9vw, 38px); }
}
@media (prefers-reduced-motion: reduce) {
  html, html * { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal, .split-blur .bw, .hero-copy, .hero-copy > p { opacity: 1 !important; transform: none !important; filter: none !important; }
  .k-cursor, .k-cursor-dot, .kllakar-galaxy-background, .glowing-wave-canvas { display: none !important; }
  html.has-cursor, html.has-cursor * { cursor: auto !important; }
}
