/* Korner optical material: a frosted core, convex clear bezel, specular light
   and restrained corner dispersion. Runtime maps are in glass-optics.js. */
:root {
  --glass-tint: rgba(23, 24, 27, .40);
  --glass-sheet: rgba(25, 26, 29, .54);
  --glass-control: rgba(255, 255, 255, .065);
  --glass-border: rgba(255, 255, 255, .19);
  --glass-rim: rgba(255, 255, 255, .38);
  --glass-shadow: rgba(0, 0, 0, .24);
  --glass-glint: rgba(255, 255, 255, .11);
  --glass-input: rgba(0, 0, 0, .20);
}
:root[data-theme="light"] {
  --glass-tint: rgba(249, 249, 251, .48);
  --glass-sheet: rgba(248, 248, 250, .54);
  --glass-control: rgba(255, 255, 255, .34);
  --glass-border: rgba(52, 53, 58, .15);
  --glass-rim: rgba(255, 255, 255, .95);
  --glass-shadow: rgba(20, 22, 30, .12);
  --glass-glint: rgba(255, 255, 255, .28);
  --glass-input: rgba(255, 255, 255, .43);
}

body nav,
body .k-booking,
body [data-mobile-drawer],
body #korner-consent {
  background-color: var(--glass-tint) !important;
  background-image: radial-gradient(ellipse 420px 240px at var(--glass-x, 22%) var(--glass-y, 0%), var(--glass-glint), transparent 72%), linear-gradient(135deg, rgba(255,255,255,.08), transparent 42%, rgba(255,255,255,.025));
  border: 1px solid var(--glass-border) !important;
  box-shadow: inset 0 1px 0 var(--glass-rim), inset 1px 0 0 rgba(255,255,255,.12), inset 0 -1px 0 rgba(255,255,255,.07), 0 12px 40px var(--glass-shadow);
  -webkit-backdrop-filter: blur(5px) saturate(1.3);
  backdrop-filter: blur(5px) saturate(1.3);
}
body nav {
  top: calc(16px + env(safe-area-inset-top, 0px)) !important;
  left: auto !important;
  right: max(28px, calc((100vw - 1224px) / 2)) !important;
  width: min(calc(100vw - 56px), 1224px);
  max-width: 1440px;
  margin: 0;
  padding: 13px 20px 13px 27px !important;
  border-radius: 38px;
  isolation: isolate;
  box-sizing: border-box;
  transition: width .52s cubic-bezier(.2,.82,.2,1), height .52s cubic-bezier(.2,.82,.2,1), padding .52s cubic-bezier(.2,.82,.2,1), border-radius .52s cubic-bezier(.2,.82,.2,1), background-color .3s ease, border-color .3s ease, box-shadow .3s ease;
}
body [data-navbg] { display: none !important; }
/* The bar and the bubble share their right anchor, so the material contracts
   in place. The isolated monogram never exposes any letters of the wordmark. */
body nav.k-nav-collapsed {
  left: auto !important;
  right: max(28px, calc((100vw - 1224px) / 2)) !important;
  width: 54px;
  height: 54px;
  min-height: 54px;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border-radius: 999px;
  cursor: pointer !important;
}
body nav > a,
body [data-nav-desktop],
body .k-theme-toggle,
body [data-nav-hamburger] {
  transition: opacity .2s ease, transform .42s cubic-bezier(.2,.82,.2,1), visibility 0s linear 0s;
}
body nav.k-nav-collapsed > a {
  position: absolute !important;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 0;
}
body nav.k-nav-collapsed > a > img {
  display: none !important;
}
body nav .k-nav-monogram { display: none; }
body nav.k-nav-collapsed .k-nav-monogram { display: block; width: 28px; height: 19px; flex: none; color: #fff; }
body nav .k-nav-monogram svg { display: block; width: 100%; height: 100%; }
html[data-theme="light"] body nav.k-nav-collapsed .k-nav-monogram { color: #111; }
html body nav.k-nav-collapsed > a::after { content: none !important; display: none !important; }
body nav.k-nav-collapsed > a:focus-visible { outline: 2px solid #ff5b00; outline-offset: -5px; border-radius: inherit; }
body nav.k-nav-collapsed [data-nav-desktop],
body nav.k-nav-collapsed .k-theme-toggle,
body nav.k-nav-collapsed [data-nav-hamburger] {
  visibility: hidden;
  opacity: 0;
  transform: translateY(-6px) scale(.92);
  pointer-events: none;
  transition: opacity .16s ease, transform .28s ease, visibility 0s linear .28s;
}
/* A separate, non-interactive rim catches light on opposite edges like curved glass. */
body nav::before, body .k-booking::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: .8px;
  pointer-events: none;
  background: radial-gradient(ellipse 220px 160px at var(--glass-x, 12%) var(--glass-y, 0%), #fff, transparent 75%), conic-gradient(from var(--glass-angle, 135deg), rgba(255,255,255,.9), rgba(255,255,255,.07) 15%, rgba(255,255,255,.03) 38%, rgba(255,255,255,.72) 50%, rgba(255,255,255,.05) 67%, rgba(255,255,255,.03) 87%, rgba(255,255,255,.9));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
}
body nav::after, body .k-booking::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: inherit;
  padding: 1.5px;
  pointer-events: none;
  background: linear-gradient(var(--glass-angle, 135deg), rgba(255,255,255,.6), transparent 24%, rgba(0,0,0,.14) 48%, transparent 68%, rgba(255,255,255,.5));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  filter: blur(.55px);
}
body [data-nav-desktop] > div:first-child { gap: 6px !important; }
body [data-nav-desktop] > div:first-child > a { padding: 11px 14px; border-radius: 24px; font-weight: 600 !important; }
body [data-nav-desktop] > div:first-child > a:hover { background: var(--glass-control); }
body [data-nav-desktop] .k-services-menu { position: relative; display: flex; align-items: center; }
body [data-nav-desktop] .k-services-menu > a { display: inline-flex; align-items: center; gap: 7px; padding: 11px 14px; border-radius: 24px; font-weight: 600 !important; }
body [data-nav-desktop] .k-services-menu > a:hover,
body [data-nav-desktop] .k-services-menu.is-open > a { background: var(--glass-control); }
body .k-services-chevron { width: 10px; height: 7px; transition: transform .18s ease; }
body .k-services-chevron svg { display: block; width: 100%; height: 100%; }
body .k-services-menu.is-open .k-services-chevron { transform: rotate(180deg); }
body .k-services-submenu {
  position: absolute;
  top: calc(100% + 11px);
  left: 0;
  z-index: 2;
  display: grid;
  min-width: 238px;
  padding: 7px;
  border: 1px solid var(--glass-border);
  border-radius: 18px;
  background-color: var(--glass-sheet);
  background-image: radial-gradient(ellipse 180px 100px at 22% 0%, var(--glass-glint), transparent 78%), linear-gradient(145deg, rgba(255,255,255,.09), transparent 62%);
  box-shadow: inset 0 1px 0 var(--glass-rim), 0 14px 28px var(--glass-shadow);
  -webkit-backdrop-filter: blur(8px) saturate(1.3);
  backdrop-filter: blur(8px) saturate(1.3);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-5px);
  transition: opacity .16s ease, transform .16s ease, visibility 0s linear .16s;
}
body .k-services-menu.is-open .k-services-submenu { opacity: 1; visibility: visible; transform: translateY(0); transition-delay: 0s; }
body .k-services-submenu a { padding: 10px 11px; border-radius: 12px; color: rgba(var(--studio-rgb),.78); font: 500 12px/1.25 'Wix Madefor Display',sans-serif; letter-spacing: .005em; }
body .k-services-submenu a:hover,
body .k-services-submenu a:focus-visible { background: var(--glass-control); color: var(--studio-accent); outline: 0; }
body [data-nav-desktop] button { border-radius: 50%; }
body [data-nav-desktop] button:hover { background: var(--glass-control) !important; }
body .k-theme-toggle { margin-left: 14px; }
body [data-nav-hamburger] > span { background: transparent !important; }

body .k-theme-toggle,
body [data-nav-hamburger],
body [data-nav-desktop] > a.k-nav-audit,
body .k-booking-trigger,
body .k-booking-close,
body .k-video-toggle,
body .k-film-play,
body #korner-consent-manage,
body [data-lightbox] > button {
  background-color: var(--glass-control) !important;
  background-image: radial-gradient(ellipse at var(--glass-x, 25%) var(--glass-y, 0%), var(--glass-glint), transparent 75%), linear-gradient(165deg, rgba(255,255,255,.12), transparent 55%);
  border: 1px solid var(--glass-border) !important;
  border-radius: 100px;
  box-shadow: inset 0 1px 0 var(--glass-rim), inset 0 -1px 0 rgba(255,255,255,.05), 0 3px 10px rgba(0,0,0,.06);
  -webkit-backdrop-filter: blur(2px) saturate(1.3);
  backdrop-filter: blur(2px) saturate(1.3);
  transition: background-color .22s, border-color .22s, box-shadow .22s, scale .25s cubic-bezier(.2,.8,.2,1);
}
body .k-theme-toggle, body [data-nav-hamburger] { width: 44px; height: 44px; }
body .k-booking-trigger { color: var(--studio-ink); padding: 16px 26px; }
body .k-booking-trigger:hover, body [data-nav-desktop] > a.k-nav-audit:hover { color: var(--studio-accent) !important; border-color: var(--studio-accent) !important; }
body :is(.k-theme-toggle, .k-booking-close, .k-video-toggle):hover { scale: 1.055; }
body :is(.k-theme-toggle, .k-booking-trigger, .k-booking-close):active { scale: .96; }

/* The closing CTA sits directly on the page surface. Give it a dependable
   contrast in both themes instead of inheriting the translucent control
   treatment used elsewhere. */
body .k-story-contact .k-booking-trigger {
  color: #edeae3 !important;
  background-color: rgba(237,234,227,.14) !important;
  background-image: none !important;
  border-color: rgba(237,234,227,.68) !important;
}
html[data-theme="light"] body .k-story-contact .k-booking-trigger {
  color: #1d1d1f !important;
  background-color: rgba(255,255,255,.64) !important;
  border-color: rgba(29,29,31,.58) !important;
}
body .k-story-contact .k-booking-trigger:hover {
  color: #fff !important;
  background-color: var(--studio-accent) !important;
  border-color: var(--studio-accent) !important;
}
html[data-theme="light"] body .k-story-contact .k-booking-trigger:hover {
  color: #fff !important;
  background-color: var(--studio-accent) !important;
  border-color: var(--studio-accent) !important;
}
body .k-film-play, body .k-video-toggle, body [data-lightbox] > button {
  --glass-control: rgba(12,12,14,.32);
  --glass-border: rgba(255,255,255,.42);
  --glass-rim: rgba(255,255,255,.65);
  --glass-glint: rgba(255,255,255,.18);
  color: #fff;
}
body .k-film-open:hover .k-film-play { scale: 1.10; border-color: #ff5b23 !important; color: #ff5b23; }

body .k-booking {
  background-color: var(--glass-sheet) !important;
  border-radius: 48px;
  box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.58) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.58), inset 0 -1px 0 rgba(255,255,255,.20), 0 30px 100px rgba(0,0,0,.30);
  -webkit-backdrop-filter: blur(12px) saturate(1.3);
  backdrop-filter: blur(12px) saturate(1.3);
}
/* The dialog has one physical edge. Its former masked rims had different insets,
   which made the lower edge appear doubled on high-contrast footage. */
body .k-booking::before,
body .k-booking::after { display: none; }
[data-theme="light"] body .k-booking { border-color: rgba(255,255,255,.82) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.82), inset 0 -1px 0 rgba(255,255,255,.28), 0 30px 100px rgba(0,0,0,.18); }
body .k-booking::backdrop { background: rgba(0,0,0,.32); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
body .k-booking-inner { padding-top: 45px; }
body .k-booking-close { width: 40px; height: 40px; top: 20px; right: 20px; }
body .k-booking-choices { background: var(--glass-input); border: 1px solid var(--glass-border); border-radius: 18px; }
body .k-booking-choice span { border-radius: 13px; }
body .k-booking-choice input:checked + span {
  background: linear-gradient(150deg, rgba(255,255,255,.16), transparent), var(--glass-control);
  box-shadow: inset 0 1px 0 var(--glass-rim), 0 2px 8px rgba(0,0,0,.1);
  outline: 1px solid var(--glass-border);
  color: var(--sheet-ink);
}
body .k-booking-reasons { background: none; border: 0; padding: 0; }
body .k-booking-reasons .k-booking-choice span { background: var(--glass-input); border-color: var(--glass-border); }
body .k-booking-reasons input:checked + span { border-color: var(--studio-accent); outline: none; }
body .k-booking-form input:not([type=radio]), body .k-booking-form select, body .k-booking-form textarea {
  background: var(--glass-input);
  border-color: var(--glass-border);
  border-radius: 14px;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.035), 0 1px 0 rgba(255,255,255,.06);
}
body .k-booking-form :is(input, select, textarea):focus { border-color: var(--studio-accent); box-shadow: 0 0 0 3px rgba(255,91,35,.13); }
body .k-booking-form select option { background: var(--sheet-bg); color: var(--sheet-ink); }
body .k-booking-next, body .k-booking-submit {
  background: linear-gradient(180deg, rgba(255,255,255,.21), transparent), #ff5b23;
  color: #211008;
  border: 1px solid rgba(255,134,88,.8);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 4px 16px rgba(255,91,35,.15);
}
body .k-booking-next:hover, body .k-booking-submit:hover { background-color: #ff733f; }
body [data-mobile-drawer] { background-color: var(--glass-sheet) !important; border-radius: 28px; inset: 10px !important; }
body [data-mobile-drawer] button { color: var(--studio-ink) !important; }
body [data-mobile-drawer] button:hover { color: var(--studio-accent) !important; }
body [data-lightbox] { background: rgba(6,6,7,.83) !important; }
body #korner-consent { background-color: var(--glass-sheet) !important; border-radius: 26px; padding: 26px; }
body #korner-consent button { border-radius: 24px; font-weight: 500; letter-spacing: 0; }
body #korner-consent-manage { min-height: 36px; padding: 10px 15px; letter-spacing: 0; font-weight: 500; }

/* The native pointer remains available; this small lens only responds to fine pointers. */
.k-glass-cursor { position: fixed; top: 0; left: 0; width: 28px; height: 28px; margin: -14px 0 0 -14px; z-index: 840; pointer-events: none; border: 1px solid rgba(160,160,165,.35); border-radius: 50%; opacity: 0; background: radial-gradient(circle at 28% 20%, rgba(255,255,255,.23), rgba(255,255,255,.015) 65%); box-shadow: inset 0 1px 1px rgba(255,255,255,.7), 0 2px 6px rgba(0,0,0,.07); -webkit-backdrop-filter: blur(1px) saturate(1.3); backdrop-filter: blur(1px) saturate(1.3); transition: opacity .18s, width .22s, height .22s, margin .22s; }
.k-glass-cursor.is-visible { opacity: .65; }
.k-glass-cursor.is-interactive { width: 44px; height: 44px; margin: -22px 0 0 -22px; border-color: rgba(255,91,35,.5); }
/* CTAs already communicate hover through their own border and colour. A lens
   over their label makes the action harder to read, especially in light mode. */
@media (hover: hover) and (pointer: fine) {
  body:has(.k-booking-trigger:hover) .k-glass-cursor { opacity: 0 !important; }
}
html.k-booking-is-open .k-glass-cursor { opacity: 0; }

/* Full optics on engines that composite SVG displacement in backdrop-filter.
   Text is never filtered: the SVG processes only pixels behind the surface. */
.k-optics-definitions { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
body .k-optical-glass,
body [data-nav-desktop] > a.k-nav-audit.k-optical-glass {
  -webkit-backdrop-filter: var(--optical-filter) saturate(1.3);
  backdrop-filter: var(--optical-filter) saturate(1.3);
}
body nav.k-optical-glass {
  background-color: rgba(18, 20, 23, .22) !important;
  box-shadow: inset 0 1px 1px rgba(255,255,255,.55), inset 0 -1px 1px rgba(255,255,255,.2), 0 2px 3px rgba(0,0,0,.08), 0 10px 28px rgba(0,0,0,.12);
}
body #korner-consent.k-optical-glass { background-color: rgba(21,23,26,.30) !important; }
body .k-booking.k-optical-glass { background-color: rgba(21,23,26,.38) !important; }
[data-theme="light"] body nav.k-optical-glass { background-color: rgba(250,250,252,.42) !important; }
[data-theme="light"] body .k-booking.k-optical-glass { background-color: rgba(249,250,252,.44) !important; }
[data-theme="light"] body #korner-consent.k-optical-glass { background-color: rgba(249,250,252,.36) !important; }
/* Firefox cannot composite the SVG displacement map used by Chromium. Its
   fallback is intentionally clear and specular instead of becoming frosted. */
html.k-firefox-glass body nav {
  background-color: rgba(18,20,23,.16) !important;
  background-image: radial-gradient(ellipse 48% 180% at var(--glass-x, 18%) -35%, rgba(255,255,255,.30), transparent 62%), linear-gradient(112deg, rgba(255,255,255,.10), transparent 32%, rgba(255,255,255,.025) 67%, rgba(255,255,255,.12));
  -webkit-backdrop-filter: saturate(1.22) contrast(1.035);
  backdrop-filter: saturate(1.22) contrast(1.035);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.72), inset 0 -1px 1px rgba(255,255,255,.18), inset 1px 0 1px rgba(151,207,255,.16), inset -1px 0 1px rgba(255,180,148,.13), 0 3px 5px rgba(0,0,0,.07), 0 12px 30px rgba(0,0,0,.13);
}
html.k-firefox-glass[data-theme="light"] body nav { background-color: rgba(250,250,252,.21) !important; }
html.k-firefox-glass body nav::before { opacity: .92; }
html.k-firefox-glass body nav::after { opacity: .72; filter: none; }
html.k-firefox-glass body nav :is(.k-theme-toggle, .k-nav-audit) {
  background-color: rgba(255,255,255,.075) !important;
  -webkit-backdrop-filter: saturate(1.18) contrast(1.025);
  backdrop-filter: saturate(1.18) contrast(1.025);
}
html.k-firefox-glass[data-theme="light"] body nav :is(.k-theme-toggle, .k-nav-audit) { background-color: rgba(255,255,255,.20) !important; }
body .k-booking::backdrop { background: rgba(0,0,0,.36); backdrop-filter: none; -webkit-backdrop-filter: none; }
[data-theme="light"] body .k-booking::backdrop { background: rgba(255,255,255,.22); }
/* The visual veil never receives a pointer event, so the document keeps scrolling. */
html.k-booking-is-open::before { content: ''; position: fixed; inset: 0; z-index: 900; pointer-events: none; background: rgba(0,0,0,.22); }
[data-theme="light"].k-booking-is-open::before { background: rgba(255,255,255,.12); }
body .k-booking { --sheet-muted: #eee; }
[data-theme="light"] body .k-booking { --sheet-muted: #161718; --sheet-ink: #101112; }
/* Keep films visible through the lens, but avoid two competing layers of copy. */
html.k-booking-is-open #dc-root :is(h1, h2, h3, p, blockquote, address, .k-text-link, section > a, section div > a, footer a, .k-booking-trigger) { opacity: .22 !important; }
body .k-booking-close, body .k-theme-toggle, body .k-nav-audit, body .k-booking-trigger {
  box-shadow: inset 0 1px 1px rgba(255,255,255,.65), inset 0 -1px 1px rgba(255,255,255,.27), inset 1px 0 1px rgba(0,0,0,.13), 0 4px 10px rgba(0,0,0,.06);
}
.k-glass-cursor { border-color: rgba(255,255,255,.34); box-shadow: inset 1px 1px 1px rgba(255,255,255,.85), inset -1px -1px 1px rgba(255,255,255,.25), inset 2px -1px 2px rgba(133,199,255,.25), inset -2px 1px 2px rgba(255,167,123,.28), 0 3px 8px rgba(0,0,0,.12); }
/* One continuous glass surface: its rear edge stretches while the rounded
   leading volume stays near the pointer, returning to a circle at rest. */
.k-glass-cursor {
  --cursor-angle: 0deg;
  --cursor-stretch: 1;
  --cursor-squash: 1;
  --cursor-back-radius: 50%;
  --cursor-front-radius: 50%;
  --cursor-pull: 0px;
  width: 46px;
  height: 46px;
  margin: -23px 0 0 -23px;
  border: 1.25px solid rgba(255,255,255,.54);
  border-radius: var(--cursor-back-radius) var(--cursor-front-radius) var(--cursor-front-radius) var(--cursor-back-radius) / 50% 50% 50% 50%;
  opacity: 0;
  scale: .88;
  isolation: isolate;
  overflow: visible;
  background:
    radial-gradient(ellipse 40% 42% at 24% 16%, rgba(255,255,255,.60), rgba(255,255,255,.14) 38%, transparent 70%),
    radial-gradient(ellipse 54% 70% at 78% 94%, rgba(255,171,119,.16), transparent 64%),
    linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.025) 46%, rgba(126,191,255,.10));
  box-shadow:
    inset 1px 1px 1px rgba(255,255,255,.92),
    inset -1px -1px 1px rgba(255,255,255,.22),
    inset 3px -1px 3px rgba(119,195,255,.26),
    inset -3px 1px 3px rgba(255,164,112,.26),
    0 8px 22px rgba(0,0,0,.15);
  transform: rotate(var(--cursor-angle)) translateX(var(--cursor-pull)) scaleX(var(--cursor-stretch)) scaleY(var(--cursor-squash));
  transform-origin: center;
  will-change: transform, opacity;
  transition: opacity .18s ease, scale .24s cubic-bezier(.2,.9,.2,1), transform .16s cubic-bezier(.2,.85,.2,1), border-radius .16s cubic-bezier(.2,.85,.2,1), border-color .2s ease;
}
.k-glass-cursor::before { content: ''; position: absolute; inset: 2px; border-radius: inherit; pointer-events: none; background: linear-gradient(102deg, rgba(255,255,255,.38), transparent 30%, transparent 70%, rgba(255,255,255,.16)); opacity: .72; }
.k-glass-cursor.is-visible { opacity: .82; }
.k-glass-cursor.is-moving { scale: 1.10; }
.k-glass-cursor.is-interactive { scale: 1.17; border-color: rgba(255,116,72,.66); }
.k-glass-cursor.is-moving.is-interactive { scale: 1.24; }
/* Day/night is a single glass object: capsule behind, moving lens above. */
body .k-theme-toggle,
body [data-nav-desktop] .k-theme-toggle {
  --theme-switch-width: 128px;
  position: relative;
  isolation: isolate;
  display: block;
  width: var(--theme-switch-width) !important;
  height: 38px !important;
  min-height: 38px !important;
  margin-left: 14px;
  padding: 0 !important;
  overflow: visible;
  border-radius: 999px !important;
  color: var(--studio-ink);
  background-color: rgba(255,255,255,.10) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.46), inset 0 -1px 0 rgba(0,0,0,.13), 0 3px 12px rgba(0,0,0,.09) !important;
  transition: border-color .24s, background-color .24s;
}
body .k-theme-toggle:hover, body [data-nav-desktop] .k-theme-toggle:hover { scale: 1 !important; border-color: rgba(255,255,255,.72) !important; }
body .k-theme-toggle:active, body [data-nav-desktop] .k-theme-toggle:active { scale: 1 !important; }
.k-theme-label { position: absolute; top: 0; bottom: 0; display: grid; place-items: center; width: 78px; color: currentColor; font: 500 13px/1 'Wix Madefor Display', sans-serif; letter-spacing: -.01em; opacity: 0; transition: opacity .22s ease; pointer-events: none; }
.k-theme-label-dark { left: 0; padding-right: 8px; }
.k-theme-label-light { right: 0; padding-left: 8px; }
[data-theme="light"] .k-theme-label-light, [data-theme="dark"] .k-theme-label-dark { opacity: .9; }
.k-theme-thumb { position: absolute; z-index: 2; top: -1px; left: -1px; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.70); border-radius: 50%; color: var(--studio-ink); background: rgba(255,255,255,.16); box-shadow: inset 0 1px 1px rgba(255,255,255,.82), inset 0 -1px 1px rgba(0,0,0,.13), 0 4px 12px rgba(0,0,0,.14); transform: translateX(0); transition: transform .52s cubic-bezier(.2,.85,.2,1), border-color .24s, background-color .24s; }
[data-theme="dark"] .k-theme-thumb { transform: translateX(90px); }
.k-theme-icon { position: absolute; transition: opacity .18s ease, transform .35s cubic-bezier(.2,.85,.2,1); }
.k-theme-icon-moon { opacity: 0; transform: rotate(-18deg) scale(.72); }
[data-theme="dark"] .k-theme-icon-sun { opacity: 0; transform: rotate(18deg) scale(.72); }
[data-theme="dark"] .k-theme-icon-moon { opacity: 1; transform: rotate(0) scale(1); }
[data-theme="light"] body .k-theme-toggle, [data-theme="light"] body [data-nav-desktop] .k-theme-toggle { background-color: rgba(255,255,255,.28) !important; border-color: rgba(255,255,255,.74) !important; }
[data-theme="light"] .k-theme-thumb { background: rgba(255,255,255,.24); border-color: rgba(255,255,255,.92); }
@media (max-width: 880px) { body .k-theme-toggle { margin-left: auto; margin-right: 8px; } }
/* The language choices are one compact pill, matching the contact control. */
body [data-nav-desktop] > div:has(> button) { gap: 0 !important; height: 36px; padding: 2px !important; border: 1px solid var(--glass-border) !important; border-radius: 999px !important; background: rgba(255,255,255,.07); box-shadow: inset 0 1px 0 rgba(255,255,255,.32); }
body [data-nav-desktop] > div:has(> button) > button { min-height: 30px !important; padding: 0 8px !important; border-radius: 999px !important; font-size: 12px !important; font-weight: 600 !important; }
body [data-nav-desktop] > a.k-nav-audit { box-sizing: border-box; display: inline-flex !important; align-items: center; justify-content: center; height: 36px; padding: 0 17px !important; line-height: 1; font-weight: 600 !important; }
@media (max-width: 430px) { body .k-theme-toggle { --theme-switch-width: 112px; } [data-theme="dark"] .k-theme-thumb { transform: translateX(74px); } .k-theme-label { width: 68px; font-size: 12px; } }
@media (max-width: 1000px) {
  body [data-nav-desktop] { gap: 14px !important; }
  body [data-nav-desktop] > div:first-child { gap: 0 !important; }
  body [data-nav-desktop] > div:first-child > a { padding-inline: 10px; }
}
@media (max-width: 880px) {
  body nav { top: calc(10px + env(safe-area-inset-top, 0px)) !important; left: auto !important; right: 12px !important; width: calc(100vw - 24px); padding: 10px 12px 10px 20px !important; border-radius: 34px; }
  body nav.k-nav-collapsed { right: 12px !important; width: 52px; height: 52px; min-height: 52px; padding: 0 !important; }
  body nav.k-nav-collapsed .k-nav-monogram { width: 26px; height: 18px; }
  body .k-theme-toggle { margin-left: auto; margin-right: 8px; }
  body [data-mobile-service-links] { display: grid; gap: 1px; margin: -2px 0 7px 12px; padding-left: 17px; border-left: 1px solid rgba(var(--studio-rgb),.2); }
  body [data-mobile-drawer] [data-mobile-service-links] a { padding: 7px 0 !important; font-family: 'Wix Madefor Display',sans-serif !important; font-size: clamp(19px,6vw,29px) !important; font-weight: 500; line-height: 1.15 !important; letter-spacing: -.025em !important; color: var(--studio-muted); }
}
@media (max-width: 700px) {
  /* Phone navigation needs one decisive theme action, not the desktop slider.
     The icon itself communicates the current mode and retains a 44px touch target. */
  body .k-theme-toggle,
  body [data-nav-desktop] .k-theme-toggle {
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 4px 0 auto;
    overflow: hidden;
    border-radius: 50% !important;
    background-color: var(--glass-control) !important;
  }
  body .k-theme-label { display: none; }
  body .k-theme-thumb {
    inset: 2px;
    width: auto;
    height: auto;
    border: 0;
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
    transform: none !important;
  }
  body .k-booking { border-radius: 28px; }
  body .k-booking-inner { padding-top: 36px; }
  body .k-booking-progress { margin-right: 30px; }
}
/* Desktop header, scaled as one object rather than making isolated controls
   look shrunken. The proportions remain those of the original glass bar. */
@media (min-width: 881px) {
  body nav { max-width: 1224px; padding: 11px 17px 11px 23px !important; border-radius: 32px; }
  body nav img { height: 17px !important; }
  [data-theme="light"] nav > a:has(> img[src="/assets/korner-logo.png"])::after { width: 10.38px; height: 17px; }
  body [data-nav-desktop] { gap: 29px !important; }
  body [data-nav-desktop] a,
  body [data-nav-desktop] button { font-size: 13px !important; }
  body [data-nav-desktop] > div:first-child { gap: 5px !important; }
  body [data-nav-desktop] > div:first-child > a { padding: 9px 12px; }
  body [data-nav-desktop] > div:has(> button) { height: 31px; padding: 1px !important; }
  body [data-nav-desktop] > div:has(> button) > button { min-height: 29px !important; padding: 0 7px !important; font-size: 11px !important; }
  body [data-nav-desktop] > a.k-nav-audit { height: 31px; padding: 0 14px !important; font-size: 13px !important; }
  body .k-theme-toggle,
  body [data-nav-desktop] .k-theme-toggle { --theme-switch-width: 109px; height: 32px !important; min-height: 32px !important; margin-left: 12px; }
  .k-theme-label { width: 66px; font-size: 11px; }
  .k-theme-label-dark { padding-right: 7px; }
  .k-theme-label-light { padding-left: 7px; }
  .k-theme-thumb { width: 32px; height: 32px; }
  [data-theme="dark"] .k-theme-thumb { transform: translateX(77px); }
}
@media (pointer: coarse), (prefers-reduced-motion: reduce), (prefers-reduced-transparency: reduce) {
  .k-glass-cursor { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  body :is(.k-theme-toggle, .k-booking-close, .k-video-toggle, .k-film-play, .k-booking-trigger) { transition: none; scale: 1 !important; }
  body nav, body nav > a, body [data-nav-desktop], body [data-nav-hamburger], body .k-services-submenu, body .k-services-chevron { transition: none !important; }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  body nav, body .k-booking, body [data-mobile-drawer], body #korner-consent { background: var(--sheet-bg) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
  body .k-theme-toggle, body .k-booking-trigger, body .k-booking-close, body #korner-consent-manage { background: var(--sheet-bg) !important; backdrop-filter: none; -webkit-backdrop-filter: none; }
  body .k-optical-glass, body [data-nav-desktop] > a.k-nav-audit { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
  body nav::after, body .k-booking::after { display: none; }
}

/* One native cursor throughout: the classic arrow. Interactions already have
   their own deliberate glass/colour response, so a hand or text caret adds
   noise rather than useful information here. */
html, body, body * { cursor: default !important; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body nav, body .k-booking, body [data-mobile-drawer], body #korner-consent { background: var(--sheet-bg) !important; }
}
