/* Shared, restrained surface and interaction polish. */
:root { --adv-ui-ease: cubic-bezier(0.23, 1, 0.32, 1); }
:is(.adv-home-v05,.adv-business) {
  --adv-radius-control: 6px;
  --adv-radius-surface: 12px;
  --adv-surface-ring: 0 0 0 1px oklch(1 0 0 / .08);
  --adv-surface-ring-hover: 0 0 0 1px oklch(1 0 0 / .13);
}
:is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(.wp-block-button__link,.header-cta,.menu-toggle,.case-controls button) {
  border-radius: var(--adv-radius-control);
  min-height: 44px;
  min-width: 44px;
  transition: scale 150ms var(--adv-ui-ease), background-color 150ms var(--adv-ui-ease), color 150ms var(--adv-ui-ease), box-shadow 150ms var(--adv-ui-ease);
  touch-action: manipulation;
}
@media (prefers-reduced-motion:no-preference) {
  html:not(.adv-keyboard-input) :is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(.wp-block-button__link,.header-cta,.menu-toggle,.case-controls button):active:not(:disabled):not([aria-disabled="true"]):not([data-static]) {
  scale: .96;
}
}
:is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(.wp-block-button__link,.header-cta,.menu-toggle,.case-controls button):is(:disabled,[aria-disabled="true"]) {
  opacity: .55;
  cursor: not-allowed;
  scale: 1;
}
:is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(a,button,summary,input,textarea):focus-visible {
  outline: 2px solid #e39a55;
  outline-offset: 5px;
}
:is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(.landing-contact,.closing) .homepage-field :is(input,textarea) {
  border-radius: var(--adv-radius-control);
  transition: border-color 150ms var(--adv-ui-ease), box-shadow 150ms var(--adv-ui-ease);
}
:is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) .homepage-field input { min-height: 48px; }
:is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(.landing-contact,.closing) .homepage-field :is(input,textarea):focus {
  border-color: #e39a55;
  box-shadow: 0 0 0 1px #e39a55;
}
:is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(.textlink,.link-line a,.shell-column a,.nav a) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  transition: color 150ms var(--adv-ui-ease);
}
:is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) summary {
  min-height: 44px;
  padding-block: 12px;
  transition: color 150ms var(--adv-ui-ease);
}
:is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) .consent { min-height: 44px; cursor: pointer; }
.adv-business.adv-business .price {
  border-radius: var(--adv-radius-surface);
  border-color: transparent;
  box-shadow: var(--adv-surface-ring);
}
.adv-business.adv-business .price.featured { border-color: #c87836; box-shadow: none; }
:is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(.media-cover img,.meeting-image img,.case-slide img) {
  border-radius: var(--adv-radius-control);
  outline: 1px solid oklch(1 0 0 / .1);
  outline-offset: -1px;
}
.adv-home-v05.adv-home-v05 .media-cover a { border-radius: var(--adv-radius-control); }
@media (hover:hover) {
  :is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(.menu-toggle,.case-controls button):hover {
    background-color: #24242c;
    color: #e39a55;
    box-shadow: var(--adv-surface-ring-hover);
  }
  :is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(summary,.textlink,.link-line a,.shell-column a):hover { color: #e39a55; }
  :is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(.landing-contact,.closing) .homepage-field :is(input,textarea):hover:not(:focus) { border-color: #b9b0a6; }
}
@media (prefers-reduced-motion:reduce) {
  :is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(.wp-block-button__link,.header-cta,.menu-toggle,.case-controls button,.homepage-field input,.homepage-field textarea,.textlink,.link-line a,.shell-column a,.nav a,summary) { transition: none; }
  :is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(.wp-block-button__link,.header-cta,.menu-toggle,.case-controls button):active { scale: 1; }
}

/* State changes: no moving paragraphs or scroll-triggered section reveals. */
.adv-business.adv-business .case-stage[data-ready] .case-slide {
  opacity: 0;
  transition: opacity 180ms var(--adv-ui-ease), visibility 180ms;
}
.adv-business.adv-business .case-stage[data-ready] .case-slide.is-active { opacity: 1; visibility: visible; }
@media (max-width:767px) {
  :is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business).is-enhanced .nav {
    opacity: 0;
    transition: opacity 180ms var(--adv-ui-ease), display 180ms allow-discrete;
  }
  :is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business).is-enhanced .nav.is-open { opacity: 1; }
  @starting-style {
    :is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business).is-enhanced .nav.is-open { opacity: 0; }
  }
}
.adv-media-dialog {
  opacity: 0;
  transition: opacity 220ms var(--adv-ui-ease), display 220ms allow-discrete, overlay 220ms allow-discrete;
}
.adv-media-dialog[open] { opacity: 1; }
.adv-media-dialog::backdrop {
  opacity: 0;
  transition: opacity 220ms var(--adv-ui-ease), display 220ms allow-discrete, overlay 220ms allow-discrete;
}
.adv-media-dialog[open]::backdrop { opacity: 1; }
@starting-style {
  .adv-media-dialog[open], .adv-media-dialog[open]::backdrop { opacity: 0; }
}
html.adv-keyboard-input { scroll-behavior: auto; }
.adv-keyboard-input :is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(.wp-block-button__link,.header-cta,.menu-toggle,.case-controls button):active { scale: 1; }
.adv-keyboard-input :is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(.nav,.case-stage .case-slide),
.adv-keyboard-input .adv-media-dialog,
.adv-keyboard-input .adv-media-dialog::backdrop { transition: none; }
@media (prefers-reduced-motion:reduce) {
  :is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(.nav,.case-stage .case-slide),
  .adv-media-dialog,.adv-media-dialog::backdrop { transition: none; }
}

@media (prefers-reduced-motion:no-preference) {
  :is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) .hero :is(.hero-photo,.hero-media) {
    opacity: 1;
    transition: opacity 300ms var(--adv-ui-ease);
  }
  @starting-style {
    :is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) .hero :is(.hero-photo,.hero-media) { opacity: 0; }
  }
}

/* Apply hover to the clickable Gutenberg control, not its outer block. */
@media (hover:hover) and (pointer:fine) {
  :is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) :is(.wp-block-button__link,.header-cta):hover:not(:disabled):not([aria-disabled="true"]) {
    background-color: #e39a55;
    color: #11171b;
    box-shadow: inset 0 1px 0 oklch(1 0 0 / .16);
  }
  :is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business):is(.adv-home-v05,.adv-business) .alt .wp-block-button__link:hover:not(:disabled):not([aria-disabled="true"]) {
    background-color: #24242c;
    color: #e39a55;
    box-shadow: 0 0 0 1px #e39a55;
  }
}

/* The media dialog lives outside the page root and needs its own control states. */
.adv-media-dialog .media-player-bar button {
  border-radius: 6px;
  min-width: 44px;
  transition: background-color 150ms var(--adv-ui-ease), color 150ms var(--adv-ui-ease), border-color 150ms var(--adv-ui-ease);
}
@media (hover:hover) and (pointer:fine) {
  .adv-media-dialog .media-player-bar button:hover {
    background-color: #24242c;
    border-color: #e39a55;
    color: #e39a55;
  }
}
@media (prefers-reduced-motion:reduce) {
  .adv-media-dialog .media-player-bar button { transition: none; }
}

/* Mobile disclosure: fixed-width state control and a compact navigation sheet. */
.menu-shade, #site-nav .menu-phone { display: none; }
@media (max-width:767px) {
  :is(.adv-home-v05,.adv-business).is-enhanced .business-header .shell-header-inner { position: static; }
  :is(.adv-home-v05,.adv-business).is-enhanced .business-header .menu-toggle {
    display: inline-flex; align-items: center; justify-content: space-between; gap: 8px;
    width: 108px; min-width: 108px; min-height: 48px; padding: 10px;
  }
  .menu-icon { position: relative; width: 18px; height: 18px; flex: 0 0 18px; }
  .menu-icon::before, .menu-icon::after {
    content: ""; position: absolute; left: 0; top: 8px; width: 18px; height: 1.5px;
    background: currentColor; transform: translateY(-3px); transition: transform 200ms var(--adv-ui-ease);
  }
  .menu-icon::after { transform: translateY(3px); }
  [aria-expanded="true"] .menu-icon::before { transform: rotate(45deg); }
  [aria-expanded="true"] .menu-icon::after { transform: rotate(-45deg); }
  :is(.adv-home-v05,.adv-business).is-enhanced .business-header .menu-toggle[aria-expanded="true"] {
    border-color: #c87836; color: #e39a55; background: #c8783614;
  }
  :is(.adv-home-v05,.adv-business).is-enhanced .business-header #site-nav {
    display: flex; position: absolute; top: 100%; left: 0; right: 0; z-index: 2;
    margin: 0; padding: 12px max(20px, env(safe-area-inset-right)) 20px max(20px, env(safe-area-inset-left));
    gap: 0; background: #181d21; border-top: 1px solid #f0e8d918;
    border-bottom: 1px solid #f0e8d928; border-radius: 0 0 12px 12px;
    box-shadow: 0 16px 28px #0003; max-height: calc(100dvh - 100px); overflow-y: auto;
    opacity: 0; visibility: hidden; transform: translateY(-8px); pointer-events: none;
    transition: opacity 200ms var(--adv-ui-ease), transform 200ms var(--adv-ui-ease), visibility 200ms;
  }
  :is(.adv-home-v05,.adv-business).is-enhanced .business-header #site-nav.is-open {
    opacity: 1; visibility: visible; transform: none; pointer-events: auto;
  }
  :is(.adv-home-v05,.adv-business) .business-header #site-nav p { margin: 0; width: 100%; }
  :is(.adv-home-v05,.adv-business) .business-header #site-nav a {
    display: flex; align-items: center; width: 100%; min-height: 56px; padding: 12px 8px;
    border-bottom: 1px solid #f0e8d918; font-size: 18px; line-height: 1.4;
    white-space: normal; text-decoration: none;
  }
  :is(.adv-home-v05,.adv-business) .business-header #site-nav a[aria-current="page"] {
    color: #e39a55; background: #c878360c;
  }
  #site-nav a[aria-current="page"]::after { content: ""; margin-left: auto; width: 5px; height: 5px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
  :is(.adv-home-v05,.adv-business) .business-header #site-nav a:active { background: #c8783620; }
  :is(.adv-home-v05,.adv-business) .business-header #site-nav .menu-phone { margin-top: 12px; border: 0; font-size: 16px; color: #b9b0a6; }
  .business-header .menu-shade {
    display: block; position: absolute; top: 100%; left: 0; right: 0; height: 100dvh;
    background: #0005; opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity 200ms, visibility 200ms;
  }
  .business-header.menu-open .menu-shade { opacity: 1; visibility: visible; pointer-events: auto; }
  :is(.adv-home-v05,.adv-business).is-enhanced .business-header .header-cta { display: inline-flex; align-items: center; padding: 10px; }
}
@media (max-width:359px) {
  :is(.adv-home-v05,.adv-business).is-enhanced .business-header .shell-header-inner { flex-wrap: wrap; }
  :is(.adv-home-v05,.adv-business).is-enhanced .business-header .logo { flex-basis: 100%; }
}
@media (prefers-reduced-motion:reduce) {
  :is(.adv-home-v05,.adv-business).is-enhanced .business-header #site-nav,
  .business-header .menu-shade, .menu-icon::before, .menu-icon::after { transition: none; }
}
.adv-keyboard-input :is(.adv-home-v05,.adv-business).is-enhanced .business-header #site-nav,
.adv-keyboard-input .menu-shade, .adv-keyboard-input .menu-icon::before, .adv-keyboard-input .menu-icon::after { transition: none; }
