@font-face{font-family:WenmaiTitle;src:url('assets/cover/title-wenmai.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--paper:#f4f0e6;--experience-blue:#193a5a;--experience-secondary:#4c6177;--experience-red:#b4000b;--cover-serif:var(--corpus-serif);--cover-heading-font:700 26px/1.1 var(--cover-serif);--cover-heading-tracking:.16em}
html{scrollbar-color:#89949c var(--paper);scrollbar-width:thin;scrollbar-gutter:stable;overscroll-behavior-y:none}
html:has(dialog[open]){overflow:hidden}
body{font-family:var(--font)}
::selection{background:var(--experience-blue);color:var(--paper)}
.home-experience{min-height:200svh}
.hands-approach{--art-scale:1;--hand-drift:3.5s;--frame-inset:24px;--cover-gutter:56px;position:relative;isolation:isolate;overflow:hidden;width:100%;height:100svh;min-height:700px;background:var(--paper);color:var(--experience-blue);outline:none}
.hands-approach__art{position:absolute;inset:0 0 auto;aspect-ratio:1424/1105;width:100%;pointer-events:none;user-select:none}
.hands-approach__static,.hands-approach__hand,.hands-approach__drift{position:absolute;inset:0;display:block;width:100%;height:100%}
.hands-approach__static{opacity:.62}
.hands-approach__drift{backface-visibility:hidden;will-change:transform}
.cover-frame{position:absolute;inset:var(--frame-inset);z-index:2;border:1px solid #193a5a24;pointer-events:none}
.cover-header{position:absolute;left:var(--cover-gutter);right:var(--cover-gutter);top:28px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:40px}
.cover-header::before{content:'';position:absolute;z-index:-1;inset:-16px auto -22px -32px;width:470px;background:radial-gradient(ellipse at 42% 42%,#f4f0e6fa 0%,#f4f0e6f2 50%,#f4f0e600 78%);pointer-events:none}
.cover-brand{display:flex;align-items:center;gap:16px}
.cover-institute-mark{display:block;width:64px;height:64px;object-fit:contain;flex:none}
.cover-brand-divider{display:block;width:1px;height:32px;background:#193a5a38;flex:none;margin:0 2px}
.cover-brand__mark{display:block;width:42px;height:42px;flex:none;stroke:none}
.cover-brand__text{display:flex;flex-direction:column;gap:8px}
.cover-brand__text strong{font:var(--cover-heading-font);letter-spacing:var(--cover-heading-tracking)}
.cover-brand__text>span{font:500 11px/1.4 var(--font);letter-spacing:.14em;color:var(--experience-secondary)}
.cover-enter{position:relative;display:flex;align-items:center;gap:12px;height:52px;padding:0;font:700 20px/1.1 var(--cover-serif);letter-spacing:.1em}
.cover-enter::after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:1px;background:#193a5a66;transition:background-color 180ms ease}
.cover-enter:hover::after{background:currentColor}
.cover-enter-label{white-space:nowrap}
.cover-enter svg{stroke-width:1.4}
.cover-enter .cover-lab-mark{width:44px;height:44px;stroke:none;flex:none}
.cover-enter .cover-enter-arrow{width:20px;height:20px;margin-left:6px;transition:transform 180ms ease}
.cover-enter:hover .cover-enter-arrow{transform:translateX(3px)}
.hands-approach__title-wrap{position:absolute;inset:0;z-index:1;display:grid;place-items:center;pointer-events:none}
.hands-approach__title-wrap::before{content:'';position:absolute;left:50%;top:50%;width:540px;height:620px;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#f4f0e6f2 0%,#f4f0e6d9 30%,#f4f0e67a 52%,#f4f0e600 74%)}
.hands-approach__title{position:relative;display:flex;flex-direction:row-reverse;align-items:flex-start;gap:34px;margin:0;font-family:WenmaiTitle,var(--cover-serif);font-size:clamp(92px,8.3vw,122px);line-height:1.12;font-weight:400;-webkit-text-stroke:0;letter-spacing:.12em;white-space:nowrap;color:var(--experience-blue);text-shadow:0 2px 18px #f4f0e699;pointer-events:auto}
.cover-title__line{writing-mode:vertical-rl;text-orientation:upright;display:block}
.cover-title__line:last-child{margin-top:64px}
.cover-seal{position:absolute;left:calc(50% + 176px);top:calc(50% + 128px);writing-mode:vertical-rl;padding:9px 5px;border:1px solid #b4000b80;font:700 16px/1.3 var(--cover-serif);letter-spacing:.2em;color:var(--paper);background:var(--experience-red)}
.cover-footer{position:absolute;left:var(--cover-gutter);right:var(--cover-gutter);bottom:54px;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.cover-footer::before{content:'';position:absolute;z-index:-1;inset:-44px -32px -40px;background:linear-gradient(0deg,#f4f0e6f5,#f4f0e6bd 45%,#f4f0e600);pointer-events:none}
.cover-motto{margin:0;font:700 16px/1.7 var(--cover-serif);letter-spacing:.15em}
.cover-institute{margin:0;font:500 11px/1.7 var(--font);letter-spacing:.12em;color:var(--experience-secondary)}
.cover-explore{position:absolute;left:50%;bottom:6px;display:inline-flex;align-items:center;justify-content:center;gap:22px;transform:translateX(-50%);min-width:168px;min-height:48px;padding:12px 24px;border:1px solid var(--experience-blue);border-radius:9px;background:var(--experience-blue);color:var(--paper);font:600 14px/1.5 var(--font);letter-spacing:.04em;box-shadow:0 5px 15px #132d461f;transition:background-color 180ms ease}
.cover-explore svg{transition:transform 180ms ease}
.cover-explore:hover{background:#132d46}.cover-explore:hover svg{transform:translateX(3px)}
.cover-scroll-hint{position:absolute;left:50%;bottom:-21px;transform:translateX(-50%);white-space:nowrap;font:400 11px/1.5 var(--font);letter-spacing:.1em;color:var(--experience-secondary)}
.cover-brand:focus-visible,.cover-enter:focus-visible,.cover-explore:focus-visible,.skip-cover:focus-visible{outline:2px solid var(--experience-blue);outline-offset:7px}
.skip-cover{position:absolute;left:56px;top:8px;z-index:40;padding:10px 16px;background:var(--experience-blue);color:var(--paper);font:14px var(--font);transform:translateY(-160%)}
.skip-cover:focus{transform:none}
.research-home{height:100svh;min-height:700px;background:var(--paper);outline:none}
.research-home .entry-layout{animation:none}
.research-home .controls{animation:none}
.research-home .search-submit,.research-home .tool-primary,.research-home .solid-button{background:var(--experience-blue);border-color:var(--experience-blue)}
.research-home .search-submit:hover,.research-home .tool-primary:hover,.research-home .solid-button:hover{background:#132d46}
.research-home .tool-secondary{color:var(--experience-blue);border-color:var(--experience-blue)}
.research-home :is(a,button):focus-visible{outline-color:var(--experience-blue)}
.research-home .resource-trigger:focus-visible,.research-home .resource-link:focus-visible{outline-color:#f8f3e8}
.research-home .search-form:focus-within{border-color:#708599;outline-color:#193a5a14}
.research-home #search-query{caret-color:var(--experience-blue)}
/* One document, two composited stages; no embedded viewport or per-frame blur. */
.experience-ready .home-experience{height:calc(var(--stage-height,100svh) * 2);min-height:1400px}
.experience-ready .hands-approach{position:fixed;inset:0;z-index:20;will-change:transform;box-shadow:0 18px 36px -18px #193a5a3d}
.experience-ready .research-home{position:fixed;inset:0;z-index:1;height:100svh;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;will-change:transform}
.experience-ready .skip-cover{position:fixed}
.experience-ready[data-cover-state="open"] .hands-approach{pointer-events:none;visibility:hidden}
/* Keep the original pixels upright. Separate the existing open pose from motion,
   so the animated transform never overwrites positioning on the outer layer.
   Distances are in source-image pixels, scaled by the existing --art-scale. */
.hands-approach__hand{pointer-events:none;transform-box:border-box}
.hands-approach__hand--left{transform:translate3d(calc(-38px * var(--art-scale)),0,0)}
.hands-approach__hand--right{transform:translate3d(calc(36px * var(--art-scale)),0,0)}
.hands-approach__drift--left{--hand-travel:34px}
.hands-approach__drift--right{--hand-travel:-32px}
.hands-approach__drift{
  pointer-events:none;
  animation-name:literary-hands-approach;
  animation-duration:var(--hand-drift);
  animation-timing-function:cubic-bezier(.42,0,.58,1);
  animation-iteration-count:1;
  animation-direction:normal;
  animation-fill-mode:forwards;
  animation-play-state:paused;
}
.hands-approach[data-ready="true"] .hands-approach__drift{animation-play-state:running}
.hands-approach[data-paused] .hands-approach__drift{animation-play-state:paused;will-change:auto}
/* One approach per page load. Keep the final position after 3.5s;
   scrolling and pointer movement never reset or replace this animation.
   Each fingertip stops 4 source pixels from its original almost-touching pose. */
@keyframes literary-hands-approach{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(var(--hand-travel) * var(--art-scale)),0,0)}
}
@media(prefers-reduced-motion:reduce){.hands-approach__hand,.hands-approach__drift{animation:none!important;transform:none!important;will-change:auto}.experience-ready .hands-approach,.experience-ready .research-home{will-change:auto}.cover-explore:hover svg{transform:none}}
@media(forced-colors:active){.hands-approach,.research-home{background:Canvas;color:CanvasText}.hands-approach__art,.hands-approach__title-wrap::before,.cover-header::before,.cover-footer::before{display:none}.hands-approach__title{color:CanvasText;text-shadow:none;-webkit-text-stroke:0}.cover-explore,.cover-seal{background:ButtonFace;color:ButtonText}.cover-brand:focus-visible,.cover-enter:focus-visible,.cover-explore:focus-visible{outline-color:Highlight}.cover-enter,.cover-frame{border-color:CanvasText}}

/* v21: a clear white writing surface against the quieter warm-gray search stage. */
.research-home{background:#f3f1eb;color:#263e50}
.research-home .search-form{background:#fff;border-color:transparent;box-shadow:0 16px 36px -16px #193a5a36,0 4px 12px -6px #193a5a14}
.research-home .search-form:focus-within{border-color:#285e8c;outline:2px solid #285e8c;outline-offset:3px}
.research-home .search-mode{color:#193a5a;font-size:14px}
.research-home #search-query{color:#263e50;font-size:20px;line-height:1.55}
.research-home #search-query::placeholder{color:#596d7d;font-size:18px}
.research-home :is(.scope-button,.attach-action){color:#4a6275}
.research-home .suggestions>span{color:#596d7d}
.research-home .suggestions button{color:#39566c;border-color:#b6c2ca;font-size:13px}
.research-home .tool-secondary{background:#fff;border-color:#a4b3be}
.research-home .tool-secondary:hover{background:#edf2f5}
.research-home .entry-dialog{background:#fff;color:#263e50}
.research-home .corpus-section-heading{color:#193a5a}
.research-home .corpus-cover>img{filter:saturate(.88) contrast(1.025)}
.research-home .corpus-card-title{color:#193a5a;letter-spacing:.02em}
