:root {
  --sketch-button-ink: #17252d;
  --sketch-button-paper: #fffaf0;
  --sketch-button-yellow: #dfff00;
  --sketch-button-yellow-hover: #c9e900;
  --sketch-button-sea: #0b7285;
  --sketch-button-shadow: rgba(23, 37, 45, 0.16);
}

/*
 * Shared call-to-action controls. The selectors intentionally avoid ordinary
 * navigation and body links. Use .sketch-button with either
 * .sketch-button-primary or .sketch-button-secondary for new controls.
 */
:is(
    .button-primary,
    .button-secondary,
    .header-action,
    .text-link,
    .adnexu-interior .btn-apple,
    .adnexu-interior header > div:first-child > div:last-child > a[href="/contact"],
    .adnexu-contact-trigger,
    #adnexu-cookie-choice button,
    .sketch-button
  ) {
  align-items: center;
  border: 2px solid var(--sketch-button-ink) !important;
  border-radius: 1px !important;
  box-sizing: border-box;
  color: var(--sketch-button-ink) !important;
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 750;
  justify-content: center;
  letter-spacing: 0.01em;
  line-height: 1.25;
  min-height: 48px;
  max-width: 100%;
  overflow: visible !important;
  padding: 0.72rem 1.25rem;
  text-align: center;
  text-decoration: none !important;
  text-wrap: balance;
  touch-action: manipulation;
  transition: background-color 170ms ease, color 170ms ease,
    box-shadow 170ms ease, transform 170ms ease;
  white-space: normal;
  -webkit-tap-highlight-color: transparent;
}

:is(
    .button-primary,
    .button-secondary,
    .header-action,
    .text-link,
    .adnexu-interior .btn-apple,
    .adnexu-interior header > div:first-child > div:last-child > a[href="/contact"],
    #adnexu-cookie-choice button,
    .sketch-button
  ) {
  isolation: isolate;
  position: relative;
}

:is(
    .button-primary,
    .button-secondary,
    .header-action,
    .text-link,
    .adnexu-interior .btn-apple,
    .adnexu-interior header > div:first-child > div:last-child > a[href="/contact"],
    .adnexu-contact-trigger,
    #adnexu-cookie-choice button,
    .sketch-button
  )::after {
  border: 1.5px solid var(--sketch-button-ink);
  border-radius: 0;
  content: "";
  inset: 3px -5px -5px 3px;
  pointer-events: none;
  position: absolute;
  transform: rotate(0.35deg);
  transition: inset 170ms ease, transform 170ms ease;
  z-index: -1;
}

:is(
    .button-primary,
    .header-action,
    .adnexu-interior .btn-apple,
    .adnexu-interior header > div:first-child > div:last-child > a[href="/contact"],
    .adnexu-contact-trigger,
    .sketch-button-primary
  ) {
  background: var(--sketch-button-yellow) !important;
  box-shadow: 2px 2px 0 var(--sketch-button-shadow);
}

:is(
    .button-secondary,
    .text-link,
    #adnexu-cookie-choice button,
    .sketch-button-secondary,
    .sketch-button-link
  ) {
  backdrop-filter: none !important;
  background: var(--sketch-button-paper) !important;
  box-shadow: 2px 2px 0 rgba(23, 37, 45, 0.08);
}

:is(.text-link, .sketch-button-link) {
  min-height: 44px;
  padding: 0.58rem 0.95rem;
}

:is(
    .button-primary,
    .header-action,
    .adnexu-interior .btn-apple,
    .adnexu-interior header > div:first-child > div:last-child > a[href="/contact"],
    .adnexu-contact-trigger,
    .sketch-button-primary
  ):hover {
  background: var(--sketch-button-yellow-hover) !important;
  color: var(--sketch-button-ink) !important;
  transform: translate(-2px, -2px);
}

:is(
    .button-secondary,
    .text-link,
    #adnexu-cookie-choice button,
    .sketch-button-secondary,
    .sketch-button-link
  ):hover {
  background: #ffffff !important;
  color: var(--sketch-button-ink) !important;
  transform: translate(-2px, -2px);
}

:is(
    .button-primary,
    .button-secondary,
    .header-action,
    .text-link,
    .adnexu-interior .btn-apple,
    .adnexu-interior header > div:first-child > div:last-child > a[href="/contact"],
    .adnexu-contact-trigger,
    #adnexu-cookie-choice button,
    .sketch-button
  ):hover::after {
  inset: 5px -7px -7px 5px;
  transform: rotate(-0.3deg);
}

:is(
    .button-primary,
    .button-secondary,
    .header-action,
    .text-link,
    .adnexu-interior .btn-apple,
    .adnexu-interior header > div:first-child > div:last-child > a[href="/contact"],
    .adnexu-contact-trigger,
    #adnexu-cookie-choice button,
    .sketch-button
  ):active {
  box-shadow: none;
  transform: translate(2px, 2px);
}

:is(
    .button-primary,
    .button-secondary,
    .header-action,
    .text-link,
    .adnexu-interior .btn-apple,
    .adnexu-interior header > div:first-child > div:last-child > a[href="/contact"],
    .adnexu-contact-trigger,
    #adnexu-cookie-choice button,
    .sketch-button
  ):active::after {
  inset: 1px -3px -3px 1px;
  transform: rotate(0);
}

:is(
    .button-primary,
    .button-secondary,
    .header-action,
    .text-link,
    .adnexu-interior .btn-apple,
    .adnexu-interior header > div:first-child > div:last-child > a[href="/contact"],
    .adnexu-contact-trigger,
    #adnexu-cookie-choice button,
    .sketch-button
  ):focus-visible {
  outline: 3px solid var(--sketch-button-sea) !important;
  outline-offset: 7px !important;
}

/* Preserve the fixed contact control's viewport anchoring. */
.adnexu-contact-trigger {
  border-radius: 1px !important;
  bottom: max(22px, env(safe-area-inset-bottom));
  color: var(--sketch-button-ink) !important;
  isolation: isolate;
  min-width: 142px;
  position: fixed;
  right: 24px;
  z-index: 45;
}

/* Optional classes for an injected consent or menu action. */
.menu-consent,
.adnexu-consent-button {
  width: auto;
}

@media (max-width: 600px) {
  :is(
      .button-primary,
      .button-secondary,
      .header-action,
      .text-link,
      .adnexu-interior .btn-apple,
      .adnexu-interior header > div:first-child > div:last-child > a[href="/contact"],
      .adnexu-contact-trigger,
      #adnexu-cookie-choice button,
    .sketch-button
    ) {
    font-size: 0.86rem;
    min-height: 48px;
    padding: 0.72rem 1rem;
  }

  .hero-actions,
  .section-actions {
    align-items: stretch;
  }

  .hero-actions > :is(.button-primary, .button-secondary),
  .section-actions > :is(.button-primary, .button-secondary) {
    flex: 1 1 190px;
  }

  .adnexu-contact-trigger {
    bottom: max(16px, env(safe-area-inset-bottom));
    min-width: 0;
    right: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(
      .button-primary,
      .button-secondary,
      .header-action,
      .text-link,
      .adnexu-interior .btn-apple,
      .adnexu-interior header > div:first-child > div:last-child > a[href="/contact"],
      .adnexu-contact-trigger,
      #adnexu-cookie-choice button,
    .sketch-button
    ),
  :is(
      .button-primary,
      .button-secondary,
      .header-action,
      .text-link,
      .adnexu-interior .btn-apple,
      .adnexu-interior header > div:first-child > div:last-child > a[href="/contact"],
      .adnexu-contact-trigger,
      #adnexu-cookie-choice button,
    .sketch-button
    )::after {
    transition: none !important;
  }
}

@media(max-width:980px) { .site-header .header-action { display:none !important; } }
.adnexu-contact-trigger { background:var(--sketch-button-paper) !important; color:var(--sketch-button-ink) !important; }
.adnexu-interior a.adnexu-contact-trigger { color:var(--sketch-button-ink) !important; }

#adnexu-cookie-choice { border-radius: 0 !important; }
#adnexu-cookie-choice button { min-height:48px !important; margin:0 6px 4px 0; }
@media(max-width:767px) {
  .adnexu-interior header > div:first-child > div:last-child > a[href="/contact"] { display:none !important; }
}
