/* Homepage dependency story. Kept separate from the existing site styles. */
html { scroll-padding-top: 7rem; }
.boundary-home .hero { padding: 4rem 0; }
.boundary-home .hero .container { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 3rem; }
.boundary-home .hero-content { order: 0; width: auto; max-width: none; overflow: visible; }
.boundary-home .hero h1 { font-size: clamp(2.1rem, 3.5vw, 3.2rem); line-height: 1.12; max-width: 640px; }
.boundary-home .hero p.subtitle { width: auto; max-width: 590px; font-size: 1.12rem; line-height: 1.65; }
.boundary-home .hero-kicker-pill { width: auto; }
.boundary-home .brand-thesis { width: auto; }
.boundary-home .hero-btns { flex-wrap: wrap; }
.boundary-summary { position: relative; z-index: 1; background: #101e35; border: 1px solid #334766; border-radius: 20px; padding: 1.8rem; color: #fff; box-shadow: 0 18px 45px #0f172a20; }
.boundary-summary .boundary-label { color: #97cee9; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.boundary-summary h2 { font-size: 1.25rem; margin: .5rem 0 1.3rem; color: #fff; }
.boundary-summary ol { list-style: none; display: grid; gap: .45rem; }
.boundary-summary li { border-left: 2px solid #4fc1d9; background: #1a2c46; padding: .55rem .85rem; border-radius: 0 6px 6px 0; }
.boundary-summary li small { display: block; color: #b5c9df; font-size: .7rem; }
.boundary-summary li strong { display: block; font-size: .92rem; }
.boundary-summary .crossing { background: none; border-left: 2px dashed #e2ad59; color: #f2c777; font-size: .72rem; padding: .15rem .85rem; }
.boundary-summary .summary-note { color: #b5c9df; font-size: .78rem; margin: 1rem 0 0; }
.boundary-story { padding: 4.5rem 0; background: #f7faff; }
.boundary-story h2 { font-size: clamp(1.7rem, 3vw, 2.35rem); line-height: 1.2; margin: .6rem 0 1rem; }
.boundary-intro { max-width: 760px; color: #475569; margin-bottom: 1.6rem; }
.boundary-example { display: inline-block; font-size: .75rem; font-weight: 600; border: 1px solid #cbd5e1; border-radius: 6px; padding: .3rem .65rem; margin-bottom: 1rem; color: #475569; background: #fff; }
.boundary-tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .7rem; }
.boundary-tabs button { position: relative; min-height: 122px; text-align: left; padding: 1rem; border: 1px solid #cbd5e1; border-radius: 10px; background: #fff; color: #0f172a; cursor: pointer; }
.boundary-tabs button:not(:last-child)::after { content: '→'; position: absolute; right: -.62rem; top: 48%; z-index: 1; color: #475569; background: #f7faff; }
.boundary-tabs button[aria-selected="true"] { border: 2px solid #2563eb; background: #eff6ff; padding: calc(1rem - 1px); }
.boundary-tabs button span { display: block; font-size: .72rem; color: #475569; margin-bottom: .5rem; }
.boundary-tabs button strong { font-size: .98rem; }
.boundary-tabs button small { display: block; margin-top: .5rem; color: #805207; font-size: .7rem; }
.boundary-home :focus-visible { outline: 3px solid #c05b00; outline-offset: 4px; }
.boundary-detail { background: #fff; border: 1px solid #cbd5e1; border-radius: 12px; padding: 1.7rem; margin-top: 1rem; }
.boundary-detail h3 { margin: 0 0 .5rem; font-size: 1.35rem; }
.boundary-detail > p { color: #475569; max-width: 850px; }
.boundary-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; margin-top: 1.5rem; }
.boundary-fields dt { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #1d4ed8; margin-bottom: .5rem; }
.boundary-fields dd { font-size: .94rem; color: #334155; line-height: 1.6; }
.boundary-story .boundary-note { color: #475569; font-size: .86rem; margin-top: 1rem; }
.boundary-outcomes { padding: 4rem 0; background: #fff; }
.boundary-outcomes h2 { margin: .5rem 0 1rem; font-size: 2rem; }
.boundary-outcomes .feature-card { text-align: left; }
.boundary-outcomes .feature-card p { margin-top: .65rem; }
.boundary-link { display: inline-block; margin: .8rem 0; font-weight: 600; }
.boundary-home .modal-content label { display: block; margin-bottom: .3rem; font-size: .85rem; font-weight: 600; }
.boundary-home .close { background: transparent; border: 0; width: auto; padding: .1rem .5rem; color: #475569; }
.boundary-home .hamburger { display: none; background: transparent; border: 0; padding: .3rem; }
@media (max-width: 768px) {
  .boundary-home nav { flex-direction: row; flex-wrap: wrap; align-items: center; }
  .boundary-home .hamburger { display: block; order: 1; }
  .boundary-home .nav-links { order: 2; }
  .boundary-home .hero { padding: 2rem 0; }
  .boundary-home .hero p.subtitle { font-size: 1rem; }
}
@media (max-width: 900px) {
  .boundary-home .hero .container { grid-template-columns: 1fr; gap: 2rem; }
  .boundary-home .hero-content { text-align: left; }
  .boundary-home .hero h1, .boundary-home .hero p.subtitle { margin-left: 0; max-width: 680px; }
  .boundary-home .hero-kicker-pill, .boundary-home .brand-thesis, .boundary-home .hero-btns { margin-left: 0; max-width: none; }
  .boundary-home .hero-kicker-pill span:last-child { text-align: left; }
  .boundary-home .hero-audience { max-width: none; }
  .boundary-tabs { grid-template-columns: 1fr; gap: .45rem; }
  .boundary-tabs button { min-height: 0; display: grid; grid-template-columns: 1fr 1.2fr; align-items: center; gap: .4rem; }
  .boundary-tabs button span { margin: 0; }
  .boundary-tabs button small { grid-column: 2; margin: 0; }
  .boundary-tabs button:not(:last-child)::after { display: none; }
  .boundary-fields { grid-template-columns: 1fr; gap: 1.1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .boundary-home *, .boundary-home *::before, .boundary-home *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Original radar SVG restored in the hero. */
.boundary-home .restored-radar { position: relative; z-index: 1; width: 100%; min-width: 0; margin: 0; }
.boundary-home .restored-radar > svg { display: block; width: 100%; height: auto; }
.boundary-home .restored-radar figcaption { text-align: center; color: #475569; font-size: .75rem; margin-top: .5rem; }
