/* Elevated homepage storytelling for Mission, Model, Ecosystem Flywheel and Studio CTA */
.home-story{
  position:relative;
  overflow:hidden;
  max-width:none;
  padding:8rem 5vw;
  border-top:1px solid rgba(201,162,39,.10);
}
.home-story::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 85% 15%,rgba(201,162,39,.10),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.01),transparent 35%);
}
.story-inner{position:relative;z-index:1;max-width:1240px;margin:0 auto}
.story-kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.24em;font-size:.72rem;font-weight:600;margin-bottom:1rem}
.story-kicker::after{content:"";display:block;width:46px;height:1px;background:var(--gold);margin-top:.7rem;opacity:.8}
.story-heading{font-size:clamp(3rem,5.5vw,5.6rem);max-width:900px;line-height:.98;margin-bottom:2rem}
.story-copy-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:4rem}
.story-copy{color:var(--gray);font-size:1.02rem;line-height:1.8;max-width:560px}
.story-copy strong{color:var(--white)}
.stage-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative}
.stage-flow::before{content:"";position:absolute;left:6%;right:6%;top:41px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),var(--gold),transparent);opacity:.55}
.stage-item{position:relative;padding:0 1.2rem 2rem;text-align:left}
.stage-num{width:82px;height:82px;border:1px solid rgba(201,162,39,.38);border-radius:50%;display:grid;place-items:center;background:#090909;color:var(--gold-light);font-family:'Cormorant Garamond',serif;font-size:1.65rem;margin-bottom:1.4rem;box-shadow:0 0 0 8px rgba(7,7,7,.95)}
.stage-item h3{font-size:1.65rem;color:var(--white);margin-bottom:.55rem}
.stage-item p{color:var(--gray);font-size:.86rem;line-height:1.6}

/* The model is deliberately linear rather than a fragile CSS circle. */
.model-panel{
  background:linear-gradient(145deg,#0b0b0b,#080808);
  border:1px solid rgba(201,162,39,.18);
  padding:4.5rem;
  position:relative;
  overflow:hidden;
}
.model-panel::after{
  content:"";
  position:absolute;
  width:460px;
  height:460px;
  border:1px solid rgba(201,162,39,.10);
  border-radius:50%;
  right:-210px;
  top:-225px;
  box-shadow:0 0 90px rgba(201,162,39,.04);
  pointer-events:none;
}
.model-grid{display:block;position:relative;z-index:1}
.model-grid>div:first-child{max-width:820px}
.model-grid .story-heading{font-size:clamp(3.1rem,5vw,5rem);max-width:760px;line-height:1.02}
.model-grid .story-copy{max-width:700px}
.domain-strip{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}
.domain-strip span{border:1px solid rgba(201,162,39,.2);padding:.55rem .85rem;color:var(--gold-light);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;background:rgba(201,162,39,.03)}
.loop-visual{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1rem;
  max-width:none;
  margin:4rem 0 0;
  padding-top:2.4rem;
  border-top:1px solid rgba(201,162,39,.18);
}
.loop-visual::before{
  content:"SIGNAL  →  CONTEXT  →  DECISION  →  ACTION  →  LEARNING";
  position:absolute;
  top:0;
  left:0;
  color:var(--gold);
  font-size:.68rem;
  letter-spacing:.18em;
  font-weight:600;
}
.loop-core{display:none}
.loop-node,
.loop-node.n1,
.loop-node.n2,
.loop-node.n3,
.loop-node.n4,
.loop-node.n5{
  position:relative;
  inset:auto;
  transform:none;
  width:auto;
  min-height:132px;
  padding:1.45rem 1.25rem;
  border:1px solid rgba(201,162,39,.22);
  background:linear-gradient(180deg,rgba(20,20,18,.88),rgba(12,12,12,.96));
  text-align:left;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.loop-node:not(:last-child)::after{
  content:"→";
  position:absolute;
  right:-1.05rem;
  top:50%;
  transform:translate(50%,-50%);
  color:var(--gold);
  font-size:1rem;
  z-index:2;
  background:#090909;
  padding:.12rem .25rem;
}
.loop-node b{display:block;color:var(--gold);font-size:.69rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.5rem}
.loop-node span{font-family:'Cormorant Garamond',serif;font-size:1.65rem;color:var(--white)}

.flywheel-elevated{max-width:none;padding:9rem 5vw;background:linear-gradient(180deg,#070707,#0a0907 45%,#070707);border-top:1px solid rgba(201,162,39,.12);text-align:center}
.flywheel-elevated .story-inner{max-width:1180px}
.flywheel-elevated .story-heading{margin-left:auto;margin-right:auto;max-width:880px}
.flywheel-elevated .story-copy{margin:0 auto 3rem;max-width:720px}
.flywheel-frame{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(201,162,39,.14);background:radial-gradient(circle at 50% 50%,rgba(201,162,39,.08),transparent 45%),#090909;overflow:hidden}
.flywheel-frame::before,.flywheel-frame::after{content:"";position:absolute;border:1px solid rgba(201,162,39,.12);border-radius:50%}.flywheel-frame::before{width:540px;height:540px}.flywheel-frame::after{width:390px;height:390px}
.flywheel-frame img{position:relative;z-index:1;width:min(840px,88%);height:auto;display:block;filter:drop-shadow(0 20px 50px rgba(0,0,0,.55))}
.flywheel-fallback{position:relative;z-index:1;display:none;color:var(--gold-light);font-family:'Cormorant Garamond',serif;font-size:2rem}

.studio-elevated{position:relative;overflow:hidden;max-width:none;padding:9rem 5vw;text-align:left;border-top:1px solid rgba(201,162,39,.16);background:linear-gradient(90deg,rgba(7,7,7,.98) 0%,rgba(7,7,7,.90) 48%,rgba(7,7,7,.50) 72%,rgba(7,7,7,.82) 100%),url("home-hero-banner.png") center right/cover no-repeat}
.studio-elevated .story-inner{max-width:1240px}
.studio-elevated .story-heading{max-width:760px;margin-bottom:1.5rem}
.studio-elevated .story-copy{max-width:700px;margin-bottom:2rem;color:#c2c2bf}
.studio-actions{display:flex;gap:1rem;flex-wrap:wrap}
.studio-actions .btn{min-width:190px;text-align:center}

@media(max-width:900px){
  .story-copy-grid{grid-template-columns:1fr;gap:2rem}
  .stage-flow{grid-template-columns:1fr;gap:1rem}
  .stage-flow::before{left:40px;right:auto;top:0;bottom:0;width:1px;height:auto;background:linear-gradient(180deg,transparent,var(--gold),var(--gold),transparent)}
  .stage-item{display:grid;grid-template-columns:82px 1fr;column-gap:1.2rem;padding:0 0 1.5rem}.stage-num{grid-row:1 / span 2;margin:0}.stage-item h3{align-self:end}
  .model-panel{padding:3rem 2rem}
  .loop-visual{grid-template-columns:1fr 1fr;gap:1rem}
  .loop-node:not(:last-child)::after{display:none}
  .loop-visual::before{content:"OBSERVE  →  UNDERSTAND  →  DECIDE  →  ACT  →  LEARN"}
  .flywheel-frame{min-height:420px}
}
@media(max-width:600px){
  .home-story,.flywheel-elevated,.studio-elevated{padding:6rem 6vw}
  .story-heading{font-size:clamp(2.8rem,14vw,4.4rem)}
  .model-panel{padding:2.2rem 1.35rem}
  .model-grid .story-heading{font-size:clamp(2.7rem,12vw,4rem)}
  .loop-visual{grid-template-columns:1fr;margin-top:3rem;padding-top:2.7rem}
  .loop-visual::before{font-size:.58rem;letter-spacing:.1em;line-height:1.5}
  .loop-node{min-height:104px}
  .flywheel-frame{min-height:330px}
  .studio-actions{flex-direction:column}.studio-actions .btn{width:100%}
}
