:root{--lab-navy:#031426;--lab-blue:#0875e8;--lab-ice:#55bdff;--lab-ink:#061a31;--lab-muted:#61738a;--lab-line:#d8e2ed;--lab-paper:#f8fafc}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.diagrams-page{margin:0;background:var(--lab-paper);color:var(--lab-ink);font-family:"IBM Plex Sans",sans-serif;overflow-x:hidden}
.diagrams-page main{overflow:hidden}
.diagrams-page .site-header{z-index:50}
.lab-hero{position:relative;min-height:calc(100svh - 82px);height:900px;color:#fff;background:#020e1e;isolation:isolate;overflow:hidden}
.lab-hero-image,.lab-hero-overlay{position:absolute;inset:0;width:100%;height:100%}
.lab-hero-image{object-fit:cover;object-position:center}
.lab-hero-overlay{z-index:1;background:linear-gradient(90deg,rgba(1,12,29,.96) 0%,rgba(1,13,31,.88) 41%,rgba(2,16,34,.24) 67%,rgba(2,12,25,.05) 100%)}
.lab-hero-inner{position:relative;z-index:2;width:min(1560px,calc(100% - 9vw));height:100%;margin:auto;padding:55px 0 70px;display:flex;flex-direction:column}
.lab-mark{display:flex;align-items:center;gap:30px;font-size:13px;letter-spacing:.22em}
.lab-mark i{display:block;width:64px;height:1px;background:rgba(255,255,255,.45)}
.lab-mark span{color:var(--lab-ice)}
.lab-hero-copy{width:min(690px,48vw);margin:auto 0 60px}
.lab-eyebrow{margin:0 0 28px;color:var(--lab-ice);font-size:14px;font-weight:600;letter-spacing:.2em}
.lab-hero h1{margin:0;font-size:clamp(48px,4.6vw,78px);font-weight:400;letter-spacing:-.045em;line-height:1.06}
.lab-hero h1 span{display:block;margin-top:14px;font-size:.74em}
.lab-hero h1 em{color:var(--lab-ice);font-family:"Noto Serif Display",serif;font-weight:500}
.lab-rule,.title-rule{display:block;width:64px;height:3px;margin:38px 0;background:var(--lab-blue)}
.lab-hero-copy>p:last-child{max-width:620px;margin:0;color:rgba(255,255,255,.73);font-size:18px;line-height:1.8}
.lab-hero-facts{display:grid;grid-template-columns:repeat(4,1fr);width:min(760px,51vw);border-top:1px solid rgba(255,255,255,.13)}
.lab-hero-facts article{display:grid;grid-template-columns:56px 1fr;gap:14px;padding:25px 22px 0 0;border-right:1px solid rgba(255,255,255,.13)}
.lab-hero-facts article+article{padding-left:22px}
.lab-hero-facts article:last-child{border-right:0}
.lab-hero-facts article>span{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(85,189,255,.75);border-radius:50%;color:var(--lab-ice);font-size:22px}
.lab-hero-facts b,.lab-hero-facts small{display:block}
.lab-hero-facts b{margin:3px 0 7px;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.lab-hero-facts small{color:rgba(255,255,255,.59);font-size:12px;line-height:1.5}
.scroll-cue{position:absolute;z-index:3;left:50%;bottom:22px;display:grid;justify-items:center;gap:8px;color:#fff;text-decoration:none;font-size:10px;letter-spacing:.25em}
.scroll-cue i{width:1px;height:26px;background:rgba(255,255,255,.6)}
.results-section,.meaning-section{padding:120px max(5vw,30px)}
.results-section{background:linear-gradient(135deg,#fff 0%,#f6f9fd 100%)}
.section-intro,.meaning-head{width:min(1480px,100%);margin:0 auto 52px;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);gap:80px;align-items:end}
.section-kicker{margin:0 0 28px;color:#52657d;font-size:14px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.section-kicker span{color:var(--lab-blue)}
.section-intro h2,.meaning-head h2,.lab-why h2{margin:0;font-size:clamp(42px,4vw,66px);line-height:1.04;letter-spacing:-.045em}
.section-intro h2 em,.meaning-head h2 em,.lab-why h2 em{color:#2b73d8;font-family:"Noto Serif Display",serif;font-weight:500}
.section-intro .title-rule,.meaning-head .title-rule,.lab-why .title-rule{margin:28px 0}
.section-intro>div>p:last-child,.meaning-head>p,.lab-why-copy>p{max-width:560px;margin:0;color:var(--lab-muted);font-size:17px;line-height:1.75}
.lab-note{display:flex;align-items:center;gap:22px;padding:25px 28px;border:1px solid var(--lab-line);border-radius:14px;background:rgba(239,245,252,.72)}
.lab-note span{display:grid;place-items:center;flex:0 0 58px;height:58px;border:1px solid #c8daee;border-radius:50%;color:var(--lab-blue);font-size:25px;background:#fff}
.lab-note p{margin:0;color:#40566f;font-size:16px;line-height:1.65}
.lab-note b{color:var(--lab-blue)}
.results-grid{width:min(1480px,100%);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.result-card{overflow:hidden;border:1px solid var(--lab-line);border-radius:16px;background:#fff;box-shadow:0 20px 55px rgba(8,31,57,.06)}
.result-card header{display:flex;align-items:center;gap:18px;padding:26px 30px 12px}
.result-card header>span,.thermal-icon{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:50%;background:#edf5ff;color:var(--lab-blue);font-size:23px}
.result-card h3{margin:0 0 5px;font-size:21px}
.result-card p{margin:0;color:var(--lab-muted);font-size:15px;line-height:1.5}
.chart-preview,.thermal-preview{display:block;width:100%;padding:0;border:0;background:#fff;cursor:zoom-in}
.chart-preview img{display:block;width:100%;height:330px;padding:8px 24px;object-fit:contain;transition:transform .28s ease}
.chart-preview:hover img,.thermal-preview:hover img{transform:scale(1.015)}
.view-chart{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 60px);margin:0 30px;padding:18px 0;border:0;border-top:1px solid var(--lab-line);background:transparent;color:#0868d7;font:600 15px "IBM Plex Sans",sans-serif;cursor:pointer;text-align:left}
.view-chart span{font-size:22px;transition:transform .25s ease}
.view-chart:hover span{transform:translate(3px,-3px)}
.thermal-card{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.2fr;min-height:300px}
.thermal-copy{display:flex;flex-direction:column;align-items:flex-start;padding:48px 36px 28px}
.thermal-copy>div{margin-top:22px}
.thermal-copy .view-chart{width:100%;margin:auto 0 0}
.thermal-preview{overflow:hidden;background:#08054c}
.thermal-preview img{display:block;width:100%;height:100%;min-height:310px;object-fit:cover;transition:transform .28s ease}
.meaning-section{background:#fff}
.meaning-head{align-items:start}
.meaning-head>p{align-self:end}
.meaning-grid{width:min(1480px,100%);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.meaning-grid article{padding:28px 26px;border:1px solid var(--lab-line);border-radius:15px;background:#fff;box-shadow:0 16px 42px rgba(8,31,57,.05);transition:transform .26s ease,box-shadow .26s ease}
.meaning-grid article:hover{transform:translateY(-5px);box-shadow:0 22px 52px rgba(8,31,57,.1)}
.meaning-grid article>div{display:flex;align-items:center;gap:18px}
.meaning-grid article>div>span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(145deg,#0875e8,#034bad);color:#fff;font-size:27px}
.meaning-grid article>div>small{color:#aeb9c8;font-size:28px;font-weight:600}
.meaning-grid h3{min-height:56px;margin:27px 0 0;font-size:20px;line-height:1.35}
.meaning-grid article>i{display:block;width:32px;height:3px;margin:14px 0 22px;background:var(--lab-blue)}
.meaning-grid p{min-height:110px;margin:0;color:var(--lab-muted);font-size:15px;line-height:1.7}
.meaning-grid a{display:flex;justify-content:space-between;margin-top:24px;padding-top:18px;border-top:1px solid var(--lab-line);color:#0868d7;font-size:14px;font-weight:600;text-decoration:none}
.report-strip{width:min(1480px,100%);margin:38px auto 0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;padding:28px 36px;border-radius:16px;background:#031b38;color:#fff}
.report-icon{display:grid;place-items:center;width:72px;height:72px;border:1px solid #1786fa;border-radius:50%;color:#42a5ff;font-weight:700}
.report-strip h3{margin:0 0 5px;font-size:24px}
.report-strip p{margin:0;color:rgba(255,255,255,.68);font-size:15px}
.report-strip>a,.lab-contact-strip>a{padding:17px 24px;border:1px solid #1682f1;border-radius:4px;color:#64b4ff;font-weight:600;text-decoration:none;transition:background .25s ease,color .25s ease}
.report-strip>a:hover,.lab-contact-strip>a:hover{background:#0875e8;color:#fff}
.lab-why{position:relative;display:grid;grid-template-columns:1.15fr 1fr;background:#f8fafc}
.lab-why-copy{padding:120px 6vw}
.lab-why-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px}
.lab-why-grid article{min-height:145px;padding:18px 26px 18px 0;border-bottom:1px solid var(--lab-line)}
.lab-why-grid article:not(:nth-child(3n+1)){padding-left:26px;border-left:1px solid var(--lab-line)}
.lab-why-grid b,.lab-why-grid span{display:block}
.lab-why-grid b{margin-bottom:12px;font-size:16px}
.lab-why-grid span{color:var(--lab-muted);font-size:14px;line-height:1.6}
.lab-why-image{position:relative;margin:0;min-height:760px;background:#061a31;overflow:hidden}
.lab-why-image>img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) brightness(.58)}
.lab-why-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,15,31,.1),rgba(2,15,31,.68))}
.lab-why-image figcaption{position:absolute;z-index:2;left:7%;right:7%;bottom:130px;padding:28px;border:1px solid rgba(47,148,255,.55);border-radius:12px;background:rgba(2,22,47,.78);backdrop-filter:blur(8px);color:#fff}
.lab-why-image figcaption p{margin:0 0 22px;font-size:21px;line-height:1.45}
.lab-why-image figcaption div{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18)}
.lab-why-image figcaption b{color:#2e91ff;font-size:30px}
.lab-why-image figcaption span{color:rgba(255,255,255,.65);font-size:13px}
.lab-contact-strip{position:relative;z-index:3;grid-column:1/-1;display:grid;grid-template-columns:1.25fr auto .7fr;align-items:center;gap:34px;margin:-72px 4vw 72px;padding:30px 38px;border-radius:15px;background:#03224a;color:#fff;box-shadow:0 24px 55px rgba(2,19,42,.22)}
.lab-contact-strip>div{display:flex;align-items:center;gap:22px}
.lab-contact-strip>div>span{display:grid;place-items:center;width:62px;height:62px;border:1px solid #258ffa;border-radius:50%;color:#54abff;font-size:26px}
.lab-contact-strip p{margin:0}.lab-contact-strip b,.lab-contact-strip small{display:block}.lab-contact-strip b{font-size:19px}.lab-contact-strip small{margin-top:7px;color:rgba(255,255,255,.66);font-size:14px}
.lab-contact-strip address{display:grid;gap:8px;padding-left:28px;border-left:1px solid rgba(255,255,255,.24);font-style:normal}
.lab-contact-strip address a{color:#fff;font-size:14px;text-decoration:none}
.diagrams-page .site-footer{margin-top:0}
.diagram-lightbox{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:40px;background:rgba(0,12,28,.93);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
.diagram-lightbox.is-open{opacity:1;visibility:visible}
.diagram-lightbox figure{width:min(1200px,92vw);max-height:86vh;margin:0;padding:16px;border-radius:10px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.4)}
.diagram-lightbox img{display:block;width:100%;max-height:76vh;object-fit:contain}
.diagram-lightbox figcaption{padding:12px 4px 0;color:#30465f;font-size:14px}
.lightbox-close{position:absolute;right:28px;top:22px;width:48px;height:48px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:transparent;color:#fff;font-size:32px;cursor:pointer}
body.lightbox-open{overflow:hidden}
@media(max-width:1100px){
  .lab-hero{height:auto;min-height:850px}.lab-hero-inner{width:calc(100% - 64px)}.lab-hero-copy{width:64vw}.lab-hero-facts{width:70vw;grid-template-columns:1fr 1fr;gap:22px}.lab-hero-facts article:nth-child(2){border-right:0}
  .meaning-grid{grid-template-columns:1fr 1fr}.lab-why{grid-template-columns:1fr}.lab-why-image{min-height:620px}.lab-contact-strip{margin:-55px 4vw 60px;grid-template-columns:1fr auto}.lab-contact-strip address{display:none}
}
@media(max-width:767px){
  .lab-hero{min-height:920px}.lab-hero-image{object-position:68% center}.lab-hero-overlay{background:linear-gradient(180deg,rgba(1,12,29,.48),rgba(1,12,29,.96) 46%,#010c1d 100%)}.lab-hero-inner{width:calc(100% - 40px);padding:32px 0 56px}.lab-mark{gap:14px;font-size:10px}.lab-mark i{width:28px}.lab-hero-copy{width:100%;margin:auto 0 38px}.lab-eyebrow{font-size:11px}.lab-hero h1{font-size:42px}.lab-hero h1 span{font-size:.72em}.lab-hero-copy>p:last-child{font-size:16px;line-height:1.65}.lab-rule{margin:26px 0}.lab-hero-facts{width:100%;grid-template-columns:1fr 1fr;gap:0}.lab-hero-facts article{grid-template-columns:42px 1fr;padding:18px 10px 0 0}.lab-hero-facts article+article{padding-left:10px}.lab-hero-facts article>span{width:38px;height:38px;font-size:16px}.lab-hero-facts b{font-size:10px}.lab-hero-facts small{display:none}.scroll-cue{display:none}
  .results-section,.meaning-section{padding:80px 20px}.section-intro,.meaning-head{grid-template-columns:1fr;gap:30px;margin-bottom:35px}.section-intro h2,.meaning-head h2,.lab-why h2{font-size:40px}.section-kicker{font-size:12px}.lab-note{padding:20px}.results-grid,.meaning-grid{grid-template-columns:1fr}.result-card header{padding:22px 20px 10px}.chart-preview img{height:240px;padding:6px 12px}.view-chart{width:calc(100% - 40px);margin:0 20px}.thermal-card{grid-column:auto;grid-template-columns:1fr}.thermal-copy{padding:28px 22px}.thermal-preview img{min-height:230px}.meaning-grid h3,.meaning-grid p{min-height:0}.report-strip{grid-template-columns:auto 1fr;padding:24px 20px}.report-strip>a{grid-column:1/-1;text-align:center}
  .lab-why-copy{padding:80px 20px}.lab-why-grid{grid-template-columns:1fr 1fr}.lab-why-grid article:not(:nth-child(3n+1)){padding-left:0;border-left:0}.lab-why-grid article:nth-child(even){padding-left:18px;border-left:1px solid var(--lab-line)}.lab-why-grid article{min-height:155px;padding-right:18px}.lab-why-image{min-height:520px}.lab-why-image figcaption{bottom:45px}.lab-contact-strip{grid-template-columns:1fr;margin:-25px 20px 45px;padding:25px}.lab-contact-strip>a{text-align:center}.diagram-lightbox{padding:15px}.lightbox-close{right:14px;top:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
