/* One continuous operating model, distinct from Milo's physical layer cutaway. */
.os-story{--os-ink:#f6f6f6;--os-muted:#a8a8a8;padding:0 24px 32px;color:var(--os-ink)}
.os-track{position:relative}.os-pin{padding:16px 0}.os-surface{max-width:1600px;margin:auto;background:#131313;border-radius:36px;overflow:hidden;position:relative;isolation:isolate;box-shadow:0 18px 70px #0f0f0f14}.os-surface:before{content:"";position:absolute;inset:0;z-index:-1;background:none;pointer-events:none}
.os-masthead,.os-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 42px}.os-masthead p{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.08em;margin:0}.os-masthead p>span{color:#696969}.os-masthead i{width:5px;height:5px;background:#dddddd;border-radius:50%;box-shadow:0 0 10px #f8f8f880}.os-motion{display:grid;place-items:center;width:34px;height:34px;background:#ffffff0c;color:#ddd;border:0;border-radius:50%;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s,background .2s}.os-motion[hidden]{display:none}.os-motion svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5}.os-motion:hover{background:#ffffff20}.os-motion:focus-visible,.os-motion[aria-pressed="true"]{opacity:1;pointer-events:auto}.os-motion:focus-visible{outline:2px solid #fff;outline-offset:4px}
.os-body{display:grid;grid-template-columns:minmax(310px,.8fr) minmax(0,1.35fr);align-items:center;min-height:540px;padding:0 42px;gap:25px}.os-copy{position:relative;z-index:2}.os-copy h2{font-size:clamp(34px,3.55vw,58px);line-height:1.08;font-weight:450;letter-spacing:-.055em;margin:0 0 34px}.os-copy h2>span{color:#9d9d9d}.os-chapter{margin:0 0 32px}.os-number{font-size:11px;color:#9c9c9c;letter-spacing:.07em}.os-chapter h3{font-weight:450;letter-spacing:-.035em;font-size:clamp(24px,2.25vw,34px);line-height:1.16;margin:17px 0}.os-chapter p{color:#b7b7b7;font-size:15px;line-height:1.65;max-width:345px;margin:0}.os-nav{display:none;gap:20px;margin-top:28px}.os-nav a{color:#969696;font-size:11px;display:flex;align-items:center;gap:8px;padding:12px 0}.os-nav a span{display:block;width:22px;height:2px;background:#454545;transition:background .4s,width .4s}.os-nav a[aria-current="step"]{color:#fff}.os-nav a[aria-current="step"] span{background:#f1f1f1;width:42px}.os-nav a:hover{color:#fff}.os-nav a:focus-visible{outline:2px solid #ccc;outline-offset:6px}
.os-model{position:relative;align-self:stretch;min-height:510px;margin:0;isolation:isolate}.os-model canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .5s}.os-story.os-ready canvas{opacity:1}.os-model-heading{position:absolute;top:5%;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap}.os-model-heading>span{display:block;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#8d8d8d;margin-bottom:10px}.os-model-heading strong{font-size:21px;font-weight:450;letter-spacing:-.025em}.os-source,.os-destination{position:absolute;display:flex;gap:9px;align-items:center;color:#cbcbcb;font-size:11px;white-space:nowrap;transition:opacity .6s,transform .7s}.os-source{left:0}.os-source-a,.os-destination-a{top:28%}.os-source-b,.os-destination-b{top:49%}.os-source-c,.os-destination-c{top:70%}.os-destination{right:0;opacity:.5}.os-source svg,.os-destination svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.os-memory-labels{position:absolute;left:25%;right:25%;bottom:13%;display:flex;justify-content:center;gap:15px;font-size:10px;color:#afafaf;opacity:.35;transition:opacity .5s}.os-model figcaption{position:absolute;left:0;right:0;bottom:2%;text-align:center;color:#a1a1a1;font-size:11px;min-height:18px}.os-model figcaption span{display:none}.os-model figcaption span:first-child{display:block}.os-foot{font-size:11px;color:#a7a7a7;padding-top:24px}.os-foot a{display:flex;align-items:center;gap:10px;color:#f0f0f0}.os-foot svg{width:17px;height:17px}.os-scope{color:#777;display:flex;justify-content:space-between;gap:24px;font-size:11px;padding-top:22px}.os-scope a{display:flex;align-items:center;gap:8px}.os-scope svg{width:16px;height:16px}
/* Only pin when the complete composition fits the viewport. */
.os-story.os-pinned .os-track{height:290vh}.os-story.os-pinned .os-pin{position:sticky;top:94px}.os-story.os-pinned .os-body{min-height:0;height:calc(100svh - 320px);max-height:640px}.os-story.os-pinned .os-model{min-height:0}.os-story.os-pinned .os-chapters{position:relative;min-height:184px}.os-story.os-pinned .os-chapter{position:absolute;inset:0;margin:0;opacity:0;transform:translateY(14px);visibility:hidden;transition:opacity .45s,transform .55s,visibility .45s}.os-story.os-pinned .os-chapter.is-active{opacity:1;transform:none;visibility:visible}.os-story.os-pinned .os-nav{display:flex}.os-story.os-pinned .os-copy h2{font-size:clamp(32px,3.2vw,49px);margin-bottom:27px}.os-story.os-pinned .os-chapter h3{font-size:clamp(23px,2.3vw,34px)}
.os-story[data-phase="1"] .os-source{opacity:.65}.os-story[data-phase="1"] .os-memory-labels,.os-story[data-phase="2"] .os-memory-labels{opacity:1}.os-story[data-phase="2"] .os-destination{opacity:1}.os-story[data-phase="1"] figcaption span:first-child,.os-story[data-phase="2"] figcaption span:first-child{display:none}.os-story[data-phase="1"] figcaption span:nth-child(2),.os-story[data-phase="2"] figcaption span:nth-child(3){display:block}
.os-applications{padding:112px 0 104px;background:#fff}.os-applications-heading{display:grid;grid-template-columns:1fr .7fr;gap:100px;align-items:end;margin-bottom:65px}.os-applications-heading .body-copy{max-width:400px;margin:0 0 10px}.os-offerings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.os-offering{display:flex;position:relative;flex-direction:column;gap:25px;border-radius:26px;padding:27px 22px;min-height:284px;transition:background .5s,transform .5s,box-shadow .5s;scroll-margin-top:140px}.os-offering:hover,.os-offering:focus-visible{background:#f5f5f5;transform:translateY(-5px);box-shadow:0 20px 40px #20202005}.os-offering:focus-visible{outline:2px solid #777;outline-offset:3px}.os-offering-icon{height:40px;display:flex;align-items:center}.os-offering-icon>svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.os-offering-icon>img{transition:transform .6s cubic-bezier(.22,1,.36,1)}.os-offering h3{font-size:20px;font-weight:500;letter-spacing:-.025em;margin:0 0 10px}.os-offering p{font-size:15px;line-height:1.65;color:#777;margin:0}.os-offering-link{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#5d5d5d;font-size:11px}.os-offering-link .arrow{width:18px;height:18px;transition:transform .5s}.os-offering:hover .arrow{transform:translateX(4px)}.os-custom{display:flex;justify-content:space-between;align-items:center;gap:36px;padding:60px 22px 0;scroll-margin-top:135px}.os-custom p{font-size:clamp(22px,2.6vw,36px);letter-spacing:-.035em;line-height:1.28;color:#777;margin:0}.os-custom strong{font-weight:450;color:#191919}.os-custom .button{white-space:nowrap}
@media(min-width:1800px){.os-body{gap:70px}.os-model{min-height:570px}}
@media(max-width:1100px){.os-story{padding-inline:16px}.os-masthead,.os-foot{padding-inline:28px}.os-body{padding-inline:28px;grid-template-columns:.88fr 1.1fr;gap:22px}.os-copy h2{font-size:36px}.os-source,.os-destination{font-size:9px;gap:5px}.os-source svg,.os-destination svg{width:16px;height:16px}.os-model-heading strong{font-size:19px}.os-memory-labels{gap:9px;font-size:9px}.os-offerings{gap:5px}.os-offering{padding-inline:16px}.os-offering h3{font-size:18px}.os-offering p{font-size:14px}.os-applications-heading{gap:60px}}
@media(max-width:899px),(max-height:699px){.os-body{display:flex;flex-direction:column;gap:20px;padding:10px 34px 0}.os-copy{width:100%}.os-copy h2{font-size:clamp(34px,5vw,52px)}.os-chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.os-chapter{margin-bottom:0}.os-chapter h3{font-size:23px}.os-chapter p{font-size:13px}.os-model{width:100%;min-height:440px;max-width:660px;align-self:center}.os-source,.os-destination{font-size:11px}.os-model-heading{top:4%}.os-surface{border-radius:28px}.os-source svg,.os-destination svg{width:20px;height:20px}.os-memory-labels{font-size:10px;gap:15px}.os-foot{padding-top:12px}.os-applications{padding-top:85px}.os-offerings{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.os-offering{min-height:250px;padding:24px}.os-custom{padding-inline:0}.os-applications-heading{gap:35px}.os-applications-heading .body-copy{font-size:16px}}
@media(max-width:600px){.os-story{padding:0 10px 20px}.os-masthead{padding:22px 22px}.os-masthead p{font-size:10px;gap:8px}.os-body{padding:5px 22px 0}.os-copy h2{font-size:38px;margin-bottom:30px}.os-chapters{display:block}.os-chapter{margin-bottom:30px}.os-chapter h3{font-size:25px;line-height:1.15;margin:10px 0}.os-chapter h3 br{display:none}.os-chapter p{font-size:14px;max-width:430px}.os-number{font-size:10px}.os-model{min-height:340px;margin-top:-10px}.os-source,.os-destination{font-size:9px;gap:4px}.os-source svg,.os-destination svg{width:15px;height:15px}.os-model-heading strong{font-size:19px}.os-model-heading>span{font-size:8px}.os-memory-labels{font-size:9px;gap:10px;left:12%;right:12%}.os-model figcaption{font-size:9px;bottom:0}.os-foot{align-items:flex-start;flex-direction:column;gap:18px;padding:20px 22px 26px;font-size:10px}.os-scope{font-size:10px;flex-direction:column;gap:10px;padding-inline:16px}.os-applications{padding:68px 0}.os-applications-heading{display:block;margin-bottom:25px}.os-applications-heading .body-copy{margin-top:24px}.os-offerings{grid-template-columns:1fr;gap:4px}.os-offering{display:grid;grid-template-columns:45px 1fr;gap:15px;min-height:0;padding:25px 10px;border-radius:20px}.os-offering-icon{align-self:start}.os-offering h3{font-size:20px}.os-offering p{font-size:15px}.os-offering-link{grid-column:2;font-size:11px;justify-content:flex-start;gap:15px}.os-custom{flex-direction:column;align-items:flex-start;gap:25px;padding-top:45px}.os-custom p{font-size:26px}.os-custom .button{font-size:13px;min-height:48px;padding:14px 22px}}
@media(prefers-reduced-motion:reduce){.os-story *,.os-offering,.os-offering *{transition:none!important}.os-offering:hover,.os-offering:hover .os-offering-icon>*{transform:none}.os-motion{display:none}}

/* On smaller screens, see the system before reading its three short chapters. */
@media(max-width:899px),(max-height:699px){
 .os-copy{display:contents}.os-copy h2{order:0;width:100%;margin-bottom:0}
 .os-model{order:1}.os-chapters{order:2;width:100%}.os-nav{order:3}
}

/* Longer translated CTA labels remain inside the phone's content column. */
@media(max-width:600px){
 .os-custom>.button{max-width:100%;min-width:0;white-space:normal;text-align:left;line-height:1.45}
 .os-custom>.button>.arrow{flex:none}
}

/* Portrait keeps the same three chapters and constellation in one scroll scene. */
@media(max-width:899px){
 .os-story.os-phone .os-track{height:calc(100svh + 170svh)}
 .os-story.os-phone .os-pin{top:76px;padding:0}
 .os-story.os-phone .os-surface{border-radius:25px}
 .os-story.os-phone .os-masthead{padding:16px 20px 8px}
 .os-story.os-phone .os-body{height:calc(100svh - 220px);max-height:none;min-height:395px;display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(150px,1fr) 155px;gap:10px;padding:10px 20px 0}
 .os-story.os-phone .os-copy{display:contents}
 .os-story.os-phone .os-copy h2{font-size:clamp(29px,7.8vw,42px);line-height:1.04;margin:0;order:0}
 .os-story.os-phone .os-model{height:100%;min-height:0;margin:0;order:1;max-width:570px}
 .os-story.os-phone .os-model-heading{top:0}
 .os-story.os-phone .os-model-heading>span{font-size:7px;margin-bottom:4px}
 .os-story.os-phone .os-model-heading strong{font-size:15px}
 .os-story.os-phone .os-memory-labels{bottom:9%;font-size:8px}
 .os-story.os-phone .os-model figcaption{font-size:8px}
 .os-story.os-phone .os-chapters{order:2;min-height:155px;display:block}
 .os-story.os-phone .os-chapter h3{font-size:22px;line-height:1.12;margin:7px 0}
 .os-story.os-phone .os-chapter p{font-size:12px;line-height:1.5;max-width:550px}
 .os-story.os-phone .os-nav{display:none}
 .os-story.os-phone .os-foot{padding:10px 20px 18px;gap:7px;flex-direction:column;font-size:9px}
}

/* The story has to be legible while its constellation forms. */
.os-story .os-chapter p{font-size:16px;line-height:1.5}
.os-story :is(.os-number,.os-source,.os-destination,.os-memory-labels,.os-model figcaption,.os-foot,.os-masthead p,.os-model-heading>span){font-size:14px;letter-spacing:0}
.os-story .os-model-heading>span{color:#b8b8b8}
.os-story .os-memory-labels{color:#c8c8c8;gap:15px;white-space:nowrap}
.os-story .os-source,.os-story .os-destination{white-space:normal;max-width:120px;line-height:1.35}
.os-story .os-source svg,.os-story .os-destination svg{flex:none}
.os-story.os-pinned .os-chapters{min-height:205px}
.os-story .os-foot{line-height:1.4}
@media(max-width:899px){.os-story.os-phone .os-body{grid-template-rows:auto minmax(180px,1fr) 205px}.os-story.os-phone .os-chapters{min-height:205px}.os-story.os-phone .os-model figcaption{bottom:0;line-height:1.4}.os-story.os-phone .os-memory-labels{bottom:14%;gap:12px}.os-story.os-phone .os-model-heading>span{font-size:14px}.os-story.os-phone .os-foot{font-size:14px}.os-story .os-source,.os-story .os-destination{max-width:95px}.os-story.os-phone .os-model-heading strong{font-size:18px}}
@media(max-width:899px){.os-story.os-phone .os-chapter p{font-size:16px;line-height:1.5}.os-story.os-phone :is(.os-number,.os-source,.os-destination,.os-memory-labels,.os-model figcaption){font-size:14px}.os-story.os-phone .os-body{height:calc(100svh - 250px)}}

@media(max-width:899px){.os-story.os-phone .os-source-c,.os-story.os-phone .os-destination-c{top:64%}.os-story.os-phone .os-memory-labels{bottom:11%}}
/* The chapter already names these relationships; keep the short-screen graph clear. */
@media(max-width:899px) and (max-height:740px){.os-story.os-phone .os-foot{padding-top:22px}.os-story.os-phone .os-model-heading{top:-8px}.os-story.os-phone .os-memory-labels,.os-story.os-phone .os-model figcaption{display:none}.os-story.os-phone .os-source-a,.os-story.os-phone .os-destination-a{top:24%}.os-story.os-phone .os-source-c,.os-story.os-phone .os-destination-c{top:70%}}
