:root { --research-ink:#14231e; --research-green:#0f7650; --research-mint:#9ee6c0; --research-paper:#f3f2ec; --research-line:#c8d1c9; --research-night:#142c27; }
.research-page { background:var(--research-paper); color:var(--research-ink); }
.research-page .site-header { background:rgba(243,242,236,.95); }
.research-hero { padding:clamp(84px,10vw,154px) 0 clamp(72px,9vw,132px); background:linear-gradient(135deg,#edf4ee 0%,#f3f2ec 58%,#e5ece7 100%); border-bottom:1px solid var(--research-line); overflow:hidden; }
.research-hero-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(540px,1.15fr); gap:clamp(48px,7vw,112px); align-items:center; }
.research-hero-grid > *,.lead-publication > *,.flagship-story > * { min-width:0; }
.research-hero-copy h1 { max-width:740px; margin:18px 0 24px; font-size:clamp(36px,3.8vw,48px); line-height:.95; letter-spacing:-.05em; }
.research-hero-copy > p:not(.section-index) { max-width:650px; color:#435a51; font-size:clamp(19px,1.7vw,25px); line-height:1.45; }
.research-hero-actions,.story-actions,.cta-row { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:34px; }
.lead-publication { display:grid; grid-template-columns:minmax(190px,.72fr) minmax(260px,1fr); min-height:520px; color:#eef8f2; background:var(--research-night); border:1px solid #365d51; box-shadow:0 30px 80px rgba(26,52,44,.18); transition:transform 180ms ease,box-shadow 180ms ease; }
.lead-publication:hover { transform:translateY(-5px); box-shadow:0 38px 90px rgba(26,52,44,.26); }
.lead-cover { display:flex; align-items:center; justify-content:center; padding:44px 24px; background:radial-gradient(circle at 50% 35%,#40665b,#1a352e 67%); }
.lead-cover img { width:min(100%,285px); height:auto; box-shadow:0 20px 50px rgba(0,0,0,.42); transform:rotate(-2deg); }
.lead-details { display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(30px,4vw,60px); }
.publication-type { display:block; color:#5f7c71; font:700 11px/1.3 var(--label); letter-spacing:.12em; text-transform:uppercase; }
.lead-details .publication-type,.watch-section .publication-type { color:#8ecbae; }
.lead-details h2 { margin:16px 0 18px; font-size:clamp(31px,3.2vw,51px); line-height:1.02; }
.lead-details p { margin:0; color:#cbdad2; font-size:17px; line-height:1.58; }
.publication-link { margin-top:34px; color:#a4e7c2; font-weight:700; }
.question-bar { position:sticky; top:var(--header); z-index:7; background:rgba(20,44,39,.97); color:#fff; border-bottom:1px solid #45685d; backdrop-filter:blur(12px); }
.question-inner { display:grid; grid-template-columns:260px 1fr; gap:34px; align-items:center; padding-top:17px; padding-bottom:17px; }
.question-inner > * { min-width:0; }
.question-inner h2 { margin:0; color:#cfe0d8; font:600 13px/1.3 var(--label); letter-spacing:.08em; text-transform:uppercase; }
.question-links { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; }
.question-links::-webkit-scrollbar { display:none; }
.question-links a { flex:0 0 auto; padding:10px 14px; color:#dce9e3; border:1px solid #46675d; font-size:13px; font-weight:600; transition:background 120ms ease,color 120ms ease; }
.question-links a:hover,.question-links a[aria-current="true"] { color:#0e392b; background:#a4e7c2; border-color:#a4e7c2; }
.flagship-section,.featured-research,.insight-library,.source-archive { padding:clamp(82px,10vw,148px) 0; }
.research-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.55fr); gap:60px; align-items:end; margin-bottom:52px; }
.research-heading > *,.video-grid > *,.library-grid > * { min-width:0; }
.research-heading h2 { max-width:850px; margin:12px 0 0; font-size:clamp(32px,3vw,38px); line-height:.98; letter-spacing:-.045em; }
.research-heading > p,.research-heading > .text-link { margin:0 0 8px; color:#52665d; font-size:17px; line-height:1.55; }
.flagship-grid { display:grid; gap:30px; }
.flagship-story { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr); min-height:520px; border:1px solid #aebdb4; background:#e8eee9; transition:border-color 300ms ease,box-shadow 300ms ease; }
.flagship-story.topic-match,.publication-row.topic-match,.video-card.topic-match,.library-item.topic-match { animation:research-pulse 1.4s ease; }
@keyframes research-pulse { 0%,100%{box-shadow:none} 35%{box-shadow:0 0 0 5px rgba(15,118,80,.28)} }
.story-visual { position:relative; min-height:440px; overflow:hidden; border-right:1px solid #aebdb4; }
.story-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(36px,5vw,72px); }
.story-copy h3 { margin:16px 0 18px; font-size:clamp(36px,4vw,62px); line-height:.98; letter-spacing:-.045em; }
.story-copy > p { margin:0; color:#42584f; font-size:18px; line-height:1.6; }
.case-story { background:#eef0e9; }
.case-rotator { margin:0; color:#fff; background:#0e2420; }
.case-rotator-stage { position:absolute; inset:0 0 58px; overflow:hidden; }
.case-frame { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .85s ease,visibility 0s linear .85s; }
.case-frame.is-active { opacity:1; visibility:visible; transition-delay:0s; }
.case-frame img { width:100%; height:100%; object-fit:cover; transform:scale(1.045); transition:transform 7.5s linear; }
.case-frame.is-active img { transform:scale(1); }
.case-frame-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,22,18,.96) 0%,rgba(7,22,18,.82) 43%,rgba(7,22,18,.24) 76%,rgba(7,22,18,.38) 100%),linear-gradient(0deg,rgba(7,22,18,.72),transparent 45%); }
.case-frame-copy { position:absolute; z-index:2; left:clamp(26px,4.5vw,70px); top:50%; width:min(72%,620px); opacity:0; transform:translateY(calc(-50% + 12px)); transition:opacity .18s ease,transform .18s ease; }
.case-frame.is-active .case-frame-copy { opacity:1; transform:translateY(-50%); transition:opacity .38s ease .32s,transform .45s ease .26s; }
.case-kicker { display:block; margin-bottom:17px; color:#a4e7c2; font:700 11px/1.3 var(--label); letter-spacing:.12em; text-transform:uppercase; }
.case-frame h4 { margin:0; font:650 clamp(34px,4vw,63px)/.98 var(--display); letter-spacing:-.045em; text-wrap:balance; }
.case-frame p { max-width:590px; margin:20px 0 0; color:#d7e5de; font-size:clamp(15px,1.35vw,19px); line-height:1.48; }
.case-facts { display:flex; flex-wrap:wrap; gap:10px; margin-top:25px; }
.case-facts span { display:flex; align-items:baseline; gap:6px; padding:9px 12px; color:#dcebe3; background:rgba(17,59,47,.78); border:1px solid rgba(164,231,194,.42); font:700 10px/1 var(--label); letter-spacing:.04em; text-transform:uppercase; }
.case-facts b { color:#a4e7c2; font:650 21px/1 var(--display); }
.case-credit { position:absolute; z-index:3; right:18px; bottom:13px; color:rgba(239,248,243,.74); font:600 10px/1.2 var(--label); text-shadow:0 1px 4px #000; }
.case-credit:hover { color:#fff; }
.case-rotator-controls { position:absolute; inset:auto 0 0; min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 18px; background:#102c25; border-top:1px solid #416a5e; }
.case-progress { flex:1; display:grid; grid-template-columns:repeat(9,minmax(20px,1fr)); gap:7px; }
.case-progress button { position:relative; height:38px; padding:0; color:#78968a; background:transparent; border:0; cursor:pointer; font:700 9px var(--label); }
.case-progress button::before { content:""; position:absolute; left:0; right:0; top:9px; height:2px; background:#48665d; }
.case-progress button::after { content:""; position:absolute; left:0; top:9px; width:0; height:2px; background:#a4e7c2; }
.case-progress button span { position:absolute; left:0; right:0; bottom:3px; }
.case-progress button.is-active { color:#c9e8d9; }
.case-progress button.is-active::after { width:100%; animation:case-timer var(--case-duration,5.2s) linear forwards; }
.case-rotator.is-paused .case-progress button.is-active::after { animation-play-state:paused; }
.case-toggle { flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:0 4px; color:#b9d9ca; background:transparent; border:0; cursor:pointer; font:700 10px var(--label); letter-spacing:.08em; text-transform:uppercase; }
.case-toggle span { font-size:14px; }.case-toggle:hover { color:#fff; }
@keyframes case-timer { from{width:0} to{width:100%} }
.blueprint-story { color:#eff8f3; background:var(--research-night); border-color:#476b60; }
.blueprint-story .story-copy > p { color:#c7d8d0; }.blueprint-story .publication-type { color:#90d6af; }.blueprint-story .text-link { color:#a4e7c2; }
.blueprint-engine { margin:0; min-height:590px; color:#fff; background:#0d211c; border-color:#476b60; }
.blueprint-scenes { position:absolute; inset:0 0 112px; overflow:hidden; }
.blueprint-scene { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .7s ease,visibility 0s linear .7s; }
.blueprint-scene.is-active { opacity:1; visibility:visible; transition-delay:0s; }
.blueprint-scene img { width:100%; height:100%; object-fit:cover; filter:saturate(.72) contrast(1.08); transform:scale(1.045); transition:transform 5.5s ease; }
.blueprint-scene.is-active img { transform:scale(1); }
.blueprint-scrim { position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,22,17,.97) 0%,rgba(6,22,17,.82) 45%,rgba(6,22,17,.18) 78%),linear-gradient(0deg,rgba(6,22,17,.7),transparent 52%); }
.blueprint-scene-copy { position:absolute; z-index:3; left:clamp(28px,4.6vw,72px); top:50%; width:min(70%,600px); opacity:0; transform:translateY(calc(-50% + 12px)); transition:opacity .18s ease,transform .18s ease; }
.blueprint-scene.is-active .blueprint-scene-copy { opacity:1; transform:translateY(-50%); transition:opacity .38s ease .28s,transform .45s ease .22s; }
.blueprint-scene-copy > span { display:block; margin-bottom:14px; color:#a4e7c2; font:700 10px/1.3 var(--label); letter-spacing:.12em; text-transform:uppercase; }
.blueprint-scene h4 { margin:0; font:650 clamp(45px,5.2vw,78px)/.92 var(--display); letter-spacing:-.05em; }
.blueprint-scene h4 em { display:inline-block; margin-left:7px; padding:7px 9px; vertical-align:middle; color:#0b2c21; background:#a4e7c2; font:800 12px/1 var(--label); letter-spacing:.08em; text-transform:uppercase; }
.blueprint-scene p { max-width:575px; margin:20px 0 0; color:#d0e1d8; font-size:clamp(15px,1.25vw,18px); line-height:1.52; }
.demand-chips,.learning-records { display:flex; flex-wrap:wrap; gap:7px; margin-top:24px; }
.demand-chips b,.learning-records b { padding:9px 11px; color:#cde5d8; background:rgba(15,65,49,.74); border:1px solid rgba(164,231,194,.37); font:700 9px/1 var(--label); letter-spacing:.07em; text-transform:uppercase; }
.capacity-meter { display:flex; gap:6px; width:min(100%,360px); margin-top:27px; }
.capacity-meter i { flex:1; height:8px; background:#49675e; }
.blueprint-scene.is-active .capacity-meter i { animation:capacity-on .35s ease forwards; }
.blueprint-scene.is-active .capacity-meter i:nth-child(2){animation-delay:.2s}.blueprint-scene.is-active .capacity-meter i:nth-child(3){animation-delay:.4s}.blueprint-scene.is-active .capacity-meter i:nth-child(4){animation-delay:.6s}.blueprint-scene.is-active .capacity-meter i:nth-child(5){animation-delay:.8s}
@keyframes capacity-on { to{background:#a4e7c2;box-shadow:0 0 18px rgba(164,231,194,.42)} }
.deploy-line { display:flex; align-items:center; width:min(100%,380px); margin-top:26px; }
.deploy-line i { position:relative; flex:1; height:2px; background:#55786c; }
.deploy-line i::after { content:""; position:absolute; right:-4px; top:-4px; width:10px; height:10px; border-radius:50%; background:#75998c; }
.blueprint-scene.is-active .deploy-line i,.blueprint-scene.is-active .deploy-line i::after { animation:deploy-on .35s ease forwards; }
.blueprint-scene.is-active .deploy-line i:nth-child(2),.blueprint-scene.is-active .deploy-line i:nth-child(2)::after{animation-delay:.35s}.blueprint-scene.is-active .deploy-line i:nth-child(3),.blueprint-scene.is-active .deploy-line i:nth-child(3)::after{animation-delay:.7s}
@keyframes deploy-on { to{background:#a4e7c2;box-shadow:0 0 16px rgba(164,231,194,.45)} }
.product-highlight { position:absolute; z-index:2; opacity:0; border:2px solid #a4e7c2; box-shadow:0 0 0 7px rgba(164,231,194,.12),0 0 30px rgba(164,231,194,.42); transition:opacity .45s ease; }
.product-highlight-one { top:45%; right:21%; width:13%; height:29%; }.product-highlight-two { top:45%; right:7%; width:11%; height:29%; }
.blueprint-engine[data-product-level="2"] .blueprint-scene[data-blueprint-scene="product"].is-active .product-highlight-one,.blueprint-engine[data-product-level="3"] .blueprint-scene[data-blueprint-scene="product"].is-active .product-highlight-one,.blueprint-engine[data-product-level="3"] .blueprint-scene[data-blueprint-scene="product"].is-active .product-highlight-two { opacity:1; }
.product-revision { display:inline-flex; align-items:center; gap:9px; margin-top:24px; padding:9px 11px; color:#d9eee3; background:rgba(16,64,49,.83); border:1px solid #77ad95; opacity:0; transform:translateY(5px); transition:opacity .3s ease .3s,transform .3s ease .3s; font:700 9px/1 var(--label); letter-spacing:.06em; text-transform:uppercase; }
.product-revision i { width:8px; height:8px; border-radius:50%; background:#a4e7c2; box-shadow:0 0 14px #a4e7c2; }
.blueprint-engine[data-product-level="2"] .product-revision,.blueprint-engine[data-product-level="3"] .product-revision { opacity:1; transform:none; }
.learning-packet { position:absolute; z-index:4; right:7%; bottom:14%; width:150px; padding:13px; color:#15352b; background:#a4e7c2; box-shadow:10px 10px 0 rgba(8,31,24,.38); opacity:0; transform:translateX(35px) rotate(3deg); }
.learning-packet b,.learning-packet span { display:block; }.learning-packet b { font:800 9px var(--label); letter-spacing:.12em; }.learning-packet span { margin-top:6px; font:700 15px/1.05 var(--display); }
.blueprint-scene[data-blueprint-scene="learning"].is-active .learning-packet { animation:packet-in .55s ease .5s forwards,packet-pulse 1.1s ease 1.2s infinite alternate; }
@keyframes packet-in { to{opacity:1;transform:translateX(0) rotate(-2deg)} } @keyframes packet-pulse { to{box-shadow:10px 10px 0 rgba(8,31,24,.38),0 0 28px rgba(164,231,194,.5)} }
.blueprint-controls { position:absolute; inset:auto 0 0; height:112px; display:grid; grid-template-columns:1fr 56px; align-items:center; gap:12px; padding:13px 16px 10px; background:#102c25; border-top:1px solid #416a5e; }
.blueprint-stage-buttons { align-self:start; display:grid; grid-template-columns:.8fr .9fr .95fr .8fr 1.55fr; gap:6px; }
.blueprint-stage-buttons button { min-width:0; padding:8px 6px 9px; color:#78978a; background:transparent; border:0; border-top:2px solid #46675c; cursor:pointer; text-align:left; font:700 9px/1.2 var(--label); letter-spacing:.04em; text-transform:uppercase; transition:color .18s ease,border-color .18s ease,background .18s ease; }
.blueprint-stage-buttons button span { display:block; margin-bottom:5px; font-size:8px; }
.blueprint-stage-buttons button.is-active { color:#d8eee3; border-color:#a4e7c2; background:rgba(164,231,194,.07); }
.learning-return { position:absolute; left:16px; right:84px; bottom:4px; width:calc(100% - 100px); height:35px; overflow:visible; fill:none; stroke:#62897a; stroke-width:1.3; stroke-dasharray:4 5; }
.learning-return circle { fill:#6d9987; stroke:none; }.blueprint-engine.is-learning .learning-return { stroke:#a4e7c2; }.blueprint-engine.is-learning .learning-return circle { fill:#a4e7c2; }
.blueprint-toggle { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:38px; padding:0; color:#b9d9ca; background:transparent; border:0; cursor:pointer; font:700 9px var(--label); letter-spacing:.06em; text-transform:uppercase; }
.blueprint-toggle:hover { color:#fff; }
.featured-research { background:#e5ece7; border-top:1px solid var(--research-line); border-bottom:1px solid var(--research-line); }
.publication-list { border-top:1px solid #9fb1a7; }
.publication-row { display:grid; grid-template-columns:70px minmax(0,1fr) 150px; gap:32px; align-items:center; padding:36px 0; color:inherit; border-bottom:1px solid #9fb1a7; transition:padding 150ms ease,color 150ms ease; }
.publication-row:hover { padding-left:12px; color:var(--research-green); }
.publication-number { color:#6b8076; font:500 14px var(--label); }
.publication-row h3 { margin:9px 0 8px; font-size:clamp(25px,2.7vw,39px); line-height:1.08; }
.publication-row p { max-width:850px; margin:0; color:#4d6359; line-height:1.55; }
.row-action { justify-self:end; color:#345d4e; font-size:14px; font-weight:700; }
.watch-section { padding:clamp(82px,10vw,148px) 0; color:#eef8f2; background:#142c27; }
.light-heading .section-index,.watch-section .section-index { color:#8dd2ad; }.light-heading h2 { color:#f4f8f6; }.light-heading > p { color:#b9cec4; }
.video-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.video-card { display:grid; color:#eff7f3; border:1px solid #3e6559; background:#1b3931; transition:transform 160ms ease,border-color 160ms ease; }
.video-card:hover { transform:translateY(-5px); border-color:#91d6af; }
.video-card-featured { grid-column:span 2; grid-row:span 2; }
.video-card figure { position:relative; margin:0; aspect-ratio:16/9; overflow:hidden; background:#0d201b; }
.video-card figure::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(5,20,15,.68)); }
.video-card img { width:100%; height:100%; object-fit:cover; filter:saturate(.72) contrast(1.05); transition:transform 300ms ease; }.video-card:hover img { transform:scale(1.03); }
.play-mark { position:absolute; z-index:2; left:20px; bottom:18px; display:grid; place-items:center; width:46px; height:46px; padding-left:3px; color:#102a22; background:#a4e7c2; border-radius:50%; font-size:15px; }
.video-card > div { padding:25px; }.video-card h3 { margin:11px 0 10px; font-size:24px; line-height:1.12; }.video-card p { margin:0; color:#bcd0c6; line-height:1.5; }
.video-card-featured h3 { font-size:clamp(32px,3vw,49px); }.video-card-featured > div { padding:34px; }
.summit-link { display:inline-flex; margin-top:32px; color:#a4e7c2; font-weight:700; }
.library-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #aebbb4; border-left:1px solid #aebbb4; }
.library-item { min-height:280px; padding:38px; color:inherit; border-right:1px solid #aebbb4; border-bottom:1px solid #aebbb4; transition:background 150ms ease; }
.library-item:hover { background:#e4ece6; }.library-item > span { color:#587168; font:700 11px var(--label); text-transform:uppercase; letter-spacing:.1em; }.library-item h3 { max-width:550px; margin:38px 0 16px; font-size:30px; line-height:1.08; }.library-item p { max-width:580px; margin:0; color:#50645b; line-height:1.55; }
.source-archive { padding-top:0; }
.archive-grid { display:grid; grid-template-columns:minmax(0,.75fr) minmax(500px,1.25fr); gap:clamp(60px,9vw,140px); padding-top:clamp(70px,8vw,120px); border-top:1px solid #aebbb4; }
.archive-grid h2 { margin:12px 0 18px; font-size:clamp(39px,4.7vw,67px); line-height:.98; }.archive-grid > div > p:not(.section-index) { color:#52665d; font-size:17px; line-height:1.6; }
.archive-list { border-top:1px solid #9dafA5; }.archive-list a { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:25px 4px; color:inherit; border-bottom:1px solid #9dafa5; }.archive-list small { display:block; margin-bottom:6px; color:#60766c; font:700 10px var(--label); text-transform:uppercase; letter-spacing:.1em; }.archive-list strong { font-size:20px; }.archive-list b { color:var(--research-green); font-size:22px; }
.research-cta { background:#9fdab9; }.research-cta .text-link { color:#15392d; }

/* Long-form presentations */
.paper-page { background:#f3f2ec; color:#14231e; }
.paper-hero { padding:clamp(92px,12vw,175px) 0 clamp(72px,8vw,120px); background:#17352d; color:#eff8f3; }
.paper-hero-grid { display:grid; grid-template-columns:200px minmax(0,1fr); gap:clamp(50px,8vw,130px); }
.paper-hero-grid > *,.paper-chapter-grid > *,.paper-sources-grid > * { min-width:0; }
.paper-hero .section-index { color:#92d7b2; }.paper-hero h1 { max-width:980px; margin:0; font-size:clamp(36px,3.8vw,48px); line-height:.87; letter-spacing:-.055em; }.paper-hero .paper-deck { max-width:760px; margin:34px 0 0; color:#c8dbd2; font-size:clamp(19px,2vw,27px); line-height:1.46; }.paper-actions { display:flex; flex-wrap:wrap; gap:20px; margin-top:35px; }.paper-hero .text-link { color:#a4e7c2; }
.paper-intro { padding:70px 0; border-bottom:1px solid #bdc9c1; }.paper-intro-grid { display:grid; grid-template-columns:200px 1fr; gap:clamp(50px,8vw,130px); }.paper-intro blockquote { max-width:980px; margin:0; font:600 clamp(31px,4vw,58px)/1.08 var(--display); letter-spacing:-.035em; }
.paper-chapters { counter-reset:paper; }.paper-chapter { min-height:75vh; padding:clamp(85px,11vw,170px) 0; border-bottom:1px solid #bdc9c1; }.paper-chapter-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr); gap:clamp(65px,9vw,150px); align-items:center; }.paper-chapter:nth-child(even) { background:#e5ece7; }.paper-chapter:nth-child(even) .paper-chapter-grid { grid-template-columns:minmax(430px,1.1fr) minmax(0,.9fr); }.paper-chapter:nth-child(even) .chapter-copy { order:2; }.chapter-number { display:block; margin-bottom:22px; color:#688077; font:700 12px var(--label); letter-spacing:.12em; text-transform:uppercase; }.chapter-copy h2 { max-width:760px; margin:0 0 25px; font-size:clamp(42px,5.5vw,82px); line-height:.95; letter-spacing:-.045em; }.chapter-copy p { max-width:700px; color:#455d53; font-size:18px; line-height:1.65; }.chapter-copy strong { color:#173e31; }
.chapter-diagram { min-height:420px; display:grid; place-items:center; padding:40px; background:#17352d; color:white; border:1px solid #47695f; box-shadow:18px 20px 0 #b7c8be; }
.restart-diagram { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; width:100%; min-width:0; }.restart-diagram div { position:relative; min-width:0; min-height:220px; padding:24px; border:1px solid #66897c; background:#1d4438; }.restart-diagram span { font:700 11px var(--label); text-transform:uppercase; letter-spacing:.1em; color:#9eddb9; }.restart-diagram strong { display:block; margin-top:115px; font-size:20px; overflow-wrap:anywhere; }.restart-diagram div::before { content:""; position:absolute; top:66px; left:24px; width:55px; height:42px; border:1px solid #9fdab9; box-shadow:24px 17px 0 -1px #1d4438,24px 17px 0 0 #9fdab9; }
.parallel-diagram { width:100%; }.parallel-track { position:relative; margin:26px 0; padding:18px 20px; border:1px solid #638678; }.parallel-track span { position:relative; z-index:2; font-weight:700; }.parallel-track i { position:absolute; inset:0; width:0; background:#4c9973; animation:track-fill 5s ease-in-out infinite; }.parallel-track:nth-child(2) i { animation-delay:.8s; }.parallel-track:nth-child(3) i { animation-delay:1.5s; } @keyframes track-fill{0%,15%{width:0}65%,100%{width:100%}}
.demand-flywheel { position:relative; width:min(100%,450px); aspect-ratio:1; }.demand-flywheel svg { width:100%; height:100%; fill:none; stroke:#85cda5; stroke-width:4; stroke-dasharray:12 10; animation:spin-ring 20s linear infinite; }.demand-flywheel b { position:absolute; transform:translate(-50%,-50%); width:122px; padding:13px; text-align:center; background:#1f483b; border:1px solid #76a895; font-size:13px; }.demand-flywheel b:nth-of-type(1){top:8%;left:50%}.demand-flywheel b:nth-of-type(2){top:50%;left:92%}.demand-flywheel b:nth-of-type(3){top:92%;left:50%}.demand-flywheel b:nth-of-type(4){top:50%;left:8%}@keyframes spin-ring{to{stroke-dashoffset:-220}}
.interface-diagram { display:grid; grid-template-columns:150px 1fr; gap:30px; width:100%; }.interface-core { display:grid; place-items:center; padding:20px; text-align:center; background:#a4e7c2; color:#103329; font-weight:750; }.supplier-stack { display:grid; gap:12px; }.supplier-stack span { padding:20px; border:1px solid #65897c; background:#1d4438; }.supplier-stack small { display:block; margin-top:6px; color:#91cbaa; }
.program-band { width:100%; }.program-band > strong { display:block; padding:22px; text-align:center; color:#123a2d; background:#a4e7c2; }.program-band div { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:9px; }.program-band span { min-height:130px; display:grid; place-items:end center; padding:14px; text-align:center; border:1px solid #66897c; background:#1d4438; font-size:13px; }
.capability-network { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; width:100%; min-width:0; }.capability-network span { min-width:0; min-height:115px; display:grid; place-items:center; padding:16px; text-align:center; overflow-wrap:anywhere; border:1px solid #66897c; background:#1d4438; font-weight:700; }.capability-network span:first-child { grid-column:span 3; color:#123a2d; background:#a4e7c2; }
.paper-sources { padding:90px 0; background:#e5ece7; }.paper-sources-grid { display:grid; grid-template-columns:230px 1fr; gap:70px; }.paper-sources h2 { margin:0; font-size:48px; }.paper-sources ol { margin:0; padding-left:20px; color:#435a51; line-height:1.7; }.paper-sources a { text-decoration:underline; text-underline-offset:3px; }
.beachhead-diagram { width:100%; display:grid; grid-template-columns:1fr 60px 1.35fr; gap:16px; align-items:center; }.beachhead-type { min-height:180px; display:grid; place-items:center; padding:24px; text-align:center; color:#133b2e; background:#a4e7c2; font:700 24px/1.1 var(--display); }.beachhead-arrow { text-align:center; font-size:34px; color:#a4e7c2; }.beachhead-capacity { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }.beachhead-capacity span { min-height:90px; display:grid; place-items:center; padding:10px; text-align:center; border:1px solid #66897c; background:#1d4438; font-size:13px; }

@media (max-width:1100px){.research-hero-grid{grid-template-columns:1fr}.lead-publication{max-width:830px}.question-inner{grid-template-columns:1fr;gap:10px}.research-heading{grid-template-columns:1fr;gap:18px}.flagship-story{grid-template-columns:1fr}.story-visual{border-right:0;border-bottom:1px solid #aebdb4}.video-grid{grid-template-columns:repeat(2,1fr)}.video-card-featured{grid-column:span 2;grid-row:auto}.archive-grid{grid-template-columns:1fr}.paper-hero-grid,.paper-intro-grid{grid-template-columns:1fr;gap:35px}.paper-chapter-grid,.paper-chapter:nth-child(even) .paper-chapter-grid{grid-template-columns:1fr}.paper-chapter:nth-child(even) .chapter-copy{order:0}.paper-sources-grid{grid-template-columns:1fr}}
@media (max-width:700px){.research-hero{padding-top:74px}.research-hero-copy h1{font-size:42px;overflow-wrap:anywhere}.lead-publication{grid-template-columns:1fr}.lead-cover{padding:30px}.lead-cover img{width:180px}.lead-details{padding:30px 22px}.lead-details h2{overflow-wrap:anywhere}.question-bar{position:relative;top:auto}.question-inner{padding-inline:20px}.question-links{flex-wrap:wrap;overflow:visible}.question-links a{font-size:12px}.flagship-section,.featured-research,.insight-library,.source-archive,.watch-section{padding:74px 0}.research-heading h2{font-size:36px;overflow-wrap:anywhere}.story-visual{min-height:440px}.case-rotator-stage{bottom:64px}.case-frame-shade{background:linear-gradient(0deg,rgba(7,22,18,.96) 0%,rgba(7,22,18,.76) 58%,rgba(7,22,18,.18) 100%)}.case-frame-copy{left:22px;right:22px;top:auto;bottom:34px;width:auto;transform:translateY(10px)}.case-frame.is-active .case-frame-copy{transform:none}.case-frame h4{font-size:34px}.case-frame p{font-size:15px;line-height:1.42}.case-facts{gap:5px;margin-top:17px}.case-facts span{padding:7px 8px;font-size:8px}.case-facts b{font-size:17px}.case-credit{top:12px;right:12px;bottom:auto;left:12px;text-align:right;font-size:8px}.case-rotator-controls{min-height:64px;padding:0 10px}.case-progress{gap:3px}.case-progress button span{font-size:8px}.case-toggle{gap:4px}.case-toggle b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}.story-copy{padding:32px 24px}.story-copy h3{font-size:38px}.blueprint-loop{min-height:420px}.loop-center{width:135px;height:135px}.loop-center strong{font-size:19px}.loop-node{padding:7px 8px;font-size:9px}.publication-row{grid-template-columns:40px 1fr;gap:12px;padding:28px 0}.row-action{grid-column:2;justify-self:start}.video-grid,.library-grid{grid-template-columns:1fr}.video-card-featured{grid-column:auto}.video-card h3{overflow-wrap:anywhere}.library-grid{border-left:0}.library-item{padding:30px 22px;border-left:1px solid #aebbb4}.archive-grid{gap:35px}.paper-hero h1{font-size:48px;overflow-wrap:anywhere}.paper-chapter{min-height:auto}.chapter-diagram{min-height:360px;padding:24px;box-shadow:10px 12px 0 #b7c8be}.restart-diagram{gap:7px}.restart-diagram div{min-height:180px;padding:12px}.restart-diagram strong{margin-top:105px;font-size:14px}.restart-diagram div::before{left:12px}.interface-diagram{grid-template-columns:1fr}.program-band div{grid-template-columns:repeat(2,1fr)}.capability-network{grid-template-columns:repeat(2,1fr)}.capability-network span:first-child{grid-column:span 2}.beachhead-diagram{grid-template-columns:1fr}.beachhead-arrow{transform:rotate(90deg)}}
@media (prefers-reduced-motion:reduce){.blueprint-loop .loop-progress,.parallel-track i,.demand-flywheel svg,.case-progress button.is-active::after{animation:none}.case-frame,.case-frame img,.case-frame-copy,.case-frame.is-active .case-frame-copy{transition:none}.flagship-story.topic-match,.publication-row.topic-match,.video-card.topic-match,.library-item.topic-match{animation:none}}
@media (max-width:360px){.case-frame-copy{left:18px;right:18px;bottom:24px}.case-frame h4{font-size:29px}.case-frame p{font-size:14px}.case-facts span{padding:6px;font-size:7px}.case-facts b{font-size:15px}}

@media (max-width:700px){
  .blueprint-engine{min-height:530px}
  .blueprint-scenes{bottom:126px}
  .blueprint-scrim{background:linear-gradient(0deg,rgba(6,22,17,.98) 0%,rgba(6,22,17,.75) 65%,rgba(6,22,17,.16) 100%)}
  .blueprint-scene-copy{left:22px;right:22px;top:auto;bottom:27px;width:auto;transform:translateY(10px)}
  .blueprint-scene.is-active .blueprint-scene-copy{transform:none}
  .blueprint-scene h4{font-size:42px}
  .blueprint-scene p{margin-top:13px;font-size:14px;line-height:1.4}
  .demand-chips,.learning-records{margin-top:16px;gap:4px}
  .demand-chips b,.learning-records b{padding:7px 8px;font-size:7px}
  .capacity-meter,.deploy-line{margin-top:17px}
  .product-highlight-one{top:26%;right:25%;width:20%;height:26%}.product-highlight-two{top:26%;right:4%;width:18%;height:26%}
  .product-revision{margin-top:14px;padding:7px 8px;font-size:7px}
  .learning-packet{right:16px;top:18px;bottom:auto;width:116px;padding:10px}
  .learning-packet span{font-size:12px}
  .blueprint-controls{height:126px;grid-template-columns:1fr 32px;padding:11px 10px 8px;gap:5px}
  .blueprint-stage-buttons{grid-template-columns:repeat(5,1fr);gap:3px}
  .blueprint-stage-buttons button{padding:7px 3px 8px;font-size:0;text-align:center}
  .blueprint-stage-buttons button span{margin:0;font-size:8px}
  .blueprint-stage-buttons button::after{content:attr(data-short);font-size:7px}
  .learning-return{left:10px;right:48px;width:calc(100% - 58px);bottom:8px}
  .blueprint-toggle b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
}
@media (prefers-reduced-motion:reduce){
  .blueprint-scene,.blueprint-scene img,.blueprint-scene-copy,.blueprint-scene.is-active .blueprint-scene-copy,.product-highlight,.product-revision{transition:none}
  .blueprint-scene.is-active .capacity-meter i,.blueprint-scene.is-active .deploy-line i,.blueprint-scene.is-active .deploy-line i::after,.blueprint-scene[data-blueprint-scene="learning"].is-active .learning-packet{animation:none}
  .blueprint-scene[data-blueprint-scene="learning"].is-active .learning-packet{opacity:1;transform:none}
}
@media (max-width:360px){
  .blueprint-scene-copy{left:18px;right:18px;bottom:21px}
  .blueprint-scene h4{font-size:37px}
  .blueprint-scene p{font-size:13px}
}
