/* Intersect: top. BEM CSS. ビルド不要で直接編集できます。 */

.hero__hero {
  position: relative;
  display: flex;
  min-height: 90vh;
  flex-direction: column;
  align-items: center;
  background-color: var(--color-white);
  padding-top: calc(var(--spacing) * 20);
}
@media (width >= 64rem) {
  .hero__hero {
    flex-direction: row;
  }
}
@media (width >= 64rem) {
  .hero__hero {
    padding-top: 0px;
  }
}
.hero__image-frame {
  position: relative;
  height: 400px;
  width: 100%;
  overflow: hidden;
  background-color: var(--color-zinc-200);
}
@media (width >= 40rem) {
  .hero__image-frame {
    height: 500px;
  }
}
@media (width >= 64rem) {
  .hero__image-frame {
    position: absolute;
  }
}
@media (width >= 64rem) {
  .hero__image-frame {
    inset-block: 0px;
  }
}
@media (width >= 64rem) {
  .hero__image-frame {
    right: 0px;
  }
}
@media (width >= 64rem) {
  .hero__image-frame {
    order: 1;
  }
}
@media (width >= 64rem) {
  .hero__image-frame {
    height: auto;
  }
}
@media (width >= 64rem) {
  .hero__image-frame {
    width: calc(1 / 2 * 100%);
  }
}
.hero__image-background {
  position: absolute;
  inset: 0px;
  background-size: cover;
  background-position: center;
}
.hero__image-shade {
  position: absolute;
  inset: 0px;
  background-color: color-mix(
    in srgb,
    oklch(21% 0.006 285.885) 10%,
    transparent
  );
}
@supports (color: color-mix(in lab, red, red)) {
  .hero__image-shade {
    background-color: color-mix(
      in oklab,
      var(--color-zinc-900) 10%,
      transparent
    );
  }
}
.hero__inner {
  pointer-events: none;
  position: relative;
  margin-inline: auto;
  display: flex;
  width: 100%;
  max-width: var(--container-7xl);
  padding-inline: var(--space-6);
}
@media (width >= 64rem) {
  .hero__inner {
    order: 2;
  }
}
@media (width >= 64rem) {
  .hero__inner {
    padding-inline: calc(var(--spacing) * 8);
  }
}
.hero__content {
  pointer-events: auto;
  flex-shrink: 0;
  padding-top: calc(var(--spacing) * 12);
  padding-bottom: calc(var(--spacing) * 16);
}
@media (width >= 64rem) {
  .hero__content {
    width: calc(1 / 2 * 100%);
  }
}
@media (width >= 64rem) {
  .hero__content {
    padding-block: calc(var(--spacing) * 32);
  }
}
@media (width >= 64rem) {
  .hero__content {
    padding-right: calc(var(--spacing) * 12);
  }
}
.hero__headline {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(var(--spacing) * 3);
}
@media (width >= 64rem) {
  .hero__headline {
    gap: calc(var(--spacing) * 4);
  }
}
.hero__title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(var(--spacing) * 3);
  font-family: var(--font-heading);
  font-size: var(--text-4xl);
  line-height: var(--tw-leading, var(--text-4xl--line-height));
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
  --tw-tracking: var(--tracking-tight);
  letter-spacing: var(--tracking-tight);
  white-space: nowrap;
  color: var(--color-white);
}
@media (width >= 40rem) {
  .hero__title {
    gap: calc(var(--spacing) * 4);
  }
}
@media (width >= 40rem) {
  .hero__title {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
}
@media (width >= 64rem) {
  .hero__title {
    gap: calc(var(--spacing) * 5);
  }
}
@media (width >= 64rem) {
  .hero__title {
    font-size: 4.25rem;
  }
}
.hero__title-line {
  background-color: var(--color-accent);
  padding-inline: calc(var(--spacing) * 5);
  padding-block: calc(var(--spacing) * 3);
  --tw-leading: var(--leading-tight);
  line-height: var(--leading-tight);
  --tw-shadow:
    0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),
    0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
  box-shadow:
    var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
    var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
@media (width >= 64rem) {
  .hero__title-line {
    padding-inline: var(--space-6);
  }
}
@media (width >= 64rem) {
  .hero__title-line {
    padding-block: calc(var(--spacing) * 4);
  }
}
.hero__lead {
  position: relative;
  z-index: 10;
  margin-top: calc(var(--spacing) * 8);
  max-width: var(--container-lg);
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
  color: var(--color-zinc-600);
}
@media (width >= 40rem) {
  .hero__lead {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
}
.hero__desktop-break {
  display: none;
}
@media (width >= 64rem) {
  .hero__desktop-break {
    display: block;
  }
}
.hero__actions {
  position: relative;
  z-index: 10;
  margin-top: calc(var(--spacing) * 10);
  display: flex;
  flex-direction: column;
  gap: calc(var(--spacing) * 4);
}
@media (width >= 40rem) {
  .hero__actions {
    flex-direction: row;
  }
}
.hero__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(var(--spacing) * 2);
  border-style: var(--tw-border-style);
  border-width: 2px;
  border-color: var(--color-accent);
  background-color: var(--color-accent);
  padding-inline: calc(var(--spacing) * 8);
  padding-block: calc(var(--spacing) * 4);
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
  color: var(--color-white);
  transition-property:
    color, background-color, border-color, outline-color, text-decoration-color,
    fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(
    --tw-ease,
    var(--default-transition-timing-function)
  );
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.hero__button-text {
  position: relative;
  z-index: 10;
  font-family: var(--font-sans);
  --tw-tracking: var(--tracking-wide);
  letter-spacing: var(--tracking-wide);
}
.hero__arrow {
  position: relative;
  z-index: 10;
  height: calc(var(--spacing) * 5);
  width: calc(var(--spacing) * 5);
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: var(
    --tw-ease,
    var(--default-transition-timing-function)
  );
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
@media (hover: hover) {
  .hero__arrow:is(:where(.hover-group):hover *) {
    --tw-translate-x: var(--spacing);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
}
.features__features {
  background-color: var(--color-white);
  padding-block: calc(var(--spacing) * 24);
}
@media (width >= 64rem) {
  .features__features {
    padding-block: calc(var(--spacing) * 32);
  }
}
.features__inner {
  margin-inline: auto;
  max-width: var(--container-7xl);
  padding-inline: var(--space-6);
}
@media (width >= 64rem) {
  .features__inner {
    padding-inline: calc(var(--spacing) * 8);
  }
}
.features__heading-wrap {
  margin-bottom: calc(var(--spacing) * 16);
}
@media (width >= 48rem) {
  .features__heading-wrap {
    margin-bottom: calc(var(--spacing) * 24);
  }
}
.features__heading {
  font-family: var(--font-heading);
  font-size: var(--text-3xl);
  line-height: var(--tw-leading, var(--text-3xl--line-height));
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
  --tw-tracking: var(--tracking-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--color-zinc-900);
}
@media (width >= 48rem) {
  .features__heading {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
}
.features__eyebrow {
  margin-top: calc(var(--spacing) * 2);
  display: block;
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  --tw-font-weight: var(--font-weight-normal);
  font-weight: var(--font-weight-normal);
  --tw-tracking: var(--tracking-widest);
  letter-spacing: var(--tracking-widest);
  color: var(--color-zinc-500);
  text-transform: uppercase;
}
@media (width >= 48rem) {
  .features__eyebrow {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
}
.features__grid {
  display: grid;
  gap: calc(var(--spacing) * 12);
}
@media (width >= 48rem) {
  .features__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (width >= 48rem) {
  .features__grid {
    gap: calc(var(--spacing) * 8);
  }
}
@media (width >= 64rem) {
  .features__grid {
    gap: calc(var(--spacing) * 16);
  }
}
.features__feature-body {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
  border-color: var(--color-accent);
  padding-top: calc(var(--spacing) * 6);
}
.features__icon-wrap {
  margin-bottom: calc(var(--spacing) * 6);
  display: flex;
  height: calc(var(--spacing) * 16);
  width: calc(var(--spacing) * 16);
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-2xl);
  background-color: color-mix(in srgb, #0b1644 5%, transparent);
}
@supports (color: color-mix(in lab, red, red)) {
  .features__icon-wrap {
    background-color: color-mix(in oklab, var(--color-accent) 5%, transparent);
  }
}
.features__icon {
  height: calc(var(--spacing) * 8);
  width: calc(var(--spacing) * 8);
  color: var(--color-accent);
}
.features__title-row {
  margin-bottom: calc(var(--spacing) * 4);
  display: flex;
  align-items: center;
  gap: calc(var(--spacing) * 3);
}
.features__number {
  font-family: var(--font-sans);
  font-size: var(--text-3xl);
  line-height: var(--tw-leading, var(--text-3xl--line-height));
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
  color: var(--color-accent);
}
.features__title {
  font-family: var(--font-heading);
  font-size: var(--text-xl);
  line-height: var(--tw-leading, var(--text-xl--line-height));
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
  color: var(--color-zinc-900);
}
.features__description {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
  color: var(--color-zinc-600);
}
@media (width >= 48rem) {
  .features__description {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
}

/* Keep the original unbroken catchphrase within small mobile viewports. */
@media (max-width: 639px) {
  .hero__title {
    font-size: clamp(1.25rem, 5.7vw, 2.25rem);
  }
}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
.service-summary__section {
  background-color: var(--color-zinc-50, oklch(98.5% 0 none));
  padding-block: calc(var(--spacing, 0.25rem) * 24);
}
@media (width >= 64rem) {
  .service-summary__section {
    padding-block: calc(var(--spacing, 0.25rem) * 32);
  }
}
.service-summary__inner {
  margin-inline: auto;
  max-width: var(--container-7xl, 80rem);
  padding-inline: calc(var(--spacing, 0.25rem) * 6);
}
@media (width >= 64rem) {
  .service-summary__inner {
    padding-inline: calc(var(--spacing, 0.25rem) * 8);
  }
}
.service-summary__heading-row {
  margin-bottom: calc(var(--spacing, 0.25rem) * 16);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: calc(var(--spacing, 0.25rem) * 6);
}
@media (width >= 48rem) {
  .service-summary__heading-row {
    margin-bottom: calc(var(--spacing, 0.25rem) * 24);
  }
}
@media (width >= 48rem) {
  .service-summary__heading-row {
    flex-direction: row;
  }
}
@media (width >= 48rem) {
  .service-summary__heading-row {
    align-items: flex-end;
  }
}
.service-summary__heading {
  font-family: var(--font-heading);
  font-size: var(--text-3xl, 1.875rem);
  line-height: var(
    --tw-leading,
    var(--text-3xl--line-height, calc(2.25 / 1.875))
  );
  --tw-font-weight: var(--font-weight-bold, 700);
  font-weight: var(--font-weight-bold, 700);
  --tw-tracking: var(--tracking-tight, -0.025em);
  letter-spacing: var(--tracking-tight, -0.025em);
  color: var(--color-zinc-900, oklch(21% 0.006 285.885));
}
@media (width >= 48rem) {
  .service-summary__heading {
    font-size: var(--text-4xl, 2.25rem);
    line-height: var(
      --tw-leading,
      var(--text-4xl--line-height, calc(2.5 / 2.25))
    );
  }
}
.service-summary__eyebrow {
  margin-top: calc(var(--spacing, 0.25rem) * 2);
  display: block;
  font-size: var(--text-sm, 0.875rem);
  line-height: var(
    --tw-leading,
    var(--text-sm--line-height, calc(1.25 / 0.875))
  );
  --tw-font-weight: var(--font-weight-normal, 400);
  font-weight: var(--font-weight-normal, 400);
  --tw-tracking: var(--tracking-widest, 0.1em);
  letter-spacing: var(--tracking-widest, 0.1em);
  color: var(--color-zinc-500, oklch(55.2% 0.016 285.938));
  text-transform: uppercase;
}
@media (width >= 48rem) {
  .service-summary__eyebrow {
    font-size: var(--text-base, 1rem);
    line-height: var(
      --tw-leading,
      var(--text-base--line-height, calc(1.5 / 1))
    );
  }
}
.service-summary__lead {
  max-width: var(--container-lg, 32rem);
  font-size: var(--text-sm, 0.875rem);
  line-height: var(
    --tw-leading,
    var(--text-sm--line-height, calc(1.25 / 0.875))
  );
  --tw-leading: var(--leading-relaxed, 1.625);
  line-height: var(--leading-relaxed, 1.625);
  color: var(--color-zinc-600, oklch(44.2% 0.017 285.786));
}
@media (width >= 48rem) {
  .service-summary__lead {
    font-size: var(--text-base, 1rem);
    line-height: var(
      --tw-leading,
      var(--text-base--line-height, calc(1.5 / 1))
    );
  }
}
:where(.service-summary__list > :not(:last-child)) {
  --tw-space-y-reverse: 0;
  margin-block-start: calc(
    calc(var(--spacing, 0.25rem) * 12) * var(--tw-space-y-reverse)
  );
  margin-block-end: calc(
    calc(var(--spacing, 0.25rem) * 12) * calc(1 - var(--tw-space-y-reverse))
  );
}
@media (width >= 64rem) {
  :where(.service-summary__list > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(
      calc(var(--spacing, 0.25rem) * 24) * var(--tw-space-y-reverse)
    );
    margin-block-end: calc(
      calc(var(--spacing, 0.25rem) * 24) * calc(1 - var(--tw-space-y-reverse))
    );
  }
}
.service-summary__service-row {
  display: grid;
  align-items: center;
  gap: calc(var(--spacing, 0.25rem) * 8);
}
@media (width >= 64rem) {
  .service-summary__service-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (width >= 64rem) {
  .service-summary__service-row {
    gap: calc(var(--spacing, 0.25rem) * 16);
  }
}
.service-summary__image-frame {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background-color: var(--color-zinc-200, oklch(92% 0.004 286.32));
}
.service-summary__image {
  position: absolute;
  inset: 0px;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: bottom;
}
.service-summary__image-shade {
  position: absolute;
  inset: 0px;
  background-color: color-mix(
    in srgb,
    oklch(21% 0.006 285.885) 15%,
    transparent
  );
}
@supports (color: color-mix(in lab, red, red)) {
  .service-summary__image-shade {
    background-color: color-mix(
      in oklab,
      var(--color-zinc-900, oklch(21% 0.006 285.885)) 15%,
      transparent
    );
  }
}
.service-summary__image-label {
  position: absolute;
  bottom: calc(var(--spacing, 0.25rem) * 6);
  left: calc(var(--spacing, 0.25rem) * 6);
  background-color: color-mix(in srgb, #0b1644 80%, transparent);
}
@supports (color: color-mix(in lab, red, red)) {
  .service-summary__image-label {
    background-color: color-mix(in oklab, var(--color-accent) 80%, transparent);
  }
}
.service-summary__image-label {
  padding-inline: calc(var(--spacing, 0.25rem) * 3);
  padding-block: var(--spacing, 0.25rem);
  font-size: var(--text-xs, 0.75rem);
  line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
  --tw-font-weight: var(--font-weight-bold, 700);
  font-weight: var(--font-weight-bold, 700);
  --tw-tracking: var(--tracking-widest, 0.1em);
  letter-spacing: var(--tracking-widest, 0.1em);
  color: var(--color-white, #fff);
  opacity: 90%;
  --tw-backdrop-blur: blur(var(--blur-sm, 8px));
  -webkit-backdrop-filter: var(--tw-backdrop-blur,)
    var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,)
    var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,)
    var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,)
    var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,)
    var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,)
    var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,)
    var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,)
    var(--tw-backdrop-sepia,);
}
.service-summary__service-title {
  margin-bottom: calc(var(--spacing, 0.25rem) * 6);
  font-family: var(--font-heading);
  font-size: var(--text-2xl, 1.5rem);
  line-height: var(--tw-leading, var(--text-2xl--line-height, calc(2 / 1.5)));
  --tw-font-weight: var(--font-weight-bold, 700);
  font-weight: var(--font-weight-bold, 700);
  color: var(--color-zinc-900, oklch(21% 0.006 285.885));
}
@media (width >= 48rem) {
  .service-summary__service-title {
    font-size: var(--text-3xl, 1.875rem);
    line-height: var(
      --tw-leading,
      var(--text-3xl--line-height, calc(2.25 / 1.875))
    );
  }
}
.service-summary__description {
  margin-bottom: calc(var(--spacing, 0.25rem) * 6);
  --tw-leading: var(--leading-relaxed, 1.625);
  line-height: var(--leading-relaxed, 1.625);
  color: var(--color-zinc-600, oklch(44.2% 0.017 285.786));
}
:where(.service-summary__features > :not(:last-child)) {
  --tw-space-y-reverse: 0;
  margin-block-start: calc(
    calc(var(--spacing, 0.25rem) * 3) * var(--tw-space-y-reverse)
  );
  margin-block-end: calc(
    calc(var(--spacing, 0.25rem) * 3) * calc(1 - var(--tw-space-y-reverse))
  );
}
.service-summary__features {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
  border-color: var(--color-zinc-200, oklch(92% 0.004 286.32));
  padding-top: calc(var(--spacing, 0.25rem) * 6);
}
.service-summary__feature {
  display: flex;
  font-size: var(--text-sm, 0.875rem);
  line-height: var(
    --tw-leading,
    var(--text-sm--line-height, calc(1.25 / 0.875))
  );
  color: var(--color-zinc-700, oklch(37% 0.013 285.805));
}
@media (width >= 48rem) {
  .service-summary__feature {
    font-size: var(--text-base, 1rem);
    line-height: var(
      --tw-leading,
      var(--text-base--line-height, calc(1.5 / 1))
    );
  }
}
.service-summary__feature-mark {
  margin-right: calc(var(--spacing, 0.25rem) * 4);
  color: var(--color-accent);
}
.service-summary__service-row-hvac {
  display: grid;
  flex-direction: column-reverse;
  align-items: center;
  gap: calc(var(--spacing, 0.25rem) * 8);
}
@media (width >= 64rem) {
  .service-summary__service-row-hvac {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (width >= 64rem) {
  .service-summary__service-row-hvac {
    flex-direction: row-reverse;
  }
}
@media (width >= 64rem) {
  .service-summary__service-row-hvac {
    gap: calc(var(--spacing, 0.25rem) * 16);
  }
}
.service-summary__hvac-background {
  position: absolute;
  inset: 0px;
  background-size: cover;
  background-position: center;
}
.service-summary__hvac-shade {
  position: absolute;
  inset: 0px;
  background-color: color-mix(
    in srgb,
    oklch(21% 0.006 285.885) 20%,
    transparent
  );
}
@supports (color: color-mix(in lab, red, red)) {
  .service-summary__hvac-shade {
    background-color: color-mix(
      in oklab,
      var(--color-zinc-900, oklch(21% 0.006 285.885)) 20%,
      transparent
    );
  }
}
.service-summary__hvac-label {
  position: absolute;
  bottom: calc(var(--spacing, 0.25rem) * 6);
  left: calc(var(--spacing, 0.25rem) * 6);
  background-color: color-mix(in srgb, #0b1644 80%, transparent);
}
@supports (color: color-mix(in lab, red, red)) {
  .service-summary__hvac-label {
    background-color: color-mix(in oklab, var(--color-accent) 80%, transparent);
  }
}
.service-summary__hvac-label {
  padding-inline: calc(var(--spacing, 0.25rem) * 3);
  padding-block: var(--spacing, 0.25rem);
  font-size: var(--text-xs, 0.75rem);
  line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
  --tw-font-weight: var(--font-weight-bold, 700);
  font-weight: var(--font-weight-bold, 700);
  --tw-tracking: var(--tracking-widest, 0.1em);
  letter-spacing: var(--tracking-widest, 0.1em);
  color: var(--color-white, #fff);
  opacity: 90%;
  --tw-backdrop-blur: blur(var(--blur-sm, 8px));
  -webkit-backdrop-filter: var(--tw-backdrop-blur,)
    var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,)
    var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,)
    var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,)
    var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,)
    var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,)
    var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,)
    var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,)
    var(--tw-backdrop-sepia,);
}
.service-summary__actions {
  margin-top: calc(var(--spacing, 0.25rem) * 16);
  text-align: center;
}
.service-summary__link {
  display: inline-flex;
  align-items: center;
  gap: calc(var(--spacing, 0.25rem) * 2);
  font-size: var(--text-base, 1rem);
  line-height: var(--tw-leading, var(--text-base--line-height, calc(1.5 / 1)));
  --tw-font-weight: var(--font-weight-bold, 700);
  font-weight: var(--font-weight-bold, 700);
  color: var(--color-zinc-900, oklch(21% 0.006 285.885));
  transition-property:
    color, background-color, border-color, outline-color, text-decoration-color,
    fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(
    --tw-ease,
    var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1))
  );
  transition-duration: var(
    --tw-duration,
    var(--default-transition-duration, 150ms)
  );
}
@media (hover: hover) {
  .service-summary__link:hover {
    color: var(--color-accent);
  }
}
.service-summary__arrow {
  height: calc(var(--spacing, 0.25rem) * 5);
  width: calc(var(--spacing, 0.25rem) * 5);
  color: var(--color-accent);
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: var(
    --tw-ease,
    var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1))
  );
  transition-duration: var(
    --tw-duration,
    var(--default-transition-duration, 150ms)
  );
}
@media (hover: hover) {
  .service-summary__arrow:is(:where(.hover-group):hover *) {
    --tw-translate-x: calc(var(--spacing, 0.25rem) * 1.5);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or
    ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *,
    ::before,
    ::after,
    ::backdrop {
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-leading: initial;
      --tw-space-y-reverse: 0;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-border-style: solid;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
    }
  }
}
@media (max-width: 1023px) {
  .hero__content { width: 100%; min-width: 0; }
}
