/* Third edition — the circular frontier. */
.iteration-three{--mint:#a3e6c2;--copper:#e4ad84}
.device-copy h1{font-size:clamp(3.9rem,6.5vw,7.4rem);line-height:.96;letter-spacing:-.055em;max-width:700px}
.device-copy .eyebrow{max-width:450px;line-height:1.6;letter-spacing:.15em}
.device-copy .lead{max-width:370px;font-size:1.08rem;line-height:1.65}
.device-copy h2{font-size:clamp(3.6rem,6.5vw,7rem);line-height:.98;letter-spacing:-.05em}
.device-story{height:430svh}
.scene-surface{background:radial-gradient(ellipse at 73% 57%,#1c403b77,transparent 53%)}
.home-signal{border:0;background:none;right:7%;bottom:21%;width:29%;box-shadow:none;pointer-events:none}
.home-signal .signal-overline{display:block;font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;color:#b0d2bb;margin-bottom:16px}
.home-signal strong{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,3vw,3.2rem);line-height:1.05;letter-spacing:-.025em;color:#def2e3}
.home-signal p{margin-top:16px;font-family:var(--mono);font-size:.75rem;color:#88aa98}
body[data-active-chapter="3"] .scene-labels .legend{opacity:0}
.built-section{padding:100px 8%;display:grid;grid-template-columns:1.05fr 1fr;gap:11%;background:#092126;color:#dbede0}
.built-section h2{font-family:var(--serif);font-weight:400;font-size:clamp(4rem,6vw,7rem);line-height:1;letter-spacing:-.045em}
.built-section h2 em{color:var(--mint)}
.built-section .eyebrow{color:#9bbb9e;font-size:.75rem;line-height:1.7;max-width:320px;margin-bottom:40px}
.built-evidence article{padding:24px 0 28px;border-top:1px solid #42604f}
.built-evidence article:first-child{padding-top:0;border:0}
.built-evidence article span{font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;color:#88b09a}
.built-evidence h3{font-family:var(--serif);font-size:2.4rem;line-height:1.12;font-weight:400;margin:17px 0 12px;letter-spacing:-.025em}
.built-evidence p{font-size:1rem;line-height:1.65;color:#b2c9b8;max-width:370px}
.built-evidence .text-link{margin-top:12px}
.horizons{background:#dce8de;color:#143b2c;padding:95px 8% 100px}
.horizon-heading{position:relative;margin-bottom:65px;display:grid;grid-template-columns:1.6fr 1fr;column-gap:80px}
.horizon-heading .eyebrow{grid-column:1/-1;font-size:.75rem;margin-bottom:30px}
.horizon-heading h2{font-family:var(--serif);font-size:clamp(3rem,4.3vw,4.8rem);font-weight:400;line-height:1.05;letter-spacing:-.04em}
.horizon-heading h2 em{color:#567e60}
.horizon-heading>p:last-child{align-self:end;font-size:1rem;line-height:1.6;max-width:290px;padding-bottom:6px;color:#54735f}
.horizon-explorer{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;border-top:1px solid #a9c1ae;padding-top:36px}
.horizon-list{display:flex;flex-direction:column}
.horizon-list button{display:grid;grid-template-columns:28px 1fr auto;gap:15px;text-align:left;align-items:center;padding:24px 0;border:0;border-bottom:1px solid #b4c8b9;background:none;color:#527260;cursor:pointer;transition:color .2s,padding .2s,background .2s}
.horizon-list button>span{font-family:var(--mono);font-size:.75rem;opacity:.8}
.horizon-list button strong{font-family:var(--serif);font-weight:400;font-size:1.9rem;letter-spacing:-.03em;line-height:1.1}
.horizon-list button small{font-family:var(--mono);font-size:.75rem;letter-spacing:.02em}
.horizon-list button[aria-selected="true"]{padding-left:16px;padding-right:16px;background:#173d30;color:#e6f2e6;border-bottom-color:transparent}
.horizon-list button:hover{color:#071e15;background:#cadbcf}
.horizon-list button[aria-selected="true"]:hover{color:#fff;background:#214b39}
#application-detail{padding:0 0 20px;align-self:center}
#application-detail .eyebrow{font-size:.75rem;line-height:1.65;color:#537d5e;margin-bottom:22px}
#application-title{font-family:var(--serif);font-size:clamp(2.8rem,3.5vw,4rem);font-weight:400;line-height:1.06;letter-spacing:-.04em;margin-bottom:23px}
#application-title em{color:#648466}
#application-copy{font-size:1rem;line-height:1.7;max-width:390px;color:#4c6e58;min-height:110px}
#application-note{font-family:var(--mono);font-size:.75rem;line-height:1.7;color:#65846b;max-width:330px;margin-top:30px}
.application-motif{height:125px;width:200px;margin:0 0 25px;position:relative;color:#3c7157}
.application-motif svg{width:100%;height:100%;overflow:visible}
.application-motif>span{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--mono);font-size:.85rem;letter-spacing:.15em}
.app-orbit{fill:none;stroke:currentColor;stroke-width:.8;opacity:.5;transform-origin:120px 75px;transition:transform 1.2s,opacity .6s}
.app-orbit.b{opacity:.23}.app-orbit.c{opacity:.16}
[data-application="materials"] .app-orbit.a{transform:rotate(35deg) scale(.9)}
[data-application="plasmid"] .app-orbit.b{transform:rotate(65deg) scale(.75)}
[data-application="biologics"] .app-orbit.a{transform:rotate(-20deg) scale(.82)}
[data-application="diagnostics"] .app-orbit.c{transform:rotate(80deg) scale(.65);opacity:.7}
[data-application="vectors"] .app-orbit.b{transform:rotate(40deg)}
.observatory-intro>p{max-width:400px}
.observatory-stage{background:radial-gradient(ellipse at 45% 50%,#153c34 0, #081d21 70%)}
.signal-study{right:4%;top:21%;width:26%;padding:0;background:none;border:none;box-shadow:none}
.signal-study h3{font-size:clamp(2rem,3.1vw,3.6rem);letter-spacing:-.035em;line-height:1.05}
.signal-study .eyebrow{font-size:.75rem;margin-bottom:22px;line-height:1.6}
.signal-body{font-size:1rem;line-height:1.65;color:#aac6b5;margin-top:24px}
.signal-disclaimer{font-size:.75rem;font-family:var(--mono);letter-spacing:.04em;margin-top:28px;color:#819f8d}
.observatory-stage[data-view="signal"] .studio-canvas{width:81%;height:100%}
.observatory-stage[data-view="signal"] .drag-hint{opacity:.65}
.evidence-band{padding:85px 8%;background:#e3ede4;color:#153c2b}
.evidence-band>.eyebrow{font-size:.75rem}
.evidence-band h2{font-family:var(--serif);font-size:clamp(3rem,4.3vw,4.7rem);font-weight:400;line-height:1.06;letter-spacing:-.035em;max-width:850px}
.evidence-band h2 em{color:#64816b}
.evidence-band>div{display:grid;grid-template-columns:1fr 1fr;gap:70px;max-width:920px;margin-top:38px}
.evidence-band>div p{font-size:1rem;line-height:1.7;color:#56715d;max-width:390px}
.evidence-band .text-link{margin-top:35px}
button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid #c4a478;outline-offset:5px}
@media(min-width:1450px){.device-copy{left:8%}.device-copy .lead{max-width:410px}}
@media(max-width:1000px) and (min-width:701px){.device-copy h1{font-size:4.4rem}.device-copy h2{font-size:4.2rem}.device-copy .lead{max-width:315px;font-size:1rem}.horizon-heading{gap:30px}.horizon-list button{gap:9px;grid-template-columns:20px 1fr}.horizon-list button small{grid-column:2}.horizon-list button strong{font-size:1.75rem}.home-signal{right:5%;width:32%;bottom:23%}}
@media(max-width:700px){
.device-story{height:400svh}.device-copy h1{font-size:3.45rem;line-height:.97;max-width:340px}.device-copy h2{font-size:3.3rem;line-height:1}.device-copy .lead{font-size:1rem;line-height:1.5;max-width:310px}.device-copy .eyebrow{font-size:.75rem;max-width:none;letter-spacing:.07em;margin-bottom:18px}.device-copy{top:110px;left:7%;right:7%}.device-copy .text-link{margin-top:16px}.home-signal{right:7%;bottom:22%;width:auto;text-align:right;padding:0}.home-signal strong{display:none}.home-signal .signal-overline{font-size:.75rem;margin-bottom:9px}.home-signal p{font-size:.75rem;margin-top:5px}.scene-labels{top:auto;bottom:17%;font-size:.75rem;left:7%;right:7%}.scene-labels>span{max-width:220px;line-height:1.6}.scene-labels .legend{display:none}.device-caption p{font-size:.75rem;line-height:1.5}.device-bottom{bottom:22px}.device-caption{margin-top:12px}.story-chapters button{padding:10px 4px}.device-vignette{background:linear-gradient(90deg,rgba(5,20,24,.08),transparent),linear-gradient(180deg,rgba(5,20,24,.15),transparent 62%,rgba(5,20,24,.5))}
.built-section{grid-template-columns:1fr;padding:65px 7%;gap:45px}.built-section h2{font-size:4.2rem}.built-section .eyebrow{margin-bottom:26px}.built-evidence h3{font-size:2.3rem}.built-evidence article{padding:24px 0}.horizons{padding:65px 7%}.horizon-heading{grid-template-columns:1fr;gap:23px;margin-bottom:32px}.horizon-heading h2{font-size:3rem}.horizon-heading .eyebrow{margin-bottom:0}.horizon-heading>p:last-child{font-size:1rem;max-width:340px}.horizon-explorer{grid-template-columns:1fr;gap:35px;padding-top:16px}.horizon-list button{padding:20px 0;gap:10px;grid-template-columns:20px 1fr auto}.horizon-list button strong{font-size:1.7rem}.horizon-list button small{font-size:.75rem}.horizon-list button[aria-selected="true"]{padding-left:10px;padding-right:10px}.application-motif{width:145px;height:95px;margin-bottom:20px}#application-detail{border-top:1px solid #b4c8b9;padding-top:26px}#application-title{font-size:2.8rem}#application-copy{min-height:0}#application-note{margin-top:20px}
.observatory-stage[data-view="signal"]{height:620px}.observatory-stage[data-view="signal"] .studio-canvas{width:100%;height:95%;top:70px}.signal-study{top:60px;left:7%;right:7%;width:auto;padding:0;display:block;background:none;border:none}.signal-study[hidden]{display:none}.signal-study h3{display:block;font-size:2rem;max-width:300px}.signal-study h3 br{display:none}.signal-study .eyebrow{margin-bottom:10px;font-size:.75rem}.signal-body{display:none}.signal-disclaimer{position:absolute;right:0;top:0;max-width:90px;text-align:right;font-size:.75rem;margin:0;line-height:1.6}.observatory-stage[data-view="signal"] .drag-hint{bottom:122px}.view-context{font-size:.9rem}.evidence-band{padding:65px 7%}.evidence-band h2{font-size:3rem}.evidence-band>div{grid-template-columns:1fr;gap:20px;margin-top:26px}
}
@media(max-width:380px){.device-copy h1{font-size:3rem}.device-copy h2{font-size:3rem}.device-copy .lead{font-size:1rem}.horizon-list button strong{font-size:1.5rem}.horizon-list button small{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.app-orbit{transition:none}.horizon-list button{transition:none}}

/* Motion refinement: reserve clear space above the model for the signal caption. */
@media(min-width:701px){
 .device-copy[data-chapter="3"] h2{font-size:clamp(3.2rem,5.4vw,6.2rem)}
 .home-signal{top:181px;right:6%;bottom:auto;width:42%;max-width:none;padding:0;text-align:right}
 .home-signal .signal-overline{display:none}
 .home-signal strong{font-size:clamp(1.15rem,1.7vw,1.65rem);line-height:1.2;display:block}
 .home-signal strong br{display:none}
 .home-signal p{margin-top:9px}
}
@media(max-width:700px){.home-signal{left:7%;right:auto;bottom:102px;top:auto;width:auto;text-align:left}.home-signal .signal-overline{display:none}.home-signal p{margin:0}}
.lab-gallery{padding:90px 7% 100px;background:#dfe9df;color:#153b2e}
.lab-gallery-heading{display:grid;grid-template-columns:1.3fr 1fr;column-gap:80px;margin-bottom:44px}
.lab-gallery-heading .eyebrow{grid-column:1/-1;font-size:.75rem;color:#547760;margin-bottom:28px}
.lab-gallery-heading h2{font-family:var(--serif);font-size:clamp(3rem,4.7vw,5rem);line-height:1.05;letter-spacing:-.04em;font-weight:400}
.lab-gallery-heading h2 em{color:#66836c}
.lab-gallery-heading>p:last-child{font-size:1rem;line-height:1.7;align-self:end;max-width:340px;color:#53705c;padding-bottom:5px}
.lab-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.lab-gallery figure{margin:0;min-width:0}
.lab-gallery img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block;background:#bbcabb}
.lab-gallery figure:nth-child(1) img{object-position:50% 68%}
.lab-gallery figure:nth-child(3) img{object-position:48% 60%}
.lab-gallery figure:nth-child(4) img{object-position:38% 58%}
.lab-gallery figcaption{display:flex;align-items:baseline;gap:12px;border-top:1px solid #a8bfad;padding-top:15px;margin-top:17px;font-size:.94rem;line-height:1.5}
.lab-gallery figcaption span{font-family:var(--mono);font-size:.75rem;color:#688770}
@media(max-width:1000px){.lab-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.lab-gallery img{aspect-ratio:4/5}.lab-gallery-heading{column-gap:35px}}
@media(max-width:700px){.lab-gallery{padding:65px 7%}.lab-gallery-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.lab-gallery-heading .eyebrow{margin:0}.lab-gallery-heading h2{font-size:3.1rem}.lab-gallery-grid{gap:28px 14px}.lab-gallery figcaption{gap:8px;flex-wrap:wrap;font-size:.875rem;padding-top:12px;margin-top:12px}.lab-gallery img{aspect-ratio:3/4}.lab-gallery figcaption span{font-size:.75rem}}

/* Define the platform name at its first introduction. */
.technology-name{color:var(--mint);font-weight:600}
.horizon-list button small{max-width:13ch;line-height:1.4}
