/* Infomaja source story: HTML facts and a decorative vector connection map. */
.theme-infomaja{--source-paper:#fffefb;--source-night:#232e27;--source-text:#f6f5ec;--source-muted:#c6cbbc;--source-line:#a4ac98;--source-node:#c4a974}
.source-story{background:var(--source-night);color:var(--source-text);padding-block:clamp(56px,7vw,104px)}
.source-story-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:16px 64px;padding:0;border:0}
.source-story-label{grid-column:1/-1;margin:0;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--source-muted)}
.source-story h2{margin:0;font:500 clamp(36px,4.6vw,62px)/1.06 var(--display);letter-spacing:-.05em}
.source-story-heading>p:last-child{margin:0;align-self:end;max-width:420px;color:var(--source-muted);font-size:18px;line-height:1.65}
.source-map{position:relative;display:grid;grid-template-columns:30% 40% 30%;margin-block:64px;min-height:450px}
.source-map-lines{position:absolute;inset:0;width:100%;height:100%;color:var(--source-line);pointer-events:none}
.source-map-junctions{fill:var(--source-node)}
.source-map-inputs,.source-map-outputs{position:relative;display:grid;grid-template-rows:repeat(3,1fr)}
.source-map-inputs{padding-right:50px}.source-map-outputs{padding-left:50px}
.source-map-item{display:flex;flex-direction:column;justify-content:center;min-width:0;padding-block:18px}
.source-map-index{font:400 11px var(--display);color:var(--source-node);margin-bottom:8px}
.source-map-item h3{margin:0;font:500 clamp(20px,2vw,26px)/1.2 var(--display);letter-spacing:-.03em}
.source-map-item p{margin:8px 0 0;font-size:15px;line-height:1.5;color:var(--source-muted)}
.source-map-hub{position:relative;display:grid;place-items:center}
.source-map-brand{display:flex;align-items:center;justify-content:center;flex-direction:column;aspect-ratio:1;width:min(100%,280px);border-radius:50%;background:var(--source-paper);color:var(--source-night);text-align:center;box-shadow:0 0 0 20px var(--source-night),0 0 0 21px #a4ac9838}
.source-map-brand svg{width:58px;height:58px;margin-bottom:10px}
.source-map-brand strong{font:520 clamp(30px,3.5vw,43px)/1.1 Inter,Arial,sans-serif;letter-spacing:-.04em}
.source-map-brand p{font-size:14px;line-height:1.5;margin:15px 0 0}
.source-story-foot{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;border-top:1px solid #a4ac9840;padding-top:28px}
.source-story-foot p{margin:0;font-size:16px;line-height:1.65;max-width:540px}
.source-story-foot .source-story-status{font-size:13px;color:var(--source-muted)}
/* Future functionality: one short statement beside the existing Futunaator artwork. */
.project-future{background:var(--source-paper);color:var(--ink);padding-block:clamp(56px,7vw,96px)}
.project-future-layout{display:grid;grid-template-columns:1fr;gap:32px}
.project-future-copy{max-width:720px}
.project-future h2{margin:20px 0 0;font:500 clamp(32px,4vw,52px)/1.12 var(--display);letter-spacing:-.045em}
.project-future img{display:block;width:100%;height:auto}
@media(max-width:900px){.source-map-brand{width:210px;box-shadow:0 0 0 10px var(--source-night),0 0 0 11px #a4ac9838}.source-map-inputs{padding-right:24px}.source-map-outputs{padding-left:24px}.source-map-item h3{font-size:20px}.source-map-item p{font-size:14px}}
@media(max-width:700px){.source-story-heading,.source-story-foot{grid-template-columns:1fr;gap:24px}.source-story-heading>p:last-child{font-size:16px}.source-map{grid-template-columns:1fr;gap:40px;margin-block:40px;min-height:0}.source-map-lines{display:none}.source-map-inputs,.source-map-outputs{padding:0;grid-template-rows:none;gap:0;border-left:1px solid var(--source-line);margin-left:8px}.source-map-item{padding:18px 0 18px 24px;position:relative}.source-map-item:before{content:"";position:absolute;width:7px;height:7px;left:-4px;top:28px;background:var(--source-node);border-radius:50%}.source-map-item p br{display:none}.source-map-item h3{font-size:23px}.source-map-item p{font-size:16px}.source-map-brand{width:240px}.source-map-brand strong{font-size:36px}.source-map-hub:before,.source-map-hub:after{content:"";position:absolute;width:1px;height:30px;left:50%;background:var(--source-line)}.source-map-hub:before{top:-36px}.source-map-hub:after{bottom:-36px}.source-story-foot{padding-top:24px}.project-future-layout{gap:24px}}
