:root{--bg:#120d09;--panel:#1b130d;--panel2:#21170f;--ink:#fff8ea;--muted:#cdbb9e;--line:rgba(255,222,160,.14);--line2:rgba(255,222,160,.26);--gold:#f2bd58;--gold2:#ffd98a;--dark:#2b180c;--green:#78d6a3;--shadow:0 24px 70px rgba(0,0,0,.34)}*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;background:radial-gradient(circle at 50% 24%,rgba(242,189,88,.09),transparent 33%),linear-gradient(180deg,#100b08,#18100b 62%,#0e0a07);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;min-height:100vh}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px max(20px,calc((100vw - 1320px)/2));background:rgba(16,11,8,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand strong,.brand small{display:block}.brand strong{font-size:15px;letter-spacing:.16em}.brand small{color:var(--muted);font-size:11px;margin-top:2px}.brand-mark{display:grid;gap:4px;transform:skewX(-18deg)}.brand-mark i{display:block;width:31px;height:7px;border-radius:999px;background:linear-gradient(90deg,var(--gold2),var(--gold))}.brand-mark i:last-child{width:21px;margin-left:8px}.mode-switch{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04)}.mode-button,.story-button,#restart-story{border:0;font:inherit;color:inherit;cursor:pointer}.mode-button{padding:8px 12px;border-radius:10px;background:transparent;color:var(--muted);font-size:13px;font-weight:850}.mode-button.is-active{background:var(--gold);color:#211309}.intro{max-width:1180px;margin:0 auto;padding:54px 24px 28px;text-align:center}.eyebrow{margin:0 0 10px;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.intro h1{max-width:920px;margin:0 auto;font-size:clamp(38px,5.2vw,68px);line-height:1.02;letter-spacing:-.045em}.lead{max-width:820px;margin:18px auto 0;color:var(--muted);font-size:17px}.story-controls{display:flex;justify-content:center;gap:10px;margin-top:24px}.story-button{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 15px;border-radius:14px;border:1px solid var(--line2);background:rgba(255,255,255,.055);font-size:14px;font-weight:850}.story-button.is-active{color:#241306;background:linear-gradient(135deg,var(--gold2),var(--gold));border-color:transparent}.play-dot{width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 6px rgba(42,24,12,.08)}.map-shell{max-width:1360px;margin:0 auto;padding:8px 20px 0}.map{position:relative;display:grid;grid-template-columns:minmax(220px,1fr) minmax(400px,1.45fr) minmax(220px,1fr);grid-template-rows:165px 190px 190px 170px;gap:20px;min-height:780px;padding:26px;border:1px solid var(--line);border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));box-shadow:var(--shadow);overflow:hidden;isolation:isolate}.map::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,black,transparent 88%);pointer-events:none;z-index:-2}.connectors{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.base-line,.story-line{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.base-line{stroke:url(#lineGlow);stroke-width:1.5}.story-line{stroke:var(--gold);stroke-width:3.5;stroke-dasharray:3 18;opacity:0;filter:drop-shadow(0 0 6px rgba(242,189,88,.7))}.map[data-story-mode="journey"] .story-line{opacity:1;animation:flow 2.1s linear infinite}@keyframes flow{to{stroke-dashoffset:-84}}.map-node{position:relative;display:flex;gap:14px;align-items:flex-start;min-width:0;padding:18px;border:1px solid var(--line);border-radius:22px;background:rgba(26,18,12,.91);box-shadow:0 14px 34px rgba(0,0,0,.18);transition:opacity .32s ease,transform .32s ease,border-color .32s ease,box-shadow .32s ease,background .32s ease}.map-node h2{margin:2px 0 5px;font-size:20px;line-height:1.12;letter-spacing:-.02em}.map-node p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.48}.map-node small{display:block;color:#c99c4c;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.node-icon{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:rgba(242,189,88,.1);border:1px solid rgba(242,189,88,.24);color:var(--gold2);font-size:18px;font-weight:900}.map[data-story-mode="journey"] .map-node:not(.active-story),.map[data-story-mode="journey"] .atlas-layer{opacity:.48}.map[data-story-mode="journey"] .active-story{border-color:rgba(242,189,88,.5);box-shadow:0 0 0 1px rgba(242,189,88,.08) inset,0 18px 42px rgba(0,0,0,.24)}.map-node.is-current{transform:translateY(-3px) scale(1.015);background:linear-gradient(145deg,#2b1d12,#1b130d);border-color:var(--gold);box-shadow:0 0 0 1px rgba(242,189,88,.14) inset,0 0 34px rgba(242,189,88,.13),0 20px 44px rgba(0,0,0,.28)}.map-node[data-step]::after{content:attr(data-step);position:absolute;right:11px;top:10px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:rgba(242,189,88,.14);border:1px solid rgba(242,189,88,.28);color:var(--gold2);font-size:11px;font-weight:950}.node-customers{grid-column:1;grid-row:1}.node-venue{grid-column:1;grid-row:2}.node-management{grid-column:1;grid-row:3}.core-node{grid-column:2;grid-row:2/4;display:grid;align-content:center;text-align:center;padding:30px 32px;background:radial-gradient(circle at 50% 45%,rgba(242,189,88,.19),transparent 46%),linear-gradient(145deg,#25180e,#160f0a);border-color:rgba(242,189,88,.48);overflow:hidden}.core-node h2{font-size:38px;margin:3px 0 8px;color:var(--gold2)}.core-node p{font-size:15px;max-width:430px;margin:0 auto;color:#e2d4bd}.core-orbit{position:absolute;width:320px;height:320px;border-radius:50%;border:1px solid rgba(242,189,88,.15);left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 44px rgba(242,189,88,.025),0 0 0 88px rgba(242,189,88,.015);pointer-events:none}.core-chips{position:relative;display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:18px}.core-chips span{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid rgba(255,222,160,.14);color:#e7dbc7;font-size:11px;font-weight:800}.core-label{position:relative}.node-payments{grid-column:3;grid-row:1}.node-kitchen{grid-column:3;grid-row:2}.node-edge{grid-column:3;grid-row:3}.node-hardware{grid-column:3;grid-row:4}.node-control{grid-column:2;grid-row:1;margin:0 68px}.node-work{grid-column:1;grid-row:4}.atlas-layer{grid-column:3;grid-row:1;position:absolute;right:18px;top:-4px;transform:translateY(-58%);display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;max-width:310px;padding:12px 14px;border:1px solid rgba(122,180,255,.22);border-radius:16px;background:rgba(18,18,24,.92);box-shadow:0 14px 34px rgba(0,0,0,.24);transition:opacity .3s}.atlas-layer strong,.atlas-layer small{display:block}.atlas-layer strong{font-size:14px}.atlas-layer small{margin-top:2px;color:#c6c9d8;font-size:11px;line-height:1.4}.atlas-spark{color:#a9c9ff;font-size:19px}.foundation-zone{grid-column:2;grid-row:4;align-self:end;display:flex;justify-content:center;flex-wrap:wrap;gap:7px;padding:14px 16px 12px;border:1px solid var(--line);border-radius:18px;background:rgba(10,8,6,.74)}.foundation-zone span{padding:5px 8px;border-radius:9px;background:rgba(255,255,255,.035);color:#cbbda8;font-size:10.5px;font-weight:800}.foundation-zone em{flex-basis:100%;text-align:center;color:#8f8576;font-size:10px;font-style:normal}.technical-only{display:none!important}body[data-mode="technical"] .technical-only{display:block!important}.map-node .technical-only{margin-top:7px;color:#93a9bf!important;font-size:10.5px!important;line-height:1.4!important}.core-tech{position:relative!important;margin-top:12px!important;color:#93a9bf!important;font-size:10.5px!important}.atlas-layer .technical-only{grid-column:1/-1;color:#93a9bf;font-size:10px}.story-panel{max-width:1120px;margin:20px auto 0;display:grid;grid-template-columns:1fr auto;gap:14px 22px;align-items:center;padding:20px 22px;border:1px solid var(--line2);border-radius:22px;background:rgba(29,20,13,.94);box-shadow:0 18px 48px rgba(0,0,0,.2)}.story-progress{grid-column:1/-1;height:3px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.story-progress i{display:block;width:12.5%;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:width .35s ease}.story-copy small,.story-copy strong{display:block}.story-copy small{color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.12em}.story-copy strong{margin-top:3px;font-size:18px}.story-copy p{margin:3px 0 0;color:var(--muted);font-size:14px}.story-panel button{padding:9px 12px;border-radius:11px;background:rgba(255,255,255,.06);border:1px solid var(--line2);font-size:12px;font-weight:850}.principle-strip{max-width:1240px;margin:18px auto 54px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 20px}.principle-strip article{padding:16px 17px;border-left:2px solid rgba(242,189,88,.35);background:rgba(255,255,255,.018);border-radius:0 12px 12px 0}.principle-strip strong,.principle-strip span{display:block}.principle-strip strong{font-size:13px;color:#f5ead9}.principle-strip span{margin-top:4px;color:#9f927e;font-size:11.5px;line-height:1.45}@media(max-width:1050px){.map{grid-template-columns:1fr 1.25fr 1fr;padding:18px;gap:14px}.node-control{margin:0 30px}.map-node{padding:15px}.map-node h2{font-size:18px}.core-node{padding:26px 20px}.core-node h2{font-size:32px}.atlas-layer{display:none}.principle-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.topbar{padding:12px 14px}.brand small{display:none}.intro{padding:40px 16px 22px}.lead{font-size:15.5px}.story-controls{flex-wrap:wrap}.map-shell{padding:4px 12px}.map{display:flex;flex-direction:column;min-height:0;padding:14px;border-radius:24px}.connectors{display:none}.map-node,.core-node,.node-control{margin:0;min-height:auto;order:3}.node-customers{order:1}.core-node{order:2;padding:26px 18px}.node-payments{order:4}.node-venue{order:5}.node-kitchen{order:6}.node-edge{order:7}.node-hardware{order:8}.node-work{order:9}.node-management{order:10}.node-control{order:11}.foundation-zone{order:12;align-self:stretch}.core-orbit{width:240px;height:240px}.story-panel{margin:14px 12px 0;grid-template-columns:1fr;padding:17px}.story-panel button{justify-self:start}.principle-strip{grid-template-columns:1fr;margin-top:14px;padding:0 12px}.map[data-story-mode="journey"] .map-node:not(.active-story),.map[data-story-mode="journey"] .atlas-layer{display:none}.map[data-story-mode="journey"] .foundation-zone{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.story-line{animation:none!important}.map-node{transition:none!important}}

/* Mobile progressive disclosure: keep the visual a map, not a mega-page. */
@media(max-width:780px){
  .map[data-story-mode="journey"]{min-height:0;display:flex;flex-direction:column;overflow:hidden}
  .map[data-story-mode="journey"] .map-node{display:none;opacity:1}
  .map[data-story-mode="journey"] .core-node{display:grid;order:1;flex:0 0 auto}
  .map[data-story-mode="journey"] .map-node.is-current:not(.core-node){display:flex;order:2;flex:0 0 auto}
  .map[data-story-mode="journey"] .foundation-zone{display:flex;order:3;margin-top:0}
  .map[data-story-state="all"]{display:flex;flex-direction:row;align-items:stretch;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:14px;padding-bottom:18px}
  .map[data-story-state="all"] .map-node,.map[data-story-state="all"] .foundation-zone{display:flex!important;flex:0 0 min(82vw,330px);min-height:230px;scroll-snap-align:start;opacity:1;order:2}
  .map[data-story-state="all"] .core-node{display:grid!important;flex-basis:min(88vw,360px);order:1}
  .map[data-story-state="all"] .foundation-zone{align-content:center;align-items:center;justify-content:center;order:12}
}
.topbar-actions{display:flex;align-items:center;gap:10px}.locale-link{display:grid;place-items:center;min-width:38px;height:38px;padding:0 9px;border:1px solid var(--line);border-radius:11px;color:var(--gold2);text-decoration:none;font-size:12px;font-weight:900}.locale-link:hover,.locale-link:focus-visible{border-color:var(--gold);background:rgba(242,189,88,.08)}.public-links{max-width:900px;margin:0 auto 56px;display:flex;justify-content:center;flex-wrap:wrap;gap:9px;padding:0 18px}.public-links a{padding:9px 13px;border:1px solid var(--line);border-radius:12px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:850}.public-links a:hover,.public-links a:focus-visible{color:var(--gold2);border-color:var(--gold)}@media(max-width:520px){.topbar{gap:10px}.topbar-actions{gap:5px}.mode-button{padding:8px}.locale-link{min-width:34px;padding:0 7px}}

/* Living System Map UX polish v2: geometry-aware routing + AI Overwatch. */
:root{--ai:#62adff;--ai2:#a9d5ff;--ai-soft:rgba(98,173,255,.18)}
.connectors{z-index:0}
.map-node,.foundation-zone{z-index:2}
.base-line,.story-line,.ai-line{stroke-linejoin:round}
.base-line{stroke:url(#lineGlow);stroke-width:1.35;opacity:.7}
.story-line{stroke:var(--gold2);stroke-width:3.2;stroke-dasharray:2 15;opacity:0!important;animation:none!important;filter:drop-shadow(0 0 5px rgba(242,189,88,.5)) drop-shadow(0 0 11px rgba(242,189,88,.2))}
.story-line.is-active{opacity:1!important;animation:story-flow 1.55s linear infinite,story-breathe 1.55s ease-in-out infinite!important}
.ai-line{fill:none;stroke:var(--ai);stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(98,173,255,.5))}
.ai-circuit{stroke-width:1.8;stroke-dasharray:2 17;opacity:.62;animation:ai-flow 4.8s linear infinite,ai-breathe 2.6s ease-in-out infinite}
.ai-spoke{stroke-width:2.15;stroke-dasharray:2 13;opacity:.8;animation:ai-flow 3.8s linear infinite,ai-breathe 2.35s ease-in-out infinite}
.ai-focus{stroke-width:2.45;stroke-dasharray:1 11;opacity:.86;animation:ai-focus-flow 2.35s linear infinite,ai-focus-breathe 1.85s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(98,173,255,.72)) drop-shadow(0 0 13px rgba(98,173,255,.2))}
@keyframes story-flow{to{stroke-dashoffset:-68}}
@keyframes story-breathe{0%,100%{stroke-width:2.7;filter:drop-shadow(0 0 4px rgba(242,189,88,.4))}50%{stroke-width:3.8;filter:drop-shadow(0 0 8px rgba(242,189,88,.78)) drop-shadow(0 0 16px rgba(242,189,88,.24))}}
@keyframes ai-flow{to{stroke-dashoffset:-76}}
@keyframes ai-focus-flow{to{stroke-dashoffset:-58}}
@keyframes ai-breathe{0%,100%{opacity:.5}50%{opacity:.94}}
@keyframes ai-focus-breathe{0%,100%{opacity:.58}50%{opacity:1}}
@keyframes ai-status-pulse{0%,100%{transform:scale(.82);box-shadow:0 0 0 0 rgba(98,173,255,.3),0 0 11px rgba(98,173,255,.42)}50%{transform:scale(1.08);box-shadow:0 0 0 7px rgba(98,173,255,0),0 0 18px rgba(98,173,255,.8)}}
.map[data-story-mode="journey"] .atlas-layer{opacity:1}
.atlas-status{display:block;width:8px;height:8px;border-radius:50%;background:var(--ai);box-shadow:0 0 12px rgba(98,173,255,.66);animation:ai-status-pulse 2.35s ease-in-out infinite}
.map-legend{max-width:100%;display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px 17px;padding:11px 10px 0;color:#a99b88;font-size:10.5px;font-weight:800;letter-spacing:.015em}
.map-legend span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.legend-signal{display:inline-block;width:27px;height:3px;border-radius:999px}
.legend-business{background:linear-gradient(90deg,rgba(242,189,88,.25),var(--gold2),rgba(242,189,88,.25));box-shadow:0 0 7px rgba(242,189,88,.35)}
.legend-ai{height:2px;background:repeating-linear-gradient(90deg,var(--ai) 0 3px,transparent 3px 8px);filter:drop-shadow(0 0 4px rgba(98,173,255,.45))}
.legend-base{height:1px;background:rgba(242,189,88,.35)}
@media(min-width:781px){
  .map{padding-top:104px}
  .atlas-layer{display:grid;grid-column:auto;grid-row:auto;grid-template-columns:auto auto minmax(0,1fr);left:auto;right:26px;top:4px;transform:none;z-index:5;width:min(365px,calc(100% - 52px));max-width:365px;min-height:58px;padding:10px 13px;gap:9px;border-color:rgba(98,173,255,.34);background:linear-gradient(135deg,rgba(18,23,33,.97),rgba(17,16,20,.94));box-shadow:0 0 0 1px rgba(98,173,255,.045) inset,0 12px 30px rgba(0,0,0,.26),0 0 24px rgba(98,173,255,.07)}
  .atlas-layer strong{color:#e8f3ff;letter-spacing:-.01em}
  .atlas-layer small{color:#b9c9dc}
  .atlas-spark{color:var(--ai2)}
}
@media(max-width:1050px) and (min-width:781px){
  .map{padding-top:100px}
  .atlas-layer{right:18px;width:min(330px,calc(100% - 36px));max-width:330px;padding:9px 11px}
  .atlas-layer small{font-size:10.5px}
}
@media(max-width:780px){
  .map-legend{justify-content:flex-start;padding:9px 4px 0;gap:7px 13px;font-size:10px}
  .legend-signal{width:22px}
}
@media(prefers-reduced-motion:reduce){
  .story-line.is-active,.ai-line,.atlas-status{animation:none!important}
  .story-line.is-active{opacity:.92!important}
  .ai-line{opacity:.58}
}
@media(min-width:781px){
  body[data-mode="technical"] .map{padding-top:148px}
}

.story-controls{max-width:760px;margin-left:auto;margin-right:auto}
.story-button{position:relative}
.story-button .story-label{min-width:0}
.story-button[aria-pressed="true"] .play-dot{box-shadow:0 0 0 6px rgba(42,24,12,.08),0 0 16px rgba(242,189,88,.3)}
@media(max-width:620px){
  .story-controls{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:2px 2px 8px;scroll-snap-type:x proximity;scrollbar-width:none}
  .story-controls::-webkit-scrollbar{display:none}
  .story-button{flex:0 0 auto;scroll-snap-align:start}
}
