/*
 * Reversible homepage density pass.
 * Reduces nested frames, groups repeated inclusions and uses motion to expose hierarchy.
 */

.home-page {
  interpolate-size: allow-keywords;
  --cleanup-spring: linear(
    0, .009, .035 2.1%, .141 4.4%, .723 12.9%,
    .938 16.7%, 1.017 19.4%, 1.067 22.5%, 1.089 26%,
    1.079 30.3%, 1.049 36%, 1.024 42.6%, 1.011 50.3%,
    1.004 59.2%, 1.001 69.3%, 1
  );
  --cleanup-snap: cubic-bezier(.22, 1, .36, 1);
}

/* Chapter rules draw the reading order without boxing the content. */
.home-page .work-heading::after {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 720ms var(--cleanup-spring);
}

.home-page .work-section.motion-entered .work-heading::after {
  transform: scaleX(1);
}

.home-page .pricing-heading {
  --pricing-divider-space: clamp(27px, calc(12px + 1.5vw), 34px);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin-bottom: var(--pricing-divider-space);
  padding-bottom: var(--pricing-divider-space);
  border-bottom: 0;
  align-items: stretch;
  gap: clamp(28px, 3vw, 42px);
}

.home-page .pricing-heading::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: var(--pricing-line);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 720ms var(--cleanup-spring);
}

.home-page .pricing-section.motion-entered .pricing-heading::after {
  transform: scaleX(1);
}

.home-page .contact-title i {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 720ms var(--cleanup-spring);
}

.home-page .contact-section.motion-entered .contact-title i {
  transform: scaleX(1);
}

.home-page .services-index__frame::before {
  content: '';
  position: absolute;
  z-index: 4;
  top: -1px;
  right: 0;
  left: 0;
  height: 1px;
  background: var(--palette-signal, #cc6437);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 720ms var(--cleanup-spring);
  pointer-events: none;
}

.home-page [data-path-calibration][data-path-state="complete"] .services-index__frame::before {
  transform: scaleX(1);
}

/* Latest project: one browser frame, open supporting copy. */
.home-page .work-section .featured-work--nsta .project-details > .project-type {
  margin: 0 0 20px;
  padding-bottom: 0;
  border-bottom: 0;
  color: #a6421c;
}

.home-page .work-section .featured-work--nsta .project-details > .project-client-bio {
  max-width: 39ch;
  margin: 14px 0 20px;
  color: color-mix(in srgb, var(--palette-ink, #0b0b0b) 78%, transparent);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.62;
  text-wrap: pretty;
}

.home-page .featured-work--nsta .case-study-copy {
  gap: 0;
  counter-reset: project-story;
  border-top: 1px solid rgba(11, 11, 11, .14);
}

.home-page .featured-work--nsta .case-study-copy section,
.home-page .featured-work--nsta .case-study-copy section + section,
.home-page .featured-work--nsta .case-study-copy section:first-child {
  padding: clamp(18px, 1.6vw, 24px) 0;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  column-gap: 14px;
  border: 0;
  border-bottom: 1px solid rgba(11, 11, 11, .14);
  counter-increment: project-story;
}

.home-page .featured-work--nsta .case-study-copy section::before {
  content: '0' counter(project-story);
  grid-column: 1;
  grid-row: 1 / span 2;
  padding-top: 1px;
  color: var(--palette-signal-on-paper, #a6421c);
  font: 700 10px/1.35 var(--mono);
  letter-spacing: .08em;
}

.home-page .featured-work--nsta .case-study-copy h3 {
  grid-column: 2;
  margin-bottom: 8px;
}

.home-page .featured-work--nsta .case-study-copy p {
  grid-column: 2;
  max-width: 41ch;
  font-size: clamp(15px, 1vw, 16px);
  line-height: 1.6;
  text-wrap: pretty;
}

/* Keep the complete NSTA narrative on one prose system. Display type remains
   Archivo Black and technical labels remain JetBrains Mono; all reading copy is
   consistently Archivo at the same size, weight and rhythm. */
.home-page .work-section .featured-work--nsta .project-details > .project-client-bio,
.home-page .work-section .featured-work--nsta .case-study-copy p {
  font-family: var(--body);
  font-size: clamp(15px, 1vw, 16px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}

.home-page .work-section .featured-work--nsta :is(
  .case-study-kicker,
  .project-type,
  .case-study-copy h3,
  .case-study-copy section::before
) {
  font-family: var(--mono);
  font-weight: 700;
}

/* One-shot typewriter reveal for the NSTA signal labels. */
.home-page .featured-work--nsta .project-details .nsta-typewriter-text {
  display: inline-block;
}

.home-page .featured-work--nsta .project-details .nsta-typewriter-text.is-nsta-typewriting {
  will-change: clip-path;
}

.home-page .work-section .nsta-testimonial {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(30px, 3vw, 42px);
  border: 1px solid color-mix(in srgb, #0b0b0b 22%, transparent);
  border-top: 2px solid #0b0b0b;
  background: #cc6437;
  box-shadow: none;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  color: #0b0b0b;
}

.home-page .nsta-testimonial::before {
  content: '';
  position: absolute;
  z-index: 0;
  inset: -72% -8% -86% 38%;
  background:
    linear-gradient(112deg, transparent 0 43%, rgba(244, 238, 228, .13) 48%, transparent 54%),
    repeating-radial-gradient(circle at 72% 42%, transparent 0 42px, rgba(11, 11, 11, .1) 43px 44px, transparent 45px 84px);
  opacity: .16;
  transform-origin: 72% 42%;
  pointer-events: none;
}

.home-page .nsta-testimonial::after {
  content: '“';
  position: absolute;
  z-index: 0;
  top: clamp(-34px, -2.5vw, -18px);
  right: clamp(18px, 3vw, 52px);
  color: rgba(11, 11, 11, .08);
  font: 500 clamp(8rem, 15vw, 14rem)/1 var(--body);
  pointer-events: none;
}

/* Pricing carries the same broadcast language as the testimonial, but at a
   lower contrast so the plans remain the section's focal point. */
.home-page .pricing-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.home-page .pricing-section > :not(.pricing-signal-field) {
  position: relative;
  z-index: 1;
}

.home-page .pricing-signal-field {
  position: absolute;
  z-index: 0;
  top: -12%;
  right: -5%;
  width: min(64vw, 1100px);
  height: min(78%, 760px);
  background: repeating-radial-gradient(
    circle at 100% 0,
    transparent 0 72px,
    color-mix(in srgb, var(--pricing-ink, #0b0b0b) 6%, transparent) 73px 74px,
    transparent 75px 146px
  );
  opacity: .18;
  -webkit-mask-image: radial-gradient(circle at 100% 0, #000 0 44%, transparent 76%);
  mask-image: radial-gradient(circle at 100% 0, #000 0 44%, transparent 76%);
  transform-origin: 100% 0;
  pointer-events: none;
}

.motion-ready .home-page .pricing-section:not(.motion-entered) .pricing-signal-field {
  opacity: 0;
  transform: translate3d(7%, 0, 0) rotate(2deg) scale(.97);
}

.motion-ready .home-page .pricing-section.motion-entered .pricing-signal-field {
  animation: pricing-signal-field-in 780ms var(--cleanup-spring) both;
}

@keyframes pricing-signal-field-in {
  from {
    opacity: 0;
    transform: translate3d(7%, 0, 0) rotate(2deg) scale(.97);
  }
  to {
    opacity: .18;
    transform: none;
  }
}

.motion-ready .home-page .nsta-testimonial:not(.is-signal-visible)::before,
.motion-ready .home-page .nsta-testimonial:not(.is-signal-visible)::after,
.motion-ready .home-page .nsta-testimonial:not(.is-signal-visible) > header,
.motion-ready .home-page .nsta-testimonial:not(.is-signal-visible) .nsta-testimonial__quote > p,
.motion-ready .home-page .nsta-testimonial:not(.is-signal-visible) .nsta-testimonial__quote > div {
  opacity: 0;
}

.motion-ready .home-page .nsta-testimonial:not(.is-signal-visible)::before {
  transform: translate3d(8%, 0, 0) rotate(3deg) scale(.96);
}

.motion-ready .home-page .nsta-testimonial:not(.is-signal-visible)::after {
  transform: translate3d(0, -18px, 0) rotate(-7deg) scale(.92);
}

.motion-ready .home-page .nsta-testimonial:not(.is-signal-visible) > header,
.motion-ready .home-page .nsta-testimonial:not(.is-signal-visible) .nsta-testimonial__quote > p,
.motion-ready .home-page .nsta-testimonial:not(.is-signal-visible) .nsta-testimonial__quote > div {
  transform: translate3d(0, 14px, 0);
}

.motion-ready .home-page .nsta-testimonial.is-signal-visible::before {
  animation:
    nsta-signal-field-in 780ms linear(0, .012, .046 3%, .19 7%, .74 16%, 1.04 24%, 1.065 31%, 1.03 43%, 1.008 58%, 1) both,
    nsta-signal-field-breathe 13s cubic-bezier(.65, 0, .35, 1) 900ms infinite alternate;
}

.motion-ready .home-page .nsta-testimonial.is-signal-visible::after {
  animation: nsta-quote-mark-in 650ms linear(0, .012, .046 3%, .19 7%, .74 16%, 1.04 24%, 1.065 31%, 1.03 43%, 1.008 58%, 1) 120ms both;
}

.motion-ready .home-page .nsta-testimonial.is-signal-visible > header {
  animation: nsta-testimonial-copy-in 480ms cubic-bezier(.16, 1, .3, 1) 80ms both;
}

.motion-ready .home-page .nsta-testimonial.is-signal-visible .nsta-testimonial__quote > p {
  animation: nsta-testimonial-copy-in 620ms linear(0, .012, .046 3%, .19 7%, .74 16%, 1.04 24%, 1.065 31%, 1.03 43%, 1.008 58%, 1) 140ms both;
}

.motion-ready .home-page .nsta-testimonial.is-signal-visible .nsta-testimonial__quote > div {
  animation: nsta-testimonial-copy-in 520ms cubic-bezier(.16, 1, .3, 1) 260ms both;
}

@keyframes nsta-signal-field-in {
  from { opacity: 0; transform: translate3d(8%, 0, 0) rotate(3deg) scale(.96); }
  to { opacity: .16; transform: translate3d(0, 0, 0) rotate(0) scale(1); }
}

@keyframes nsta-signal-field-breathe {
  0%, 18% { opacity: .07; }
  72%, 100% { opacity: .2; }
}

@keyframes nsta-quote-mark-in {
  from { opacity: 0; transform: translate3d(0, -18px, 0) rotate(-7deg) scale(.92); }
  to { opacity: 1; transform: translate3d(0, 0, 0) rotate(0) scale(1); }
}

@keyframes nsta-testimonial-copy-in {
  from { opacity: 0; transform: translate3d(0, 14px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

.home-page .nsta-testimonial__quote {
  position: relative;
  z-index: 1;
  border: 0;
  min-height: 0;
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  padding: clamp(22px, 2vw, 30px) 0 0;
  gap: 18px;
  background: transparent;
}

.home-page .nsta-testimonial > header {
  position: relative;
  z-index: 1;
  padding: 0;
}

.home-page .nsta-testimonial h3 {
  max-width: none;
  margin: 0;
  color: rgba(11, 11, 11, .7);
  font: 700 10px/1.2 var(--mono);
  letter-spacing: .14em;
  text-transform: uppercase;
}

.home-page .nsta-testimonial h3::before {
  content: '01';
  margin-right: 14px;
  color: #0b0b0b;
}

.home-page .nsta-testimonial__quote > p {
  max-width: 64ch;
  margin: 0;
  color: #0b0b0b;
  font-family: var(--body);
  font-size: clamp(1.55rem, 2.05vw, 2.15rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.026em;
  text-wrap: pretty;
}

.home-page .nsta-testimonial__quote div {
  width: min(100%, 240px);
  align-self: start;
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  padding: 12px 0 0;
  border: 0;
  border-top: 1px solid rgba(11, 11, 11, .26);
  background: transparent;
}

.home-page .nsta-testimonial__quote strong {
  margin-bottom: 9px;
  color: #0b0b0b;
  font-family: var(--display);
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.025em;
}

.home-page .nsta-testimonial__quote span {
  max-width: 26ch;
  color: rgba(11, 11, 11, .7);
  font-size: 11px;
  line-height: 1.45;
}

@media (prefers-reduced-motion: reduce) {
  .home-page .pricing-signal-field {
    opacity: .18 !important;
    transform: none !important;
    animation: none !important;
  }

  .home-page .nsta-testimonial::before,
  .home-page .nsta-testimonial::after,
  .home-page .nsta-testimonial > header,
  .home-page .nsta-testimonial .nsta-testimonial__quote > p,
  .home-page .nsta-testimonial .nsta-testimonial__quote > div {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  .home-page .nsta-testimonial::before {
    opacity: .12 !important;
  }
}

.home-page .nsta-visual-system > header {
  align-self: center;
  padding-top: 0;
}

.home-page .nsta-visual-system > header p {
  max-width: 35ch;
  font-size: 15px;
  line-height: 1.6;
  text-wrap: pretty;
}

.home-page .nsta-system-notes {
  align-self: end;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-page .nsta-system-notes p {
  min-height: 0;
  align-content: start;
}

.home-page .nsta-system-notes strong {
  margin-bottom: 0;
  max-width: 31ch;
  line-height: 1.45;
}

/* Give the selected-work chapter a centred, poster-like opening. */
.home-page .work-heading {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: clamp(20px, 2vw, 30px);
  text-align: center;
}

.home-page .work-heading > div {
  width: min(100%, 980px);
  max-width: none;
}

.home-page .work-heading h2 {
  font-size: clamp(3.1rem, 5.4vw, 5.25rem);
}

.home-page .work-section .work-heading > div > p {
  width: 100%;
  max-width: 66ch;
  margin: 16px auto 0;
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.5;
}

.home-page .work-heading::after {
  width: 100%;
}

/* A slide change gently refocuses the accompanying project summary. */
.home-page .featured-work--nsta:has([data-nsta-tab="0"][aria-selected="true"]) .project-details {
  animation: cleanup-project-copy-a 440ms var(--cleanup-spring) both !important;
}

.home-page .featured-work--nsta:has([data-nsta-tab="1"][aria-selected="true"]) .project-details {
  animation: cleanup-project-copy-b 440ms var(--cleanup-spring) both !important;
}

.home-page .featured-work--nsta:has([data-nsta-tab="2"][aria-selected="true"]) .project-details {
  animation: cleanup-project-copy-c 440ms var(--cleanup-spring) both !important;
}

.home-page .featured-work--nsta:has([data-nsta-tab="3"][aria-selected="true"]) .project-details {
  animation: cleanup-project-copy-d 440ms var(--cleanup-spring) both !important;
}

@keyframes cleanup-project-copy-a {
  from { opacity: .66; transform: translate3d(-8px, 0, 0); }
  to { opacity: 1; transform: none; }
}

@keyframes cleanup-project-copy-b {
  from { opacity: .66; transform: translate3d(-8px, 0, 0); }
  to { opacity: 1; transform: none; }
}

@keyframes cleanup-project-copy-c {
  from { opacity: .66; transform: translate3d(-8px, 0, 0); }
  to { opacity: 1; transform: none; }
}

@keyframes cleanup-project-copy-d {
  from { opacity: .66; transform: translate3d(-8px, 0, 0); }
  to { opacity: 1; transform: none; }
}

/* The process keeps one outer calibration frame and simple internal dividers. */
.home-page .service-route__cta {
  margin-top: auto;
}

@media (min-width: 981px) {
  .home-page .services-index__intro h2 {
    margin-top: calc(clamp(24px, 2.4vw, 34px) + 14px);
  }
}

.home-page [data-path-calibration][data-path-state="complete"] .service-routes article {
  animation: cleanup-service-step 560ms var(--cleanup-spring) both;
}

.home-page [data-path-calibration][data-path-state="complete"] .service-routes article:nth-child(2) {
  animation-delay: 80ms;
}

.home-page [data-path-calibration][data-path-state="complete"] .service-routes article:nth-child(3) {
  animation-delay: 160ms;
}

@keyframes cleanup-service-step {
  from { opacity: .62; transform: translate3d(0, 12px, 0); }
  to { opacity: 1; transform: none; }
}

/* Pricing: state shared fundamentals once, then let each card sell its difference. */
.home-page .pricing-shared-inclusions {
  width: 100%;
  margin: 0;
  display: grid;
  grid-template-columns: minmax(190px, .72fr) minmax(0, 3.28fr);
  align-items: stretch;
  gap: 0;
  border: 1px solid var(--pricing-line);
  color: var(--pricing-ink);
}

.home-page .pricing-shared-inclusions span {
  min-height: 54px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  background: var(--pricing-card-ink, #0d0b0a);
  color: var(--pricing-card, #f4eee4);
  font: 700 10px/1.25 var(--mono);
  letter-spacing: .11em;
  text-transform: uppercase;
}

.home-page .pricing-shared-inclusions ul {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
}

.home-page .pricing-shared-inclusions li {
  min-height: 54px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 9px;
  border-left: 1px solid var(--pricing-line);
  color: var(--pricing-muted);
  font-size: 13px;
  line-height: 1.35;
}

.home-page .pricing-shared-inclusions li::before {
  content: '';
  width: 5px;
  height: 5px;
  flex: 0 0 auto;
  background: var(--pricing-action, #e5651b);
  transform: rotate(45deg);
}

.motion-ready .home-page .pricing-section:not(.motion-entered) .pricing-shared-inclusions {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
}

.motion-ready .home-page .pricing-section .pricing-shared-inclusions {
  transition:
    opacity 620ms var(--cleanup-spring),
    transform 620ms var(--cleanup-spring);
  transition-delay: 90ms;
}

.motion-ready .home-page .pricing-section.motion-entered .pricing-shared-inclusions {
  opacity: 1;
  transform: none;
}

.home-page .pricing-grid .price-plan,
.home-page .pricing-grid .price-plan:hover,
.home-page .pricing-grid .price-plan:focus-within {
  grid-template-rows: auto auto auto auto 1fr;
}

.home-page .pricing-grid .price {
  padding-block: 14px;
  border-block: 0;
}

.home-page .pricing-grid .plan-core-features {
  gap: 9px;
}

.home-page .plan-details {
  min-width: 0;
  border-top: 1px solid var(--pricing-card-line);
  color: var(--pricing-muted);
}

.home-page .plan-details summary {
  min-height: 44px;
  padding: 0 30px 0 12px;
  display: flex;
  align-items: center;
  position: relative;
  color: var(--palette-signal-on-paper, #a6421c);
  font: 700 10px/1.3 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
}

.home-page .plan-details summary::-webkit-details-marker {
  display: none;
}

.home-page .plan-details summary::after {
  content: '+';
  position: absolute;
  right: 12px;
  font-size: 16px;
  font-weight: 500;
  transition: transform 360ms var(--cleanup-spring);
}

.home-page .plan-details[open] summary::after {
  transform: rotate(45deg);
}

.home-page .plan-details::details-content {
  block-size: 0;
  overflow: hidden;
  opacity: 0;
  transition:
    block-size 460ms var(--cleanup-spring),
    opacity 260ms var(--cleanup-snap),
    content-visibility 460ms allow-discrete;
}

.home-page .plan-details[open]::details-content {
  block-size: auto;
  opacity: 1;
}

.home-page .plan-details div {
  padding: 0 0 15px;
}

.home-page .plan-details p {
  margin: 0;
  color: var(--pricing-muted);
  font-size: 13px;
  line-height: 1.55;
}

.home-page .plan-details p + p {
  margin-top: 13px;
}

.home-page .plan-details p strong {
  margin-bottom: 4px;
  display: block;
  color: var(--pricing-ink);
  font: 700 9px/1.3 var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.home-page .pricing-grid .price-plan > a {
  position: relative;
  grid-row: 5;
  align-self: end;
  width: calc(100% + var(--cleanup-card-gutter) + var(--cleanup-card-gutter));
  min-height: 58px;
  margin-inline: calc(0px - var(--cleanup-card-gutter));
  margin-bottom: calc(0px - var(--cleanup-card-bottom));
  padding-inline: var(--cleanup-card-gutter);
  justify-content: center;
  border: 0;
  border-top: 1px solid color-mix(in srgb, #0b0b0b 22%, transparent);
  border-radius: 0;
  background: #cc6437 !important;
  color: #0b0b0b !important;
}

.home-page .pricing-grid .price-plan > a svg {
  position: absolute;
  right: var(--cleanup-card-gutter);
}

.home-page .pricing-grid .price-plan {
  --cleanup-card-gutter: 28px;
  --cleanup-card-bottom: 26px;
}

.home-page .pricing-section .pricing-grid .price-plan > a:not(:hover):not(:focus-visible) {
  color: #0b0b0b !important;
}

.home-page .pricing-section .pricing-grid .price-plan > a:is(:hover, :focus-visible) {
  border-top-color: #0b0b0b;
  background: #0b0b0b !important;
  color: #edebe7 !important;
}

/* Keep the Orbit signal close to the title instead of spanning the card. */
.home-page .pricing-grid .plan-title > .orbit-system {
  width: min(190px, 78%);
  height: 70px;
}

.home-page .care-section {
  margin-top: 14px;
  padding: clamp(24px, 2.4vw, 34px);
  border: 1px solid rgba(11, 11, 11, .2);
  border-top: 2px solid #cc6437;
  background: color-mix(in srgb, var(--palette-paper-raised, #f8f6f2) 88%, white);
  box-shadow: none;
}

.home-page .care-section > header {
  align-self: center;
  align-content: center;
}

.home-page .care-title-row {
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.home-page .care-included {
  position: relative;
}

.home-page .care-included i {
  position: absolute;
  left: -14px;
}

.home-page .care-options article > div > p {
  max-width: 29ch;
}

.home-page .care-options article {
  padding-block: 0;
  align-items: start;
}

.home-page .care-options article > div {
  align-self: start;
}

.home-page .care-options .care-price {
  align-self: start;
  margin-top: 20px;
}

.home-page .contact-section > footer .footer-facebook {
  width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  justify-self: end;
  border: 1px solid var(--palette-line-light, rgba(237, 235, 231, .24));
  color: var(--palette-paper, #edebe7);
  transition:
    border-color 260ms var(--cleanup-spring),
    background-color 260ms var(--cleanup-spring),
    color 260ms var(--cleanup-spring),
    transform 260ms var(--cleanup-spring);
}

.home-page .contact-section > footer .footer-facebook svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.home-page .contact-section > footer .footer-facebook:hover,
.home-page .contact-section > footer .footer-facebook:focus-visible {
  border-color: var(--palette-signal, #cc6437);
  background: var(--palette-signal, #cc6437);
  color: var(--palette-ink, #0b0b0b);
  transform: translateY(-2px);
}

@media (max-width: 1280px) {
  .home-page .care-section {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .home-page .care-section > header {
    justify-items: center;
    text-align: center;
  }

  .home-page .care-options article {
    grid-template-columns: minmax(190px, 1fr) auto;
  }
}

@media (max-width: 980px) {
  .home-page .nsta-testimonial {
    grid-template-columns: 1fr;
  }

  .home-page .pricing-shared-inclusions {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .home-page .pricing-shared-inclusions ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-page .pricing-shared-inclusions li:nth-child(odd) {
    border-left: 0;
  }

  .home-page .pricing-shared-inclusions li:nth-child(n + 3) {
    border-top: 1px solid var(--pricing-line);
  }
}

@media (max-width: 900px) {
  .home-page .care-options {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-page .care-options article + article {
    border-inline-start: 0;
    border-top: 1px solid rgba(11, 11, 11, .16);
  }
}

@media (max-width: 720px) {
  .home-page .nsta-palette li:last-child {
    grid-column: 1 / -1;
  }

  .home-page .nsta-system-notes {
    grid-template-columns: 1fr;
  }

  .home-page .nsta-system-notes p + p {
    padding-inline-start: 0;
    border-inline-start: 0;
    border-top: 1px solid var(--palette-line-dark, rgba(11, 11, 11, .14));
  }

  .home-page .pricing-grid .price-plan {
    --cleanup-card-gutter: 24px;
    --cleanup-card-bottom: 22px;
  }

  .home-page .care-options article {
    grid-template-columns: minmax(0, 1fr);
    padding-block: 0 26px;
  }

  .home-page .care-section {
    padding: 22px 18px;
  }

  .home-page .care-options article + article {
    padding-block: 26px;
  }

  .home-page .care-options .care-price {
    margin-top: 0;
  }

  .home-page .nsta-testimonial {
    padding: 26px 20px 28px;
  }

  .home-page .nsta-testimonial > header {
    padding-inline: 0;
  }

  .home-page .nsta-testimonial__quote {
    min-height: 0;
    grid-template-columns: 1fr;
    padding: 22px 0 0;
    gap: 24px;
  }

  .home-page .nsta-testimonial__quote > p {
    font-size: 22px;
    line-height: 1.28;
  }

  .home-page .nsta-testimonial__quote div {
    width: min(100%, 220px);
    padding: 12px 0 0;
  }

  .home-page .pricing-shared-inclusions {
    margin: 0;
    padding: 0;
  }

  .home-page .pricing-grid .price-plan,
  .home-page .pricing-grid .price-plan:hover,
  .home-page .pricing-grid .price-plan:focus-within {
    grid-template-rows: auto auto auto auto 1fr;
  }
}

/* Give-back promise: a compact, high-contrast bridge from process to pricing. */
.home-page .hero-rail-giveback {
  min-width: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  padding-inline: clamp(18px, 2.2vw, 34px);
  display: grid;
  grid-template-columns: auto auto minmax(90px, 1fr) auto;
  align-items: center;
  gap: clamp(10px, 1.5vw, 22px);
  border-inline: 1px solid rgba(244, 238, 228, .14);
  color: #f4eee4;
  text-decoration: none;
  transition: background-color 260ms cubic-bezier(.16, 1, .3, 1), color 260ms cubic-bezier(.16, 1, .3, 1);
}

.home-page .hero-rail-giveback__label,
.home-page .hero-rail-giveback__route {
  color: rgba(244, 238, 228, .54);
  font: 700 .46rem/1 var(--mono);
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
}

.home-page .hero-rail-giveback__count {
  display: inline-flex;
  align-items: baseline;
  gap: 3px;
  white-space: nowrap;
}

.home-page .hero-rail-giveback__count strong {
  color: #f5a524;
  font: 800 1.35rem/.8 var(--display);
  letter-spacing: -.04em;
}

.home-page .hero-rail-giveback__count i {
  color: rgba(244, 238, 228, .46);
  font: 700 .5rem/1 var(--mono);
}

.home-page .hero-rail-giveback__progress {
  --giveback-progress-end: 50%;
  position: relative;
  height: 16px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  gap: clamp(5px, .7vw, 10px);
}

.home-page .hero-rail-giveback__progress::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: rgba(244, 238, 228, .14);
}

.home-page .hero-rail-giveback__progress::after {
  content: '';
  position: absolute;
  z-index: 0;
  left: 0;
  top: 50%;
  width: var(--giveback-progress-end);
  height: 1px;
  background: linear-gradient(90deg, rgba(245, 165, 36, .28), #f5a524);
  box-shadow: 0 0 8px rgba(245, 165, 36, .34);
  transform-origin: left center;
}

.home-page .hero-rail-giveback__progress i {
  position: relative;
  z-index: 1;
  width: 7px;
  height: 7px;
  justify-self: center;
  border: 1px solid rgba(244, 238, 228, .34);
  background: #070908;
  transform: rotate(45deg);
}

.home-page .hero-rail-giveback__progress i:nth-child(-n + 3) {
  border-color: #f5a524;
  background: #f5a524;
  box-shadow: 0 0 9px rgba(245, 165, 36, .58);
}

.home-page .hero-rail-giveback__progress > b {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  width: var(--giveback-progress-end);
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}

.home-page .hero-rail-giveback__progress > b::after {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 22%;
  height: 14px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(255, 205, 104, .88) 0, rgba(245, 165, 36, .42) 24%, transparent 72%);
  opacity: 0;
  transform: translate3d(-130%, -50%, 0) scaleX(.72);
  will-change: transform, opacity;
}

.home-page .hero-rail-giveback__progress i:nth-child(-n + 3)::after {
  content: '';
  position: absolute;
  inset: -5px;
  border: 1px solid rgba(245, 165, 36, .72);
  box-shadow: 0 0 12px rgba(245, 165, 36, .54), inset 0 0 7px rgba(245, 165, 36, .24);
  opacity: 0;
  transform: scale(.58);
  will-change: transform, opacity;
}

.home-page .hero-rail-giveback__route {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.home-page .hero-rail-giveback__route svg {
  width: 11px;
  fill: none;
  stroke: #f5a524;
  stroke-width: 1.3;
  transition: transform 300ms cubic-bezier(.16, 1, .3, 1);
}

.home-page .hero-rail-giveback:is(:hover, :focus-visible) {
  background: transparent;
  color: #f5a524;
  transform: none;
}

.home-page .hero-rail-giveback:is(:hover, :focus-visible) .hero-rail-giveback__route {
  color: #f5a524;
}

.home-page .hero-rail-giveback:is(:hover, :focus-visible) .hero-rail-giveback__route svg {
  transform: none;
}

.home-page .hero-rail-giveback:is(:hover, :focus-visible) .hero-rail-giveback__progress i:nth-child(-n + 3) {
  box-shadow: 0 0 13px rgba(245, 165, 36, .78);
}

.home-page .hero-rail-giveback:focus-visible {
  outline: 2px solid #f5a524;
  outline-offset: -3px;
}

/* Give-back tracker: one entry sequence, then a calm settled state. */
.motion-ready .home-page .hero:not(.motion-entered) .hero-rail-giveback__label,
.motion-ready .home-page .hero:not(.motion-entered) .hero-rail-giveback__count,
.motion-ready .home-page .hero:not(.motion-entered) .hero-rail-giveback__route {
  opacity: 0;
  transform: translateY(7px);
}

.motion-ready .home-page .hero:not(.motion-entered) .hero-rail-giveback__progress::before,
.motion-ready .home-page .hero:not(.motion-entered) .hero-rail-giveback__progress::after {
  transform: scaleX(0);
}

.motion-ready .home-page .hero:not(.motion-entered) .hero-rail-giveback__progress i {
  opacity: 0;
  transform: rotate(45deg) scale(.2);
}

.motion-ready .home-page .hero.motion-entered .hero-rail-giveback__label,
.motion-ready .home-page .hero.motion-entered .hero-rail-giveback__count,
.motion-ready .home-page .hero.motion-entered .hero-rail-giveback__route {
  animation: giveback-copy-lock 620ms linear(0, .42 18%, .82 45%, 1.05 72%, 1) both;
}

.motion-ready .home-page .hero.motion-entered .hero-rail-giveback__count { animation-delay: 120ms; }
.motion-ready .home-page .hero.motion-entered .hero-rail-giveback__route { animation-delay: 820ms; }

.motion-ready .home-page .hero.motion-entered .hero-rail-giveback__progress::before {
  animation: giveback-track-draw 760ms 260ms cubic-bezier(.16, 1, .3, 1) both;
}

.motion-ready .home-page .hero.motion-entered .hero-rail-giveback__progress::after {
  animation: giveback-track-draw 720ms 460ms cubic-bezier(.16, 1, .3, 1) both;
}

.motion-ready .home-page .hero.motion-entered .hero-rail-giveback__progress i {
  animation: giveback-node-lock 500ms linear(0, .38 18%, .78 42%, 1.14 68%, 1) both;
}

.motion-ready .home-page .hero.motion-entered .hero-rail-giveback__progress i:nth-child(1) { animation-delay: 500ms; }
.motion-ready .home-page .hero.motion-entered .hero-rail-giveback__progress i:nth-child(2) { animation-delay: 630ms; }
.motion-ready .home-page .hero.motion-entered .hero-rail-giveback__progress i:nth-child(3) { animation-delay: 760ms; }
.motion-ready .home-page .hero.motion-entered .hero-rail-giveback__progress i:nth-child(4) { animation-delay: 890ms; }
.motion-ready .home-page .hero.motion-entered .hero-rail-giveback__progress i:nth-child(5) { animation-delay: 1020ms; }

.motion-ready .home-page .hero.motion-entered .hero-rail-giveback__count strong {
  animation: giveback-count-flare 900ms 660ms ease-out both;
}

/* A quiet broadcast loop: the completed rail carries one signal and each
   completed node answers in sequence. It only runs while the hero is visible. */
.motion-ready .home-page .hero.motion-entered.ambient-active .hero-rail-giveback__progress > b::after {
  animation: giveback-signal-pass 5.8s 1.35s cubic-bezier(.45, 0, .55, 1) infinite;
}

.motion-ready .home-page .hero.motion-entered.ambient-active .hero-rail-giveback__progress i:nth-child(-n + 3)::after {
  animation: giveback-node-breathe 5.8s 1.7s cubic-bezier(.16, 1, .3, 1) infinite;
}

.motion-ready .home-page .hero.motion-entered.ambient-active .hero-rail-giveback__progress i:nth-child(2)::after { animation-delay: 2.05s; }
.motion-ready .home-page .hero.motion-entered.ambient-active .hero-rail-giveback__progress i:nth-child(3)::after { animation-delay: 2.4s; }

@keyframes giveback-copy-lock {
  from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes giveback-track-draw {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@keyframes giveback-node-lock {
  from { opacity: 0; transform: rotate(45deg) scale(.2); }
  to { opacity: 1; transform: rotate(45deg) scale(1); }
}

@keyframes giveback-count-flare {
  0%, 100% { text-shadow: none; }
  52% { text-shadow: 0 0 16px rgba(245, 165, 36, .78); }
}

@keyframes giveback-signal-pass {
  0%, 10% { opacity: 0; transform: translate3d(-130%, -50%, 0) scaleX(.72); }
  20% { opacity: .28; }
  52% { opacity: .9; }
  82% { opacity: .2; }
  90%, 100% { opacity: 0; transform: translate3d(520%, -50%, 0) scaleX(1); }
}

@keyframes giveback-node-breathe {
  0%, 11%, 27%, 100% { opacity: 0; transform: scale(.58); }
  17% { opacity: .82; transform: scale(1.55); }
  23% { opacity: 0; transform: scale(2); }
}

.home-page .giveback-section {
  --giveback-node-active: var(--palette-ink, #0b0b0b);
  --giveback-node-halo: rgba(11, 11, 11, .38);
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  align-items: center;
  gap: clamp(24px, 3vw, 38px);
  padding: clamp(48px, 5vw, 78px) clamp(22px, 4vw, 64px);
  overflow: hidden;
  border-block: 1px solid rgba(13, 11, 10, .42);
  background: #cc6437;
  color: #0b0b0b;
}

/* A quiet orbital field gives the give-back ratio a sense of transmission
   without competing with the message or the one-shot counter sequence. */
.home-page .giveback-atmosphere {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 18%, rgba(237, 235, 231, .13), transparent 31%),
    linear-gradient(108deg, transparent 36%, rgba(11, 11, 11, .045) 49%, transparent 62%);
  opacity: .78;
  pointer-events: none;
  animation: giveback-atmosphere-breathe 12s cubic-bezier(.65, 0, .35, 1) infinite alternate;
  animation-play-state: paused;
}

.home-page .giveback-atmosphere::before,
.home-page .giveback-atmosphere::after {
  content: '';
  position: absolute;
  aspect-ratio: 1;
  border-radius: 50%;
  background: repeating-radial-gradient(
    circle at 48% 54%,
    transparent 0 42px,
    rgba(11, 11, 11, .11) 43px 44px,
    transparent 45px 86px
  );
  -webkit-mask-image: radial-gradient(circle, #000 0 48%, transparent 78%);
  mask-image: radial-gradient(circle, #000 0 48%, transparent 78%);
  will-change: transform;
  animation-play-state: paused;
}

.home-page .giveback-atmosphere::before {
  top: -48%;
  right: -10%;
  width: clamp(360px, 43vw, 720px);
  animation: giveback-orbit-drift-a 19s cubic-bezier(.65, 0, .35, 1) infinite alternate;
}

.home-page .giveback-atmosphere::after {
  bottom: -55%;
  left: -9%;
  width: clamp(300px, 35vw, 590px);
  opacity: .62;
  animation: giveback-orbit-drift-b 23s cubic-bezier(.65, 0, .35, 1) infinite alternate;
}

.home-page .giveback-atmosphere::before,
.home-page .giveback-atmosphere::after {
  animation-play-state: paused;
}

.home-page .giveback-section.ambient-active .giveback-atmosphere,
.home-page .giveback-section.ambient-active .giveback-atmosphere::before,
.home-page .giveback-section.ambient-active .giveback-atmosphere::after {
  animation-play-state: running;
}

@keyframes giveback-atmosphere-breathe {
  from { opacity: .64; }
  to { opacity: .86; }
}

@keyframes giveback-orbit-drift-a {
  from { transform: translate3d(0, 0, 0) rotate(-2deg); }
  to { transform: translate3d(-18px, 14px, 0) rotate(4deg); }
}

@keyframes giveback-orbit-drift-b {
  from { transform: translate3d(0, 0, 0) rotate(3deg); }
  to { transform: translate3d(16px, -12px, 0) rotate(-4deg); }
}

.home-page .giveback-section::after {
  content: "";
  position: absolute;
  inset: 16px;
  pointer-events: none;
  border: 1px solid rgba(13, 11, 10, .16);
  background-image: none;
}

.home-page .giveback-section::before {
  content: '';
  position: absolute;
  z-index: 2;
  top: 15px;
  left: 16px;
  width: 72px;
  height: 2px;
  background: #0b0b0b;
  box-shadow: 0 0 10px rgba(11, 11, 11, .22);
  pointer-events: none;
}

.home-page .giveback-section__ratio {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(10px, 1.4vw, 22px);
  width: min(100%, 540px);
  min-height: 0;
  padding-bottom: clamp(22px, 2vw, 30px);
  border-bottom: 0;
  font-family: var(--display);
  line-height: .78;
  letter-spacing: -.07em;
}

.home-page .giveback-section__ratio::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: rgba(13, 11, 10, .22);
  transform-origin: center;
}

.home-page .giveback-section__ratio > span {
  font-size: clamp(5.2rem, 8vw, 9.5rem);
  font-weight: 800;
}

.home-page .giveback-section__ratio .giveback-counter {
  position: relative;
  width: .78em;
  height: .82em;
  display: inline-block;
  overflow: hidden;
  contain: paint;
  isolation: isolate;
}

.home-page .giveback-number {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font: inherit;
  line-height: .82;
  transform-origin: 50% 58%;
}

.home-page .giveback-number > span:first-child {
  position: relative;
  z-index: 1;
  grid-area: 1 / 1;
  transform-origin: center;
}

.home-page .giveback-signal {
  --signal-progress: 0;
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 7px;
  left: 0;
  width: clamp(132px, 14vw, 176px);
  height: 16px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-style: normal;
  pointer-events: none;
}

.home-page .giveback-signal::before,
.home-page .giveback-signal__carrier {
  content: '';
  position: absolute;
  z-index: 0;
  top: 50%;
  right: 6px;
  left: 6px;
  height: 1px;
  transform: translateY(-50%);
  transform-origin: left center;
}

.home-page .giveback-signal::before {
  background: rgba(13, 11, 10, .28);
}

.home-page .giveback-signal__carrier {
  margin: 0;
  background: var(--giveback-node-active);
  box-shadow: 0 0 8px rgba(11, 11, 11, .2);
  transform: translateY(-50%) scaleX(var(--signal-progress));
  transition: transform 520ms cubic-bezier(.16, 1, .3, 1);
}

.home-page .giveback-signal__node {
  position: relative;
  z-index: 2;
  width: 10px;
  height: 10px;
  display: block;
  border: 1px solid rgba(13, 11, 10, .56);
  border-radius: 50%;
  background: #cc6437;
  opacity: .64;
  transform: scale(.72);
  transition: background-color 260ms cubic-bezier(.65, 0, .35, 1),
    border-color 260ms cubic-bezier(.65, 0, .35, 1),
    opacity 260ms cubic-bezier(.65, 0, .35, 1);
}

.home-page .giveback-signal__node::after {
  content: '';
  position: absolute;
  inset: -6px;
  border: 1px solid rgba(11, 11, 11, .5);
  border-radius: 50%;
  opacity: 0;
  transform: scale(.35);
}

.home-page .giveback-signal__node.is-active,
.home-page .giveback-signal[data-sequence-state='complete'] .giveback-signal__node {
  border-color: var(--giveback-node-active);
  background: var(--giveback-node-active);
  box-shadow: 0 0 0 3px var(--palette-signal, #cc6437), 0 0 0 4px rgba(11, 11, 11, .3);
  opacity: 1;
  animation: giveback-checkpoint-lock 520ms linear(0, .012, .046 3%, .19 7%, .74 16%, 1.04 24%, 1.085 31%, 1.04 42%, 1.01 56%, 1) both;
}

.home-page .giveback-signal__node.is-active::after {
  animation: giveback-checkpoint-pulse 620ms cubic-bezier(.16, 1, .3, 1) both;
}

.home-page .giveback-signal[data-sequence-state='complete'] .giveback-signal__carrier {
  --signal-progress: 1;
}

@keyframes giveback-checkpoint-lock {
  from { transform: scale(.72); }
  to { transform: scale(1); }
}

@keyframes giveback-checkpoint-pulse {
  0% { opacity: .72; transform: scale(.35); }
  55% { opacity: .34; }
  100% { opacity: 0; transform: scale(1.55); }
}

@keyframes giveback-signal-arrive {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.home-page .giveback-signal,
.home-page .giveback-signal * {
  pointer-events: none;
}

.home-page .giveback-number:not(.giveback-number--final) {
  opacity: 0;
}

.home-page .giveback-number--final {
  z-index: 2;
}

.home-page .giveback-section__ratio i {
  align-self: center;
  margin-top: .35em;
  font: 700 clamp(.7rem, .8vw, .9rem)/1 var(--mono);
  letter-spacing: .16em;
  text-transform: uppercase;
}

.home-page .giveback-section__copy {
  position: relative;
  z-index: 1;
  max-width: 760px;
  display: grid;
  justify-items: center;
  text-align: center;
}

.home-page .giveback-section__eyebrow {
  margin: 0 0 16px;
  font: 700 .68rem/1 var(--mono);
  letter-spacing: .16em;
  text-transform: uppercase;
}

.home-page .giveback-section__copy h2 {
  max-width: 720px;
  margin: 0;
  font: 800 clamp(2.25rem, 4.25vw, 4.7rem)/.92 var(--display);
  letter-spacing: -.045em;
  text-transform: uppercase;
}

.home-page .giveback-section__copy > p:last-child {
  max-width: 660px;
  margin: 22px auto 0;
  color: rgba(13, 11, 10, .76);
  font-size: clamp(.98rem, 1.2vw, 1.16rem);
  line-height: 1.55;
}

/* Give-back section choreography: ratio first, message second. */
.motion-ready .home-page .giveback-section:not(.motion-entered)::after,
.motion-ready .home-page .giveback-section:not(.motion-entered)::before,
.motion-ready .home-page .giveback-section:not(.motion-entered) .giveback-section__ratio::after {
  opacity: 0;
  transform: scaleX(0);
}

.motion-ready .home-page .giveback-section:not(.motion-entered) .giveback-section__ratio > span:first-child {
  opacity: 0;
  transform: translateX(44px) scale(.84);
}

.motion-ready .home-page .giveback-section:not(.motion-entered) .giveback-section__ratio > span:last-child {
  opacity: 0;
  transform: translateX(-44px) scale(.84);
}

.motion-ready .home-page .giveback-section:not(.motion-entered) .giveback-section__ratio i,
.motion-ready .home-page .giveback-section:not(.motion-entered) .giveback-signal,
.motion-ready .home-page .giveback-section:not(.motion-entered) .giveback-section__eyebrow,
.motion-ready .home-page .giveback-section:not(.motion-entered) .giveback-section__copy h2,
.motion-ready .home-page .giveback-section:not(.motion-entered) .giveback-section__copy > p:last-child {
  opacity: 0;
  transform: translateY(16px);
}

.motion-ready .home-page .giveback-section.motion-entered::after {
  animation: giveback-frame-arrive 900ms cubic-bezier(.16, 1, .3, 1) both;
}

.motion-ready .home-page .giveback-section.motion-entered::before {
  animation: giveback-border-signal 1250ms 180ms cubic-bezier(.65, 0, .35, 1) both;
}

.motion-ready .home-page .giveback-section.motion-entered .giveback-section__ratio > span {
  animation: giveback-ratio-lock 520ms cubic-bezier(.16, 1, .3, 1) both;
}

.motion-ready .home-page .giveback-section.motion-entered .giveback-section__ratio > span:last-child {
  --giveback-ratio-origin: -44px;
  animation-delay: 90ms;
}

.motion-ready .home-page .giveback-section.motion-entered .giveback-section__ratio > span:first-child {
  --giveback-ratio-origin: 44px;
}

.motion-ready .home-page .giveback-section.motion-entered .giveback-section__ratio i {
  animation: giveback-copy-arrive 460ms 220ms cubic-bezier(.16, 1, .3, 1) both;
}

.motion-ready .home-page .giveback-section.motion-entered .giveback-signal {
  animation: giveback-signal-arrive 420ms 180ms cubic-bezier(.16, 1, .3, 1) both;
}

.motion-ready .home-page .giveback-section.motion-entered .giveback-section__ratio::after {
  animation: giveback-divider-draw 820ms 420ms cubic-bezier(.16, 1, .3, 1) both;
}

.motion-ready .home-page .giveback-section.motion-entered .giveback-section__eyebrow {
  animation: giveback-copy-arrive 620ms 560ms cubic-bezier(.16, 1, .3, 1) both;
}

.motion-ready .home-page .giveback-section.motion-entered .giveback-section__copy h2 {
  animation: giveback-copy-arrive 720ms 680ms cubic-bezier(.16, 1, .3, 1) both;
}

.motion-ready .home-page .giveback-section.motion-entered .giveback-section__copy > p:last-child {
  animation: giveback-copy-arrive 680ms 880ms cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes giveback-frame-arrive {
  from { opacity: 0; transform: scaleX(.92); }
  to { opacity: 1; transform: scaleX(1); }
}

@keyframes giveback-border-signal {
  0% { opacity: 0; transform: translateX(0) scaleX(.25); }
  15% { opacity: 1; }
  82% { opacity: 1; }
  100% { opacity: 0; transform: translateX(calc(100vw - 120px)) scaleX(1); }
}

@keyframes giveback-ratio-lock {
  from { opacity: 0; transform: translateX(var(--giveback-ratio-origin)) scale(.84); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}

@keyframes giveback-divider-draw {
  from { opacity: 0; transform: scaleX(0); }
  to { opacity: 1; transform: scaleX(1); }
}

@keyframes giveback-copy-arrive {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

.home-page .giveback-section__cta {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-height: 58px;
  padding: 0 22px;
  border: 1px solid #0b0b0b;
  color: #0b0b0b;
  font: 700 .7rem/1 var(--mono);
  letter-spacing: .12em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease;
}

.home-page .giveback-section__cta svg {
  width: 17px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}

.home-page .giveback-section__cta:is(:hover, :focus-visible) {
  background: #0b0b0b;
  color: #edebe7;
}

/* Give-back nomination form: the existing enquiry system, focused on one clear ask. */
.nomination-dialog { width: min(980px, calc(100vw - 32px)); }
.nomination-shell { --intake-progress: 100%; }
.nomination-progress i { background: #e5651b; }
.nomination-form { min-height: 0; }
.nomination-form h2 { max-width: 18ch; margin-bottom: 24px; }
.nomination-intro {
  max-width: 66ch;
  margin: 0 0 clamp(30px, 4vw, 46px);
  color: #d8cfc3;
  font-size: 16px;
  line-height: 1.65;
}
.nomination-form > label { margin-top: 22px; }
.nomination-success { min-height: 520px; }

body:has(.nomination-dialog[open]) { overflow: hidden; }

/* Parsec coordinates orbit the lockup without crossing through the wordmark. */
.home-page .pricing-grid .plan-title--parsec > .math-cloud {
  width: min(270px, calc(100% - 20px));
  height: 86px;
}

.home-page .pricing-grid .plan-title--parsec > .math-cloud i:nth-child(1) {
  top: 58%;
  right: auto;
  bottom: auto;
  left: 0;
}

.home-page .pricing-grid .plan-title--parsec > .math-cloud i:nth-child(2) {
  top: 0;
  right: auto;
  bottom: auto;
  left: 25%;
}

.home-page .pricing-grid .plan-title--parsec > .math-cloud i:nth-child(3) {
  top: 0;
  right: 25%;
  bottom: auto;
  left: auto;
}

.home-page .pricing-grid .plan-title--parsec > .math-cloud i:nth-child(4) {
  top: 58%;
  right: 0;
  bottom: auto;
  left: auto;
}

@media (max-width: 1050px) {
  .home-page .giveback-section {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 720px) {
  .home-page .hero-rail > p { display: none; }

  .home-page .hero-rail-giveback {
    padding-inline: 0;
    grid-template-columns: auto auto minmax(70px, 1fr);
    border: 0;
  }

  .home-page .hero-rail-giveback__label,
  .home-page .hero-rail-giveback__route { display: none; }

  .home-page .hero-rail > a:last-child {
    gap: 8px;
    font-size: 0;
  }

  .home-page .hero-rail > a:last-child::before {
    content: 'Work';
    font: 700 8px/1 var(--mono);
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .home-page .giveback-section {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 42px 20px;
  }

  .home-page .giveback-section::after { inset: 8px; }

  .home-page .giveback-section__ratio {
    justify-content: center;
    min-height: 0;
    padding-bottom: 26px;
    border-bottom: 0;
  }

  .home-page .giveback-section__ratio > span { font-size: clamp(4.8rem, 25vw, 7rem); }
  .home-page .giveback-section__copy h2 { font-size: clamp(2.15rem, 12vw, 3.3rem); }
  .nomination-dialog { width: 100vw; }
  .nomination-form h2 { font-size: clamp(2.75rem, 15vw, 4.4rem); }

  .home-page .pricing-grid .plan-title--parsec > .math-cloud { width: min(250px, calc(100% - 16px)); }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .giveback-atmosphere,
  .home-page .giveback-atmosphere::before,
  .home-page .giveback-atmosphere::after {
    opacity: .72 !important;
    transform: none !important;
    animation: none !important;
    will-change: auto;
  }

  .home-page .work-heading::after,
  .home-page .pricing-heading::after,
  .home-page .contact-title i,
  .home-page .services-index__frame::before {
    transform: scaleX(1) !important;
    transition: none !important;
  }

  .home-page .featured-work--nsta:has([data-nsta-tab][aria-selected="true"]) .project-details,
  .home-page [data-path-calibration] .service-routes article,
  .home-page .pricing-shared-inclusions {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }

  .home-page .hero-rail-giveback__label,
  .home-page .hero-rail-giveback__count,
  .home-page .hero-rail-giveback__route,
  .home-page .hero-rail-giveback__progress::before,
  .home-page .hero-rail-giveback__progress::after,
  .home-page .hero-rail-giveback__progress > b::after,
  .home-page .hero-rail-giveback__progress i,
  .home-page .hero-rail-giveback__progress i::after,
  .home-page .hero-rail-giveback__count strong {
    opacity: 1 !important;
    transform: none;
    animation: none !important;
  }

  .home-page .giveback-section::before,
  .home-page .giveback-section::after,
  .home-page .giveback-section__ratio::after,
  .home-page .giveback-section__ratio > span,
  .home-page .giveback-counter,
  .home-page .giveback-number,
  .home-page .giveback-signal,
  .home-page .giveback-section__ratio i,
  .home-page .giveback-section__eyebrow,
  .home-page .giveback-section__copy h2,
  .home-page .giveback-section__copy > p:last-child {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  .home-page .giveback-signal__carrier {
    opacity: 1 !important;
    transform: translateY(-50%) scaleX(1) !important;
    animation: none !important;
  }

  .home-page .giveback-signal__node {
    border-color: var(--giveback-node-active) !important;
    background: var(--giveback-node-active) !important;
    box-shadow: 0 0 0 3px var(--palette-signal, #cc6437), 0 0 0 4px rgba(11, 11, 11, .3) !important;
    opacity: 1 !important;
    transform: scale(1) !important;
    transition: none !important;
  }

  .home-page .giveback-number:not(.giveback-number--final) {
    display: none !important;
  }

  .home-page .giveback-number--final {
    display: grid !important;
    opacity: 1 !important;
    filter: none !important;
  }

  .home-page .hero-rail-giveback__progress i {
    transform: rotate(45deg);
  }

  .home-page .hero-rail-giveback__progress > b::after,
  .home-page .hero-rail-giveback__progress i::after {
    opacity: 0 !important;
    transform: none !important;
  }

  .home-page .plan-details::details-content,
  .home-page .plan-details summary::after {
    transition: none !important;
  }
}

/* Keep the targeting corners legible when either hero action uses the amber fill. */
.home-page .hero-action--primary > .signal-lock-frame,
.home-page .hero-action--secondary:is(:hover, :focus-visible) > .signal-lock-frame {
  --signal-lock-color: #0d0b0a;
}

/* Keep the shared corner language hidden until the action is engaged. */
.home-page .case-study-cta > .signal-lock-frame,
.home-page .contact-section .contact-start > .signal-lock-frame {
  --signal-lock-color: #0d0b0a;
}

.home-page .case-study-cta:is(:hover, :focus-visible) > .signal-lock-frame {
  --signal-lock-color: #edebe7;
  opacity: .92;
}

.home-page .contact-section .contact-start:is(:hover, :focus-visible) > .signal-lock-frame {
  --signal-lock-color: #0d0b0a;
  opacity: .92;
}

/* Centre the website-package comparison as one aligned decision set. */
.home-page .pricing-grid .price-plan,
.home-page .pricing-grid .price-plan header,
.home-page .pricing-grid .plan-outcome,
.home-page .pricing-grid .price-plan ul,
.home-page .pricing-grid .price-plan li,
.home-page .pricing-grid .plan-details,
.home-page .pricing-grid .plan-details p {
  text-align: center;
}

.home-page .pricing-grid .plan-title,
.home-page .pricing-grid .price {
  justify-content: center;
}

.home-page .pricing-grid .price {
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.home-page .pricing-grid .plan-outcome,
.home-page .pricing-grid .plan-details p {
  margin-inline: auto;
}

.home-page .pricing-grid .price-plan ul {
  justify-items: center;
}

.home-page .pricing-grid .plan-title > :is(.orbit-system, .math-cloud, .speed-lines) {
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  transform: translate(-50%, -50%) !important;
}

.home-page .pricing-grid .plan-details summary {
  justify-content: center;
  padding-inline: 36px;
  text-align: center;
}

.home-page .pricing-grid .price-plan > a {
  gap: 10px;
}

.home-page .pricing-grid .price-plan > a svg {
  position: static;
}

/* Keep the typed label inside the existing black inclusion cell without
   inheriting that cell's layout and padding a second time. */
.home-page .pricing-shared-inclusions > span > .signal-typewriter-text {
  min-height: 0;
  padding: 0;
  display: inline-block;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

/* Package identities and shared baselines: the three tiers stay comparable
   without looking like duplicates. */
.home-page .pricing-grid .launch-plan {
  --package-accent: #a8441f;
  --package-action: #db7139;
  --package-tint: #f3dfd2;
  --package-base: #f7f4ef;
  --title-light: var(--package-accent);
  --action-ember: var(--package-action);
}

.home-page .pricing-grid .orbit-plan {
  --package-accent: #7c5918;
  --package-action: #b58a35;
  --package-tint: #eee1bf;
  --package-base: #f7f4ef;
  --title-light: var(--package-accent);
  --action-ember: var(--package-action);
}

.home-page .pricing-grid .parsec-plan {
  --package-accent: #9a72a7;
  --package-tint: #e9dfed;
  --title-light: #9a72a7;
  --action-ember: #c8a5d1;
}

.home-page .pricing-grid .lightspeed-plan {
  --package-accent: #2f6f74;
  --package-action: #69a5a9;
  --package-tint: #dcebed;
  --package-base: #f7f4ef;
  --title-light: var(--package-accent);
  --action-ember: var(--package-action);
}

.home-page .pricing-section .pricing-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-page .pricing-section .pricing-grid .price-plan {
  grid-template-rows: 180px 106px minmax(138px, 1fr) auto 49px;
  background: linear-gradient(180deg, var(--package-tint) 0 37%, var(--package-base, #f7f4ef) 67%) !important;
  border-color: color-mix(in srgb, var(--package-accent) 36%, rgba(13, 11, 10, .22));
  color: #0d0b0a;
  box-shadow: inset 0 4px 0 var(--package-accent);
}

.home-page .pricing-section .pricing-grid .price-plan header {
  grid-template-rows: 18px 56px 80px;
  align-content: start;
  align-items: center;
  justify-items: center;
  gap: 13px;
}

.home-page .pricing-grid .package-tier {
  min-width: 0;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: color-mix(in srgb, var(--package-accent) 88%, #0d0b0a);
  font: 700 9px/1 var(--mono);
  letter-spacing: .14em;
  text-align: center;
  text-transform: uppercase;
}

.home-page .pricing-grid .package-tier span {
  min-width: 25px;
  padding: 4px 5px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--package-accent);
  background: color-mix(in srgb, var(--package-accent) 12%, transparent);
}

.home-page .pricing-grid .price-plan .plan-title,
.home-page .pricing-grid .price-plan .plan-outcome,
.home-page .pricing-grid .price-plan .price,
.home-page .pricing-grid .price-plan .plan-core-features,
.home-page .pricing-grid .price-plan .plan-details {
  width: 100%;
  margin-inline: auto;
  text-align: center;
}

.home-page .pricing-grid .plan-title--lightspeed {
  --title-skew: 0deg;
}

.home-page .pricing-grid .price-plan .plan-outcome {
  min-height: 80px;
  display: grid;
  place-items: center;
}

.home-page .pricing-grid .price-plan .price {
  align-self: center;
}

.home-page .pricing-grid .price-plan .plan-core-features {
  align-self: center;
  align-content: center;
}

.home-page .pricing-grid .price-plan .plan-core-features li::before {
  content: '';
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  background: var(--package-accent);
  transform: rotate(45deg);
}

.home-page .pricing-grid .price-plan .plan-details {
  border-color: color-mix(in srgb, var(--package-accent) 44%, rgba(13, 11, 10, .22));
}

.home-page .pricing-grid .price-plan .plan-details summary {
  color: color-mix(in srgb, var(--package-accent) 76%, #0d0b0a);
}

@media (max-width: 720px) {
  .home-page .pricing-section .pricing-grid .price-plan {
    grid-template-rows: auto auto auto auto 49px;
  }

  .home-page .pricing-section .pricing-grid .price-plan header {
    grid-template-rows: auto auto auto;
  }
}

@media (min-width: 721px) and (max-width: 1280px) {
  .home-page .pricing-section .pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .home-page .pricing-section .pricing-grid {
    grid-template-columns: 1fr;
  }
}

/* One package control reveals a shared, row-aligned comparison across all tiers. */
.home-page .pricing-grid .plan-details .plan-comparison {
  padding: 6px 0 18px;
}

.home-page .pricing-grid .plan-comparison__scope {
  min-height: 4.65em;
  max-width: 31ch;
  margin: 0 auto 16px;
  display: grid;
  place-items: center;
  color: color-mix(in srgb, var(--package-accent) 78%, #0d0b0a);
  font-weight: 600;
  line-height: 1.5;
}

.home-page .pricing-grid .price-plan .plan-comparison__list {
  width: 100%;
  display: grid;
  gap: 0;
  text-align: left;
}

.home-page .pricing-grid .plan-comparison__list li {
  min-height: 58px;
  padding: 10px 0;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-content: center;
  justify-items: start;
  border-top: 1px solid color-mix(in srgb, var(--package-accent) 18%, rgba(13, 11, 10, .14));
  text-align: left;
}

.home-page .pricing-grid .plan-comparison__list li > span {
  grid-row: 1 / 3;
  align-self: center;
  width: 16px;
  height: 16px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--package-accent) 64%, #0d0b0a);
  color: #f7f4ef;
}

.home-page .pricing-grid .plan-comparison__list .is-included > span {
  background: var(--package-accent);
}

.home-page .pricing-grid .plan-comparison__list .is-included > span::after {
  content: '';
  width: 7px;
  height: 4px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-1px) rotate(-45deg);
}

.home-page .pricing-grid .plan-comparison__list .is-not-included {
  color: #8b857e;
}

.home-page .pricing-grid .plan-comparison__list .is-not-included > span {
  border-color: #b9b2aa;
  background: transparent;
}

.home-page .pricing-grid .plan-comparison__list b,
.home-page .pricing-grid .plan-comparison__list small {
  min-width: 0;
  color: inherit;
  font-family: var(--body);
  letter-spacing: 0;
  text-transform: none;
}

.home-page .pricing-grid .plan-comparison__list b {
  font-size: 13px;
  line-height: 1.35;
}

.home-page .pricing-grid .plan-comparison__list small {
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.35;
}

.home-page .pricing-grid .plan-comparison__list .is-upgrade b::after {
  content: 'Tier upgrade';
  margin-left: 7px;
  color: var(--package-accent);
  font: 700 8px/1 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.home-page .pricing-grid .plan-comparison__shared {
  min-height: 7.8em;
  max-width: 34ch;
  margin: 16px auto 0;
  padding-top: 14px;
  border-top: 1px solid color-mix(in srgb, var(--package-accent) 34%, rgba(13, 11, 10, .16));
  color: #655f58;
  font-size: 12px;
  line-height: 1.55;
}

@media (max-width: 980px) {
  .home-page .pricing-grid .plan-comparison__scope,
  .home-page .pricing-grid .plan-comparison__shared {
    min-height: 0;
  }
}

/* The selected pricing plan becomes the visual identity of its project brief. */
.home-page .intake-dialog {
  --intake-plan-accent: #e5651b;
  --intake-plan-tint: #f3dfd2;
  --intake-plan-ink: #0d0b0a;
}

.home-page .intake-dialog[data-package-theme="launch"] {
  --intake-plan-accent: #a8441f;
  --intake-plan-tint: #f3dfd2;
}

.home-page .intake-dialog[data-package-theme="orbit"] {
  --intake-plan-accent: #7c5918;
  --intake-plan-tint: #eee1bf;
}

.home-page .intake-dialog[data-package-theme="lightspeed"] {
  --intake-plan-accent: #2f6f74;
  --intake-plan-tint: #dcebed;
}

.home-page .intake-dialog[data-package-theme="nexus"] {
  --intake-plan-accent: #e5651b;
  --intake-plan-tint: #f2d7c8;
}

.home-page .intake-dialog .intake-progress i {
  background: linear-gradient(90deg, var(--intake-plan-accent) var(--intake-progress, 0%), #302c28 var(--intake-progress, 0%));
}

.home-page .intake-dialog .intake-index,
.home-page .intake-dialog .brief-step > legend span {
  color: var(--intake-plan-accent);
}

.home-page .intake-dialog .mission-stages li.is-current,
.home-page .intake-dialog .mission-stages li.is-complete {
  border-color: var(--intake-plan-accent);
}

.home-page .intake-dialog .intake-form :is(input, textarea, select):focus {
  border-bottom-color: var(--intake-plan-accent);
  box-shadow: 0 2px 0 var(--intake-plan-accent);
}

.home-page .intake-dialog .choice-grid input:checked + span {
  background: var(--intake-plan-accent);
}

.home-page .intake-dialog .intake-package-selection {
  position: relative;
  margin: 0 0 clamp(32px, 5vw, 54px);
  padding: 0;
  display: grid;
  grid-template-columns: minmax(250px, 1.15fr) minmax(150px, .48fr) minmax(280px, 1fr) auto;
  align-items: stretch;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--intake-plan-accent);
  background: var(--intake-plan-tint);
  color: var(--intake-plan-ink);
  box-shadow: inset 5px 0 0 var(--intake-plan-accent);
}

.home-page .intake-dialog .intake-package-selection[hidden] {
  display: none;
}

.home-page .intake-dialog .intake-package-selection::after {
  content: '';
  position: absolute;
  right: 21%;
  top: -52px;
  width: 170px;
  height: 170px;
  border: 1px solid color-mix(in srgb, var(--intake-plan-accent) 38%, transparent);
  border-radius: 50%;
  pointer-events: none;
}

.home-page .intake-dialog .intake-package-selection__identity,
.home-page .intake-dialog .intake-package-selection__commercial,
.home-page .intake-dialog .intake-package-selection__features {
  position: relative;
  z-index: 1;
  padding: 22px 24px;
  border-right: 1px solid color-mix(in srgb, var(--intake-plan-accent) 32%, transparent);
}

.home-page .intake-dialog .intake-package-selection span {
  display: block;
  color: color-mix(in srgb, var(--intake-plan-accent) 82%, #0d0b0a);
  font: 700 9px/1.2 var(--mono);
  letter-spacing: .13em;
  text-transform: uppercase;
}

.home-page .intake-dialog .intake-package-selection__identity > strong {
  margin-top: 9px;
  display: block;
  color: var(--intake-plan-ink);
  font: 400 clamp(1.9rem, 3.2vw, 3rem)/.9 var(--display);
  letter-spacing: -.04em;
  text-transform: uppercase;
}

.home-page .intake-dialog .intake-package-selection__identity p {
  max-width: 40ch;
  margin: 14px 0 0;
  color: rgba(13, 11, 10, .72);
  font-size: 12px;
  line-height: 1.5;
}

.home-page .intake-dialog .intake-package-selection__commercial {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.home-page .intake-dialog .intake-package-selection__commercial strong {
  margin: 8px 0 6px;
  color: var(--intake-plan-ink);
  font: 400 clamp(1.55rem, 2.4vw, 2.35rem)/1 var(--display);
  letter-spacing: -.04em;
  white-space: nowrap;
}

.home-page .intake-dialog .intake-package-selection__commercial small {
  color: rgba(13, 11, 10, .62);
  font: 700 8px/1.35 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.home-page .intake-dialog .intake-package-selection__features {
  margin: 0;
  display: grid;
  align-content: center;
  gap: 9px;
  list-style: none;
}

.home-page .intake-dialog .intake-package-selection__features li {
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(13, 11, 10, .76);
  font-size: 11px;
  line-height: 1.35;
}

.home-page .intake-dialog .intake-package-selection__features li::before {
  content: '';
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  background: var(--intake-plan-accent);
  transform: rotate(45deg);
}

.home-page .intake-dialog .intake-package-selection button {
  min-width: 122px;
  min-height: 100%;
  grid-column: 4;
  grid-row: 1;
  padding: 16px;
  border: 0;
  border-radius: 0;
  background: var(--intake-plan-accent);
  color: var(--intake-plan-ink);
  font: 700 9px/1.35 var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
}

.home-page .intake-dialog .intake-package-selection button:is(:hover, :focus-visible) {
  background: var(--intake-plan-ink);
  color: var(--intake-plan-tint);
  outline: 2px solid var(--intake-plan-accent);
  outline-offset: -4px;
}

.home-page .intake-dialog .intake-actions button:last-child,
.home-page .intake-dialog .intake-actions [type="submit"] {
  border-color: var(--intake-plan-accent);
  background: var(--intake-plan-accent);
}

@media (max-width: 900px) {
  .home-page .intake-dialog .intake-package-selection {
    grid-template-columns: minmax(0, 1fr) minmax(145px, .46fr);
  }

  .home-page .intake-dialog .intake-package-selection__commercial {
    border-right: 0;
  }

  .home-page .intake-dialog .intake-package-selection__features {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid color-mix(in srgb, var(--intake-plan-accent) 32%, transparent);
  }

  .home-page .intake-dialog .intake-package-selection button {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: 46px;
  }
}

@media (max-width: 580px) {
  .home-page .intake-dialog .intake-package-selection {
    grid-template-columns: 1fr;
  }

  .home-page .intake-dialog .intake-package-selection__identity,
  .home-page .intake-dialog .intake-package-selection__commercial,
  .home-page .intake-dialog .intake-package-selection__features {
    grid-column: 1;
    padding: 18px;
    border-right: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--intake-plan-accent) 32%, transparent);
  }

  .home-page .intake-dialog .intake-package-selection__features {
    grid-template-columns: 1fr;
  }
}
