.kx-page { --kx-black:#070707; --kx-red:#ff0000; --kx-red-text:#c90d14; --kx-secondary:#626569; --kx-line:#d8dadd; --kx-gutter:clamp(24px,5.55vw,114px); background:#fff; color:#08090a; font:400 16px/1.75 Inter,Geist,Arial,sans-serif; }
.kx-page *, .kx-page *::before, .kx-page *::after { box-sizing:border-box; }
.kx-page a { color:inherit; text-decoration:none; }
.kx-page p, .kx-page figure, .kx-page h2, .kx-page h3 { margin:0; }
.kx-page img { display:block; max-width:100%; }
.kx-page svg { flex-shrink:0; }
.kx-page button, .kx-page summary { font:inherit; }
.kx-page button, .kx-page summary, .kx-page a { -webkit-tap-highlight-color:transparent; }
.kx-page :focus-visible { outline:2px solid var(--kx-red-text); outline-offset:6px; }
.kx-page section, .kx-page [id], .kx-page[id] { scroll-margin-top:110px; }
.kx-page .kx-shell { width:min(1510px,calc(100% - var(--kx-gutter)*2)); margin-inline:auto; }
.kx-page .kx-principal { min-block-size:90svh; padding-block:clamp(96px,12svh,180px); display:flex; align-items:center; }
#korikon-site .kx-page h2 { font-family:Michroma,Inter,Arial,sans-serif; font-size:clamp(28px,3.1vw,48px); font-weight:400; line-height:1.5; letter-spacing:-.045em; color:inherit; text-wrap:balance; overflow-wrap:break-word; }
#korikon-site .kx-page h3 { font-family:Michroma,Inter,Arial,sans-serif; font-weight:400; font-size:clamp(18px,1.6vw,25px); line-height:1.5; letter-spacing:-.035em; color:inherit; overflow-wrap:break-word; }
.kx-page .kx-eyebrow { font-size:10px; line-height:1.6; font-weight:500; letter-spacing:.12em; text-transform:uppercase; }
.kx-page .kx-heading-split { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:clamp(50px,9vw,160px); }
.kx-page .kx-intro-copy { color:var(--kx-secondary); max-width:480px; }
.kx-page .kx-button { position:relative; isolation:isolate; display:inline-flex; align-items:center; justify-content:space-between; gap:30px; min-height:56px; max-width:100%; padding:6px 6px 6px 24px; border:1px solid #ffffff25; border-radius:999px; background:#121214; color:#fff; font:500 14px/1.4 Inter,Geist,Arial,sans-serif; text-align:left; overflow:hidden; cursor:pointer; box-shadow:inset 0 1px 0 #ffffff09; transition:transform .25s cubic-bezier(.23,1,.32,1),border-color .35s,box-shadow .35s; }
.kx-page .kx-button::before { content:''; position:absolute; z-index:-1; inset:0; border-radius:inherit; background:linear-gradient(180deg,#ffffff06,transparent 65%); pointer-events:none; }
.kx-page .kx-button::after { content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:radial-gradient(110px circle at var(--pointer-x,50%) var(--pointer-y,50%),#ffffff20,transparent 75%); opacity:0; transition:opacity .35s; pointer-events:none; }
.kx-page .kx-button > span:first-child { min-width:0; }
.kx-page .kx-button-icon { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; border-radius:50%; background:#ff0000; color:#fff; transition:box-shadow .35s; }
.kx-page .kx-button-icon svg { width:22px; height:22px; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; transition:transform .35s cubic-bezier(.23,1,.32,1); }
.kx-page .kx-button:focus-visible { border-color:#ffffff55; box-shadow:0 6px 24px #ff00001a,inset 0 1px 0 #ffffff14; }
.kx-page .kx-button:focus-visible::after { opacity:1; }
.kx-page .kx-button:focus-visible .kx-button-icon { box-shadow:0 0 16px #ff000040; }
.kx-page .kx-button:focus-visible .kx-button-icon svg { transform:rotate(-45deg); }
.kx-page .kx-button:active { transform:scale(.97); }
.kx-page .kx-text-link { display:inline-flex; align-items:center; gap:24px; min-height:44px; max-width:100%; padding-block:10px; border-bottom:1px solid #b7b9bc; font-size:14px; }
.kx-page .kx-text-link svg { width:20px; height:20px; stroke:currentColor; stroke-width:1.4; transition:transform .35s; }
.kx-page .kx-text-link:hover svg, .kx-page .kx-text-link:focus-visible svg { transform:rotate(-45deg); }
.kx-page .kx-light-zone { background:#fff; color:#08090a; }
.kx-page .kx-dark-zone { --kx-secondary:#b3b6bb; background:var(--kx-black); color:#fff; }
.kx-page.kx-home { background:var(--kx-black); }
.kx-page .kx-swiss-cross { display:inline-block; width:13px; height:13px; position:relative; color:#d00; flex:0 0 13px; }
.kx-page .kx-swiss-cross::before, .kx-page .kx-swiss-cross::after { content:''; position:absolute; background:currentColor; }
.kx-page .kx-swiss-cross::before { width:13px; height:4px; top:4.5px; left:0; }
.kx-page .kx-swiss-cross::after { width:4px; height:13px; top:0; left:4.5px; }
@media (hover:hover) and (pointer:fine) {
 .kx-page .kx-button:hover { border-color:#ffffff55; box-shadow:0 6px 24px #ff00001a,inset 0 1px 0 #ffffff14; }
 .kx-page .kx-button:hover::after { opacity:1; }
 .kx-page .kx-button:hover .kx-button-icon { box-shadow:0 0 16px #ff000040; }
 .kx-page .kx-button:hover .kx-button-icon svg { transform:rotate(-45deg); }
}

.kx-page .kx-manifesto { background:linear-gradient(180deg,#000000 0px,var(--kx-black) clamp(64px,8svh,120px)); color:#fff; }
.kx-page .kx-manifesto-inner { max-width:1100px; padding-block:3svh; }
.kx-page .kx-intro-label { display:flex; align-items:center; gap:9px; margin-bottom:40px; color:#d6d8dc; }
.kx-page .kx-intro-label > span { width:7px; height:7px; border-radius:50%; background:#ff0000; }
.kx-page .kx-manifesto-copy { display:grid; gap:36px; }
.kx-page .kx-intro-paragraph { font:500 28px/1.45 Inter,Geist,Arial,sans-serif; letter-spacing:-.03em; text-wrap:pretty; }
.kx-page .kx-intro-paragraph strong { font-weight:700; }
.kx-page .kx-manifesto .kx-button { margin-top:48px; }
.kx-page .kx-trust { min-block-size:80svh; flex-direction:column; justify-content:center; gap:65px; background:var(--kx-black); color:#fff; overflow:hidden; }
.kx-page .kx-trust-title { display:flex; align-items:center; gap:22px; padding-inline:24px; text-align:center; }
.kx-page .kx-trust .kx-eyebrow { color:#c1c4c7; }
.kx-page .kx-marquee { width:100%; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.kx-page .kx-marquee-track { display:flex; width:max-content; animation:kx-roll var(--marquee-duration,60s) linear infinite; animation-play-state:paused; }
.kx-page .kx-marquee[data-running="true"] .kx-marquee-track { animation-play-state:running; }
.kx-page .kx-marquee-group { display:flex; align-items:center; justify-content:space-around; flex:0 0 auto; width:max(100vw,2100px); gap:70px; list-style:none; padding:20px 60px; margin:0; color:#d1d3d6; }
.kx-page .kx-marquee-group > li { white-space:nowrap; }
.kx-page .kx-mark-avenir { font:600 34px/1 Inter,Arial,sans-serif; letter-spacing:-.03em; }
.kx-page .kx-mark-avenir span { font-weight:300; }
.kx-page .kx-mark-allgeier { font:700 34px/1 Arial,sans-serif; letter-spacing:-.02em; }
.kx-page .kx-mark-mellow { font:300 30px/1 Inter,Arial,sans-serif; letter-spacing:-.02em; text-transform:lowercase; }
.kx-page .kx-mark-jura { font:400 36px/1 Michroma,Arial,sans-serif; letter-spacing:.12em; }
.kx-page .kx-mark-trafag { font:700 30px/1 Arial,sans-serif; letter-spacing:.14em; }
.kx-page .kx-mark-straumann { font:500 27px/1 Geist,Inter,Arial,sans-serif; letter-spacing:.22em; }
.kx-page .kx-mark-speedgoat { font:600 32px/1 'Saira Semi Condensed',Arial,sans-serif; letter-spacing:-.01em; }
.kx-page .kx-mark-speedgoat span { color:#ff4545; }
.kx-page .kx-outcomes { text-align:center; }
.kx-page .kx-outcome-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:80px; }
.kx-page .kx-outcome-strip article { position:relative; padding-inline:35px; }
.kx-page .kx-outcome-strip article + article::before { content:''; position:absolute; top:0; bottom:0; left:0; width:1px; background:#ff0000; }
.kx-page .kx-symbol { width:56px; height:56px; stroke:currentColor; stroke-width:1.1; stroke-linecap:round; stroke-linejoin:round; }
.kx-page .kx-symbol-accent { stroke:#df1118; }
#korikon-site .kx-page .kx-outcome-strip h3 { margin-top:24px; font-size:clamp(18px,1.45vw,24px); }
.kx-page .kx-outcome-strip p { margin-top:16px; color:#626569; font-size:15px; line-height:1.9; }
.kx-page .kx-outcome-strip p > span { display:block; }
.kx-page .kx-dark-zone .kx-outcome-strip p, .kx-page .kx-dark-zone .kx-service-caption, .kx-page .kx-dark-zone .kx-service-body { color:var(--kx-secondary); }
.kx-page .kx-dark-zone .kx-service { border-color:#34363a; }
.kx-page .kx-dark-zone .kx-service-number, .kx-page .kx-dark-zone .kx-service[open] summary h3 { color:#ff6262; }
.kx-page .kx-dark-zone .kx-delivery { color:#e2e4e8; }
.kx-page .kx-dark-zone .kx-technology .kx-eyebrow { color:#aeb1b7; }
.kx-page .kx-dark-zone .kx-technology > ul { color:#d6d8de; }
.kx-page .kx-flow-photo { position:relative; overflow:hidden; background:#dfe4e8; }
.kx-page .kx-photo-scene { position:absolute; width:var(--photo-width,100%); height:var(--photo-height,100%); left:var(--photo-left,0); top:var(--photo-top,0); }
.kx-page .kx-photo-scene > img, .kx-page .kx-photo-signal { position:absolute; inset:0; width:100%; height:100%; max-width:none; display:block; object-fit:fill; }
.kx-page .kx-photo-signal { pointer-events:none; overflow:visible; }
.kx-page .kx-photo-signal path { fill:none; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; }
.kx-page .kx-line-aura { stroke:#ff0000; stroke-width:5; opacity:.27; }
.kx-page .kx-line-base { stroke:#f00; stroke-width:1.5; opacity:.85; }
.kx-page .kx-line-packet { stroke:#ff8470; stroke-width:2.2; stroke-dasharray:6 94; stroke-dashoffset:100; animation:kx-data-flow 8s linear infinite; animation-play-state:paused; }
.kx-page .kx-flow-photo[data-running="true"] .kx-line-packet { animation-play-state:running; }
.kx-page .kx-atrium-signal .kx-line-base { stroke-width:1; opacity:.35; }
.kx-page .kx-atrium-signal .kx-line-aura { stroke-width:4; opacity:.18; }
.kx-page .kx-atrium-signal .kx-line-packet { stroke:#ffc4ac; stroke-width:1.5; stroke-dasharray:9 91; animation-duration:12s; }
.kx-page .kx-atrium-signal-depth .kx-line-packet { animation-duration:15s; animation-delay:-5s; }
.kx-page .kx-atrium-signal-lower .kx-line-packet { animation-duration:14s; animation-delay:-8s; }
.kx-page .kx-atrium-signal-office .kx-line-packet { animation-duration:17s; animation-delay:-3s; }
.kx-page .kx-atrium-signal-office .kx-line-aura { stroke-width:2.5; opacity:.14; }
.kx-page .kx-atrium-signal-office .kx-line-base { stroke-width:.75; opacity:.3; }
.kx-page .kx-atrium-signal-office .kx-line-packet { stroke-width:1.1; opacity:.85; }
.kx-page .kx-atrium-signal-rail .kx-line-packet { animation-delay:-10s; }
.kx-page .kx-office-photo { margin-top:clamp(130px,16svh,220px); height:auto; aspect-ratio:2048/1143; background:#080d10; }
.kx-page .kx-expertise .kx-services { margin-top:70px; }
.kx-page .kx-service { position:relative; border-top:1px solid #dadcdf; }
.kx-page .kx-service:last-child { border-bottom:1px solid #dadcdf; }
.kx-page .kx-service::before { content:''; position:absolute; inset:-1px 0 auto; height:2px; background:#f00; transform:scaleX(var(--line-progress,1)); transform-origin:left; pointer-events:none; }
.kx-page .kx-service summary { display:grid; grid-template-columns:38px minmax(0,1.25fr) minmax(0,1fr) 20px; align-items:center; gap:24px; min-height:136px; padding-block:35px; cursor:pointer; list-style:none; }
.kx-page .kx-service summary::-webkit-details-marker { display:none; }
.kx-page .kx-service summary::marker { content:''; }
.kx-page .kx-service-number { color:#c90d14; font-size:11px; }
#korikon-site .kx-page .kx-service h3 { font-size:clamp(17px,1.45vw,23px); }
.kx-page .kx-service-caption { color:#63666a; font-size:14px; line-height:1.7; }
.kx-page .kx-plus { position:relative; width:20px; height:20px; }
.kx-page .kx-plus::before, .kx-page .kx-plus::after { content:''; position:absolute; top:9px; left:1px; width:18px; height:1px; background:currentColor; transition:transform .3s; }
.kx-page .kx-plus::after { transform:rotate(90deg); }
.kx-page .kx-service[open] .kx-plus::after { transform:rotate(0); }
.kx-page .kx-service[open] summary h3 { color:#c90d14; }
.kx-page .kx-service-body { display:grid; grid-template-columns:1.25fr 1fr; gap:70px; padding:0 44px 40px 62px; color:#626569; font-size:14px; animation:kx-detail-in .3s ease; }
.kx-page .kx-delivery { margin-bottom:8px; color:#17191b; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.kx-page .kx-tags { display:flex; flex-wrap:wrap; gap:6px 16px; padding:0; margin:20px 0 0; list-style:none; font-size:11px; }
.kx-page .kx-technology { margin-top:70px; }
.kx-page .kx-technology .kx-eyebrow { color:#66696d; text-align:center; }
.kx-page .kx-technology > ul { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:0; margin:35px 0 0; list-style:none; font-size:20px; color:#4f5357; }
.kx-page .kx-technology strong { font-weight:500; }
.kx-page .kx-approach { background:#fff; }
.kx-page .kx-swiss { text-align:center; }
.kx-page .kx-swiss-copy { max-width:680px; margin:35px auto 0; color:#626569; font-size:17px; }
.kx-page .kx-mountain-transition { background:#fff; }
.kx-page .kx-mountain-photo { margin:0; width:100%; aspect-ratio:2048/1391; height:auto; background:#fff; }
.kx-page .kx-mountain-photo .kx-photo-scene { height:var(--photo-height,auto); aspect-ratio:1; }
.kx-page .kx-mountain-soften { position:absolute; inset:auto 0 0; height:17%; max-height:320px; pointer-events:none; background:linear-gradient(180deg,#ffffff00 0%,#ffffff0a 14%,#ffffff26 34%,#ffffff70 56%,#ffffffc2 78%,#fff 100%); }
.kx-page .kx-team { background:#fff; }
.kx-page .kx-team-grid { display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:clamp(70px,9vw,170px); }
.kx-page .kx-team-copy { max-width:460px; margin-top:35px; color:#626569; font-size:18px; }
.kx-page .kx-person { margin-top:50px; }
#korikon-site .kx-page .kx-person h3 { font-family:Inter,Arial,sans-serif; font-size:28px; letter-spacing:-.03em; }
.kx-page .kx-person p { margin-top:8px; font-size:12px; color:#66696d; }
.kx-page .kx-team .kx-text-link { margin-top:25px; }
.kx-page .kx-portrait img { width:100%; height:clamp(430px,60svh,740px); object-fit:cover; object-position:50% 36%; }
.kx-page .kx-case-feature { display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(70px,9vw,170px); align-items:center; margin-top:65px; }
.kx-page .kx-case-image { display:block; overflow:hidden; background:#172027; }
.kx-page .kx-case-image img { width:100%; aspect-ratio:1.75; object-fit:cover; transition:transform .7s cubic-bezier(.23,1,.32,1); }
.kx-page .kx-case-copy .kx-eyebrow { color:#626569; margin-bottom:24px; }
#korikon-site .kx-page .kx-case-copy h3 { font-size:clamp(25px,2.5vw,39px); }
.kx-page .kx-case-copy > p:not(.kx-eyebrow) { margin-top:24px; color:#626569; font-size:17px; }
.kx-page .kx-case-copy .kx-button { margin-top:35px; }
.kx-page .kx-collaboration { background:#fff; }
.kx-page .kx-collaboration-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:clamp(40px,5svh,70px); }
.kx-page .kx-collaboration-copy { max-width:520px; margin-top:24px; color:#626569; font-size:17px; }
.kx-page .kx-collaboration-heading .kx-button { flex-shrink:0; }
.kx-page .kx-collaboration-photo { overflow:hidden; background:#d5d9da; }
.kx-page .kx-collaboration-photo img { width:100%; height:auto; aspect-ratio:2048/1151; object-fit:cover; object-position:65% 50%; }
@media (hover:hover) and (pointer:fine) {
 .kx-page .kx-case-image:hover img { transform:scale(1.025); }
 .kx-page .kx-service summary:hover h3 { color:#c90d14; }
 .kx-page .kx-dark-zone .kx-service summary:hover h3 { color:#ff6262; }
}

.kx-page .kx-process { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 55px; margin-top: 55px; }
.kx-page .kx-process article { min-width: 0; }
.kx-page .kx-process-art { display: flex; align-items: center; height: 180px; margin-bottom: 26px; border-bottom: 1px solid #d8d8d6; }
.kx-page .kx-process-art svg { width: 100%; height: 150px; overflow: visible; }
.kx-page .kx-process-art rect { fill: #282a2b; }
.kx-page .kx-process-art path { stroke: #b3b4b5; stroke-width: 1; }
.kx-page .kx-process-art .kx-data-node { fill: #ff0000; }
.kx-page .kx-process-art .kx-scan-line, .kx-page .kx-process-art .kx-connected-signal, .kx-page .kx-process-art .kx-build-signal { stroke: #ff0000; stroke-width: 1.4; }
.kx-page .kx-step-label { color: #686a6c; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
#korikon-site .kx-page .kx-process h3 { margin-top: 14px; font-size: clamp(23px,1.85vw,30px); }
.kx-page .kx-process article > p:last-child { margin-top: 18px; max-width: 370px; color: var(--kx-secondary); font-size: 14px; line-height: 1.85; }
.kx-page .kx-process .kx-scan-line { opacity: 0; transform: translateX(290px); }
.kx-page .kx-process .kx-connect-line { stroke-dasharray: 242; stroke-dashoffset: 0; }
.kx-page .kx-process .kx-build-paths path { stroke-dasharray: 150; stroke-dashoffset: 0; }
.kx-page .kx-process .kx-build-signal { stroke-dasharray: 150; stroke-dashoffset: 0; }
#korikon-site.kx-motion-ready .kx-page .kx-process[data-state="active"] .kx-scan-line { animation: kx-scan 4.6s ease-in-out 3 both; }
#korikon-site.kx-motion-ready .kx-page .kx-process[data-state="active"] .kx-scan-nodes { animation: kx-nodes 4.6s ease-in-out 3 both; }
#korikon-site.kx-motion-ready .kx-page .kx-process[data-state="active"] .kx-align-node { animation: kx-align 4.6s cubic-bezier(.22,1,.36,1) 3 both; }
#korikon-site.kx-motion-ready .kx-page .kx-process[data-state="active"] .kx-connect-line { animation: kx-connect 4.6s ease-in-out 3 both; }
#korikon-site.kx-motion-ready .kx-page .kx-process[data-state="active"] .kx-connected-signal { animation: kx-signal 4.6s ease-in-out 3 both; }
#korikon-site.kx-motion-ready .kx-page .kx-process[data-state="active"] .kx-build-paths path { animation: kx-build-path 4.6s ease-in-out 3 both; }
#korikon-site.kx-motion-ready .kx-page .kx-process[data-state="active"] .kx-build-result { animation: kx-result 4.6s ease-in-out 3 both; }
#korikon-site.kx-motion-ready .kx-page .kx-process[data-state="active"] .kx-build-signal { animation: kx-build-signal 4.6s ease-in-out 3 both; }
.kx-page .kx-process[data-running="false"] *, #korikon-site.kx-motion-paused .kx-process * { animation-play-state: paused !important; }
@keyframes kx-scan { 0%,8% { transform: translateX(6px); opacity: 0; } 14% { opacity: .8; } 72% { transform: translateX(290px); opacity: .8; } 85%,100% { transform: translateX(290px); opacity: 0; } }
@keyframes kx-nodes { 0%,8% { opacity: .25; } 48%,100% { opacity: 1; } }
@keyframes kx-align { 0%,8% { transform: translateY(var(--node-y)); opacity: .3; } 52%,100% { transform: translateY(0); opacity: 1; } }
@keyframes kx-connect { 0%,30% { stroke-dashoffset: 242; } 65%,100% { stroke-dashoffset: 0; } }
@keyframes kx-signal { 0%,48% { opacity: 0; } 74%,100% { opacity: 1; } }
@keyframes kx-build-path { 0%,20% { stroke-dashoffset: 150; } 60%,100% { stroke-dashoffset: 0; } }
@keyframes kx-result { 0%,40% { opacity: .15; } 70%,100% { opacity: 1; } }
@keyframes kx-build-signal { 0%,45% { stroke-dashoffset: 150; } 85%,100% { stroke-dashoffset: 0; } }

.kx-page.kx-footer { --kx-footer-rule:#c8cccf; --kx-footer-hover:#00000008; background:#fff; color:#08090a; text-align:center; transition:background-color .85s cubic-bezier(.4,0,.2,1),color .85s cubic-bezier(.4,0,.2,1); }
.kx-page.kx-footer.is-red { --kx-footer-rule:#ffffff80; --kx-footer-hover:#ffffff18; background:#ff0000; color:#fff; }
.kx-page.kx-footer .kx-footer-brand img { filter:brightness(0); transition:filter .85s cubic-bezier(.4,0,.2,1); }
.kx-page.kx-footer.is-red .kx-footer-brand img { filter:brightness(0) invert(1); }
.kx-page .kx-footer-inner { display:flex; flex-direction:column; align-items:center; width:min(1280px,calc(100% - 80px)); min-block-size:100svh; margin-inline:auto; padding:clamp(120px,15svh,220px) 0 28px; text-align:center; }
.kx-page .kx-footer-brand { display:block; width:clamp(160px,12vw,220px); margin-inline:auto; }
.kx-page .kx-footer-brand img { width:100%; height:auto; }
.kx-page .kx-footer-centre { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:30px; width:100%; padding:55px 0; }
#korikon-site .kx-page .kx-footer-centre h2 { font-size:clamp(22px,2.15vw,36px); line-height:1.6; max-width:1000px; font-weight:400; }
.kx-page .kx-footer-nav { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:13px; font-size:13px; }
.kx-page .kx-footer-nav a { padding-block:8px; border-bottom:1px solid transparent; }
.kx-page .kx-footer-nav a:hover { border-color:currentColor; }
.kx-page .kx-footer-nav > span { opacity:.65; }
.kx-page .kx-footer-actions { display:flex; justify-content:center; gap:14px; }
.kx-page .kx-footer-actions a { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--kx-footer-rule); border-radius:50%; transition:background .3s,border-color .85s; }
.kx-page .kx-footer-actions a:hover { background:var(--kx-footer-hover); }
.kx-page .kx-footer-actions svg { width:20px; height:20px; stroke:currentColor; stroke-width:1.2; }
.kx-page .kx-legal { width:100%; max-width:620px; color:inherit; font-size:11px; text-align:center; }
.kx-page .kx-legal summary { display:inline-block; cursor:pointer; list-style:none; padding:8px 4px; }
.kx-page .kx-legal summary::-webkit-details-marker { display:none; }
.kx-page .kx-legal summary span { display:inline-block; margin-left:8px; }
.kx-page .kx-legal[open] summary span { transform:rotate(45deg); }
.kx-page .kx-legal > div { padding-top:14px; line-height:1.8; }
.kx-page .kx-legal > div p + p { margin-top:10px; }
.kx-page .kx-legal > div > a { display:inline-block; margin-top:10px; text-decoration:underline; text-underline-offset:3px; }
.kx-page .kx-footer-bottom { width:100%; padding-top:20px; }
.kx-page .kx-footer-email { display:block; width:100%; margin:0; padding:8px 0 12px; color:inherit; font-family:Inter,Arial,sans-serif; font-size:clamp(40px,10vw,180px); font-weight:600; line-height:.8; letter-spacing:-.035em; white-space:nowrap; text-align:center; }
.kx-page .kx-footer-email > span { display:inline-block; }
.kx-page .kx-footer-bottom > p { margin-top:24px; color:inherit; font-size:10px; line-height:1.6; text-align:center; }
.kx-page.kx-footer :focus-visible { outline-color:currentColor; }

@media (min-width:2200px) {
  .kx-page .kx-shell { width:min(1800px,calc(100% - var(--kx-gutter)*2)); }
  .kx-page { font-size:18px; }
  #korikon-site .kx-page h2 { font-size:52px; }
  .kx-page .kx-manifesto-inner { max-width:1280px; }
  .kx-page .kx-intro-paragraph { font-size:32px; }
}
@media (max-width:1279px) {
  .kx-page .kx-intro-paragraph { font-size:24px; }
}
@media (max-width:809px) {
  .kx-page .kx-intro-paragraph { font-size:22px; line-height:1.5; }
}
@media (max-width:1100px) {
  .kx-page .kx-heading-split { gap:60px; }
  .kx-page .kx-service summary { grid-template-columns:28px minmax(0,1.25fr) minmax(0,1fr) 20px; gap:18px; }
  .kx-page .kx-service-body { padding-left:46px; gap:40px; }
  .kx-page .kx-technology > ul { flex-wrap:wrap; justify-content:center; gap:30px 50px; }
  .kx-page .kx-process { gap:30px; }
  .kx-page .kx-team-grid, .kx-page .kx-case-feature { gap:65px; }
  #korikon-site .kx-page .kx-outcome-strip h3 { font-size:17px; }
}
@media (max-width:850px) {
  .kx-page .kx-heading-split { grid-template-columns:1fr; gap:30px; }
  .kx-page .kx-service summary { grid-template-columns:23px minmax(0,1fr) 20px; gap:16px; min-height:120px; }
  .kx-page .kx-service-caption { grid-column:2; grid-row:2; }
  .kx-page .kx-service summary h3 { grid-column:2; grid-row:1; }
  .kx-page .kx-plus { grid-column:3; grid-row:1 / 3; align-self:center; }
  .kx-page .kx-service-number { grid-row:1; }
  .kx-page .kx-service-body { grid-template-columns:1fr; gap:20px; padding:0 30px 35px 39px; }
  .kx-page .kx-team-grid, .kx-page .kx-case-feature { grid-template-columns:1fr; gap:45px; }
  .kx-page .kx-collaboration-heading { align-items:flex-start; flex-direction:column; gap:28px; }
  .kx-page .kx-portrait img { height:clamp(420px,60svh,620px); }
  .kx-page .kx-case-image img { aspect-ratio:2.3; }
  .kx-page .kx-process-art { height:130px; }
  .kx-page .kx-process-art svg { height:110px; }
  #korikon-site .kx-page .kx-process h3 { font-size:18px; }
  .kx-page .kx-process article > p:last-child { font-size:13px; }
}
@media (max-width:680px) {
  .kx-page { --kx-gutter:24px; font-size:15px; }
  .kx-page .kx-principal { min-block-size:80svh; padding-block:clamp(80px,10svh,128px); }
  #korikon-site .kx-page h2 { font-size:clamp(22px,5.8vw,35px); letter-spacing:-.04em; line-height:1.55; }
  .kx-page .kx-manifesto-copy { gap:30px; }
  .kx-page .kx-intro-label { margin-bottom:30px; }
  .kx-page .kx-manifesto .kx-button { margin-top:42px; }
  .kx-page .kx-button { min-height:56px; gap:20px; padding-left:20px; font-size:13px; }
  .kx-page .kx-button-icon { width:40px; height:40px; flex-basis:40px; }
  .kx-page .kx-trust { gap:45px; }
  .kx-page .kx-trust .kx-eyebrow { font-size:9px; letter-spacing:.09em; }
  .kx-page .kx-trust-title { gap:15px; }
  .kx-page .kx-marquee-group { width:max(100vw,1650px); padding-inline:35px; gap:50px; }
  .kx-page .kx-mark-avenir, .kx-page .kx-mark-allgeier, .kx-page .kx-mark-jura { font-size:27px; }
  .kx-page .kx-mark-mellow, .kx-page .kx-mark-trafag, .kx-page .kx-mark-speedgoat { font-size:25px; }
  .kx-page .kx-mark-straumann { font-size:21px; }
  .kx-page .kx-outcome-strip { grid-template-columns:1fr; margin-top:55px; }
  .kx-page .kx-outcome-strip article { padding:40px 0; }
  .kx-page .kx-outcome-strip article:first-child { padding-top:0; }
  .kx-page .kx-outcome-strip article:last-child { padding-bottom:0; }
  .kx-page .kx-outcome-strip article + article::before { inset:0 auto auto calc(50% - 22px); width:44px; height:1px; }
  #korikon-site .kx-page .kx-outcome-strip h3 { font-size:19px; margin-top:20px; }
  .kx-page .kx-outcome-strip p { margin-top:12px; font-size:14px; }
  .kx-page .kx-symbol { width:52px; height:52px; }
  .kx-page .kx-office-photo { margin-top:clamp(96px,12svh,140px); height:auto; min-height:0; aspect-ratio:4/3; }
  .kx-page .kx-expertise .kx-services { margin-top:45px; }
  .kx-page .kx-service summary { gap:14px; padding-block:27px; min-height:115px; }
  #korikon-site .kx-page .kx-service h3 { font-size:17px; }
  .kx-page .kx-service-number { font-size:9px; }
  .kx-page .kx-service-caption { font-size:12px; }
  .kx-page .kx-service-body { padding-left:37px; padding-right:0; font-size:14px; }
  .kx-page .kx-technology { margin-top:55px; }
  .kx-page .kx-technology .kx-eyebrow { font-size:9px; }
  .kx-page .kx-technology > ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; text-align:center; font-size:18px; }
  .kx-page .kx-process { grid-template-columns:1fr; gap:40px; margin-top:40px; }
  .kx-page .kx-process article { display:grid; grid-template-columns:minmax(0,1fr) 110px; gap:0 20px; padding-bottom:35px; border-bottom:1px solid #d8dadd; }
  .kx-page .kx-process article:last-child { border:0; padding-bottom:0; }
  .kx-page .kx-process-art { grid-area:1/2/3; height:100px; margin:0; border:0; align-self:center; }
  .kx-page .kx-process-art svg { height:90px; }
  .kx-page .kx-step-label { align-self:end; }
  #korikon-site .kx-page .kx-process h3 { font-size:18px; margin-top:12px; }
  .kx-page .kx-process article > p:last-child { grid-column:1/-1; max-width:none; margin-top:16px; font-size:14px; }
  .kx-page .kx-swiss-copy { margin-top:25px; font-size:15px; }
  .kx-page .kx-mountain-photo { height:auto; min-height:0; }
  .kx-page .kx-team-copy { margin-top:28px; font-size:16px; }
  .kx-page .kx-person { margin-top:35px; }
  #korikon-site .kx-page .kx-person h3 { font-size:26px; }
  .kx-page .kx-portrait img { height:54svh; min-height:390px; }
  .kx-page .kx-case-feature { margin-top:40px; }
  .kx-page .kx-case-image img { aspect-ratio:1.8; }
  #korikon-site .kx-page .kx-case-copy h3 { font-size:26px; }
  .kx-page .kx-case-copy .kx-eyebrow { font-size:9px; margin-bottom:18px; }
  .kx-page .kx-case-copy > p:not(.kx-eyebrow) { margin-top:18px; font-size:16px; }
  .kx-page .kx-collaboration-copy { margin-top:20px; font-size:16px; }
  .kx-page .kx-collaboration-photo img { aspect-ratio:4/5; object-position:82% 50%; }
  .kx-page .kx-footer-inner { width:calc(100% - 48px); padding-block:clamp(96px,12svh,144px) 25px; }
  .kx-page .kx-footer-brand { width:160px; }
  .kx-page .kx-footer-centre { gap:25px; padding-block:55px; }
  #korikon-site .kx-page .kx-footer-centre h2 { font-size:clamp(20px,5vw,29px); line-height:1.65; }
  .kx-page .kx-footer-nav { gap:8px; font-size:11px; }
  .kx-page .kx-footer-email { font-size:11vw; }
  .kx-page .kx-footer-bottom > p { font-size:9px; }
}
@media (max-width:360px) {
  .kx-page { --kx-gutter:20px; }
  .kx-page .kx-intro-paragraph { font-size:20px; }
  .kx-page .kx-trust .kx-eyebrow { font-size:8px; }
  .kx-page .kx-process article { grid-template-columns:minmax(0,1fr) 85px; gap:0 12px; }
  #korikon-site .kx-page .kx-process h3 { font-size:17px; }
  .kx-page .kx-footer-inner { width:calc(100% - 40px); }
  .kx-page .kx-button { gap:14px; padding-left:17px; font-size:12px; }
  .kx-page .kx-service summary { grid-template-columns:18px minmax(0,1fr) 18px; gap:10px; }
  #korikon-site .kx-page .kx-service h3 { font-size:16px; }
}

#korikon-site.kx-motion-ready [data-kx-reveal] { opacity:0; transition:opacity .85s cubic-bezier(.22,1,.36,1); }
#korikon-site.kx-motion-ready [data-kx-reveal].is-revealed { opacity:1; }
#korikon-site.kx-motion-ready .kx-heading-word { display:inline-block; opacity:0; filter:blur(4px); transition:opacity .8s ease var(--kx-word-delay,0s),filter .95s cubic-bezier(.2,.65,.2,1) var(--kx-word-delay,0s); }
#korikon-site.kx-motion-ready .is-revealed .kx-heading-word { opacity:1; filter:blur(0); }
#korikon-site.kx-motion-ready .kx-intro-paragraph { opacity:calc(.48 + .52 * var(--intro-progress,0)); }
#korikon-site.kx-motion-ready .kx-intro-paragraph.is-complete { opacity:1; }
#korikon-site .kx-intro-paragraph.is-complete:last-child { color:#ff0000; }
#korikon-site.kx-motion-ready .kx-intro-paragraph.is-complete:last-child { animation:kx-intro-red .65s ease-out .2s both; }
#korikon-site.kx-motion-ready .kx-service::before { transform:scaleX(var(--line-progress,0)); }
#korikon-site.kx-motion-paused .kx-line-packet, #korikon-site.kx-motion-paused .kx-marquee-track { animation-play-state:paused !important; }
#korikon-site.kx-static-motion .kx-marquee { mask-image:none; }
#korikon-site.kx-static-motion .kx-marquee-track { display:block; width:100%; animation:none; transform:none; }
#korikon-site.kx-static-motion .kx-marquee-group { width:100%; flex-wrap:wrap; justify-content:center; padding-inline:24px; gap:40px 70px; }
#korikon-site.kx-static-motion .kx-marquee-group[aria-hidden="true"], #korikon-site.kx-static-motion .kx-marquee-group > li[aria-hidden="true"] { display:none; }
#korikon-site.kx-static-motion .kx-motion-toggle { display:none; }
@keyframes kx-roll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@keyframes kx-data-flow { from { stroke-dashoffset:100; } to { stroke-dashoffset:-100; } }
@keyframes kx-detail-in { from { opacity:0; } to { opacity:1; } }
@keyframes kx-intro-red { from { color:#fff; } to { color:#ff0000; } }
@keyframes kx-scroll-line { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@supports (animation-timeline:view()) {
  #korikon-site.kx-motion-ready[data-native-scroll="true"] .kx-service { view-timeline-name:--kx-capability; view-timeline-axis:block; }
  #korikon-site.kx-motion-ready[data-native-scroll="true"] .kx-service::before { animation:kx-scroll-line 1ms linear both; animation-timeline:--kx-capability; animation-range:entry 20% contain 55%; }
}
@media (prefers-reduced-motion:reduce) {
  .kx-page *, .kx-page *::before, .kx-page *::after { animation:none !important; transition:none !important; }
  #korikon-site.kx-motion-ready [data-kx-reveal], #korikon-site.kx-motion-ready .kx-heading-word { opacity:1; filter:none; }
  #korikon-site.kx-motion-ready .kx-intro-paragraph { opacity:1; }
  #korikon-site.kx-motion-ready .kx-service::before { transform:scaleX(1); }
  .kx-page .kx-line-packet, .kx-page .kx-line-aura { display:none; }
  .kx-page .kx-marquee { mask-image:none; }
  .kx-page .kx-marquee-track { display:block; width:100%; animation:none; transform:none; }
  .kx-page .kx-marquee-group { flex-wrap:wrap; width:100%; justify-content:center; padding-inline:24px; gap:40px 70px; }
  .kx-page .kx-marquee-group[aria-hidden="true"], .kx-page .kx-marquee-group > li[aria-hidden="true"] { display:none; }
  .kx-page .kx-motion-toggle { display:none; }
  .kx-page .kx-process .kx-align-node { transform:none !important; }
  .kx-page .kx-process .kx-scan-line { opacity:0 !important; }
}

/* OpenClaw follows the adjacent editorial image frames. */
.kx-page .kx-case-image img{height:clamp(430px,60svh,740px);aspect-ratio:auto;object-position:65% 50%}
@media(max-width:850px){
  .kx-page .kx-portrait img,.kx-page .kx-case-image img,.kx-page .kx-collaboration-photo img{height:auto;min-height:0;aspect-ratio:4/5;object-fit:cover}
}

@media (prefers-reduced-motion:reduce) { .kx-page.kx-footer,.kx-page.kx-footer .kx-footer-brand img,.kx-page .kx-footer-actions a { transition:none; } }

.kx-page .kx-case-soon .kx-case-image:hover img { transform:none; }
.kx-page .kx-case-soon .kx-case-image img { filter:grayscale(.35) brightness(.85); }

.kx-page .kx-legal > div > a + a { margin-left:20px; }
.kx-page .kx-footer-bottom > p a { text-decoration:underline; text-underline-offset:2px; }
