/* Base and modules — consolidated from direction 17 */

:root{--bg:#222325;--bg-deep:#191a1c;--panel:#28292b;--panel-2:#242527;--ink:#f1f0eb;--muted:#aaa9a3;--muted-2:#96989c;--line:rgba(255,255,255,.15);--line-soft:rgba(255,255,255,.075);--accent:#b6423e;--gold:#caa56b;--gold-soft:rgba(202,165,107,.16);--gold-glow:rgba(202,165,107,.10);--dot:rgba(255,255,255,.052);--side:clamp(20px,3.3vw,58px);--max:1440px;--header:84px;--sans:"Manrope","Avenir Next","Segoe UI",ui-sans-serif,system-ui,sans-serif;--display:"Raleway","Avenir Next","Century Gothic","Segoe UI",sans-serif;--ease:cubic-bezier(.2,.72,.2,1);}
*, *::before, *::after{box-sizing:border-box;} html{scroll-behavior:smooth;background:var(--bg);scroll-padding-top:calc(var(--header) + 24px);overflow-x:clip;} body{margin:0;color:var(--ink);background-color:var(--bg);background-image:radial-gradient(circle,var(--dot) .75px,transparent .85px);background-size:20px 20px;font-family:var(--sans);overflow-x:clip;text-rendering:optimizeLegibility;} body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.92;} a{color:inherit;text-decoration:none;} 
.site-header{position:fixed;z-index:1000;inset:0 0 auto;height:var(--header);display:flex;align-items:center;background:rgba(25,26,28,.92);-webkit-backdrop-filter:blur(4px) saturate(1.04);backdrop-filter:blur(4px) saturate(1.04);} .site-header::after{content:"";position:absolute;z-index:-1;left:0;right:0;top:100%;height:22px;pointer-events:none;background:linear-gradient(180deg,rgba(25,26,28,.42),rgba(25,26,28,.14) 52%,rgba(25,26,28,0));} .header-inner{width:min(calc(100% - 2*var(--side)),var(--max));margin:auto;display:grid;grid-template-columns:160px 1fr 210px;align-items:center;gap:24px;} .brand{width:92px;display:inline-flex;align-items:center;} .brand img{width:100%;height:auto;} .main-nav{display:flex;justify-content:center;gap:clamp(22px,3vw,54px);} .main-nav a, .home-link, .lang-btn{position:relative;padding:9px 0;border:0;background:none;font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.67);cursor:pointer;} .main-nav a::after, .home-link::after, .lang-btn::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:#fff;transition:right .28s var(--ease);} .main-nav a:hover, .main-nav a:focus-visible, .main-nav a.active-page, .home-link:hover, .home-link:focus-visible, .lang-btn:hover, .lang-btn:focus-visible, .lang-btn.active{color:#fff;outline:none;} .main-nav a:hover::after, .main-nav a.active-page::after, .home-link:hover::after, .lang-btn:hover::after, .lang-btn.active::after{right:0;} .header-right{justify-self:end;display:flex;align-items:center;gap:14px;} .lang-switch{display:flex;gap:10px;align-items:center;} .lang-switch i{font-style:normal;color:rgba(255,255,255,.25);font-size:9px;}
       
.section{width:min(calc(100% - 2*var(--side)),var(--max));margin:auto;padding:96px 0;border-bottom:1px solid var(--line);} .section-head{display:grid;grid-template-columns:minmax(150px,.28fr) 1fr;gap:clamp(35px,6vw,96px);} .section-number{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding-top:12px;} .section-title{margin:0;font:400 clamp(42px,4.8vw,76px)/.98 var(--display);letter-spacing:-.04em;max-width:1020px;}.section-compact .section-head{margin-bottom:28px;}.section-compact .section-title:empty{display:none;}
       
   
   
.chapters{display:grid;} .chapter{border:1px solid var(--line-soft);background:rgba(25,26,28,.68);overflow:hidden;} .chapter summary{list-style:none;cursor:pointer;} .chapter>summary{display:grid;grid-template-columns:74px minmax(190px,.4fr) 1fr;gap:24px;padding:26px 28px;transition:background .25s var(--ease);} summary::-webkit-details-marker{display:none;} .chapter>summary:hover{background:rgba(255,255,255,.025);} .chapter>summary span{font-size:10px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;padding-top:4px;} .chapter>summary strong{font:400 clamp(22px,2vw,32px)/1.05 var(--display);letter-spacing:-.028em;} .chapter>summary em{font-style:normal;font-size:14px;line-height:1.65;} .chapter[open]>summary{border-bottom:1px solid var(--line-soft);background:rgba(202,165,107,.045);} .chapter-body{padding:34px 28px 38px;} .chapter-lead{margin:0 0 32px;color:#dcd9d1;font-size:18px;line-height:1.7;max-width:920px;}
        
.chapter-tools{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px;margin-top:24px;} .tool-block{border:1px solid rgba(255,255,255,.075);background:rgba(0,0,0,.10);padding:24px;} .tool-block h4{margin:0 0 18px;color:var(--gold);font-size:10px;letter-spacing:.16em;text-transform:uppercase;} .method-list{display:grid;gap:10px;} .method-item{display:grid;grid-template-columns:minmax(140px,.34fr) 1fr;gap:14px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.065);} .method-item:last-child{border-bottom:0;} .method-item strong{font-size:13px;color:#fff;} .method-item span{font-size:13px;line-height:1.6;color:#bdbbb5;} .criteria-list{margin:0;padding-left:18px;color:#c7c5be;font-size:13px;line-height:1.75;} .criteria-list li{margin-bottom:8px;} .output{margin-top:18px;border-top:1px solid rgba(255,255,255,.07);padding-top:18px;color:#d0cec7;font-size:14px;line-height:1.7;}
   
.chapter-divider{position:relative;height:1px;margin:28px 0 26px;overflow:hidden;} .chapter-divider::before{content:"";position:absolute;left:-22%;top:0;width:24%;height:1px;pointer-events:none;animation:lineSweep 9.6s linear infinite;} .chapter:nth-of-type(2n) .chapter-divider::before{animation-delay:-2.4s;}.chapter:nth-of-type(3n) .chapter-divider::before{animation-delay:-5.2s;}
    
.cta{padding:52px;border:1px solid var(--line-soft);display:grid;gap:30px;} .cta h2{margin:0;font:400 clamp(38px,5vw,74px)/.96 var(--display);letter-spacing:-.04em;max-width:830px;} .cta p{margin:22px 0 0;color:#d0cec7;font-size:16px;line-height:1.75;max-width:720px;} .cta a{justify-self:start;font-size:9px;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:8px;} .decision-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);} .decision-card{background:rgba(25,26,28,.74);padding:18px;} .decision-card strong{display:block;color:#fff;font-size:13px;letter-spacing:.11em;text-transform:uppercase;margin-bottom:10px;} .decision-card span{display:block;color:#aaa9a3;font-size:13px;line-height:1.55;} .footer{width:min(calc(100% - 2*var(--side)),var(--max));margin:auto;padding:34px 0 42px;color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase;display:flex;justify-content:space-between;border-top:0;}
.back-map{display:inline-flex;margin-top:26px;color:#fff;font-size:9px;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:7px;}


/* Module 01 matrix layout */
.chapter.matrix-layout .chapter-body{padding:0;background:linear-gradient(180deg,rgba(0,0,0,.045),rgba(0,0,0,0));}
.chapter-lead-question{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:clamp(28px,4vw,56px);align-items:start;padding:36px 28px;border-bottom:1px solid var(--line-soft);background:rgba(0,0,0,.06);}
.chapter-lead-question .chapter-lead{margin:0;max-width:920px;}
.question-card{border-left:1px solid var(--gold);padding-left:22px;align-self:start;}.question-card span{display:block;margin:0 0 14px;color:var(--gold);font-size:9px;letter-spacing:.16em;text-transform:uppercase;}.question-card strong{display:block;color:#fff;font-weight:600;font-size:clamp(18px,1.6vw,24px);line-height:1.28;letter-spacing:-.032em;text-wrap:balance;}
.chapter-matrix{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(270px,1.15fr) minmax(320px,1.35fr);margin:28px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.012);}
.matrix-row{display:contents;}.matrix-cell{padding:24px;border-right:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);min-height:118px;}.matrix-cell:last-child, .matrix-contribution{border-right:0;}.matrix-header{min-height:0;padding:14px 24px;background:rgba(255,255,255,.022);color:#d7d1c6;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;}.matrix-title h4{margin:0;color:#fff;font-size:15px;line-height:1.22;letter-spacing:-.02em;}.matrix-title .tool-type{display:block;margin-bottom:13px;}.matrix-cell p{margin:0;color:#c9c7c0;font-size:14px;line-height:1.72;}.matrix-contribution p{color:#dedbd3;}.chapter.matrix-layout .chapter-tools{margin:0;padding:0 28px 28px;}.chapter.matrix-layout .output{border:1px solid rgba(202,165,107,.32);background:rgba(202,165,107,.045);padding:18px;margin-top:18px;}.chapter.matrix-layout .back-map{margin-left:28px;margin-bottom:30px;}
@media(max-width:980px){.chapter-lead-question{grid-template-columns:1fr;padding:28px 22px;}.chapter-matrix{grid-template-columns:1fr;margin:22px;}.matrix-header{display:none;}.matrix-cell, .matrix-contribution{border-right:0;min-height:auto;padding:20px;}.matrix-title{border-bottom:0;padding-bottom:10px;}.chapter.matrix-layout .chapter-tools{padding:0 22px 22px;}.chapter.matrix-layout .back-map{margin-left:22px;}}
@media(max-width:620px){.chapter-lead-question{padding:24px 18px;}.question-card{padding-left:16px;}.chapter-matrix{margin:18px;}.chapter.matrix-layout .chapter-tools{padding:0 18px 20px;}.chapter.matrix-layout .back-map{margin-left:18px;}}

@media(max-width:980px){.header-inner{grid-template-columns:1fr auto;}.main-nav{display:none;}.section-head{grid-template-columns:1fr;}.chapter>summary{grid-template-columns:54px 1fr;gap:12px 18px;}.chapter-tools{grid-template-columns:1fr;}.decision-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){:root{--side:18px;}body{background-size:16px 16px;}.header-inner{grid-template-columns:1fr auto;gap:14px;}.brand{width:86px;}.header-right{gap:10px;}.home-link{display:none;}.section{padding:72px 0;}.chapter>summary{grid-template-columns:1fr;padding:22px 18px;}.chapter-body{padding:26px 18px 30px;}.decision-grid{grid-template-columns:1fr;}.method-item{grid-template-columns:1fr;}.cta{padding:30px 22px;}.footer{display:block;line-height:1.9;}}


.section{position:relative;overflow-x:clip;}
.section::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;pointer-events:none;
  
}
.section::before{
  content:"";position:absolute;bottom:0;left:-22%;width:24%;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(202,165,107,.055) 16%,rgba(248,220,155,.78) 50%,rgba(202,165,107,.055) 84%,transparent);
  box-shadow:0 0 8px rgba(202,165,107,.15),0 0 14px rgba(202,165,107,.075);
  animation:lineSweep 9.8s linear infinite;opacity:.88;
}
#map::before{animation-duration:9.2s;animation-delay:-2.1s;}.section-compact::before{animation-duration:10.1s;animation-delay:-5.2s;}
@keyframes lineSweep{0%{transform:translateX(0);opacity:0;}8%{opacity:.8;}52%{opacity:.9;}92%{opacity:.52;}100%{transform:translateX(610%);opacity:0;}}
.section-head{margin-bottom:clamp(58px,5vw,74px);}
.section-title{text-wrap:balance;}.chapter>summary strong{text-wrap:balance;}.chapter>summary em{text-wrap:pretty;}
.chapters{gap:18px;}
.chapter>summary{align-items:center;}.chapter-body{background:linear-gradient(180deg,rgba(0,0,0,.045),rgba(0,0,0,0));}
.tool-block, .chapter{box-shadow:0 18px 40px rgba(0,0,0,.055);}
@media(max-width:980px){.section-head{margin-bottom:46px;}.chapter>summary{align-items:start;}}
@media(max-width:620px){.section-title{font-size:clamp(38px,11.2vw,48px);line-height:.99;}.chapter-lead{font-size:16px;line-height:1.68;}.footer{padding-bottom:34px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important;}*, *::before, *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}.section::before, .chapter-divider::before{opacity:.55;}}


.tool-type{display:inline-flex;align-self:flex-start;margin:0;padding:0;border:0;border-radius:0;color:rgba(202,165,107,.90);font-size:9px;letter-spacing:.16em;text-transform:uppercase;background:transparent;} .chapter:not([open]){background:rgba(25,26,28,.58);}
@media(max-width:620px){.tool-type{font-size:8px;letter-spacing:.12em;}}

.depth-note-call{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  margin:-8px 0 28px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(202,165,107,.52);
  color:rgba(202,165,107,.94);
  font-size:9px;
  line-height:1.2;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  transition:color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);
}
.depth-note-call em{
  font-style:normal;
  color:var(--accent);
  font-size:10px;
  line-height:1;
  transform:translateY(-1px);
  transition:transform .25s var(--ease),color .25s var(--ease);
}
.depth-note-call:hover{color:#fff;border-color:rgba(182,66,62,.72);transform:translateY(-1px);}
.depth-note-call:hover em{transform:translate(2px,-2px);color:#ff544e;}
.chapter.matrix-layout .depth-note-call{margin-left:28px;}
@media(max-width:980px){.chapter.matrix-layout .depth-note-call{margin-left:22px;margin-bottom:24px;}}
@media(max-width:620px){.chapter.matrix-layout .depth-note-call{margin-left:18px;font-size:8.5px;letter-spacing:.13em;}}


.depth-note-list{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:12px 18px;
  margin:0 0 30px;
  padding-top:22px;
}
.depth-note-list .depth-note-call{margin:0;}
.chapter.matrix-layout .depth-note-list{margin-left:28px;margin-bottom:30px;}
.chapter.matrix-layout .depth-note-list .depth-note-call{margin-left:0;}
@media(max-width:980px){.depth-note-list{padding-top:20px;}.chapter.matrix-layout .depth-note-list{margin-left:22px;margin-bottom:26px;}}
@media(max-width:620px){.depth-note-list{display:grid;padding-top:18px;}.chapter.matrix-layout .depth-note-list{margin-left:18px;gap:10px;}.depth-note-list .depth-note-call{width:max-content;}}
@media(max-width:599px){.depth-note-list{display:none;}}


/* Active global identity rules retained from the retired route system */
:root{
  --lab-canvas: #f3f2ee;
  --lab-white: #ffffff;
  --lab-stone: #d8d6cf;
  --lab-cobalt: #2446d8;
  --lab-violet: #b368f2;
  --lab-ink: #111315;
  --lab-graphite: #303234;
  --lab-line: rgba(17, 19, 21, .18);
}

body{
  --accent: var(--lab-cobalt);
  --gold: var(--lab-violet);
  --gold-soft: rgba(179, 104, 242, .16);
  --gold-glow: rgba(36, 70, 216, .10);
}

body.dialog-open{
  overflow: hidden;
}

::selection{
  color: var(--lab-white);
  background: var(--lab-cobalt);
}

body::before{
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .12), transparent 17%, transparent 83%, rgba(0, 0, 0, .12)),
    radial-gradient(circle at 18% 22%, rgba(36, 70, 216, .10) 0, rgba(36, 70, 216, 0) 24%),
    radial-gradient(circle at 82% 16%, rgba(179, 104, 242, .08) 0, rgba(179, 104, 242, 0) 18%),
    radial-gradient(circle at 74% 74%, rgba(36, 70, 216, .06) 0, rgba(36, 70, 216, 0) 22%);
}

.section::after{
  background: linear-gradient(90deg, transparent, rgba(36, 70, 216, .08) 18%, rgba(179, 104, 242, .18) 50%, rgba(36, 70, 216, .08) 82%, transparent);
}

.section::before, .chapter-divider::before{
  background: linear-gradient(90deg, transparent, rgba(36, 70, 216, .08) 16%, rgba(179, 104, 242, .88) 50%, rgba(36, 70, 216, .08) 84%, transparent);
  box-shadow: 0 0 8px rgba(179, 104, 242, .18), 0 0 14px rgba(36, 70, 216, .10);
}


.chapter[open] > summary{
  background: rgba(179, 104, 242, .055);
  border-color: rgba(179, 104, 242, .30);
}

.cta{
  background: linear-gradient(135deg, rgba(36, 70, 216, .14), rgba(179, 104, 242, .09));
}

.sr-only{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}


@keyframes dialogEnter {
  from { opacity: 0; transform: translateX(52px); }
  to { opacity: 1; transform: translateX(0); }
}


@media (max-width: 700px) {
  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  @keyframes dialogEnterMobile {
    from { opacity: 0; transform: translateY(46px); }
    to { opacity: 1; transform: translateY(0); }
  }
}


/* v8.6 · explicit route reading */


/* Current laboratory cover only */
.lab87{
  --l87-ink: #111315;
  --l87-soft: #303336;
  --l87-canvas: #f2f0ea;
  --l87-paper: #fbfaf6;
  --l87-stone: #d7d2c8;
  --l87-blue: #2446d8;
  --l87-cyan: #9acbd6;
  --l87-violet: #6a2873;
  --l87-acid: #c7eb00;
  --l87-line: rgba(17, 19, 21, .19);
  --l87-side: clamp(20px, 4vw, 68px);
  --l87-max: 1540px;
  --l87-display: "Raleway", "Avenir Next", "Century Gothic", sans-serif;
  --l87-sans: "Manrope", "Avenir Next", "Segoe UI", sans-serif;
  --l87-ease: cubic-bezier(.2, .72, .2, 1);
  font-family: var(--l87-sans);
}

.lab87{ color: var(--l87-ink); background: var(--l87-canvas); }
.lab87__inner{ width: min(calc(100% - 2 * var(--l87-side)), var(--l87-max)); margin: auto; }
.lab87__inner{ padding: calc(var(--header) + clamp(64px, 7vw, 108px)) 0 clamp(82px, 8vw, 132px); }
.lab87-eyebrow{ margin: 0 0 24px; color: rgba(17, 19, 21, .58); font-size: 9px; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; }

.lab87-head{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(12px, 1.5vw, 24px); align-items: end; }
.lab87-head > .lab87-eyebrow{ grid-column: 1 / 13; }
.lab87-head h1{ grid-column: 1 / 9; margin: 0; max-width: none; font: 400 clamp(68px, 8.7vw, 142px) / .86 var(--l87-display); letter-spacing: -.067em; }
.lab87-head__promise{ grid-column: 9 / 13; margin: 0 0 .14em; padding: 22px 0 6px 26px; border-top: 1px solid var(--l87-blue); font: 400 clamp(22px, 2.1vw, 34px) / 1.34 var(--l87-sans); letter-spacing: -.035em; text-wrap: balance; }

.lab87-origins{ margin-top: clamp(64px, 7vw, 112px); border-top: 1px solid var(--l87-line); }
.lab87-origins__intro{ display: grid; grid-template-columns: minmax(170px, .48fr) minmax(260px, .82fr) minmax(320px, 1.2fr); gap: clamp(24px, 4vw, 64px); padding: 30px 0 42px; }
.lab87-origins__intro .lab87-eyebrow{ margin-top: 5px; }
.lab87-origins__intro h2{ margin: 0; font: 400 clamp(32px, 3.2vw, 50px) / 1 var(--l87-display); letter-spacing: -.05em; }
.lab87-origins__intro > p:last-child{ margin: 0; color: rgba(17, 19, 21, .7); font-size: 15px; line-height: 1.65; }

.lab87-tabs{ display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
.lab87-tab{ min-height: 132px; padding: 20px; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; color: var(--l87-ink); background: var(--l87-paper); border: 1px solid var(--l87-line); cursor: pointer; transition: transform .22s var(--l87-ease), box-shadow .22s var(--l87-ease); }
.lab87-tab span{ font: 500 clamp(18px, 1.6vw, 26px) / 1 var(--l87-display); letter-spacing: -.04em; }
.lab87-tab i{ align-self: flex-end; font-style: normal; font-size: 18px; }
.lab87-tab:nth-child(2){ background: var(--l87-stone); }
.lab87-tab:nth-child(3){ color: #fff; background: var(--l87-soft); }
.lab87-tab:nth-child(4){ background: var(--l87-cyan); border-radius: 0 70px 0 0; }
.lab87-tab:nth-child(5){ color: #fff; background: var(--l87-violet); }
.lab87-tab:hover{ transform: translateY(-3px); }
.lab87-tab:focus-visible{ outline: 3px solid var(--l87-blue); outline-offset: 3px; }
.lab87-tab.is-active{ position: relative; z-index: 2; box-shadow: 0 14px 34px rgba(17, 19, 21, .16); transform: translateY(-7px); }
.lab87-tab.is-active::after{ content: ""; position: absolute; right: 16px; bottom: -10px; left: 16px; height: 4px; background: var(--l87-acid); }

.lab87-detail{ min-height: 318px; margin-top: 4px; display: grid; grid-template-columns: .72fr 1fr 1fr 1fr; grid-template-rows: 1fr auto; color: #fff; background: var(--l87-ink); border-radius: 0 0 84px 0; overflow: hidden; }
.lab87-detail > div{ padding: clamp(24px, 2.6vw, 40px); border-right: 1px solid rgba(255, 255, 255, .18); }
.lab87-detail span{ display: block; margin-bottom: 18px; color: rgba(255, 255, 255, .52); font-size: 9px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.lab87-detail h3{ margin: 0 0 34px; font: 400 clamp(36px, 4vw, 62px) / .92 var(--l87-display); letter-spacing: -.055em; }
.lab87-detail p{ margin: 0; color: rgba(255, 255, 255, .73); font-size: 14px; line-height: 1.65; }
.lab87-detail__question strong{ display: block; max-width: 420px; font: 400 clamp(21px, 2vw, 31px) / 1.28 var(--l87-sans); letter-spacing: -.035em; }


.lab87-cycle{ margin-top: 42px; display: grid; grid-template-columns: .48fr 2.52fr; gap: clamp(24px, 4vw, 64px); }
.lab87-cycle__label{ margin: 0; padding-top: 18px; border-top: 1px solid var(--l87-line); color: rgba(17, 19, 21, .58); font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.lab87-cycle ol{ margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; }
.lab87-cycle li{ min-height: 190px; padding: 22px; border: 1px solid var(--l87-line); }
.lab87-cycle li + li{ border-left: 0; }
.lab87-cycle li > span{ display: block; margin-bottom: 30px; font: 500 21px / 1 var(--l87-display); letter-spacing: -.04em; }
.lab87-cycle strong{ display: block; margin-bottom: 14px; font-size: 14px; line-height: 1.45; }
.lab87-cycle li p{ margin: 0; color: rgba(17, 19, 21, .62); font-size: 12px; line-height: 1.55; }
.lab87-cycle li:nth-child(1){ color: #fff; background: var(--l87-blue); }
.lab87-cycle li:nth-child(2){ color: #fff; background: var(--l87-violet); }
.lab87-cycle li:nth-child(-n/**/+2) p{ color: rgba(255, 255, 255, .7); }
.lab87-cycle li:nth-child(3){ color: var(--l87-acid); background: var(--l87-ink); border-radius: 0 62px 0 0; }
.lab87-cycle li:nth-child(3) strong{ color: #fff; }
.lab87-cycle li:nth-child(3) p{ color: rgba(255, 255, 255, .65); }


.lab87 button:focus-visible{ outline: 3px solid #b768ee; outline-offset: 3px; }

@media (max-width: 1080px) {
  .lab87-head h1{ grid-column: 1 / 13; }
  .lab87-head__promise{ grid-column: 6 / 13; margin-top: 44px; }
  .lab87-origins__intro{ grid-template-columns: 1fr 1fr; }
  .lab87-tabs{ grid-template-columns: repeat(3, 1fr); }
  .lab87-detail{ grid-template-columns: 1fr 1fr; }
  
  .lab87-cycle{ grid-template-columns: 1fr; }
  
  
  
  
}

@media (max-width: 720px) {
  .lab87__inner{ padding-top: calc(var(--header) + 54px); }
  .lab87-head{ display: block; }
  .lab87-head h1{ font-size: clamp(48px, 14.8vw, 72px); }
  .lab87-head__promise{ margin: 42px 0 0; padding-left: 0; font-size: clamp(20px, 6vw, 27px); }
  .lab87-origins{ margin-top: 58px; }
  .lab87-origins__intro{ display: block; }
  .lab87-origins__intro h2{ margin-bottom: 24px; }
  .lab87-tabs{ grid-template-columns: 1fr 1fr; }
  .lab87-tab{ min-height: 104px; }
  .lab87-detail{ display: block; border-radius: 0 0 52px 0; }
  .lab87-detail > div{ border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  
  .lab87-cycle ol{ grid-template-columns: 1fr; }
  .lab87-cycle li + li{ border-top: 0; border-left: 1px solid var(--l87-line); }
  .lab87-cycle li{ min-height: auto; }
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}

@media (prefers-reduced-motion: reduce) {
  .lab87 *{ transition-duration: .01ms !important; animation-duration: .01ms !important; }
}


/* Six approved module identities */
/* Approved chromatic continuity for the functional module list only · v8.8.8. */
.chapter{--station:#eceae3;--station-ink:#111314;--station-accent:#eceae3;}
.chapter:nth-child(1){--station:#eceae3;--station-ink:#111314;--station-accent:#eceae3;}
.chapter:nth-child(2){--station:#c7c4ba;--station-ink:#111314;--station-accent:#d2cec3;}
.chapter:nth-child(3){--station:#76979e;--station-ink:#111314;--station-accent:#9bbfc4;}
.chapter:nth-child(4){--station:#777a79;--station-ink:#f2f2ee;--station-accent:#b7bab9;}
.chapter:nth-child(5){--station:#37393a;--station-ink:#f2f2ee;--station-accent:#b9bcbd;}
.chapter:nth-child(6){--station:#111213;--station-ink:#f2f2ee;--station-accent:#d6d7d2;}

.chapter>summary, .chapter>summary:hover{
  --fill:46%;
  position:relative;
  display:grid;
  grid-template-columns:46% 54%;
  gap:0;
  align-items:stretch;
  min-height:98px;
  padding:0;
  background-color:rgba(28,30,31,.78);
  background-image:linear-gradient(var(--station),var(--station));
  background-position:left top;
  background-repeat:no-repeat;
  background-size:var(--fill) 100%;
  transition:background-size .62s cubic-bezier(.2,.72,.2,1);
}

.chapter>summary .chapter-identity{
  align-self:stretch;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:26px;
  align-items:center;
  min-height:98px;
  padding:20px 30px 20px 24px;
  background:var(--station);
  color:var(--station-ink);
  font-size:inherit;
  letter-spacing:normal;
  text-transform:none;
}

.chapter>summary .chapter-number{
  display:block;
  width:auto;
  height:auto;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  line-height:1;
  opacity:.72;
}

.chapter>summary .chapter-identity strong{color:inherit;}

.chapter>summary em{
  align-self:stretch;
  display:flex;
  align-items:center;
  grid-column:auto;
  max-width:none;
  padding:20px 30px;
  color:#bdbbb5;
  transition:color .2s ease,opacity .2s ease;
}

.chapter[open]>summary, .chapter[open]>summary:hover{
  --fill:100%;
  border-bottom:1px solid rgba(17,19,20,.18);
  background-color:rgba(28,30,31,.78);
  background-image:linear-gradient(var(--station),var(--station));
  background-position:left top;
  background-repeat:no-repeat;
  background-size:var(--fill) 100%;
  color:var(--station-ink);
  box-shadow:inset 0 3px 0 #b7d90c;
}

.chapter[open]>summary em{color:var(--station-ink);opacity:.72;}
.chapter[open] .chapter-body{animation:chapterReveal .46s cubic-bezier(.2,.72,.2,1) both;}
@keyframes chapterReveal{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}

.chapter .question-card{border-left-color:var(--station-accent);}
.chapter .question-card span, .chapter .tool-type, .chapter .tool-block h4{color:var(--station-accent);}
.chapter .tool-block h4.tool-alert{color:#f04b32;}
.chapter .depth-note-call{color:#b7d90c;border-bottom-color:#b7d90c;}
.chapter .depth-note-call em{color:#b7d90c;}
.chapter .output, .chapter.matrix-layout .output{border:0;border-top:3px solid var(--station-accent);background:rgba(0,0,0,.08);}
.chapter-divider{background:linear-gradient(90deg,transparent,var(--station-accent),transparent);opacity:.18;}
.chapter-divider::before{background:linear-gradient(90deg,transparent,#b7d90c,transparent);box-shadow:0 0 8px rgba(183,217,12,.16),0 0 14px rgba(183,217,12,.08);}

@media(max-width:980px){
  .chapter>summary, .chapter>summary:hover{--fill:48%;grid-template-columns:48% 52%;}
  .chapter[open]>summary, .chapter[open]>summary:hover{--fill:100%;}
  .chapter>summary .chapter-identity{grid-template-columns:46px minmax(0,1fr);gap:18px;padding-left:20px;padding-right:22px;}
  .chapter>summary em{grid-column:auto;padding-left:22px;padding-right:22px;}
}

@media(max-width:620px){
  .chapter>summary, .chapter>summary:hover, .chapter[open]>summary, .chapter[open]>summary:hover{
    --fill:100%;
    grid-template-columns:1fr;
    background-color:var(--station);
    background-image:linear-gradient(var(--station),var(--station));
    color:var(--station-ink);
  }
  .chapter>summary .chapter-identity{grid-template-columns:38px minmax(0,1fr);min-height:auto;padding:18px 17px 10px 16px;gap:14px;}
  .chapter>summary em{grid-column:1;padding:4px 17px 18px 68px;color:var(--station-ink);font-size:13px;opacity:.72;}
}

@media(prefers-reduced-motion:reduce){
  .chapter>summary{transition:none;}
  .chapter[open] .chapter-body{animation:none;}
}


/* Direction 18 · canonical mobile navigation */
.menu-toggle{display:none;position:relative;min-width:54px;padding:9px 0;border:0;background:transparent;color:rgba(255,255,255,.78);font:500 9px/1 var(--sans);letter-spacing:.17em;text-transform:uppercase;cursor:pointer;}
.menu-toggle:hover,.menu-toggle:focus-visible{color:#fff;outline:none;}
.mobile-menu{position:fixed;z-index:980;inset:var(--header) 0 0;display:grid;grid-template-rows:1fr auto;padding:clamp(34px,8vw,72px) var(--side) max(28px,env(safe-area-inset-bottom));background:rgba(25,26,28,.985);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .24s var(--ease),transform .24s var(--ease),visibility 0s linear .24s;}
.mobile-nav{display:grid;align-content:start;border-top:1px solid var(--line);}
.mobile-nav a{display:grid;grid-template-columns:42px 1fr;align-items:center;min-height:clamp(66px,12vw,92px);border-bottom:1px solid var(--line);font:400 clamp(24px,5vw,42px)/1 var(--display);letter-spacing:-.035em;color:#f1f0eb;}
.mobile-nav a::before{content:counter(menu-item,decimal-leading-zero);counter-increment:menu-item;color:var(--muted);font:500 9px/1 var(--sans);letter-spacing:.14em;}
.mobile-nav{counter-reset:menu-item;}
.mobile-nav a:hover,.mobile-nav a:focus-visible{color:#fff;outline:none;background:rgba(255,255,255,.025);}
.mobile-menu__foot{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-top:28px;color:var(--muted);font-size:9px;line-height:1.6;letter-spacing:.14em;text-transform:uppercase;}
.mobile-menu__foot a{color:#fff;}
body.menu-open{overflow:hidden;}
body.menu-open .mobile-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s;}
body.menu-open .menu-toggle{color:#fff;}
.tool-alert--spaced{margin-top:22px;}
@media(max-width:980px){.menu-toggle{display:inline-flex;align-items:center;justify-content:center;}.mobile-menu{display:grid;}}
@media(min-width:981px){.mobile-menu{display:none!important;}}
@media(prefers-reduced-motion:reduce){.mobile-menu{transition:none;}}

/* Contrato cromático fijo · direction-22 */
:root{color-scheme:only light;}
