/* Homepage-only presentation; shared legal and callback surfaces retain their styles. */
.neighborhood-page {
  --nh-ink: #f8f4e9;
  --nh-muted: #bcc6ca;
  --nh-gold: #ffd24c;
  --nh-line: rgba(234, 228, 204, .18);
  --accent: var(--nh-gold);
  --muted: var(--nh-muted);
  --line-strong: #ffd24c80;
  background: radial-gradient(ellipse at 83% 3%, #26313c 0, transparent 30%), #0b1923;
  color: var(--nh-ink);
}
.neighborhood-page .site-shell { width: min(1264px, calc(100% - 64px)); padding-top: 22px; }
.neighborhood-page .site-header { position: relative; margin-bottom: 0; padding-bottom: 22px; border-bottom: 1px solid var(--nh-line); }
.neighborhood-page .site-header::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 52px; height: 3px; background: #ed343b; }
.neighborhood-page .brand-mark { gap: 10px; letter-spacing: -.025em; text-transform: none; font-size: 1.2rem; }
.neighborhood-page .brand-logo { width: 44px; height: 44px; }
.neighborhood-page .site-nav { gap: 6px; }
.neighborhood-page .site-nav a { border: 0; background: transparent; color: var(--nh-muted); font-size: .87rem; }
.neighborhood-page .site-nav a:hover, .neighborhood-page .site-nav a:focus-visible { color: var(--nh-gold); }
.neighborhood-home { --nh-section-space: clamp(64px, 8vw, 108px); }
.neighborhood-home h1, .neighborhood-home h2, .neighborhood-home h3, .neighborhood-home p { margin: 0; }
.neighborhood-home h1, .neighborhood-home h2, .neighborhood-home h3 { font-family: "Avenir Next", "Segoe UI Variable Display", "Segoe UI", sans-serif; overflow-wrap: anywhere; }
.nh-intro > *, .nh-section-heading > * { min-width: 0; }
.nh-intro { display: grid; grid-template-columns: 1.12fr 1fr; gap: 72px; align-items: center; padding: 55px 0 43px; }
.neighborhood-home .nh-eyebrow { color: var(--nh-gold); font-size: .73rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; margin-bottom: 18px; }
.nh-intro-eyebrow { display: flex; align-items: center; gap: 12px; }
.nh-locator { width: 9px; height: 9px; flex-shrink: 0; border-radius: 50%; background: var(--nh-gold); box-shadow: 0 0 0 5px #ffd24c16; }
.nh-intro h1 { font-size: clamp(2.8rem, 4.6vw, 4.5rem); line-height: 1.03; letter-spacing: -.06em; font-weight: 650; }
.nh-intro h1 span { color: var(--nh-gold); }
.nh-intro-detail { max-width: 470px; padding-top: 19px; }
.neighborhood-home .nh-lede { font-size: clamp(1.3rem, 1.8vw, 1.65rem); line-height: 1.4; letter-spacing: -.025em; margin-bottom: 15px; }
.neighborhood-home .nh-intro-copy { font-size: .98rem; color: var(--nh-muted); max-width: 43ch; }
.nh-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 25px 0 12px; }
.nh-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 36px; padding: 11px 21px; border-radius: 7px; font-size: .9rem; font-weight: 650; text-decoration: none; transition: background-color 160ms ease, border-color 160ms ease; }
.nh-button-primary { background: var(--nh-gold); color: #0b1923; border: 1px solid var(--nh-gold); box-shadow: 0 4px 24px #ffd24c12; }
.nh-button-primary:hover { background: #ffdf80; }
.nh-button-secondary { background: #ffffff03; color: var(--nh-ink); border: 1px solid #78868c; }
.nh-button-secondary:hover { background: #23333f; border-color: var(--nh-gold); }
.neighborhood-home .nh-access-note { max-width: 48ch; color: var(--nh-muted); font-size: .75rem; line-height: 1.6; }
.nh-hero-figure { margin: 0; }
.nh-hero-scene { position: relative; overflow: hidden; border-radius: 12px; background: #23333f; box-shadow: 0 24px 70px #0003, 0 0 0 1px #ffda6a30; }
.nh-hero-scene::after { content: ""; position: absolute; inset: 60% 0 0; background: linear-gradient(transparent, #07151d70); pointer-events: none; }
.nh-hero-image { width: 100%; height: auto; aspect-ratio: 2060 / 763; object-fit: cover; }
.nh-scene-note { position: absolute; z-index: 2; bottom: 22px; left: 24px; display: flex; gap: 9px; align-items: center; color: #fffef3; background: #0b1923ed; padding: 7px 12px; border: 1px solid #ffd24c45; border-radius: 5px; font-size: .82rem; font-weight: 600; }
.nh-scene-note span { color: var(--nh-gold); font-size: 1.4rem; line-height: 1; }
.neighborhood-home .nh-image-caption { margin-top: 9px; color: #a9b6bc; font-size: .75rem; line-height: 1.5; }
.nh-invitation { display: flex; align-items: center; gap: 32px; margin-top: 32px; padding: 28px 0; border-block: 1px solid var(--nh-line); }
.nh-connected-badges { position: relative; display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.nh-connected-badges::before { content: ""; position: absolute; inset: 50% 0 auto; height: 1px; background: var(--nh-gold); box-shadow: 0 0 9px #ffd24c80; }
.nh-round-icon { position: relative; display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; width: 54px; height: 54px; color: var(--nh-gold); background: #0b1923; border: 1px solid #d0bb7480; border-radius: 50%; box-shadow: 0 0 0 5px #ffd24c06; }
.nh-connected-badges .nh-round-icon:nth-child(2) { border-color: #ee5258; box-shadow: 0 0 0 5px #ed343b0e; }
.nh-invitation .nh-eyebrow { margin-bottom: 7px; }
.nh-invitation h2 { font-size: clamp(1.35rem, 2.1vw, 1.8rem); line-height: 1.25; }
.nh-invitation > .nh-text-link { margin-left: auto; flex-shrink: 0; }
.nh-work { margin-top: var(--nh-section-space); }
.nh-section-heading { display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 60px; margin-bottom: 30px; }
.neighborhood-home h2 { font-size: clamp(1.9rem, 3.1vw, 2.7rem); line-height: 1.15; letter-spacing: -.045em; font-weight: 600; }
.nh-section-heading > p { max-width: 43ch; color: var(--nh-muted); font-size: .98rem; }
.nh-work-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.nh-work-card { min-width: 0; }
.nh-work-visual { position: relative; }
.nh-work-card picture { display: block; border-radius: 9px; overflow: hidden; background: #23333f; }
.nh-card-icon { position: absolute; left: 18px; bottom: -19px; width: 46px; height: 46px; box-shadow: 0 0 0 5px #0b1923; }
.nh-work-card img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.nh-work-card:nth-child(1) img { object-position: 58% 50%; }
.nh-work-card:nth-child(2) img { object-position: 49% 55%; }
.nh-work-card:nth-child(3) img { object-position: 48% 50%; }
.nh-work-card-copy { padding: 35px 0 0; }
.neighborhood-home .nh-card-label { color: var(--nh-gold); font-size: .75rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 10px; }
.nh-work-card h3 { font-size: 1.3rem; font-weight: 600; line-height: 1.3; letter-spacing: -.025em; }
.nh-work-card-copy > p:last-child { margin-top: 9px; color: var(--nh-muted); font-size: .89rem; line-height: 1.7; }
.nh-work > .nh-image-caption { margin-top: 23px; }
.nh-skills { position: relative; margin-top: var(--nh-section-space); padding: clamp(24px, 4vw, 48px); border: 1px solid #ffd24c30; border-radius: 12px; background: radial-gradient(ellipse at 85% 0, #ffd24c09, transparent 65%), #11232f; }
.nh-skills::before { content: ""; position: absolute; top: -1px; left: 48px; width: 60px; height: 3px; background: var(--nh-gold); }
.nh-skill-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.nh-skill-group { min-width: 0; border-top: 1px solid var(--nh-line); padding-top: 24px; }
.nh-skill-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.nh-skill-heading .nh-round-icon { width: 40px; height: 40px; box-shadow: none; }
.nh-skill-heading svg { width: 20px; height: 20px; }
.nh-skill-heading h3 { font-size: 1.04rem; font-weight: 600; line-height: 1.35; letter-spacing: -.02em; }
.nh-skill-list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
.nh-skill-list li { padding: 6px 10px; border-radius: 4px; border: 1px solid #6c83894d; color: #d2dce0; background: #0b192350; font-size: .79rem; }
.nh-skill-group:last-child .nh-skill-list li:last-child { color: var(--nh-gold); border-color: #ffd24c60; }
.nh-how { margin-top: var(--nh-section-space); scroll-margin-top: 24px; }
.nh-step-list { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px; margin: 35px 0 20px; padding: 0; }
.nh-step-list li { position: relative; border-top: 1px solid #d0bb7470; padding-top: 20px; }
.nh-step-list li::before { content: ""; position: absolute; top: -4px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--nh-gold); box-shadow: 0 0 0 4px #ffd24c10; }
.nh-step-number { display: block; color: var(--nh-gold); font-size: .76rem; margin-bottom: 21px; }
.nh-step-list h3 { font-size: 1.1rem; font-weight: 600; letter-spacing: -.025em; margin-bottom: 10px; }
.nh-step-list p { font-size: .9rem; color: var(--nh-muted); }
.nh-text-link { display: inline-flex; gap: 24px; align-items: center; min-height: 44px; color: var(--nh-gold); font-size: .9rem; text-underline-offset: 5px; }
.nh-access { margin-top: var(--nh-section-space); }
.nh-access #request-access { scroll-margin-top: 24px; border-radius: 12px; background: linear-gradient(115deg, #1c303d, #10212d); box-shadow: inset 4px 0 #ed343b; border-color: #6e7e8255; padding: clamp(24px, 4vw, 48px); }
.nh-access #request-access::after { display: none; }
.nh-access #request-access h2 { max-width: 22ch; }
.nh-access .lede { color: var(--nh-muted); font-size: .98rem; }
.nh-access .button { border-radius: 7px; background: var(--nh-gold); color: #0b1923; }
.nh-access .waitlist-form input, .nh-access .waitlist-form textarea, .nh-access .waitlist-form select { border-color: #647884; }
.neighborhood-page .skip-link { background: #0b1923; }
.neighborhood-page .footer { margin-top: 55px; border-color: var(--nh-line); color: var(--nh-muted); font-size: .8rem; }
@media (max-width: 1000px) {
  .nh-intro { gap: 36px; }
  .nh-section-heading { gap: 35px; }
  .nh-invitation { flex-wrap: wrap; gap: 24px; }
  .nh-invitation > .nh-text-link { margin-left: 0; }
  .nh-connected-badges { gap: 12px; }
  .nh-connected-badges .nh-round-icon { width: 44px; height: 44px; }
  .nh-skill-groups { gap: 20px; }
  .nh-skill-heading { align-items: flex-start; }
  .nh-work-grid { gap: 18px; }
  .nh-work-card h3 { font-size: 1.15rem; }
  .nh-step-list { gap: 24px; }
}
@media (max-width: 720px) {
  .neighborhood-page .site-shell { width: calc(100% - 32px); padding-top: 15px; }
  .neighborhood-page .site-header { flex-wrap: wrap; gap: 10px; padding-bottom: 14px; }
  .neighborhood-page .brand-mark { font-size: 1.1rem; }
  .neighborhood-page .site-nav { gap: 0; }
  .neighborhood-page .site-nav a { padding: 8px 12px 8px 0; font-size: .78rem; }
  .nh-intro { grid-template-columns: 1fr; gap: 23px; padding: 35px 0 27px; }
  .nh-intro h1 { font-size: clamp(2.7rem, 9.5vw, 4rem); }
  .nh-intro-detail { padding-top: 0; max-width: 100%; }
  .neighborhood-home .nh-lede { max-width: 32ch; font-size: 1.25rem; }
  .nh-actions { margin-top: 20px; }
  .nh-button { gap: 26px; }
  .nh-hero-image { aspect-ratio: 1.5; object-position: 50% 50%; }
  .nh-scene-note { left: 14px; bottom: 14px; font-size: .72rem; }
  .nh-invitation { align-items: flex-start; gap: 21px; padding-block: 25px; }
  .nh-invitation > div:nth-child(2) { flex-basis: 100%; }
  .nh-invitation h2 { font-size: 1.6rem; }
  .nh-invitation > .nh-text-link { margin-top: -8px; }
  .nh-section-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 27px; }
  .nh-section-heading > p { font-size: .94rem; }
  .nh-work-grid { grid-template-columns: 1fr; gap: 35px; }
  .nh-work-card img { aspect-ratio: 16 / 9; }
  .nh-work-card h3 { font-size: 1.35rem; }
  .nh-work-card-copy { padding-top: 34px; }
  .nh-skill-groups { grid-template-columns: 1fr; gap: 26px; }
  .nh-skill-heading { align-items: center; margin-bottom: 16px; }
  .nh-skill-heading h3 { font-size: 1.1rem; }
  .nh-skills::before { left: 24px; }
  .nh-step-list { grid-template-columns: 1fr; gap: 25px; margin-top: 29px; }
  .nh-step-number { margin-bottom: 13px; }
  .nh-step-list p { max-width: 52ch; }
  .nh-access #request-access h2 { font-size: 1.85rem; }
  .neighborhood-page .footer { gap: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .nh-locator { animation: none; }
  .nh-button { transition: none; }
  .neighborhood-page .button, .neighborhood-page .ghost-link, .neighborhood-page .chip-link { transition: none; transform: none; }
  .neighborhood-page { scroll-behavior: auto; }
}
