.canopy-ending-container { width: min(1440px,100%); margin: auto; }
.canopy-testimonials { background: var(--color-sky-wash); color: var(--color-carbon); padding: 104px clamp(24px,4vw,80px) 72px; }
.canopy-testimonials .section_header { position: relative; text-align: center; margin-bottom: 40px; }
.canopy-testimonials h2 { max-width: 1200px; margin: 0 auto; font: 400 clamp(64px,10vw,160px)/.98 'Slush Display',sans-serif; text-transform: uppercase; text-wrap: balance; }
.canopy-testimonials .floating_text { position: absolute; z-index: 2; left: 50%; bottom: 0; display: inline-block; margin: 0; padding: 12px 20px; border: 1px solid currentColor; border-radius: 999px; background: var(--color-electric-blue); font: 700 18px/1.3 'Slush UI',sans-serif; white-space: nowrap; transform: translate(-50%,35%) rotate(-6deg); }
.testimonial_cards { display: grid; grid-auto-flow: column; grid-auto-columns: min(320px,calc(100% - 16px)); gap: 32px; overflow-x: auto; padding: 24px 12px 40px; scroll-snap-type: x mandatory; scroll-padding: 12px; scrollbar-width: thin; scrollbar-color: var(--canopy-olive) transparent; }
.testimonial_card { padding: 32px; min-height: 390px; display: flex; flex-direction: column; background: var(--color-paper-white); border: 1px solid var(--color-carbon); border-radius: 24px; scroll-snap-align: start; transform: rotate(-2deg); }
.testimonial_card.card_2 { background: var(--color-electric-blue); transform: rotate(3deg); }
.testimonial_card.card_3 { background: var(--color-soft-mist); transform: rotate(-1deg); }
.testimonial_card.card_4 { background: var(--canopy-olive); color: var(--color-paper-white); transform: rotate(2deg); }
.testimonial_card:focus-visible { outline: 3px solid var(--color-carbon); outline-offset: 6px; }
@media (min-width:900px) {
  .testimonial_cards { --card-overlap: clamp(64px,10vw,128px); display: flex; align-items: flex-start; gap: 16px; overflow: visible; padding: 88px 32px 48px; scroll-snap-type: none; }
  .testimonial_card { position: relative; flex: 0 0 calc((100% + 3 * var(--card-overlap) - 48px) / 4); min-height: 460px; transform: translateX(0) rotate(-3deg); transition: transform 450ms cubic-bezier(.16,1,.3,1); }
  .testimonial_card + .testimonial_card { margin-left: calc(-1 * var(--card-overlap)); }
  .testimonial_card.card_2 { margin-top: -48px; transform: translateX(0) rotate(5deg); }
  .testimonial_card.card_3,.testimonial_card.card_4 { transform: translateX(0) rotate(-3deg); }
  .testimonial_card.is-featured { z-index: 5; transform: translateY(-24px) rotate(0deg) scale(1.025); }
  .testimonial_card.is-before { transform: translateX(-40px) rotate(-5deg); }
  .testimonial_card.is-after { transform: translateX(40px) rotate(4deg); }
  .canopy-testimonials .canopy-testimonial-controls { display: none; }
}
.testimonial_icon_area { display: flex; gap: 6px; margin-bottom: 32px; }
.testimonial_icon_area svg { width: 24px; height: 24px; }
.testimonial_text { margin: 0 0 32px; font: 400 18px/1.65 'Slush UI',sans-serif; }
.testimonial_text p { margin: 0; }
.testimonial_author_area { margin-top: auto; display: flex; align-items: center; gap: 16px; }
.testimonial_author_image { width: 52px; height: 52px; flex: 0 0 52px; border: 1px solid currentColor; border-radius: 50%; display: grid; place-items: center; font: 700 18px/1 'Slush UI',sans-serif; }
.testimonial_author_name { margin: 0 0 4px; font: 700 18px/1.4 'Slush UI',sans-serif; }
.testimonial_author_profession { margin: 0; font: 400 16px/1.5 'Slush UI',sans-serif; }
.canopy-testimonial-controls { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.canopy-testimonial-controls p { margin: 0; font: 500 18px/1.5 'Slush UI',sans-serif; font-variant-numeric: tabular-nums; }
.canopy-testimonial-controls > div { display: flex; gap: 12px; }
.canopy-testimonial-controls button { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; color: var(--color-carbon); background: var(--color-paper-white); cursor: pointer; }
.canopy-testimonial-controls button:disabled { opacity: .4; cursor: default; }
.canopy-testimonial-controls button:not(:disabled):hover { background: var(--color-electric-blue); }
.canopy-testimonial-controls .is-back { transform: rotate(180deg); }
.canopy-ending :is(a,button):focus-visible,.testimonial_cards:focus-visible { outline: 3px solid currentColor; outline-offset: 6px; }
.cta_section { position: relative; padding: 88px 0; overflow: hidden; background: var(--color-electric-blue); color: var(--color-carbon); }
.cta_ticker_row { overflow: hidden; }
.canopy-ticker-track { display: flex; width: max-content; animation: canopy-cta-marquee 30s linear infinite; animation-play-state: paused; }
.cta_section.is-visible .canopy-ticker-track { animation-play-state: running; }
.cta_section:focus-within .canopy-ticker-track { animation-play-state: paused; }
.cta_ticker_row.is-stroke .canopy-ticker-track { animation-direction: reverse; }
.cta_ticker_text { flex: none; font: 400 clamp(40px,7vw,104px)/1.2 'Slush Display',sans-serif; text-transform: uppercase; padding-right: 32px; white-space: nowrap; }
.cta_ticker_row.is-stroke { margin-top: 20px; }
.is-stroke .cta_ticker_text { color: transparent; -webkit-text-stroke: 1.5px var(--color-carbon); }
.cta_button { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%) rotate(-5deg); display: flex; align-items: center; justify-content: center; gap: 24px; padding: 24px 32px; min-height: 88px; background: var(--color-paper-white); border: 1px solid var(--color-carbon); border-radius: 999px; color: var(--color-carbon); font: 700 22px/1.3 'Slush UI',sans-serif; text-decoration: none; box-shadow: 0 8px 20px #272e271a; transition: transform 200ms ease-out,background-color 200ms ease-out; }
.cta_button:hover { transform: translate(-50%,-50%) rotate(0deg); background: var(--color-soft-mist); }
.canopy-cta-lines { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.canopy-cta-lines i { display: block; width: 26px; height: 2px; background: currentColor; }
.canopy-cta-lines i:last-child { width: 16px; }
@keyframes canopy-cta-marquee { to { transform: translateX(-50%); } }
.canopy-footer { padding: 80px clamp(24px,4vw,80px) 32px; background: var(--color-carbon); color: var(--color-paper-white); scroll-margin-top: 80px; }
.canopy-footer-top { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 64px; padding-bottom: 64px; border-bottom: 1px solid var(--color-voltage-violet); }
.canopy-footer h2 { margin: 0 0 32px; max-width: 700px; font: 400 clamp(32px,4.2vw,64px)/1.15 'Slush Display',sans-serif; text-transform: uppercase; }
.canopy-footer-contact { display: inline-flex; align-items: center; gap: 20px; padding: 16px 24px; border: 1px solid currentColor; border-radius: 999px; color: inherit; text-decoration: none; font: 700 18px/1.5 'Slush UI',sans-serif; }
.canopy-footer-contact img { filter: brightness(0) invert(1); }
.canopy-footer nav { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.canopy-footer a:hover { text-decoration: underline; text-underline-offset: 6px; }
.canopy-footer nav a { color: inherit; font: 500 22px/1.5 'Slush UI',sans-serif; text-decoration: none; }
.canopy-footer-wordmark { margin: 48px 0 40px; font: 400 17.6vw/1.05 'Slush Display',sans-serif; letter-spacing: -.025em; color: var(--color-electric-blue); }
.canopy-footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 24px; padding-top: 24px; border-top: 1px solid var(--color-voltage-violet); }
.canopy-footer-bottom p,.canopy-footer-bottom a { margin: 0; color: inherit; font: 400 16px/1.5 'Slush UI',sans-serif; }
@media (max-width: 649px) {
  .canopy-testimonials { padding: 64px 24px 48px; }
  .canopy-testimonials .section_header { margin-bottom: 24px; }
  .canopy-testimonials h2 { font-size: clamp(48px,13.5vw,84px); }
  .testimonial_card { padding: 32px 24px; min-height: 420px; }
  .cta_section { padding: 72px 0; }
  .cta_button { padding: 18px 24px; min-height: 72px; gap: 16px; font-size: 18px; white-space: nowrap; }
  .cta_button .canopy-cta-lines { display: none; }
  .canopy-footer { padding-top: 56px; }
  .canopy-footer-top { grid-template-columns: minmax(0,1fr); gap: 40px; padding-bottom: 40px; }
  .canopy-footer nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
  .canopy-footer nav a { font-size: 18px; }
  .canopy-footer-wordmark { margin: 32px 0; font-size: 16.5vw; }
  .canopy-footer-bottom { flex-direction: column; align-items: flex-start; gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .canopy-ticker-track { animation: none; }
  .cta_button { transition: none; transform: translate(-50%,-50%); }
  .canopy-testimonials .testimonial_card { transform: none; }
  .testimonial_card { transition: none; }
  .testimonial_card.is-featured,.testimonial_card.is-before,.testimonial_card.is-after { transform: none; }
}
