/* =========================
   Laboratory page styles
   editorial / novel-like variant
   ========================= */

body.lab-page{
  --lab-paper:#f2ece4;
  --lab-paper-soft:rgba(251,247,241,.84);
  --lab-paper-strong:rgba(255,252,247,.92);
  --lab-ink:#181512;
  --lab-muted:rgba(24,21,18,.68);
  --lab-rule:rgba(24,21,18,.12);
  --lab-rule-strong:rgba(24,21,18,.22);
  --lab-accent-rgb:126,70,58;
  --lab-accent-2-rgb:37,46,68;
  --lab-shadow:0 26px 60px rgba(17,13,10,.08);
  --backdrop:url('backdrop-winter.svg');
  --motif:url('motif-winter.svg');

  color:var(--lab-ink);
  background:var(--lab-paper);
  color-scheme:light;
  font-family:'Noto Serif JP',"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  letter-spacing:.01em;
}

html[data-season="spring"] body.lab-page{
  --backdrop:url('backdrop-spring.svg');
  --motif:url('motif-spring.svg');
}

html[data-season="summer"] body.lab-page{
  --backdrop:url('backdrop-summer.svg');
  --motif:url('motif-summer.svg');
}

html[data-season="autumn"] body.lab-page{
  --backdrop:url('backdrop-autumn.svg');
  --motif:url('motif-autumn.svg');
}

html[data-season="winter"] body.lab-page{
  --backdrop:url('backdrop-winter.svg');
  --motif:url('motif-winter.svg');
}

.lab-page p,
.lab-page li,
.lab-page h1,
.lab-page h2,
.lab-page h3{
  margin-top:0;
}

.lab-page p,
.lab-page li{
  line-height:1.92;
}

.lab-page .site-bg{
  background-color:var(--lab-paper);
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.38), rgba(255,255,255,.06)),
    radial-gradient(1100px circle at 12% 8%, rgba(var(--lab-accent-2-rgb),.10), transparent 56%),
    radial-gradient(780px circle at 90% 10%, rgba(var(--lab-accent-rgb),.11), transparent 48%),
    radial-gradient(900px circle at 82% 96%, rgba(var(--lab-accent-2-rgb),.07), transparent 58%),
    var(--backdrop);
  background-repeat:no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-size:auto, auto, auto, auto, cover;
  background-position:center, 0 0, 100% 0, 100% 100%, top center;
}

.lab-page .site-bg::before{
  opacity:.38;
}

.lab-page .site-bg::after{
  opacity:.10;
  filter:grayscale(.20) saturate(.65);
}

.lab-page .motif-layer{
  display:none;
}

.lab-page .site-header{
  padding:96px 18px 26px;
  text-align:left;
}

.lab-page .lab-header-panel{
  width:min(90%, 860px);
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:28px;
  align-items:end;
  padding:clamp(28px, 4vw, 42px);
  background:linear-gradient(180deg, rgba(255,255,255,.74), rgba(249,244,237,.86));
  border:1px solid rgba(24,21,18,.11);
  box-shadow:var(--lab-shadow);
}

.lab-page .lab-header-panel::before{
  inset:0;
  background-image:linear-gradient(180deg, rgba(255,255,255,.18), transparent), var(--washi);
  background-size:auto, 720px 720px;
  opacity:.14;
}

.lab-page .lab-header-panel::after{
  left:28px;
  right:28px;
  top:22px;
  height:1px;
  background:linear-gradient(90deg,
    rgba(var(--lab-accent-2-rgb),.34),
    rgba(var(--lab-accent-rgb),.24),
    transparent 82%);
  opacity:.92;
}

.lab-page .hero-copy,
.lab-page .hero-folio{
  position:relative;
  z-index:1;
}

.lab-page .page-kicker{
  margin:0 0 14px;
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.74rem;
  font-weight:500;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--lab-muted);
}

.lab-page .site-header h1{
  margin:0;
  font-family:'Shippori Mincho B1','Noto Serif JP',"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:clamp(2.6rem, 6vw, 4.2rem);
  font-weight:700;
  line-height:1.08;
  letter-spacing:.10em;
  color:color-mix(in srgb, var(--lab-ink) 86%, rgba(var(--lab-accent-2-rgb),1) 14%);
  text-shadow:0 1px 0 rgba(255,255,255,.46);
  font-feature-settings:"palt" 1;
}

.lab-page .page-lead{
  max-width:34em;
  margin:18px 0 0;
  color:var(--lab-muted);
  font-size:1.03rem;
}

.lab-page .page-lead strong{
  color:inherit;
  font-weight:700;
  background-image:linear-gradient(transparent 58%, rgba(var(--lab-accent-rgb),.16) 58%);
  background-repeat:no-repeat;
  padding:0 .08em;
}

.lab-page .hero-folio{
  min-width:92px;
  padding:8px 0 2px 20px;
  border-left:1px solid var(--lab-rule);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:10px;
}

.lab-page .hero-folio-label{
  writing-mode:vertical-rl;
  text-orientation:mixed;
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.66rem;
  letter-spacing:.24em;
  color:var(--lab-muted);
}

.lab-page .hero-folio-no{
  font-family:'Shippori Mincho B1','Noto Serif JP',serif;
  font-size:2.25rem;
  line-height:1;
  letter-spacing:.04em;
  color:color-mix(in srgb, rgba(var(--lab-accent-rgb),1) 58%, rgba(var(--lab-accent-2-rgb),1) 42%);
}

.lab-page .page-shell{
  width:min(90%, 860px);
  margin:0 auto 48px;
  display:grid;
  gap:22px;
}

.lab-page #people{
  padding-top:clamp(30px, 4vw, 42px);
}

.lab-page .lab-section{
  margin:0;
  padding:clamp(24px, 4vw, 38px);
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(249,245,239,.88));
  border:1px solid rgba(24,21,18,.10);
  box-shadow:var(--lab-shadow);
}

.lab-page .lab-section::before{
  opacity:.12;
}

.lab-page .lab-section::after{
  left:28px;
  right:28px;
  top:24px;
  bottom:auto;
  width:auto;
  height:1px;
  background:linear-gradient(90deg,
    rgba(var(--lab-accent-2-rgb),.32),
    rgba(var(--lab-accent-rgb),.18),
    transparent 84%);
}

.lab-page .section-heading{
  display:flex;
  align-items:flex-end;
  gap:16px;
  margin-bottom:26px;
  padding-bottom:16px;
  border-bottom:1px solid var(--lab-rule);
}

.lab-page .section-kicker{
  margin:0;
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.74rem;
  font-weight:500;
  letter-spacing:.26em;
  color:var(--lab-muted);
}

.lab-page .section h2{
  margin:0;
  font-family:'Shippori Mincho B1','Noto Serif JP',serif;
  font-size:1.55rem;
  font-weight:600;
  letter-spacing:.08em;
  color:color-mix(in srgb, var(--lab-ink) 88%, rgba(var(--lab-accent-2-rgb),1) 12%);
}

.lab-page .section h2::before,
.lab-page .section h2::after{
  content:none;
}

.lab-page .lab-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.4fr) minmax(260px, .92fr);
  gap:20px;
  align-items:start;
}

.lab-page .lab-card{
  position:relative;
  overflow:hidden;
  padding:22px 22px 20px;
  background:linear-gradient(180deg, rgba(255,255,255,.74), rgba(249,245,239,.86));
  border:1px solid rgba(24,21,18,.09);
  box-shadow:0 18px 38px rgba(17,13,10,.05);
}

.lab-page .lab-card::before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(24,21,18,.05);
  pointer-events:none;
}

.lab-page .card-label{
  position:relative;
  z-index:1;
  margin:0 0 14px;
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--lab-muted);
}

.lab-page .intro-copy{
  position:relative;
  z-index:1;
  margin:0 0 22px;
  font-size:1.10rem;
  line-height:1.96;
  color:color-mix(in srgb, var(--lab-ink) 90%, rgba(var(--lab-accent-rgb),1) 10%);
}

.lab-page .keyword-list{
  position:relative;
  z-index:1;
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:4px;
}

.lab-page .keyword-list li{
  position:relative;
  display:grid;
  grid-template-columns:2.9rem 1fr;
  gap:16px;
  align-items:start;
  padding:20px 0 22px;
  border-top:1px solid var(--lab-rule);
}

.lab-page .keyword-list li:first-child{
  border-top:1px solid var(--lab-rule-strong);
}

.lab-page .keyword-list li:hover .keyword-title{
  color:color-mix(in srgb, var(--lab-ink) 74%, rgba(var(--lab-accent-rgb),1) 26%);
  transform:translateX(2px);
}

.lab-page .term-no{
  display:inline-block;
  padding-top:.36rem;
  font-family:'Shippori Mincho B1','Noto Serif JP',serif;
  font-size:1.02rem;
  letter-spacing:.14em;
  color:color-mix(in srgb, rgba(var(--lab-accent-rgb),1) 54%, rgba(var(--lab-accent-2-rgb),1) 46%);
  font-variant-numeric:tabular-nums;
}

.lab-page .keyword-item-copy{
  display:grid;
  gap:10px;
}

.lab-page .keyword-title{
  display:inline-block;
  width:fit-content;
  font-family:'Shippori Mincho B1','Noto Serif JP',serif;
  font-size:clamp(1.38rem, 1.16rem + .66vw, 1.78rem);
  font-weight:700;
  line-height:1.42;
  letter-spacing:.08em;
  color:color-mix(in srgb, var(--lab-ink) 90%, rgba(var(--lab-accent-2-rgb),1) 10%);
  font-feature-settings:"palt" 1;
  text-wrap:balance;
  text-shadow:0 1px 0 rgba(255,255,255,.42);
  background-image:linear-gradient(transparent 74%, rgba(var(--lab-accent-rgb),.11) 74%);
  background-repeat:no-repeat;
  padding:0 .08em .04em 0;
  transition:color .22s ease, transform .22s ease;
}

.lab-page .keyword-question{
  margin:0;
  padding:0 0 0 .12rem;
  display:grid;
  gap:.48rem;
  text-wrap:balance;
}

.lab-page .keyword-question::before{
  content:none;
}

.lab-page .keyword-question-label{
  display:inline-flex;
  align-items:center;
  gap:.54rem;
  width:fit-content;
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.55rem;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.28em;
  color:rgba(var(--lab-accent-rgb),.80);
}

.lab-page .keyword-question-label::before{
  content:"";
  width:1.6rem;
  height:1px;
  background:linear-gradient(90deg,
    rgba(var(--lab-accent-2-rgb),.72),
    rgba(var(--lab-accent-rgb),.28));
}

.lab-page .keyword-question-text{
  display:block;
  max-width:30em;
  font-family:'Noto Serif JP',"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:1rem;
  font-weight:500;
  line-height:1.88;
  letter-spacing:.045em;
  color:color-mix(in srgb, var(--lab-ink) 66%, rgba(var(--lab-accent-2-rgb),1) 34%);
  font-feature-settings:"palt" 1;
  padding:0;
  background:none;
}

.lab-page .keyword-question-text::before,
.lab-page .keyword-question-text::after{
  content:none;
}

.lab-page .notice-card{
  padding-right:48px;
}

.lab-page .notice-card h3{
  position:relative;
  z-index:1;
  margin:0 0 10px;
  font-family:'Shippori Mincho B1','Noto Serif JP',serif;
  font-size:1.18rem;
  font-weight:600;
  letter-spacing:.06em;
  color:var(--lab-ink);
}

.lab-page .notice-card p:last-child{
  margin-bottom:0;
}

.lab-page .vertical-note{
  position:absolute;
  right:14px;
  top:14px;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.68rem;
  letter-spacing:.26em;
  color:rgba(var(--lab-accent-rgb),.82);
}

.lab-page a{
  color:color-mix(in srgb, var(--lab-ink) 78%, rgba(var(--lab-accent-rgb),1) 22%);
  text-decoration:none;
  background-image:linear-gradient(90deg,
    rgba(var(--lab-accent-rgb),.32),
    rgba(var(--lab-accent-2-rgb),.12));
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:100% 1px;
  padding-bottom:.12em;
  box-decoration-break:clone;
  transition:color .18s ease, background-size .18s ease, box-shadow .18s ease;
}

.lab-page a:visited{
  color:color-mix(in srgb, var(--lab-ink) 78%, rgba(var(--lab-accent-rgb),1) 22%);
}

.lab-page a:hover{
  color:rgba(var(--lab-accent-rgb),1);
  background-size:100% 2px;
  box-shadow:inset 0 -.60em 0 rgba(var(--lab-accent-rgb),.06);
}

.lab-page a:focus-visible{
  outline:2px solid rgba(var(--lab-accent-rgb),.34);
  outline-offset:3px;
}

.lab-page .back-link{
  margin-top:18px;
}

.lab-page .lab-footer{
  width:min(90%, 860px);
  margin:0 auto 22px;
  padding:0 0 18px;
  text-align:left;
}

.lab-page .lab-footer .footer-note{
  margin:0;
  padding-top:18px;
  border-top:1px solid var(--lab-rule);
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.78rem;
  letter-spacing:.12em;
  color:var(--lab-muted);
}

@media (max-width: 820px){
  .lab-page .lab-grid{
    grid-template-columns:1fr;
  }

  .lab-page .notice-card{
    padding-right:56px;
  }
}

@media (max-width: 720px){
  .lab-page .site-header{
    padding:72px 14px 20px;
  }

  .lab-page .lab-header-panel,
  .lab-page .page-shell,
  .lab-page .lab-footer{
    width:min(92%, 860px);
  }

  .lab-page .lab-header-panel{
    grid-template-columns:1fr;
    gap:18px;
  }

  .lab-page .hero-folio{
    min-width:auto;
    padding:14px 0 0;
    border-left:0;
    border-top:1px solid var(--lab-rule);
    flex-direction:row;
    align-items:center;
    gap:14px;
  }

  .lab-page .hero-folio-label{
    writing-mode:horizontal-tb;
    letter-spacing:.22em;
  }

  .lab-page .hero-folio-no{
    font-size:1.85rem;
  }

  .lab-page .section-heading{
    align-items:baseline;
    flex-wrap:wrap;
    gap:8px 14px;
  }
}

@media (max-width: 520px){
  .lab-page .lab-header-panel,
  .lab-page .lab-section,
  .lab-page .lab-card{
    padding-inline:18px;
  }

  .lab-page .lab-header-panel::after,
  .lab-page .lab-section::after{
    left:18px;
    right:18px;
  }

  .lab-page .keyword-list li{
    grid-template-columns:2.2rem 1fr;
    gap:10px;
  }
}

@media (prefers-color-scheme: dark){
  body.lab-page{
    --lab-paper:#ede6dd;
    --lab-paper-soft:rgba(248,244,238,.86);
    --lab-paper-strong:rgba(253,250,245,.94);
    --lab-ink:#181512;
    --lab-muted:rgba(24,21,18,.68);
    --lab-rule:rgba(24,21,18,.11);
    --lab-rule-strong:rgba(24,21,18,.20);
    --lab-shadow:0 24px 56px rgba(17,13,10,.09);
  }

  .lab-page .site-bg{
    background-color:var(--lab-paper);
    background-image:
      linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.08)),
      radial-gradient(1100px circle at 12% 8%, rgba(var(--lab-accent-2-rgb),.09), transparent 56%),
      radial-gradient(780px circle at 90% 10%, rgba(var(--lab-accent-rgb),.10), transparent 48%),
      radial-gradient(900px circle at 82% 96%, rgba(var(--lab-accent-2-rgb),.06), transparent 58%),
      var(--backdrop);
  }

  .lab-page .site-bg::before{
    opacity:.34;
    mix-blend-mode:multiply;
  }

  .lab-page .site-bg::after{
    opacity:.08;
    mix-blend-mode:multiply;
    filter:grayscale(.18) saturate(.72);
  }

  .lab-page .lab-header-panel,
  .lab-page .lab-section,
  .lab-page .lab-card{
    background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(247,242,236,.90));
    border-color:rgba(24,21,18,.10);
    box-shadow:var(--lab-shadow);
  }

  .lab-page .lab-card::before{
    border-color:rgba(24,21,18,.05);
  }

  .lab-page .site-header h1{
    text-shadow:0 1px 0 rgba(255,255,255,.52);
  }

  .lab-page .page-lead strong{
    background-image:linear-gradient(transparent 58%, rgba(var(--lab-accent-rgb),.18) 58%);
  }
}

/* =========================
   Laboratory sub navigation
   ========================= */

.lab-page .lab-local-nav{
  width:min(90%, 860px);
  margin:0 auto 22px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.lab-page .lab-nav-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border:1px solid rgba(24,21,18,.11);
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(247,242,236,.86));
  box-shadow:0 12px 28px rgba(17,13,10,.04);
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.74rem;
  font-weight:500;
  letter-spacing:.14em;
  color:var(--lab-ink);
  text-decoration:none;
  background-image:none;
  background-size:0 0;
  padding-bottom:10px;
  box-decoration-break:initial;
}

.lab-page .lab-nav-link::before{
  content:attr(data-nav-no);
  display:inline-block;
  min-width:1.8em;
  font-family:'Shippori Mincho B1','Noto Serif JP',serif;
  font-size:.92rem;
  letter-spacing:.08em;
  color:color-mix(in srgb, rgba(var(--lab-accent-rgb),1) 56%, rgba(var(--lab-accent-2-rgb),1) 44%);
  font-variant-numeric:tabular-nums;
}

.lab-page .lab-nav-link:visited{
  color:var(--lab-ink);
}

.lab-page .lab-nav-link:hover{
  color:var(--lab-ink);
  background-image:none;
  background-size:0 0;
  box-shadow:0 16px 34px rgba(17,13,10,.06);
}

.lab-page .lab-nav-link:focus-visible{
  outline:2px solid rgba(var(--lab-accent-rgb),.34);
  outline-offset:3px;
}

.lab-page .lab-nav-link.is-current,
.lab-page .lab-nav-link[aria-current="page"]{
  border-color:rgba(24,21,18,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(244,238,231,.94));
}

.lab-page .lab-nav-link.lab-nav-link-secondary{
  color:var(--lab-muted);
}

/* =========================
   Additional section styles
   ========================= */

.lab-page .section-intro{
  max-width:40em;
  margin:0 0 20px;
  color:var(--lab-muted);
}

.lab-page .directory-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px;
}

.lab-page .directory-card{
  min-height:216px;
  display:flex;
  flex-direction:column;
}

.lab-page .directory-card h3,
.lab-page .archive-note-card h3,
.lab-page .person-name{
  position:relative;
  z-index:1;
  margin:0 0 10px;
  font-family:'Shippori Mincho B1','Noto Serif JP',serif;
  font-size:1.18rem;
  font-weight:600;
  letter-spacing:.06em;
  color:var(--lab-ink);
}

.lab-page .directory-card p:last-child,
.lab-page .archive-note-card p:last-child{
  margin-bottom:0;
}

.lab-page .card-action{
  margin-top:auto;
  padding-top:12px;
}

.lab-page .card-action a{
  display:inline-flex;
  align-items:center;
  gap:.5em;
}

.lab-page .card-action a::after{
  content:"→";
  font-size:.92em;
}

/* =========================
   Member pages
   ========================= */

.lab-page.lab-directory-page .page-lead{
  max-width:31em;
}

.lab-page .people-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px;
  align-items:start;
}

.lab-page .person-card,
.lab-page .archive-note-card{
  min-height:252px;
}

.lab-page .person-card-featured{
  background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(246,241,234,.90));
}

.lab-page .person-card-template{
  background:linear-gradient(180deg, rgba(255,255,255,.66), rgba(248,244,238,.82));
}

.lab-page .person-card-template .card-label{
  color:rgba(var(--lab-accent-rgb),.88);
}

.lab-page .person-meta{
  position:relative;
  z-index:1;
  margin:16px 0 0;
  display:grid;
  gap:0;
}

.lab-page .person-field{
  display:grid;
  grid-template-columns:7.2rem minmax(0, 1fr);
  gap:16px;
  align-items:start;
  padding:14px 0;
  border-top:1px solid var(--lab-rule);
}

.lab-page .person-field:first-child{
  border-top:1px solid var(--lab-rule-strong);
}

.lab-page .person-meta dt{
  margin:0;
  padding-top:.12em;
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.74rem;
  font-weight:500;
  letter-spacing:.18em;
  color:var(--lab-muted);
}

.lab-page .person-meta dd{
  margin:0;
  color:color-mix(in srgb, var(--lab-ink) 92%, rgba(var(--lab-accent-rgb),1) 8%);
}

.lab-page .archive-note-card p{
  position:relative;
  z-index:1;
}

@media (max-width: 820px){
  .lab-page .lab-local-nav{
    width:min(92%, 860px);
  }

  .lab-page .directory-grid,
  .lab-page .people-list{
    grid-template-columns:1fr;
  }
}

@media (max-width: 720px){
  .lab-page .lab-local-nav{
    margin-bottom:18px;
    gap:8px;
  }

  .lab-page .lab-nav-link{
    width:100%;
    justify-content:flex-start;
  }
}

@media (max-width: 520px){
  .lab-page .person-field{
    grid-template-columns:1fr;
    gap:8px;
  }
}


/* =========================
   Mobile refinements
   ========================= */

@media (max-width: 720px){
  .lab-page .site-header{
    padding:60px 14px 18px;
  }

  .lab-page .lab-header-panel,
  .lab-page .page-shell,
  .lab-page .lab-footer,
  .lab-page .lab-local-nav{
    width:min(calc(100% - 28px), 860px);
  }

  .lab-page .page-shell{
    gap:16px;
    margin-bottom:40px;
  }

  .lab-page .lab-header-panel{
    gap:18px;
    padding:24px 18px 18px;
  }

  .lab-page .lab-section,
  .lab-page .lab-card{
    padding:20px 18px 18px;
  }

  .lab-page #people{
    padding-top:24px;
  }

  .lab-page .lab-header-panel::after,
  .lab-page .lab-section::after{
    left:18px;
    right:18px;
    top:18px;
  }

  .lab-page .lab-card::before{
    inset:8px;
  }

  .lab-page .page-kicker{
    margin-bottom:10px;
    font-size:.68rem;
    letter-spacing:.22em;
  }

  .lab-page .site-header h1{
    font-size:clamp(2.1rem, 10.8vw, 3.2rem);
    letter-spacing:.07em;
  }

  .lab-page.lab-directory-page .site-header h1{
    font-size:clamp(1.9rem, 9.4vw, 2.62rem);
    line-height:1.16;
    letter-spacing:.04em;
    text-wrap:balance;
  }

  .lab-page .page-lead{
    margin-top:14px;
    font-size:.98rem;
    line-height:1.84;
  }

  .lab-page .hero-folio{
    padding-top:12px;
    gap:12px;
  }

  .lab-page .hero-folio-label{
    font-size:.62rem;
    letter-spacing:.18em;
  }

  .lab-page .hero-folio-no{
    font-size:1.62rem;
  }

  .lab-page .lab-local-nav{
    margin-bottom:18px;
    flex-wrap:nowrap;
    gap:8px;
    overflow-x:auto;
    padding:0 2px 4px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .lab-page .lab-local-nav::-webkit-scrollbar{
    display:none;
  }

  .lab-page .lab-nav-link{
    width:auto;
    min-width:max-content;
    flex:0 0 auto;
    justify-content:flex-start;
    padding:10px 12px;
    gap:8px;
    font-size:.68rem;
    letter-spacing:.10em;
    scroll-snap-align:start;
  }

  .lab-page .lab-nav-link::before{
    min-width:1.6em;
    font-size:.84rem;
  }

  .lab-page .section-heading{
    margin-bottom:20px;
    padding-bottom:12px;
    gap:10px 14px;
  }

  .lab-page .section h2{
    font-size:1.24rem;
    line-height:1.36;
  }

  .lab-page .lab-grid,
  .lab-page .directory-grid,
  .lab-page .people-list{
    gap:14px;
  }

  .lab-page .card-label{
    margin-bottom:12px;
    font-size:.66rem;
    letter-spacing:.18em;
  }

  .lab-page .intro-copy{
    margin-bottom:18px;
    font-size:1rem;
    line-height:1.84;
  }

  .lab-page .keyword-list li{
    grid-template-columns:2.1rem 1fr;
    gap:11px;
    padding:16px 0 18px;
  }

  .lab-page .term-no{
    padding-top:.28rem;
    font-size:.94rem;
  }

  .lab-page .keyword-item-copy{
    gap:8px;
  }

  .lab-page .keyword-title{
    font-size:1.16rem;
    line-height:1.48;
    letter-spacing:.06em;
  }

  .lab-page .keyword-question{
    gap:.42rem;
    padding-left:.08rem;
  }

  .lab-page .keyword-question-label{
    font-size:.52rem;
    letter-spacing:.22em;
    gap:.42rem;
  }

  .lab-page .keyword-question-label::before{
    width:1.3rem;
  }

  .lab-page .keyword-question-text{
    font-size:.89rem;
    line-height:1.78;
    letter-spacing:.035em;
  }

  .lab-page .notice-card{
    padding-right:20px;
  }

  .lab-page .vertical-note{
    right:12px;
    top:12px;
    font-size:.62rem;
    letter-spacing:.18em;
  }

  .lab-page .directory-card,
  .lab-page .person-card,
  .lab-page .archive-note-card{
    min-height:0;
  }

  .lab-page .directory-card h3,
  .lab-page .archive-note-card h3,
  .lab-page .person-name{
    font-size:1.08rem;
    line-height:1.5;
  }

  .lab-page .card-action{
    padding-top:10px;
  }

  .lab-page .person-meta{
    margin-top:14px;
  }

  .lab-page .person-field{
    grid-template-columns:1fr;
    gap:8px;
    padding:12px 0;
  }

  .lab-page .person-meta dt{
    display:inline-flex;
    align-items:center;
    width:fit-content;
    padding:2px 8px;
    border:1px solid var(--lab-rule);
    background:rgba(255,255,255,.52);
    font-size:.64rem;
    letter-spacing:.14em;
    line-height:1.6;
  }

  .lab-page .person-meta dd{
    font-size:.98rem;
    line-height:1.78;
  }
}

@media (max-width: 520px){
  .lab-page .site-header{
    padding:54px 12px 16px;
  }

  .lab-page .lab-header-panel,
  .lab-page .page-shell,
  .lab-page .lab-footer,
  .lab-page .lab-local-nav{
    width:min(calc(100% - 24px), 860px);
  }

  .lab-page .lab-header-panel,
  .lab-page .lab-section,
  .lab-page .lab-card{
    padding-inline:16px;
  }

  .lab-page .lab-header-panel::after,
  .lab-page .lab-section::after{
    left:16px;
    right:16px;
  }

  .lab-page .site-header h1{
    font-size:clamp(1.95rem, 10.6vw, 2.8rem);
    letter-spacing:.05em;
  }

  .lab-page.lab-directory-page .site-header h1{
    font-size:clamp(1.74rem, 8.8vw, 2.28rem);
  }

  .lab-page .page-kicker{
    font-size:.64rem;
    letter-spacing:.18em;
  }

  .lab-page .page-lead{
    font-size:.96rem;
  }

  .lab-page .hero-folio-label{
    font-size:.58rem;
  }

  .lab-page .hero-folio-no{
    font-size:1.46rem;
  }

  .lab-page .lab-nav-link{
    padding:9px 11px;
    font-size:.64rem;
  }

  .lab-page .section h2{
    font-size:1.14rem;
  }

  .lab-page .keyword-list li{
    grid-template-columns:1.9rem 1fr;
    gap:9px;
    padding:15px 0 16px;
  }

  .lab-page .term-no{
    padding-top:.22rem;
    font-size:.82rem;
  }

  .lab-page .keyword-title{
    font-size:1.04rem;
    line-height:1.46;
    letter-spacing:.05em;
  }

  .lab-page .keyword-question{
    gap:.34rem;
    padding-left:.06rem;
  }

  .lab-page .keyword-question-label{
    font-size:.48rem;
    letter-spacing:.18em;
    gap:.34rem;
  }

  .lab-page .keyword-question-label::before{
    width:1.1rem;
  }

  .lab-page .keyword-question-text{
    font-size:.84rem;
    line-height:1.72;
    letter-spacing:.03em;
  }

  .lab-page .directory-card h3,
  .lab-page .archive-note-card h3,
  .lab-page .person-name{
    font-size:1.02rem;
  }

  .lab-page .person-field{
    gap:7px;
  }
}

/* =========================
   Research themes: compact titles + literary hover epigraph
   ========================= */

.lab-page .keyword-list{
  gap:0;
}

.lab-page .keyword-list .keyword-item{
  position:relative;
  display:block;
  grid-template-columns:none;
  gap:0;
  align-items:initial;
  padding:12px 0;
  border-top:1px solid var(--lab-rule);
  transition:border-color .28s ease;
}

.lab-page .keyword-list .keyword-item:first-child{
  border-top-color:var(--lab-rule-strong);
}

.lab-page .keyword-trigger{
  position:relative;
  appearance:none;
  -webkit-appearance:none;
  display:grid;
  grid-template-columns:2.6rem 1fr;
  gap:14px;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  background:none;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
}

.lab-page .keyword-trigger::after{
  content:"";
  position:absolute;
  left:calc(2.6rem + 14px);
  right:0;
  bottom:-2px;
  height:1px;
  background:linear-gradient(90deg,
    rgba(var(--lab-accent-2-rgb),.54),
    rgba(var(--lab-accent-rgb),.24),
    transparent 88%);
  opacity:0;
  transform:scaleX(.42);
  transform-origin:left center;
  transition:opacity .24s ease, transform .42s cubic-bezier(.22, 1, .36, 1);
}

.lab-page .keyword-list .term-no{
  padding-top:.08em;
  font-size:.92rem;
  letter-spacing:.08em;
  transition:color .28s ease, transform .32s cubic-bezier(.22, 1, .36, 1);
}

.lab-page .keyword-list .keyword-item-copy{
  display:grid;
  gap:4px;
  min-width:0;
}

.lab-page .keyword-list .keyword-title{
  display:block;
  width:auto;
  margin:0;
  padding:0;
  background:none;
  text-shadow:none;
  font-family:'Shippori Mincho B1','Noto Serif JP',serif;
  font-size:1.02rem;
  font-weight:600;
  line-height:1.56;
  letter-spacing:.04em;
  color:color-mix(in srgb, var(--lab-ink) 92%, rgba(var(--lab-accent-rgb),1) 8%);
  font-feature-settings:"palt" 1;
  text-wrap:balance;
  transition:color .28s ease, transform .36s cubic-bezier(.22, 1, .36, 1), letter-spacing .28s ease;
}

.lab-page .keyword-question-inline{
  margin:0;
  display:grid;
  gap:.34rem;
  padding:0;
}

.lab-page .keyword-question-inline::before{
  content:none;
}

.lab-page .keyword-question-inline .keyword-question-label{
  display:inline-flex;
  align-items:center;
  gap:.44rem;
  width:fit-content;
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.51rem;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.24em;
  color:rgba(var(--lab-accent-rgb),.76);
}

.lab-page .keyword-question-inline .keyword-question-label::before{
  content:"";
  width:1.28rem;
  height:1px;
  background:linear-gradient(90deg,
    rgba(var(--lab-accent-2-rgb),.58),
    rgba(var(--lab-accent-rgb),.22));
}

.lab-page .keyword-question-inline .keyword-question-text{
  display:block;
  max-width:30em;
  padding:0;
  background:none;
  font-family:'Noto Serif JP',"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:.84rem;
  font-weight:500;
  line-height:1.76;
  letter-spacing:.045em;
  color:color-mix(in srgb, var(--lab-ink) 68%, rgba(var(--lab-accent-2-rgb),1) 32%);
  font-feature-settings:"palt" 1;
  text-wrap:pretty;
}

.lab-page .keyword-question-inline .keyword-question-text::before,
.lab-page .keyword-question-inline .keyword-question-text::after{
  content:none;
}

.lab-page .theme-epigraph{
  display:none;
  position:relative;
  margin-top:16px;
  padding:15px 0 0;
  border-top:1px solid rgba(24,21,18,.10);
}

.lab-page .theme-epigraph::before{
  content:"";
  position:absolute;
  left:0;
  top:15px;
  bottom:3px;
  width:1px;
  background:linear-gradient(180deg,
    rgba(var(--lab-accent-rgb),0),
    rgba(var(--lab-accent-rgb),.34) 16%,
    rgba(var(--lab-accent-2-rgb),.28) 78%,
    rgba(var(--lab-accent-2-rgb),0));
}

.lab-page .theme-epigraph-label{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin:0 0 8px .88rem;
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.53rem;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.26em;
  color:rgba(var(--lab-accent-rgb),.76);
}

.lab-page .theme-epigraph-label::before{
  content:"";
  width:1.34rem;
  height:1px;
  background:linear-gradient(90deg,
    rgba(var(--lab-accent-2-rgb),.58),
    rgba(var(--lab-accent-rgb),.24));
}

.lab-page .theme-epigraph-text{
  margin:0;
  min-height:3.4em;
  padding:0 0 0 .88rem;
  font-family:'Noto Serif JP',"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;
  font-size:.94rem;
  font-weight:500;
  line-height:1.88;
  letter-spacing:.065em;
  color:color-mix(in srgb, var(--lab-ink) 58%, rgba(var(--lab-accent-2-rgb),1) 42%);
  font-feature-settings:"palt" 1;
  text-wrap:pretty;
  transition:color .28s ease;
}

.lab-page .theme-epigraph-text.is-idle{
  color:color-mix(in srgb, var(--lab-muted) 92%, rgba(var(--lab-accent-2-rgb),1) 8%);
}

.lab-page .theme-epigraph-text.is-active::before{
  content:"「";
  margin-right:.14em;
  color:rgba(var(--lab-accent-rgb),.72);
}

.lab-page .theme-epigraph-text.is-active::after{
  content:"」";
  margin-left:.10em;
  color:rgba(var(--lab-accent-rgb),.72);
}

.lab-page.lab-theme-enhanced .theme-epigraph{
  display:grid;
  gap:0;
}

@media (min-width: 721px){
  .lab-page.lab-theme-enhanced .keyword-question-inline{
    display:none;
  }

  .lab-page .keyword-item:hover,
  .lab-page .keyword-item:focus-within,
  .lab-page .keyword-item.is-active{
    border-top-color:var(--lab-rule-strong);
  }

  .lab-page .keyword-item:hover .keyword-trigger::after,
  .lab-page .keyword-item:focus-within .keyword-trigger::after,
  .lab-page .keyword-item.is-active .keyword-trigger::after{
    opacity:1;
    transform:scaleX(1);
  }

  .lab-page .keyword-item:hover .term-no,
  .lab-page .keyword-item:focus-within .term-no,
  .lab-page .keyword-item.is-active .term-no{
    color:color-mix(in srgb, rgba(var(--lab-accent-rgb),1) 64%, rgba(var(--lab-accent-2-rgb),1) 36%);
    transform:translateX(1px);
  }

  .lab-page .keyword-item:hover .keyword-title,
  .lab-page .keyword-item:focus-within .keyword-title,
  .lab-page .keyword-item.is-active .keyword-title{
    color:color-mix(in srgb, var(--lab-ink) 78%, rgba(var(--lab-accent-rgb),1) 22%);
    transform:translateX(2px);
    letter-spacing:.055em;
  }

  .lab-page .keyword-trigger:focus-visible{
    outline:2px solid rgba(var(--lab-accent-rgb),.26);
    outline-offset:6px;
  }
}

.lab-page .theme-epigraph.is-refresh .theme-epigraph-text{
  animation:labEpigraphFade .46s cubic-bezier(.22, 1, .36, 1);
}

@keyframes labEpigraphFade{
  from{
    opacity:0;
    transform:translateY(5px);
    filter:blur(2px);
  }
  to{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}

@media (max-width: 720px), (hover: none), (pointer: coarse){
  .lab-page.lab-theme-enhanced .theme-epigraph{
    display:none;
  }

  .lab-page .keyword-list .keyword-item{
    padding:13px 0 14px;
  }

  .lab-page .keyword-trigger{
    grid-template-columns:2.1rem 1fr;
    gap:11px;
    cursor:default;
  }

  .lab-page .keyword-trigger::after{
    display:none;
  }

  .lab-page .keyword-list .term-no{
    padding-top:.28rem;
    font-size:.94rem;
  }

  .lab-page .keyword-list .keyword-item-copy{
    gap:6px;
  }

  .lab-page .keyword-list .keyword-title{
    font-size:1.06rem;
    line-height:1.5;
    letter-spacing:.045em;
    transform:none;
  }

  .lab-page .keyword-question-inline{
    display:grid;
    gap:.36rem;
  }

  .lab-page .keyword-question-inline .keyword-question-label{
    font-size:.5rem;
    letter-spacing:.20em;
    gap:.38rem;
  }

  .lab-page .keyword-question-inline .keyword-question-label::before{
    width:1.14rem;
  }

  .lab-page .keyword-question-inline .keyword-question-text{
    font-size:.82rem;
    line-height:1.72;
    letter-spacing:.035em;
  }
}

@media (max-width: 520px){
  .lab-page .keyword-list .keyword-item{
    padding:12px 0 13px;
  }

  .lab-page .keyword-trigger{
    grid-template-columns:1.9rem 1fr;
    gap:9px;
  }

  .lab-page .keyword-list .term-no{
    padding-top:.22rem;
    font-size:.82rem;
  }

  .lab-page .keyword-list .keyword-title{
    font-size:1.01rem;
    line-height:1.48;
    letter-spacing:.04em;
  }

  .lab-page .keyword-question-inline{
    gap:.32rem;
  }

  .lab-page .keyword-question-inline .keyword-question-label{
    font-size:.47rem;
    letter-spacing:.17em;
    gap:.32rem;
  }

  .lab-page .keyword-question-inline .keyword-question-label::before{
    width:1.04rem;
  }

  .lab-page .keyword-question-inline .keyword-question-text{
    font-size:.78rem;
    line-height:1.68;
  }
}

@media (prefers-reduced-motion: reduce){
  .lab-page .keyword-list .keyword-item,
  .lab-page .keyword-list .term-no,
  .lab-page .keyword-list .keyword-title,
  .lab-page .keyword-trigger::after,
  .lab-page .theme-epigraph-text{
    transition:none;
    animation:none;
  }
}


/* =========================
   Research themes: theory-first hover swap
   ========================= */

.lab-page .theme-epigraph{
  display:none !important;
}

.lab-page .keyword-list{
  gap:0;
}

.lab-page .keyword-list .keyword-item{
  padding:11px 0;
}

.lab-page .keyword-trigger{
  grid-template-columns:2.55rem 1fr;
  gap:14px;
  align-items:center;
  min-height:2.5rem;
  cursor:default;
}

.lab-page .keyword-list .term-no{
  align-self:start;
  padding-top:.18rem;
  transition:color .26s ease, transform .34s cubic-bezier(.22, 1, .36, 1), opacity .24s ease;
}

.lab-page .keyword-list .keyword-item-copy{
  position:relative;
  display:block;
  min-height:2.3rem;
  padding-right:.2rem;
  overflow:hidden;
}

.lab-page .keyword-list .keyword-title,
.lab-page .keyword-question-inline{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  min-width:0;
  max-width:100%;
}

.lab-page .keyword-list .keyword-title{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
  transition:
    opacity .26s ease,
    transform .42s cubic-bezier(.22, 1, .36, 1),
    filter .36s ease,
    color .28s ease,
    letter-spacing .32s ease;
}

.lab-page .keyword-question-inline{
  display:flex;
  align-items:center;
  gap:0;
  margin:0;
  padding-left:0;
  opacity:0;
  transform:translateY(.62rem);
  filter:blur(5px);
  pointer-events:none;
  transition:
    opacity .26s ease,
    transform .48s cubic-bezier(.22, 1, .36, 1),
    filter .40s ease;
}

.lab-page .keyword-question-inline::before{
  content:none;
  display:none;
}

.lab-page .keyword-question-inline .keyword-question-label{
  display:none;
}

.lab-page .keyword-question-inline .keyword-question-text{
  display:block;
  width:100%;
  max-width:32em;
  padding:0;
  background:none;
  font-family:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN','Hiragino Mincho Pro',serif;
  font-size:.88rem;
  font-weight:500;
  line-height:1.62;
  letter-spacing:.075em;
  color:color-mix(in srgb, var(--lab-ink) 66%, rgba(var(--lab-accent-2-rgb),1) 34%);
  font-feature-settings:'palt' 1;
  text-wrap:pretty;
}

.lab-page .keyword-question-inline .keyword-question-text::before,
.lab-page .keyword-question-inline .keyword-question-text::after{
  display:inline-block;
  color:rgba(var(--lab-accent-rgb),.68);
}

.lab-page .keyword-question-inline .keyword-question-text::before{
  content:'「';
  margin-right:.16em;
}

.lab-page .keyword-question-inline .keyword-question-text::after{
  content:'」';
  margin-left:.12em;
}

@media (min-width: 721px){
  .lab-page .keyword-trigger:hover .keyword-title,
  .lab-page .keyword-trigger:focus-visible .keyword-title{
    opacity:0;
    transform:translateY(-.6rem);
    filter:blur(4px);
    letter-spacing:.09em;
  }

  .lab-page .keyword-trigger:hover .keyword-question-inline,
  .lab-page .keyword-trigger:focus-visible .keyword-question-inline{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }

  .lab-page .keyword-item:hover,
  .lab-page .keyword-item:focus-within{
    border-top-color:var(--lab-rule-strong);
  }

  .lab-page .keyword-trigger:hover::after,
  .lab-page .keyword-trigger:focus-visible::after{
    opacity:1;
    transform:scaleX(1);
  }

  .lab-page .keyword-trigger:hover .term-no,
  .lab-page .keyword-trigger:focus-visible .term-no{
    color:color-mix(in srgb, rgba(var(--lab-accent-rgb),1) 64%, rgba(var(--lab-accent-2-rgb),1) 36%);
    transform:translateX(1px);
  }

  .lab-page .keyword-trigger:hover .keyword-question-inline .keyword-question-text,
  .lab-page .keyword-trigger:focus-visible .keyword-question-inline .keyword-question-text{
    color:color-mix(in srgb, var(--lab-ink) 60%, rgba(var(--lab-accent-rgb),1) 40%);
  }

  .lab-page .keyword-trigger:focus-visible{
    outline:2px solid rgba(var(--lab-accent-rgb),.26);
    outline-offset:6px;
  }
}

@media (max-width: 720px), (hover: none), (pointer: coarse){
  .lab-page .keyword-list .keyword-item{
    padding:12px 0;
  }

  .lab-page .keyword-trigger{
    grid-template-columns:2.05rem 1fr;
    gap:10px;
    min-height:0;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }

  .lab-page .keyword-list .term-no{
    padding-top:.18rem;
    font-size:.9rem;
    transform:none;
  }

  .lab-page .keyword-list .keyword-item-copy{
    min-height:2.42rem;
    overflow:hidden;
  }

  .lab-page .keyword-list .keyword-title,
  .lab-page .keyword-question-inline{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
  }

  .lab-page .keyword-list .keyword-title{
    font-size:1.02rem;
    line-height:1.5;
    letter-spacing:.04em;
    opacity:1;
    transform:none;
    filter:none;
  }

  .lab-page .keyword-question-inline{
    display:flex;
    padding-left:0;
    opacity:0;
    transform:translateY(.42rem);
    filter:blur(4px);
  }

  .lab-page .keyword-question-inline .keyword-question-text{
    max-width:none;
    font-size:.76rem;
    line-height:1.56;
    letter-spacing:.03em;
  }

  .lab-page .keyword-question-inline .keyword-question-text::before{
    margin-right:.08em;
  }

  .lab-page .keyword-question-inline .keyword-question-text::after{
    margin-left:.06em;
  }

  .lab-page .keyword-trigger:active .keyword-title,
  .lab-page .keyword-trigger.is-pressed .keyword-title{
    opacity:0;
    transform:translateY(-.38rem);
    filter:blur(3px);
    letter-spacing:.07em;
  }

  .lab-page .keyword-trigger:active .keyword-question-inline,
  .lab-page .keyword-trigger.is-pressed .keyword-question-inline{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }

  .lab-page .keyword-trigger:active .term-no,
  .lab-page .keyword-trigger.is-pressed .term-no{
    color:color-mix(in srgb, rgba(var(--lab-accent-rgb),1) 64%, rgba(var(--lab-accent-2-rgb),1) 36%);
  }
}

@media (max-width: 520px){
  .lab-page .keyword-trigger{
    grid-template-columns:1.84rem 1fr;
    gap:8px;
  }

  .lab-page .keyword-list .term-no{
    font-size:.82rem;
  }

  .lab-page .keyword-list .keyword-item-copy{
    min-height:2.56rem;
  }

  .lab-page .keyword-list .keyword-title{
    font-size:.98rem;
  }

  .lab-page .keyword-question-inline .keyword-question-text{
    font-size:.72rem;
    line-height:1.54;
  }
}

@media (prefers-reduced-motion: reduce){
  .lab-page .keyword-list .keyword-title,
  .lab-page .keyword-question-inline,
  .lab-page .keyword-question-inline::before,
  .lab-page .keyword-list .term-no{
    transition:none;
    filter:none;
  }
}

/* =========================
   Information archive / What's New rotator
   ========================= */

.lab-page .notice-column{
  display:grid;
  grid-template-rows:auto auto;
  gap:12px;
  align-content:start;
}

.lab-page .notice-card-rotating{
  display:flex;
  flex-direction:column;
  height:308px;
  min-height:308px;
  padding-right:54px;
}

.lab-page .notice-card-rotating .card-label{
  margin-bottom:12px;
}

.lab-page .notice-card-rotating .notice-stack{
  position:relative;
  z-index:1;
  display:grid;
  align-content:start;
  gap:12px;
  flex:1;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:rgba(109, 94, 80, .22) transparent;
  padding-right:6px;
}

.lab-page .notice-card-rotating .notice-stack.is-refresh{
  animation:labNoticeRefresh .48s cubic-bezier(.22, 1, .36, 1);
}

.lab-page .notice-card-rotating .notice-stack:focus-visible{
  outline:2px solid rgba(var(--lab-accent-rgb),.22);
  outline-offset:4px;
}

.lab-page .notice-card-rotating .notice-stack::-webkit-scrollbar{
  width:6px;
}

.lab-page .notice-card-rotating .notice-stack::-webkit-scrollbar-track{
  background:transparent;
}

.lab-page .notice-card-rotating .notice-stack::-webkit-scrollbar-thumb{
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:linear-gradient(180deg,
    rgba(150,136,120,.24),
    rgba(118,105,91,.18));
  box-shadow:0 0 0 1px rgba(24,21,18,.03);
}

.lab-page .notice-card-rotating .notice-stack:hover::-webkit-scrollbar-thumb,
.lab-page .notice-card-rotating .notice-stack:focus-visible::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,
    rgba(148,133,117,.30),
    rgba(115,102,88,.24));
}

.lab-page .notice-meta{
  position:relative;
  z-index:1;
  margin:0;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.lab-page .notice-kind{
  display:inline-flex;
  align-items:center;
  padding:3px 8px;
  border:1px solid rgba(24,21,18,.10);
  background:rgba(255,255,255,.42);
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.16em;
  color:rgba(var(--lab-accent-rgb),.88);
}

.lab-page .notice-date{
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.12em;
  color:var(--lab-muted);
  font-variant-numeric:tabular-nums;
}

.lab-page .notice-card-rotating h3.notice-title{
  position:relative;
  z-index:1;
  margin:0;
  font-family:'Shippori Mincho B1','Noto Serif JP',serif;
  font-size:1.14rem;
  font-weight:600;
  line-height:1.62;
  letter-spacing:.05em;
  color:var(--lab-ink);
  display:block;
  overflow:visible;
  text-wrap:pretty;
}

.lab-page .notice-summary{
  position:relative;
  z-index:1;
  margin:0;
  color:color-mix(in srgb, var(--lab-ink) 86%, rgba(var(--lab-accent-rgb),1) 14%);
  font-size:.95rem;
  line-height:1.86;
  letter-spacing:.02em;
  display:block;
  overflow:visible;
  text-wrap:pretty;
}

.lab-page .notice-switcher-wrap{
  position:relative;
  z-index:1;
  flex:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--lab-rule);
}

.lab-page .notice-switcher-wrap.is-single{
  justify-content:flex-end;
}

.lab-page .notice-switcher{
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  flex:0 0 auto;
}

.lab-page .notice-switch{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  width:20px;
  height:14px;
  margin:0;
  padding:0;
  border:0;
  background:none;
  cursor:pointer;
}

.lab-page .notice-switch::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  background:rgba(24,21,18,.24);
  transform:translateY(-50%) scaleX(.72);
  transform-origin:center;
  transition:transform .22s ease, height .22s ease, background-color .22s ease, opacity .22s ease;
}

.lab-page .notice-switch:hover::before,
.lab-page .notice-switch:focus-visible::before{
  background:rgba(var(--lab-accent-rgb),.72);
}

.lab-page .notice-switch.is-active::before,
.lab-page .notice-switch[aria-current="true"]::before{
  height:2px;
  background:color-mix(in srgb, rgba(var(--lab-accent-rgb),1) 58%, rgba(var(--lab-accent-2-rgb),1) 42%);
  transform:translateY(-50%) scaleX(1);
}

.lab-page .notice-switch:focus-visible{
  outline:2px solid rgba(var(--lab-accent-rgb),.26);
  outline-offset:3px;
}

.lab-page .notice-scroll-hint{
  flex:none;
  margin:0;
  display:inline-flex;
  align-items:center;
  gap:0;
  white-space:nowrap;
  user-select:none;
  pointer-events:none;
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.56rem;
  font-weight:500;
  letter-spacing:.22em;
  color:color-mix(in srgb, var(--lab-muted) 84%, rgba(var(--lab-accent-rgb),1) 16%);
  opacity:0;
  visibility:hidden;
  transform:translateY(4px);
  transition:opacity .24s ease, transform .24s ease, visibility .24s linear;
}

.lab-page .notice-scroll-hint::before{
  content:"";
  width:14px;
  height:1px;
  margin-right:8px;
  background:linear-gradient(90deg,
    rgba(var(--lab-accent-2-rgb),.14),
    rgba(var(--lab-accent-rgb),.28));
}

.lab-page .notice-scroll-arrow{
  display:inline-block;
  margin:0 .04em 0 .02em;
  letter-spacing:0;
  transform:translateY(-.04em);
}

.lab-page .notice-card-rotating.has-overflow:not(.is-scroll-end) .notice-scroll-hint{
  opacity:.88;
  visibility:visible;
  transform:translateY(0);
}

.lab-page .notice-archive-button{
  margin:0;
}

.lab-page .notice-archive-button a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 16px;
  border:1px solid rgba(24,21,18,.11);
  background:linear-gradient(180deg, rgba(255,255,255,.74), rgba(247,242,236,.88));
  box-shadow:0 14px 28px rgba(17,13,10,.04);
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.74rem;
  font-weight:500;
  letter-spacing:.16em;
  color:var(--lab-ink);
  text-decoration:none;
  background-image:none;
  background-size:0 0;
  padding-bottom:12px;
  box-decoration-break:initial;
  transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease, color .18s ease;
}

.lab-page .notice-archive-button a:visited{
  color:var(--lab-ink);
}

.lab-page .notice-archive-button a:hover{
  color:rgba(var(--lab-accent-rgb),1);
  background-image:none;
  background-size:0 0;
  box-shadow:0 18px 34px rgba(17,13,10,.06);
  transform:translateY(-1px);
}

.lab-page .notice-archive-button a:focus-visible{
  outline:2px solid rgba(var(--lab-accent-rgb),.28);
  outline-offset:3px;
}

.lab-page .notice-archive-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:20px;
}

.lab-page .notice-archive-card{
  min-height:0;
}

.lab-page .notice-archive-card.is-featured{
  background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(246,241,234,.90));
}

.lab-page .notice-archive-head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}

.lab-page .notice-archive-badge{
  display:inline-flex;
  align-items:center;
  padding:3px 8px;
  border:1px solid rgba(var(--lab-accent-rgb),.16);
  background:rgba(var(--lab-accent-rgb),.07);
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.14em;
  color:rgba(var(--lab-accent-rgb),.86);
  white-space:nowrap;
}

.lab-page .notice-archive-card h3{
  position:relative;
  z-index:1;
  margin:0 0 10px;
  font-family:'Shippori Mincho B1','Noto Serif JP',serif;
  font-size:1.12rem;
  font-weight:600;
  line-height:1.62;
  letter-spacing:.05em;
  color:var(--lab-ink);
  text-wrap:pretty;
}

.lab-page .notice-archive-summary{
  position:relative;
  z-index:1;
  margin:0;
  color:color-mix(in srgb, var(--lab-ink) 88%, rgba(var(--lab-accent-rgb),1) 12%);
  line-height:1.88;
}

@keyframes labNoticeRefresh{
  from{
    opacity:0;
    transform:translateY(6px);
    filter:blur(3px);
  }
  to{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}

@media (max-width: 820px){
  .lab-page .notice-archive-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 720px){
  .lab-page .notice-column{
    gap:10px;
  }

  .lab-page .notice-card-rotating{
    height:300px;
    min-height:300px;
    padding-right:48px;
  }

  .lab-page .notice-card-rotating .notice-stack{
    gap:10px;
  }

  .lab-page .notice-kind{
    font-size:.58rem;
    letter-spacing:.14em;
  }

  .lab-page .notice-date{
    font-size:.62rem;
    letter-spacing:.10em;
  }

  .lab-page .notice-card-rotating h3.notice-title{
    font-size:1.08rem;
    line-height:1.58;
  }

  .lab-page .notice-summary{
    font-size:.88rem;
    line-height:1.78;
  }

  .lab-page .notice-switcher-wrap{
    margin-top:16px;
    gap:12px;
    padding-top:12px;
  }

  .lab-page .notice-switch{
    width:18px;
  }

  .lab-page .notice-scroll-hint{
    font-size:.52rem;
    letter-spacing:.18em;
  }

  .lab-page .notice-scroll-hint::before{
    width:12px;
    margin-right:6px;
  }

  .lab-page .notice-archive-button a{
    min-height:44px;
    font-size:.70rem;
    letter-spacing:.13em;
  }

  .lab-page .notice-archive-card h3{
    font-size:1.06rem;
  }
}

@media (max-width: 520px){
  .lab-page .notice-card-rotating{
    height:286px;
    min-height:286px;
    padding-right:44px;
  }

  .lab-page .notice-card-rotating .notice-stack{
    gap:9px;
  }

  .lab-page .notice-card-rotating h3.notice-title{
    font-size:1.02rem;
  }

  .lab-page .notice-summary{
    font-size:.84rem;
    line-height:1.72;
  }

  .lab-page .notice-switch{
    width:16px;
    height:12px;
  }

  .lab-page .notice-scroll-hint{
    font-size:.49rem;
    letter-spacing:.14em;
  }

  .lab-page .notice-scroll-hint::before{
    width:10px;
    margin-right:5px;
  }

  .lab-page .notice-archive-button a{
    min-height:42px;
    padding:11px 14px;
    font-size:.66rem;
    letter-spacing:.11em;
  }

  .lab-page .notice-archive-card h3{
    font-size:1.02rem;
  }
}

@media (prefers-reduced-motion: reduce){
  .lab-page .notice-card-rotating .notice-stack.is-refresh{
    animation:none;
  }

  .lab-page .notice-switch::before,
  .lab-page .notice-scroll-hint,
  .lab-page .notice-archive-button a{
    transition:none;
  }
}


/* =========================
   Latest refinements
   ========================= */

.lab-page .notice-scroll-hint{
  gap:.26em;
  font-family:'Noto Serif JP','Shippori Mincho B1',serif;
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.12em;
  color:color-mix(in srgb, var(--lab-muted) 74%, rgba(var(--lab-accent-rgb),1) 26%);
}

.lab-page .notice-scroll-hint::before{
  width:18px;
  margin-right:10px;
  background:linear-gradient(90deg,
    rgba(var(--lab-accent-2-rgb),.10),
    rgba(var(--lab-accent-rgb),.24));
}

.lab-page .notice-scroll-prefix,
.lab-page .notice-scroll-suffix{
  letter-spacing:.12em;
}

.lab-page .notice-scroll-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 .18em;
  font-size:.86rem;
  line-height:1;
  color:color-mix(in srgb, rgba(var(--lab-accent-rgb),1) 60%, rgba(var(--lab-accent-2-rgb),1) 40%);
  transform:translateY(-.06em);
}

.lab-page #people .directory-grid{
  align-items:start;
}

.lab-page #people .directory-card{
  min-height:168px;
  padding-block:18px;
  justify-content:flex-start;
}

.lab-page #people .directory-card .card-label{
  margin-bottom:10px;
}

.lab-page #people .directory-card h3{
  margin-bottom:0;
  font-size:1.10rem;
  line-height:1.48;
}

.lab-page #people .directory-card .card-action{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--lab-rule);
}

.lab-page #people .directory-card .card-action a{
  font-size:.82rem;
  letter-spacing:.08em;
}

.lab-page .person-link-row{
  position:relative;
  z-index:1;
  margin:-2px 0 2px;
}

.lab-page .person-link{
  display:inline-flex;
  align-items:center;
  gap:.45em;
  font-family:'Noto Sans JP',system-ui,sans-serif;
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.12em;
  color:color-mix(in srgb, var(--lab-muted) 76%, rgba(var(--lab-accent-rgb),1) 24%);
  text-decoration:none;
  background-image:none;
  background-size:0 0;
}

.lab-page .person-link::after{
  content:"↗";
  font-size:.82em;
  line-height:1;
  transform:translateY(-.05em);
}

.lab-page .person-link:visited{
  color:color-mix(in srgb, var(--lab-muted) 76%, rgba(var(--lab-accent-rgb),1) 24%);
}

.lab-page .person-link:hover{
  color:rgba(var(--lab-accent-rgb),1);
  background-image:none;
  background-size:0 0;
}

.lab-page .person-link:focus-visible{
  outline:2px solid rgba(var(--lab-accent-rgb),.26);
  outline-offset:3px;
}

.lab-page .notice-summary,
.lab-page .notice-archive-summary{
  white-space:pre-line;
  overflow-wrap:anywhere;
}

.lab-page .notice-summary a,
.lab-page .notice-archive-summary a{
  color:color-mix(in srgb, rgba(var(--lab-accent-rgb),1) 68%, rgba(var(--lab-accent-2-rgb),1) 32%);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.16em;
  background-image:none;
  background-size:0 0;
  box-shadow:none;
  padding-bottom:0;
}

.lab-page .notice-summary a:visited,
.lab-page .notice-archive-summary a:visited{
  color:color-mix(in srgb, rgba(var(--lab-accent-rgb),1) 62%, rgba(var(--lab-accent-2-rgb),1) 38%);
}

.lab-page .notice-summary a:hover,
.lab-page .notice-archive-summary a:hover{
  color:color-mix(in srgb, rgba(var(--lab-accent-rgb),1) 76%, rgba(var(--lab-accent-2-rgb),1) 24%);
  background-image:none;
  background-size:0 0;
  box-shadow:none;
}

.lab-page .notice-summary a:focus-visible,
.lab-page .notice-archive-summary a:focus-visible{
  outline:2px solid rgba(var(--lab-accent-rgb),.24);
  outline-offset:3px;
}

@media (max-width: 720px){
  .lab-page .notice-scroll-hint{
    font-size:.56rem;
    letter-spacing:.10em;
  }

  .lab-page .notice-scroll-hint::before{
    width:14px;
    margin-right:7px;
  }

  .lab-page .notice-scroll-arrow{
    font-size:.76rem;
  }

  .lab-page #people .directory-card{
    min-height:0;
    padding-block:16px;
  }

  .lab-page #people .directory-card .card-action{
    margin-top:12px;
    padding-top:10px;
  }

  .lab-page #people .directory-card .card-action a{
    font-size:.76rem;
  }

  .lab-page .person-link{
    font-size:.66rem;
    letter-spacing:.10em;
  }
}

@media (max-width: 520px){
  .lab-page .notice-scroll-hint{
    font-size:.52rem;
  }

  .lab-page .notice-scroll-hint::before{
    width:11px;
    margin-right:5px;
  }

  .lab-page .notice-scroll-arrow{
    font-size:.70rem;
  }

  .lab-page #people .directory-card h3{
    font-size:1.02rem;
  }
}
