/* RC01 Common Owner Hardening 03 — Lower Page Fixed INDEX
   One CSS owner for the desktop/fixed section INDEX used by Stay / Experience / Koune / About.
   FV INDEX remains owned by fv-index.css. Mobile INDEX panels remain page-owned in this patch.
   Only each page's live INDEX namespace is carried here; historical copied namespaces are intentionally pruned. */

/* stay-information */
.si-index-rail{position:absolute;z-index:20;left:var(--si-index-left);top:var(--si-index-rail-top);bottom:0;width:var(--si-index-rail-width);pointer-events:none}

.si-index-sticky{position:absolute;left:0;top:0;width:var(--si-index-rail-width);height:var(--si-index-sticky-height);pointer-events:none}

.si-index{display:grid;gap:20px;width:225px;transform:scale(var(--si-scale));transform-origin:left top;pointer-events:auto}

.si-index a{display:flex;align-items:center;gap:11px;color:#9b9b9b;font-size:14px;line-height:1.55;letter-spacing:.05em;transition:color .5s var(--ease)}

.si-index a i{display:block;width:15px;height:1px;background:currentColor;transition:width .65s var(--ease),border-radius .5s var(--ease),height .65s var(--ease)}

.si-index a.is-active{color:#3f3f3f}

.si-index a.is-active i{width:15px;height:15px;border-radius:50%;background:#666}

@media (hover:hover){
  .si-index a:hover{color:#3f3f3f}
}

@media (hover:hover){
  .si-index a:hover i{width:15px;height:15px;border-radius:50%;background:#666}
}

@media (hover:hover){
  .si-index:has(a:hover) a.is-active:not(:hover){color:#9b9b9b}
}

@media (hover:hover){
  .si-index:has(a:hover) a.is-active:not(:hover) i{width:15px;height:1px;border-radius:0;background:currentColor}
}

@media (max-width:1040px){
  .si-index-rail{display:none}
}

.si-index a{color:rgba(72,45,18,.5); font-family:var(--serif); line-height:1.55; letter-spacing:.05em;}

.si-index a.is-active{color:var(--brown)}

/* experience */
.hs-index-stop-marker{position:absolute;left:0;bottom:0;width:1px;height:1px;pointer-events:none}

.hs-index-rail{position:absolute;z-index:20;left:9.375rem;top:94.5625rem;width:14.6875rem;height:12.8125rem;pointer-events:none}

.hs-index-sticky{position:absolute;left:0;top:0;width:14.6875rem;height:12.8125rem;transform-origin:left top;pointer-events:none;will-change:transform}

.hs-index{display:grid;gap:1.25rem;width:14.0625rem;pointer-events:auto}

.hs-index a{display:flex;align-items:center;gap:.6875rem;color:rgba(72,45,18,.5);font:400 14px/1.55 var(--serif);letter-spacing:.05em;transition:color .5s var(--ease)}

.hs-index a i{display:block;width:.9375rem;height:1px;background:currentColor;transition:width .65s var(--ease),height .65s var(--ease),border-radius .5s var(--ease)}

.hs-index a.is-active{color:var(--brown)}

.hs-index a.is-active i{width:.9375rem;height:.9375rem;border-radius:50%;background:#666}

@media (hover:hover){
  .hs-index a:hover{color:var(--brown)}
}

@media (hover:hover){
  .hs-index a:hover i{width:.9375rem;height:.9375rem;border-radius:50%;background:#666}
}

@media (max-width:1040px){
  .hs-index-rail{display:none}
}

/* koune-island */
.ki-index-rail{position:absolute;z-index:20;left:9.375rem;top:209.1875rem;bottom:0; width:14.6875rem;pointer-events:none}

.ki-index-sticky{position:absolute;z-index:20;left:0;top:0;width:14.6875rem;height:12.8125rem; transform-origin:left top;pointer-events:none;will-change:transform}

.ki-index{display:grid;gap:1.25rem;width:14.0625rem;pointer-events:auto}

.ki-index a{display:flex;align-items:center;gap:.6875rem;color:rgba(72,45,18,.5); font:400 max(var(--fab-font-minimum), .875rem)/1.55 var(--serif);letter-spacing:.05em; transition:color .5s var(--ease)}

.ki-index a i{display:block;width:.9375rem;height:.0625rem;background:currentColor; transition:width .65s var(--ease),height .65s var(--ease),border-radius .5s var(--ease)}

.ki-index a.is-active{color:var(--brown)}

.ki-index a.is-active i{width:.9375rem;height:.9375rem;border-radius:50%;background:#666}

@media (hover:hover){
  .ki-index a:hover{color:var(--brown)}
}

@media (hover:hover){
  .ki-index a:hover i{width:.9375rem;height:.9375rem;border-radius:50%;background:#666}
}

@media (max-width:1040px){
  .ki-index-rail{display:none}
}

/* about */
.ab-index-rail{position:absolute;z-index:20;left:9.375rem;top:93.3125rem; width:14.6875rem;height:10rem;pointer-events:none}

.ab-index-sticky{position:absolute;z-index:20;left:0;top:0;width:14.6875rem;height:10rem; transform-origin:left top;pointer-events:none;will-change:transform}

.ab-index{display:grid;gap:1.25rem;width:14.0625rem;pointer-events:auto}

.ab-index a{display:flex;align-items:center;gap:.6875rem;color:rgba(72,45,18,.5); font:400 14px/1.55 var(--serif);letter-spacing:.05em;transition:color .5s var(--ease)}

.ab-index a i{display:block;flex:0 0 .9375rem;width:.9375rem;min-width:.9375rem;max-width:.9375rem;height:1px;background:currentColor; transition:width .65s var(--ease),height .65s var(--ease),border-radius .5s var(--ease)}

.ab-index a.is-active{color:var(--brown)}

.ab-index a.is-active i{width:.9375rem;height:.9375rem;border-radius:50%;background:#666}

@media (hover:hover){
  .ab-index a:hover{color:var(--brown)}
}

@media (hover:hover){
  .ab-index a:hover i{width:.9375rem;height:.9375rem;border-radius:50%;background:#666}
}

@media (max-width:1040px){
  .ab-index-rail{display:none}
}
