.klx{--bg:#EFE7DA;--paper:#F7F2EA;--stone:#E2D7C6;--line:#D6C9B5;--text:#1C1A17;--muted:#6F675B;--ink:#0B2222;--on-ink:#EFE7DA;--on-ink-muted:#A9B3AD;--blue:#3346A6;--gold:#A8865A;
  --display:"Instrument Serif",Georgia,serif;--body:"Figtree",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;
  background:var(--bg);color:var(--text);font:16px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:clip}
.klx *{box-sizing:border-box}
.klx .w{max-width:1240px;margin:0 auto;padding-inline:max(16px,4vw)}
.klx h1,.klx h2,.klx h3{font-family:var(--display);font-weight:400;margin:0;letter-spacing:-.01em;text-wrap:balance;color:inherit}
.klx h2{font-size:clamp(42px,5.8vw,84px);line-height:.96}
.klx em{font-style:italic}
.klx p{margin:0}
.klx img{display:block;max-width:100%}
.klx .eb{font:500 11.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.klx .lead{font-size:18px;color:var(--muted);max-width:30em}
.klx .dark{background:var(--ink);color:var(--on-ink)}
.klx .dark .eb,.klx .dark .lead{color:var(--on-ink-muted)}
.klx .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;font:600 15px var(--body);padding:17px 30px;border:1px solid var(--ink);background:var(--ink);color:var(--on-ink);cursor:pointer;text-decoration:none;border-radius:2px;transition:transform .15s ease,opacity .2s}
.klx .btn:active{transform:scale(.98)}
.klx .btn small{font:500 12px var(--mono);opacity:.75}
.klx .dark .btn{background:var(--on-ink);color:var(--ink);border-color:var(--on-ink)}
.klx .btn[disabled]{opacity:.5;cursor:not-allowed}
.klx .lnk{font:500 14px var(--body);color:inherit;text-underline-offset:5px;text-decoration-color:var(--gold)}
.klx .star{width:13px;height:13px;fill:none;stroke:var(--gold);stroke-width:1.3;flex:none}
.klx .arch{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 125' preserveAspectRatio='none'%3E%3Cpath d='M0 125V34C0 16 30 8 50 0C70 8 100 16 100 34V125Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 125' preserveAspectRatio='none'%3E%3Cpath d='M0 125V34C0 16 30 8 50 0C70 8 100 16 100 34V125Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
.klx .ph{width:100%;height:100%;background:var(--stone)}
.klx .ph svg{width:100%;height:100%;opacity:.25}
.klx .cover{position:relative;overflow:hidden;background:var(--stone)}
.klx .cover img,.klx .cover video,.klx .cover .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.klx .sec{padding-block:clamp(72px,10vw,128px)}
.klx .hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:min(92svh,900px)}
.klx .hero-copy{display:flex;flex-direction:column;justify-content:center;gap:24px;padding:56px 48px 56px max(16px,calc((100vw - 1240px)/2 + 4vw))}
.klx .hero h1{font-size:clamp(64px,8.6vw,144px);line-height:.88}
.klx .proof{display:flex;align-items:center;gap:10px;font:500 12.5px var(--mono);color:var(--muted)}
.klx .row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.klx .hero-photo{min-height:440px}
.klx .hero-photo canvas{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;touch-action:manipulation;z-index:1}
.klx .react{position:absolute;left:24px;bottom:62px;z-index:2;font:italic 400 clamp(26px,3vw,40px)/1.1 var(--display);color:#fff;text-shadow:0 2px 18px rgba(30,20,8,.55);pointer-events:none}
.klx .cap{position:absolute;left:24px;right:24px;bottom:22px;z-index:2;display:flex;justify-content:space-between;gap:10px;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.6);pointer-events:none}
@media (max-width:880px){.klx .hero{grid-template-columns:1fr;min-height:0}.klx .hero-photo{order:-1;aspect-ratio:1/1;min-height:0}.klx .hero-copy{padding:32px max(16px,4vw) 48px}}
.klx .strip{border-block:1px solid var(--line)}
.klx .strip ul{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 28px;list-style:none;margin:0 auto;padding:18px max(16px,4vw);max-width:1240px;font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.klx .strip li{display:flex;align-items:center;gap:10px}
.klx .split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px;align-items:center}
.klx .split.rev{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.klx .copy{display:flex;flex-direction:column;gap:22px;min-width:0}
@media (max-width:880px){.klx .split,.klx .split.rev{grid-template-columns:1fr;gap:36px}.klx .split .media-first{order:-1}}
.klx .vein-photo{aspect-ratio:4/5}
.klx .callout{position:absolute;z-index:2;display:flex;align-items:center;gap:9px;font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(11,34,34,.8);backdrop-filter:blur(6px);padding:8px 12px;opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s;white-space:nowrap}
.klx .callout.on{opacity:1;transform:none}
.klx .callout::before{content:"";width:7px;height:7px;border-radius:50%;background:#8fa2ff;box-shadow:0 0 0 3px rgba(143,162,255,.3)}
.klx .steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.klx .steps li{display:grid;grid-template-columns:40px 1fr;gap:2px 14px;padding:15px 0;border-bottom:1px solid var(--line)}
.klx .steps .n{font:500 12px var(--mono);color:var(--gold);padding-top:6px}
.klx .steps b{font:400 24px/1.15 var(--display)}
.klx .steps p{grid-column:2;color:var(--muted);font-size:15px}
.klx .loupe-box{aspect-ratio:4/5;cursor:none;touch-action:none}
.klx .loupe{position:absolute;z-index:3;width:240px;height:240px;border-radius:50%;pointer-events:none;border:1px solid rgba(255,255,255,.9);box-shadow:0 0 0 7px rgba(168,134,90,.35),0 22px 44px rgba(0,0,0,.4);background-repeat:no-repeat;transform:translate(-50%,-50%)}
.klx .anno{position:absolute;inset:0;z-index:2;pointer-events:none}
.klx .anno span{position:absolute;font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.7);white-space:nowrap;display:flex;align-items:center;gap:8px}
.klx .anno span::before{content:"";width:28px;height:1px;background:#fff}
.klx .spec{display:grid;grid-template-columns:auto 1fr;gap:10px 26px;margin:0;padding-top:18px;border-top:1px solid var(--line);font:13px var(--mono)}
.klx .spec dt{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:11px;padding-top:2px}
.klx .spec dd{margin:0}
@media (max-width:880px){.klx .loupe{width:150px;height:150px}}
.klx .head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:44px}
.klx .trip{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.klx .trip article{display:flex;flex-direction:column;gap:14px;min-width:0}
.klx .trip .top,.klx .trip .bot{display:flex;justify-content:space-between;font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.klx .trip .top{border-bottom:1px solid var(--line);padding-bottom:10px}
.klx .trip .bot{border-top:1px solid var(--line);padding-top:10px;letter-spacing:.04em}
.klx .trip h3{font-size:46px;line-height:1;text-align:center}
.klx .trip .cover{aspect-ratio:3/4}
.klx .trip img{transition:transform 1.2s ease}
.klx .trip article:hover img{transform:scale(1.05)}
.klx .trip p{color:var(--muted);font-size:15px}
@media (max-width:820px){.klx .trip{grid-template-columns:1fr;gap:44px}.klx .trip .cover{aspect-ratio:4/3}}
.klx .journey{text-align:center}
.klx .journey h2 em{color:#C9A877}
.klx .route{width:100%;height:auto;display:block;overflow:visible;margin-top:20px}
.klx .route .arc{fill:none;stroke:#C9A877;stroke-width:1.6}