.home-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr);
  min-height: 390px;
  margin: 30px 0 0;
  overflow: hidden;
  border: 1px solid rgba(31,70,50,.12);
  border-radius: 24px;
  color: #edf4e9;
  background: linear-gradient(112deg, #163d33 0%, #163d33 57%, #204e40 57%, #204e40 100%);
  box-shadow: 0 18px 50px rgba(20,56,43,.14);
}
.hero-copy { position: relative; z-index: 2; align-self: center; padding: 48px 12px 48px 48px; }
.hero-eyebrow { margin: 0 0 17px; color: #b6cbb8; font-size: 9px; font-weight: 750; letter-spacing: .16em; }
.hero-eyebrow span { padding: 0 4px; color: #d7e7b2; }
.hero-copy h1 { max-width: 590px; color: #f2f4e9; font-size: clamp(30px, 4vw, 46px); line-height: 1.16; letter-spacing: -.055em; }
.hero-lede { max-width: 530px; margin: 16px 0 0; color: #c2d2c5; font-size: 13px; line-height: 1.8; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 11px; margin-top: 27px; }
.hero-primary, .hero-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 17px; min-height: 43px; padding: 0 16px; border-radius: 10px; font-size: 11px; font-weight: 700; text-decoration: none; transition: transform .18s, background .18s; }
.hero-primary { color: #173c31; background: #e2edc2; }
.hero-primary:hover { transform: translateY(-1px); background: #eef4d7; }
.hero-secondary { color: #e1ece0; border: 1px solid rgba(231,242,223,.19); background: rgba(255,255,255,.04); }
.hero-secondary:hover { transform: translateY(-1px); background: rgba(255,255,255,.1); }
.hero-local-note { display: flex; align-items: center; gap: 8px; margin: 19px 0 0; color: #adc2b1; font-size: 10px; }
.hero-local-note > span:first-child { color: #dbe8aa; font-size: 8px; }
.hero-visual { position: relative; min-height: 390px; overflow: hidden; background: radial-gradient(circle at 56% 51%, rgba(226,237,194,.1), transparent 37%); }
.visual-label { position: absolute; top: 31px; right: 31px; color: #b9cdbb; font-size: 9px; font-weight: 700; letter-spacing: .17em; }
.orbit { position: absolute; top: 50%; left: 51%; border: 1px solid rgba(229,241,218,.15); border-radius: 50%; transform: translate(-50%,-50%); }
.orbit-one { width: 290px; height: 290px; }
.orbit-two { width: 220px; height: 220px; border-style: dashed; border-color: rgba(229,241,218,.15); }
.orbit-three { width: 145px; height: 145px; border-color: rgba(229,241,218,.2); }
.visual-center { position: absolute; top: 50%; left: 51%; display: flex; flex-direction: column; align-items: center; gap: 4px; transform: translate(-50%,-50%); }
.visual-center strong { color: #f1f3e7; font-size: 41px; font-weight: 500; letter-spacing: -.06em; font-variant-numeric: tabular-nums; }
.visual-center strong span { color: #adc1af; font-size: 22px; }
.visual-center small { color: #afc2b2; font-size: 9px; letter-spacing: .08em; }
.visual-node { position: absolute; display: flex; flex-direction: column; gap: 3px; min-width: 88px; padding: 9px 11px; border: 1px solid rgba(231,242,223,.17); border-radius: 10px; background: rgba(20,56,43,.74); box-shadow: 0 8px 24px rgba(12,39,29,.15); }
.visual-node span { color: #a9c0ad; font-size: 7px; letter-spacing: .1em; }
.visual-node strong { color: #eff3e8; font-size: 17px; font-weight: 600; }
.node-standard { top: 25%; left: 11%; }
.node-extended { right: 5%; bottom: 23%; }
.visual-footnote { position: absolute; right: 31px; bottom: 25px; color: #a9bdae; font-size: 9px; }

.section-block { margin: 76px 0; }
.section-heading { max-width: 680px; margin: 0 auto 25px; text-align: center; }
.section-eyebrow { margin: 0 0 9px; color: #75847b; font-size: 9px; font-weight: 750; letter-spacing: .16em; }
.section-heading h2 { margin: 0; color: #20312a; font-size: clamp(23px, 3vw, 31px); font-weight: 650; letter-spacing: -.045em; line-height: 1.28; }
.section-heading > p:last-child { margin: 10px 0 0; color: #7b877e; font-size: 12px; line-height: 1.7; }
.model-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.model-card { position: relative; min-height: 255px; padding: 22px 24px 20px; border: 1px solid rgba(31,70,50,.1); border-radius: 17px; background: rgba(255,255,255,.82); box-shadow: 0 10px 30px rgba(29,48,39,.045); }
.extended-card { background: linear-gradient(140deg,#fff 15%,#f8f7ef 100%); }
.model-card-top { display: flex; align-items: center; justify-content: space-between; }
.model-dot { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 10px; color: #2b5948; background: #e8efe6; font-size: 10px; font-weight: 750; }
.extended-card .model-dot { color: #725c38; background: #f3ecdc; }
.model-badge { padding: 5px 8px; border: 1px solid #e3e9df; border-radius: 99px; color: #617467; font-size: 8px; letter-spacing: .09em; }
.model-card h3 { margin: 17px 0 4px; font-size: 14px; font-weight: 700; }
.model-count { display: flex; align-items: baseline; gap: 7px; margin: 0; color: #768279; font-size: 10px; }
.model-count strong { color: #255649; font-size: 22px; font-weight: 650; font-variant-numeric: tabular-nums; }
.model-description { max-width: 520px; min-height: 42px; margin: 12px 0 14px; color: #6c7970; font-size: 11px; line-height: 1.7; }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: #2d654d; font-size: 10px; font-weight: 700; text-decoration: none; }
.text-link:hover { color: #163d33; }

.how-section { padding-top: 10px; }
.steps-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.step-card { min-height: 142px; padding: 18px 19px; border: 1px solid rgba(31,70,50,.09); border-radius: 15px; background: rgba(255,255,255,.52); }
.step-card > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 9px; color: #315a47; background: #e7eee4; font-size: 9px; font-weight: 750; }
.step-card h3 { margin: 13px 0 5px; font-size: 12px; font-weight: 700; }
.step-card p { margin: 0; color: #748078; font-size: 10px; line-height: 1.7; }

.limits-panel { display: flex; align-items: center; gap: 14px; margin: 0 0 18px; padding: 17px 19px; border: 1px solid #ece5d5; border-radius: 14px; background: #faf7ee; }
.limits-icon { display: grid; place-items: center; flex: 0 0 auto; width: 27px; height: 27px; border-radius: 9px; color: #8a6b40; background: #f0e7d4; font: 700 13px Georgia,serif; }
.limits-panel h2 { margin: 0 0 4px; color: #5c503d; font-size: 11px; font-weight: 750; }
.limits-panel p { margin: 0; color: #7a715f; font-size: 10px; line-height: 1.65; }
.limits-link { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 10px; margin-left: auto; padding: 10px 12px; border-radius: 9px; color: #f2f5ea; background: #234c3e; font-size: 10px; font-weight: 650; text-decoration: none; white-space: nowrap; }
.limits-link:hover { background: #163d33; }
.home-ack { margin-top: 18px; }

@media (max-width: 900px) {
  .home-hero { grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); }
  .hero-copy { padding-left: 32px; }
  .hero-visual { min-height: 360px; }
  .orbit-one { width: 250px; height: 250px; }
  .orbit-two { width: 190px; height: 190px; }
  .orbit-three { width: 125px; height: 125px; }
  .node-standard { left: 5%; }
  .node-extended { right: 2%; }
}
@media (max-width: 640px) {
  .home-hero { grid-template-columns: 1fr; margin-top: 18px; border-radius: 18px; background: linear-gradient(160deg,#163d33 0%,#163d33 69%,#204e40 69%,#204e40 100%); }
  .hero-copy { padding: 31px 23px 18px; }
  .hero-copy h1 { max-width: 450px; font-size: 32px; }
  .hero-lede { margin-top: 12px; font-size: 12px; }
  .hero-actions { gap: 8px; margin-top: 20px; }
  .hero-primary, .hero-secondary { min-height: 41px; padding: 0 12px; font-size: 10px; }
  .hero-local-note { align-items: flex-start; font-size: 9px; line-height: 1.5; }
  .hero-visual { min-height: 265px; }
  .visual-label { top: 16px; right: 20px; }
  .orbit-one { width: 220px; height: 220px; }
  .orbit-two { width: 165px; height: 165px; }
  .orbit-three { width: 112px; height: 112px; }
  .node-standard { top: 15%; left: 8%; }
  .node-extended { right: 7%; bottom: 13%; }
  .visual-footnote { right: 20px; bottom: 14px; }
  .section-block { margin: 54px 0; }
  .section-heading { margin-bottom: 19px; text-align: left; }
  .section-heading h2 { font-size: 23px; }
  .section-heading > p:last-child { font-size: 11px; }
  .model-cards, .steps-grid { grid-template-columns: 1fr; gap: 10px; }
  .model-card { min-height: 0; padding: 18px; }
  .model-description { min-height: 0; }
  .step-card { min-height: 0; padding: 15px 16px; }
  .limits-panel { align-items: flex-start; flex-wrap: wrap; padding: 15px; }
  .limits-panel > div:nth-child(2) { flex: 1 1 calc(100% - 45px); }
  .limits-link { margin-left: 41px; }
  .home-ack { margin-top: 14px; }
}
