/* Context is a relationship map. Memory is an evolving decision record. */
.cx-page,.cm-page{--v2-ease:cubic-bezier(.22,1,.36,1)}
.cx-hero,.cm-hero{padding-bottom:90px}
.cx-hero h1,.cm-hero h1{max-width:1250px;font-size:clamp(58px,8.1vw,116px);line-height:1.025}
.cx-hero>p:last-child,.cm-hero>p:last-child{max-width:620px;margin-top:32px;font-size:19px;line-height:1.65}
.cx-stage{--cx-progress:.5;--cx-ink:#f4f4f4;position:relative;width:min(1496px,calc(100% - 40px));margin:0 auto;background:#121212;color:var(--cx-ink);border-radius:40px;padding:48px clamp(25px,4.2vw,64px) 30px;overflow:hidden;scroll-margin-top:100px}
.cx-stage::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 52% 40%,#cdcdcd0b,transparent 56%)}
.cx-stage-head{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.cx-eyebrow,.cx-update-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#979797;line-height:1.5}
.cx-stage-head h2{font-size:clamp(30px,3.2vw,45px);letter-spacing:-.045em;line-height:1.08;margin-top:15px}
.cx-map{height:510px;position:relative;margin:-40px 0 -12px}
.cx-map-depth{position:absolute;inset:0;transform:translateY(calc((var(--cx-progress) - .5) * -40px));will-change:transform}
.cx-connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.cx-connections .cx-wire{stroke:#dfdfdf;stroke-width:1;opacity:.15;transition:opacity .7s}
.cx-connections .cx-wire.is-selected{opacity:.52}
.cx-connections .cx-packet{stroke:#f3f3f3;stroke-width:1.8;stroke-dasharray:2.3 97.7;stroke-dashoffset:100;opacity:.3;animation:cx-transmit 7.2s linear infinite;animation-delay:var(--cx-delay,0s);animation-play-state:paused}
.cx-connections .cx-packet.is-selected{opacity:.9}
.cx-stage[data-bp-running=true] .cx-packet{animation-play-state:running}
.cx-project{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;z-index:2;padding:28px 40px;background:radial-gradient(ellipse,#191919 35%,#19191900 73%)}
.cx-project>span{display:block;font-size:10px;color:#999999;margin-bottom:13px;white-space:nowrap}
.cx-project>strong{display:block;font-weight:400;font-size:clamp(30px,3.4vw,48px);line-height:1.02;letter-spacing:-.047em}
.cx-project>i{display:block;width:5px;height:5px;border-radius:50%;background:#f3f3f3;box-shadow:0 0 26px #ededed50;margin:18px auto 0}
.cx-node{position:absolute;left:var(--cx-x);top:var(--cx-y);transform:translate(-50%,-50%);text-align:center;min-width:150px;max-width:220px;padding:17px 20px;background:none;border-radius:22px;cursor:pointer;transition:background .4s,color .4s;z-index:3;color:#f4f4f4}
.cx-node:hover,.cx-node.is-selected{background:#ffffff07}
.cx-node:hover .cx-node-point,.cx-node.is-selected .cx-node-point{background:#f6f6f6;box-shadow:0 0 20px #e1e1e150}
.cx-node-point{display:block;width:5px;height:5px;border-radius:50%;background:#5e5e5e;box-shadow:0 0 0 5px #ffffff03;margin:0 auto 12px;transition:background .5s,box-shadow .5s}
.cx-node>span{font-size:9px;letter-spacing:.12em;line-height:1.5;text-transform:uppercase;color:#878787;display:block;margin-bottom:6px}
.cx-node>strong{display:block;font-size:17px;letter-spacing:-.022em;font-weight:400;line-height:1.35}
.cx-node>small{font-size:11px;line-height:1.5;display:block;color:#a4a4a4;margin-top:6px;min-height:17px}
.cx-node [data-cx-after]{color:#d6d6d6}
.cx-customer{--cx-x:19%;--cx-y:21%}.cx-engineering{--cx-x:82%;--cx-y:30%}.cx-legal{--cx-x:82%;--cx-y:71%}.cx-commitment{--cx-x:52%;--cx-y:85%}.cx-product{--cx-x:20%;--cx-y:71%}.cx-owner{--cx-x:56%;--cx-y:6%}
.cx-stage[data-cx-updated=true] .cx-node-point{background:#b6b6b6}
.cx-stage[data-cx-updated=true] .cx-wire{opacity:.3}
.cx-stage[data-cx-updated=true] .cx-wire.is-selected{opacity:.68}
.cx-stage[data-cx-updated=true] .cx-packet{opacity:.6}
.cx-update{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 28px;background:#ffffff05;border-radius:24px}
.cx-update p{font-size:clamp(19px,2.1vw,28px);letter-spacing:-.025em;line-height:1.35;margin-top:8px}
.cx-update button{display:inline-flex;align-items:center;gap:20px;border-radius:30px;padding:15px 21px;min-height:48px;background:#efefef;color:#171717;font-size:12px;white-space:nowrap;cursor:pointer;transition:background .3s,transform .3s}
.cx-update button:hover{background:#fff;transform:translateY(-2px)}.cx-update button svg{width:18px;height:18px}
.cx-insight{display:grid;grid-template-columns:1fr 2fr;align-items:start;gap:30px;margin-top:34px;min-height:103px}
.cx-insight>span{font-size:11px;color:#8d8d8d;padding-top:6px}.cx-insight h3{font-size:24px;line-height:1.24;letter-spacing:-.032em}.cx-insight p{font-size:13px;line-height:1.7;color:#a8a8a8;margin-top:12px;max-width:650px}
.cx-note{color:#747474;font-size:10px;line-height:1.7;margin-top:25px!important;max-width:720px}
.cx-meaning{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;padding-block:125px 95px}
.cx-meaning h2{font-size:clamp(36px,4.3vw,61px);line-height:1.09;letter-spacing:-.048em;margin-top:30px}.cx-meaning h2 span{color:#909090}
.cx-use-list{display:grid;gap:36px;padding-top:12px}.cx-use-list article>span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#919191}.cx-use-list h3{font-size:24px;letter-spacing:-.035em;line-height:1.25;margin-top:12px}.cx-use-list p{font-size:14px;line-height:1.75;color:#7f7f7f;margin-top:12px;max-width:410px}
/* The timeline remains outside the record; revisions alter its actual wording. */
.cm-history{--cm-progress:.5;padding-block:30px 95px;scroll-margin-top:110px}
.cm-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:60px}
.cm-heading h2{font-size:clamp(31px,3.8vw,54px);line-height:1.1;letter-spacing:-.05em;margin-top:18px}
.cm-workspace{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.8fr);gap:70px;align-items:start}
.cm-timeline{position:relative;padding-top:28px;display:flex;flex-direction:column;gap:10px}
.cm-timeline-wire{position:absolute;top:65px;bottom:154px;left:19px;width:1px;background:#d9d9d9;overflow:hidden}
.cm-timeline-wire::after{content:'';position:absolute;inset:0;transform:translateY(-100%);background:linear-gradient(transparent,#6c6c6c,transparent);animation:cm-timeline 8s linear infinite;animation-play-state:paused}
.cm-history[data-bp-running=true] .cm-timeline-wire::after{animation-play-state:running}
.cm-timeline button{display:flex;position:relative;align-items:flex-start;gap:22px;padding:24px 0;text-align:left;background:none;color:#999999;cursor:pointer;min-height:142px}
.cm-version-dot{flex:none;display:flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:50%;font-size:10px;background:#eaeaea;color:#929292;transition:background .4s,color .4s;margin-top:6px}
.cm-timeline button.is-selected{color:#272727}.cm-timeline button.is-selected .cm-version-dot{background:#2d2d2d;color:#f9f9f9;box-shadow:0 8px 24px #2f2f2f12}
.cm-timeline button:hover{color:#393939}.cm-timeline small{display:block;font-size:10px;line-height:1.4;margin-bottom:9px;color:#949494}.cm-timeline strong{font-size:18px;line-height:1.25;letter-spacing:-.03em;font-weight:450;display:block}.cm-timeline em{display:block;font-style:normal;font-size:12px;line-height:1.55;margin-top:8px;max-width:165px}
.cm-history-aside{position:relative;color:#909090;font-size:12px;line-height:1.85;margin-top:36px!important;padding-left:62px;max-width:265px}
.cm-record-stack{position:relative;padding:0 15px 26px;perspective:1400px}
.cm-paper-echo{position:absolute;inset:35px 17px 0;background:#eaeaea;border-radius:6px;box-shadow:0 17px 32px #2d2d2d07;pointer-events:none;transform-origin:50% 85%}
.cm-paper-echo-back{transform:rotate(calc(-3deg + var(--cm-progress) * 2deg)) translate(-17px,6px)}
.cm-paper-echo-front{background:#efefef;transform:rotate(calc(2deg - var(--cm-progress) * 1.5deg)) translate(15px,0)}
.cm-record{position:relative;background:#fefefe;border-radius:5px;box-shadow:0 25px 80px #2e2e2e09;padding:34px clamp(30px,4.2vw,64px) 28px;transform:translateY(calc((var(--cm-progress) - .5) * -24px));will-change:transform;min-height:670px}
.cm-record-label{display:flex;justify-content:space-between;gap:20px;font-size:10px;line-height:1.5;color:#939393;padding-bottom:38px}
.cm-revision{display:flex;align-items:center;gap:15px;flex-wrap:wrap;font-size:11px;color:#8f8f8f;line-height:1.5}.cm-revision>span{font-size:9px;letter-spacing:.05em;color:#a5a5a5}
.cm-record h3{font-size:clamp(38px,4.35vw,63px);line-height:1.06;letter-spacing:-.055em;margin-top:22px;max-width:600px;min-height:135px}
.cm-change{padding:24px 0 27px;min-height:102px}.cm-change>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#9e9e9e}.cm-change p{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:14px;line-height:1.6;color:#676767;margin-top:11px}.cm-change del{color:#a5a5a5;text-decoration-thickness:1px}.cm-change ins{background:#efefef;border-radius:3px;padding:2px 6px;text-decoration:none;color:#5e5e5e}.cm-change p>span{font-size:15px;color:#8e8e8e}
.cm-decision-facts{margin:0;display:grid;gap:21px;font-size:13px;line-height:1.65}.cm-decision-facts>div{display:grid;grid-template-columns:65px 1fr;gap:20px}.cm-decision-facts dt{font-size:10px;color:#a4a4a4;padding-top:3px}.cm-decision-facts dd{margin:0;color:#707070;display:flex;align-items:center;gap:10px}.cm-decision-facts i{display:inline-flex;font-style:normal;align-items:center;justify-content:center;font-size:8px;width:26px;height:26px;border-radius:50%;background:#f0f0f0;color:#727272;flex:none}
.cm-carry{display:flex;align-items:center;justify-content:space-between;gap:13px;font-size:9px;line-height:1.4;color:#ababab;margin-top:38px;padding-top:10px}
.cm-carry i{height:1px;flex:1;background:#e4e4e4;min-width:8px}.cm-carry span{transition:color .8s}.cm-carry span.is-current{color:#5a5a5a}
.cm-note{font-size:10px;color:#919191;line-height:1.7;margin-top:34px!important;margin-left:calc(28% + 60px);max-width:700px}
.cm-continuity{background:#202020;color:#f0f0f0;padding-block:104px 112px}.cm-continuity .bp-kicker{color:#8e8e8e}
.cm-continuity-title{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:110px;margin-top:36px}.cm-continuity h2{font-size:clamp(74px,10.6vw,154px);line-height:.97;letter-spacing:-.065em}.cm-continuity h2 span{color:#a9a9a9}.cm-continuity h3{font-size:34px;line-height:1.13;letter-spacing:-.045em}.cm-continuity p:not(.bp-kicker){font-size:16px;line-height:1.75;max-width:420px;color:#a4a4a4;margin-top:26px}.cm-three-notes{display:grid;gap:14px;color:#c7c7c7;font-size:12px;margin-top:30px}.cm-three-notes span::before{content:'↳';font-size:14px;margin-right:16px;color:#868686}
@keyframes cx-transmit{to{stroke-dashoffset:0}}@keyframes cm-timeline{to{transform:translateY(100%)}}
@media(min-width:1600px){.cx-map{height:550px}.cx-node{min-width:180px}.cm-record{min-height:715px}}
@media(max-width:1100px){.cx-map{height:500px;margin-top:0}.cx-node{min-width:135px;max-width:180px;padding-inline:12px}.cx-node>strong{font-size:15px}.cx-owner{--cx-y:5%}.cx-project>span{font-size:9px}.cx-project{padding-inline:18px}.cx-meaning{gap:55px}.cm-workspace{gap:30px;grid-template-columns:220px minmax(0,1fr)}.cm-timeline button{gap:14px}.cm-timeline strong{font-size:16px}.cm-record{padding-inline:30px}.cm-record h3{font-size:48px;min-height:105px}.cm-continuity-title{gap:65px}.cm-note{margin-left:250px}.cm-history-aside{padding-left:52px}}
@media(max-width:760px){.cx-hero,.cm-hero{padding-bottom:60px}.cx-hero h1,.cm-hero h1{font-size:clamp(43px,9vw,68px)}.cx-hero>p:last-child,.cm-hero>p:last-child{font-size:16px;margin-top:27px}.cx-stage{width:calc(100% - 24px);border-radius:28px;padding:28px 22px 24px}.cx-stage-head h2{font-size:31px}.cx-stage-head .bp-pause{font-size:9px!important}.cx-eyebrow{font-size:9px}.cx-map{height:590px;margin:18px -12px 0}.cx-project{top:10%;left:50%;padding:10px 20px}.cx-project>strong{font-size:29px}.cx-project>span{font-size:9px;margin-bottom:7px}.cx-project>i{margin-top:12px}.cx-node{min-width:0;width:43%;max-width:180px;padding:15px 8px}.cx-node>strong{font-size:15px}.cx-node>span{font-size:8px;letter-spacing:.09em}.cx-node>small{font-size:10px;min-height:30px}.cx-node-point{margin-bottom:10px}.cx-customer{--cx-x:24%;--cx-y:34%}.cx-engineering{--cx-x:76%;--cx-y:34%}.cx-legal{--cx-x:24%;--cx-y:60%}.cx-product{--cx-x:76%;--cx-y:60%}.cx-commitment{--cx-x:24%;--cx-y:85%}.cx-owner{--cx-x:76%;--cx-y:85%}.cx-map-depth{transform:translateY(calc((var(--cx-progress) - .5) * -18px))}.cx-update{align-items:flex-start;flex-direction:column;padding:21px;gap:20px;border-radius:20px}.cx-update p{font-size:22px}.cx-update-label{font-size:9px}.cx-update button{font-size:11px;padding:12px 18px;min-height:44px}.cx-insight{grid-template-columns:1fr;gap:17px;margin-top:28px;min-height:165px}.cx-insight h3{font-size:23px}.cx-insight p{font-size:13px;line-height:1.65}.cx-note{margin-top:20px!important;font-size:9px;line-height:1.6}.cx-meaning{grid-template-columns:1fr;padding-block:76px 48px;gap:47px}.cx-meaning h2{font-size:38px}.cx-use-list{gap:28px}.cx-use-list h3{font-size:23px}.cm-heading{gap:18px;margin-bottom:28px}.cm-heading h2{font-size:30px}.cm-heading .bp-pause{font-size:9px!important}.cm-workspace{grid-template-columns:1fr;gap:30px}.cm-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:0}.cm-timeline button{min-height:0;display:block;padding:8px 0;text-align:left}.cm-version-dot{width:31px;height:31px;font-size:9px;margin-bottom:16px}.cm-timeline small{font-size:9px;line-height:1.5;margin-bottom:8px}.cm-timeline strong{font-size:13px;line-height:1.35}.cm-timeline em{font-size:10px;line-height:1.5;margin-top:7px}.cm-history-aside{display:none}.cm-timeline-wire{height:1px;width:auto;top:29px;bottom:auto;left:15px;right:14%}.cm-timeline-wire::after{animation-name:cm-timeline-mobile}.cm-record-stack{padding:0 4px 19px}.cm-record{padding:26px 25px;min-height:575px;transform:translateY(calc((var(--cm-progress) - .5) * -10px))}.cm-record-label{font-size:8px;gap:12px;padding-bottom:30px}.cm-record h3{font-size:42px;min-height:0;margin-top:19px}.cm-change{padding-block:22px;min-height:100px}.cm-change p{font-size:12px;gap:6px}.cm-revision{font-size:10px;gap:10px}.cm-revision>span{font-size:8px}.cm-decision-facts{gap:17px;font-size:12px;line-height:1.65}.cm-decision-facts>div{grid-template-columns:43px 1fr;gap:12px}.cm-decision-facts dt{font-size:9px}.cm-carry{font-size:8px;gap:7px;flex-wrap:wrap;justify-content:flex-start;margin-top:27px}.cm-carry span{max-width:84px}.cm-carry i{min-width:10px;max-width:30px}.cm-note{margin-left:0;font-size:9px;margin-top:25px!important}.cm-history{padding-block:12px 68px}.cm-paper-echo-back{transform:rotate(-1.5deg) translate(-7px,4px)}.cm-paper-echo-front{transform:rotate(1deg) translate(8px,0)}.cm-continuity{padding-block:70px}.cm-continuity-title{grid-template-columns:1fr;gap:40px;margin-top:30px}.cm-continuity h2{font-size:clamp(72px,15vw,114px)}.cm-continuity h3{font-size:29px}.cm-continuity p:not(.bp-kicker){font-size:15px;margin-top:20px}.cm-three-notes{font-size:12px;gap:12px}}
@keyframes cm-timeline-mobile{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media(max-width:360px){.cx-stage{padding-inline:18px}.cx-stage-head h2{font-size:28px}.cx-stage-head{gap:10px}.cx-stage-head .bp-pause{font-size:8px!important;gap:5px}.cx-map{margin-inline:-8px;height:580px}.cx-node>strong{font-size:13px}.cx-node>small{font-size:10px}.cx-update p{font-size:21px}.cm-heading{flex-direction:column;gap:8px}.cm-timeline{gap:9px}.cm-timeline strong{font-size:12px}.cm-record{padding-inline:22px}.cm-record h3{font-size:36px}.cm-record-label{font-size:8px}.cm-carry{font-size:8px;gap:5px}.cm-carry span{max-width:69px}.cm-carry i{max-width:12px}.cm-continuity h2{font-size:70px}}
@media(prefers-reduced-motion:reduce){.cx-map-depth,.cm-record,.cm-paper-echo{transform:none!important;will-change:auto}.cx-packet,.cm-timeline-wire::after{animation:none!important}.cx-node,.cx-node-point,.cx-wire,.cx-update button,.cm-version-dot,.cm-carry span{transition:none!important}}

/* Passive map flow keeps a focus-accessible pause without competing with its title. */
.cx-stage .bp-pause{position:absolute;right:0;top:0;opacity:0;pointer-events:none}.cx-stage .bp-pause:focus-visible{opacity:1;pointer-events:auto}
.cx-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cm-carry span{animation:cm-carry 9s ease-in-out infinite;animation-play-state:paused}.cm-carry span:nth-of-type(2){animation-delay:3s}.cm-carry span:nth-of-type(3){animation-delay:6s}.cm-history[data-bp-running=true] .cm-carry span{animation-play-state:running}
@keyframes cm-carry{0%,33%,100%{color:#ababab}12%,24%{color:#4e4e4e}}
@media(prefers-reduced-motion:reduce){.cm-carry span{animation:none!important;color:#707070}}

/* The requested change travels through its actual dependencies. */
.cx-stage[data-cx-updated=true] .cx-wire{opacity:.1}.cx-stage[data-cx-updated=true] .cx-wire.is-affected{opacity:.4}.cx-stage[data-cx-updated=true] .cx-wire.is-selected.is-affected{opacity:.72}.cx-stage[data-cx-updated=true] .cx-packet{opacity:.025}.cx-stage[data-cx-updated=true] .cx-packet.is-affected{opacity:.72}
.cx-stage[data-cx-updated=true] .cx-node-point{background:#626262}.cx-stage[data-cx-updated=true] .cx-node[data-cx-touched=true] .cx-node-point{background:#d0d0d0;animation:cx-touch .7s ease-out}
@keyframes cx-touch{0%{box-shadow:0 0 0 0 #ffffff40}100%{box-shadow:0 0 0 17px #ffffff00}}
@media(prefers-reduced-motion:reduce){.cx-node[data-cx-touched] .cx-node-point{animation:none!important}}
/* Meaningful secondary copy remains readable on the light record surfaces. */
.cx-page .bp-kicker,.cm-page .bp-kicker,.cx-use-list article>span,.cx-use-list p,.cm-version-dot{color:#707070}
.cx-hero h1>span,.cm-hero h1>span,.cx-meaning h2 span{color:#858585}
.cm-record-label,.cm-revision,.cm-revision>span,.cm-change>span,.cm-decision-facts dt,.cm-history-aside,.cm-note,.cm-timeline small,.cm-timeline button,.cm-carry{color:#707070}
.cm-record-label{font-size:11px}.cm-revision{font-size:12px}.cm-revision>span{font-size:10px}.cm-change>span{font-size:10px}.cm-decision-facts dt{font-size:11px}.cm-change del{color:#757575}.cm-carry{font-size:10px}.cm-timeline button.is-selected{color:#252525}
.cx-note{color:#818181}.cm-continuity .bp-kicker{color:#9a9a9a}
@keyframes cm-carry{0%,33%,100%{color:#707070}12%,24%{color:#333333}}
@media(max-width:760px){.cm-record-label{font-size:10px}.cm-revision{font-size:11px}.cm-revision>span{font-size:10px}.cm-change>span,.cm-decision-facts dt,.cm-timeline small,.cm-carry{font-size:10px}.cm-decision-facts{font-size:13px}.cm-timeline strong{font-size:13px}.cm-timeline em{font-size:11px}.cm-carry span{max-width:92px}.cm-record-label{padding-bottom:25px}.cm-note{font-size:10px}.cm-record{min-height:590px}}
@media(max-width:360px){.cm-carry span{max-width:76px}.cm-carry i{max-width:10px}.cm-timeline{gap:8px}}

/* Localized phone labels retain their own column and heading width. */
@media(max-width:760px){.cm-decision-facts>div{grid-template-columns:64px minmax(0,1fr)}.cm-heading{flex-direction:column;gap:12px}.cm-decision-facts dd{min-width:0}}
