.hcos-page {
  --hcos-paper: #f5f1e8;
  --hcos-paper-deep: #e9e2d5;
  --hcos-ink: #18211e;
  --hcos-muted: #68726c;
  --hcos-blue: #3f6981;
  --hcos-green: #3c7b6d;
  --hcos-coral: #c9714f;
  --hcos-sand: #c69f70;
  --hcos-line: rgba(24,33,30,.15);
  --hcos-progress: 0;
  overflow: clip;
  background: var(--hcos-paper);
  color: var(--hcos-ink);
}

.hcos-hero {
  position: relative;
  min-height: calc(100svh - 74px);
  overflow: hidden;
  background:
    radial-gradient(ellipse 48% 76% at 78% 48%, rgba(63,105,129,.15), transparent 70%),
    radial-gradient(ellipse 35% 44% at 92% 12%, rgba(60,123,109,.09), transparent 72%),
    linear-gradient(112deg, var(--hcos-paper) 0%, var(--hcos-paper) 50%, #edf0e9 100%);
  isolation: isolate;
}

.hcos-hero::after {
  position: absolute;
  inset: 0;
  z-index: 8;
  background: var(--hcos-paper);
  content: "";
  pointer-events: none;
  transform-origin: right center;
  animation: hcosCurtain 1.1s .08s cubic-bezier(.76,0,.24,1) both;
}

.hcos-hero-grid {
  position: relative;
  min-height: calc(100svh - 74px);
  display: grid;
  grid-template-columns: minmax(0,1.16fr) minmax(420px,.84fr);
  gap: clamp(52px,7vw,105px);
  align-items: center;
  padding-block: 76px 92px;
}

.hcos-hero-copy {
  position: relative;
  z-index: 2;
  opacity: 0;
  transform: translateY(28px);
  animation: hcosHeroIn 1.05s .5s cubic-bezier(.16,1,.3,1) forwards;
}

.hcos-hero h1 {
  max-width: 820px;
  margin: 0;
  color: var(--hcos-ink);
  font-family: "Newsreader",Georgia,serif;
  font-size: clamp(65px,7.6vw,108px);
  font-weight: 400;
  letter-spacing: -.06em;
  line-height: .86;
}

.hcos-hero h1 span { display: block; }
.hcos-hero h1 span:last-child { padding-left: clamp(38px,6vw,92px); }
.hcos-hero h1 em { color: var(--hcos-blue); font-weight: 400; }
.hcos-hero-copy > p { max-width: 640px; margin: 38px 0 0; color: var(--hcos-muted); font-size: 18px; line-height: 1.65; }

.hcos-hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 11px 28px;
  margin-top: 36px;
  color: var(--hcos-muted);
  font-size: 12px;
}
.hcos-hero-proof span { display: inline-flex; align-items: baseline; gap: 7px; }
.hcos-hero-proof strong { color: var(--hcos-ink); font-family: "Newsreader",Georgia,serif; font-size: 24px; font-weight: 400; }

.hcos-hero-model {
  position: relative;
  min-height: 560px;
  opacity: 0;
  filter: blur(8px);
  animation: hcosModelIn 1.25s .68s cubic-bezier(.16,1,.3,1) forwards;
}

.hcos-hero-aura {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 92%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(255,255,255,.66),transparent 67%);
  transform: translate(-50%,-50%);
  animation: hcosAura 7s ease-in-out infinite alternate;
}

.hcos-hero-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  border: 1px solid rgba(24,33,30,.22);
  border-radius: 50%;
  transform: translate(-50%,-50%);
}

.hcos-hero-ring b {
  position: absolute;
  padding: 4px 8px;
  background: var(--hcos-paper);
  color: var(--hcos-muted);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.hcos-hero-ring b::after {
  position: absolute;
  top: 50%;
  right: -12px;
  width: 8px;
  height: 8px;
  border: 4px solid var(--hcos-paper);
  border-radius: 50%;
  background: var(--ring-color);
  box-shadow: 0 0 0 1px var(--hcos-line);
  content: "";
  transform: translateY(-50%);
}

.hero-ring-1 { --ring-color:var(--hcos-coral); width:470px; height:470px; animation:hcosOrbit 34s linear infinite; }
.hero-ring-2 { --ring-color:var(--hcos-blue); width:360px; height:360px; animation:hcosOrbitReverse 29s linear infinite; }
.hero-ring-3 { --ring-color:var(--hcos-green); width:260px; height:260px; animation:hcosOrbit 23s linear infinite; }
.hero-ring-4 { --ring-color:var(--hcos-sand); width:165px; height:165px; animation:hcosOrbitReverse 18s linear infinite; }
.hero-ring-1 b { top:10%; right:8%; animation:hcosCounter 34s linear infinite; }
.hero-ring-2 b { right:0; bottom:25%; animation:hcosCounterReverse 29s linear infinite; }
.hero-ring-3 b { bottom:4%; left:12%; animation:hcosCounter 23s linear infinite; }
.hero-ring-4 b { top:13%; left:0; animation:hcosCounterReverse 18s linear infinite; }

.hcos-hero-noi,
.hcos-hero-value {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-family: "Newsreader",Georgia,serif;
  text-align: center;
}

.hcos-hero-noi {
  z-index: 2;
  width: 104px;
  height: 104px;
  background: radial-gradient(circle at 35% 28%,#2b3934,var(--hcos-ink) 72%);
  color: var(--hcos-paper);
  font-size: 22px;
  transform: translate(-50%,-50%);
  box-shadow: 0 20px 56px rgba(24,33,30,.2),0 0 0 14px rgba(63,105,129,.04);
  animation: hcosCore 5s ease-in-out infinite alternate;
}

.hcos-hero-value {
  top: 17%;
  left: auto;
  right: -5%;
  width: 118px;
  height: 118px;
  border: 1px solid rgba(60,123,109,.25);
  background: radial-gradient(circle at 36% 28%,#deebe5,#bad1c7 76%);
  color: var(--hcos-ink);
  font-size: 19px;
  line-height: 1;
  transform: none;
  box-shadow: 0 25px 60px rgba(24,33,30,.1);
}

.hcos-hero-value::before {
  position: absolute;
  top: 93%;
  right: 78%;
  width: 180px;
  height: 1px;
  background: linear-gradient(90deg,transparent,var(--hcos-green));
  content: "";
  transform: rotate(123deg);
  transform-origin: right;
}

.hcos-scroll-cue {
  position: absolute;
  bottom: 34px;
  left: 0;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--hcos-muted);
  font-size: 11px;
  text-decoration: none;
}
.hcos-scroll-cue i { width: 46px; height: 1px; background: var(--hcos-line); }

@keyframes hcosCurtain { to { transform:scaleX(0); } }
@keyframes hcosHeroIn { to { opacity:1; transform:none; } }
@keyframes hcosModelIn { to { opacity:1; filter:blur(0); } }
@keyframes hcosAura { to { opacity:.42; transform:translate(-50%,-50%) scale(1.08); } }
@keyframes hcosOrbit { to { transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes hcosOrbitReverse { to { transform:translate(-50%,-50%) rotate(-360deg); } }
@keyframes hcosCounter { to { transform:rotate(-360deg); } }
@keyframes hcosCounterReverse { to { transform:rotate(360deg); } }
@keyframes hcosCore { to { transform:translate(-50%,-50%) scale(1.04); box-shadow:0 26px 66px rgba(24,33,30,.23),0 0 0 25px rgba(63,105,129,.03); } }

.hcos-thesis {
  position: relative;
  border-top: 1px solid var(--hcos-line);
  border-bottom: 1px solid var(--hcos-line);
  background:
    radial-gradient(circle at 13% 28%,rgba(63,105,129,.1),transparent 30%),
    radial-gradient(circle at 82% 76%,rgba(201,113,79,.07),transparent 28%),
    var(--hcos-paper-deep);
}

.hcos-thesis-grid {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(350px,.92fr);
  gap: clamp(62px,8vw,125px);
  align-items: start;
}

.hcos-thesis-stage-wrap {
  position: sticky;
  top: 74px;
  height: calc(100svh - 74px);
  display: grid;
  align-items: center;
  padding-block: 44px;
}

.hcos-thesis-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 1.08;
  overflow: hidden;
  isolation: isolate;
}

.hcos-stage-atmosphere {
  position: absolute;
  inset: 2%;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(255,255,255,.58),transparent 68%);
}

.hcos-stage-scene {
  position: absolute;
  inset: 62px 30px 60px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(24px) scale(.97);
  transition: opacity 260ms ease,transform 560ms cubic-bezier(.16,1,.3,1),visibility 0s 260ms;
}
.hcos-thesis-stage[data-scene="0"] .hcos-stage-activity,
.hcos-thesis-stage[data-scene="1"] .hcos-stage-silos,
.hcos-thesis-stage[data-scene="2"] .hcos-stage-system,
.hcos-thesis-stage[data-scene="3"] .hcos-stage-value { opacity:1; visibility:visible; transform:none; transition-delay:260ms,260ms,0s; }

.hcos-stage-activity span {
  position: absolute;
  top: var(--y);
  left: var(--x);
  display: flex;
  min-width: 122px;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 20px;
  border-bottom: 1px solid var(--hcos-line);
  color: var(--hcos-muted);
  font-size: 13px;
  animation: hcosFloat 5s ease-in-out infinite alternate;
}
.hcos-stage-activity span:nth-child(2),.hcos-stage-activity span:nth-child(4) { animation-delay:-2.2s; }
.hcos-stage-activity b { color: var(--hcos-blue); font-weight: 500; }
.hcos-stage-activity strong { position:absolute; top:50%; left:50%; color:var(--hcos-ink); font-family:"Newsreader",Georgia,serif; font-size:56px; font-weight:400; transform:translate(-50%,-50%); }
@keyframes hcosFloat { to { transform:translateY(-9px); } }

.hcos-stage-silos { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-content:center; }
.hcos-stage-silos span { display:grid; min-height:94px; place-items:center; border:1px solid var(--hcos-line); border-radius:999px; background:rgba(245,241,232,.55); font-family:"Newsreader",Georgia,serif; font-size:21px; }
.hcos-stage-silos i { position:absolute; inset:50% 22%; height:1px; background:linear-gradient(90deg,transparent,rgba(201,113,79,.7),transparent); transform:rotate(-28deg); }
.hcos-stage-silos strong { grid-column:1/-1; justify-self:center; color:var(--hcos-coral); font-family:"Newsreader",Georgia,serif; font-size:17px; font-weight:400; }

.hcos-stage-system { display:grid; place-items:center; }
.hcos-stage-system > strong { position:relative; z-index:2; display:grid; width:92px; height:92px; place-items:center; border-radius:50%; background:var(--hcos-ink); color:var(--hcos-paper); font-family:"Newsreader",Georgia,serif; font-size:22px; font-weight:400; box-shadow:0 20px 50px rgba(24,33,30,.2); }
.system-loop { position:absolute; top:50%; left:50%; border:1px solid var(--hcos-line); border-radius:50%; transform:translate(-50%,-50%); }
.system-loop b { position:absolute; padding:4px 8px; background:var(--hcos-paper-deep); color:var(--hcos-muted); font-size:10px; font-weight:500; text-transform:uppercase; }
.loop-1 { width:160px; height:160px; animation:hcosOrbit 18s linear infinite; }
.loop-2 { width:240px; height:240px; animation:hcosOrbitReverse 24s linear infinite; }
.loop-3 { width:325px; height:325px; animation:hcosOrbit 30s linear infinite; }
.loop-4 { width:410px; height:410px; animation:hcosOrbitReverse 36s linear infinite; }
.loop-1 b { top:8%; left:70%; }
.loop-2 b { right:2%; bottom:20%; }
.loop-3 b { bottom:4%; left:13%; }
.loop-4 b { top:19%; left:2%; }

.hcos-stage-value { display:grid; grid-template-columns:1fr minmax(70px,.45fr) 1fr; gap:20px; align-items:center; }
.hcos-stage-value span { display:grid; min-height:205px; place-content:center; border-radius:50%; background:rgba(245,241,232,.72); box-shadow:inset 0 0 0 1px var(--hcos-line),0 28px 66px rgba(24,33,30,.08); font-family:"Newsreader",Georgia,serif; font-size:28px; text-align:center; }
.hcos-stage-value span:last-child { background:radial-gradient(circle at 36% 28%,#deebe5,#bad1c7 76%); }
.hcos-stage-value small { margin-bottom:9px; color:var(--hcos-muted); font-family:"Instrument Sans",Arial,sans-serif; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.hcos-stage-value i { position:relative; height:1px; background:linear-gradient(90deg,var(--hcos-blue),var(--hcos-green)); }
.hcos-stage-value i::after { position:absolute; top:50%; right:0; width:8px; height:8px; border-top:1px solid var(--hcos-green); border-right:1px solid var(--hcos-green); content:""; transform:translateY(-50%) rotate(45deg); }

.hcos-stage-footer { position:absolute; right:18px; bottom:16px; left:18px; display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; color:var(--hcos-muted); font-family:"Newsreader",Georgia,serif; font-size:14px; }
.hcos-stage-footer i { height:1px; background:var(--hcos-line); }
.hcos-thesis-scenes { padding-block:11vh; }
.hcos-thesis-scene { min-height:82vh; display:flex; flex-direction:column; justify-content:center; opacity:.28; transition:opacity 420ms ease; }
.hcos-thesis-scene.is-active { opacity:1; }
.hcos-thesis-scene > span { margin-bottom:22px; color:var(--hcos-blue); font-family:"Newsreader",Georgia,serif; font-size:16px; }
.hcos-thesis-scene h2 { max-width:560px; margin:0; color:var(--hcos-ink); font-family:"Newsreader",Georgia,serif; font-size:clamp(42px,4.3vw,61px); font-weight:400; letter-spacing:-.045em; line-height:.98; }
.hcos-thesis-scene p { max-width:510px; margin:28px 0 0; color:var(--hcos-muted); font-size:17px; line-height:1.65; }

.hcos-reading {
  position: relative;
  width: min(1370px,calc(100% - 64px));
  margin-inline: auto;
  display: grid;
  grid-template-columns: 190px minmax(0,1100px);
  gap: clamp(50px,6vw,92px);
  align-items: start;
  padding-block: 110px 150px;
}

.hcos-reading-index {
  position: sticky;
  top: 100px;
  display: grid;
  grid-template-columns: 1px 1fr;
  gap: 17px;
  max-height: calc(100vh - 135px);
}
.hcos-index-track { position:relative; width:1px; background:var(--hcos-line); }
.hcos-index-track i { position:absolute; top:0; left:0; width:1px; height:calc(var(--chapter-progress,0) * 100%); background:var(--hcos-blue); transition:height 500ms ease; }
.hcos-reading-index nav { min-width:0; overflow:hidden auto; scrollbar-width:none; }
.hcos-reading-index nav::-webkit-scrollbar { display:none; }
.hcos-reading-index a { display:grid; grid-template-columns:25px 1fr; gap:7px; padding:6px 0; color:var(--hcos-muted); font-size:10px; line-height:1.25; text-decoration:none; transition:color 200ms ease; }
.hcos-reading-index a span { color:var(--hcos-blue); font-family:"Newsreader",Georgia,serif; font-size:13px; }
.hcos-reading-index a b { overflow:hidden; font-weight:400; text-overflow:ellipsis; white-space:nowrap; }
.hcos-reading-index a.is-current { color:var(--hcos-ink); }

.hcos-source { max-width:none!important; color:var(--hcos-ink)!important; font-size:17px; line-height:1.75; }
.hcos-source > h2 { margin-block:90px 30px; }
.hcos-enhanced .hcos-source > :not(.hcos-chapter) { display:none; }

.hcos-chapter {
  position: relative;
  min-height: 110vh;
  display: grid;
  grid-template-columns: minmax(310px,.78fr) minmax(0,1.22fr);
  gap: clamp(52px,6vw,90px);
  align-items: start;
  padding-block: 14vh 18vh;
  border-top: 1px solid var(--hcos-line);
}
.hcos-chapter:first-child { border-top:0; padding-top:4vh; }
.hcos-chapter:nth-child(even) { grid-template-columns:minmax(0,1.22fr) minmax(310px,.78fr); }
.hcos-chapter:nth-child(even) .hcos-chapter-header { grid-column:2; }
.hcos-chapter:nth-child(even) .hcos-chapter-body { grid-column:1; grid-row:1; }

.hcos-chapter-header {
  position: sticky;
  top: 103px;
  min-height: calc(100vh - 136px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hcos-chapter-number { display:block; margin-bottom:18px; color:var(--hcos-blue); font-family:"Newsreader",Georgia,serif; font-size:17px; }
.hcos-chapter h2 {
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:var(--hcos-ink)!important;
  font-family:"Newsreader",Georgia,serif!important;
  font-size:clamp(44px,4.5vw,66px)!important;
  font-weight:400!important;
  letter-spacing:-.05em!important;
  line-height:.94!important;
  scroll-margin-top:100px;
}

.hcos-chapter-body { min-width:0; padding-top:9vh; }
.hcos-chapter-body > :first-child { margin-top:0!important; }
.hcos-chapter-body p,.hcos-chapter-body li { color:var(--hcos-ink)!important; }
.hcos-chapter-body p { margin-block:0 1.55em!important; }
.hcos-chapter-body strong { color:var(--hcos-ink)!important; font-weight:600!important; }
.hcos-chapter-body h3 { margin:80px 0 25px!important; color:var(--hcos-ink)!important; font-family:"Newsreader",Georgia,serif!important; font-size:31px!important; font-weight:400!important; line-height:1.08!important; }
.hcos-chapter-body ul { margin-block:25px 32px!important; }
.hcos-chapter-body blockquote { margin-block:45px!important; border-left:1px solid var(--hcos-blue)!important; color:var(--hcos-muted)!important; font-family:"Newsreader",Georgia,serif; font-size:25px; font-weight:400!important; }

.hcos-visual {
  position: relative;
  width: 100%;
  min-height: 310px;
  margin-top: 45px;
  color:var(--hcos-ink);
}

.hcos-visual-value { display:grid; grid-template-columns:1fr 45px 1fr; gap:10px; align-items:center; }
.hcos-visual-value span { display:grid; aspect-ratio:1; place-content:center; border:1px solid var(--hcos-line); border-radius:50%; background:rgba(255,255,255,.24); font-family:"Newsreader",Georgia,serif; font-size:25px; text-align:center; }
.hcos-visual-value span:last-child { border-color:rgba(60,123,109,.25); background:rgba(60,123,109,.12); }
.hcos-visual-value small { margin-bottom:8px; color:var(--hcos-muted); font-family:"Instrument Sans",Arial,sans-serif; font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
.hcos-visual-value i { height:1px; background:linear-gradient(90deg,var(--hcos-blue),var(--hcos-green)); }

.hcos-visual-fragment span { position:absolute; display:grid; min-width:108px; min-height:52px; place-items:center; border-bottom:1px solid var(--hcos-line); color:var(--hcos-muted); font-size:12px; }
.hcos-visual-fragment span:nth-child(1) { top:8%; left:3%; }
.hcos-visual-fragment span:nth-child(2) { top:4%; right:5%; }
.hcos-visual-fragment span:nth-child(3) { top:45%; left:0; }
.hcos-visual-fragment span:nth-child(4) { top:46%; right:0; }
.hcos-visual-fragment span:nth-child(5) { bottom:3%; left:32%; }
.hcos-visual-fragment b { position:absolute; top:50%; left:50%; display:grid; width:80px; height:80px; place-items:center; border:1px dashed rgba(201,113,79,.45); border-radius:50%; color:var(--hcos-coral); font-family:"Newsreader",Georgia,serif; font-size:20px; font-weight:400; transform:translate(-50%,-50%); }

.hcos-visual-core { display:grid; place-items:center; }
.hcos-visual-core > b { position:relative; z-index:2; display:grid; width:75px; height:75px; place-items:center; border-radius:50%; background:var(--hcos-ink); color:var(--hcos-paper); font-family:"Newsreader",Georgia,serif; font-size:20px; font-weight:400; }
.hcos-visual-core span { position:absolute; top:50%; left:50%; width:calc(80px + var(--r) * 62px); height:calc(80px + var(--r) * 62px); border:1px solid var(--hcos-line); border-radius:50%; transform:translate(-50%,-50%); }
.hcos-visual-core span::after { position:absolute; top:8%; right:12%; padding:3px 6px; background:var(--hcos-paper); color:var(--hcos-muted); font-size:9px; font-weight:500; content:attr(style); }
.hcos-visual-core span { color:transparent; }
.hcos-visual-core span::before { position:absolute; top:8%; right:12%; z-index:2; padding:3px 6px; background:var(--hcos-paper); color:var(--hcos-muted); font-size:9px; font-weight:500; content:attr(data-label); }
.hcos-visual-core span:nth-child(1)::before { content:"Earn"; }
.hcos-visual-core span:nth-child(2)::before { content:"Capture"; }
.hcos-visual-core span:nth-child(3)::before { content:"Transform"; }
.hcos-visual-core span:nth-child(4)::before { content:"Enable"; }
.hcos-visual-core span::after { display:none; }

.hcos-visual-principles { display:flex; flex-direction:column; justify-content:center; }
.hcos-visual-principles span { display:grid; grid-template-columns:42px 1fr; gap:14px; align-items:center; padding:18px 0; border-top:1px solid var(--hcos-line); font-family:"Newsreader",Georgia,serif; font-size:19px; }
.hcos-visual-principles span:last-of-type { border-bottom:1px solid var(--hcos-line); }
.hcos-visual-principles b { color:var(--hcos-blue); font-size:15px; font-weight:400; }

.hcos-visual-stack { display:flex; flex-direction:column; justify-content:center; }
.hcos-visual-stack span { position:relative; margin-top:-1px; padding:15px 20px; border:1px solid var(--hcos-line); font-family:"Newsreader",Georgia,serif; font-size:18px; transform:translateX(calc(var(--offset,0) * 1px)); }
.hcos-visual-stack span:nth-child(1) { --offset:0; border-color:rgba(201,113,79,.35); }
.hcos-visual-stack span:nth-child(2) { --offset:13; border-color:rgba(63,105,129,.35); }
.hcos-visual-stack span:nth-child(3) { --offset:26; border-color:rgba(60,123,109,.35); }
.hcos-visual-stack span:nth-child(4) { --offset:39; border-color:rgba(198,159,112,.4); }

.hcos-visual-flywheel { border:1px solid var(--hcos-line); border-radius:50%; transform:scale(.85); }
.hcos-visual-flywheel span { position:absolute; display:grid; width:82px; height:82px; place-items:center; border-radius:50%; background:var(--hcos-paper); box-shadow:0 0 0 1px var(--hcos-line); font-family:"Newsreader",Georgia,serif; }
.hcos-visual-flywheel span:nth-child(1) { top:-24px; left:50%; transform:translateX(-50%); }
.hcos-visual-flywheel span:nth-child(2) { top:50%; right:-30px; transform:translateY(-50%); }
.hcos-visual-flywheel span:nth-child(3) { bottom:-24px; left:50%; transform:translateX(-50%); }
.hcos-visual-flywheel span:nth-child(4) { top:50%; left:-30px; transform:translateY(-50%); }
.hcos-visual-flywheel i { position:absolute; top:50%; left:50%; width:126px; color:var(--hcos-green); font-family:"Newsreader",Georgia,serif; font-size:18px; font-style:normal; text-align:center; transform:translate(-50%,-50%); }

.hcos-visual-capture { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-content:center; }
.hcos-visual-capture span { padding:25px 20px; border-top:1px solid var(--hcos-line); border-bottom:1px solid var(--hcos-line); font-family:"Newsreader",Georgia,serif; font-size:23px; }
.hcos-visual-capture small { display:block; margin-bottom:6px; color:var(--hcos-muted); font-family:"Instrument Sans",Arial,sans-serif; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.hcos-visual-capture i { grid-column:1/-1; height:1px; background:linear-gradient(90deg,var(--hcos-coral),var(--hcos-blue),var(--hcos-green)); }
.hcos-visual-capture b { grid-column:1/-1; justify-self:center; color:var(--hcos-green); font-family:"Newsreader",Georgia,serif; font-size:24px; font-weight:400; }

.hcos-visual-transform { display:flex; flex-direction:column; justify-content:center; }
.hcos-visual-transform span { color:var(--hcos-muted); font-size:11px; }
.hcos-visual-transform svg { width:100%; overflow:visible; }
.hcos-visual-transform path { fill:none; stroke:var(--hcos-line); stroke-width:2; }
.hcos-visual-transform path:last-child { stroke:var(--hcos-green); stroke-width:2.5; }
.hcos-visual-transform b { align-self:flex-end; color:var(--hcos-green); font-family:"Newsreader",Georgia,serif; font-size:19px; font-weight:400; }

.hcos-visual-enable { display:grid; grid-template-columns:1fr 28px 1fr 28px 1fr; gap:5px; align-items:center; }
.hcos-visual-enable span { display:grid; min-height:110px; place-items:center; border:1px solid var(--hcos-line); border-radius:50%; font-family:"Newsreader",Georgia,serif; font-size:15px; text-align:center; }
.hcos-visual-enable i { height:1px; background:var(--hcos-blue); }
.hcos-visual-enable b { grid-column:1/-1; justify-self:center; margin-top:22px; color:var(--hcos-blue); font-family:"Newsreader",Georgia,serif; font-size:20px; font-weight:400; }

.hcos-visual-questions { display:grid; grid-template-columns:1fr 45px 1fr; gap:10px; align-items:center; }
.hcos-visual-questions span { padding:30px 10px; border-top:1px solid var(--hcos-line); border-bottom:1px solid var(--hcos-line); color:var(--hcos-muted); font-family:"Newsreader",Georgia,serif; font-size:19px; text-align:center; }
.hcos-visual-questions span:last-child { color:var(--hcos-green); }
.hcos-visual-questions i { height:1px; background:linear-gradient(90deg,var(--hcos-coral),var(--hcos-green)); }

.hcos-visual-pressure { display:grid; grid-template-columns:1fr 1fr; gap:20px; align-content:center; }
.hcos-visual-pressure span { display:grid; aspect-ratio:1; place-items:center; border:1px solid var(--hcos-line); border-radius:50%; font-family:"Newsreader",Georgia,serif; font-size:20px; }
.hcos-visual-pressure i { grid-column:1/-1; height:1px; background:linear-gradient(90deg,var(--hcos-blue),var(--hcos-coral)); transform:scaleX(.65); }
.hcos-visual-pressure b { grid-column:1/-1; justify-self:center; color:var(--hcos-coral); font-family:"Newsreader",Georgia,serif; font-size:20px; font-weight:400; }

.hcos-visual-audience span { position:absolute; display:grid; min-width:105px; min-height:52px; place-items:center; border-bottom:1px solid var(--hcos-line); color:var(--hcos-muted); font-size:12px; }
.hcos-visual-audience span:nth-child(1) { top:5%; left:4%; }
.hcos-visual-audience span:nth-child(2) { top:5%; right:4%; }
.hcos-visual-audience span:nth-child(3) { bottom:5%; left:4%; }
.hcos-visual-audience span:nth-child(4) { right:4%; bottom:5%; }
.hcos-visual-audience b { position:absolute; top:50%; left:50%; display:grid; width:145px; height:145px; place-items:center; border-radius:50%; background:rgba(60,123,109,.12); color:var(--hcos-ink); font-family:"Newsreader",Georgia,serif; font-size:20px; font-weight:400; text-align:center; transform:translate(-50%,-50%); }

/* The supporting evidence becomes part of the editorial flow, not a stack of widgets. */
.hcos-page .ma-grid,.hcos-page .gp-container,.hcos-page .lo-container { gap:0!important; margin:45px 0 60px!important; }
.hcos-page .ma-card,.hcos-page .gp-card,.hcos-page .lo-item { padding:24px 0!important; border:0!important; border-top:1px solid var(--hcos-line)!important; border-radius:0!important; background:transparent!important; }
.hcos-page .ma-card:last-child,.hcos-page .gp-card:last-child,.hcos-page .lo-item:last-child { border-bottom:1px solid var(--hcos-line)!important; }
.hcos-page .ma-card::before { display:none!important; }
.hcos-page .gp-card,.hcos-page .lo-item { grid-template-columns:54px 1fr!important; }
.hcos-page .gp-number,.hcos-page .lo-num { border:0!important; background:transparent!important; font-weight:400!important; }
.hcos-page .gp-content,.hcos-page .lo-content { padding:0 0 0 16px!important; }
.hcos-page .ma-title,.hcos-page .gp-title,.hcos-page .lo-title { font-family:"Newsreader",Georgia,serif!important; font-size:20px!important; font-weight:400!important; }
.hcos-page .ma-desc,.hcos-page .gp-desc,.hcos-page .lo-desc { font-size:14px!important; }

.hcos-page :is(.af-container,.de-container,.nc-container,.diagram-container,.cdm-container,.dcf-container,.ta-container,.es-container,.ec-container,.hc-container,.au-grid) { width:100%!important; margin:70px 0!important; }
.hcos-page :is(.af-container,.de-container,.nc-container) { padding:36px 0!important; border:0!important; border-top:1px solid var(--hcos-line)!important; border-bottom:1px solid var(--hcos-line)!important; border-radius:0!important; background:transparent!important; }
.hcos-page .af-container::before { display:none!important; }
.hcos-page :is(.cdm-container,.dcf-container,.ta-container,.es-container) { border:0!important; border-top:1px solid var(--hcos-line)!important; border-bottom:1px solid var(--hcos-line)!important; border-radius:0!important; background:transparent!important; }
.hcos-page :is(.cdm-header,.dcf-header,.ta-header,.es-header) { padding:24px 0!important; border-color:var(--hcos-line)!important; }
.hcos-page :is(.cdm-tag,.dcf-tag,.ta-tag,.es-tag) { padding:0!important; border:0!important; border-radius:0!important; font-family:"Newsreader",Georgia,serif!important; font-size:14px!important; font-weight:400!important; letter-spacing:0!important; text-transform:none!important; }
.hcos-page :is(.cdm-title,.dcf-title,.ta-title,.es-title) { font-family:"Newsreader",Georgia,serif!important; font-size:22px!important; font-weight:400!important; }
.hcos-page :is(.hc-card,.au-card,.ec-col) { border:0!important; border-top:1px solid var(--hcos-line)!important; border-radius:0!important; background:transparent!important; }
.hcos-page .hc-card { padding:25px 0!important; }
.hcos-page .au-card { padding:25px 18px!important; }
.hcos-page .ec-col { padding:25px 0!important; }
.hcos-page :is(.hc-result-val,.hc-row-val) { font-weight:500!important; }
.hcos-page .info-tag { display:none!important; }
.hcos-page .hcos-chapter-body > div[style*="border-left"] { margin:45px 0!important; padding:8px 0 8px 25px!important; border-left:1px solid var(--hcos-blue)!important; border-radius:0!important; background:transparent!important; color:var(--hcos-muted)!important; font-family:"Newsreader",Georgia,serif!important; font-size:23px!important; font-weight:400!important; line-height:1.35!important; }
.hcos-page .de-stat { padding:18px 0!important; border:0!important; border-top:1px solid var(--hcos-line)!important; border-radius:0!important; background:transparent!important; }
.hcos-page .de-loop,.hcos-page .de-narrative,.hcos-page .af-insight,.hcos-page .nc-narrative { padding:22px 0!important; border:0!important; border-top:1px solid var(--hcos-line)!important; border-radius:0!important; background:transparent!important; }
.hcos-page .es-stack { border:0!important; border-radius:0!important; }
.hcos-page .es-block { border-color:var(--hcos-line)!important; background:transparent!important; }

.hcos-after { padding-bottom:120px; }

@media (max-width:1200px) {
  .hcos-reading { grid-template-columns:52px minmax(0,1fr); gap:38px; }
  .hcos-reading-index a { grid-template-columns:1fr; }
  .hcos-reading-index a b { display:none; }
}

@media (max-width:1100px) {
  .hcos-hero-grid { grid-template-columns:1fr minmax(360px,.75fr); }
  .hero-ring-1 { width:400px; height:400px; }
  .hero-ring-2 { width:310px; height:310px; }
  .hero-ring-3 { width:225px; height:225px; }
  .hcos-reading { grid-template-columns:155px minmax(0,1fr); gap:40px; }
  .hcos-chapter { grid-template-columns:minmax(270px,.75fr) minmax(0,1.25fr); gap:45px; }
  .hcos-chapter:nth-child(even) { grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr); }
}

@media (max-width:900px) {
  .hcos-hero-grid { grid-template-columns:1fr; min-height:0; padding-block:82px 90px; }
  .hcos-hero-model { width:min(560px,100%); min-height:520px; margin-inline:auto; }
  .hcos-scroll-cue { display:none; }
  .hcos-thesis-grid { grid-template-columns:1fr; gap:0; }
  .hcos-thesis-stage-wrap { z-index:2; height:min(62vh,620px); background:linear-gradient(var(--hcos-paper-deep) 88%,transparent); }
  .hcos-thesis-scenes { padding:0 0 10vh; }
  .hcos-thesis-scene { min-height:63vh; justify-content:flex-end; padding-bottom:38px; }
  .hcos-reading { width:min(100% - 40px,1100px); grid-template-columns:1fr; padding-block:90px 110px; }
  .hcos-reading-index { display:none; }
  .hcos-chapter,.hcos-chapter:nth-child(even) { min-height:0; grid-template-columns:1fr; gap:0; padding-block:95px 110px; }
  .hcos-chapter:nth-child(even) .hcos-chapter-header,.hcos-chapter:nth-child(even) .hcos-chapter-body { grid-column:auto; grid-row:auto; }
  .hcos-chapter-header { position:relative; top:auto; min-height:0; }
  .hcos-chapter-body { padding-top:60px; }
  .hcos-visual { width:min(520px,100%); margin-inline:auto; }
}

@media (max-width:640px) {
  .hcos-hero { min-height:0; }
  .hcos-hero-grid { padding-block:64px 76px; gap:28px; }
  .hcos-hero h1 { font-size:58px; }
  .hcos-hero h1 span:last-child { padding-left:24px; }
  .hcos-hero-copy > p { margin-top:27px; font-size:16px; }
  .hcos-hero-proof { gap:10px 18px; margin-top:27px; }
  .hcos-hero-model { min-height:350px; }
  .hero-ring-1 { width:310px; height:310px; }
  .hero-ring-2 { width:235px; height:235px; }
  .hero-ring-3 { width:165px; height:165px; }
  .hero-ring-4 { width:105px; height:105px; }
  .hcos-hero-noi { width:72px; height:72px; font-size:17px; }
  .hcos-hero-value { top:9%; right:-2%; width:82px; height:82px; font-size:15px; }
  .hcos-hero-value::before { width:100px; }
  .hcos-hero-ring b { display:none; }
  .hcos-thesis-stage-wrap { top:64px; height:51vh; min-height:385px; padding:12px 0; }
  .hcos-stage-scene { inset:42px 5px 45px; }
  .hcos-stage-activity span { min-width:102px; padding:12px 10px; font-size:11px; }
  .hcos-stage-activity strong { font-size:42px; }
  .hcos-stage-silos { gap:15px; }
  .hcos-stage-silos span { min-height:64px; font-size:16px; }
  .loop-1 { width:110px; height:110px; }
  .loop-2 { width:165px; height:165px; }
  .loop-3 { width:220px; height:220px; }
  .loop-4 { width:275px; height:275px; }
  .hcos-stage-value { grid-template-columns:1fr 38px 1fr; gap:8px; }
  .hcos-stage-value span { min-height:120px; font-size:19px; }
  .hcos-stage-footer { font-size:11px; }
  .hcos-thesis-scene { min-height:92svh; justify-content:flex-end; padding-top:55vh; padding-bottom:54px; }
  .hcos-thesis-scene h2 { font-size:40px; }
  .hcos-thesis-scene p { font-size:15px; }
  .hcos-reading { width:min(100% - 30px,1100px); padding-block:70px 90px; }
  .hcos-chapter,.hcos-chapter:nth-child(even) { padding-block:72px 88px; }
  .hcos-chapter h2 { font-size:44px!important; }
  .hcos-chapter-body { padding-top:48px; font-size:16px; }
  .hcos-chapter-body h3 { margin-top:65px!important; font-size:28px!important; }
  .hcos-visual { min-height:280px; margin-top:35px; }
  .hcos-visual-enable { grid-template-columns:1fr; gap:0; }
  .hcos-visual-enable span { min-height:62px; border-radius:0; border-width:0 0 1px; }
  .hcos-visual-enable i { width:1px; height:20px; justify-self:center; }
  .hcos-page :is(.ma-grid,.gp-container,.lo-container,.ec-container,.hc-container,.au-grid) { grid-template-columns:1fr!important; }
  .hcos-page :is(.cdm-container,.dcf-container,.ta-container,.es-container) { margin-inline:0!important; }
  .hcos-after { padding-bottom:80px; }
}

@media (prefers-reduced-motion:reduce) {
  .hcos-hero::after { display:none; }
  .hcos-hero-copy,.hcos-hero-model { opacity:1; filter:none; transform:none; }
  .hcos-hero-aura,.hcos-hero-ring,.hcos-hero-ring b,.hcos-hero-noi,.system-loop,.hcos-stage-activity span { animation:none!important; }
  .hcos-stage-scene { transition:none; }
}

/* 2026-07 refinement: exact geometry, quieter evidence and ambient motion. */
.hcos-page {
  --hcos-drift-a: 0px;
  --hcos-drift-b: 0px;
  --hcos-drift-c: 0px;
  position: relative;
  isolation: isolate;
}

.hcos-page > :not(.hcos-ambient) {
  position: relative;
  z-index: 1;
}

.hcos-ambient {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.hcos-ambient i {
  position: fixed;
  width: min(42vw,620px);
  aspect-ratio: 1;
  border-radius: 44% 56% 63% 37% / 52% 39% 61% 48%;
  opacity: .09;
  filter: blur(78px);
  will-change: transform;
}

.hcos-ambient i:nth-child(1) {
  top: 18vh;
  right: -12vw;
  background: var(--hcos-blue);
  transform: translate3d(0,var(--hcos-drift-a),0) rotate(12deg);
}

.hcos-ambient i:nth-child(2) {
  top: 55vh;
  left: -18vw;
  background: var(--hcos-green);
  transform: translate3d(0,var(--hcos-drift-b),0) rotate(-18deg);
}

.hcos-ambient i:nth-child(3) {
  right: 22vw;
  bottom: -20vh;
  width: min(31vw,460px);
  background: var(--hcos-coral);
  opacity: .055;
  transform: translate3d(0,var(--hcos-drift-c),0);
}

.hcos-stage-atmosphere {
  border-radius: 44% 56% 61% 39% / 53% 42% 58% 47%;
  animation: hcosAtmosphereShape 14s ease-in-out infinite alternate;
}

.hcos-stage-value span {
  min-height: 0;
  aspect-ratio: 1;
}

@keyframes hcosAtmosphereShape {
  to { border-radius: 58% 42% 47% 53% / 39% 56% 44% 61%; transform:scale(1.035) rotate(2deg); }
}

.hcos-reading {
  width: min(1390px,calc(100% - 64px));
  grid-template-columns: 52px minmax(0,1fr);
  gap: clamp(42px,5vw,76px);
}

.hcos-reading-index {
  grid-template-columns: 1px 28px;
  gap: 16px;
}

.hcos-reading-index a {
  grid-template-columns: 1fr;
  padding: 7px 0;
  opacity: .5;
  transition: opacity 240ms ease,color 240ms ease,transform 240ms ease;
}

.hcos-reading-index a b { display:none; }
.hcos-reading-index a:hover,.hcos-reading-index a.is-current { opacity:1; transform:translateX(3px); }

.hcos-chapter {
  min-height: 100vh;
  grid-template-columns: minmax(330px,.74fr) minmax(0,1.26fr);
  gap: clamp(64px,7vw,108px);
  padding-block: 12vh 16vh;
}

.hcos-chapter:nth-child(even) {
  grid-template-columns:minmax(0,1.26fr) minmax(330px,.74fr);
}

.hcos-chapter-header {
  opacity: .62;
  transition: opacity 500ms ease,transform 700ms cubic-bezier(.16,1,.3,1);
}

.hcos-chapter.is-current .hcos-chapter-header { opacity:1; }

.hcos-chapter h2 { max-width: 9.2ch; }
.hcos-chapter-body { padding-top: 7vh; }
.hcos-chapter-body > p,.hcos-chapter-body > ul,.hcos-chapter-body > h3 { max-width: 680px; }

.hcos-visual {
  display: grid;
  width: min(100%,440px);
  min-height: 0;
  aspect-ratio: 3 / 2;
  place-items: center;
  margin-top: 34px;
}

.hcos-visual:is(.hcos-visual-value,.hcos-visual-fragment,.hcos-visual-core,.hcos-visual-principles,.hcos-visual-stack,.hcos-visual-flywheel,.hcos-visual-capture,.hcos-visual-transform,.hcos-visual-enable,.hcos-visual-questions,.hcos-visual-pressure,.hcos-visual-audience) {
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  align-content:center;
  border:0;
  border-radius:0;
  transform:none;
}

.hcos-visual > .hcos-diagram { grid-column:1 / -1; }

.hcos-diagram {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

.hcos-diagram :is(path,circle) { vector-effect:non-scaling-stroke; }
.hcos-diagram text { fill:var(--hcos-muted); font-family:"Instrument Sans",Arial,sans-serif; font-size:13px; }
.hcos-diagram .diagram-label { font-size:12px; }
.hcos-diagram .diagram-label-large { fill:var(--hcos-ink); font-family:"Newsreader",Georgia,serif; font-size:19px; }
.hcos-diagram .diagram-kicker,.hcos-diagram .diagram-note { fill:var(--hcos-muted); font-size:8px; font-weight:500; letter-spacing:.1em; }
.hcos-diagram .diagram-value { fill:var(--hcos-ink); font-family:"Newsreader",Georgia,serif; font-size:26px; }
.hcos-diagram .diagram-value-large { fill:var(--hcos-green); font-size:34px; }
.hcos-diagram .diagram-line,.hcos-diagram .diagram-axis,.hcos-diagram .diagram-brace { fill:none; stroke:var(--hcos-line); stroke-width:1; }
.hcos-diagram .diagram-flow { fill:none; stroke:var(--hcos-green); stroke-width:1.5; }
.hcos-diagram .diagram-node { fill:rgba(255,255,255,.2); stroke:var(--hcos-line); stroke-width:1; }
.hcos-diagram .node-value { fill:rgba(60,123,109,.09); stroke:rgba(60,123,109,.3); }
.hcos-diagram .diagram-ghost { fill:none; stroke:rgba(201,113,79,.42); stroke-width:1; stroke-dasharray:5 7; }
.hcos-diagram .diagram-broken { fill:none; stroke:var(--hcos-line); stroke-width:1; stroke-dasharray:1 8; stroke-linecap:round; }
.hcos-diagram .diagram-orbits circle { fill:none; stroke:var(--hcos-line); stroke-width:1; transform-box:fill-box; transform-origin:center; }
.hcos-diagram .diagram-orbits circle:nth-child(2) { stroke:rgba(63,105,129,.28); }
.hcos-diagram .diagram-orbits circle:nth-child(3) { stroke:rgba(60,123,109,.27); }
.hcos-diagram .diagram-orbits circle:nth-child(4) { stroke:rgba(201,113,79,.24); }
.hcos-diagram .diagram-orbit-nodes circle { fill:var(--hcos-paper); stroke:var(--hcos-blue); stroke-width:1.5; }
.hcos-diagram .diagram-core { fill:var(--hcos-ink); stroke:none; }
.hcos-diagram .diagram-core-text { fill:var(--hcos-paper); font-family:"Newsreader",Georgia,serif; font-size:19px; }
.hcos-diagram .diagram-core-kicker { fill:rgba(245,241,232,.7); }
.hcos-diagram .diagram-index { fill:var(--hcos-paper); stroke:var(--hcos-line); stroke-width:1; }
.hcos-diagram .diagram-number { fill:var(--hcos-blue); font-family:"Newsreader",Georgia,serif; font-size:14px; }
.hcos-diagram .diagram-planes path { fill:rgba(255,255,255,.16); stroke:var(--hcos-line); stroke-width:1; }
.hcos-diagram .diagram-planes path:nth-child(1) { fill:rgba(201,113,79,.08); stroke:rgba(201,113,79,.35); }
.hcos-diagram .diagram-planes path:nth-child(2) { fill:rgba(63,105,129,.08); stroke:rgba(63,105,129,.32); }
.hcos-diagram .diagram-planes path:nth-child(3) { fill:rgba(60,123,109,.08); stroke:rgba(60,123,109,.32); }
.hcos-diagram .diagram-planes path:nth-child(4) { fill:rgba(198,159,112,.08); stroke:rgba(198,159,112,.34); }
.hcos-diagram .diagram-layer-labels text { fill:var(--hcos-ink); font-family:"Newsreader",Georgia,serif; font-size:16px; }
.hcos-diagram .diagram-orbit-flow { fill:none; stroke:rgba(60,123,109,.42); stroke-width:1.2; stroke-dasharray:3 7; stroke-linecap:round; }
.hcos-diagram #hcosArrowEarn path { fill:var(--hcos-green); }
.hcos-diagram .diagram-flywheel-nodes circle { fill:var(--hcos-paper); stroke:var(--hcos-line); stroke-width:1; }
.hcos-diagram .diagram-labels-centred text { text-anchor:middle; fill:var(--hcos-ink); font-family:"Newsreader",Georgia,serif; font-size:15px; }
.hcos-diagram .diagram-stream { fill:none; stroke-width:1.5; }
.hcos-diagram .stream-earned { stroke:var(--hcos-coral); }
.hcos-diagram .stream-captured { stroke:var(--hcos-blue); }
.hcos-diagram .stream-result { stroke:var(--hcos-green); }
.hcos-diagram .diagram-source { fill:var(--hcos-paper); stroke-width:1; }
.hcos-diagram .source-earned { stroke:rgba(201,113,79,.42); }
.hcos-diagram .source-captured { stroke:rgba(63,105,129,.42); }
.hcos-diagram .diagram-curve { fill:none; stroke-width:2; }
.hcos-diagram .curve-incremental { stroke:var(--hcos-line); }
.hcos-diagram .curve-step { stroke:var(--hcos-green); }
.hcos-diagram .diagram-area { fill:rgba(60,123,109,.06); stroke:none; }
.hcos-diagram .diagram-enable-nodes circle,.hcos-diagram .diagram-audience-nodes circle { fill:rgba(255,255,255,.18); stroke:var(--hcos-line); stroke-width:1; }
.hcos-diagram .diagram-noise path { fill:none; stroke:var(--hcos-line); stroke-width:1; }
.hcos-diagram .diagram-noise text { font-size:10px; }
.hcos-diagram .diagram-pressure { fill:none; stroke-width:1.5; }
.hcos-diagram .pressure-left { stroke:var(--hcos-blue); }
.hcos-diagram .pressure-right { stroke:var(--hcos-coral); }
.hcos-diagram .diagram-tension { fill:none; stroke:var(--hcos-line); stroke-width:1; stroke-dasharray:3 7; }
.hcos-diagram .diagram-link { fill:none; stroke:var(--hcos-line); stroke-width:1; }
.hcos-diagram .diagram-core-large { fill:rgba(24,33,30,.92); }

.hcos-chapter.is-current .hcos-diagram :is(.diagram-flow,.diagram-stream,.diagram-curve,.diagram-link,.diagram-pressure,.diagram-broken) {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: hcosDraw 1.15s .12s cubic-bezier(.16,1,.3,1) forwards;
}

.hcos-chapter.is-current .hcos-diagram .diagram-orbits circle:nth-child(odd) { animation:hcosDiagramOrbit 18s linear infinite; }
.hcos-chapter.is-current .hcos-diagram .diagram-orbits circle:nth-child(even) { animation:hcosDiagramOrbit 22s linear infinite reverse; }

@keyframes hcosDraw { to { stroke-dashoffset:0; } }
@keyframes hcosDiagramOrbit { to { transform:rotate(360deg); } }

/* Interactive evidence is treated as one editorial layer, not nested UI chrome. */
.hcos-page :is(.af-container,.de-container,.nc-container,.diagram-container,.cdm-container,.dcf-container,.ta-container,.es-container,.ec-container,.hc-container,.au-grid) { margin-block:56px!important; }
.hcos-page :is(.cdm-tag,.dcf-tag,.ta-tag,.es-tag,.de-tag) { display:none!important; }
.hcos-page :is(.cdm-header,.dcf-header,.ta-header,.es-header) { padding:20px 0 17px!important; }
.hcos-page :is(.cdm-title,.dcf-title,.ta-title,.es-title,.de-title) { font-size:24px!important; }

.hcos-page .cdm-segments {
  gap: 0 24px!important;
  padding: 12px 0 0!important;
  border-bottom: 1px solid var(--hcos-line)!important;
}
.hcos-page .cdm-seg {
  padding: 10px 0 12px!important;
  border: 0!important;
  border-bottom: 1px solid transparent!important;
  border-radius: 0!important;
  background: transparent!important;
  color:var(--hcos-muted)!important;
  letter-spacing:.035em!important;
}
.hcos-page .cdm-seg:hover,.hcos-page .cdm-seg.active { border-bottom-color:var(--hcos-blue)!important; color:var(--hcos-ink)!important; }
.hcos-page .cdm-context { padding:18px 0!important; background:transparent!important; border-color:var(--hcos-line)!important; }
.hcos-page .cdm-body { grid-template-columns:1fr!important; min-height:0!important; }
.hcos-page .cdm-functions { flex-direction:row!important; border:0!important; border-bottom:1px solid var(--hcos-line)!important; }
.hcos-page .cdm-fn { flex:1; padding:15px 10px!important; border:0!important; background:transparent!important; text-align:center!important; }
.hcos-page .cdm-fn.active { color:var(--hcos-ink)!important; }
.hcos-page .cdm-fn.active::before { inset:auto 14px 0!important; width:auto!important; height:1px!important; }
.hcos-page .cdm-col { padding:26px 22px!important; }

.hcos-page .dcf-controls { gap:24px!important; padding:24px 0!important; }
.hcos-page .dcf-control { padding:0!important; border:0!important; }
.hcos-page .dcf-result-bar,.hcos-page .dcf-insight { padding-inline:0!important; }
.hcos-page .ta-sequence { padding-inline:0!important; }
.hcos-page .ta-contrast-col { padding-inline:0!important; }
.hcos-page .ta-contrast-col:first-child { padding-right:24px!important; }
.hcos-page .ta-contrast-col:last-child { padding-left:24px!important; }
.hcos-page .es-diagram { padding-inline:0!important; }
.hcos-page .de-header { display:none!important; }
.hcos-page .de-subtitle { margin-bottom:28px!important; }
.hcos-page .de-stats { gap:0 20px!important; }
.hcos-page .de-legend { gap:10px 18px!important; }
.hcos-page .au-grid { gap:0 28px!important; }
.hcos-page .au-card { padding-inline:0!important; }

@media (max-width:900px) {
  .hcos-ambient i { width:72vw; opacity:.065; }
  .hcos-reading { grid-template-columns:1fr; }
  .hcos-chapter,.hcos-chapter:nth-child(even) { grid-template-columns:1fr; gap:0; }
  .hcos-chapter-header { opacity:1; }
  .hcos-visual { width:min(100%,520px); }
  .hcos-page .cdm-functions { overflow-x:auto; }
  .hcos-page .cdm-fn { min-width:130px; }
}

@media (max-width:640px) {
  .hcos-ambient { display:none; }
  .hcos-visual { width:100%; aspect-ratio:3 / 2; margin-top:26px; }
  .hcos-diagram .diagram-label-large { font-size:17px; }
  .hcos-page .cdm-segments { gap:0 18px!important; overflow-x:auto; flex-wrap:nowrap!important; }
  .hcos-page .cdm-seg { flex:0 0 auto; }
  .hcos-page .dcf-controls { gap:18px!important; padding-block:20px!important; }
  .hcos-page .ta-contrast-col:first-child,.hcos-page .ta-contrast-col:last-child { padding:18px 0!important; }
}

@media (prefers-reduced-motion:reduce) {
  .hcos-stage-atmosphere,.hcos-chapter.is-current .hcos-diagram * { animation:none!important; }
  .hcos-ambient { display:none; }
}

/* 2026-07 material refinement: light, cinematic and deliberately sculptural. */
.hcos-page {
  --hcos-glass: rgba(255,255,255,.38);
  --hcos-glass-strong: rgba(255,255,255,.62);
  --hcos-shadow: rgba(29,42,37,.16);
  background:
    radial-gradient(circle at 82% 9%,rgba(114,151,147,.08),transparent 24%),
    radial-gradient(circle at 9% 31%,rgba(202,155,116,.055),transparent 26%),
    var(--hcos-paper);
}

.hcos-ambient i {
  opacity: .13;
  filter: blur(105px);
  mix-blend-mode: multiply;
}

.hcos-ambient i:nth-child(1) {
  background: linear-gradient(145deg,rgba(74,126,151,.84),rgba(97,152,133,.28));
}

.hcos-ambient i:nth-child(2) {
  background: linear-gradient(145deg,rgba(75,134,116,.82),rgba(197,159,112,.22));
}

.hcos-ambient i:nth-child(3) {
  opacity: .09;
  background: linear-gradient(145deg,rgba(201,113,79,.86),rgba(198,159,112,.26));
}

.hcos-hero {
  background:
    radial-gradient(ellipse 36% 54% at 78% 45%,rgba(255,255,255,.88),transparent 68%),
    radial-gradient(ellipse 62% 88% at 92% 53%,rgba(89,135,143,.17),transparent 70%),
    radial-gradient(ellipse 34% 36% at 66% 84%,rgba(200,151,111,.12),transparent 72%),
    linear-gradient(116deg,#f7f3eb 0%,#f4f0e7 51%,#e8eee8 100%);
}

.hcos-hero::before {
  position: absolute;
  top: -28%;
  right: -18%;
  width: 76%;
  aspect-ratio: 1;
  border: 1px solid rgba(63,105,129,.12);
  border-radius: 50%;
  box-shadow:
    0 0 0 9vw rgba(255,255,255,.08),
    0 0 0 18vw rgba(63,105,129,.035);
  content: "";
  pointer-events: none;
}

.hcos-hero-model {
  min-height: 620px;
  perspective: 1100px;
  transform-style: preserve-3d;
}

.hcos-hero-material {
  position: absolute;
  inset: 1% -8% -3% -4%;
  pointer-events: none;
  transform: rotate(-8deg);
  transform-style: preserve-3d;
}

.hcos-hero-material i {
  position: absolute;
  display: block;
  will-change: transform;
}

.hcos-hero-material i:nth-child(1) {
  inset: 17% 8% 11% 2%;
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 42% 58% 63% 37% / 56% 38% 62% 44%;
  background:
    radial-gradient(circle at 28% 22%,rgba(255,255,255,.88),transparent 25%),
    linear-gradient(145deg,rgba(116,158,155,.14),rgba(63,105,129,.04) 48%,rgba(201,113,79,.09));
  box-shadow: inset -28px -34px 70px rgba(63,105,129,.07),0 42px 90px rgba(31,52,46,.08);
  backdrop-filter: blur(2px);
  animation: hcosMaterialMorph 13s ease-in-out infinite alternate;
}

.hcos-hero-material i:nth-child(2) {
  top: 8%;
  right: 3%;
  width: 34%;
  aspect-ratio: 1;
  border: 26px solid rgba(255,255,255,.24);
  border-right-color: rgba(63,105,129,.14);
  border-bottom-color: rgba(60,123,109,.1);
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(63,105,129,.13),0 28px 60px rgba(34,52,46,.08);
  animation: hcosMaterialOrbit 21s linear infinite;
}

.hcos-hero-material i:nth-child(3) {
  right: 14%;
  bottom: 8%;
  width: 18%;
  aspect-ratio: 1;
  border: 1px solid rgba(201,113,79,.2);
  border-radius: 50%;
  background: radial-gradient(circle at 32% 26%,rgba(255,255,255,.85),rgba(206,162,127,.22) 42%,rgba(201,113,79,.08) 73%);
  box-shadow: 0 26px 55px rgba(90,66,48,.1);
  animation: hcosMaterialFloat 7s ease-in-out infinite alternate;
}

.hcos-hero-aura {
  width: 106%;
  background: radial-gradient(circle,rgba(255,255,255,.76) 0 11%,rgba(255,255,255,.34) 30%,transparent 69%);
}

.hcos-hero-ring {
  border-color: rgba(24,33,30,.24);
  box-shadow: inset 0 0 36px rgba(255,255,255,.14);
}

.hero-ring-1 { width:500px; height:500px; border-color:rgba(201,113,79,.26); }
.hero-ring-2 { width:382px; height:382px; border-color:rgba(63,105,129,.28); }
.hero-ring-3 { width:272px; height:272px; border-color:rgba(60,123,109,.28); }
.hero-ring-4 { width:168px; height:168px; border-color:rgba(198,159,112,.32); }

.hcos-hero-ring b {
  border-radius: 999px;
  background: rgba(247,243,235,.78);
  box-shadow: 0 8px 24px rgba(24,33,30,.06);
  backdrop-filter: blur(8px);
}

.hcos-hero-noi {
  width: 118px;
  height: 118px;
  background:
    radial-gradient(circle at 35% 24%,rgba(121,154,139,.48),transparent 25%),
    radial-gradient(circle at 42% 37%,#31453e,#17221e 72%);
  box-shadow:
    0 28px 64px rgba(24,33,30,.24),
    0 0 0 16px rgba(255,255,255,.23),
    0 0 0 17px rgba(60,123,109,.13);
}

.hcos-hero-noi::after {
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  content: "";
}

.hcos-hero-value {
  top: 11%;
  right: -1%;
  width: 136px;
  height: 136px;
  border-color: rgba(60,123,109,.2);
  background:
    radial-gradient(circle at 28% 20%,rgba(255,255,255,.94),transparent 23%),
    radial-gradient(circle at 42% 38%,#e6f0eb,#b3cfc4 72%);
  box-shadow: inset -16px -20px 40px rgba(60,123,109,.08),0 34px 76px rgba(24,33,30,.14);
}

.hcos-hero-bridge {
  position: absolute;
  top: 28%;
  right: 6%;
  width: 34%;
  height: 24%;
  border-top: 1px solid rgba(60,123,109,.38);
  border-right: 1px solid rgba(60,123,109,.16);
  border-radius: 0 100% 0 0;
  transform: rotate(-14deg);
  transform-origin: right top;
}

.hcos-thesis {
  border-color: rgba(24,33,30,.1);
  background:
    radial-gradient(ellipse 43% 34% at 22% 21%,rgba(255,255,255,.62),transparent 72%),
    radial-gradient(ellipse 46% 38% at 77% 76%,rgba(201,113,79,.09),transparent 72%),
    linear-gradient(135deg,#e7e5dc,#e9e6dc 46%,#e1e8e2);
}

.hcos-thesis-stage {
  overflow: visible;
}

.hcos-stage-material {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.hcos-stage-material i {
  position: absolute;
  display: block;
}

.hcos-stage-material i:nth-child(1) {
  inset: 5% 6% 8% 5%;
  border: 1px solid rgba(255,255,255,.54);
  border-radius: 54% 46% 37% 63% / 48% 62% 38% 52%;
  background: linear-gradient(145deg,rgba(255,255,255,.22),rgba(63,105,129,.055) 55%,rgba(60,123,109,.07));
  box-shadow: inset -30px -40px 80px rgba(63,105,129,.05),0 42px 100px rgba(24,33,30,.07);
  animation: hcosMaterialMorph 17s ease-in-out infinite alternate-reverse;
}

.hcos-stage-material i:nth-child(2) {
  top: 3%;
  right: 3%;
  width: 25%;
  aspect-ratio: 1;
  border: 1px solid rgba(63,105,129,.17);
  border-radius: 50%;
  background: radial-gradient(circle at 32% 28%,rgba(255,255,255,.78),rgba(101,143,148,.1) 66%);
  box-shadow: 0 22px 54px rgba(24,33,30,.08);
  animation: hcosMaterialFloat 8s ease-in-out infinite alternate-reverse;
}

.hcos-stage-material i:nth-child(3) {
  left: 2%;
  bottom: 6%;
  width: 18%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 26%,rgba(255,255,255,.72),rgba(203,143,108,.12) 72%);
  box-shadow: 0 20px 45px rgba(90,65,48,.08);
  animation: hcosMaterialFloat 10s -4s ease-in-out infinite alternate;
}

.hcos-stage-atmosphere {
  inset: 8%;
  background: radial-gradient(circle,rgba(255,255,255,.64),rgba(255,255,255,.16) 45%,transparent 70%);
  filter: blur(1px);
}

.hcos-stage-scene { inset: 70px 42px 66px; }

.hcos-stage-activity span {
  width: 112px;
  min-width: 0;
  aspect-ratio: 1;
  align-content: center;
  align-items: center;
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 50%;
  background: radial-gradient(circle at 34% 28%,rgba(255,255,255,.82),rgba(245,241,232,.52) 68%);
  box-shadow: inset -10px -12px 26px rgba(63,105,129,.05),0 22px 48px rgba(24,33,30,.09);
}

.hcos-stage-activity span:nth-child(2) { width:128px; }
.hcos-stage-activity span:nth-child(3) { width:102px; }
.hcos-stage-activity span:nth-child(4) { width:120px; }

.hcos-stage-activity strong {
  font-size: 64px;
  text-shadow: 0 18px 42px rgba(24,33,30,.08);
}

.hcos-stage-silos { gap: 42px; }
.hcos-stage-silos span {
  min-height: 116px;
  border-color: rgba(255,255,255,.52);
  border-radius: 42% 58% 60% 40% / 55% 42% 58% 45%;
  background: linear-gradient(145deg,rgba(255,255,255,.46),rgba(245,241,232,.25));
  box-shadow: inset -12px -15px 30px rgba(63,105,129,.04),0 24px 50px rgba(24,33,30,.07);
}
.hcos-stage-silos span:nth-child(2),.hcos-stage-silos span:nth-child(3) { border-radius:58% 42% 44% 56% / 43% 58% 42% 57%; }
.hcos-stage-silos i { height:2px; filter:blur(.2px); }

.system-loop {
  border-color: rgba(63,105,129,.2);
  box-shadow: inset 0 0 40px rgba(255,255,255,.08);
}
.system-loop:nth-child(2) { border-color:rgba(60,123,109,.22); }
.system-loop:nth-child(3) { border-color:rgba(201,113,79,.2); }
.system-loop:nth-child(4) { border-color:rgba(198,159,112,.24); }
.loop-1 b,.loop-3 b { animation:hcosCounter 18s linear infinite; }
.loop-2 b,.loop-4 b { animation:hcosCounterReverse 24s linear infinite; }
.loop-3 b { animation-duration:30s; }
.loop-4 b { animation-duration:36s; }
.hcos-stage-system > strong { width:108px; height:108px; box-shadow:0 30px 70px rgba(24,33,30,.24),0 0 0 14px rgba(255,255,255,.22); }

.hcos-stage-value span {
  border: 1px solid rgba(255,255,255,.56);
  background:
    radial-gradient(circle at 29% 22%,rgba(255,255,255,.88),transparent 25%),
    radial-gradient(circle at 48% 42%,rgba(243,241,233,.86),rgba(191,204,196,.42));
  box-shadow: inset -18px -24px 48px rgba(63,105,129,.07),0 32px 74px rgba(24,33,30,.12);
}

.hcos-stage-value span:last-child {
  background:
    radial-gradient(circle at 29% 22%,rgba(255,255,255,.92),transparent 25%),
    radial-gradient(circle at 45% 40%,#dfede7,#a9c9bc 76%);
}

.hcos-stage-value i { height: 2px; box-shadow:0 0 18px rgba(60,123,109,.22); }

.hcos-thesis-scene { opacity:.12; }
.hcos-thesis-scene.is-active { opacity:1; }

.hcos-reading {
  width: min(1440px,calc(100% - 56px));
  grid-template-columns: 48px minmax(0,1fr);
  gap: clamp(42px,4.2vw,68px);
}

.hcos-chapter,
.hcos-chapter:nth-child(even) {
  --chapter-accent: 63,105,129;
  min-height: 150vh;
  grid-template-columns: minmax(430px,.92fr) minmax(0,1.08fr);
  gap: clamp(68px,7vw,112px);
  padding-block: 16vh 20vh;
  border-top: 0;
  isolation: isolate;
}

.hcos-chapter:nth-child(even) { grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr); }
.hcos-chapter:nth-child(4n+1) { --chapter-accent:63,105,129; }
.hcos-chapter:nth-child(4n+2) { --chapter-accent:201,113,79; }
.hcos-chapter:nth-child(4n+3) { --chapter-accent:60,123,109; }
.hcos-chapter:nth-child(4n+4) { --chapter-accent:198,159,112; }

.hcos-chapter::before {
  position: absolute;
  top: 7%;
  bottom: 7%;
  left: 50%;
  z-index: -2;
  width: 100vw;
  background:
    radial-gradient(ellipse 35% 28% at 25% 40%,rgba(var(--chapter-accent),.085),transparent 72%),
    radial-gradient(ellipse 28% 24% at 78% 68%,rgba(var(--chapter-accent),.045),transparent 75%);
  content: "";
  transform: translateX(-50%);
}

.hcos-chapter::after {
  position: absolute;
  top: 13%;
  left: calc(50% - 50vw);
  z-index: -1;
  width: 38vw;
  height: 54%;
  border: 1px solid rgba(var(--chapter-accent),.08);
  border-left: 0;
  border-radius: 0 70% 70% 0;
  content: "";
  pointer-events: none;
}

.hcos-chapter:nth-child(even)::after {
  right: calc(50% - 50vw);
  left: auto;
  border-right: 0;
  border-left: 1px solid rgba(var(--chapter-accent),.08);
  border-radius: 70% 0 0 70%;
}

.hcos-chapter-header {
  min-height: calc(100vh - 126px);
  opacity: .48;
  transform: translateY(20px);
}

.hcos-chapter.is-current .hcos-chapter-header { opacity:1; transform:none; }
.hcos-chapter h2 { max-width:8.8ch; font-size:clamp(48px,4.75vw,72px)!important; }
.hcos-chapter-body { padding-top:10vh; }
.hcos-chapter-body > p,.hcos-chapter-body > ul,.hcos-chapter-body > h3 { max-width:650px; }
.hcos-chapter-body p { font-size:18px; line-height:1.78; }
.hcos-chapter-body h3 { font-size:34px!important; }

.hcos-visual {
  width: min(100%,520px);
  min-height: 0;
  aspect-ratio: 1.08;
  margin-top: 42px;
  isolation: isolate;
  perspective: 900px;
}

/* Long titles and their diagrams must fit together inside the sticky viewport. */
.hcos-chapter[data-chapter="redesigning-hotel-operations-around-asset-value"] .hcos-visual {
  width:min(100%,420px);
  margin-top:28px;
}

.hcos-chapter[data-chapter="the-core-problem-an-inherited-model"] .hcos-visual,
.hcos-chapter[data-chapter="who-the-hotel-commercial-os-is-for"] .hcos-visual {
  width:min(100%,460px);
  margin-top:32px;
}

.hcos-visual::before,
.hcos-visual::after {
  position: absolute;
  z-index: -1;
  content: "";
  pointer-events: none;
}

.hcos-visual::before {
  inset: 2% 3% 3% 2%;
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 43% 57% 64% 36% / 58% 39% 61% 42%;
  background:
    radial-gradient(circle at 27% 20%,rgba(255,255,255,.76),transparent 26%),
    linear-gradient(145deg,rgba(255,255,255,.26),rgba(var(--chapter-accent),.07) 52%,rgba(255,255,255,.08));
  box-shadow: inset -28px -34px 64px rgba(var(--chapter-accent),.045),0 34px 80px rgba(24,33,30,.075);
  backdrop-filter: blur(2px);
  transition: border-radius 1.2s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1);
}

.hcos-visual::after {
  top: 11%;
  right: 7%;
  width: 32%;
  aspect-ratio: 1;
  border: 1px solid rgba(var(--chapter-accent),.2);
  border-radius: 50%;
  box-shadow: inset 0 0 0 12px rgba(255,255,255,.08),0 20px 48px rgba(24,33,30,.06);
  transition: transform 1.2s cubic-bezier(.16,1,.3,1);
}

.hcos-chapter:nth-child(even) .hcos-visual::before { border-radius:58% 42% 38% 62% / 41% 57% 43% 59%; }
.hcos-chapter:nth-child(3n) .hcos-visual::after { top:auto; right:auto; bottom:8%; left:6%; width:24%; }
.hcos-chapter.is-current .hcos-visual::before { border-radius:55% 45% 41% 59% / 44% 61% 39% 56%; transform:scale(1.025) rotate(-1deg); }
.hcos-chapter.is-current .hcos-visual::after { transform:translate3d(5px,-7px,0) rotate(18deg); }

.hcos-diagram {
  position: relative;
  z-index: 2;
  width: 94%;
  filter: drop-shadow(0 18px 24px rgba(24,33,30,.045));
  transform: translateZ(22px);
}

.hcos-diagram text { fill:rgba(42,54,49,.72); }
.hcos-diagram .diagram-label-large { fill:var(--hcos-ink); font-size:20px; }
.hcos-diagram .diagram-kicker,.hcos-diagram .diagram-note { fill:rgba(54,70,63,.7); }
.hcos-diagram .diagram-line,.hcos-diagram .diagram-axis,.hcos-diagram .diagram-brace { stroke:rgba(24,33,30,.18); }
.hcos-diagram .diagram-flow { stroke-width:2.2; filter:drop-shadow(0 3px 6px rgba(60,123,109,.18)); }
.hcos-diagram .diagram-node {
  fill: rgba(255,255,255,.58);
  stroke: rgba(var(--chapter-accent),.25);
  filter: drop-shadow(0 16px 18px rgba(24,33,30,.1));
}
.hcos-diagram .node-noi { fill:rgba(255,255,255,.66); }
.hcos-diagram .node-value { fill:rgba(111,167,144,.2); stroke:rgba(60,123,109,.38); }
.hcos-diagram .diagram-ghost { stroke-width:1.5; fill:rgba(255,255,255,.2); filter:drop-shadow(0 18px 28px rgba(24,33,30,.07)); }
.hcos-diagram .diagram-broken { stroke-width:1.4; }
.hcos-diagram .diagram-orbits circle { stroke-width:1.2; }
.hcos-diagram .diagram-orbits circle:nth-child(1) { fill:rgba(255,255,255,.2); }
.hcos-diagram .diagram-orbit-nodes circle { r:7px; fill:var(--hcos-paper); filter:drop-shadow(0 5px 8px rgba(24,33,30,.18)); }
.hcos-diagram .diagram-core { filter:drop-shadow(0 18px 26px rgba(24,33,30,.22)); }
.hcos-diagram .diagram-index { fill:rgba(255,255,255,.64); stroke:rgba(var(--chapter-accent),.25); filter:drop-shadow(0 12px 18px rgba(24,33,30,.08)); }
.hcos-diagram .diagram-planes { filter:drop-shadow(0 15px 14px rgba(24,33,30,.08)); }
.hcos-diagram .diagram-planes path { fill:rgba(255,255,255,.34); stroke-width:1.1; }
.hcos-diagram .diagram-planes path:nth-child(1) { fill:rgba(201,113,79,.14); }
.hcos-diagram .diagram-planes path:nth-child(2) { fill:rgba(63,105,129,.14); }
.hcos-diagram .diagram-planes path:nth-child(3) { fill:rgba(60,123,109,.14); }
.hcos-diagram .diagram-planes path:nth-child(4) { fill:rgba(198,159,112,.16); }
.hcos-diagram .diagram-orbit-flow { stroke-width:1.8; }
.hcos-diagram .diagram-flywheel-nodes circle {
  fill:rgba(255,255,255,.7);
  stroke:rgba(60,123,109,.22);
  filter:drop-shadow(0 14px 18px rgba(24,33,30,.1));
}
.hcos-diagram .diagram-stream { stroke-width:3.2; filter:drop-shadow(0 4px 7px rgba(24,33,30,.1)); }
.hcos-diagram .diagram-source { fill:rgba(255,255,255,.66); filter:drop-shadow(0 16px 20px rgba(24,33,30,.1)); }
.hcos-diagram .diagram-area { fill:rgba(60,123,109,.12); }
.hcos-diagram .curve-step { stroke-width:3; filter:drop-shadow(0 5px 8px rgba(60,123,109,.18)); }
.hcos-diagram .diagram-enable-nodes circle,.hcos-diagram .diagram-audience-nodes circle {
  fill:rgba(255,255,255,.66);
  stroke:rgba(var(--chapter-accent),.26);
  filter:drop-shadow(0 15px 20px rgba(24,33,30,.09));
}
.hcos-diagram .diagram-pressure { stroke-width:3; filter:drop-shadow(0 5px 9px rgba(24,33,30,.1)); }
.hcos-diagram .diagram-tension { stroke-width:1.4; }
.hcos-diagram .diagram-link { stroke-width:1.8; }

.hcos-visual-value::before { transform:rotate(3deg); }
.hcos-visual-fragment::after { border-style:dashed; }
.hcos-visual-core::before { border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.58),rgba(63,105,129,.06) 54%,transparent 72%); box-shadow:none; }
.hcos-visual-core::after { top:5%; right:3%; width:20%; background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.8),rgba(60,123,109,.13)); }
.hcos-visual-principles::before { inset:7% 0; border-radius:42% 58% 48% 52% / 56% 44% 56% 44%; }
.hcos-visual-stack::before { transform:rotate(-4deg) skewY(2deg); }
.hcos-visual-flywheel::before { border-radius:50%; }
.hcos-visual-flywheel::after { top:39%; right:37%; width:26%; background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.72),rgba(60,123,109,.12)); }
.hcos-visual-capture::before { border-radius:50% 50% 42% 58% / 37% 61% 39% 63%; }
.hcos-visual-capture::after { top:3%; right:5%; background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.72),rgba(63,105,129,.12)); }
.hcos-visual-transform::before { border-radius:63% 37% 57% 43% / 43% 61% 39% 57%; }
.hcos-visual-enable::before { inset:13% 0; border-radius:999px; }
.hcos-visual-enable::after { top:8%; right:10%; width:18%; }
.hcos-visual-questions::before { transform:rotate(2deg); }
.hcos-visual-pressure::before { border-radius:50%; background:radial-gradient(ellipse,rgba(255,255,255,.52),rgba(201,113,79,.05) 58%,transparent 74%); box-shadow:none; }
.hcos-visual-pressure::after { top:36%; right:39%; width:22%; background:rgba(255,255,255,.28); }
.hcos-visual-audience::before { border-radius:50%; }
.hcos-visual-audience::after { top:37%; right:37%; width:25%; background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.45),rgba(60,123,109,.13)); }

.hcos-page :is(.af-container,.de-container,.nc-container,.diagram-container,.cdm-container,.dcf-container,.ta-container,.es-container,.ec-container,.hc-container,.au-grid) {
  position: relative;
  margin-block: 76px!important;
}

.hcos-page :is(.af-container,.de-container,.nc-container,.cdm-container,.dcf-container,.ta-container,.es-container) {
  border-bottom: 0!important;
  border-top-color: rgba(24,33,30,.12)!important;
}

.hcos-page :is(.af-container,.de-container,.nc-container,.cdm-container,.dcf-container,.ta-container,.es-container)::before {
  position: absolute;
  top: -1px;
  left: 0;
  width: 78px;
  height: 1px;
  background: rgb(var(--chapter-accent));
  content: "";
  opacity: .65;
}

@keyframes hcosMaterialMorph {
  to { border-radius:58% 42% 43% 57% / 39% 56% 44% 61%; transform:scale(1.035) rotate(2deg); }
}

@keyframes hcosMaterialOrbit { to { transform:rotate(360deg); } }
@keyframes hcosMaterialFloat { to { transform:translate3d(8px,-14px,22px) rotate(5deg); } }

@media (max-width:1180px) {
  .hcos-chapter,.hcos-chapter:nth-child(even) { grid-template-columns:minmax(350px,.82fr) minmax(0,1.18fr); gap:56px; }
  .hcos-chapter:nth-child(even) { grid-template-columns:minmax(0,1.18fr) minmax(350px,.82fr); }
  .hcos-hero-model { min-height:560px; }
  .hero-ring-1 { width:440px; height:440px; }
  .hero-ring-2 { width:336px; height:336px; }
}

@media (max-width:900px) {
  .hcos-hero-model { min-height:560px; }
  .hcos-reading { grid-template-columns:minmax(0,1fr); gap:0; }
  .hcos-chapter,.hcos-chapter:nth-child(even) { min-height:0; grid-template-columns:1fr; gap:0; padding-block:105px 130px; }
  .hcos-chapter-header { min-height:0; transform:none; }
  .hcos-chapter-body { padding-top:72px; }
  .hcos-chapter::after { width:72vw; opacity:.7; }
  .hcos-visual { width:min(100%,580px); aspect-ratio:1.12; }
  .hcos-chapter-body > p,.hcos-chapter-body > ul,.hcos-chapter-body > h3 { max-width:720px; }
}

@media (max-width:640px) {
  .hcos-ambient { display:block; opacity:.48; }
  .hcos-ambient i { width:110vw; opacity:.07; filter:blur(80px); }
  .hcos-hero::before { top:-12%; right:-58%; width:130%; }
  .hcos-hero-model { min-height:390px; }
  .hcos-hero-material { inset:-5% -16% -4% -8%; }
  .hcos-hero-material i:nth-child(2) { border-width:16px; }
  .hero-ring-1 { width:326px; height:326px; }
  .hero-ring-2 { width:248px; height:248px; }
  .hero-ring-3 { width:176px; height:176px; }
  .hero-ring-4 { width:112px; height:112px; }
  .hcos-hero-noi { width:80px; height:80px; }
  .hcos-hero-value { top:4%; right:-3%; width:88px; height:88px; }
  .hcos-hero-bridge { top:23%; right:8%; }
  .hcos-stage-material i:nth-child(2) { width:20%; }
  .hcos-stage-scene { inset:45px 12px 50px; }
  .hcos-stage-activity span { width:84px; padding:10px; font-size:10px; }
  .hcos-stage-activity span:nth-child(2) { width:96px; }
  .hcos-stage-activity span:nth-child(3) { width:78px; }
  .hcos-stage-activity span:nth-child(4) { width:90px; }
  .hcos-stage-activity strong { font-size:46px; }
  .hcos-stage-silos { gap:18px; }
  .hcos-stage-silos span { min-height:82px; font-size:16px; }
  .hcos-stage-system > strong { width:82px; height:82px; }
  .hcos-reading { width:min(100% - 26px,1440px); }
  .hcos-chapter,.hcos-chapter:nth-child(even) { padding-block:78px 102px; }
  .hcos-chapter::before { top:3%; bottom:3%; }
  .hcos-chapter::after { display:none; }
  .hcos-chapter h2 { font-size:48px!important; }
  .hcos-chapter-body { padding-top:56px; }
  .hcos-chapter-body p { font-size:16px; line-height:1.72; }
  .hcos-visual { aspect-ratio:1.03; margin-top:30px; }
  .hcos-diagram { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  .hcos-hero-material i,.hcos-stage-material i,.system-loop b,.hcos-chapter.is-current .hcos-visual::before,.hcos-chapter.is-current .hcos-visual::after { animation:none!important; transition:none!important; }
}

/* Orbital geometry: markers sit on the path; labels counter-rotate independently. */
.hcos-hero-ring b::after { display:none; }

.hcos-hero-ring::after {
  position:absolute;
  top:0;
  left:50%;
  width:9px;
  height:9px;
  border:4px solid rgba(247,243,235,.88);
  border-radius:50%;
  background:var(--ring-color);
  box-shadow:0 0 0 1px var(--hcos-line),0 5px 18px rgba(24,33,30,.12);
  box-sizing:content-box;
  content:"";
  transform:translate(-50%,-50%);
}

.hcos-hero-model .hcos-hero-ring b {
  top:0;
  right:auto;
  bottom:auto;
  left:50%;
  font-size:11px;
  letter-spacing:.02em;
  text-transform:none;
  transform:translate(-50%,-165%);
}

.hcos-thesis-scene > span { display:none; }

.hero-ring-1 { animation:hcosOrbit 34s -8s linear infinite; }
.hero-ring-2 { animation:hcosOrbitReverse 29s -17s linear infinite; }
.hero-ring-3 { animation:hcosOrbit 23s -4s linear infinite; }
.hero-ring-4 { animation:hcosOrbitReverse 18s -11s linear infinite; }
.hcos-hero-model .hero-ring-1 b { animation:hcosHeroLabelCounter 34s -8s linear infinite; }
.hcos-hero-model .hero-ring-2 b { animation:hcosHeroLabelCounterReverse 29s -17s linear infinite; }
.hcos-hero-model .hero-ring-3 b { animation:hcosHeroLabelCounter 23s -4s linear infinite; }
.hcos-hero-model .hero-ring-4 b { animation:hcosHeroLabelCounterReverse 18s -11s linear infinite; }

@keyframes hcosHeroLabelCounter {
  to { transform:translate(-50%,-165%) rotate(-360deg); }
}

@keyframes hcosHeroLabelCounterReverse {
  to { transform:translate(-50%,-165%) rotate(360deg); }
}

.hcos-hero-outcome {
  position:absolute;
  top:50%;
  left:50%;
  z-index:4;
  display:block;
  width:318px;
  height:1px;
  transform:rotate(-58deg);
  transform-origin:left center;
}

.hcos-hero-outcome .hcos-hero-bridge {
  position:absolute;
  top:0;
  right:68px;
  left:58px;
  width:auto;
  height:1px;
  border:0;
  border-radius:0;
  background:linear-gradient(90deg,rgba(60,123,109,.08),rgba(60,123,109,.46));
  transform:none;
}

.hcos-hero-outcome .hcos-hero-value {
  top:0;
  right:0;
  left:auto;
  isolation:isolate;
  overflow:visible;
  transform:translate(50%,-50%) rotate(58deg);
}

.hcos-hero-value::before { display:none; }

/* Keep the rotating value halo physically coupled to the value sphere. */
.hcos-hero-material i:nth-child(2) { display:none; }

.hcos-hero-outcome .hcos-hero-value::after {
  position:absolute;
  inset:-20px;
  z-index:-1;
  box-sizing:border-box;
  border:20px solid rgba(255,255,255,.24);
  border-right-color:rgba(63,105,129,.14);
  border-bottom-color:rgba(60,123,109,.1);
  border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(63,105,129,.13),0 28px 60px rgba(34,52,46,.08);
  content:"";
  animation:hcosMaterialOrbit 21s linear infinite;
}

@media (max-width:1180px) {
  .hcos-hero-outcome { width:288px; }
}

@media (max-width:640px) {
  .hcos-hero-outcome { width:207px; transform:rotate(-58deg); }
  .hcos-hero-outcome .hcos-hero-bridge { right:44px; left:40px; }
  .hcos-hero-outcome .hcos-hero-value { top:0; right:0; transform:translate(50%,-50%) rotate(58deg); }
  .hcos-hero-outcome .hcos-hero-value::after { inset:-14px; border-width:14px; }
}
