/* 研究所だけの装飾。既存の作品棚・検索UIのスタイルは変更しません。 */
.site-header nav { display: flex; align-items: center; gap: 22px; }
.site-header .lab-nav { color: var(--amber); }
.site-header .lab-nav:hover { color: #ffe1bc; }

.lab-feature { padding-top: 28px; }
.lab-feature-shell { position: relative; display: grid; overflow: hidden; border: 1px solid #8b725b; border-radius: 13px; background: linear-gradient(128deg, #172b38, #102432 55%, #0a1926); box-shadow: 0 18px 60px #0005; }
.lab-feature-shell::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, var(--amber), #56b7d1 70%, transparent); }
.lab-feature-main { padding: 28px 23px 31px; }
.lab-kicker { margin: 0; color: var(--amber); font: 700 12px/1.5 ui-monospace, Consolas, monospace; letter-spacing: .1em; }
.lab-feature .lab-kicker span { margin-right: 12px; color: #b6c7cb; }
.lab-feature h2 { margin: 15px 0 12px; font-size: clamp(29px, 7vw, 42px); line-height: 1.27; letter-spacing: -.055em; }
.lab-feature h2 em, .lab-intro h1 em { color: var(--amber); font-style: normal; }
.lab-feature-main > p:not(.lab-kicker) { max-width: 580px; margin-bottom: 23px; color: #d2dfe4; line-height: 1.8; }
.lab-entry-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 53px; padding: 9px 17px; border: 1px solid var(--amber); border-radius: 5px; color: #081924; background: var(--amber); font-weight: 900; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.lab-entry-link:hover { background: #ffe0b4; transform: translateY(-2px); }
.lab-entry-link span { font-size: 20px; line-height: 1; }
.lab-feature-side { display: flex; flex-direction: column; justify-content: space-between; gap: 16px; padding: 22px 23px 24px; border-top: 1px solid #53616a; background: #0717228f; }
.lab-side-label { display: flex; justify-content: space-between; gap: 12px; margin: 0; color: var(--amber); font-size: 13px; font-weight: 800; }
.lab-side-label span { color: #a9bec9; font: 700 11px/1.8 ui-monospace, monospace; letter-spacing: .08em; }
.lab-note-category { display: block; color: var(--cyan); font-size: 13px; font-weight: 800; }
.lab-feature-side h3 { margin: 7px 0 8px; font-size: clamp(18px, 4.8vw, 23px); line-height: 1.45; letter-spacing: -.03em; }
.lab-feature-side article p { margin-bottom: 12px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.lab-note-status { display: inline-block; padding: 4px 9px; border: 1px solid #8f775e; border-radius: 3px; color: #f3c58e; font-size: 12px; font-weight: 700; }
.lab-side-foot { margin: 0; padding-top: 15px; border-top: 1px solid #405364; color: #a9c6d3; font-size: 12px; line-height: 1.6; }

.lab-page { background: #07131f; }
.lab-intro { position: relative; padding-top: 55px; padding-bottom: 56px; border-bottom: 1px solid var(--line); }
.lab-intro::after { content: "LAB / GWK"; position: absolute; top: 55px; right: 0; color: #86a5b84a; font: 800 clamp(25px, 6vw, 64px)/1 Arial, sans-serif; letter-spacing: -.06em; pointer-events: none; }
.lab-intro h1 { position: relative; z-index: 1; margin: 17px 0 19px; font-size: clamp(40px, 11vw, 76px); line-height: 1.12; letter-spacing: -.065em; }
.lab-intro-lede { margin-bottom: 11px; font-size: clamp(19px, 4.8vw, 25px); font-weight: 800; line-height: 1.5; }
.lab-intro-copy { max-width: 680px; margin-bottom: 28px; color: #c8d9e1; line-height: 1.85; }
.lab-formula { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.lab-formula span { padding: 10px 14px; border: 1px solid #53758a; border-radius: 5px; color: var(--cyan-soft); background: #112839; font-size: 14px; font-weight: 800; }
.lab-formula b { color: var(--amber); font-size: 25px; line-height: 1; }
.lab-index { padding-top: 52px; padding-bottom: 90px; scroll-margin-top: 24px; }
.lab-index-head { display: flex; align-items: end; justify-content: space-between; gap: 14px; }
.lab-index-head h2 { margin: 7px 0 0; font-size: clamp(24px, 5vw, 32px); letter-spacing: -.04em; line-height: 1.3; }
#lab-result-count { margin: 0 0 3px; color: var(--muted); font-size: 14px; white-space: nowrap; }
.lab-index .search-box { max-width: none; }
.lab-index .filter-line { margin-bottom: 21px; }
.lab-article-list { padding: 0; margin: 0; border-top: 1px solid var(--line-bright); list-style: none; }
.lab-article-row { border-bottom: 1px solid var(--line); }
.lab-article-content { display: grid; grid-template-columns: 38px minmax(0,1fr) 84px; gap: 13px; width: 100%; min-height: 160px; padding: 20px 10px 21px 7px; border-left: 3px solid transparent; color: inherit; text-decoration: none; }
a.lab-article-content:hover, a.lab-article-content:focus-visible { border-left-color: var(--amber); background: #183143; }
.lab-article-number { padding-top: 2px; color: #86a5b7; font: 700 13px/1.4 ui-monospace, monospace; }
.lab-article-body { display: block; min-width: 0; }
.lab-article-category { display: block; margin-bottom: 6px; color: var(--amber); font-size: 13px; font-weight: 800; }
.lab-article-title { display: block; font-size: clamp(18px, 4.8vw, 23px); line-height: 1.4; letter-spacing: -.035em; overflow-wrap: anywhere; }
.lab-article-summary { display: block; margin-top: 8px; color: #becfd8; font-size: 14px; line-height: 1.7; }
.lab-keywords { display: flex; flex-wrap: wrap; gap: 5px 10px; margin-top: 10px; color: #8eb9ca; font-size: 12px; }
.lab-article-status { display: flex; align-items: flex-start; justify-content: flex-end; gap: 8px; color: var(--muted); font-size: 12px; font-weight: 700; text-align: right; white-space: nowrap; }
.lab-article-status .lab-article-arrow { color: var(--amber); font-size: 22px; line-height: 1; }

@media (min-width: 760px) {
  .lab-feature { padding-top: 39px; }
  .lab-feature-shell { grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); }
  .lab-feature-main { padding: 34px 39px 39px; }
  .lab-feature-side { border-top: 0; border-left: 1px solid #53616a; padding: 31px 35px; }
  .lab-intro { padding-top: 79px; padding-bottom: 73px; }
  .lab-index { padding-top: 65px; }
  .lab-article-content { grid-template-columns: 55px minmax(0,1fr) 110px; gap: 22px; padding: 24px 24px 27px 16px; }
}

@media (max-width: 600px) {
  .site-header nav { gap: 0; }
  .site-header nav .nav-explore { display: none; }
  .lab-feature .lab-kicker span { display: block; margin-bottom: 4px; }
  .lab-intro::after { top: 30px; font-size: 28px; }
  .lab-article-content { grid-template-columns: 30px minmax(0,1fr) 68px; gap: 8px; padding-inline: 5px; }
  .lab-article-status { white-space: normal; }
}

@media (max-width: 350px) {
  .lab-article-content { grid-template-columns: 25px minmax(0,1fr) 56px; }
  .lab-article-status { font-size: 11px; }
}


/* 2026-10: visual-only research landing refresh; retains established palette */
.lab-intro {padding-top: 38px; padding-bottom: 32px; border-bottom: 0;}
.lab-intro h1 {font-size: clamp(40px, 7.5vw, 65px); line-height: 1.08; margin: 12px 0 13px;}
.lab-intro-lede {font-size: clamp(18px, 3.6vw, 22px);}
.lab-intro-copy {margin-bottom: 20px; max-width: 640px;}
.lab-intro::after {top: 35px;}
.lab-index {padding-top: 27px;}
.lab-showcase {padding-bottom: 10px;}
.lab-showcase-heading {display: flex; align-items: center; justify-content: space-between; margin: 0 0 11px;}
.lab-showcase-label {color: var(--amber); font-size: 14px; font-weight: 850;}
.lab-showcase-label small {color: #8eb9ca; font-size: 10px; letter-spacing: .14em; margin-left: 9px;}
.lab-showcase-counter {color: #91b6c6; font: 700 12px ui-monospace,monospace;}
.lab-slider {position: relative; display: flex; align-items: center; border: 1px solid #216182; background: #0b2334; border-radius: 12px; box-shadow: 0 15px 45px #0004; overflow: hidden;}
.lab-slider-stage {width: 100%; min-width: 0;}
.lab-slide {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); min-height: 270px;}
.lab-slide-copy {padding: 25px 60px 26px; display:flex;flex-direction:column;justify-content:center;min-width:0;}
.lab-slide-category {color: var(--amber); font-size: 13px; font-weight: 850; margin-bottom: 9px;}
.lab-slide-title {font-size:clamp(21px,3vw,32px);line-height:1.35;letter-spacing:-.035em;margin:0 0 12px;}
.lab-slide-summary {font-size:14px;line-height:1.65;color:#c8d9e1;margin:0 0 12px;}
.lab-slide-tags {display:flex;flex-wrap:wrap;gap:7px 13px;color:#69d5ee;font-size:12px;margin-bottom:16px;}
.lab-slide-link {align-self:flex-start;color:#07131f;background:#41cbea;border-radius:5px;padding:10px 15px;text-decoration:none;font-weight:850;font-size:13px;}
.lab-slide-link:hover {background:#7de7fa;}
.lab-slide-visual {position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;min-height:240px;gap:10px;background:radial-gradient(circle at 52% 55%,#1f6984 0%,#0c354d 37%,#061623 78%);border-left:1px solid #35627a;}
.lab-slide-visual::before {content:"";position:absolute;inset:0;opacity:.25;background:repeating-linear-gradient(90deg,transparent 0 35px,#7ac8dd 36px,transparent 37px),repeating-linear-gradient(0deg,transparent 0 35px,#7ac8dd 36px,transparent 37px);}
.lab-slide-visual-1 {background:radial-gradient(circle at 60% 45%,#2c597c 0%,#0b2e45 45%,#081722 86%);}
.lab-visual-label,.lab-visual-mark,.lab-visual-sub {position:relative;z-index:1;}
.lab-visual-label {font:700 10px ui-monospace,monospace;letter-spacing:.18em;color:#96c4d7;}
.lab-visual-mark {font-size:clamp(38px,5vw,65px);letter-spacing:-.06em;color:#ecf9ff;text-shadow:0 0 35px #25bbf477;}
.lab-visual-sub {font-size:13px;font-weight:850;color:var(--amber);}
.lab-slider-control {position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:38px;height:45px;border:1px solid #44b7d6;background:#09283bd9;color:#c3f2ff;border-radius:8px;cursor:pointer;font-size:31px;line-height:1;}
.lab-slider-control:hover {background:#1c5870;}
.lab-slider-prev {left:10px;}.lab-slider-next {right:10px;}
.lab-slide-dots {display:flex;align-items:center;justify-content:center;gap:9px;margin:13px 0 0;}
.lab-slide-dots button {cursor:pointer;width:30px;height:6px;border:0;border-radius:8px;background:#527386;}
.lab-slide-dots button[aria-current="true"] {background:#43d8f3;}
.lab-article-list {border:0; display:grid;gap:12px;}
.lab-article-row {border:1px solid #23516a;background:linear-gradient(105deg,#102638,#081c2b);border-radius:9px;overflow:hidden;}
.lab-article-content {grid-template-columns:34px 120px minmax(0,1fr) 90px;align-items:center;min-height:138px;padding:15px;gap:15px;border-left:3px solid transparent;}
a.lab-article-content:hover,a.lab-article-content:focus-visible {background:#173449;}
.lab-article-number {font-size:18px;}
.lab-article-title {font-size:clamp(17px,2.3vw,21px);}
.lab-thumb {display:flex;align-items:center;justify-content:center;min-height:95px;align-self:stretch;border:1px solid #225674;border-radius:5px;background:radial-gradient(circle at 30% 25%,#195c76,#081b2b 80%);overflow:hidden;}
.lab-thumb-mark {color:#c3effc;font:800 14px ui-monospace,monospace;letter-spacing:.06em;text-align:center;}
.lab-thumb-1 {background:radial-gradient(circle at 70% 20%,#27547d,#091e32 85%);}
.lab-thumb-2,.lab-thumb-3,.lab-thumb-4 {background:repeating-linear-gradient(90deg,#102939 0 22px,#173449 23px,#102939 24px);}
.lab-article-status {align-items:center;justify-content:flex-end;}
.lab-article-arrow {border:1px solid #4ab9d9;border-radius:50%;height:30px;width:30px;text-align:center;}
.lab-slider-control:focus-visible,.lab-slide-dots button:focus-visible,.lab-slide-link:focus-visible {outline:3px solid #fff;outline-offset:3px;}
@media (max-width: 760px) {
 .lab-intro {padding-top:30px;padding-bottom:26px;}
 .lab-intro::after {font-size:24px;top:20px;}
 .lab-slide {grid-template-columns:1fr;}
 .lab-slide-copy {padding:25px 52px 24px;}
 .lab-slide-visual {order:-1;min-height:160px;border-left:0;border-bottom:1px solid #35627a;}
 .lab-visual-mark {font-size:46px;}
 .lab-slider-control {width:32px;height:40px;}
 .lab-slider-prev {left:6px;}.lab-slider-next {right:6px;}
 .lab-article-content {grid-template-columns:28px 74px minmax(0,1fr);gap:9px;padding:12px;}
 .lab-article-status {grid-column:3;justify-content:flex-start;}
 .lab-thumb {min-height:78px;}
 .lab-thumb-mark {font-size:10px;}
 .lab-article-summary {font-size:13px;}
 .lab-keywords {font-size:11px;}
}
@media(max-width:390px) {
 .lab-intro h1 {font-size:39px;}
 .lab-slide-copy {padding:23px 43px;}
 .lab-slide-title {font-size:21px;}
 .lab-article-content {grid-template-columns:25px 62px minmax(0,1fr);gap:7px;padding:9px;}
 .lab-article-title {font-size:16px;}
}
@media(prefers-reduced-motion:reduce) { .lab-slide-link {transition:none;} }

/* A案: research hero composition, original white / amber / cyan branding */
.lab-intro {display:grid;grid-template-columns:minmax(0,1.12fr) minmax(270px,.88fr);gap:22px;align-items:stretch;min-height:286px;overflow:hidden;padding-top:29px;padding-bottom:22px;}
.lab-intro::after {content:none!important;}
.lab-intro-main {position:relative;z-index:1;align-self:center;}
.lab-intro h1 {white-space:nowrap;font-size:clamp(31px,4.25vw,57px);line-height:1.13;letter-spacing:-.058em;margin:12px 0 13px;}
.lab-intro h1 em {color:var(--amber);font-style:normal;}
.lab-intro-lede {font-size:clamp(17px,1.6vw,21px);}
.lab-intro-copy {max-width:630px;font-size:14px;line-height:1.75;margin-bottom:17px;}
.lab-formula {gap:12px;}
.lab-formula .lab-hero-action {display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:45px;padding:10px 15px;border:1px solid #6db6d0;border-radius:5px;font-size:13px;font-weight:800;text-decoration:none;transition:background .15s,color .15s;}
.lab-hero-action-primary {color:#031521;background:#43d2ed;}
.lab-hero-action-primary:hover {background:#7be8fa;}
.lab-hero-action-secondary {color:#b8f2ff;background:#0b2434;}
.lab-hero-action-secondary:hover {background:#183d51;}
.lab-hero-action span {font-size:22px;line-height:0.8;}
.lab-intro-art {position:relative;isolation:isolate;min-height:255px;overflow:hidden;background:linear-gradient(140deg,#0a283d 0%,#061727 80%);border-radius:6px;}
.lab-intro-art::before {content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 29px,#37a0c914 30px,transparent 31px),linear-gradient(145deg,#0d64902b,transparent 65%);}
.lab-art-heading {position:absolute;top:6px;left:15px;white-space:nowrap;color:#568cac76;font-weight:900;letter-spacing:-.08em;font-size:clamp(38px,5.6vw,77px);line-height:1;}
.lab-art-small {position:absolute;top:91px;left:20px;color:#88c1d6;letter-spacing:.25em;font:700 10px/1.9 ui-monospace,monospace;}
.lab-art-equipment {position:absolute;right:-4%;bottom:-23%;width:66%;height:70%;transform:rotate(-17deg);}
.lab-art-device {position:absolute;right:8%;top:0;width:54%;height:85%;border-radius:19px;background:linear-gradient(135deg,#132b40,#020810 65%,#0f456a);border:6px solid #152f4b;box-shadow:0 0 0 1px #44a6c6,0 15px 35px #000b,inset 3px 3px 20px #0e6da333;}
.lab-art-notebook {position:absolute;left:0;bottom:0;width:65%;height:45%;border:1px solid #29658a;background:repeating-linear-gradient(0deg,#071c2b 0 13px,#326284 14px,#071c2b 15px);box-shadow:9px 14px 19px #0008;}
.lab-art-caption {position:absolute;bottom:17px;left:20px;max-width:44%;color:#b9d9e9;font-size:11px;line-height:1.7;}
@media(max-width:800px){.lab-intro{grid-template-columns:1fr;gap:8px;}.lab-intro h1{white-space:normal;font-size:clamp(35px,7vw,55px);}.lab-intro-art{min-height:165px}.lab-art-small{top:73px}.lab-art-heading{font-size:55px}.lab-art-equipment{height:98%;width:50%;bottom:-46%;}.lab-art-caption{bottom:12px}}
@media(max-width:430px){.lab-intro{padding-top:24px;padding-bottom:17px;}.lab-intro h1{font-size:clamp(32px,9vw,39px);}.lab-formula{gap:8px}.lab-formula .lab-hero-action{flex:1;min-width:0;padding:10px;font-size:11px;gap:6px}.lab-intro-art{min-height:135px}.lab-art-heading{font-size:46px}.lab-art-small{top:60px;font-size:8px}.lab-art-caption{font-size:9px}}
