/* Affiliations stay readable and can be swiped on narrow screens, without an automatic marquee. */
.research-strip { padding:35px 0 31px; border-top:1px solid var(--rule); }
.research-strip-heading { margin-bottom:28px; }
.research-strip h2 { font:500 .76rem var(--sans); letter-spacing:.025em; }
.research-strip-heading p { color:var(--muted); font-size:.75rem; margin-top:5px; }
.research-track { width:calc(100% - 96px); max-width:1240px; margin:0 auto; overflow-x:auto; padding:4px 0 8px; scroll-padding-inline:4px; }
.research-list { display:grid; grid-template-columns:repeat(5,minmax(220px,1fr)); min-width:1100px; padding:0; margin:0; list-style:none; }
.research-list li { padding:0 27px; border-right:1px solid var(--rule); }
.research-list li:first-child { padding-left:4px; }
.research-list li:last-child { border:0; }
.research-list a { display:block; position:relative; text-align:center; }
.research-list a>span:not(.institution-name):not(.sr-only) { display:block; margin-top:12px; font-size:.65rem; line-height:1.65; color:var(--muted); }
.institution-name { font:500 1.35rem var(--display); letter-spacing:-.045em; white-space:nowrap; }

/* Native-scroll narrative; ambient facility life never advances the camera. */
.growth-experience { background:#10281f; color:#eff2df; position:relative; }
.growth-experience.is-scrollable { height:1140svh; min-height:6500px; }
.growth-stage { position:relative; overflow:hidden; background:radial-gradient(ellipse at 71% 48%,#203c2a 0%,#10281f 62%); }
.growth-experience.is-scrollable .growth-stage { position:sticky; top:84px; height:calc(100svh - 84px); min-height:0; max-height:1000px; }
.growth-inner { padding-block:30px; height:100%; display:flex; flex-direction:column; }
.growth-topline { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-bottom:22px; border-bottom:1px solid #48634b; flex:none; }
.illustration-label { font-size:.65rem; color:#b0bea5; }
.growth-layout { display:grid; grid-template-columns:.82fr 1.35fr; gap:24px; align-items:center; flex:1; min-height:0; }
.growth-copy { padding-block:24px; position:relative; z-index:2; min-width:0; }
.growth-copy h2 { font-size:clamp(2.7rem,4.1vw,4.1rem); letter-spacing:-.062em; line-height:1.12; }
.growth-copy h2 em { color:#c9e4a8; font-style:normal; }
.growth-premise { max-width:335px; font-size:.93rem; line-height:1.8; color:#b9c8b5; margin-top:23px; }
.growth-caption { margin-top:30px; border-left:1px solid #7c9869; padding-left:21px; min-height:160px; max-width:345px; }
.growth-number { color:#c9e4a8; font:400 .65rem ui-monospace,monospace; letter-spacing:.1em; }
.growth-caption h3 { font-size:1.27rem; margin-top:12px; letter-spacing:-.035em; }
.growth-caption p { color:#b9c8b5; font-size:.85rem; line-height:1.75; margin-top:12px; }
.vessel-figure { min-width:0; min-height:0; align-self:stretch; display:flex; flex-direction:column; justify-content:center; position:relative; }
.vessel-viewport { height:min(56svh,610px); min-height:240px; position:relative; }
.vessel-canvas,.vessel-poster { position:absolute; inset:0; width:100%; height:100%; }
.vessel-poster { object-fit:contain; }
.vessel-canvas canvas { display:block; width:100%; height:100%; }
[data-renderer="webgl"] .vessel-poster { visibility:hidden; }
.growth-steps { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); border-top:1px solid #48634b; flex:none; }
.growth-steps a { display:flex; align-items:center; gap:15px; padding:14px 12px 0 0; font-size:.8rem; position:relative; color:#afc0a6; min-height:52px; }
.growth-steps a span { font:400 .6rem ui-monospace,monospace; opacity:.7; }
.growth-steps a[aria-current="step"] { color:#e3f4c8; }
.growth-steps a[aria-current="step"]:before { content:""; height:2px; background:#c9e4a8; position:absolute; top:-1px; left:0; right:22px; }
.growth-steps a:hover { color:#fff; }
.growth-noscript { font-size:.8rem; padding-top:20px; color:#c6d2bb; }
.land-readout[hidden],.land-map-labels[hidden],.environment-controls[hidden]{display:none}
[data-chapter="land"] .growth-copy h2,[data-chapter="land"] .growth-premise,[data-chapter="anywhere"] .growth-premise{display:none}
[data-chapter="land"] .growth-caption{margin-top:0;min-height:0;border:0;padding:0}
[data-chapter="land"] .growth-layout,[data-chapter="anywhere"] .growth-layout{grid-template-columns:.7fr 1.6fr}
.land-readout{margin-top:22px;max-width:350px}
.comparison-kicker{font:400 .59rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.09em;color:#c9e4a8}
.land-headline{display:flex;gap:15px;align-items:center;margin:12px 0 18px}
.land-headline strong{font:500 clamp(2.5rem,4vw,4rem) var(--display);letter-spacing:-.06em;line-height:1;color:#d6eab1}
.land-headline span{font-size:.71rem;line-height:1.6;color:#bdcdb7;max-width:170px}
.land-values{margin:0;display:grid;gap:0}
.land-values>div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #48634b;padding:9px 0;font-size:.75rem}
.land-values dd{margin:0;font:500 .8rem ui-monospace,monospace;color:#e5edce}
.land-output{font-size:.65rem;line-height:1.6;color:#b9c8b5;margin-top:12px}
.land-basis{margin-top:12px;position:relative;font-size:.66rem;line-height:1.6;color:#b9c8b5}
.land-basis summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.land-basis>div{position:absolute;z-index:8;left:0;top:26px;width:min(430px,80vw);max-height:240px;overflow:auto;background:#17372b;border:1px solid #63785b;padding:16px;box-shadow:0 10px 30px #06180eb3}
.land-basis p+p{margin-top:10px}.land-basis a{color:#e0eabb;text-decoration:underline}
.land-map-labels{position:absolute;inset:0;pointer-events:none}
.land-map-labels>span{position:absolute;transform:translate(-50%,-100%);white-space:nowrap;font:400 .6rem var(--sans);padding:4px 6px;color:#eff2df;background:#10281fe6;border:1px solid #728369;border-radius:3px}
.land-map-labels b{display:block;color:#d6eab1;font:500 .65rem ui-monospace,monospace;text-align:center;margin-top:2px}
.environment-controls{flex:none;padding:8px 0 15px}
.environment-controls p{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.85rem;color:#eff2df;margin-bottom:10px}
.environment-controls small{font-size:.57rem;color:#b9c8b5;text-align:right}
.environment-controls>div{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.environment-controls button{font:400 .64rem var(--sans);border:1px solid #63785b;background:transparent;color:#c7d6be;padding:9px 5px;border-radius:3px;cursor:pointer}
.environment-controls button[aria-pressed="true"]{background:#d7e5bd;color:#17372b;border-color:#d7e5bd}
.environment-controls button:focus-visible{outline:2px solid #f0dd8a;outline-offset:3px}
@media(max-width:1100px){
  .research-track{width:calc(100% - 64px)}
  .growth-layout{grid-template-columns:.85fr 1.2fr;gap:16px}.growth-copy h2{font-size:3rem}.growth-premise{font-size:.85rem}.growth-caption{margin-top:24px;min-height:166px}.growth-copy{padding-block:20px}
}
@media(max-width:800px){
  .research-track{width:calc(100% - 40px)}.institution-name{font-size:1.2rem}
  .growth-experience.is-scrollable{height:1100svh;min-height:6000px}.growth-experience.is-scrollable .growth-stage{top:72px;height:calc(100svh - 72px)}
  .growth-inner{padding-block:22px}.growth-topline{padding-bottom:15px}.growth-topline .eyebrow{font-size:.6rem}.illustration-label{font-size:.6rem}.growth-copy h2{font-size:2.5rem}.growth-premise{font-size:.81rem}.growth-caption p{font-size:.78rem}.growth-caption h3{font-size:1.12rem}.growth-caption{padding-left:15px}.growth-steps a{font-size:.73rem;gap:10px}
}
@media(max-width:620px){
  .research-strip{padding-block:27px 19px}.research-strip-heading{margin-bottom:23px}.research-strip h2{font-size:.7rem}.research-strip-heading p{font-size:.7rem}.research-list{grid-template-columns:repeat(5,220px)}
  .growth-experience.is-scrollable{height:1100svh;min-height:6000px}
  .growth-inner{padding-block:12px}.growth-topline{align-items:flex-start;gap:16px;padding-bottom:12px}.growth-topline .eyebrow{max-width:115px;font-size:.56rem;line-height:1.6}.illustration-label{max-width:145px;text-align:right;line-height:1.6;font-size:.55rem}
  .growth-layout{display:flex;flex-direction:column;gap:0;align-items:stretch;justify-content:center}.growth-copy{display:grid;grid-template-columns:1fr 1.1fr;gap:8px 16px;padding:14px 0 2px;flex:none}.growth-copy h2{font-size:clamp(1.55rem,6.5vw,2.3rem);line-height:1.16;align-self:center}.growth-premise{display:none}.growth-caption{margin:0;min-height:115px;padding-left:14px;max-width:none}.growth-number{font-size:.54rem}.growth-caption h3{font-size:.94rem;margin-top:8px}.growth-caption p{font-size:.71rem;line-height:1.6;margin-top:8px}
  .vessel-figure{flex:1}.vessel-viewport{height:auto;min-height:140px;max-height:none;flex:1}.growth-experience:not(.is-scrollable) .vessel-viewport{height:clamp(260px,50svh,420px);flex:none}
  .growth-steps a{flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;padding:8px 2px 0 0;font-size:.6rem;min-height:52px}.growth-steps a[aria-current="step"]:before{right:14px}.growth-steps a span{font-size:.52rem}
  .growth-steps{grid-template-columns:repeat(5,minmax(0,1fr))}
  [data-chapter="land"] .growth-copy{display:block;padding:9px 0 0}
  [data-chapter="land"] .growth-caption p{display:none}
  .land-readout{margin-top:8px;max-width:none;display:grid;grid-template-columns:1fr;gap:6px}
  .comparison-kicker{grid-column:1/-1;font-size:.51rem}.land-headline{margin:0;gap:14px}.land-headline strong{font-size:2.6rem;flex:none}.land-headline span{font-size:.65rem;line-height:1.45;max-width:200px}
  .land-values{grid-template-columns:repeat(3,1fr);gap:10px}.land-values>div{display:block;padding:5px 0;font-size:.6rem}.land-values dd{font-size:.7rem;margin-top:3px}
  .land-output{grid-column:1/-1;font-size:.57rem;margin-top:3px}.land-basis{grid-column:1/-1;margin-top:1px;font-size:.57rem}
  .land-map-labels>span{font-size:.48rem;padding:3px}.land-map-labels b{font-size:.5rem}
  .land-map-labels>[data-land-label="lux"]{transform:translate(-50%,12px)}
  .land-map-labels>[data-land-label="lux"]::before{content:"";position:absolute;left:50%;top:-13px;height:12px;border-left:1px solid #c9e4a8}
  .environment-controls{padding:5px 0 10px}.environment-controls p{font-size:.72rem;gap:9px}.environment-controls small{font-size:.49rem;max-width:145px}
  .environment-controls button{font-size:.57rem;padding:8px 3px}
}
@media(max-width:440px){
  .growth-steps{grid-template-columns:repeat(5,minmax(0,1fr))}
  .vessel-viewport{min-height:100px}
}
/* Short viewports prioritize the current stage, plant and navigation. */
@media(max-width:620px) and (max-height:740px){
  .growth-experience.is-scrollable .growth-topline,.growth-experience.is-scrollable .growth-copy h2{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .growth-experience.is-scrollable .growth-copy{display:block;padding-top:4px}.growth-experience.is-scrollable .growth-caption{min-height:0;border:0;padding:0}.growth-experience.is-scrollable .growth-caption h3{font-size:1.1rem;margin-top:4px}.growth-experience.is-scrollable .growth-caption p{font-size:.76rem;line-height:1.6;margin-top:6px}
}
@media(min-width:621px) and (max-height:740px){
  .growth-inner{padding-block:12px}.growth-topline{padding-bottom:10px}.growth-copy{padding-block:8px}.growth-copy h2{font-size:2rem}.growth-premise{display:none}.growth-caption{margin-top:16px;min-height:0}.growth-caption p{margin-top:7px}.growth-layout{grid-template-columns:1fr 1.25fr;gap:24px}.vessel-viewport{height:auto;min-height:100px;flex:1;max-height:420px}.growth-steps a{padding-top:8px;min-height:44px}
}
@media(min-width:621px) and (max-height:500px){
  .growth-experience.is-scrollable .growth-topline,.growth-experience.is-scrollable .growth-copy h2{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .growth-caption{margin-top:0;padding-left:12px}.growth-caption h3{font-size:1rem;margin-top:4px}.growth-caption p{font-size:.72rem;line-height:1.5}.growth-layout{gap:14px}
}
@media(prefers-reduced-motion:reduce){
  .growth-experience.is-scrollable{height:auto;min-height:0}.growth-experience.is-scrollable .growth-stage{position:relative;top:auto;height:auto;min-height:0;max-height:none}.growth-layout{min-height:unset}
}
