/* A continuous camera, geometry and particle sequence. */
.kc-world-enabled .kc-fade-in,
.kc-world-enabled .kc-from-left,
.kc-world-enabled .kc-from-right {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}
.kc-world {
    position: relative;
    background: #140e0b;
    color: #f6eada;
    --world-top: 84px;
}
.kc-world-pin {
    position: relative;
    min-height: 680px;
    overflow: hidden;
    isolation: isolate;
    background: #140e0b;
}
.kc-world-canvas,
.kc-world-fallback,
.kc-world-shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.kc-world-canvas {
    display: none;
    touch-action: pan-y;
    cursor: grab;
    z-index: 1;
}
.kc-world-canvas:active {
    cursor: grabbing;
}
.kc-world-fallback {
    object-fit: cover;
    object-position: 75% center;
    opacity: 0.55;
}
.kc-world-shade {
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(90deg, #140e0bdb, #140e0b30 45%, transparent 64%);
}
.kc-world-chapters {
    position: relative;
    z-index: 3;
    padding-top: 80px;
    padding-bottom: 80px;
    pointer-events: none;
}
.kc-world-copy {
    max-width: 530px;
    margin-bottom: 85px;
    pointer-events: auto;
}
.kc-world-eyebrow {
    display: block;
    margin-bottom: 28px;
    color: #d99a70;
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: 2.2px;
    text-transform: uppercase;
}
.kc-world-heading {
    font-family: Georgia, serif;
    font-weight: 400;
    font-size: clamp(48px, 5.7vw, 86px);
    line-height: 1.01;
    letter-spacing: -2.8px;
    text-wrap: balance;
    color: #faebd7;
}
.kc-world-copy > p {
    max-width: 370px;
    margin-top: 28px;
    color: #c4ad98;
    font-size: 16px;
    line-height: 1.8;
}
.kc-world-cta {
    display: inline-flex;
    gap: 22px;
    align-items: center;
    margin-top: 30px;
    padding: 12px 0;
    border-bottom: 1px solid #ad754e;
    color: #f4d6b4;
    font-size: 14px;
}
.kc-world-bottom {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    z-index: 5;
    padding-top: 22px;
    padding-bottom: 22px;
    border-top: 1px solid #8e644d33;
}
.kc-world-scroll,
.kc-world-drag {
    color: #b69578;
    font-size: 11px;
    letter-spacing: 0.7px;
}
.kc-world-scroll {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
.kc-world-scroll i {
    display: block;
    width: 14px;
    height: 24px;
    border: 1px solid #a87b58;
    border-radius: 20px;
    position: relative;
}
.kc-world-scroll i::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 5px;
    width: 2px;
    height: 5px;
    border-radius: 2px;
    background: #e6b38c;
}
.kc-world-nav {
    display: flex;
    gap: 24px;
    align-items: center;
}
.kc-world-nav button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    background: transparent;
    border: 0;
    border-bottom: 1px solid transparent;
    color: #9c7d65;
    font-family: inherit;
    cursor: pointer;
}
.kc-world-nav button b {
    font-size: 12px;
    font-weight: 500;
}
.kc-world-nav button span {
    font-size: 10px;
}
.kc-world-nav button[aria-pressed="true"] {
    border-color: #c99269;
    color: #f5d4b3;
}
.kc-world-meter {
    height: 2px;
    background: #6c45292e;
}
.kc-world-meter span {
    display: block;
    width: 100%;
    height: 100%;
    background: #d99a70;
    transform-origin: left;
    transform: scaleX(var(--world-progress, 0));
}
.kc-world-ready .kc-world-pin {
    position: sticky;
    top: var(--world-top);
    height: var(--world-height, calc(100svh - var(--world-top)));
    min-height: 0;
}
.kc-world-ready .kc-world-canvas {
    display: block;
}
.kc-world-ready .kc-world-fallback {
    display: none;
}
.kc-world-ready .kc-world-shade {
    background: transparent;
}
.kc-world-ready .kc-world-shade::before,
.kc-world-ready .kc-world-shade::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #140e0bbf, transparent 58%);
    opacity: calc(1 - var(--world-copy-side, 0));
}
.kc-world-ready .kc-world-shade::after {
    transform: rotate(180deg);
    opacity: var(--world-copy-side, 0);
}
.kc-world-ready .kc-world-chapters {
    position: absolute;
    inset: 0;
    padding-top: 0;
    padding-bottom: 0;
}
.kc-world-ready .kc-world-copy {
    position: absolute;
    top: 50%;
    left: 28px;
    width: 41%;
    max-width: 530px;
    margin: 0;
    transform: translateY(-53%);
    transform-origin: left center;
    visibility: hidden;
    pointer-events: none;
}
.kc-world-ready .kc-world-copy-1 {
    left: auto;
    right: 28px;
}
.kc-world-ready .kc-world-copy-3 {
    width: 45%;
    top: 27%;
}
.kc-world-ready .kc-world-bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 14px;
}
.kc-world-ready .kc-world-meter {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
}
.kc-world-static .kc-world-copy:not(:first-child) {
    padding-top: 40px;
    border-top: 1px solid #a7744a33;
}


/* Clear clickable chapter controls, and a real photograph beside the moving 3D object. */
.kc-world-photo-card{position:absolute;z-index:3;top:34px;right:max(5%,40px);width:160px;background:#f3e4d1;padding:7px;box-shadow:0 16px 45px #0006;transform:translate3d(0,var(--world-photo-shift,0),0) rotate(4deg);pointer-events:none;}
.kc-world-photo-card img{width:100%;height:116px;display:block;object-fit:cover;object-position:70% center;}
.kc-world-photo-card figcaption{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:8px 5px 2px;color:#69452e;font-size:9px;letter-spacing:.6px;}
.kc-world-photo-card figcaption span{font-size:15px;}
.kc-world-ready .kc-world-copy-3{top:50%;}
.kc-world-copy h2.kc-world-heading{font-size:clamp(46px,4.8vw,70px);line-height:1.04;letter-spacing:-2px;}
.kc-world-ready .kc-world-bottom{bottom:0;gap:22px;padding-top:14px;padding-bottom:16px;background:#140e0b38;}
.kc-world-nav{display:flex;gap:8px;flex:1;justify-content:center;}
.kc-world-nav button{min-height:48px;min-width:0;padding:8px 13px;border:1px solid #ad815645;background:#271b1455;color:#cdb29a;transition:background .3s,border-color .3s,color .3s;text-align:left;}
.kc-world-nav button:hover,.kc-world-nav button[aria-pressed=true]{color:#fff1dd;border-color:#d9a574;background:#a668382e;}
.kc-world-nav button b{font-size:11px;line-height:1.3;}
.kc-world-nav button span{font-size:9px;color:#cb966d;}
.kc-world-scroll{max-width:200px;line-height:1.5;}
.kc-world-copy .kc-world-cta{position:relative;z-index:3;}
@media(max-width:1000px){.kc-world-nav{gap:6px}.kc-world-nav button{padding:7px 9px}.kc-world-drag{display:none}.kc-world-heading{font-size:59px}.kc-world-photo-card{width:125px;right:28px;top:22px}.kc-world-photo-card img{height:85px}}
@media(max-width:700px){
 .kc-world-ready .kc-world-shade{background:linear-gradient(180deg,#140e0b94,transparent 55%)}
 .kc-world-ready .kc-world-shade::before,.kc-world-ready .kc-world-shade::after{display:none}
 .kc-world-heading{font-size:clamp(36px,10.7vw,50px);letter-spacing:-1.5px}
 .kc-world-copy h2.kc-world-heading{font-size:36px;letter-spacing:-1.2px}
 .kc-world-copy>p{font-size:13px;line-height:1.6;margin-top:14px;max-width:350px}
 .kc-world-eyebrow{margin-bottom:12px;font-size:10px;letter-spacing:1.4px}
 .kc-world-ready .kc-world-copy,.kc-world-ready .kc-world-copy-1,.kc-world-ready .kc-world-copy-3{left:20px;right:20px;top:22px;width:auto;max-width:480px;transform:none}
 .kc-world-cta{margin-top:8px;font-size:12px;padding:7px 0}
 .kc-world-ready .kc-world-bottom{bottom:0;flex-direction:column;gap:5px;align-items:stretch;padding:8px 20px 12px}
 .kc-world-scroll{justify-content:center;font-size:9px;max-width:none}
 .kc-world-scroll i{width:11px;height:18px}.kc-world-scroll i::after{left:4px;top:4px;height:4px}
 .kc-world-nav{display:flex;gap:5px;justify-content:space-between}
 .kc-world-nav button{flex:1;min-height:42px;gap:4px;padding:6px;}
 .kc-world-nav button b{font-size:9px}.kc-world-nav button span{font-size:8px}
 .kc-world-photo-card{display:none}
}
@media(max-width:360px){.kc-world-ready .kc-world-bottom{padding-left:16px;padding-right:16px}.kc-world-nav button b{font-size:8px}.kc-world-heading{font-size:36px}}
@media(max-height:650px) and (min-width:701px){.kc-world-heading{font-size:48px}.kc-world-copy>p{margin-top:16px;font-size:14px}.kc-world-cta{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.kc-world-photo-card{transform:none}.kc-world-copy{clip-path:none!important}}


/* ===== v11 banner design refresh ===== */
.kc-world-shade{background:linear-gradient(90deg,#140e0bf0 0%,#140e0bb3 34%,#140e0b2e 58%,transparent 75%)}
.kc-world-ready .kc-world-shade::before,.kc-world-ready .kc-world-shade::after{background:linear-gradient(90deg,#140e0be6,#140e0b66 42%,transparent 68%)}
.kc-world-ready .kc-world-shade{box-shadow:inset 0 -120px 90px -60px #140e0bcc}
.kc-world-eyebrow{display:inline-flex;align-items:center;gap:14px;margin-bottom:24px;font-size:12px;font-weight:700;letter-spacing:3px;color:#e0a77c}
.kc-world-eyebrow::before{content:"";width:34px;height:1px;background:#e0a77c}
.kc-world-heading{font-size:clamp(44px,5.2vw,78px);line-height:1.04;letter-spacing:-2px;text-shadow:0 2px 30px #140e0b99}
.kc-world-copy>p{max-width:420px;margin-top:24px;font-size:17px;line-height:1.75;color:#d3bda8}
.kc-world-cta{gap:14px;margin-top:34px;padding:15px 28px;border:0;border-radius:999px;background:linear-gradient(135deg,#c9824f,#a0562c);color:#fff4e6;font-weight:700;font-size:14px;letter-spacing:.4px;box-shadow:0 12px 30px #a0562c55;transition:transform .25s,box-shadow .25s}
.kc-world-cta:hover{transform:translateY(-2px);box-shadow:0 16px 38px #a0562c80}
.kc-world-cta svg{width:16px;height:16px}
.kc-world-photo-card{top:auto;bottom:104px;right:max(4%,28px);width:150px;padding:6px;border-radius:6px;transform:none;box-shadow:0 14px 40px #0008}
.kc-world-photo-card img{height:100px;border-radius:3px}
.kc-world-ready .kc-world-bottom{background:linear-gradient(0deg,#140e0bf2,#140e0b99);border-top:1px solid #a7744a2e;backdrop-filter:blur(6px)}
.kc-world-nav button{border-radius:10px;border:1px solid #ad815640;background:#271b1499}
.kc-world-nav button[aria-pressed=true]{background:#a6683840;border-color:#e0a77c}
.kc-world-meter{height:3px;background:#6c45292e}
.kc-world-meter span{background:linear-gradient(90deg,#a0562c,#f0b98a)}
@media(max-width:1000px){.kc-world-photo-card{bottom:96px;width:120px}.kc-world-photo-card img{height:78px}}
@media(max-width:700px){.kc-world-cta{padding:11px 20px;font-size:12px;margin-top:14px}.kc-world-copy>p{font-size:14px}.kc-world-eyebrow::before{width:20px}}
