/* Bio2Twin Home Density v2
   Canonical homepage alignment for design.md v2.9+
   Visual-only: no content, data, or interaction logic changes. */

:root{
  --home-section-h2:var(--bt-type-section-title,clamp(28px,3.2vw,40px));
  --home-section-h2-mobile:var(--bt-type-section-title-mobile,clamp(26px,7vw,34px));
  --home-line:rgba(255,255,255,.075);
  --home-line-active:rgba(185,255,203,.28);
  --home-panel:#0b0f0d;
}

/* =========================================================
   1. Canonical homepage heading lock
   ========================================================= */
#member-start-title,
#state-title,
#b2t-space-title,
#oi-story-title,
#model-cycle-title,
#truth-title,
#miimochi-meet-title,
#research-intelligence-title,
#home-final-title{
  font-size:var(--home-section-h2)!important;
  font-weight:560!important;
  line-height:1.1!important;
  letter-spacing:-.03em!important;
}

/* Preserve OI two-tone title without re-inflating hierarchy */
#oi-story-title span,
#oi-story-title strong{
  font-weight:560!important;
}

/* =========================================================
   2. Opening / onboarding density
   ========================================================= */
#member-start{
  padding-top:54px!important;
  padding-bottom:58px!important;
}
#member-start .member-start__head{
  margin-bottom:28px!important;
}
#member-start .member-start__grid{
  gap:10px!important;
}
#member-start .member-start__grid article{
  min-height:0!important;
  padding:18px!important;
}
#member-start .member-start__actions{
  margin-top:24px!important;
}

/* =========================================================
   3. Original Intelligence — editorial density
   ========================================================= */
#original-intelligence.oi-story{
  padding:72px 0 80px!important;
}
#original-intelligence .oi-story__head{
  max-width:860px!important;
  margin-bottom:42px!important;
}
#original-intelligence .oi-story__lead{
  max-width:700px!important;
  margin-top:20px!important;
  font-size:15px!important;
  line-height:1.72!important;
}
#original-intelligence .oi-story__origin{
  gap:36px!important;
  padding:32px 0 40px!important;
}
#original-intelligence .oi-story__visual{
  min-height:300px!important;
}
#original-intelligence .oi-story h3{
  font-size:clamp(24px,2.4vw,30px)!important;
  line-height:1.12!important;
  font-weight:560!important;
}
#original-intelligence .oi-story__origin-copy p,
#original-intelligence .oi-story__card p{
  font-size:13.5px!important;
  line-height:1.68!important;
}
#original-intelligence .oi-story__grid{
  gap:12px!important;
  padding:36px 0!important;
}
#original-intelligence .oi-story__card{
  min-height:320px!important;
  padding:20px!important;
}
#original-intelligence .oi-story__card small{
  margin-top:18px!important;
  padding-top:13px!important;
  font-size:10.5px!important;
}
#original-intelligence .oi-story__personal{
  margin-top:12px!important;
  padding:40px 0!important;
}
#original-intelligence .oi-story__personal>p:not(.oi-story__eyebrow){
  font-size:15px!important;
  line-height:1.72!important;
}
#original-intelligence .oi-story__signals{
  margin-top:20px!important;
  gap:7px!important;
}
#original-intelligence .oi-story__signals span{
  padding:6px 10px!important;
  font-size:11px!important;
}
#original-intelligence .oi-story__tech-stack{
  padding:26px 0!important;
}
#original-intelligence .oi-story__tech-unit{
  grid-template-columns:96px minmax(220px,.82fr) minmax(0,1.18fr)!important;
  gap:26px!important;
  padding:29px 0!important;
}
#original-intelligence .oi-story__tech-id span{
  font-size:22px!important;
}
#original-intelligence .oi-story__tech-title h3{
  font-size:clamp(22px,2vw,28px)!important;
}
#original-intelligence .oi-story__tech-body p{
  font-size:13px!important;
  line-height:1.68!important;
}
#original-intelligence .oi-story__tech-chain{
  margin-top:13px!important;
  padding:10px 12px!important;
  font-size:11px!important;
}
#original-intelligence .oi-story__tech-body ul{
  margin-top:10px!important;
  gap:6px!important;
}
#original-intelligence .oi-story__tech-body li{
  padding:5px 8px!important;
  font-size:9.5px!important;
}
#original-intelligence .oi-story__close{
  gap:44px!important;
  padding:46px 0 14px!important;
}
#original-intelligence .oi-story__proof{
  font-size:clamp(30px,3.4vw,40px)!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
}
#original-intelligence .oi-story__actions{
  margin-top:26px!important;
}
#original-intelligence .oi-story__actions a{
  min-height:42px!important;
  padding:0 16px!important;
  gap:18px!important;
  font-size:12px!important;
}

/* =========================================================
   4. Personal Model cycle — system module density
   ========================================================= */
#model-cycle.model-cycle.model-cycle-interactive{
  padding:72px 0 56px!important;
}
#model-cycle .model-cycle-head{
  margin-bottom:34px!important;
}
#model-cycle .model-cycle-intro{
  margin-top:14px!important;
  font-size:15px!important;
  line-height:1.65!important;
}
#model-cycle .model-cycle-tab{
  min-height:118px!important;
  padding:16px 18px 18px!important;
}
#model-cycle .model-cycle-tab .model-cycle-number{
  margin-bottom:18px!important;
  font-size:9px!important;
}
#model-cycle .model-cycle-tab strong{
  margin-bottom:7px!important;
  font-size:25px!important;
  font-weight:560!important;
}
#model-cycle .model-cycle-tab small{
  font-size:11.5px!important;
  line-height:1.5!important;
}
#model-cycle .model-cycle-panels{
  margin-top:30px!important;
}
#model-cycle .model-cycle-panel{
  padding:21px 24px 20px!important;
  border-color:var(--home-line)!important;
  border-radius:16px!important;
  background:rgba(8,18,15,.46)!important;
}
#model-cycle .model-cycle-panel h3{
  margin-bottom:11px!important;
  font-size:clamp(22px,2.3vw,27px)!important;
  line-height:1.15!important;
  font-weight:560!important;
}
#model-cycle .model-cycle-why{
  margin-bottom:10px!important;
  font-size:12px!important;
}
#model-cycle .model-cycle-panel>p:not(.model-cycle-why):not(.model-cycle-next){
  font-size:14px!important;
  line-height:1.65!important;
}
#model-cycle .model-cycle-example{
  margin-top:16px!important;
  padding-top:14px!important;
}
#model-cycle .model-cycle-example span{
  margin-bottom:5px!important;
  font-size:10px!important;
}
#model-cycle .model-cycle-example p{
  font-size:13px!important;
  line-height:1.6!important;
}
#model-cycle .model-cycle-next{
  margin-top:15px!important;
  font-size:11.5px!important;
  line-height:1.6!important;
}

/* =========================================================
   5. Truth Loop — less campaign, more validation system
   ========================================================= */
#truth-loop .truth-inner{
  padding:86px 0 94px!important;
}
#truth-loop .truth-lead{
  font-size:15px!important;
  line-height:1.72!important;
}
#truth-loop .truth-note{
  margin-top:14px!important;
  font-size:11.5px!important;
}
#truth-loop .truth-steps{
  margin-top:46px!important;
  gap:10px!important;
}
#truth-loop .truth-step{
  min-height:96px!important;
  padding:14px 12px 16px!important;
  border:1px solid var(--home-line)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.018)!important;
}
#truth-loop .truth-step:hover{
  transform:translateY(-2px)!important;
  border-color:var(--home-line-active)!important;
  background:rgba(185,255,203,.025)!important;
}
#truth-loop .truth-step b{
  margin-bottom:5px!important;
}
#truth-loop .truth-step strong{
  font-size:13.5px!important;
  font-weight:520!important;
}
#truth-loop .truth-step-explainer{
  width:300px!important;
  padding:18px!important;
  border-radius:14px!important;
}

/* =========================================================
   6. MiiMochi — keep design, reduce section air only
   ========================================================= */
#miimochi-meet{
  padding-top:58px!important;
  padding-bottom:62px!important;
}
#miimochi-meet .miimochi-meet__intro{
  margin-bottom:34px!important;
}

/* =========================================================
   7. Research Intelligence — canonical scientific cards
   ========================================================= */
#research-intelligence.research-intelligence{
  padding:68px 0 60px!important;
}
#research-intelligence .ri-head{
  margin-bottom:26px!important;
}
#research-intelligence .research-intelligence-kicker{
  margin-bottom:12px!important;
  font-size:10px!important;
}
#research-intelligence .research-intelligence-intro{
  margin-top:9px!important;
  font-size:13px!important;
}
#research-intelligence .research-intelligence-lead{
  margin-top:10px!important;
  font-size:13px!important;
  line-height:1.65!important;
}
#research-intelligence .ri-stage{
  gap:12px 16px!important;
}
#research-intelligence .ri-endpoint--in{
  padding:13px 16px!important;
  border-radius:14px!important;
  border-color:var(--home-line)!important;
}
#research-intelligence .ri-agents{
  gap:12px!important;
}
#research-intelligence .research-intelligence-node{
  min-height:132px!important;
  padding:16px 16px 14px!important;
  border:1px solid var(--home-line)!important;
  border-radius:15px!important;
  background:rgba(7,12,10,.62)!important;
}
#research-intelligence .research-intelligence-node:hover,
#research-intelligence .research-intelligence-node.is-active,
#research-intelligence .research-intelligence-node.is-receiving{
  border-color:var(--home-line-active)!important;
  background:rgba(10,16,13,.76)!important;
  box-shadow:none!important;
}
#research-intelligence .research-intelligence-icon{
  border-radius:10px!important;
  border-color:rgba(185,255,203,.12)!important;
  box-shadow:none!important;
}
#research-intelligence .research-intelligence-node.is-active .research-intelligence-icon{
  border-color:rgba(185,255,203,.28)!important;
  box-shadow:none!important;
}
#research-intelligence .research-intelligence-name{
  font-size:14px!important;
  font-weight:560!important;
}
#research-intelligence .research-intelligence-role{
  font-size:9.5px!important;
}
#research-intelligence .ri-source-detail{
  margin-top:6px!important;
  font-size:10.5px!important;
  line-height:1.45!important;
}
#research-intelligence .ri-endpoint--out{
  border-color:rgba(185,255,203,.14)!important;
  box-shadow:none!important;
}
#research-intelligence .ri-endpoint__dest{
  margin-top:18px!important;
  padding:12px!important;
  border-radius:12px!important;
}
#research-intelligence .ri-process{
  margin-top:18px!important;
}
#research-intelligence .ri-process__stages{
  gap:6px!important;
}
#research-intelligence .ri-process__stages li{
  min-height:54px!important;
}
#research-intelligence .ri-close{
  margin-top:24px!important;
}

/* =========================================================
   8. Closing CTA
   ========================================================= */
.home-final-cta{
  padding:66px 24px 72px!important;
}
.home-final-cta__inner>p:not(.home-final-cta__kicker){
  margin-top:16px!important;
}
.home-final-cta__actions{
  margin-top:24px!important;
}

/* =========================================================
   9. Mobile density
   ========================================================= */
@media(max-width:640px){
  #member-start-title,
  #state-title,
  #b2t-space-title,
  #oi-story-title,
  #model-cycle-title,
  #truth-title,
  #miimochi-meet-title,
  #research-intelligence-title,
  #home-final-title{
    font-size:var(--home-section-h2-mobile)!important;
    line-height:1.1!important;
  }

  #member-start{
    padding-top:44px!important;
    padding-bottom:48px!important;
  }

  #original-intelligence.oi-story{
    padding:54px 0 58px!important;
  }
  #original-intelligence .oi-story__inner{
    width:calc(100% - 28px)!important;
  }
  #original-intelligence .oi-story__head{
    margin-bottom:30px!important;
  }
  #original-intelligence .oi-story__lead{
    margin-top:16px!important;
    font-size:14px!important;
    line-height:1.65!important;
  }
  #original-intelligence .oi-story__origin{
    gap:22px!important;
    padding:26px 0 30px!important;
  }
  #original-intelligence .oi-story__visual{
    min-height:220px!important;
  }
  #original-intelligence .oi-story__grid{
    gap:9px!important;
    padding:28px 0!important;
  }
  #original-intelligence .oi-story__card{
    min-height:0!important;
    padding:16px!important;
  }
  #original-intelligence .oi-story__tech-stack{
    padding:20px 0!important;
  }
  #original-intelligence .oi-story__tech-unit{
    grid-template-columns:1fr!important;
    gap:9px!important;
    padding:23px 0!important;
  }
  #original-intelligence .oi-story__tech-id{
    flex-direction:row!important;
    align-items:center!important;
    gap:9px!important;
  }
  #original-intelligence .oi-story__tech-id span{
    font-size:19px!important;
  }
  #original-intelligence .oi-story__personal{
    padding:30px 0!important;
  }
  #original-intelligence .oi-story__close{
    grid-template-columns:1fr!important;
    gap:24px!important;
    padding:34px 0 10px!important;
  }
  #original-intelligence .oi-story__proof{
    font-size:30px!important;
  }

  #model-cycle.model-cycle.model-cycle-interactive{
    width:calc(100% - 28px)!important;
    padding:52px 0 44px!important;
  }
  #model-cycle .model-cycle-head{
    margin-bottom:26px!important;
  }
  #model-cycle .model-cycle-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #model-cycle .model-cycle-tab{
    min-height:102px!important;
    padding:14px!important;
  }
  #model-cycle .model-cycle-tab:nth-child(2){
    border-right:0!important;
  }
  #model-cycle .model-cycle-tab .model-cycle-number{
    margin-bottom:12px!important;
  }
  #model-cycle .model-cycle-tab strong{
    font-size:21px!important;
  }
  #model-cycle .model-cycle-panels{
    margin-top:20px!important;
  }
  #model-cycle .model-cycle-panel{
    padding:18px 16px!important;
    border-radius:14px!important;
  }
  #model-cycle .model-cycle-panel h3{
    font-size:22px!important;
  }

  #truth-loop .truth-inner{
    width:calc(100% - 28px)!important;
    padding:58px 0 62px!important;
  }
  #truth-loop .truth-steps{
    margin-top:32px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  #truth-loop .truth-step{
    min-height:88px!important;
    padding:12px 10px 14px!important;
    border-radius:14px!important;
  }

  #miimochi-meet{
    padding-top:48px!important;
    padding-bottom:52px!important;
  }

  #research-intelligence.research-intelligence{
    padding:52px 0 46px!important;
  }
  #research-intelligence .research-intelligence-inner{
    width:calc(100% - 28px)!important;
  }
  #research-intelligence .ri-head{
    margin-bottom:22px!important;
  }
  #research-intelligence .research-intelligence-node{
    min-height:118px!important;
    padding:14px!important;
    border-radius:14px!important;
  }
  #research-intelligence .research-intelligence-name{
    font-size:13px!important;
  }

  .home-final-cta{
    padding:54px 20px 60px!important;
  }
}

/* =========================================================
   10. Final specificity lock — legacy homepage CSS cannot exceed design.md
   ========================================================= */
html body #member-start.member-start #member-start-title,
html body #body-state.state-section #state-title,
html body #b2t-space.b2t-space #b2t-space-title,
html body #original-intelligence.oi-story #oi-story-title,
html body #model-cycle.model-cycle.model-cycle-interactive #model-cycle-title,
html body #truth-loop.truth-section #truth-title,
html body #miimochi-meet.miimochi-meet #miimochi-meet-title,
html body #research-intelligence.research-intelligence #research-intelligence-title,
html body .home-final-cta #home-final-title{
  font-size:var(--home-section-h2)!important;
  font-weight:560!important;
  line-height:1.1!important;
  letter-spacing:-.03em!important;
}

html body #truth-loop.truth-section .truth-steps .truth-step{
  min-height:96px!important;
  padding:14px 12px 16px!important;
  border:1px solid var(--home-line)!important;
  border-radius:15px!important;
}

@media(max-width:640px){
  html body #member-start.member-start #member-start-title,
  html body #body-state.state-section #state-title,
  html body #b2t-space.b2t-space #b2t-space-title,
  html body #original-intelligence.oi-story #oi-story-title,
  html body #model-cycle.model-cycle.model-cycle-interactive #model-cycle-title,
  html body #truth-loop.truth-section #truth-title,
  html body #miimochi-meet.miimochi-meet #miimochi-meet-title,
  html body #research-intelligence.research-intelligence #research-intelligence-title,
  html body .home-final-cta #home-final-title{
    font-size:var(--home-section-h2-mobile)!important;
    line-height:1.1!important;
  }
  html body #truth-loop.truth-section .truth-steps .truth-step{
    min-height:88px!important;
    padding:12px 10px 14px!important;
    border-radius:14px!important;
  }
}
