/* Korner: film first, with a quieter shared interface. */
:root {
  color-scheme: dark;
  --studio-rgb: 237,234,227;
  --sheet-bg: #1c1c1e;
  --sheet-ink: #f5f5f7;
  --sheet-muted: #aaaab0;
  --sheet-label: #c4c4ca;
  --sheet-soft: #2b2b2f;
  --sheet-hover: #38383d;
  --sheet-input: #252527;
  --sheet-line: #49494e;
  --sheet-action: #f5f5f7;
  --sheet-action-ink: #1d1d1f;
  --sheet-action-hover: #dedee3;
  --theme-nav: rgba(11,11,12,.82);
  /* The large moving images dissolve into this exact page surface.  Keep this
     separate from --studio-bg: cinematic blocks deliberately override that
     token to preserve their white on-image controls. */
  --korner-page-bg: #0b0b0c;
  --studio-bg: #0b0b0c;
  --studio-ink: #edeae3;
  --studio-muted: #aaa8a3;
  --studio-rule: #333333;
  --studio-accent: #ff5b23;
  --studio-gutter: clamp(24px, 4.5vw, 80px);
}
:root[data-theme="light"] {
  color-scheme: light;
  --korner-page-bg: #f5f5f7;
  --studio-bg: #f5f5f7; --studio-ink: #1d1d1f; --studio-rgb: 29,29,31;
  --studio-muted: #65656b; --studio-rule: #d2d2d7; --studio-accent: #bd390d;
  --sheet-bg: #f5f5f7; --sheet-ink: #1d1d1f; --sheet-muted: #68686d;
  --sheet-label: #515154; --sheet-soft: #e8e8ed; --sheet-hover: #dddde3;
  --sheet-input: #fff; --sheet-line: #d2d2d7; --sheet-action: #1d1d1f;
  --sheet-action-ink: #fff; --sheet-action-hover: #3a3a3c;
  --theme-nav: rgba(245,245,247,.9);
}
/* The theme follows the control that changed it instead of flashing across the page. */
::view-transition-old(root),
::view-transition-new(root) { animation: none; mix-blend-mode: normal; }
::view-transition-old(root) { z-index: 1; }
::view-transition-new(root) { z-index: 2; }
html { scroll-padding-top: 110px; }
body { background: var(--korner-page-bg); color: var(--studio-ink); }
body a, body button { -webkit-tap-highlight-color: transparent; }
body :focus-visible { outline: 2px solid var(--studio-accent); outline-offset: 6px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* UI symbols are drawn here rather than supplied by the system font.  This
   keeps every control identical across iOS, Android and desktop browsers. */
.k-icon { display: inline-block; position: relative; width: .9em; height: .9em; flex: 0 0 auto; vertical-align: -.08em; color: currentColor; }
.k-icon::before, .k-icon::after { content: ''; position: absolute; display: block; box-sizing: border-box; background: currentColor; }
.k-icon-play::before { left: .25em; top: .11em; width: 0; height: 0; background: none; border-top: .34em solid transparent; border-bottom: .34em solid transparent; border-left: .56em solid currentColor; }
.k-icon-pause::before { left: .16em; top: .13em; width: .19em; height: .68em; box-shadow: .39em 0 0 currentColor; }
.k-icon-arrow::before, .k-icon-arrow-right::before {
  inset: 0;
  width: 100%;
  height: 100%;
  background: currentColor;
  -webkit-mask: url("/assets/27323.svg") center / contain no-repeat;
  mask: url("/assets/27323.svg") center / contain no-repeat;
}
.k-icon-arrow::before { transform: rotate(135deg); }
.k-icon-arrow-right::before { transform: rotate(180deg); }
.k-icon-arrow::after, .k-icon-arrow-right::after { display: none; }
.k-icon-compare::before { left: .08em; top: .42em; width: .74em; height: .1em; border-radius: 1em; }
.k-icon-compare::after { left: .08em; top: .22em; width: .56em; height: .42em; background: none; border-left: .1em solid currentColor; border-right: .1em solid currentColor; transform: skewY(-35deg); }
.k-film-play .k-icon { width: 1em; height: 1em; }
[data-video-toggle] .k-icon { width: 1em; height: 1em; }
body nav { padding: 26px var(--studio-gutter) !important; }
body nav img { height: 20px !important; }
body [data-navbg] { opacity: 1 !important; background: var(--theme-nav) !important; border: 0 !important; backdrop-filter: blur(12px) !important; }
body [data-nav-desktop] { gap: 34px !important; }
body [data-nav-desktop] a,
body [data-nav-desktop] button {
  font-family: 'Wix Madefor Display', sans-serif !important;
  font-size: 15px !important;
  font-weight: 500;
  letter-spacing: 0 !important;
  color: var(--studio-ink) !important;
}
body [data-nav-desktop] > a[href^="mailto:"] {
  padding: 8px 0 !important;
  background: transparent !important;
  text-underline-offset: 6px;
  text-decoration: underline;
  text-decoration-color: rgba(237,234,227,.45);
}
body [data-nav-desktop] > div:has(button) { border: 0 !important; padding: 0 !important; }
body [data-nav-desktop] button { font-size: 12px !important; background: transparent !important; min-height: 40px; padding: 7px !important; }
body [data-nav-desktop] a:hover, body [data-nav-desktop] button:hover { color: var(--studio-accent) !important; }
body [data-mobile-drawer] > a {
  font-family: 'Wix Madefor Display', sans-serif !important;
  font-size: clamp(32px, 9vw, 60px) !important;
  font-weight: 500;
  letter-spacing: -.035em !important;
}
body [data-mobile-drawer] > a[href^="mailto:"] { font-size: 19px !important; background: transparent !important; color: var(--studio-ink) !important; text-align: left !important; padding: 20px 0 !important; }
body [data-mobile-drawer] button { font-family: inherit !important; }
body [data-field] { opacity: .14; }
body [data-hd] { padding-top: 175px !important; padding-bottom: 65px !important; }
body [data-hd] h1 { font-weight: 500 !important; font-size: clamp(56px, 8vw, 116px) !important; line-height: 1 !important; letter-spacing: -.05em !important; }
body [data-hd] p { font-size: 18px !important; line-height: 1.55 !important; color: var(--studio-muted) !important; }
body h2[data-st] { font-weight: 500 !important; line-height: 1.1 !important; letter-spacing: -.035em !important; }
body [data-screen-label="Founders"] > div:first-child { font-family: inherit !important; }
body [data-screen-label="Founders"] > div:first-child > span:first-child { color: var(--studio-muted) !important; font: 400 17px/1.5 'Wix Madefor Display', sans-serif !important; letter-spacing: 0 !important; }
body [data-screen-label="Founders"] blockquote { font-weight: 500 !important; }
body [data-site-footer] { padding: 36px var(--studio-gutter) !important; gap: 28px !important; }
body [data-site-footer] a, body [data-site-footer] span { letter-spacing: 0 !important; font-size: 12px !important; }
body [data-site-footer] > div:nth-child(2) a { border: 0 !important; padding: 7px 4px !important; }
body [data-lightbox] > div:nth-child(2) { letter-spacing: 0 !important; font-size: 16px !important; }
body [data-lightbox] > div:nth-child(2) > span { display: none; }
body [data-lightbox] > div:last-child { letter-spacing: 0 !important; }

.k-container { width: 100%; max-width: 1520px; margin-inline: auto; padding-inline: var(--studio-gutter); }
.k-section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; margin-bottom: 32px; }
.k-section-heading h2, .k-small-title { margin: 0; font-size: 20px; line-height: 1.3; font-weight: 400; letter-spacing: -.02em; }
.k-text-link { display: inline-block; color: var(--studio-ink); font-size: 16px; line-height: 1.5; text-decoration: underline; text-decoration-color: #777; text-underline-offset: 5px; }
.k-text-link:hover { color: var(--studio-accent); text-decoration-color: currentColor; }
.k-hero { position: relative; min-height: 760px; min-height: 100svh; display: flex; align-items: flex-end; isolation: isolate; padding-bottom: clamp(48px, 6vw, 90px); background: var(--korner-page-bg); }
.k-hero-media { position: absolute; inset: 0; z-index: -1; overflow: hidden; background: #161616; }
.k-hero-media :is(video, img) { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
/* A physical dissolve, rather than a hard edge, lets the motion picture settle
   into the site's canvas. The last stop is opaque so the next section begins
   on precisely the same surface in both themes. */
.k-hero-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.28) 0%, transparent 30%, rgba(0,0,0,.28) 58%, rgba(0,0,0,.5) 78%, rgba(0,0,0,.36) 88%, color-mix(in srgb, var(--korner-page-bg) 28%, transparent) 94%, var(--korner-page-bg) 100%); }
@supports not (background: color-mix(in srgb, black, transparent)) {
  .k-hero-media::after { background: linear-gradient(180deg, rgba(0,0,0,.28) 0%, transparent 30%, rgba(0,0,0,.28) 58%, rgba(0,0,0,.5) 78%, rgba(0,0,0,.36) 88%, var(--korner-page-bg) 100%); }
}
/* The lower copy now sits above the fade, exactly like the statement. */
:root[data-theme="light"] .k-hero h1 { text-shadow: 0 2px 18px rgba(0,0,0,.42); }
:root[data-theme="light"] .k-hero :is(.k-hero-copy, .k-text-link) {
  color: #edeae3;
  text-shadow: 0 2px 18px rgba(0,0,0,.64);
  text-decoration-color: rgba(237,234,227,.74);
}
.k-hero h1 { margin: 100px 0 28px; max-width: 13.2ch; font-size: clamp(50px, 6.6vw, 100px); line-height: .98; font-weight: 620; letter-spacing: -.055em; text-wrap: balance; }
/* Give every translation a balanced two-line desktop statement, with natural
   wrapping on smaller screens instead of forced line breaks. */
html[lang] .k-hero h1 { max-width: 20.5ch; }
@media (min-width: 701px) {
  html[lang="de"] .k-hero h1 { max-width: 22.5ch; font-size: clamp(46px, 6vw, 94px); }
}
.k-hero-word, .k-title-word { display: inline-block; cursor: default; transform: scale(var(--word-breath, 1)); transform-origin: center 72%; transition: transform .32s cubic-bezier(.16,1,.3,1), color .2s ease, text-shadow .2s ease; will-change: transform; }
.k-hero-word { color: #edeae3; }
@media (hover: hover) and (pointer: fine) {
  :is(.k-hero-word, .k-title-word):hover { color: var(--studio-accent); text-shadow: 0 0 18px rgba(255,91,35,.2); }
}
@media (prefers-reduced-motion: reduce) { :is(.k-hero-word, .k-title-word) { transform: none !important; transition: color .2s ease; } }
.k-hero-copy { font-size: 18px; line-height: 1.5; color: var(--studio-ink); margin: 0 0 25px; max-width: 44ch; }
.k-hero .k-text-link { font-size: 17px; }
.k-hero-actions, .k-service-overview-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 22px; }
.k-hero-actions .k-booking-trigger { font-size: 15px; }
.k-video-toggle { position: absolute; right: var(--studio-gutter); bottom: 32px; width: 44px; height: 44px; border: 1px solid rgba(237,234,227,.5); border-radius: 50%; background: rgba(0,0,0,.2); color: var(--studio-ink); font: 17px/1 sans-serif; cursor: pointer; }
.k-work { position: relative; padding-top: 82px; padding-bottom: 88px; }
.k-work-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 52px 26px; }
.k-film { min-width: 0; margin: 0; }
.k-film-wide { grid-column: 1 / -1; }
.k-film-image { position: relative; aspect-ratio: 3 / 2; background: #151515; overflow: hidden; }
.k-film-wide .k-film-image { aspect-ratio: 17 / 9; }
/* Keep each selected-film preview at its native Vimeo frame, on desktop and mobile. */
body .k-work-grid .k-film-wide:first-child .k-film-image { aspect-ratio: 17 / 9; }
body .k-work-grid .k-film-wide:last-child .k-film-image { aspect-ratio: 3 / 2; }
.k-film-image iframe { position: absolute; top: -2px !important; left: -2px !important; width: calc(100% + 4px) !important; height: calc(100% + 4px) !important; border: 0; }
.k-film-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.k-film-project-image { display: block; width: 100%; height: 100%; }
.k-film-project-image:hover .k-film-poster { scale: 1.02; }
.k-film-project-image .k-film-poster { transition: scale .35s ease; }
.k-film-image iframe { opacity: 0; transition: opacity .3s; }
.k-film[data-preview-playing="true"] iframe { opacity: 1; }
.k-film-image [data-film-media] { position: absolute; inset: 0; overflow: hidden; }
.k-film-open { position: absolute; inset: 0; z-index: 3; display: flex; align-items: flex-end; justify-content: flex-end; padding: 24px; width: 100%; border: 0; background: none; color: var(--studio-ink); cursor: pointer; }
.k-film-play { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: rgba(11,11,12,.45); border: 1px solid rgba(255,255,255,.6); font-size: 15px; transition: background .2s; }
.k-film-open:hover .k-film-play { background: var(--studio-accent); border-color: var(--studio-accent); }
.k-film-caption { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding-top: 16px; }
.k-film-caption h3 { margin: 0; font-size: 23px; line-height: 1.25; font-weight: 500; letter-spacing: -.025em; }
.k-film-caption p { margin: 6px 0 0; font-size: 15px; line-height: 1.4; color: var(--studio-muted); }
.k-film-caption > span { font-size: 14px; color: var(--studio-muted); }
.k-film-project-cta { display: inline-flex; gap: 7px; margin-top: 13px; font-size: 14px; font-weight: 600; }
.k-film-project-cta:hover { color: var(--studio-accent); }
.k-studio { padding-top: 150px; padding-bottom: 108px; display: grid; grid-template-columns: 1fr 2fr; gap: 50px; align-items: start; }
.k-studio h2 { padding-top: 7px; }
.k-studio p { font-size: clamp(25px, 2.7vw, 40px); font-weight: 400; letter-spacing: -.025em; line-height: 1.32; max-width: 34ch; margin: 0 0 30px; text-wrap: pretty; }
.k-home-manifesto { display: grid; grid-template-columns: minmax(150px, .7fr) minmax(0, 1.3fr); gap: clamp(36px, 8vw, 120px); max-width: 1520px; margin: clamp(88px, 11vw, 156px) auto 0; padding: clamp(38px, 5vw, 72px) var(--studio-gutter); border-top: 1px solid var(--studio-rule); border-bottom: 1px solid var(--studio-rule); color: var(--studio-ink); }
.k-home-manifesto-label { margin: 7px 0 0; color: var(--studio-accent); font-size: 14px; font-weight: 500; line-height: 1.3; }
.k-home-manifesto-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .72fr); align-items: start; gap: clamp(32px, 5vw, 76px); }
.k-home-manifesto h2 { max-width: 12ch; margin: 0; font-size: clamp(42px, 5vw, 72px); font-weight: 500; line-height: .98; letter-spacing: -.055em; text-wrap: balance; }
.k-home-manifesto-copy { display: grid; gap: 16px; max-width: 43ch; }
.k-home-manifesto-copy p { margin: 0; color: var(--studio-muted); font-size: 16px; font-weight: 400; line-height: 1.55; }
.k-home-manifesto-link { width: fit-content; margin-top: 7px; padding-bottom: 4px; border-bottom: 1px solid rgba(var(--studio-rgb),.48); font-size: 14px; font-weight: 500; line-height: 1; transition: color .2s ease, border-color .2s ease; }
.k-home-manifesto-link:hover, .k-home-manifesto-link:focus-visible { color: var(--studio-accent); border-color: currentColor; outline: 0; }
.k-home-manifesto + .k-services { padding-top: clamp(74px, 10vw, 150px); }
.k-services { padding-bottom: 115px; }
.k-service-overview { display: grid; grid-template-columns: minmax(0,1.06fr) minmax(320px,.94fr); gap: clamp(32px,6vw,86px); align-items: center; padding-top: 94px; padding-bottom: 94px; border-top: 1px solid var(--studio-rule); }
.k-service-overview-media { position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: #151515; }
.k-service-overview-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.k-service-overview .k-comparison { --compare: 50%; position: relative; isolation: isolate; width: 100%; height: 100%; overflow: hidden; background: #151515; }
.k-service-overview .k-compare-half { position: absolute; inset: 0; overflow: hidden; }
.k-service-overview .k-compare-half img { display: block; }
.k-service-overview .k-compare-before { clip-path: inset(0 calc(100% - var(--compare)) 0 0); }
.k-service-overview .k-compare-label { position: absolute; z-index: 4; top: 18px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.32); border-radius: 999px; background: rgba(8,8,9,.44); color: #fff; font-size: 12px; font-weight: 600; line-height: 1; letter-spacing: -.01em; box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 8px 24px rgba(0,0,0,.18); -webkit-backdrop-filter: blur(8px) saturate(130%); backdrop-filter: blur(8px) saturate(130%); pointer-events: none; }
.k-service-overview .k-compare-label-before { left: 18px; }
.k-service-overview .k-compare-label-after { right: 18px; }
.k-service-overview .k-compare-divider { position: absolute; z-index: 3; left: var(--compare); top: 0; bottom: 0; width: 1px; background: rgba(255,255,255,.82); box-shadow: 0 0 16px rgba(0,0,0,.34); pointer-events: none; }
.k-service-overview .k-compare-grip { position: absolute; left: -29px; top: 50%; width: 58px; height: 42px; display: grid; place-items: center; transform: translateY(-50%); color: #fff; border: 1px solid rgba(255,255,255,.5); border-radius: 40px; background: rgba(8,8,9,.38); -webkit-backdrop-filter: blur(10px) saturate(135%); backdrop-filter: blur(10px) saturate(135%); box-shadow: inset 0 1px 1px rgba(255,255,255,.42), 0 8px 24px rgba(0,0,0,.22); }
.k-service-overview .k-compare-grip svg { display: block; width: 26px; height: 14px; }
.k-service-overview .k-comparison input { position: absolute; z-index: 5; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; touch-action: pan-y; }
.k-service-overview .k-comparison:focus-within { outline: 2px solid var(--studio-accent); outline-offset: 5px; }
.k-service-overview-copy .k-small-title { margin: 0 0 20px; }
.k-service-overview-copy h2 { max-width: 15ch; margin: 0; font-size: clamp(34px,4vw,60px); font-weight: 500; line-height: 1.04; letter-spacing: -.045em; }
.k-service-overview-copy > p:not(.k-small-title) { max-width: 42ch; margin: 20px 0 30px; color: var(--studio-muted); font-size: 18px; line-height: 1.55; }
.k-service-list { margin-top: 28px; }
.k-service-row { display: grid; grid-template-columns: 1fr 1fr 24px; align-items: baseline; gap: 24px; border-top: 1px solid var(--studio-rule); padding: 28px 0; }
.k-service-row:last-child { border-bottom: 1px solid var(--studio-rule); }
.k-service-row h3 { margin: 0; font-size: clamp(29px, 3.2vw, 46px); line-height: 1.15; font-weight: 500; letter-spacing: -.035em; }
.k-service-row p { margin: 0; color: var(--studio-muted); font-size: 17px; line-height: 1.45; max-width: 38ch; }
.k-service-row > span { font-size: 24px; font-weight: 400; }
a.k-service-row:hover h3, a.k-service-row:hover > span { color: var(--studio-accent); }
.k-service-faq { border-top: 1px solid var(--studio-rule); }
.k-service-faq:last-child { border-bottom: 1px solid var(--studio-rule); }
.k-service-faq summary { display: grid; grid-template-columns: 1fr 24px; gap: 24px; padding: 28px 0; cursor: pointer; list-style: none; font-size: clamp(29px, 3.2vw, 46px); line-height: 1.15; font-weight: 500; letter-spacing: -.035em; }
.k-service-faq summary::-webkit-details-marker { display: none; }
.k-service-faq summary > span:last-child { font-size: 26px; font-weight: 400; transition: transform .2s ease; }
.k-service-faq[open] summary > span:last-child { transform: rotate(45deg); }
.k-service-faq p { max-width: 60ch; margin: 0 0 28px; color: var(--studio-muted); font-size: 17px; line-height: 1.55; }
.k-clients { padding-top: 22px; padding-bottom: 115px; overflow: hidden; }
.k-client-intro { display: block; }
.k-partner-rail { margin-top: 34px; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.k-partner-rail:focus-visible { outline: 1px solid var(--studio-accent); outline-offset: 8px; }
.k-partner-motion { display: flex; width: max-content; animation: k-partner-drift 42s linear infinite; }
.k-partner-track { display: flex; align-items: center; gap: 0; width: max-content; margin: 0; padding: 0; list-style: none; }
.k-client-logo { display: flex; align-items: center; justify-content: center; width: clamp(174px, 17vw, 230px); height: 118px; padding: 16px 28px; }
.k-client-logo img { display: block; max-width: 100%; max-height: 58px; width: auto; height: auto; object-fit: contain; filter: grayscale(1) brightness(0) invert(1); opacity: .78; }
.k-client-wordmark { color: var(--studio-ink); font-size: clamp(20px, 2vw, 30px); font-weight: 600; line-height: 1; letter-spacing: -.045em; text-align: center; }
.k-client-logo-mistello .k-client-wordmark { font-family: Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -.07em; }
.k-client-logo-fabric img { max-height: 82px; filter: grayscale(1) contrast(1.3) brightness(1.45); opacity: .9; }
.k-client-logo-speedwings img { max-height: 82px; filter: grayscale(1) contrast(1.3) invert(1); opacity: .9; }
.k-client-logo-lausanne img { max-height: 72px; }
.k-partner-rail:hover .k-partner-motion, .k-partner-rail:focus-within .k-partner-motion { animation-play-state: paused; }
@keyframes k-partner-drift { from { transform: translateX(-33.333333%); } to { transform: translateX(-66.666667%); } }
.k-contact { border-top: 1px solid var(--studio-rule); padding-top: 85px; padding-bottom: 85px; }
.k-contact h2 { font-size: clamp(40px, 5.8vw, 80px); font-weight: 500; line-height: 1.05; letter-spacing: -.045em; margin: 0 0 32px; max-width: 17ch; }
.k-contact-lead { max-width: 48ch; margin: -10px 0 30px; color: var(--studio-muted); font-size: 18px; line-height: 1.55; }
.k-contact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px 30px; }
.k-booking-trigger { min-height: 48px; padding: 12px 18px; border: 1px solid var(--studio-accent); background: var(--studio-accent); color: #0b0b0c; font: 600 15px/1.2 'Wix Madefor Display', sans-serif; cursor: pointer; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.k-booking-trigger:hover { background: transparent; color: var(--studio-accent); }
.k-contact-email { display: inline-block; font-size: clamp(21px, 3vw, 40px); letter-spacing: -.025em; text-underline-offset: 9px; text-decoration: underline; text-decoration-color: #666; }
.k-contact-email:hover { color: var(--studio-accent); }
.k-contact-details { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 30px; margin-top: 70px; color: var(--studio-muted); font-size: 16px; line-height: 1.6; }

/* A quiet, light sheet for the free audit. */
body [data-nav-desktop] > a.k-nav-audit,
body [data-mobile-drawer] > a.k-nav-audit { background: var(--sheet-bg) !important; color: var(--sheet-ink) !important; border-radius: 24px; padding: 10px 19px !important; font-size: 14px !important; font-weight: 500; letter-spacing: 0 !important; text-decoration: none; text-align: center !important; width: fit-content; }
body [data-nav-desktop] > a.k-nav-audit:hover,
body [data-mobile-drawer] > a.k-nav-audit:hover { background: var(--sheet-input) !important; color: #b9380b !important; }
.k-booking-trigger { border: 0; border-radius: 28px; background: var(--sheet-bg); color: var(--sheet-ink); padding: 15px 24px; }
.k-booking-trigger:hover { background: var(--sheet-input); color: #b9380b; }
.k-booking { position: fixed; inset: 0; width: min(720px, calc(100vw - 40px)); max-height: calc(100dvh - 40px); height: fit-content; margin: auto; padding: 0; overflow: hidden; border: 0; border-radius: 30px; background: var(--sheet-bg); color: var(--sheet-ink); box-shadow: 0 32px 100px #0005; font-family: 'Wix Madefor Display', -apple-system, BlinkMacSystemFont, sans-serif; color-scheme: inherit; z-index: 910; }
.k-booking[open] { animation: k-audit-appear .32s cubic-bezier(.2,.8,.2,1); }
.k-booking { max-width: none; box-sizing: border-box; }
.k-booking [data-booking-step] { padding: 0 !important; }
.k-booking::backdrop { background: #0008; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
@keyframes k-audit-appear { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: none; } }
html.k-booking-is-open { overflow: hidden; }
.k-booking-inner { position: relative; padding: 42px 56px 36px; }
.k-booking-close { position: absolute; top: 22px; right: 22px; display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--sheet-soft); color: var(--sheet-label); cursor: pointer; }
.k-booking-close:hover { background: var(--sheet-hover); }
.k-booking-progress { display: flex; gap: 22px; list-style: none; margin: 0 35px 42px 0; padding: 0; font-size: 12px; color: var(--sheet-muted); }
.k-booking-progress li { display: flex; align-items: center; gap: 8px; }
.k-booking-progress li::before { content: ''; width: 5px; height: 5px; background: var(--sheet-line); border-radius: 50%; }
.k-booking-progress [aria-current] { color: var(--sheet-ink); }
.k-booking-progress [aria-current]::before { background: #e74e1c; }
.k-booking h2 { max-width: 14ch; margin: 0; color: var(--sheet-ink); font-size: clamp(38px, 4.1vw, 54px); font-weight: 600; line-height: 1.06; letter-spacing: -.048em; text-wrap: balance; }
.k-booking h2:focus { outline: none; }
.k-booking-lead { max-width: 48ch; margin: 21px 0 34px; color: var(--sheet-muted); font-size: 17px; line-height: 1.5; letter-spacing: -.015em; }
.k-booking [hidden] { display: none !important; }
.k-booking fieldset { min-width: 0; margin: 0 0 26px; padding: 0; border: 0; }
.k-booking legend, .k-booking-form label:not(.k-booking-choice) > span { display: block; margin-bottom: 9px; color: var(--sheet-label); font-size: 13px; line-height: 1.4; }
.k-booking-choices { display: flex; gap: 6px; padding: 5px; background: var(--sheet-soft); border-radius: 14px; }
.k-booking-choice { position: relative; flex: 1; min-width: 0; }
.k-booking-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.k-booking-choice span { display: flex; align-items: center; justify-content: center; height: 100%; min-height: 44px; padding: 9px 8px; box-sizing: border-box; border-radius: 10px; color: var(--sheet-label); font-size: 13px; line-height: 1.3; text-align: center; cursor: pointer; transition: background .2s, color .2s, box-shadow .2s; }
.k-booking-choice input:checked + span { background: var(--sheet-input); color: var(--sheet-ink); box-shadow: 0 2px 7px #0000000c; }
.k-booking-choice input:focus-visible + span { outline: 2px solid #b9380b; outline-offset: 2px; }
.k-booking-reference, .k-booking-context { display: block; }
.k-booking-reference + .k-booking-reference { margin-top: 14px; }
.k-booking-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 23px; }
.k-booking-form input:not([type=radio]), .k-booking-form select, .k-booking-form textarea { width: 100%; min-width: 0; min-height: 50px; box-sizing: border-box; border: 1px solid var(--sheet-line); border-radius: 11px; background: var(--sheet-input); color: var(--sheet-ink); padding: 13px 14px; font: 400 16px/1.35 'Wix Madefor Display', sans-serif; color-scheme: inherit; transition: border-color .2s, box-shadow .2s; }
.k-booking-form input::placeholder, .k-booking-form textarea::placeholder { color: var(--sheet-muted); }
.k-booking-form textarea { min-height: 74px; resize: vertical; }
.k-booking-form input:focus, .k-booking-form select:focus, .k-booking-form textarea:focus { outline: 0; border-color: var(--sheet-label); box-shadow: 0 0 0 3px rgba(var(--studio-rgb),.08); }
.k-booking-hint { margin: 9px 0 0; font-size: 12px; color: var(--sheet-muted); line-height: 1.5; }
.k-booking-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 38px; }
.k-booking-bottom > p { max-width: 24ch; margin: 0; color: var(--sheet-muted); font-size: 13px; line-height: 1.55; }
.k-booking-next, .k-booking-submit { flex-shrink: 0; min-height: 48px; border: 0; border-radius: 26px; padding: 14px 25px; background: var(--sheet-action); color: var(--sheet-action-ink); font: 500 15px/1.3 'Wix Madefor Display', sans-serif; cursor: pointer; transition: background .2s; }
.k-booking-next:hover, .k-booking-submit:hover { background: var(--sheet-action-hover); }
.k-booking-submit:disabled { opacity: .55; cursor: wait; }
.k-booking-back { border: 0; background: none; padding: 12px 0; font: 400 15px/1.3 'Wix Madefor Display', sans-serif; color: var(--sheet-label); cursor: pointer; text-underline-offset: 5px; }
.k-booking-back:hover { text-decoration: underline; }
.k-booking button:focus-visible { outline: 2px solid #b9380b; outline-offset: 4px; }
.k-booking-note { margin: 20px 0 0; color: var(--sheet-muted); font-size: 12px; line-height: 1.5; text-align: center; }
.k-booking-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; min-height: 1px !important; opacity: 0; pointer-events: none; }
.k-booking-status { display: none; margin: 20px 0 0; padding: 16px; background: var(--sheet-soft); border-radius: 12px; color: var(--sheet-ink); font-size: 14px; line-height: 1.5; }
.k-booking-status.is-visible { display: block; }
.k-booking-status a { display: inline-block; margin-top: 6px; color: var(--sheet-ink); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 700px) {
  .k-booking { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); border-radius: 24px; }
  .k-booking-inner { padding: 30px 24px; }
  .k-booking-progress { margin-bottom: 34px; gap: 15px; }
  .k-booking h2 { font-size: 39px; }
  .k-booking-lead { font-size: 16px; margin: 18px 0 27px; }
  .k-booking-choices { gap: 3px; padding: 4px; }
  .k-booking-choice span { padding: 10px 5px; font-size: 12px; }
  .k-booking-grid { grid-template-columns: 1fr; gap: 17px; }
  .k-booking-bottom { gap: 18px; margin-top: 30px; }
  .k-booking-bottom > p { max-width: 21ch; font-size: 12px; }
  .k-booking-next, .k-booking-submit { padding: 14px 20px; font-size: 14px; }
}
.k-terms-page { min-height: calc(100vh - 210px); padding-top: 180px; padding-bottom: 110px; }
.k-terms-header { max-width: 760px; }
.k-terms-header > p:first-child { margin: 0; color: var(--studio-muted); font-size: 14px; }
.k-terms-header h1 { margin: 22px 0; font-size: clamp(52px, 8vw, 116px); font-weight: 500; line-height: .94; letter-spacing: -.055em; }
.k-terms-header > p:last-child { margin: 0; max-width: 46ch; color: var(--studio-muted); font-size: 19px; line-height: 1.5; }
.k-terms-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 48px; align-items: end; max-width: 980px; margin-top: 84px; padding: 30px 0; border-top: 1px solid var(--studio-rule); border-bottom: 1px solid var(--studio-rule); }
.k-terms-card h2 { margin: 15px 0 12px; font-size: clamp(34px, 4vw, 52px); font-weight: 500; letter-spacing: -.045em; }
.k-terms-card p:not(.k-small-title) { max-width: 48ch; margin: 0; color: var(--studio-muted); line-height: 1.55; }
.k-terms-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 17px; white-space: nowrap; }
.k-terms-primary { display: inline-flex; align-items: center; min-height: 46px; padding: 11px 15px; background: var(--studio-ink); color: var(--studio-bg); font-size: 14px; font-weight: 600; }
.k-terms-primary:hover { background: var(--studio-accent); }
.k-terms-contact { margin: 30px 0 0; color: var(--studio-muted); }
.k-terms-contact a { color: var(--studio-ink); text-decoration: underline; text-underline-offset: 5px; }
.k-terms-copy { max-width: 800px; margin-top: 82px; }
.k-terms-intro { margin: 0 0 46px; color: var(--studio-ink); font-size: 20px; line-height: 1.55; }
.k-terms-section { padding: 28px 0 32px; border-top: 1px solid var(--studio-rule); }
.k-terms-section h2 { margin: 0 0 14px; font-size: clamp(22px, 2.2vw, 30px); font-weight: 500; line-height: 1.16; letter-spacing: -.035em; }
.k-terms-section p { max-width: 72ch; margin: 0; color: var(--studio-muted); font-size: 16px; line-height: 1.7; }
.k-terms-download { display: flex; align-items: center; justify-content: space-between; gap: 30px; max-width: 800px; padding: 26px 0; border-top: 1px solid var(--studio-rule); border-bottom: 1px solid var(--studio-rule); }
.k-terms-download p { max-width: 50ch; margin: 0; color: var(--studio-muted); font-size: 14px; line-height: 1.5; }
.k-contact-details address { font-style: normal; }
.k-contact-details a { display: block; width: fit-content; }
.k-contact-details a:hover { color: var(--studio-ink); }

/* Detailed services use the same three plain-language disciplines. */
.k-service-intro { max-width: 46ch !important; }
.k-service-nav { display: flex; flex-wrap: wrap; gap: 12px 32px; margin-top: 40px; }
.k-service-detail { padding-top: 72px; padding-bottom: 72px; display: grid; grid-template-columns: 1fr 2fr; gap: 50px; scroll-margin-top: 100px; }
.k-service-detail + .k-service-detail { border-top: 1px solid var(--studio-rule); }
.k-service-detail h2 { margin: 0; font-size: clamp(32px, 4vw, 54px); line-height: 1.1; letter-spacing: -.035em; font-weight: 500; }
.k-service-detail h3 { font-size: 22px; font-weight: 500; margin: 0 0 10px; }
.k-service-detail p { font-size: 18px; color: var(--studio-muted); line-height: 1.6; max-width: 60ch; margin: 0 0 28px; }
.k-service-detail ul { list-style: none; margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px 32px; }
.k-service-detail li { font-size: 16px; line-height: 1.45; }
.k-process { margin-top: 36px; }
.k-process details { border-top: 1px solid var(--studio-rule); padding: 19px 0; }
.k-process summary { font-size: 21px; cursor: pointer; }
.k-process details p { font-size: 16px; margin: 15px 0 0; }
.k-product-note { border-left: 2px solid var(--studio-rule); padding: 0 0 0 22px; margin-top: 44px; }
.k-product-note p { font-size: 16px; margin-bottom: 12px; }
body [data-screen-label="Filmography"] [data-reveal] > div:first-child,
body [data-prerender-film-no] { display: none; }
body [data-screen-label="Filmography"] [data-reveal] > div:nth-child(3) > div:last-child { display: none; }
body [data-screen-label="Filmography"] [data-reveal] { letter-spacing: 0 !important; }
body [data-screen-label="Filmography"] [data-reveal] > div:nth-child(2) { font-weight: 500 !important; }
body [data-screen-label="Filmography"] [data-reveal] button { letter-spacing: 0 !important; font-size: 16px !important; }
body [data-prerender-film-facts] > div:last-child { display: none; }
body [data-prerender-film-title] { font-weight: 500; }

@media (max-width: 1000px) {
  body [data-nav-desktop] { gap: 20px !important; }
  body [data-nav-desktop] > div:first-child { gap: 22px !important; }
  body [data-site-footer] { grid-template-columns: 1fr auto !important; }
  body [data-footer-meta] { grid-column: 1 / -1; justify-content: flex-start !important; }
}
@media (max-width: 700px) {
  body nav { padding: calc(18px + env(safe-area-inset-top, 0px)) 24px 18px !important; }
  body nav img { height: 18px !important; }
  body .k-container { padding-left: 24px !important; padding-right: 24px !important; }
  body .k-hero { padding-left: 0 !important; padding-right: 0 !important; min-height: 740px; min-height: 94svh; padding-bottom: 76px; }
  .k-hero h1 { font-size: clamp(46px, 10.8vw, 72px); max-width: 13ch; margin-top: 145px; margin-bottom: 24px; }
  .k-hero-copy { font-size: 17px; max-width: 31ch; }
  .k-hero-actions { gap: 12px 18px; }
  .k-video-toggle { bottom: 22px; right: 24px; }
  .k-work { padding-top: 52px; padding-bottom: 64px; }
  .k-section-heading { gap: 14px; }
  .k-section-heading h2, .k-small-title { font-size: 18px; }
  .k-section-heading .k-text-link { font-size: 14px; }
  .k-work-grid { grid-template-columns: 1fr; gap: 36px; }
  .k-film-wide { grid-column: auto; }
  .k-film-image, .k-film-wide .k-film-image { aspect-ratio: 3 / 2; }
  .k-film-caption h3 { font-size: 21px; }
  .k-film-caption p { font-size: 14px; }
  .k-film-project-cta { margin-top: 11px; font-size: 13px; }
  .k-film-open { padding: 16px; }
  .k-film-play { width: 42px; height: 42px; }
  .k-studio { grid-template-columns: 1fr; gap: 25px; padding-top: 85px; padding-bottom: 64px; }
  .k-studio p { font-size: 27px; }
  .k-home-manifesto { grid-template-columns: 1fr; gap: 28px; margin-top: 76px; padding-block: 38px; }
  .k-home-manifesto-content { grid-template-columns: 1fr; align-items: start; gap: 28px; }
  .k-home-manifesto h2 { max-width: 13ch; font-size: clamp(42px, 11vw, 68px); }
  .k-home-manifesto-copy { gap: 14px; }
  .k-home-manifesto + .k-services { padding-top: 70px; }
  .k-service-row { grid-template-columns: 1fr 24px; gap: 10px 20px; padding: 24px 0; }
  .k-service-row p { grid-column: 1; font-size: 16px; }
  .k-service-row > span { grid-column: 2; grid-row: 1; }
  .k-service-faq summary { grid-template-columns: 1fr 24px; gap: 20px; padding: 24px 0; }
  .k-service-faq p { margin-bottom: 24px; font-size: 16px; }
  .k-services { padding-bottom: 72px; }
  .k-service-overview { grid-template-columns: 1fr; gap: 28px; padding-top: 60px; padding-bottom: 60px; }
  .k-service-overview-media { aspect-ratio: 3 / 2; }
  .k-service-overview-copy h2 { font-size: clamp(34px,10vw,52px); }
  .k-service-overview-copy > p:not(.k-small-title) { margin: 16px 0 25px; font-size: 16px; }
  .k-partner-rail { margin-top: 28px; }
  .k-client-logo { width: 164px; height: 100px; padding: 13px 22px; }
  .k-client-logo img { max-height: 48px; }
  .k-client-logo-fabric img, .k-client-logo-speedwings img { max-height: 70px; }
  .k-client-logo-lausanne img { max-height: 62px; }
  .k-client-wordmark { font-size: 21px; }
  .k-clients { padding-bottom: 72px; }
  .k-contact { padding-top: 62px; padding-bottom: 64px; }
  .k-contact-lead { margin-top: -8px; font-size: 17px; }
  .k-contact-actions { display: grid; gap: 22px; justify-items: start; }
  .k-contact-details { grid-template-columns: 1fr; gap: 26px; margin-top: 46px; }
  .k-terms-page { min-height: auto; padding-top: 140px; padding-bottom: 72px; }
  .k-terms-card { grid-template-columns: 1fr; gap: 28px; margin-top: 54px; }
  .k-terms-copy { margin-top: 54px; }
  .k-terms-section { padding: 23px 0 27px; }
  .k-terms-download { display: block; }
  .k-terms-download .k-text-link { display: inline-block; margin-top: 18px; }
  body [data-hd] { padding-top: 135px !important; padding-bottom: 35px !important; }
  .k-service-detail { grid-template-columns: 1fr; gap: 28px; padding-top: 48px; padding-bottom: 48px; }
  .k-service-detail p { font-size: 17px; }
  .k-service-detail ul { grid-template-columns: 1fr; }
  body [data-site-footer] { grid-template-columns: 1fr !important; text-align: left !important; }
  body [data-site-footer] > a, body [data-site-footer] > div { justify-content: flex-start !important; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Shared chrome and exported pages use the same theme as the contact sheet. */
body [data-nav-desktop] { margin-left: auto; }
.k-theme-toggle { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; padding: 0; margin-left: 20px; border: 1px solid var(--studio-rule); border-radius: 50%; color: var(--studio-ink); background: var(--studio-bg); cursor: pointer; }
.k-theme-toggle:hover { border-color: var(--studio-muted); }
.k-theme-moon { display: none; }
[data-theme="light"] .k-theme-sun { display: none; }
[data-theme="light"] .k-theme-moon { display: block; }
body [data-nav-hamburger] { color: var(--studio-ink) !important; }
body [data-nav-hamburger] span { background: var(--studio-ink) !important; }
body [data-mobile-drawer] { background: var(--studio-bg) !important; color: var(--studio-ink); }
body [data-mobile-drawer] > a { color: var(--studio-ink) !important; }
body [data-site-footer] a, body [data-site-footer] span { color: var(--studio-muted) !important; }
body nav { background: var(--theme-nav); }
img[src="/assets/korner-logo.png"] { width: auto; object-fit: contain; }
[data-theme="light"] nav img, [data-theme="light"] [data-site-footer] > a img, [data-theme="light"] img.logo { filter: brightness(0); }
/* The orange mark is Korner's signature.  The light treatment makes the wordmark
   ink-black, then lays the original orange mark back over its precise first slice. */
[data-theme="light"] nav > a:has(> img[src="/assets/korner-logo.png"]),
[data-theme="light"] [data-site-footer] > a:has(> img[src="/assets/korner-logo.png"]) { position: relative; }
[data-theme="light"] nav > a:has(> img[src="/assets/korner-logo.png"])::after,
[data-theme="light"] [data-site-footer] > a:has(> img[src="/assets/korner-logo.png"])::after { content: ""; position: absolute; left: 0; background: url("/assets/korner-logo.png") left center / auto 100% no-repeat; pointer-events: none; }
[data-theme="light"] nav > a:has(> img[src="/assets/korner-logo.png"])::after { top: 50%; width: 9.16px; height: 15px; transform: translateY(-50%); }
[data-theme="light"] [data-site-footer] > a:has(> img[src="/assets/korner-logo.png"])::after { top: 0; width: 9.77px; height: 16px; }
[data-theme="light"] .k-client-logo img { filter: grayscale(1) brightness(0); }
[data-theme="light"] .k-client-logo-fabric img { filter: grayscale(1) contrast(1.3) brightness(1.45) invert(1); }
[data-theme="light"] .k-client-logo-speedwings img { filter: grayscale(1) contrast(1.3); }
.k-hero, [data-lightbox], .k-film-image { --studio-ink: #edeae3; --studio-rgb: 237,234,227; --studio-bg: #0b0b0c; --studio-accent: #ff5b23; color: #edeae3; }
[data-prerender-film-play] { color: #edeae3 !important; }
.k-booking-reasons { flex-wrap: wrap; background: transparent; padding: 0; gap: 8px; }
.k-booking-reasons .k-booking-choice { flex: 1 1 40%; }
.k-booking-reasons .k-booking-choice span { background: var(--sheet-soft); border: 1px solid transparent; }
.k-booking-reasons input:checked + span { border-color: var(--sheet-label); background: var(--sheet-input); box-shadow: none; }
.k-booking-bottom > p { max-width: 38ch; }
body #korner-consent { background: var(--sheet-bg); color: var(--sheet-ink); border-color: var(--sheet-line); }
body #korner-consent p { color: var(--sheet-muted); }
body #korner-consent-refuse { color: var(--sheet-ink); border-color: var(--sheet-line); }
body #korner-consent-manage { background: var(--sheet-bg); color: var(--sheet-label); border-color: var(--sheet-line); }
@media(max-width:880px) { .k-theme-toggle { margin-left: auto; margin-right: 14px; } }
/* Distinctive layouts for the two service stories; tokens and type remain shared. */
.k-story-work { padding-top: 48px; }
.k-story-work .k-section-heading h2,
.k-story-support .k-section-heading h2 { font-size: clamp(25px, 3vw, 42px); font-weight: 500; letter-spacing: -.04em; }
.k-story-work .k-film-image { aspect-ratio: 2 / 1; }
.k-story-work .k-film-caption h3 { font-size: clamp(25px, 3vw, 40px); }
.k-story-work .k-film-caption p { font-size: 17px; }
.k-story-support { padding-top: 75px; }
.k-story-support .k-work-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.k-story-support .k-film-caption h3 { font-size: clamp(19px, 2vw, 27px); }
.k-story-support .k-film-caption p { font-size: 14px; }
.k-story-support .k-film-image { aspect-ratio: 16 / 10; }
.k-production-behind {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr);
  gap: clamp(28px, 6vw, 96px);
  align-items: center;
  padding-block: clamp(65px, 9vw, 130px);
  border-bottom: 1px solid var(--studio-rule);
}
.k-production-mosaic { display: grid; grid-template-columns: 1.15fr .85fr; gap: 12px; align-items: end; }
.k-production-mosaic figure { margin: 0; overflow: hidden; background: #171717; }
.k-production-mosaic figure:first-child { aspect-ratio: 4 / 5; }
.k-production-mosaic figure:last-child { aspect-ratio: 4 / 5; margin-bottom: 13%; }
.k-production-mosaic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.k-production-note { max-width: 460px; }
.k-production-note h2 { margin: 28px 0 18px; font-size: clamp(36px, 5vw, 68px); line-height: .98; font-weight: 500; letter-spacing: -.055em; text-wrap: balance; }
.k-production-note > p:not(.k-small-title) { max-width: 39ch; margin: 0 0 24px; color: var(--studio-muted); font-size: 17px; line-height: 1.55; }
.k-story-proof { display: grid; grid-template-columns: minmax(220px, .75fr) minmax(0, 1.25fr); gap: clamp(30px, 8vw, 130px); padding-block: clamp(68px, 9vw, 120px); border-bottom: 1px solid var(--studio-rule); }
.k-story-proof h2 { max-width: 11ch; margin: 24px 0 0; font-size: clamp(36px, 5vw, 66px); line-height: .98; font-weight: 500; letter-spacing: -.055em; text-wrap: balance; }
.k-story-proof > p { max-width: 48ch; margin: 0; align-self: end; color: var(--studio-muted); font-size: clamp(18px, 2vw, 25px); line-height: 1.38; letter-spacing: -.025em; }
.k-service-manifesto { --manifest-x: 50%; --manifest-y: 50%; position: relative; isolation: isolate; overflow: hidden; min-height: clamp(430px, 54vw, 690px); margin-block: clamp(72px, 9vw, 150px); padding: clamp(38px, 5vw, 78px) clamp(20px, 3vw, 48px); background: #ff5b23; color: #09090a; display: flex; align-items: stretch; }
.k-service-manifesto::before { content: ''; position: absolute; z-index: -1; inset: 0; opacity: 0; background: radial-gradient(circle 260px at var(--manifest-x) var(--manifest-y), rgba(255, 232, 218, .72), rgba(255, 154, 113, .24) 33%, transparent 68%); transition: opacity .22s ease; }
.k-service-manifesto > div { display: flex; flex: 1; flex-direction: column; justify-content: space-between; gap: 48px; }
.k-service-manifesto h2 { max-width: 13ch; margin: 0; font-family: 'Bebas Neue', sans-serif; font-size: clamp(68px, 11.4vw, 190px); font-weight: 400; line-height: .79; letter-spacing: -.025em; text-wrap: balance; }
.k-service-manifesto p { max-width: 58ch; margin: 0; font-size: clamp(17px, 1.65vw, 24px); font-weight: 600; line-height: 1.25; letter-spacing: -.025em; }
@media (hover: hover) and (pointer: fine) { .k-service-manifesto.is-pointer-active::before { opacity: 1; } }
.k-story-process { margin: 0; color: var(--studio-ink); font-size: clamp(21px, 3vw, 38px); line-height: 1.2; letter-spacing: -.035em; }
section.k-story-process { margin-block: 10px 0; padding-block: 27px; border-block: 1px solid var(--studio-rule); }
.k-story-faq-section { display: grid; grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); gap: clamp(30px, 8vw, 130px); padding-block: clamp(68px, 9vw, 120px); border-bottom: 1px solid var(--studio-rule); }
.k-story-faq-section h2 { max-width: 10ch; margin: 24px 0 0; font-size: clamp(36px, 5vw, 66px); line-height: .98; font-weight: 500; letter-spacing: -.055em; text-wrap: balance; }
.k-story-faq-section details { border-top: 1px solid var(--studio-rule); }
.k-story-faq-section details:last-child { border-bottom: 1px solid var(--studio-rule); }
.k-story-faq-section summary { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; padding: 19px 0; cursor: pointer; list-style: none; font-size: 17px; line-height: 1.4; }
.k-story-faq-section summary::-webkit-details-marker { display: none; }
.k-story-faq-section summary span { color: var(--studio-accent); font-size: 22px; transition: transform .2s ease; }
.k-story-faq-section details[open] summary span { transform: rotate(45deg); }
.k-story-faq-section details p { margin: -3px 30px 21px 0; max-width: 60ch; color: var(--studio-muted); font-size: 16px; line-height: 1.55; }
.k-story-contact { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 36px; align-items: end; padding-block: clamp(70px, 10vw, 150px); }
.k-story-contact h2 { max-width: 14ch; margin: 0; font-size: clamp(43px, 7vw, 96px); line-height: .94; font-weight: 500; letter-spacing: -.06em; text-wrap: balance; }
.k-story-contact p { max-width: 48ch; margin: 24px 0 0; color: var(--studio-muted); font-size: 17px; line-height: 1.5; }
.k-story-contact > div:last-child { display: grid; justify-items: start; gap: 16px; padding-bottom: 5px; }
.k-story-contact .k-booking-trigger { min-height: 50px; padding: 12px 20px; border: 1px solid var(--studio-ink); border-radius: 999px; background: var(--studio-ink); color: var(--korner-page-bg); font: 500 15px/1.2 'Wix Madefor Display', sans-serif; cursor: pointer; }
.k-story-contact .k-booking-trigger:hover { background: var(--studio-accent); border-color: var(--studio-accent); color: #fff; }
.k-story-contact a { font-size: 15px; text-underline-offset: 5px; text-decoration: underline; text-decoration-color: var(--studio-muted); }
.k-digital-hero { align-items: center; min-height: min(800px, 100svh); padding-block: 160px 85px; background: linear-gradient(180deg, #0b0b0c 0%, #0b0b0c 85%, var(--korner-page-bg) 100%); color: #edeae3; }
.k-digital-hero-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(250px, .8fr); align-items: center; gap: clamp(35px, 6vw, 100px); width: 100%; }
.k-digital-hero-copy { min-width: 0; }
.k-digital-hero .k-small-title { color: #aaa8a3; }
html[lang] .k-hero.k-digital-hero h1 { max-width: 11ch; margin: 24px 0 28px; color: #edeae3; }
:root[data-theme="light"] .k-digital-hero h1 { text-shadow: none; }
.k-digital-hero .k-hero-copy, :root[data-theme="light"] .k-digital-hero .k-hero-copy { color: #d6d3cd; text-shadow: none; }
.k-digital-hero .k-text-link, :root[data-theme="light"] .k-digital-hero .k-text-link { color: #edeae3; text-shadow: none; }
.k-digital-hero-visual { justify-self: center; margin: 0; width: min(100%, 340px); transform: rotate(3deg); filter: drop-shadow(0 30px 60px rgba(0,0,0,.55)); }
.k-digital-hero-visual img { display: block; width: 100%; height: auto; border: 1px solid #4a4a4d; border-radius: 22px; }
.k-digital-feature { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .8fr); gap: clamp(35px, 7vw, 108px); align-items: center; padding-block: clamp(70px, 10vw, 145px); border-bottom: 1px solid var(--studio-rule); }
.k-digital-media { min-width: 0; }
.k-digital-demo { position: relative; overflow: hidden; background: #151515; }
.k-digital-demo summary { position: relative; display: block; aspect-ratio: 16 / 10; cursor: pointer; list-style: none; }
.k-digital-demo summary::-webkit-details-marker { display: none; }
.k-digital-demo summary img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .5s cubic-bezier(.16,1,.3,1); }
.k-digital-demo summary span { position: absolute; inset: auto 18px 18px auto; max-width: calc(100% - 36px); padding: 12px 18px; border: 1px solid rgba(255,255,255,.52); border-radius: 999px; background: rgba(12,12,13,.7); color: #fff; font-size: 14px; backdrop-filter: blur(12px); }
.k-digital-demo summary span::before { content: '▶'; margin-right: 10px; font-size: 10px; }
.k-digital-demo video { display: none; width: 100%; aspect-ratio: 16 / 10; background: #080808; object-fit: contain; }
.k-digital-demo[open] summary { aspect-ratio: auto; min-height: 52px; }
.k-digital-demo[open] summary img { display: none; }
.k-digital-demo[open] summary span { position: static; display: inline-block; margin: 8px; }
.k-digital-demo[open] summary span::before { content: '×'; font-size: 18px; }
.k-digital-demo[open] video { display: block; width: min(100%, 330px); aspect-ratio: 384 / 848; margin-inline: auto; }
@media (hover:hover) and (pointer:fine) { .k-digital-demo summary:hover img { transform: scale(1.025); } }
.k-digital-copy { position: relative; max-width: 520px; }
.k-digital-copy h2 { margin: 28px 0 17px; font-size: clamp(39px, 5vw, 68px); line-height: .98; font-weight: 500; letter-spacing: -.055em; text-wrap: balance; }
.k-digital-copy > p:not(.k-small-title) { max-width: 39ch; margin: 0 0 22px; color: var(--studio-muted); font-size: 17px; line-height: 1.55; }
.k-digital-copy .k-text-link, .k-helfin-feature .k-text-link { display: inline-block; }
.k-digital-copy .k-text-link + .k-text-link, .k-helfin-feature .k-text-link + .k-text-link { margin-left: 18px; }
.k-story-product-label { display: block; margin-top: 50px; color: var(--studio-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .11em; }
.k-helfin-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); gap: 40px; align-items: center; padding-block: clamp(70px, 9vw, 130px); border-bottom: 1px solid var(--studio-rule); }
.k-helfin-feature h2 { margin: 28px 0 14px; font-size: clamp(42px, 6vw, 78px); line-height: .95; font-weight: 500; letter-spacing: -.055em; }
.k-helfin-feature > div > p:not(.k-small-title) { max-width: 43ch; margin: 0 0 23px; color: var(--studio-muted); font-size: 17px; line-height: 1.55; }
.k-helfin-site { min-width: 0; margin: 0; }
.k-helfin-site a { display: block; overflow: hidden; border: 1px solid var(--studio-rule); border-radius: 14px; }
.k-helfin-site img { display: block; width: 100%; height: auto; }
.k-helfin-site figcaption { margin-top: 12px; color: var(--studio-muted); font-size: 12px; }
.k-story-capabilities { display: grid; grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr); gap: clamp(30px, 8vw, 130px); padding-block: clamp(68px, 9vw, 120px); border-bottom: 1px solid var(--studio-rule); }
.k-story-capabilities h2 { max-width: 11ch; margin: 24px 0 18px; font-size: clamp(36px, 5vw, 66px); line-height: .98; font-weight: 500; letter-spacing: -.055em; text-wrap: balance; }
.k-story-capabilities > div > p:not(.k-small-title) { max-width: 38ch; margin: 0; color: var(--studio-muted); font-size: 17px; line-height: 1.55; }
.k-story-capability-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(26px, 4vw, 58px); align-content: start; }
.k-story-capability-list article { padding: 18px 0 24px; border-top: 1px solid var(--studio-rule); }
.k-story-capability-list h3 { margin: 0 0 10px; font-size: clamp(18px, 2vw, 25px); font-weight: 500; letter-spacing: -.035em; }
.k-story-capability-list p { margin: 0; color: var(--studio-muted); font-size: 15px; line-height: 1.5; }
.k-story-needs { display: grid; grid-template-columns: minmax(200px, .75fr) minmax(0, 1.25fr); gap: 24px clamp(30px, 8vw, 130px); padding-block: clamp(68px, 9vw, 120px); border-bottom: 1px solid var(--studio-rule); }
.k-story-needs h2 { max-width: 12ch; margin: 24px 0 0; font-size: clamp(34px, 4.5vw, 60px); line-height: .98; font-weight: 500; letter-spacing: -.055em; }
.k-story-needs ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.k-story-needs li { min-height: 90px; padding-top: 14px; border-top: 1px solid var(--studio-rule); font-size: clamp(16px, 1.7vw, 21px); line-height: 1.3; }
.k-story-needs .k-story-process { grid-column: 2; align-self: end; padding-block: 22px; border-block: 1px solid var(--studio-rule); font-size: clamp(20px, 2.6vw, 34px); }
.k-web-hero .k-digital-hero-visual { width: min(100%, 310px); transform: rotate(2deg); }
.k-web-hero .k-digital-hero-visual img { border-radius: 18px; }
.k-web-project { display: grid; grid-template-columns: minmax(230px, .7fr) minmax(0, 1.3fr); gap: clamp(34px, 7vw, 120px); align-items: center; padding-block: clamp(72px, 10vw, 145px); border-bottom: 1px solid var(--studio-rule); }
.k-web-project-copy { max-width: 480px; }
.k-web-project-copy h2 { margin: 26px 0 18px; font-size: clamp(38px, 5vw, 68px); line-height: .98; font-weight: 500; letter-spacing: -.055em; text-wrap: balance; }
.k-web-project-copy > p:not(.k-small-title) { margin: 0; color: var(--studio-muted); font-size: 17px; line-height: 1.55; }
.k-web-project-media { position: relative; min-height: 0; padding: 0 9% 7% 0; }
.k-web-project-media figure { margin: 0; }
.k-web-desktop { overflow: hidden; border: 1px solid var(--studio-rule); background: #111; box-shadow: 0 24px 60px rgba(0, 0, 0, .18); }
.k-web-desktop img { display: block; width: 100%; height: auto; }
.k-web-mobile { position: absolute; right: 0; bottom: 0; width: min(28%, 165px); overflow: hidden; border: 1px solid rgba(255,255,255,.38); border-radius: 16px; background: #111; box-shadow: 0 18px 42px rgba(0,0,0,.35); }
.k-web-mobile img { display: block; width: 100%; height: auto; }
.k-web-project figcaption { margin-top: 10px; color: var(--studio-muted); font-size: 12px; }
.k-web-mobile figcaption { display: none; }
.k-web-decisions .k-story-capability-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 20px; }
.k-web-decisions .k-story-capability-list article { min-height: 170px; }
.k-web-process { display: grid; grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr); gap: clamp(30px, 8vw, 130px); align-items: start; padding-block: clamp(50px, 7vw, 82px) !important; }
.k-web-process > p:last-child { max-width: 31ch; }
@media (max-width: 880px) {
  .k-digital-hero { min-height: 0; padding-block: 160px 80px; }
  .k-digital-hero-grid { grid-template-columns: 1fr 260px; gap: 25px; }
  .k-story-support .k-work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .k-production-behind { grid-template-columns: 1fr; }
  .k-production-note { max-width: 620px; }
  .k-story-proof { grid-template-columns: 1fr; }
  .k-story-proof h2 { max-width: 15ch; }
  .k-service-manifesto { min-height: 500px; }
  .k-digital-feature { grid-template-columns: 1fr; }
  .k-digital-copy { max-width: 650px; }
  .k-story-capabilities { grid-template-columns: 1fr; }
  .k-story-faq-section { grid-template-columns: 1fr; }
  .k-story-faq-section h2 { max-width: 15ch; }
  .k-story-contact { grid-template-columns: 1fr; }
  .k-story-needs { grid-template-columns: 1fr; }
  .k-story-needs .k-story-process { grid-column: 1; }
  .k-web-project { grid-template-columns: 1fr; }
  .k-web-project-copy { max-width: 620px; }
  .k-web-decisions .k-story-capability-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .k-web-process { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .k-service-story-page .k-back-pill { left: 10px; bottom: 10px; }
  .k-service-story-page .k-home-pill { left: 85px; bottom: 10px; }
  .k-service-story-page #korner-consent-manage { left: 160px; bottom: 10px; }
  .k-digital-hero { padding-block: 125px 70px; }
  .k-digital-hero-grid { grid-template-columns: 1fr; gap: 46px; }
  html[lang] .k-hero.k-digital-hero h1 { max-width: 12ch; margin-top: 18px; }
  .k-digital-hero-visual { width: min(72%, 280px); transform: rotate(2deg); }
  .k-story-support .k-work-grid { grid-template-columns: 1fr; }
  .k-story-work { padding-top: 28px; }
  .k-story-work .k-film-image,
  .k-story-support .k-film-image { aspect-ratio: 4 / 3; }
  .k-story-support { padding-top: 50px; }
  .k-production-behind { gap: 26px; padding-block: 60px; }
  .k-production-mosaic { gap: 7px; }
  .k-production-note h2 { margin-top: 19px; }
  .k-story-proof { padding-block: 62px; }
  .k-service-manifesto { min-height: 440px; margin-block: 64px; padding-block: 29px; }
  .k-service-manifesto > div { gap: 34px; }
  .k-service-manifesto h2 { max-width: 10ch; font-size: clamp(62px, 18vw, 112px); line-height: .8; }
  .k-service-manifesto p { max-width: 31ch; font-size: 17px; line-height: 1.28; }
  .k-story-faq-section { padding-block: 62px; }
  .k-story-faq-section summary { font-size: 16px; }
  .k-story-contact { gap: 26px; padding-block: 70px; }
  .k-digital-feature { gap: 30px; padding-block: 65px; }
  .k-digital-demo summary span { inset: auto 10px 10px auto; padding: 10px 13px; font-size: 12px; }
  .k-helfin-feature { grid-template-columns: 1fr; gap: 10px; padding-block: 64px; }
  .k-story-capabilities { padding-block: 62px; }
  .k-story-capability-list { grid-template-columns: 1fr; }
  .k-story-needs { padding-block: 62px; }
  .k-story-needs ul { grid-template-columns: 1fr; gap: 12px; }
  .k-story-needs li { min-height: 0; padding: 12px 0; }
  .k-web-project { gap: 36px; padding-block: 64px; }
  .k-web-project-media { padding-right: 12%; }
  .k-web-mobile { width: 31%; border-radius: 12px; }
  .k-web-decisions .k-story-capability-list { grid-template-columns: 1fr; }
  .k-web-decisions .k-story-capability-list article { min-height: 0; }
  .k-web-process { padding-block: 46px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .k-digital-demo summary img,
  .k-story-faq-section summary span { transition: none; }
}

/* Korner product stories: editorial proof, rather than a second product site. */
.k-product-page { background:#09090a; color:#f1eeea; font-family:'Wix Madefor Display',sans-serif; }.k-product-page a{color:inherit}.k-product-nav{position:fixed;inset:0 0 auto;z-index:130;display:flex;align-items:center;justify-content:space-between;padding:22px 40px;background:rgba(9,9,10,.82);border-bottom:1px solid rgba(255,255,255,.11);backdrop-filter:blur(16px)}.k-product-nav> a img{display:block;height:16px}.k-product-nav>div{display:flex;align-items:center;gap:26px;font-size:12px}.k-product-langs{display:flex;gap:1px;padding:3px;border:1px solid rgba(255,255,255,.2);border-radius:999px}.k-product-langs a{padding:5px 7px;font-size:10px;text-decoration:none}.k-product-hero,.k-product-reason,.k-product-proof,.k-product-practice,.k-product-other{width:min(1320px,calc(100% - 80px));margin-inline:auto}.k-product-hero{min-height:90vh;display:grid;align-content:end;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:64px;padding:165px 0 88px}.k-product-hero>p,.k-product-reason ol,.k-product-proof>div>p:first-child,.k-product-practice>p,.k-product-other>p{color:#ff5b23;font-size:12px;letter-spacing:.08em}.k-product-hero h1{grid-column:1/-1;max-width:12ch;margin:0;font-family:'Bebas Neue',sans-serif;font-size:clamp(84px,13vw,220px);font-weight:400;line-height:.78;letter-spacing:-.015em}.k-product-hero div{grid-column:2}.k-product-hero div p{max-width:26ch;margin:0 0 28px;font-size:clamp(18px,2vw,27px);line-height:1.25}.k-product-button{display:inline-block;padding:13px 18px;border-radius:999px;background:#ff5b23;color:#0b0b0c;font-size:13px;text-decoration:none}.k-product-reason{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);gap:8vw;padding:105px 0;border-top:1px solid rgba(255,255,255,.16)}.k-product-reason h2,.k-product-proof h2,.k-product-practice h2,.k-product-other h2{max-width:12ch;margin:0 0 22px;font-size:clamp(35px,4.4vw,74px);font-weight:500;line-height:.94;letter-spacing:-.06em}.k-product-reason p,.k-product-proof p,.k-product-practice p{max-width:47ch;color:rgba(241,238,234,.72);font-size:18px;line-height:1.5}.k-product-reason ol{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;align-self:end;margin:0;padding:0;list-style:none;background:rgba(255,255,255,.16)}.k-product-reason li{min-height:126px;display:flex;align-items:end;padding:14px;background:#09090a;font-size:15px}.k-product-proof{display:grid;grid-template-columns:minmax(0,.9fr) minmax(400px,1.1fr);gap:8vw;align-items:center;padding:125px 0}.k-product-proof figure{margin:0;transform:rotate(1.6deg)}.k-product-proof img{width:100%;max-height:600px;display:block;object-fit:cover;border:1px solid rgba(255,255,255,.15)}.k-product-proof figcaption{margin-top:10px;color:rgba(241,238,234,.5);font-size:11px}.k-product-practice{display:grid;grid-template-columns:minmax(120px,.25fr) minmax(0,1fr);gap:8vw;padding:110px 8vw;background:#ff5b23;color:#0a0a0b}.k-product-practice>p{color:#0a0a0b}.k-product-practice p{color:rgba(10,10,11,.78)}.k-product-practice a,.k-product-other a{display:inline-block;margin-top:10px;color:inherit;font-size:14px;text-underline-offset:4px}.k-product-other{padding:120px 0 150px;border-bottom:1px solid rgba(255,255,255,.16)}.k-product-other h2{margin-bottom:14px}.k-product-page footer{padding:34px 40px;color:rgba(241,238,234,.56);font-size:12px}@media(max-width:760px){.k-product-nav{padding:17px 20px}.k-product-nav>div{gap:14px}.k-product-nav>div>a{display:none}.k-product-hero,.k-product-reason,.k-product-proof,.k-product-practice,.k-product-other{width:min(100% - 40px,620px)}.k-product-hero{min-height:76vh;grid-template-columns:1fr;gap:22px;padding:130px 0 54px}.k-product-hero h1{font-size:clamp(76px,20vw,130px)}.k-product-hero div{grid-column:1}.k-product-reason,.k-product-proof{grid-template-columns:1fr;gap:36px;padding:76px 0}.k-product-reason ol{margin:0 -20px}.k-product-reason li{min-height:82px;padding:9px;font-size:12px}.k-product-proof figure{transform:none}.k-product-practice{width:100%;grid-template-columns:1fr;gap:12px;padding:74px 20px}.k-product-other{padding:80px 0}.k-product-page footer{padding:28px 20px}}

/* Product palettes are deliberately contained to their own case stories. */
.k-product-helfin { --product-accent:#19a974; --product-ink:#071f17; }.k-product-silverlines { --product-accent:#e8547a; --product-ink:#250914; }
.k-product-page .k-product-langs button { padding:5px 7px; border:0; background:transparent; color:inherit; cursor:pointer; font:10px 'Wix Madefor Display',sans-serif; }.k-product-page .k-product-hero>p,.k-product-page .k-product-reason ol,.k-product-page .k-product-proof>div>p:first-child,.k-product-page .k-product-other>p { color:var(--product-accent); }.k-product-page .k-product-button { background:var(--product-accent); color:var(--product-ink); }.k-product-page .k-product-practice { background:var(--product-accent); color:var(--product-ink); }.k-product-page .k-product-practice>p { color:var(--product-ink); }.k-product-page .k-product-practice p { color:color-mix(in srgb,var(--product-ink) 78%,transparent); }
body.k-product-helfin :is(.k-home-pill,.k-back-pill){display:none}

/* The Helfin flow is a single business thread, not five unrelated labels. */
.k-product-helfin .k-product-reason{align-items:center;gap:9vw;padding-block:126px}.k-product-helfin .k-product-reason ol{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-self:center;min-height:232px;margin:0;padding:0;counter-reset:helfin-flow;isolation:isolate;background:none}.k-product-helfin .k-product-reason ol::before{content:'';position:absolute;z-index:-1;top:61px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(25,169,116,.42) 12%,var(--product-accent) 50%,rgba(25,169,116,.42) 88%,transparent)}.k-product-helfin .k-product-reason li{min-height:232px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:30px 8px 0;background:transparent;color:rgba(241,238,234,.88);font-size:16px;letter-spacing:.01em;text-align:center}.k-product-helfin .k-product-reason li::before{counter-increment:helfin-flow;content:'0' counter(helfin-flow);display:grid;place-items:center;width:62px;height:62px;margin-bottom:29px;border:1px solid color-mix(in srgb,var(--product-accent) 72%,transparent);border-radius:50%;background:#09090a;color:var(--product-accent);font:500 13px/1 'Wix Madefor Display',sans-serif;box-shadow:0 0 0 10px #09090a,0 0 30px color-mix(in srgb,var(--product-accent) 14%,transparent)}.k-product-helfin .k-product-reason li:last-child::before{background:var(--product-accent);color:var(--product-ink);box-shadow:0 0 0 10px #09090a,0 0 34px color-mix(in srgb,var(--product-accent) 30%,transparent)}
.k-product-helfin .k-product-reason ol::after{content:'';position:absolute;z-index:-1;top:60px;left:10%;right:10%;height:2px;background:var(--product-accent);transform:scaleX(1);transform-origin:left}.k-product-helfin .k-product-reason ol.is-flow-ready::after{transform:scaleX(0);transition:transform 950ms cubic-bezier(.16,1,.3,1)}.k-product-helfin .k-product-reason ol.is-flow-ready li{opacity:.22;transform:translateY(16px);transition:opacity 420ms ease,transform 620ms cubic-bezier(.16,1,.3,1)}.k-product-helfin .k-product-reason ol.is-flow-ready li::before{transform:scale(.72);transition:transform 620ms cubic-bezier(.16,1,.3,1),box-shadow 620ms ease}.k-product-helfin .k-product-reason ol.is-flow-revealed::after{transform:scaleX(1)}.k-product-helfin .k-product-reason ol.is-flow-revealed li{opacity:1;transform:none}.k-product-helfin .k-product-reason ol.is-flow-revealed li::before{transform:scale(1)}.k-product-helfin .k-product-reason ol.is-flow-revealed li:nth-child(1){transition-delay:180ms}.k-product-helfin .k-product-reason ol.is-flow-revealed li:nth-child(1)::before{transition-delay:180ms}.k-product-helfin .k-product-reason ol.is-flow-revealed li:nth-child(2){transition-delay:300ms}.k-product-helfin .k-product-reason ol.is-flow-revealed li:nth-child(2)::before{transition-delay:300ms}.k-product-helfin .k-product-reason ol.is-flow-revealed li:nth-child(3){transition-delay:420ms}.k-product-helfin .k-product-reason ol.is-flow-revealed li:nth-child(3)::before{transition-delay:420ms}.k-product-helfin .k-product-reason ol.is-flow-revealed li:nth-child(4){transition-delay:540ms}.k-product-helfin .k-product-reason ol.is-flow-revealed li:nth-child(4)::before{transition-delay:540ms}.k-product-helfin .k-product-reason ol.is-flow-revealed li:nth-child(5){transition-delay:660ms}.k-product-helfin .k-product-reason ol.is-flow-revealed li:nth-child(5)::before{transition-delay:660ms}
@keyframes k-helfin-flow-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes k-helfin-flow-step{from{opacity:.22;transform:translateY(16px)}to{opacity:1;transform:none}}@supports (animation-timeline:view()){.k-product-helfin .k-product-reason ol:not(.is-flow-ready){view-timeline-name:--helfin-flow;view-timeline-axis:block}.k-product-helfin .k-product-reason ol:not(.is-flow-ready)::after{animation:k-helfin-flow-draw linear both;animation-timeline:--helfin-flow;animation-range:entry 12% cover 48%}.k-product-helfin .k-product-reason ol:not(.is-flow-ready) li{animation:k-helfin-flow-step linear both;animation-timeline:--helfin-flow}.k-product-helfin .k-product-reason ol:not(.is-flow-ready) li:nth-child(1){animation-range:entry 13% cover 26%}.k-product-helfin .k-product-reason ol:not(.is-flow-ready) li:nth-child(2){animation-range:entry 20% cover 33%}.k-product-helfin .k-product-reason ol:not(.is-flow-ready) li:nth-child(3){animation-range:entry 27% cover 40%}.k-product-helfin .k-product-reason ol:not(.is-flow-ready) li:nth-child(4){animation-range:entry 34% cover 47%}.k-product-helfin .k-product-reason ol:not(.is-flow-ready) li:nth-child(5){animation-range:entry 41% cover 54%}}

/* Helfin is presented as an operating philosophy, not a gallery of SaaS cards. */
.k-helfin-thesis,.k-helfin-principles,.k-helfin-swiss,.k-helfin-pricing,.k-helfin-closing{width:min(1320px,calc(100% - 80px));margin-inline:auto}.k-helfin-thesis{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);gap:8vw;padding:132px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.k-helfin-thesis h2,.k-helfin-principles h2,.k-helfin-swiss h2,.k-helfin-pricing h2,.k-helfin-closing h2{margin:0;font-size:clamp(44px,6.3vw,108px);font-weight:500;line-height:.88;letter-spacing:-.075em}.k-helfin-thesis p,.k-helfin-principles>div>p,.k-helfin-swiss p,.k-helfin-pricing>div>p,.k-helfin-closing p{max-width:41ch;margin:0;color:rgba(241,238,234,.72);font-size:19px;line-height:1.5}.k-helfin-principles{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:9vw;padding:140px 0}.k-helfin-principles>div>p{margin-top:28px}.k-helfin-pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;row-gap:0}.k-helfin-pillars article{min-height:210px;padding:23px 0 28px;border-top:1px solid rgba(255,255,255,.18)}.k-helfin-pillars article:nth-last-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}.k-helfin-pillars h3{margin:0 0 48px;color:var(--product-accent);font:400 clamp(32px,3vw,48px)/.92 'Bebas Neue',sans-serif;letter-spacing:.01em}.k-helfin-pillars p{max-width:28ch;margin:0;color:rgba(241,238,234,.75);font-size:16px;line-height:1.42}.k-helfin-sovereignty{margin-top:0}.k-helfin-swiss{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.62fr);gap:9vw;padding:138px 0;border-bottom:1px solid rgba(255,255,255,.16)}.k-helfin-swiss h2{max-width:10ch}.k-helfin-pricing{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.2fr);column-gap:9vw;row-gap:56px;padding:138px 0;border-bottom:1px solid rgba(255,255,255,.16)}.k-helfin-pricing>div>p:first-child{margin-bottom:20px;color:var(--product-accent);font-size:12px;letter-spacing:.08em}.k-helfin-pricing>div>p:not(:first-child){margin-top:28px}.k-helfin-pricing a{display:inline-block;margin-top:28px;color:var(--product-accent);font-size:15px;text-underline-offset:4px}.k-helfin-pricing ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;align-self:start;margin:0;padding:0;list-style:none}.k-helfin-pricing li{display:grid;min-height:154px;align-content:start;padding:22px 0;border-top:1px solid rgba(255,255,255,.18)}.k-helfin-pricing li:nth-last-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}.k-helfin-pricing strong{font-size:17px;font-weight:500}.k-helfin-pricing span{margin-top:27px;color:var(--product-accent);font:400 clamp(34px,3vw,48px)/.92 'Bebas Neue',sans-serif}.k-helfin-pricing small{margin-top:5px;color:rgba(241,238,234,.6);font-size:12px}.k-helfin-pricing-note{grid-column:1/-1;max-width:none!important;margin:0!important;color:rgba(241,238,234,.55)!important;font-size:13px!important}.k-helfin-closing{padding:150px 0 165px;text-align:center}.k-helfin-closing h2{max-width:13ch;margin-inline:auto}.k-helfin-closing p{margin:30px auto}.k-helfin-closing .k-product-button{margin-top:8px}.k-product-helfin .k-helfin-sovereignty>p{font-size:12px;letter-spacing:.08em}.k-product-helfin .k-helfin-sovereignty h2{max-width:10ch;font-size:clamp(50px,6.4vw,108px)}

/* Helfin's supplied Vimeo film remains a background layer: it never changes
   the editorial grid or the scale of the title in front of it. */
.k-product-hero--video { position:relative; isolation:isolate; overflow:hidden; width:100%; max-width:none; min-height:100svh; margin:0; padding-inline:max(40px,calc((100vw - 1320px) / 2)); box-sizing:border-box; }
.k-product-hero--video .k-product-hero-media { position:absolute; inset:0; z-index:0; grid-column:auto; width:auto; margin:0; padding:0; overflow:hidden; pointer-events:none; background:#09090a; container-type:size; opacity:.75; }
.k-product-hero--video .k-product-hero-media iframe { position:absolute; top:50%; left:50%; width:max(100cqw,177.7778cqh); height:max(100cqh,56.25cqw); border:0; transform:translate(-50%,-50%); }
.k-product-hero--video::before { content:''; position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgba(4,17,12,.28) 0%,transparent 30%,rgba(4,17,12,.3) 58%,rgba(4,17,12,.58) 82%,#09090a 100%); pointer-events:none; }
.k-product-hero--video > :not(.k-product-hero-media) { position:relative; z-index:2; }
.k-product-helfin .k-product-hero h1 { font-weight:700; -webkit-text-stroke:1px currentColor; }
@media(min-width:761px){.k-product-helfin .k-product-hero h1{font-size:clamp(84px,11.5vw,180px)}}
.k-product-page :is(.k-product-langs,.k-product-mobile-langs) button[aria-current="page"] { color:var(--studio-accent)!important; font-family:'Bebas Neue',sans-serif!important; }
.k-product-mobile-langs { display:flex; align-items:center; gap:10px; margin-top:20px; }
.k-product-mobile-langs button { min-width:44px; min-height:36px; padding:7px 10px; border:1px solid rgba(var(--studio-rgb),.24); border-radius:999px; background:transparent; color:var(--studio-ink); font:600 13px/1 'Wix Madefor Display',sans-serif; cursor:pointer; }
@media(max-width:760px){.k-product-hero--video{width:100%;padding-inline:20px}.k-product-hero--video::before{background:linear-gradient(180deg,rgba(4,17,12,.38),rgba(4,17,12,.36) 54%,rgba(4,17,12,.7) 100%)}}
@media(max-width:760px){.k-helfin-thesis,.k-helfin-principles,.k-helfin-swiss,.k-helfin-pricing,.k-helfin-closing{width:min(100% - 40px,620px)}.k-helfin-thesis,.k-helfin-principles,.k-helfin-swiss,.k-helfin-pricing{grid-template-columns:1fr;gap:34px;padding:78px 0}.k-helfin-thesis h2,.k-helfin-principles h2,.k-helfin-swiss h2,.k-helfin-pricing h2,.k-helfin-closing h2{font-size:clamp(46px,13vw,74px)}.k-helfin-thesis p,.k-helfin-principles>div>p,.k-helfin-swiss p,.k-helfin-pricing>div>p,.k-helfin-closing p{font-size:17px}.k-helfin-pillars{grid-template-columns:1fr}.k-helfin-pillars article{min-height:0;padding:21px 0 28px}.k-helfin-pillars article:nth-last-child(-n+2){border-bottom:0}.k-helfin-pillars article:last-child{border-bottom:1px solid rgba(255,255,255,.18)}.k-helfin-pillars h3{margin-bottom:20px;font-size:38px}.k-helfin-sovereignty{padding-block:76px}.k-helfin-pricing{row-gap:38px}.k-helfin-pricing ol{grid-template-columns:1fr}.k-helfin-pricing li{min-height:0;padding:18px 0}.k-helfin-pricing li:nth-last-child(-n+2){border-bottom:0}.k-helfin-pricing li:last-child{border-bottom:1px solid rgba(255,255,255,.18)}.k-helfin-pricing span{margin-top:15px}.k-helfin-closing{padding:96px 0 110px;text-align:left}.k-helfin-closing h2{margin-inline:0}.k-helfin-closing p{margin-inline:0}.k-product-helfin .k-product-reason{gap:34px;padding-block:78px}.k-product-helfin .k-product-reason ol{grid-template-columns:1fr;min-height:0;padding:0 0 0 2px}.k-product-helfin .k-product-reason ol::before{top:30px;bottom:30px;left:32px;right:auto;width:1px;height:auto;background:linear-gradient(var(--product-accent),rgba(25,169,116,.22))}.k-product-helfin .k-product-reason li{min-height:76px;flex-direction:row;justify-content:flex-start;padding:0 0 0 0;gap:21px;text-align:left;font-size:18px}.k-product-helfin .k-product-reason li::before{width:62px;height:62px;flex:0 0 62px;margin:0;box-shadow:0 0 0 8px #09090a}}
@media(max-width:760px){.k-product-helfin .k-product-reason ol::after{top:30px;bottom:30px;left:31.5px;right:auto;width:2px;height:auto;transform:scaleY(1);transform-origin:top}.k-product-helfin .k-product-reason ol.is-flow-ready::after{transform:scaleY(0)}.k-product-helfin .k-product-reason ol.is-flow-revealed::after{transform:scaleY(1)}}
@media(max-width:880px){body.k-product-page:has([data-mobile-drawer]:not([hidden])) :is(.k-home-pill,.k-back-pill){display:none}}

/* Product pages change navigation before the desktop bar becomes a squeezed
   tablet layout. Silverlines' production sequence also becomes a single
   reading column before translated labels are forced into narrow cells. */
@media (max-width:1023px) {
  body.k-product-page [data-nav-desktop] { display:none !important; }
  body.k-product-page [data-nav-hamburger] { display:flex !important; }
  body.k-product-page nav { padding:calc(16px + env(safe-area-inset-top,0px)) 20px 16px !important; }
}
@media (max-width:1120px) {
  .k-product-silverlines .k-product-reason { grid-template-columns:minmax(0,1fr); gap:42px; }
  .k-product-silverlines .k-product-reason ol { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .k-product-silverlines .k-product-reason li { min-width:0; overflow-wrap:anywhere; hyphens:auto; }
}
@media (max-width:600px) {
  .k-product-silverlines .k-product-reason ol { grid-template-columns:1fr; margin:0; background:transparent; }
  .k-product-silverlines .k-product-reason li { min-height:0; padding:16px 0; border-top:1px solid rgba(255,255,255,.16); background:transparent; font-size:16px; }
  .k-product-silverlines .k-product-reason li:last-child { border-bottom:1px solid rgba(255,255,255,.16); }
}
