
  /* ── Split Studio layout ── */
  .contact-page-layout {
    margin-left: auto;
    margin-right: auto;
    display: grid;
    min-width: 0px;
    max-width: var(--page-max);
    gap: var(--space-xl);
    padding-left: var(--page-gutter);
    padding-right: var(--page-gutter);
    padding-top: var(--space-2xl);
    padding-bottom: var(--space-2xl);
    grid-template-columns: minmax(0, 1fr);
}

  @media (min-width: 768px) {
    .contact-page-layout {
      grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
      grid-template-rows: auto auto 1fr;
      -moz-column-gap: var(--space-2xl);
           column-gap: var(--space-2xl);
      row-gap: var(--space-lg);
      align-items: start;
      padding-top: var(--space-3xl);
      padding-bottom: var(--space-3xl);
    }

    .contact-hero {
      grid-column: 1;
      grid-row: 1;
    }

    .contact-info {
      grid-column: 1;
      grid-row: 2;
    }

    .contact-form-wrap {
      grid-column: 2;
      grid-row: 1 / span 2;
    }
  }

  /* ── Hero ── */
  .contact-hero {
    min-width: 0px;
    animation: contact-enter var(--dur-long) var(--ease-out) both;
}

  .contact-hero__eyebrow {
    margin-bottom: var(--space-sm);
    font-family: var(--font-label);
    text-transform: uppercase;
    letter-spacing: var(--tracking-label);
    color: var(--text-xs);
    color: var(--color-muted);
}

  .contact-hero__title {
    margin-bottom: var(--space-md);
    min-width: 0px;
    font-family: var(--font-display);
    font-size: var(--text-display);
    font-weight: 900;
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-display);
    color: var(--color-ink);
    font-weight: var(--display-weight);
    font-style: var(--display-style);
    overflow-wrap: anywhere;
}

  .contact-hero__subhead {
    max-width: var(--measure);
    font-size: var(--text-md);
    line-height: var(--lh-relaxed);
    color: var(--color-neutral);
}

  .contact-hero__phone {
    margin-top: var(--space-md);
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 700;
    line-height: var(--lh-snug);
}

  .contact-hero__phone-link {
    color: var(--color-ink);
    text-decoration-line: none;
}

  @media (hover: hover) {
    .contact-hero__phone-link:hover {
      color: var(--color-accent);
    }
  }

  .contact-hero__phone-link:focus-visible {
    outline-style: solid;
    outline-width: 2px;
    outline-offset: 2px;
    outline-color: var(--color-focus);
}

  /* ── Info panel ── */
  .contact-info {
    min-width: 0px;
    border-top-width: 1px;
    border-color: var(--color-rule);
    padding-top: var(--space-lg);
    animation: contact-enter var(--dur-long) var(--ease-out) 80ms both;
}

  .contact-info__heading {
    margin-bottom: var(--space-md);
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 700;
    line-height: var(--lh-snug);
    color: var(--color-ink);
}

  .contact-info__address {
    margin-bottom: var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    font-size: var(--text-base);
    font-style: normal;
    line-height: var(--lh-normal);
    color: var(--color-ink-2);
}

  .contact-info__org {
    margin-bottom: var(--space-xs);
    font-family: var(--font-display);
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--color-ink);
}

  .contact-info__details {
    display: grid;
    gap: var(--space-md);
}

  .contact-info__item {
    display: grid;
    gap: var(--space-2xs);
}

  .contact-info__label {
    font-family: var(--font-label);
    text-transform: uppercase;
    letter-spacing: var(--tracking-label);
    color: var(--text-xs);
    color: var(--color-muted);
}

  .contact-info__value {
    font-size: var(--text-base);
    line-height: var(--lh-normal);
    color: var(--color-ink-2);
}

  .contact-info__link {
    color: var(--color-accent-ink);
    text-decoration-line: underline;
    text-decoration-color: var(--color-rule);
    text-underline-offset: 3px;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    transition-duration: var(--dur-micro);
    transition-timing-function: var(--ease-out);
}

  @media (hover: hover) {
    .contact-info__link:hover {
        color: var(--color-ink);
        text-decoration-color: var(--color-accent-ink);
    }
  }

  .contact-info__link:focus-visible {
    outline-style: solid;
    outline-width: 2px;
    outline-offset: 2px;
    outline-color: var(--color-focus);
}

  .contact-info__maps-link {
    margin-top: var(--space-xs);
    display: inline-block;
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-accent);
    text-decoration-line: none;
}

  @media (hover: hover) {
    .contact-info__maps-link:hover {
      text-decoration-line: underline;
    }
  }

  .contact-info__quote {
    margin-top: var(--space-lg);
    font-size: var(--text-sm);
    line-height: var(--lh-relaxed);
    color: var(--color-neutral);
}

  .contact-info__quote a {
    font-weight: 600;
    color: var(--color-ink);
    text-decoration-line: none;
}

  @media (hover: hover) {
    .contact-info__quote a:hover {
      color: var(--color-accent);
    }
  }

  .contact-info__map {
    margin-top: var(--space-lg);
    overflow: hidden;
    border-width: 1px;
    border-color: var(--color-rule);
}

  .contact-info__map-frame {
    display: block;
    height: 220px;
    width: 100%;
    border: 0;
}

  .sg-contact-main .contact-page-layout {
    padding-top: var(--space-2xl);
}

  /* ── Form card ── */
  .contact-form-wrap {
    min-width: 0px;
    animation: contact-enter var(--dur-long) var(--ease-out) 160ms both;
}

  .contact-form-card {
    border-width: 1px;
    border-color: var(--color-rule);
    background-color: var(--color-paper-2);
    padding: var(--space-xl);
    --tw-shadow-color: var(--shadow-card);
    --tw-shadow: var(--tw-shadow-colored);
}

  .contact-form-card__title {
    margin-bottom: var(--space-lg);
    font-family: var(--font-display);
    font-size: var(--text-2xl);
    font-weight: 700;
    line-height: var(--lh-snug);
    color: var(--color-ink);
}

  .contact-form-status {
    margin-bottom: var(--space-md);
    border-width: 1px;
    padding-left: var(--space-md);
    padding-right: var(--space-md);
    padding-top: var(--space-sm);
    padding-bottom: var(--space-sm);
    font-size: var(--text-sm);
    line-height: var(--lh-normal);
}

  .contact-form-status--success {
    border-color: var(--color-success);
    color: var(--color-ink-2);
    background: color-mix(in oklch, var(--color-success) 8%, var(--color-paper));
}

  .contact-form-status--error {
    border-color: var(--color-error);
    color: var(--color-ink-2);
    background: color-mix(in oklch, var(--color-error) 8%, var(--color-paper));
}

  .contact-form {
    display: grid;
    gap: var(--space-md);
}

  .contact-form__field {
    display: grid;
    gap: var(--space-2xs);
}

  .contact-form__label {
    font-size: var(--text-sm);
    font-weight: 500;
    line-height: var(--lh-snug);
    color: var(--color-ink);
}

  .contact-form__required {
    color: var(--color-accent-ink);
}

  .contact-form__control {
    position: relative;
}

  /* Input, 8 states */
  .contact-form__input {
    box-sizing: border-box;
    display: block;
    height: 2.75rem;
    width: 100%;
    min-width: 0px;
    border-width: 1px;
    border-color: var(--color-rule-2);
    background-color: var(--color-paper);
    padding-left: var(--space-md);
    padding-right: var(--space-md);
    font-size: var(--text-base);
    line-height: var(--lh-normal);
    color: var(--color-ink);
    outline-style: solid;
    outline-width: 2px;
    outline-offset: 1px;
    outline-color: transparent;
    transition: background-color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out);
}

  .contact-form__input::-moz-placeholder {
    color: var(--color-muted);
}

  .contact-form__input::placeholder {
    color: var(--color-muted);
}

  @media (hover: hover) {
    .contact-form__input:hover:not(:disabled):not([aria-disabled='true']) {
        background-color: var(--color-paper-2);
    }
  }

  .contact-form__input:focus-visible {
    border-color: var(--color-ink-2);
    outline-color: var(--color-focus);
}

  .contact-form__input:active:not(:disabled) {
    --tw-translate-y: 1px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    background-color: var(--color-paper-3);
}

  .contact-form__input:disabled,
  .contact-form__input[aria-disabled='true'] {
    cursor: not-allowed;
    opacity: 0.55;
}

  .contact-form__input:disabled::-moz-placeholder, .contact-form__input[aria-disabled='true']::-moz-placeholder {
    color: var(--color-rule-2);
}

  .contact-form__input:disabled::placeholder,
  .contact-form__input[aria-disabled='true']::placeholder {
    color: var(--color-rule-2);
}

  .contact-form[data-state='loading'] .contact-form__input {
    opacity: 0.8;
}

  .contact-form__input[data-state='error'],
  .contact-form__input[aria-invalid='true'] {
    border-color: var(--color-error);
}

  .contact-form__input[data-state='success']:not([aria-invalid='true']) {
    border-color: color-mix(in oklch, var(--color-success) 40%, var(--color-rule-2));
  }

  .contact-form--success .contact-form__input:not([aria-invalid='true']) {
    border-color: color-mix(in oklch, var(--color-success) 40%, var(--color-rule-2));
  }

  .contact-form__textarea {
    height: auto;
    min-height: 6rem;
    resize: vertical;
    padding-top: var(--space-sm);
    padding-bottom: var(--space-sm);
}

  .contact-form__helper {
    min-height: 1lh;
    font-size: var(--text-xs);
    line-height: var(--lh-normal);
    color: var(--color-muted);
}

  .contact-form__helper--error {
    color: var(--color-error);
}

  /* Submit button, 8 states */
  .contact-form__submit {
    position: relative;
    display: inline-flex;
    height: 2.75rem;
    min-width: 11rem;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border-width: 1px;
    border-color: var(--color-ink);
    background-color: var(--color-ink);
    padding-left: var(--space-xl);
    padding-right: var(--space-xl);
    font-size: var(--text-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: var(--tracking-label);
    color: var(--color-paper);
    outline-style: solid;
    outline-width: 2px;
    outline-offset: 2px;
    outline-color: transparent;
    transition: transform var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out), opacity var(--dur-micro) var(--ease-out);
}

  @media (hover: hover) {
    .contact-form__submit:hover:not(:disabled) {
        border-color: var(--color-accent);
        background-color: var(--color-accent);
    }
  }

  .contact-form__submit:focus-visible {
    outline-color: var(--color-focus);
}

  .contact-form__submit:active:not(:disabled) {
    --tw-translate-y: 1px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

  .contact-form__submit:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

  .contact-form[data-state='loading'] .contact-form__submit {
    pointer-events: none;
    opacity: 0.7;
}

  .contact-form[data-state='loading'] .contact-form__submit-text {
    opacity: 0;
}

  .contact-form[data-state='loading'] .contact-form__submit-spinner {
    position: absolute;
    inset: 0px;
    margin: auto;
    display: block;
    height: 1rem;
    width: 1rem;
}

  @keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

  .contact-form[data-state='loading'] .contact-form__submit-spinner {
    animation: spin 1s linear infinite;
    border-radius: 9999px;
    border-width: 2px;
    border-color: var(--color-paper);
    border-right-color: transparent;
}

  .contact-form__submit-spinner {
    display: none;
}

  .contact-form--error .contact-form__submit {
    border-color: var(--color-error);
    background-color: var(--color-error);
}

  .contact-form--success .contact-form__submit {
    border-color: var(--color-success);
    background: var(--color-success);
  }

  .contact-form__actions {
    padding-top: var(--space-sm);
}
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
.pointer-events-none {
    pointer-events: none;
}
.absolute {
    position: absolute;
}
.relative {
    position: relative;
}
.inset-0 {
    inset: 0px;
}
.-top-24 {
    top: -6rem;
}
.bottom-0 {
    bottom: 0px;
}
.left-0 {
    left: 0px;
}
.left-1\/2 {
    left: 50%;
}
.right-0 {
    right: 0px;
}
.top-1\/2 {
    top: 50%;
}
.z-\[1\] {
    z-index: 1;
}
.z-\[2\] {
    z-index: 2;
}
.z-\[3\] {
    z-index: 3;
}
.z-\[5\] {
    z-index: 5;
}
.m-auto {
    margin: auto;
}
.mx-auto {
    margin-left: auto;
    margin-right: auto;
}
.my-\[var\(--space-xs\)\] {
    margin-top: var(--space-xs);
    margin-bottom: var(--space-xs);
}
.-mt-8 {
    margin-top: -2rem;
}
.mb-\[var\(--space-lg\)\] {
    margin-bottom: var(--space-lg);
}
.mb-\[var\(--space-md\)\] {
    margin-bottom: var(--space-md);
}
.mb-\[var\(--space-sm\)\] {
    margin-bottom: var(--space-sm);
}
.mb-\[var\(--space-xl\)\] {
    margin-bottom: var(--space-xl);
}
.mb-\[var\(--space-xs\)\] {
    margin-bottom: var(--space-xs);
}
.mt-\[var\(--space-lg\)\] {
    margin-top: var(--space-lg);
}
.mt-auto {
    margin-top: auto;
}
.box-border {
    box-sizing: border-box;
}
.block {
    display: block;
}
.flex {
    display: flex;
}
.inline-flex {
    display: inline-flex;
}
.grid {
    display: grid;
}
.hidden {
    display: none;
}
.aspect-\[4\/3\] {
    aspect-ratio: 4/3;
}
.aspect-square {
    aspect-ratio: 1 / 1;
}
.h-11 {
    height: 2.75rem;
}
.h-14 {
    height: 3.5rem;
}
.h-4 {
    height: 1rem;
}
.h-96 {
    height: 24rem;
}
.h-\[5\.5rem\] {
    height: 5.5rem;
}
.h-auto {
    height: auto;
}
.h-full {
    height: 100%;
}
.min-h-\[1lh\] {
    min-height: 1lh;
}
.min-h-\[2\.75rem\] {
    min-height: 2.75rem;
}
.min-h-\[3rem\] {
    min-height: 3rem;
}
.min-h-\[6rem\] {
    min-height: 6rem;
}
.w-14 {
    width: 3.5rem;
}
.w-4 {
    width: 1rem;
}
.w-96 {
    width: 24rem;
}
.w-\[5\.5rem\] {
    width: 5.5rem;
}
.w-full {
    width: 100%;
}
.min-w-0 {
    min-width: 0px;
}
.min-w-\[11rem\] {
    min-width: 11rem;
}
.max-w-\[22rem\] {
    max-width: 22rem;
}
.max-w-\[36ch\] {
    max-width: 36ch;
}
.max-w-\[40rem\] {
    max-width: 40rem;
}
.max-w-\[48rem\] {
    max-width: 48rem;
}
.max-w-\[var\(--measure\)\] {
    max-width: var(--measure);
}
.max-w-\[var\(--page-max\)\] {
    max-width: var(--page-max);
}
.flex-1 {
    flex: 1 1 0%;
}
.-translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-px {
    --tw-translate-y: 1px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-\[1\.03\] {
    --tw-scale-x: 1.03;
    --tw-scale-y: 1.03;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.animate-\[hero-spin_18s_linear_infinite\] {
    animation: hero-spin 18s linear infinite;
}
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}
.animate-spin {
    animation: spin 1s linear infinite;
}
.cursor-not-allowed {
    cursor: not-allowed;
}
.cursor-pointer {
    cursor: pointer;
}
.resize-y {
    resize: vertical;
}
.flex-col {
    flex-direction: column;
}
.flex-wrap {
    flex-wrap: wrap;
}
.items-center {
    align-items: center;
}
.justify-center {
    justify-content: center;
}
.gap-\[var\(--space-2xs\)\] {
    gap: var(--space-2xs);
}
.gap-\[var\(--space-lg\)\] {
    gap: var(--space-lg);
}
.gap-\[var\(--space-md\)\] {
    gap: var(--space-md);
}
.gap-\[var\(--space-sm\)\] {
    gap: var(--space-sm);
}
.gap-\[var\(--space-xl\)\] {
    gap: var(--space-xl);
}
.overflow-hidden {
    overflow: hidden;
}
.rounded-\[var\(--radius-lg\)\] {
    border-radius: var(--radius-lg);
}
.rounded-full {
    border-radius: 9999px;
}
.border {
    border-width: 1px;
}
.border-2 {
    border-width: 2px;
}
.border-t {
    border-top-width: 1px;
}
.border-dashed {
    border-style: dashed;
}
.border-\[var\(--color-accent\)\] {
    border-color: var(--color-accent);
}
.border-\[var\(--color-error\)\] {
    border-color: var(--color-error);
}
.border-\[var\(--color-ink\)\] {
    border-color: var(--color-ink);
}
.border-\[var\(--color-ink-2\)\] {
    border-color: var(--color-ink-2);
}
.border-\[var\(--color-paper\)\] {
    border-color: var(--color-paper);
}
.border-\[var\(--color-rule\)\] {
    border-color: var(--color-rule);
}
.border-\[var\(--color-rule-2\)\] {
    border-color: var(--color-rule-2);
}
.border-\[var\(--color-success\)\] {
    border-color: var(--color-success);
}
.bg-\[var\(--color-accent\)\] {
    background-color: var(--color-accent);
}
.bg-\[var\(--color-error\)\] {
    background-color: var(--color-error);
}
.bg-\[var\(--color-ink\)\] {
    background-color: var(--color-ink);
}
.bg-\[var\(--color-paper\)\] {
    background-color: var(--color-paper);
}
.bg-\[var\(--color-paper-2\)\] {
    background-color: var(--color-paper-2);
}
.bg-\[var\(--color-paper-3\)\] {
    background-color: var(--color-paper-3);
}
.fill-current {
    fill: currentColor;
}
.object-cover {
    -o-object-fit: cover;
       object-fit: cover;
}
.p-\[var\(--space-lg\)\] {
    padding: var(--space-lg);
}
.p-\[var\(--space-sm\)\] {
    padding: var(--space-sm);
}
.p-\[var\(--space-xl\)\] {
    padding: var(--space-xl);
}
.px-\[var\(--hero-gutter\)\] {
    padding-left: var(--hero-gutter);
    padding-right: var(--hero-gutter);
}
.px-\[var\(--page-gutter\)\] {
    padding-left: var(--page-gutter);
    padding-right: var(--page-gutter);
}
.px-\[var\(--space-md\)\] {
    padding-left: var(--space-md);
    padding-right: var(--space-md);
}
.px-\[var\(--space-xl\)\] {
    padding-left: var(--space-xl);
    padding-right: var(--space-xl);
}
.py-\[var\(--space-2xl\)\] {
    padding-top: var(--space-2xl);
    padding-bottom: var(--space-2xl);
}
.py-\[var\(--space-sm\)\] {
    padding-top: var(--space-sm);
    padding-bottom: var(--space-sm);
}
.pb-\[var\(--space-2xl\)\] {
    padding-bottom: var(--space-2xl);
}
.pb-\[var\(--space-3xl\)\] {
    padding-bottom: var(--space-3xl);
}
.pl-\[var\(--space-md\)\] {
    padding-left: var(--space-md);
}
.pt-\[clamp\(6rem\2c 12vw\2c 9rem\)\] {
    padding-top: clamp(6rem, 12vw, 9rem);
}
.pt-\[var\(--space-lg\)\] {
    padding-top: var(--space-lg);
}
.pt-\[var\(--space-sm\)\] {
    padding-top: var(--space-sm);
}
.font-\[family-name\:var\(--font-display\)\] {
    font-family: var(--font-display);
}
.font-\[family-name\:var\(--font-label\)\] {
    font-family: var(--font-label);
}
.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}
.text-\[0\.75rem\] {
    font-size: 0.75rem;
}
.text-\[9px\] {
    font-size: 9px;
}
.text-\[length\:var\(--text-2xl\)\] {
    font-size: var(--text-2xl);
}
.text-\[length\:var\(--text-3xl\)\] {
    font-size: var(--text-3xl);
}
.text-\[length\:var\(--text-base\)\] {
    font-size: var(--text-base);
}
.text-\[length\:var\(--text-display\)\] {
    font-size: var(--text-display);
}
.text-\[length\:var\(--text-display-s\)\] {
    font-size: var(--text-display-s);
}
.text-\[length\:var\(--text-lg\)\] {
    font-size: var(--text-lg);
}
.text-\[length\:var\(--text-md\)\] {
    font-size: var(--text-md);
}
.text-\[length\:var\(--text-sm\)\] {
    font-size: var(--text-sm);
}
.text-\[length\:var\(--text-xl\)\] {
    font-size: var(--text-xl);
}
.text-\[length\:var\(--text-xs\)\] {
    font-size: var(--text-xs);
}
.font-black {
    font-weight: 900;
}
.font-bold {
    font-weight: 700;
}
.font-medium {
    font-weight: 500;
}
.font-semibold {
    font-weight: 600;
}
.uppercase {
    text-transform: uppercase;
}
.not-italic {
    font-style: normal;
}
.leading-\[1\.02\] {
    line-height: 1.02;
}
.leading-\[1\.5\] {
    line-height: 1.5;
}
.leading-\[1\.65\] {
    line-height: 1.65;
}
.leading-\[var\(--lh-normal\)\] {
    line-height: var(--lh-normal);
}
.leading-\[var\(--lh-relaxed\)\] {
    line-height: var(--lh-relaxed);
}
.leading-\[var\(--lh-snug\)\] {
    line-height: var(--lh-snug);
}
.leading-\[var\(--lh-tight\)\] {
    line-height: var(--lh-tight);
}
.tracking-\[-0\.02em\] {
    letter-spacing: -0.02em;
}
.tracking-\[0\.22em\] {
    letter-spacing: 0.22em;
}
.tracking-\[0\.28em\] {
    letter-spacing: 0.28em;
}
.tracking-\[var\(--tracking-display\)\] {
    letter-spacing: var(--tracking-display);
}
.tracking-\[var\(--tracking-label\)\] {
    letter-spacing: var(--tracking-label);
}
.text-\[var\(--color-accent\)\] {
    color: var(--color-accent);
}
.text-\[var\(--color-accent-ink\)\] {
    color: var(--color-accent-ink);
}
.text-\[var\(--color-error\)\] {
    color: var(--color-error);
}
.text-\[var\(--color-ink\)\] {
    color: var(--color-ink);
}
.text-\[var\(--color-ink-2\)\] {
    color: var(--color-ink-2);
}
.text-\[var\(--color-muted\)\] {
    color: var(--color-muted);
}
.text-\[var\(--color-neutral\)\] {
    color: var(--color-neutral);
}
.text-\[var\(--color-paper\)\] {
    color: var(--color-paper);
}
.text-\[var\(--color-rule-2\)\] {
    color: var(--color-rule-2);
}
.text-\[var\(--text-xs\)\] {
    color: var(--text-xs);
}
.text-inherit {
    color: inherit;
}
.underline {
    text-decoration-line: underline;
}
.no-underline {
    text-decoration-line: none;
}
.decoration-\[var\(--color-accent-ink\)\] {
    text-decoration-color: var(--color-accent-ink);
}
.decoration-\[var\(--color-rule\)\] {
    text-decoration-color: var(--color-rule);
}
.underline-offset-\[3px\] {
    text-underline-offset: 3px;
}
.opacity-\[0\.55\] {
    opacity: 0.55;
}
.shadow-\[var\(--shadow-card\)\] {
    --tw-shadow-color: var(--shadow-card);
    --tw-shadow: var(--tw-shadow-colored);
}
.shadow-\[var\(--shadow-sm\)\] {
    --tw-shadow-color: var(--shadow-sm);
    --tw-shadow: var(--tw-shadow-colored);
}
.outline {
    outline-style: solid;
}
.outline-2 {
    outline-width: 2px;
}
.outline-offset-2 {
    outline-offset: 2px;
}
.outline-offset-\[1px\] {
    outline-offset: 1px;
}
.outline-offset-\[2px\] {
    outline-offset: 2px;
}
.outline-\[var\(--color-focus\)\] {
    outline-color: var(--color-focus);
}
.outline-transparent {
    outline-color: transparent;
}
.blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.duration-\[var\(--dur-long\)\] {
    transition-duration: var(--dur-long);
}
.duration-\[var\(--dur-micro\)\] {
    transition-duration: var(--dur-micro);
}
.duration-\[var\(--dur-short\)\] {
    transition-duration: var(--dur-short);
}
.ease-\[var\(--ease-out\)\] {
    transition-timing-function: var(--ease-out);
}

/* Hallmark · Split Studio contact page styles, tokens in kadence-child/assets/css/tokens.css */

@keyframes contact-enter {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-hero,
  .contact-info,
  .contact-form-wrap {
    animation: contact-enter-reduced var(--dur-short) var(--ease-out) both;
  }

  @keyframes contact-enter-reduced {
    from { opacity: 0; }
    to { opacity: 1; }
  }
}

@media (max-width: 767px) {
  .contact-page-layout {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
  }

  .contact-form-card {
    padding: var(--space-lg);
  }

  .contact-hero__title {
    font-size: var(--text-display-s);
  }
}

@media (max-width: 414px) {
  .contact-form__submit {
    width: 100%;
  }
}

@media (max-width: 320px) {
  .contact-page-layout {
    padding-left: var(--space-md);
    padding-right: var(--space-md);
  }

  .contact-form-card {
    padding: var(--space-md);
  }
}

/* ── Security packages ── */

.packages-archive,
.package-single,
.package-grid-block {
    margin-left: auto;
    margin-right: auto;
    min-width: 0px;
    max-width: var(--page-max);
    padding-left: var(--page-gutter);
    padding-right: var(--page-gutter);
    padding-top: var(--space-2xl);
    padding-bottom: var(--space-2xl);
}

.packages-archive__hero,
.package-grid-block__header {
    margin-bottom: var(--space-xl);
    max-width: 48rem;
}

.packages-archive__eyebrow,
.package-card__type,
.package-single__type {
    margin-bottom: var(--space-sm);
    font-family: var(--font-label);
    text-transform: uppercase;
    letter-spacing: var(--tracking-label);
    color: var(--text-xs);
    color: var(--color-muted);
}

.packages-archive__title,
.package-grid-block__title {
    margin-bottom: var(--space-md);
    min-width: 0px;
    font-family: var(--font-display);
    font-size: var(--text-display-s);
    font-weight: 900;
    line-height: var(--lh-tight);
    letter-spacing: var(--tracking-display);
    color: var(--color-ink);
  overflow-wrap: anywhere;
}

.packages-archive__intro,
.package-grid-block__intro {
    font-size: var(--text-md);
    line-height: var(--lh-relaxed);
    color: var(--color-neutral);
}

.packages-archive__filters {
    margin-bottom: var(--space-xl);
    display: flex;
    min-width: 0px;
    flex-wrap: wrap;
    gap: var(--space-sm);
}

.packages-archive__filter {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    border-radius: 9999px;
    border-width: 1px;
    border-color: var(--color-rule);
    padding-left: var(--space-md);
    padding-right: var(--space-md);
    font-size: var(--text-sm);
    color: var(--color-ink-2);
    text-decoration-line: none;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    transition-duration: var(--dur-short);
    transition-timing-function: var(--ease-out);
}

.packages-archive__filter:hover,
.packages-archive__filter:focus-visible {
    border-color: var(--color-ink);
    color: var(--color-ink);
}

.packages-archive__filter.is-active {
    border-color: var(--color-accent);
    background-color: var(--color-accent);
    color: var(--color-paper);
}

.packages-grid {
    display: grid;
    min-width: 0px;
    gap: var(--space-lg);
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) {
  .packages-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .packages-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.package-card {
    display: flex;
    min-width: 0px;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--radius-lg);
    border-width: 1px;
    border-color: var(--color-rule);
    background-color: var(--color-paper-2);
    --tw-shadow-color: var(--shadow-sm);
    --tw-shadow: var(--tw-shadow-colored);
}

.package-card__media {
    position: relative;
    display: block;
    aspect-ratio: 4/3;
    overflow: hidden;
    background-color: var(--color-paper-3);
    text-decoration-line: none;
}

.package-card__media--placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
}

.package-card__placeholder-icon {
    font-size: var(--text-3xl);
    color: var(--color-muted);
}

.package-card__image {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    transition-duration: var(--dur-long);
    transition-timing-function: var(--ease-out);
}

.package-card:hover .package-card__image {
    --tw-scale-x: 1.03;
    --tw-scale-y: 1.03;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.package-card__body {
    display: flex;
    min-width: 0px;
    flex: 1 1 0%;
    flex-direction: column;
    gap: var(--space-sm);
    padding: var(--space-lg);
}

.package-card__title {
    min-width: 0px;
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 700;
    line-height: var(--lh-snug);
    color: var(--color-ink);
}

.package-card__title a {
    color: inherit;
    text-decoration-line: none;
}

.package-card__title a:hover {
    color: var(--color-accent);
}

.package-card__tagline {
    font-size: var(--text-sm);
    line-height: var(--lh-relaxed);
    color: var(--color-neutral);
}

.package-card__price {
    font-family: var(--font-label);
    font-size: var(--text-sm);
    text-transform: uppercase;
    letter-spacing: var(--tracking-label);
    color: var(--color-accent);
}

.package-card__features {
    margin-top: var(--space-xs);
    margin-bottom: var(--space-xs);
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
    padding-left: var(--space-md);
    font-size: var(--text-sm);
    color: var(--color-ink-2);
}

.package-card__actions {
    margin-top: auto;
    display: flex;
    min-width: 0px;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-md);
    padding-top: var(--space-sm);
}

.package-card__link {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-ink);
    text-decoration-line: none;
}

.package-card__cta {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    border-radius: 9999px;
    background-color: var(--color-accent);
    padding-left: var(--space-md);
    padding-right: var(--space-md);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-paper);
    text-decoration-line: none;
}

.packages-empty,
.package-grid-block__empty {
    border-radius: var(--radius-lg);
    border-width: 1px;
    border-style: dashed;
    border-color: var(--color-rule);
    background-color: var(--color-paper-2);
    padding: var(--space-xl);
    text-align: center;
}

.packages-empty__title {
    margin-bottom: var(--space-sm);
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-weight: 700;
    color: var(--color-ink);
}

.package-grid-block__archive-link {
    margin-top: var(--space-lg);
    font-size: var(--text-sm);
    font-weight: 600;
}

.package-single__back {
    margin-bottom: var(--space-lg);
    font-size: var(--text-sm);
}

.package-single__layout {
    display: grid;
    min-width: 0px;
    gap: var(--space-xl);
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) {
  .package-single__layout {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: start;
  }
}

.package-single__title {
    margin-bottom: var(--space-md);
    min-width: 0px;
    font-family: var(--font-display);
    font-size: var(--text-display-s);
    font-weight: 900;
    line-height: var(--lh-tight);
    color: var(--color-ink);
  overflow-wrap: anywhere;
}

.package-single__tagline {
    margin-bottom: var(--space-md);
    font-size: var(--text-md);
    line-height: var(--lh-relaxed);
    color: var(--color-neutral);
}

.package-single__price {
    margin-bottom: var(--space-lg);
    font-family: var(--font-label);
    font-size: var(--text-base);
    text-transform: uppercase;
    letter-spacing: var(--tracking-label);
    color: var(--color-accent);
}

.package-single__section-title {
    margin-bottom: var(--space-md);
    font-family: var(--font-display);
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--color-ink);
}

.package-single__feature-list {
    margin-bottom: var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    padding-left: var(--space-md);
    font-size: var(--text-base);
    color: var(--color-ink-2);
}

.package-single__figure {
    margin-bottom: var(--space-lg);
    overflow: hidden;
    border-radius: var(--radius-lg);
}

.package-single__image {
    height: auto;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

.package-single__cta-card {
    border-radius: var(--radius-lg);
    border-width: 1px;
    border-color: var(--color-rule);
    background-color: var(--color-paper-2);
    padding: var(--space-lg);
    --tw-shadow-color: var(--shadow-sm);
    --tw-shadow: var(--tw-shadow-colored);
}

.package-single__cta-title {
    margin-bottom: var(--space-sm);
    font-family: var(--font-display);
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--color-ink);
}

.package-single__cta-text {
    margin-bottom: var(--space-lg);
    font-size: var(--text-sm);
    line-height: var(--lh-relaxed);
    color: var(--color-neutral);
}

.package-single__cta-button {
    display: inline-flex;
    min-height: 2.75rem;
    width: 100%;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    background-color: var(--color-accent);
    padding-left: var(--space-md);
    padding-right: var(--space-md);
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-paper);
    text-decoration-line: none;
}

/* ── Safeguard Security homepage hero (scoped dark tokens) ── */

.home-hero-wrap {
  --hero-paper: oklch(12% 0.035 260);
  --hero-paper-2: oklch(16% 0.04 258);
  --hero-ink: oklch(96% 0.01 260);
  --hero-muted: oklch(68% 0.04 250);
  --hero-neutral: oklch(78% 0.03 250);
  --hero-accent: oklch(78% 0.16 195);
  --hero-accent-2: oklch(86% 0.18 115);
  --hero-ring: oklch(75% 0.1 200 / 0.22);
  --hero-font: "DM Sans", "Source Sans 3", ui-sans-serif, sans-serif;
  --hero-display: clamp(2.75rem, 5vw + 1rem, 5rem);
  --hero-gutter: clamp(1.25rem, 4vw, 3rem);
  --hero-max: 76rem;
  color: var(--hero-ink);
  font-family: var(--hero-font);
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
  overflow-x: clip;
}

.home-hero-wrap .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.home-hero {
    position: relative;
    min-width: 0px;
    padding-top: clamp(6rem, 12vw, 9rem);
    padding-bottom: var(--space-2xl);
  background: radial-gradient(ellipse 120% 80% at 50% -20%, oklch(28% 0.08 250 / 0.55), var(--hero-paper));
}

.home-hero__bg {
    pointer-events: none;
    position: absolute;
    inset: 0px;
    overflow: hidden;
}

.home-hero__dots {
    position: absolute;
    inset: 0px;
    opacity: 0.4;
  background-image: radial-gradient(oklch(78% 0.14 195 / 0.35) 1px, transparent 1px);
  background-size: 28px 28px;
}

.home-hero__glow {
    position: absolute;
    top: -6rem;
    left: 50%;
    height: 24rem;
    width: 24rem;
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    border-radius: 9999px;
    --tw-blur: blur(64px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
  background: oklch(55% 0.14 240 / 0.25);
}

.home-hero__inner {
    position: relative;
    z-index: 1;
    margin-left: auto;
    margin-right: auto;
    min-width: 0px;
    padding-left: var(--hero-gutter);
    padding-right: var(--hero-gutter);
  max-width: var(--hero-max);
}

.home-hero__split {
    display: grid;
    min-width: 0px;
    gap: var(--space-xl);
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) {
  .home-hero__split {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    align-items: end;
    gap: var(--space-2xl);
  }
}

.home-hero__eyebrow {
    margin-bottom: var(--space-md);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.22em;
  color: var(--hero-accent);
}

.home-hero__title {
    min-width: 0px;
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -0.02em;
  font-size: var(--hero-display);
  overflow-wrap: anywhere;
}

.home-hero__subhead {
    margin-bottom: var(--space-lg);
    max-width: 36ch;
    font-size: var(--text-md);
    line-height: 1.65;
  color: var(--hero-neutral);
}

.home-hero__cta {
    display: inline-flex;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    padding-left: var(--space-xl);
    padding-right: var(--space-xl);
    font-size: var(--text-sm);
    font-weight: 600;
    text-decoration-line: none;
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    transition-duration: var(--dur-short);
    transition-timing-function: var(--ease-out);
  background: linear-gradient(90deg, var(--hero-accent), var(--hero-accent-2));
  color: oklch(14% 0.03 260);
}

.home-hero__cta:hover,
.home-hero__cta:focus-visible {
  transform: translateY(-2px);
  color: oklch(14% 0.03 260);
}

.home-hero-visual {
    position: relative;
    min-width: 0px;
    padding-bottom: var(--space-3xl);
  background: linear-gradient(180deg, var(--hero-paper) 0%, oklch(10% 0.03 262) 100%);
}

.home-hero-visual__bg {
    pointer-events: none;
    position: absolute;
    inset: 0px;
}

.home-hero-visual__curve {
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    height: 6rem;
  background: radial-gradient(ellipse 70% 100% at 50% 100%, oklch(18% 0.05 255 / 0.9), transparent);
}

.home-hero-visual__inner {
    position: relative;
    z-index: 1;
    margin-left: auto;
    margin-right: auto;
    min-width: 0px;
    padding-left: var(--hero-gutter);
    padding-right: var(--hero-gutter);
  max-width: var(--hero-max);
}

.home-hero-visual__meta {
    margin-bottom: var(--space-lg);
    display: grid;
    min-width: 0px;
    gap: var(--space-sm);
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) {
  .home-hero-visual__meta {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
  }
}

.home-hero-visual__trust {
    font-size: var(--text-sm);
    line-height: 1.5;
  color: var(--hero-muted);
}

.home-hero-visual__badge {
    font-size: var(--text-sm);
    font-weight: 500;
}

@media (min-width: 768px) {
    .home-hero-visual__badge {
        text-align: right;
    }
}

.home-hero-visual__badge {
  color: var(--hero-accent-2);
}

.home-hero-visual__stage {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    min-width: 0px;
    max-width: 40rem;
    flex-direction: column;
    align-items: center;
}

.home-hero-visual__radar {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    aspect-ratio: 1 / 1;
    width: 100%;
    max-width: 22rem;
}

@media (min-width: 640px) {
    .home-hero-visual__radar {
        max-width: 28rem;
    }
}

.home-hero-visual__ring {
    position: absolute;
    left: 50%;
    top: 50%;
    --tw-translate-x: -50%;
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    border-radius: 9999px;
    border-width: 1px;
  border-color: var(--hero-ring);
}

.home-hero-visual__ring--1 { width: 28%; height: 28%; }
.home-hero-visual__ring--2 { width: 48%; height: 48%; }
.home-hero-visual__ring--3 { width: 68%; height: 68%; }
.home-hero-visual__ring--4 { width: 88%; height: 88%; }

.home-hero-visual__shield {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    --tw-translate-x: -50%;
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    border-radius: 9999px;
    padding: var(--space-sm);
  background: oklch(22% 0.06 255 / 0.6);
  box-shadow: 0 0 60px oklch(55% 0.14 240 / 0.35);
}

.home-hero-visual__orbit {
    position: absolute;
    z-index: 3;
    display: flex;
    height: 3.5rem;
    width: 3.5rem;
    align-items: center;
    justify-content: center;
    border-radius: 1rem;
  background: oklch(20% 0.05 255 / 0.85);
  box-shadow: 0 8px 24px oklch(8% 0.02 260 / 0.45);
  animation: hero-orbit-float 5s var(--ease-in-out) infinite;
}

.home-hero-visual__orbit--camera { top: 2%; left: 50%; margin-left: -1.75rem; animation-delay: 0s; }
.home-hero-visual__orbit--alarm { top: 22%; left: 8%; animation-delay: 0.6s; }
.home-hero-visual__orbit--intercom { top: 22%; right: 8%; left: auto; animation-delay: 1.2s; }
.home-hero-visual__orbit--monitor { bottom: 22%; left: 10%; animation-delay: 1.8s; }
.home-hero-visual__orbit--access { bottom: 22%; right: 10%; left: auto; animation-delay: 2.4s; }

.home-hero-visual__orbit-cta {
    position: relative;
    z-index: 5;
    margin-top: -2rem;
    display: flex;
    height: 5.5rem;
    width: 5.5rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    text-decoration-line: none;
}

@media (min-width: 640px) {
    .home-hero-visual__orbit-cta {
        height: 6.5rem;
        width: 6.5rem;
    }
}

.home-hero-visual__orbit-cta {
  background: linear-gradient(135deg, var(--hero-accent), var(--hero-accent-2));
  box-shadow: 0 12px 40px oklch(55% 0.14 240 / 0.4);
}

.home-hero-visual__orbit-cta-ring {
    position: absolute;
    inset: 0px;
    animation: hero-spin 18s linear infinite;
}

.home-hero-visual__orbit-cta-text {
    height: 100%;
    width: 100%;
    fill: currentColor;
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.28em;
  color: oklch(14% 0.03 260 / 0.75);
}

.home-hero-visual__orbit-cta-icon {
  position: relative;
  z-index: 1;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
  color: oklch(14% 0.03 260);
}

.home-hero-visual__orbit .sg-lucide-icon {
  width: var(--sg-icon-size, 2rem);
  height: var(--sg-icon-size, 2rem);
  color: oklch(78% 0.14 195);
}

.home-hero-visual__shield .sg-lucide-icon,
.home-hero-visual__shield .sg-home-hero__shield-icon {
  width: var(--sg-icon-size, 2rem);
  height: var(--sg-icon-size, 2rem);
  color: oklch(78% 0.14 195);
}

@keyframes hero-orbit-float {
  0%, 100% { margin-top: 0; }
  50% { margin-top: -6px; }
}

@keyframes hero-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero-visual__orbit,
  .home-hero-visual__orbit-cta-ring {
    animation: none !important;
  }
}

@media (max-width: 767px) {
  .home-hero-visual__orbit--alarm,
  .home-hero-visual__orbit--access {
    display: none;
  }

  .home-hero-visual__orbit-cta-ring {
    display: none;
  }

  .home-hero-visual__orbit-cta::after {
    content: attr(aria-label);
  }
}

.home-packages-section {
  background-color: oklch(94% 0.005 60);
  color: oklch(12% 0.024 40);
  padding-top: var(--space-2xl);
  padding-bottom: var(--space-3xl);
}

.home-packages-section .package-grid-block__title,
.home-packages-section .package-card__title {
  color: oklch(12% 0.024 40);
}

.home-packages-section .package-grid-block__intro,
.home-packages-section .package-card__tagline {
  color: oklch(28% 0.014 45);
}

.home-packages-section .package-card__price {
  color: oklch(22% 0.06 40);
}

@media (min-width: 640px) {
    .sm\:h-\[6\.5rem\] {
        height: 6.5rem;
    }
    .sm\:w-\[6\.5rem\] {
        width: 6.5rem;
    }
    .sm\:max-w-\[28rem\] {
        max-width: 28rem;
    }
}
