/* The archive's imagery stays pinned to the viewport; only its information layers travel. */
.home-experience--ledger{isolation:isolate;background:#05070c}
.home-backdrop{position:fixed;z-index:-4;top:86px;right:0;bottom:0;left:0;overflow:hidden;background:#05070c;pointer-events:none}
.home-backdrop__layer{--backdrop-opacity:0;--backdrop-blur:18px;--backdrop-brightness:.34;--backdrop-scale:1.25;position:absolute;inset:-8vh -7vw;background:center/cover no-repeat;opacity:var(--backdrop-opacity);filter:blur(var(--backdrop-blur)) brightness(var(--backdrop-brightness)) saturate(1.08);transform:scale(var(--backdrop-scale));will-change:opacity,filter,transform;transition:opacity .12s linear,filter .12s linear,transform .12s linear}
.home-backdrop__video{--home-video-opacity:1;position:absolute;z-index:1;inset:-8vh -7vw;width:calc(100% + 14vw);height:calc(100% + 16vh);object-fit:cover;opacity:var(--home-video-opacity);filter:brightness(.56) saturate(.82) contrast(1.04);transform:scale(1.035);transition:opacity .2s linear;pointer-events:none}
.home-backdrop__video--fallback{z-index:0}
.home-gem-canvas{--home-gem-opacity:1;position:absolute;z-index:1;inset:0;opacity:var(--home-gem-opacity);background:radial-gradient(ellipse 72% 76% at 50% 47%,#353b3e 0,#292e31 38%,#222629 72%,#171a1c 100%);transition:opacity .2s linear;pointer-events:none;overflow:hidden}
.home-gem-canvas::before{content:"";position:absolute;z-index:2;inset:0;background:radial-gradient(ellipse at 50% 47%,rgba(255,207,228,.045),transparent 43%,rgba(10,12,13,.2) 82%,rgba(5,6,7,.44));pointer-events:none}
.home-gem-canvas canvas{display:block;width:100%;height:100%;filter:saturate(.98) contrast(1.035)}
.gem-webgl-ready .home-backdrop__video--fallback{opacity:0!important}
.home-backdrop__layer[data-backdrop="world"]{background:none}
.home-backdrop__layer[data-backdrop="people"]{background:none}
.home-backdrop__layer[data-backdrop="timeline"]{background:none}
.home-backdrop__video--world{--world-video-opacity:0;z-index:2;opacity:var(--world-video-opacity);filter:brightness(.56) saturate(.84) contrast(1.04);transition:opacity .3s linear}
.home-backdrop__video--people{--people-video-opacity:0;z-index:3;opacity:var(--people-video-opacity);filter:brightness(.56) saturate(.9) contrast(1.04);transition:opacity .3s linear}
.home-backdrop__video--timeline{--timeline-video-opacity:0;z-index:4;opacity:var(--timeline-video-opacity);filter:brightness(.53) saturate(.88) contrast(1.05);transition:opacity .3s linear}
.home-backdrop__shade{position:absolute;z-index:8;inset:0;background:radial-gradient(ellipse 91% 84% at 50% 51%,transparent 42%,rgba(2,4,8,.18) 65%,rgba(1,3,6,.68) 89%,#010205 100%),linear-gradient(90deg,rgba(3,6,11,.62),transparent 19%,transparent 79%,rgba(3,6,11,.55)),linear-gradient(180deg,rgba(2,4,8,.6),transparent 21%,transparent 76%,rgba(2,4,8,.7));pointer-events:none}
.home-experience--ledger .ledger-scene{display:none}
.home-experience--ledger .ledger-floor{background:transparent}
.home-experience--ledger .ledger-hero{background:transparent}
.home-experience--ledger .ledger-floor::before{display:none}
.home-experience--ledger .ledger-floor::after{display:none}
/* The header fades into the first scene instead of drawing a hard horizon. */
body.home-mode .site-header{border-bottom-color:transparent;background:linear-gradient(180deg,rgba(4,7,12,.97) 0%,rgba(4,7,12,.79) 52%,rgba(4,7,12,0) 100%)}
body.home-mode .site-header::after{content:"";position:absolute;top:100%;right:0;left:0;height:58px;pointer-events:none;background:linear-gradient(180deg,rgba(4,7,12,.34),transparent);filter:blur(8px)}
.home-experience--ledger .ledger-hero::before{display:block;background:radial-gradient(circle at 50% 42%,rgba(5,5,8,.06),rgba(0,0,0,.68) 75%)}
.home-experience--ledger .ledger-hero::after{display:none}
.recent-archive + .ledger-floor .ledger-scene{display:none}
@media(max-width:860px){.home-backdrop{top:72px}.home-backdrop__layer{inset:-6vh -16vw}.home-backdrop__video{inset:-6vh -16vw;width:calc(100% + 32vw);height:calc(100% + 12vh)}}
@media(prefers-reduced-motion:reduce){.home-backdrop__video{display:none}.home-backdrop__layer{opacity:0!important;filter:none!important;transform:none!important}.home-gem-canvas canvas{filter:saturate(.86)}}

/* Hero video is the only image source on the opening screen. */
.home-experience--ledger .ledger-hero{background:transparent}
.home-experience--ledger .ledger-hero::before{background:radial-gradient(circle at 50% 42%,rgba(5,5,8,.06),rgba(0,0,0,.52) 78%)}

/* Keep directory actions with the content surface rather than the heading. */
.ledger-floor__directory-link{grid-column:2;justify-self:end;align-self:start;margin-top:clamp(-28px,-2vh,-14px);opacity:var(--cards-opacity);transform:translate3d(var(--cards-x),0,0);will-change:transform,opacity;transition:opacity .16s linear}
.ledger-floor__directory-link .ledger-button{margin-top:0}

/* The small World records remain legible without tall, accidental word stacks. */
@media(min-width:861px){
  .ledger-floor--world .world-atlas__tile:not(.is-default) h3{font-size:clamp(18px,1.35vw,23px);line-height:.95;overflow-wrap:normal;word-break:normal}
  .ledger-floor--world .world-atlas__tile{background:rgba(216,229,235,.14);backdrop-filter:blur(10px) saturate(112%)}
  .ledger-floor--world .world-atlas:hover .world-atlas__tile.is-default:not(:hover),.ledger-floor--world .world-atlas:has(.world-atlas__tile:focus-within) .world-atlas__tile.is-default:not(:focus-within){backdrop-filter:blur(10px) saturate(112%)}
}

/* A centered, line-drawn octagonal gem replaces the former illustrated crest. */
.archive-loader{place-items:center;justify-items:center;align-content:center}
.archive-loader__crest{width:clamp(80px,12vw,142px);height:clamp(112px,17vw,190px);background:#000 url("assets/archive-gem-linework.png") center/158% auto no-repeat;filter:blur(16px);transform:scale(.56);animation:crest-in .72s cubic-bezier(.16,.84,.28,1) forwards}
.archive-loader__crest::before,.archive-loader__crest::after{display:none}
.archive-loader__track{justify-self:center}
.recent-archive__head{justify-content:center;text-align:center}
@media(max-width:860px){.ledger-floor__directory-link{grid-column:1;justify-self:end;margin-top:-18px}.archive-loader__crest{width:84px;height:112px}}

/* Stage the chapter information independently of the scroll position: headings
   lead, then the record surfaces follow with a slower, inertial settle. */
body.home-mode .ledger-floor:not(.ledger-hero) .ledger-floor__copy{opacity:0;filter:blur(9px);transform:translate3d(-120vw,0,0);will-change:transform,opacity,filter;transition:transform 1.42s cubic-bezier(.14,.9,.28,1.015),opacity .92s ease-out,filter .98s ease-out}
body.home-mode .ledger-floor:not(.ledger-hero) .world-atlas,body.home-mode .ledger-floor:not(.ledger-hero) .people-ledger,body.home-mode .ledger-floor:not(.ledger-hero) .chronicle-ledger,body.home-mode .ledger-floor:not(.ledger-hero) .ledger-floor__directory-link{opacity:0;filter:blur(10px);transform:translate3d(120vw,0,0);will-change:transform,opacity,filter;transition:transform 1.46s cubic-bezier(.14,.9,.28,1.015) .48s,opacity .94s ease-out .48s,filter 1s ease-out .48s}
body.home-mode .ledger-floor[data-ui-stage="entered"] .ledger-floor__copy{opacity:1;filter:blur(0);transform:translate3d(0,0,0)}
body.home-mode .ledger-floor[data-ui-stage="entered"] .world-atlas,body.home-mode .ledger-floor[data-ui-stage="entered"] .people-ledger,body.home-mode .ledger-floor[data-ui-stage="entered"] .chronicle-ledger,body.home-mode .ledger-floor[data-ui-stage="entered"] .ledger-floor__directory-link{opacity:1;filter:blur(0);transform:translate3d(0,0,0)}
body.home-mode .ledger-floor[data-ui-stage="leaving"] .ledger-floor__copy{opacity:0;filter:blur(9px);transform:translate3d(-62vw,0,0);transition:transform 1.38s cubic-bezier(.24,.78,.22,1),opacity 1.04s ease-out,filter 1s ease-out}
body.home-mode .ledger-floor[data-ui-stage="leaving"] .world-atlas,body.home-mode .ledger-floor[data-ui-stage="leaving"] .people-ledger,body.home-mode .ledger-floor[data-ui-stage="leaving"] .chronicle-ledger,body.home-mode .ledger-floor[data-ui-stage="leaving"] .ledger-floor__directory-link{opacity:0;filter:blur(10px);transform:translate3d(62vw,0,0);transition:transform 1.42s cubic-bezier(.24,.78,.22,1),opacity 1.08s ease-out,filter 1.04s ease-out}

/* On a rail jump, the chapter's working surface begins higher in the viewport.
   The headings and their record groups now share one visual top edge. */
@media(min-width:861px){
  body.home-mode{scroll-padding-top:24px}
  .ledger-floor{scroll-margin-top:24px}
  .ledger-floor--world .ledger-floor__copy,.ledger-floor--people .ledger-floor__copy,.ledger-floor--timeline .ledger-floor__copy{position:relative;top:-28px}
  .ledger-floor--world .world-atlas{position:relative;top:calc(clamp(-64px,-4.4vw,-48px) - 28px);width:105%;max-width:none;justify-self:end}
  .ledger-floor--people .people-ledger{position:relative;top:calc(clamp(-82px,-5.8vw,-66px) - 28px);width:105%;max-width:none;justify-self:end}
  .ledger-floor--timeline .chronicle-ledger{position:relative;top:calc(clamp(-64px,-4.4vw,-48px) - 28px)}
  .ledger-floor--world .ledger-floor__directory-link,.ledger-floor--people .ledger-floor__directory-link,.ledger-floor--timeline .ledger-floor__directory-link{position:relative;top:calc(clamp(-64px,-4.4vw,-48px) - 28px)}
}

/* The Character tiles retain their subdued archival surface until directly examined. */
@media (hover:hover) and (min-width:861px){
  .ledger-floor--people .people-ledger article{position:relative;filter:brightness(.86);transform:scale(1);transform-origin:center;transition:transform .56s cubic-bezier(.16,.84,.28,1),filter .42s ease,background .42s ease,box-shadow .42s ease,border-color .42s ease}
  .ledger-floor--people .people-ledger article:hover,.ledger-floor--people .people-ledger article:focus-within{z-index:2;filter:brightness(1.08);transform:scale(1.025);background:linear-gradient(155deg,rgba(15,20,36,.7),rgba(55,34,72,.59));border-color:rgba(243,217,161,.72);box-shadow:10px 14px 0 rgba(4,5,12,.28),0 18px 34px rgba(0,0,0,.32)}
}
@media(prefers-reduced-motion:reduce){body.home-mode .ledger-floor:not(.ledger-hero) .ledger-floor__copy,body.home-mode .ledger-floor:not(.ledger-hero) .world-atlas,body.home-mode .ledger-floor:not(.ledger-hero) .people-ledger,body.home-mode .ledger-floor:not(.ledger-hero) .chronicle-ledger,body.home-mode .ledger-floor:not(.ledger-hero) .ledger-floor__directory-link{filter:none;transform:none;transition:none}}

/* Keep the archive inside a single viewport column, even while its scenes use
   deliberately oversized fixed image layers for their depth treatment. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.home-experience--ledger{width:100%;max-width:100%;overflow-x:clip}

/* Recent Archive is an entry in the same index rhythm as the three chapters. */
@media(min-width:861px){
  .home-rail{gap:0;padding-top:28px}
  .home-rail>a{min-height:76px}
  .home-rail__mark{margin:0}
  .home-rail__mark span{font-family:var(--ledger-display);font-size:13px;line-height:1.05;letter-spacing:0;text-transform:none}
  .home-rail__mark span+span{margin-top:4px}

  /* The character files remain a balanced four-by-two gallery while leaving
     enough lower breathing room for the aligned directory action. */
  .ledger-floor--people .people-ledger{width:100%;top:calc(clamp(-82px,-5.8vw,-66px) - 28px);grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}
  .ledger-floor--people .people-ledger article{height:clamp(182px,14vw,204px);min-height:182px;aspect-ratio:auto;padding:clamp(11px,1vw,16px)}
  .ledger-floor--people .character-portrait{width:clamp(68px,6.2vw,92px);aspect-ratio:.8;margin-bottom:6px}
  .ledger-floor--people .people-ledger h3{font-size:clamp(18px,1.35vw,22px)}
  .ledger-floor--people .people-ledger p{font-size:11px;line-height:1.18}
}

/* The global navigation always sits above entering / departing copy. The title
   layer is composited independently, which prevents a partial slide-out from
   painting through the header at the top of a chapter jump. */
body.home-mode .site-header{position:fixed;z-index:100;top:0;right:0;left:0;width:100%;margin:0;isolation:isolate}
body.home-loading .site-header{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
html.home-top-reset{scroll-behavior:auto!important}
body.home-mode .site-header .brand,body.home-mode .site-header nav a{opacity:0;filter:blur(6px);transform:translate3d(0,-9px,0);transition:opacity .82s ease-out,filter .88s ease-out,transform 1s cubic-bezier(.18,.82,.24,1);will-change:opacity,filter,transform}
body.home-mode.home-intro-complete .site-header .brand,body.home-mode.home-intro-complete .site-header nav a{opacity:1;filter:blur(0);transform:translate3d(0,0,0)}
body.home-mode.home-intro-complete .site-header nav a:nth-child(1){transition-delay:.08s}
body.home-mode.home-intro-complete .site-header nav a:nth-child(2){transition-delay:.14s}
body.home-mode.home-intro-complete .site-header nav a:nth-child(3){transition-delay:.2s}
body.home-mode.home-intro-complete .site-header nav a:nth-child(4){transition-delay:.26s}
body.home-mode #app{margin-top:86px}
body.home-mode .home-rail{z-index:90}
body.home-mode .ledger-floor:not(.ledger-hero) .ledger-floor__copy{z-index:3;backface-visibility:hidden}
@media(max-width:860px){body.home-mode #app{margin-top:72px}}
@media(prefers-reduced-motion:reduce){body.home-mode .site-header .brand,body.home-mode .site-header nav a{opacity:1;filter:none;transform:none;transition:none}}

/* Desktop-narrow keeps the 4 × 2 catalogue readable: cards narrow first,
   while their compact type can use the available two-line text surface. */
@media(min-width:861px) and (max-width:1099px){
  .ledger-floor--people .people-ledger h3{font-size:15px;line-height:.98;white-space:normal;overflow:visible;text-overflow:clip}
  .ledger-floor--people .people-ledger p{font-size:10px;line-height:1.15;-webkit-line-clamp:2}
}

/* A held floor gives the visitor a small, inertial pause before the next
   chapter releases.  Individual translate keeps this motion independent from
   the staged horizontal entrance/exit transform. */
body.home-mode .ledger-floor[data-scroll-hold="active"] .ledger-floor__copy,
body.home-mode .ledger-floor[data-scroll-hold="active"] .world-atlas,
body.home-mode .ledger-floor[data-scroll-hold="active"] .people-ledger,
body.home-mode .ledger-floor[data-scroll-hold="active"] .chronicle-ledger,
body.home-mode .ledger-floor[data-scroll-hold="active"] .ledger-floor__directory-link{translate:0 calc(var(--hold-shift,0px)*-1);transition:translate .28s cubic-bezier(.16,.84,.28,1)}
body.home-mode .ledger-floor[data-scroll-hold="releasing"] .ledger-floor__copy,
body.home-mode .ledger-floor[data-scroll-hold="releasing"] .world-atlas,
body.home-mode .ledger-floor[data-scroll-hold="releasing"] .people-ledger,
body.home-mode .ledger-floor[data-scroll-hold="releasing"] .chronicle-ledger,
body.home-mode .ledger-floor[data-scroll-hold="releasing"] .ledger-floor__directory-link{transition:translate .38s cubic-bezier(.22,.72,.22,1),opacity .38s ease,filter .38s ease}

/* The supplied reference reads as a vignette in the media itself: the centre
   stays open while all four edges dissolve into the surrounding archive dark. */
.home-backdrop__shade{background:radial-gradient(ellipse 87% 80% at 50% 50%,transparent 34%,rgba(2,4,8,.14) 51%,rgba(1,3,7,.53) 74%,rgba(0,1,3,.91) 96%,#000 100%),linear-gradient(90deg,rgba(1,3,7,.82),rgba(1,4,8,.08) 22%,rgba(1,4,8,.05) 78%,rgba(1,3,7,.8)),linear-gradient(180deg,rgba(0,1,3,.84),rgba(1,4,8,.08) 21%,rgba(1,4,8,.05) 75%,rgba(0,1,3,.88));}

/* The loader keeps its established gold cut-line language, but uses the more
   compact 3:4 stone proportion requested for the opening pause. */
.archive-loader__crest{width:clamp(78px,9.4vw,116px);height:auto;aspect-ratio:3/4;background-size:142% auto}

/* Characters now share the directory-file treatment: taller rectangular
   files, a vertical oval portrait window, and enough live text surface to
   remain readable as the desktop grid narrows. */
@media(min-width:861px){
  .ledger-floor--people .people-ledger article{height:auto;min-height:182px;aspect-ratio:3/4;padding:clamp(11px,1vw,16px)}
  .ledger-floor--people .character-portrait{width:62%;aspect-ratio:.66;margin:0 auto clamp(8px,.8vw,12px);border-radius:50%;background:linear-gradient(155deg,rgba(95,70,118,.68),rgba(8,13,25,.94)),url("assets/palace-corridor-v2.png") center/cover;box-shadow:inset 0 0 0 7px rgba(17,12,31,.46),0 8px 22px rgba(0,0,0,.28)}
  .ledger-floor--people .people-ledger h3{margin:4px 0 3px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.01;font-size:clamp(16px,1.42vw,22px)}
  .ledger-floor--people .people-ledger p{display:block;overflow:visible;-webkit-line-clamp:unset;font-size:clamp(10px,.78vw,12px);line-height:1.18}
}

/* Palace directory copy uses the same light archive ink as World and
   Chronicle, rather than the legacy pale-plum page theme. */
.scene--palace .page-head--light,.scene--palace .page-head--light>p:last-child{color:var(--ink);text-shadow:0 2px 16px rgba(0,0,0,.62)}
.scene--palace .page-head--light .eyebrow{color:var(--gold-soft)!important}

/* The scene footage now reads edge-to-edge.  Darkening belongs only to the
   opening hand-off, never as a visible frame around each chapter image. */
.home-backdrop__shade{display:none}

/* The opening gem and World scene now cross-dissolve directly. Keep every
   section transparent: any local black wash that ends with a section would
   become a visible horizon at the sides of the floating Recent cards. */
.home-experience--ledger{background:transparent}
.home-experience--ledger .ledger-hero::before,.home-experience--ledger .ledger-hero::after{display:none}
.recent-archive{isolation:isolate;border-color:transparent;background:transparent;box-shadow:none}
.recent-archive::before,.recent-archive::after{display:none}

/* Floors no longer travel sideways.  Each information layer keeps its place,
   coming quietly up from the scene and dissolving upward when its chapter is
   left.  The heading retains its earlier lead over the record surface. */
body.home-mode .ledger-floor:not(.ledger-hero) .ledger-floor__copy{opacity:0;filter:blur(6px);transform:translate3d(0,26px,0);transition:transform 1.08s cubic-bezier(.2,.78,.25,1),opacity .82s ease-out,filter .88s ease-out}
body.home-mode .ledger-floor:not(.ledger-hero) .world-atlas,body.home-mode .ledger-floor:not(.ledger-hero) .people-ledger,body.home-mode .ledger-floor:not(.ledger-hero) .chronicle-ledger,body.home-mode .ledger-floor:not(.ledger-hero) .ledger-floor__directory-link{opacity:0;filter:blur(7px);transform:translate3d(0,34px,0);transition:transform 1.14s cubic-bezier(.2,.78,.25,1) .34s,opacity .86s ease-out .34s,filter .92s ease-out .34s}
body.home-mode .ledger-floor[data-ui-stage="entered"] .ledger-floor__copy,body.home-mode .ledger-floor[data-ui-stage="entered"] .world-atlas,body.home-mode .ledger-floor[data-ui-stage="entered"] .people-ledger,body.home-mode .ledger-floor[data-ui-stage="entered"] .chronicle-ledger,body.home-mode .ledger-floor[data-ui-stage="entered"] .ledger-floor__directory-link{opacity:1;filter:blur(0);transform:translate3d(0,0,0)}
body.home-mode .ledger-floor[data-ui-stage="leaving"] .ledger-floor__copy{opacity:.14;filter:blur(5px);transform:translate3d(0,-18px,0);transition:transform .9s cubic-bezier(.3,.72,.24,1),opacity .78s ease-out,filter .78s ease-out}
body.home-mode .ledger-floor[data-ui-stage="leaving"] .world-atlas,body.home-mode .ledger-floor[data-ui-stage="leaving"] .people-ledger,body.home-mode .ledger-floor[data-ui-stage="leaving"] .chronicle-ledger,body.home-mode .ledger-floor[data-ui-stage="leaving"] .ledger-floor__directory-link{opacity:.12;filter:blur(6px);transform:translate3d(0,-22px,0);transition:transform .94s cubic-bezier(.3,.72,.24,1),opacity .8s ease-out,filter .8s ease-out}

/* Slightly smaller portrait windows free room for stronger default catalogue
   typography, while the cards remain responsive three-by-four files. */
@media(min-width:861px){
  .ledger-floor--people .character-portrait{width:57%;aspect-ratio:.72;margin-bottom:7px}
  .ledger-floor--people .people-ledger article>span{font-size:11px;line-height:1.05}
  .ledger-floor--people .people-ledger h3{font-size:clamp(19px,1.58vw,25px);line-height:1.02}
  .ledger-floor--people .people-ledger p{font-size:clamp(11.5px,.9vw,13.5px);line-height:1.2}
}

/* 2026-09-14 character-file unification: the homepage and directory now use
   the same spare royal portrait file. The portrait remains decorative; only
   the court title and the person's name carry text. */
body:not(.home-mode) .site-header{position:fixed;z-index:100;top:0;right:0;left:0;width:100%;margin:0;padding-inline:54px;isolation:isolate}
body:not(.home-mode) main{padding-top:86px}
.archive-loader__crest{overflow:hidden;contain:paint;background-image:url("assets/archive-gem-linework.png");background-size:126% auto;background-color:transparent;backface-visibility:hidden;transform-origin:center;will-change:transform,filter,opacity}
.ledger-floor--people .people-ledger,.scene--palace .profile-grid{width:min(1180px,100%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.35vw,24px)}
.ledger-floor--people .people-ledger{position:relative;top:calc(clamp(-82px,-5.8vw,-66px) - 28px);justify-self:end;margin-top:0;max-width:none}
.ledger-floor--people .people-ledger article,.scene--palace .profile-card{min-height:0;height:auto;aspect-ratio:3/4;margin:0!important;padding:clamp(15px,1.25vw,20px);display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(155deg,rgba(10,14,27,.91),rgba(41,25,55,.78));border:1px solid rgba(230,202,143,.46);box-shadow:7px 9px 0 rgba(4,5,12,.38);color:#f4e9d8}
.ledger-floor--people .character-portrait,.scene--palace .portrait{width:68%;height:auto;aspect-ratio:.68;margin:0 auto clamp(13px,1.2vw,17px);border-radius:50%;background:linear-gradient(155deg,rgba(95,70,118,.68),rgba(8,13,25,.94)),url("assets/palace-corridor-v2.png") center/cover;border:1px solid rgba(230,202,143,.58);box-shadow:inset 0 0 0 7px rgba(17,12,31,.46),0 8px 22px rgba(0,0,0,.28);flex:0 0 auto}
.ledger-floor--people .character-portrait span,.scene--palace .portrait span{display:none}
.ledger-floor--people .character-card__role,.scene--palace .character-card__role{display:block;min-height:2.45em;margin:0;color:#d7bd82;font:600 clamp(12px,.9vw,14px)/1.22 var(--ledger-mono);letter-spacing:.06em;text-transform:none}
.ledger-floor--people .people-ledger h3,.scene--palace .profile-card h2{margin:7px 0 0;min-width:0;font:600 clamp(23px,1.72vw,31px)/1 var(--ledger-display);white-space:normal;overflow:visible;text-overflow:clip}
.ledger-floor--people .people-ledger h3 a,.scene--palace .profile-card h2 a{color:inherit}
.ledger-floor--people .people-ledger p,.scene--palace .profile-card p{display:none}
.ledger-floor--people .people-ledger .card-rule,.scene--palace .profile-card .card-rule{display:block;width:43px;margin-top:auto;border-bottom:1px solid rgba(215,189,130,.72)}
.ledger-floor--people .people-ledger article>span:not(.character-card__role){display:none}
@media (max-width:1399px) and (min-width:861px){
  .ledger-floor--people .people-ledger,.scene--palace .profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));width:min(920px,100%)}
  .ledger-floor--people .people-ledger{justify-self:end}
  .ledger-floor--people .people-ledger article{aspect-ratio:3/4}
}
@media (max-width:1050px) and (min-width:861px){
  .ledger-floor--people .people-ledger,.scene--palace .profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:min(650px,100%)}
}
@media (max-width:860px){
  body:not(.home-mode) .site-header{min-height:72px;padding-inline:20px}
  body:not(.home-mode) main{padding-top:72px}
  .ledger-floor--people .people-ledger,.scene--palace .profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:14px}
  .ledger-floor--people .people-ledger{top:0;justify-self:stretch}
  .ledger-floor--people .people-ledger article,.scene--palace .profile-card{aspect-ratio:3/4;padding:14px}
  .ledger-floor--people .people-ledger h3,.scene--palace .profile-card h2{font-size:clamp(21px,5.2vw,29px)}
}
@media (max-width:520px){
  .ledger-floor--people .people-ledger,.scene--palace .profile-grid{grid-template-columns:1fr;width:min(340px,100%);justify-self:center}
  .scene--palace .profile-grid{margin-inline:auto}
}

/* Lightswind fluid fire is limited to the numbered archive floors. */
#lightswind-smoke-root{--smoke-opacity:0;--smoke-x:50vw;--smoke-y:50vh;position:fixed;z-index:12;inset:0;width:100vw;height:100vh;pointer-events:none;overflow:hidden;opacity:0;visibility:hidden;mix-blend-mode:screen;transition:opacity .48s ease,visibility 0s linear .48s}
body.home-mode.smoke-floor-active #lightswind-smoke-root{opacity:var(--smoke-opacity);visibility:visible;transition:opacity .48s ease,visibility 0s linear 0s}
#lightswind-smoke-root>div,#lightswind-smoke-root canvas{position:absolute!important;inset:0!important;display:block;width:100vw!important;height:100vh!important;pointer-events:none!important}
#lightswind-smoke-root canvas{opacity:.58}
#lightswind-smoke-root::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle 220px at var(--smoke-x) var(--smoke-y),rgba(255,242,125,.62) 0 8%,rgba(255,156,35,.53) 24%,rgba(255,67,42,.48) 42%,rgba(255,76,135,.43) 60%,rgba(121,55,215,.4) 77%,transparent 100%);filter:blur(17px) saturate(1.12);mix-blend-mode:screen;opacity:.96;transform:translateZ(0)}
@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){#lightswind-smoke-root{display:none}}

/* OpenGem hero composition: the supplied procedural black atmosphere sits at
   the back, the archive title occupies the optical scene, and the rotating
   stone is composited above it. Pure black from the optics renderer disappears
   under screen blending, allowing the title to remain readable through the
   translucent ruby body instead of becoming a flat foreground label. */
.home-backdrop{--home-hero-opacity:1;background:#020203}
.home-hero-atmosphere{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%;opacity:var(--home-hero-opacity);transition:opacity .2s linear}
.home-hero-title-layer{position:absolute;z-index:1;inset:0;display:grid;place-items:center;opacity:var(--home-hero-opacity);transition:opacity .2s linear;pointer-events:none}
.home-hero-title-layer .hero-archive-title{width:max-content;max-width:calc(100vw - 12vw);margin:0;color:var(--ledger-cream);font-family:var(--font-editorial-title)!important;font-size:clamp(78px,8.64vw,136px);font-weight:400;line-height:.8;letter-spacing:-.035em!important;text-align:center;text-transform:uppercase;white-space:nowrap;text-shadow:0 2px 24px rgba(0,0,0,.48)}
.home-gem-canvas{z-index:2;background:none;overflow:visible;isolation:auto;mix-blend-mode:screen}
.home-gem-canvas::before{display:none}
.home-gem-canvas canvas{position:absolute;top:50%;left:50%;width:950px!important;height:950px!important;max-width:none;max-height:none;transform:translate(-50%,-50%);filter:saturate(1.08) contrast(1.055) brightness(1.04)}
.home-hero-vignette{position:absolute;z-index:3;inset:-2px;opacity:var(--home-hero-opacity);pointer-events:none;background:radial-gradient(ellipse 66% 70% at 50% 48%,transparent 27%,rgba(0,0,0,.08) 44%,rgba(0,0,0,.34) 67%,rgba(0,0,0,.76) 88%,#000 100%),linear-gradient(90deg,rgba(0,0,0,.62),transparent 24%,transparent 76%,rgba(0,0,0,.62)),linear-gradient(180deg,rgba(0,0,0,.66),transparent 23%,transparent 73%,rgba(0,0,0,.72));transition:opacity .2s linear}
.home-backdrop__video--world{z-index:10}
.home-backdrop__video--people{z-index:11}
.home-backdrop__video--timeline{z-index:12}
.home-backdrop__layer{z-index:9}
.ledger-hero__copy--archive{z-index:4;pointer-events:none}
.ledger-hero__copy--archive .hero-credit{top:calc(50% + clamp(78px,7vw,106px))}
@media(max-width:860px){
  .home-hero-title-layer .hero-archive-title{max-width:calc(100vw - 36px);font-size:clamp(46px,14.4vw,66px);line-height:.82;white-space:normal}
  .home-gem-canvas canvas{width:950px!important;height:950px!important}
}
@media(prefers-reduced-motion:reduce){.home-gem-canvas canvas{filter:saturate(.98) contrast(1.03)}}

/* The visible hero title lives inside the optical WebGL scene. Its semantic
   heading remains hidden, while the authorship line stays as a quiet, static
   foreground DOM layer above the gem. */
.home-hero-title-layer{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important}
.ledger-hero__copy--archive{position:absolute!important;z-index:5!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important;clip:auto!important;clip-path:none!important;white-space:normal!important;opacity:1!important;pointer-events:none!important}
.ledger-hero__copy--archive .hero-archive-title{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important}
.ledger-hero__copy--archive .hero-credit{z-index:1;opacity:1;filter:none;transform:translate3d(-50%,0,0);will-change:transform,opacity}
