/* Inherits the live Thunderlink feature-section geometry and typography. */
.project-page--spektrum .tl-page #overview{min-height:calc(100svh - var(--nav-h,69px));justify-content:center}
.project-page--spektrum .tl-page #overview{padding-block:clamp(3rem,6vw,6rem);scroll-margin-top:var(--nav-h,69px)}
.spektrum-introduction__heading .tl-intro__name{margin:0 0 clamp(1.5rem,3vw,3rem)}
.spektrum-introduction__heading>p{margin:0;color:#51575e;font:400 clamp(1.2rem,2vw,2rem)/1.4 var(--font-display,sans-serif);letter-spacing:-.025em}
.spektrum-introduction__background{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,6vw,7rem);margin-top:clamp(2rem,4vw,4rem)}
.spektrum-introduction__background p{max-width:58ch;margin:0;color:#51575e;font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.65}
.spektrum-introduction__background sup{margin-left:.15em;font-size:.65em;line-height:0}
.spektrum-introduction__background sup a{color:inherit;text-decoration:none;padding:.15em}
.spektrum-introduction .spektrum-sources li{scroll-margin-top:calc(var(--nav-h,69px) + 1rem)}
.spektrum-mechanisms{box-sizing:border-box;min-height:calc(100svh - var(--nav-h,69px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);align-content:center;align-items:center;gap:5.5vw;padding-block:clamp(3rem,6vw,6rem);border-top:1px solid #191c2026;scroll-margin-top:var(--nav-h,69px)}
.spektrum-mechanisms__visual{min-width:0;margin:0}
.spektrum-environments{--split-half-gap:clamp(3px,.4vw,6px);position:relative;aspect-ratio:16/9;overflow:hidden;background:transparent;isolation:isolate}
.spektrum-environments>div{position:absolute;inset:0}
.spektrum-environments__field{clip-path:polygon(0 0,calc(44% - var(--split-half-gap)) 0,calc(56% - var(--split-half-gap)) 100%,0 100%)}
.spektrum-environments__infrastructure{clip-path:polygon(calc(44% + var(--split-half-gap)) 0,100% 0,100% 100%,calc(56% + var(--split-half-gap)) 100%)}
.spektrum-environments img{position:absolute;top:0;display:block;width:60%;height:100%;object-fit:cover}
.spektrum-environments__field img{left:0;object-position:55% center}
.spektrum-environments__infrastructure img{right:0;object-position:59% center}
.spektrum-mechanisms__visual figcaption{margin-top:.8rem;color:#666e77;font-size:.65rem;line-height:1.5}
.spektrum-mechanisms__visual figcaption a{color:inherit;font-weight:400;text-decoration:none}
.spektrum-mechanisms__visual figcaption a:hover{text-decoration:underline}
.spektrum-mechanisms__copy{min-width:0}
.tl-page .spektrum-mechanisms h2{font:500 clamp(2.25rem,4.3vw,4.8rem)/1.05 var(--font-display,sans-serif);letter-spacing:-.045em;margin:0 0 1.7rem;max-width:16ch;text-wrap:balance}
.spektrum-mechanisms p{max-width:43ch;margin:0;color:#51575e;font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.65}
.spektrum-mechanisms p+p{margin-top:1.5em}
.spektrum-mechanisms a{color:#191c20;font-weight:500;text-decoration:underline;text-decoration-color:#191c2040;text-decoration-thickness:1px;text-underline-offset:.2em}
.spektrum-mechanisms a:hover{text-decoration-color:currentColor}
.spektrum-mechanisms a:focus-visible{outline:2px solid #326d66;outline-offset:5px}
.spektrum-introduction .spektrum-sources{margin-top:clamp(2rem,3vw,3rem);font-size:.68rem}
.spektrum-london{scroll-margin-top:var(--nav-h,69px)}
.london-map-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#f0eee7}
.london-map-scaler{position:absolute;left:0;top:0;width:1600px;height:900px;transform-origin:0 0}
.london-map-scaler iframe{display:block;border:0;width:1600px;height:900px;pointer-events:none}
.london-caption{display:flex;justify-content:space-between;align-items:start;gap:1rem}
.london-caption nav{display:flex;flex-wrap:wrap;gap:clamp(.6rem,1.2vw,1.3rem)}
.london-caption button{font:inherit;letter-spacing:0;color:#666e77;background:none;border:0;padding:3px 0 6px;cursor:pointer;white-space:nowrap}
.london-caption button[aria-pressed=true]{color:#191c20;box-shadow:inset 0 -1px currentColor}
.london-caption .london-fade{margin-left:auto}
.london-map-frame[data-dark=true]{background:#090c0d}
.london-copy .london-source-link{margin-top:1.6rem;padding:0 0 .35rem;border:0;border-bottom:1px solid #191c2040;background:none;color:#51575e;font:400 .8rem/1.5 var(--font-display,sans-serif);cursor:pointer}
.london-copy .london-source-link span{margin-left:.5rem}
.london-copy>p{font-size:clamp(1rem,1.25vw,1.2rem);color:#51575e;line-height:1.65;max-width:43ch;margin:0}
.london-copy>.london-mechanism{font-size:.8rem;margin-bottom:1.1rem;color:#626971}
.london-sources{width:min(1250px,94vw);max-width:94vw;height:92dvh;max-height:92dvh;padding:0;border:0;background:#f6f5f0;color:#191c20;overflow:hidden}
.london-sources[open]{display:flex;flex-direction:column}
.london-sources::backdrop{background:#08090bb8}
.london-sources-top{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;gap:1rem}
.london-sources-top h2{font-size:17px;font-weight:500;letter-spacing:-.02em;margin:0}
.london-source-close{border:0;background:none;font-size:26px;color:inherit;cursor:pointer;padding:0 5px}
.london-plan-tabs{display:flex;gap:24px;padding:0 24px 12px}
.london-plan-tabs button{font:inherit;font-size:13px;padding:4px 0;background:none;border:0;color:#70756f;cursor:pointer}
.london-plan-tabs button[aria-pressed=true]{color:#191c20;box-shadow:0 1px currentColor}
.london-plan-image{flex:1;min-height:0;overflow:auto;background:white;display:flex;justify-content:center;align-items:start}
.london-plan-image img{display:block;width:auto;height:100%;max-width:100%;object-fit:contain}
.london-plan-note{padding:12px 24px;display:flex;gap:2rem;align-items:center;justify-content:space-between;border-top:1px solid #191c2020}
.london-plan-note p{font-size:12px;line-height:1.5;margin:0;max-width:78ch;color:#51575e}
.london-plan-note a{font-size:12px;white-space:nowrap;color:#191c20;text-decoration:underline;text-underline-offset:3px}
.spektrum-london button:focus-visible,.london-sources button:focus-visible{outline:2px solid #326d66;outline-offset:4px}
@media(min-width:850.02px){.tl-page .spektrum-london .london-caption{padding-top:.8rem}.tl-page .spektrum-london .london-copy h2{white-space:normal;max-width:18ch}.london-figure{gap:0}}
@media(max-width:850px){
 .project-page--spektrum .tl-page #overview{min-height:0;padding-block:clamp(3rem,8vw,5rem)}
 .spektrum-introduction__background{grid-template-columns:1fr;gap:1.5rem}
 .spektrum-mechanisms{grid-template-columns:1fr;gap:3rem}
 .spektrum-mechanisms__copy{order:0}
 .spektrum-mechanisms__visual{order:1}
 .tl-page .spektrum-london{min-height:calc(100svh - var(--nav-h,69px));display:flex;flex-direction:column;justify-content:center;padding-block:3rem;gap:2rem}
 .tl-page .spektrum-london .london-copy{order:0;align-self:start}
 .tl-page .spektrum-london .london-figure{order:1;width:100%;height:auto;flex:none}
 .tl-page .spektrum-london .london-caption{position:static;color:#666e77;text-shadow:none;padding-top:12px;font-size:11px}
 .london-copy .london-source-link{margin-top:1rem}
 .london-caption{flex-wrap:wrap;gap:.5rem}.london-caption nav{gap:1rem}.london-caption .london-fade{margin-left:0}
 .london-sources-top{padding:16px}.london-sources-top h2{font-size:14px}.london-plan-tabs{padding-inline:16px}
 .london-plan-note{padding:12px 16px;display:block}.london-plan-note a{display:inline-block;margin-top:8px}
}
