/*
 * Public-site consistency pass.
 * Loaded last on every public route so the home page, detail pages and audit
 * share the same type scale, spacing rhythm, focus treatment and support entry.
 */

:root {
  --public-focus-ring: rgba(151, 169, 255, 0.72);
  --public-panel-line: rgba(206, 216, 239, 0.14);
  --public-panel-bg: #111722;
  --public-motion: 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

:where(a, button, input, textarea, summary):focus-visible {
  outline: 2px solid var(--public-focus-ring);
  outline-offset: 3px;
}

/* The home hero must preserve whole words in every language. */
body[data-page="home"] #home .hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(25rem, 0.9fr);
  gap: clamp(2.5rem, 5vw, 5rem);
}

body[data-page="home"] #home .hero-copy h1 {
  max-width: 13ch;
  font-size: clamp(2.9rem, 4.9vw, 4.5rem);
  line-height: 0.98;
  hyphens: none;
  -webkit-hyphens: none;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}

/* A completed reveal must never leave a section offset or transparent. */
body[data-page="home"] .reveal.is-visible,
body[data-page="home"] .reveal-left.is-visible,
body[data-page="home"] .reveal-right.is-visible,
body[data-page="home"] .reveal-scale.is-visible {
  opacity: 1 !important;
  transform: none !important;
}

body[data-page="home"] .ai-chat-toggle {
  right: 1rem;
  bottom: 0.9rem;
  width: 5.15rem;
  height: 5.15rem;
  z-index: 55;
}

/* Standalone routes use the same compact editorial rhythm as the home page. */
body.shared-detail-page[data-page]:not(.audit-page) .hero {
  min-height: 34rem !important;
  padding: clamp(3.6rem, 6vw, 5.25rem) 0 clamp(3.15rem, 5vw, 4.5rem) !important;
}

body.shared-detail-page[data-page]:not(.audit-page) .hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(25rem, 0.96fr) !important;
  gap: clamp(2.5rem, 5vw, 4.75rem) !important;
}

body.shared-detail-page[data-page]:not(.audit-page) .hero h1 {
  max-width: 14ch !important;
  font-size: clamp(2.8rem, 4.65vw, 4rem) !important;
  hyphens: none !important;
  -webkit-hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body.shared-detail-page[data-page]:not(.audit-page) .hero-lead {
  max-width: 34rem !important;
  margin-top: 1.05rem !important;
}

body.shared-detail-page[data-page]:not(.audit-page) .hero-aside {
  border-color: var(--public-panel-line) !important;
  border-radius: 1.1rem !important;
}

body.shared-detail-page:not(.audit-page) .ai-chat-toggle {
  right: 1rem !important;
  bottom: 0.9rem !important;
  width: 4.9rem !important;
  height: 4.9rem !important;
  z-index: 72 !important;
}

/* The audit has its own animated agent. A second support robot is visual noise. */
body.audit-page .audit-support-launcher {
  display: none !important;
}

/* Page-specific hero panels prevent a single mock browser from being repeated everywhere. */
body.shared-detail-page .hero-aside--reviews,
body.shared-detail-page .hero-aside--process,
body.shared-detail-page .hero-aside--faq {
  display: grid !important;
  align-content: start;
  gap: 1rem;
  min-height: 27rem !important;
  padding: 1.15rem;
  background:
    radial-gradient(circle at 88% 0%, rgba(132, 149, 255, 0.16), transparent 34%),
    linear-gradient(145deg, #141c2b, var(--public-panel-bg)) !important;
}

.detail-review-signal,
.detail-route-head,
.detail-question-head {
  display: grid;
  gap: 0.65rem;
  padding: 0.2rem 0.15rem 0.95rem;
  border-bottom: 1px solid var(--public-panel-line);
}

.detail-review-kicker,
.detail-route-kicker,
.detail-question-kicker {
  color: #aebcff;
  font-size: 0.68rem;
  font-weight: 760;
  letter-spacing: 0.11em;
  line-height: 1.2;
  text-transform: uppercase;
}

.detail-review-signal > strong,
.detail-route-head > strong,
.detail-question-head > strong {
  color: #f5f7fc;
  font-size: clamp(1.28rem, 2.1vw, 1.7rem);
  font-weight: 680;
  letter-spacing: -0.04em;
  line-height: 1.08;
}

.detail-review-signal > p,
.detail-route-head > p,
.detail-question-head > p {
  margin: 0;
  color: #b5c0d2;
  font-size: 0.82rem;
  line-height: 1.55;
}

.detail-review-checks,
.detail-route-list,
.detail-question-list {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--public-panel-line);
  border-radius: 0.82rem;
  background: rgba(7, 10, 16, 0.26);
}

.detail-review-check,
.detail-route-item,
.detail-question-item {
  display: grid;
  min-width: 0;
  border-bottom: 1px solid rgba(206, 216, 239, 0.1);
}

.detail-review-check:last-child,
.detail-route-item:last-child,
.detail-question-item:last-child {
  border-bottom: 0;
}

.detail-review-check {
  grid-template-columns: 2.3rem minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.78rem 0.85rem;
}

.detail-review-check > span,
.detail-route-item > span {
  display: grid;
  place-items: center;
  width: 2.05rem;
  height: 2.05rem;
  border: 1px solid rgba(151, 169, 255, 0.32);
  border-radius: 50%;
  color: #b6c2ff;
  background: rgba(132, 149, 255, 0.08);
  font-size: 0.67rem;
  font-weight: 780;
  letter-spacing: 0.04em;
}

.detail-review-check strong,
.detail-route-item strong,
.detail-question-item strong {
  display: block;
  color: #edf1fa;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.3;
}

.detail-review-check p,
.detail-question-item span {
  display: block;
  margin: 0.32rem 0 0;
  color: #aeb9ca;
  font-size: 0.75rem;
  line-height: 1.45;
}

.detail-route-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.detail-route-item {
  grid-template-columns: 2.3rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.7rem;
  padding: 0.75rem 0.85rem;
}

.detail-route-item small {
  display: block;
  margin-top: 0.15rem;
  color: #9faec2;
  font-size: 0.69rem;
  line-height: 1.3;
}

.detail-route-item em {
  max-width: 8.5rem;
  color: #c2ccdd;
  font-size: 0.67rem;
  font-style: normal;
  line-height: 1.3;
  text-align: right;
}

.detail-question-item {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.88rem 0.95rem;
}

.detail-question-item::after {
  color: #aebcff;
  content: "+";
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
}

.detail-question-item strong {
  font-size: 0.83rem;
}

/* Clear, restrained hover and press feedback across the shared cards. */
body.shared-detail-page .service-card,
body.shared-detail-page .care-card,
body.shared-detail-page .info-card,
body.shared-detail-page .trust-card,
body.shared-detail-page .faq-item,
body.shared-detail-page .reference-panel,
body.shared-detail-page .hero-aside {
  transition: border-color var(--public-motion), box-shadow var(--public-motion), transform var(--public-motion) !important;
}

body.shared-detail-page .service-card:hover,
body.shared-detail-page .care-card:hover,
body.shared-detail-page .info-card:hover,
body.shared-detail-page .trust-card:hover,
body.shared-detail-page .reference-panel:hover {
  transform: translateY(-2px);
  border-color: rgba(151, 169, 255, 0.3) !important;
}

/* One header rule for every public route: visible navigation on wide screens,
   a single accessible menu pattern as soon as the header becomes crowded. */
body[data-page="home"] .menu-toggle .menu-toggle-label,
body.shared-detail-page .menu-toggle .menu-toggle-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body[data-page="home"] .menu-toggle span:not(.menu-toggle-label),
body.shared-detail-page .menu-toggle span:not(.menu-toggle-label) {
  display: block !important;
  width: 1.1rem !important;
  height: 2px !important;
  margin: 0 !important;
  border-radius: 99px !important;
  background: currentColor !important;
  opacity: 1 !important;
  transform: none !important;
  transform-origin: center;
  transition: transform var(--public-motion), opacity 150ms ease !important;
}

body[data-page="home"] .menu-toggle[aria-expanded="true"] span:nth-of-type(2),
body[data-page="home"] .menu-toggle.is-open span:nth-of-type(2),
body.shared-detail-page .menu-toggle[aria-expanded="true"] span:nth-of-type(2),
body.shared-detail-page .menu-toggle.is-open span:nth-of-type(2) {
  opacity: 1 !important;
  transform: translateY(6px) rotate(45deg) !important;
}

body[data-page="home"] .menu-toggle[aria-expanded="true"] span:nth-of-type(3),
body[data-page="home"] .menu-toggle.is-open span:nth-of-type(3),
body.shared-detail-page .menu-toggle[aria-expanded="true"] span:nth-of-type(3),
body.shared-detail-page .menu-toggle.is-open span:nth-of-type(3) {
  opacity: 0 !important;
  transform: scaleX(0.45) !important;
}

body[data-page="home"] .menu-toggle[aria-expanded="true"] span:nth-of-type(4),
body[data-page="home"] .menu-toggle.is-open span:nth-of-type(4),
body.shared-detail-page .menu-toggle[aria-expanded="true"] span:nth-of-type(4),
body.shared-detail-page .menu-toggle.is-open span:nth-of-type(4) {
  transform: translateY(-6px) rotate(-45deg) !important;
}

@media (min-width: 1101px) {
  body[data-page="home"] .menu-toggle,
  body.shared-detail-page .menu-toggle {
    display: none !important;
  }

  body[data-page="home"] .nav-links,
  body.shared-detail-page .nav-links {
    position: static !important;
    z-index: auto !important;
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    gap: 0.08rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  body[data-page="home"] .nav-links > a,
  body.shared-detail-page .nav-links > a {
    display: inline-flex !important;
    min-height: 2.45rem !important;
    padding: 0 0.48rem !important;
    border: 0 !important;
    border-radius: 0.55rem !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 0.78rem !important;
  }

  body[data-page="home"] .nav-links > .nav-cta,
  body.shared-detail-page .nav-links > .nav-cta {
    padding: 0 0.78rem !important;
    border: 1px solid rgba(151, 169, 255, 0.22) !important;
    background: linear-gradient(135deg, #7791ff, #5f7bf0) !important;
    color: #07101a !important;
    font-weight: 740 !important;
  }
}

@media (max-width: 1100px) {
  body[data-page="home"] .menu-toggle,
  body.shared-detail-page .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 4px !important;
    width: 2.75rem !important;
    height: 2.75rem !important;
    min-width: 2.75rem !important;
    min-height: 2.75rem !important;
    padding: 0 !important;
    border: 1px solid rgba(145, 170, 255, 0.28) !important;
    border-radius: 0.75rem !important;
    background: rgba(17, 23, 35, 0.94) !important;
    color: #eef3ff !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 8px 22px rgba(0, 0, 0, 0.2) !important;
  }

  body[data-page="home"] .nav-links,
  body.shared-detail-page .nav-links {
    position: fixed !important;
    z-index: 95 !important;
    top: calc(var(--header-height, var(--header, 72px)) + 0.7rem) !important;
    right: 1rem !important;
    left: 1rem !important;
    display: grid !important;
    width: auto !important;
    max-height: calc(100dvh - var(--header-height, var(--header, 72px)) - 1.7rem) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.45rem !important;
    margin: 0 !important;
    padding: 0.7rem !important;
    overflow: auto !important;
    border: 1px solid rgba(206, 216, 239, 0.14) !important;
    border-radius: 1rem !important;
    background: #111825 !important;
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.46), 0 0 0 100vmax rgba(3, 5, 9, 0.66) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-0.65rem) !important;
    transition: opacity var(--public-motion), transform var(--public-motion), visibility var(--public-motion) !important;
  }

  body[data-page="home"] .nav-links.open,
  body[data-page="home"] .nav-links.is-open,
  body.shared-detail-page .nav-links.open,
  body.shared-detail-page .nav-links.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  body[data-page="home"] .nav-links > a,
  body.shared-detail-page .nav-links > a {
    display: flex !important;
    align-items: center !important;
    min-height: 2.9rem !important;
    padding: 0.7rem 0.82rem !important;
    border: 1px solid rgba(255, 255, 255, 0.07) !important;
    border-radius: 0.65rem !important;
    background: rgba(255, 255, 255, 0.025) !important;
    box-shadow: none !important;
  }

  body[data-page="home"] .nav-links > .nav-cta,
  body.shared-detail-page .nav-links > .nav-cta {
    grid-column: 1 / -1;
    justify-content: center !important;
    color: #07101a !important;
  }
}

@media (max-width: 1020px) {
  body[data-page="home"] #home .hero-grid,
  body.shared-detail-page[data-page]:not(.audit-page) .hero-grid {
    grid-template-columns: 1fr !important;
  }

  body.shared-detail-page[data-page]:not(.audit-page) .hero {
    min-height: auto !important;
  }

  body.shared-detail-page .hero-aside--reviews,
  body.shared-detail-page .hero-aside--process,
  body.shared-detail-page .hero-aside--faq {
    min-height: auto !important;
  }
}

@media (max-width: 760px) {
  body[data-page="home"] .menu-toggle,
  body.shared-detail-page .menu-toggle {
    border-radius: 0.72rem !important;
    background: rgba(132, 149, 255, 0.1) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
  }

  body.shared-detail-page .menu-toggle span:not(.menu-toggle-label) {
    width: 1.05rem !important;
    height: 1.5px !important;
  }

  body[data-page="home"] #home .hero-copy h1 {
    max-width: 12.7ch;
    font-size: clamp(2.42rem, 10.3vw, 3.25rem);
    line-height: 1;
  }

  body[data-page="home"] .ai-chat-toggle {
    right: 0.6rem;
    bottom: calc(4.15rem + env(safe-area-inset-bottom, 0px));
    width: 4.45rem;
    height: 4.45rem;
  }

  body.shared-detail-page[data-page]:not(.audit-page) .hero {
    padding: 3.1rem 0 3.5rem !important;
  }

  body.shared-detail-page[data-page]:not(.audit-page) .hero h1 {
    max-width: 13.5ch !important;
    font-size: clamp(2.42rem, 10.2vw, 3.25rem) !important;
    line-height: 1 !important;
  }

  body.shared-detail-page:not(.audit-page) .ai-chat-toggle {
    right: 0.45rem !important;
    bottom: calc(3.9rem + env(safe-area-inset-bottom, 0px)) !important;
    width: 4.35rem !important;
    height: 4.35rem !important;
  }

  body.shared-detail-page .hero-aside--reviews,
  body.shared-detail-page .hero-aside--process,
  body.shared-detail-page .hero-aside--faq {
    min-height: auto !important;
    padding: 0.9rem;
  }

  .detail-route-item {
    grid-template-columns: 2.15rem minmax(0, 1fr);
  }

  .detail-route-item em {
    grid-column: 2;
    max-width: none;
    margin-top: 0.1rem;
    color: #9faec2;
    text-align: left;
  }
}

@media (max-width: 640px) {
  /* The price calculator must reserve a stable column for its total.  The
     Russian label naturally occupies two lines on narrow phones; a grid keeps
     the total and disclosure affordance clear instead of squeezing the text. */
  body[data-page="home"] #pricing .pricing-extras-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.55rem;
    min-height: 3.55rem;
    padding: 0.55rem 0.15rem;
  }

  body[data-page="home"] #pricing .pricing-extras-summary .pricing-label {
    min-width: 0;
    line-height: 1.15;
    white-space: normal;
  }

  body[data-page="home"] #pricing .pricing-extras-summary-meta {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  /* Language remains a first-class control on phones; it is not hidden in the menu. */
  body[data-page="home"] .language-switcher,
  body.shared-detail-page .language-switcher {
    display: inline-flex !important;
  }

  body[data-page="home"] .language-button,
  body.shared-detail-page .language-button {
    min-width: 2.25rem !important;
    min-height: 2.6rem !important;
    padding: 0 0.35rem !important;
  }

  body[data-page="home"] .nav-links,
  body.shared-detail-page .nav-links {
    grid-template-columns: 1fr !important;
  }

  /* The home logo used to nest two independently painted cards.  On phones
     that composition clipped its own glow and looked like a broken rectangle.
     Keep one compact, transparent mark instead. */
  body[data-page="home"] .site-header .brand {
    min-width: 0;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body[data-page="home"] .site-header .brand::before,
  body[data-page="home"] .site-header .brand-glow,
  body[data-page="home"] .site-header .brand-border-anim {
    display: none !important;
  }

  body[data-page="home"] .site-header .brand-mark {
    min-height: 2.55rem !important;
    gap: 0.48rem !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-page="home"] .site-header .brand-icon {
    width: 1.22rem !important;
    height: 1.22rem !important;
  }

  body[data-page="home"] .site-header .brand-logo-wordmark {
    font-size: 1rem !important;
  }
}

@media (max-width: 1100px) {
  html.menu-open {
    overflow: hidden;
  }

  /* A menu is the active layer: fixed navigation and support controls must not
     compete with it visually or remain clickable behind its backdrop. */
  body[data-page="home"].menu-open .bottom-nav,
  body[data-page="home"].menu-open .ai-chat-toggle,
  body[data-page="home"].menu-open .chat-nudge,
  body[data-page="home"].menu-open .sticky-cta,
  body.shared-detail-page.menu-open .bottom-nav,
  body.shared-detail-page.menu-open .ai-chat-toggle,
  body.shared-detail-page.menu-open .chat-nudge,
  body.shared-detail-page.menu-open .sticky-cta {
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
  }
}

body.shared-detail-page .faq-item {
  scroll-margin-top: calc(var(--header-height, var(--header, 72px)) + 1rem);
}

/* Standalone routes use this compact consent surface instead of silently
   creating an analytics identifier. It shares the public palette but does not
   depend on the home page's full consent dialog. */
.cookie-consent-lite {
  position: fixed;
  z-index: 10050;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0.9rem max(1rem, env(safe-area-inset-left, 0px)) calc(0.9rem + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(206, 216, 239, 0.17);
  background: rgba(13, 19, 31, 0.97);
  box-shadow: 0 -18px 48px rgba(0, 0, 0, 0.38);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.cookie-consent-lite-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 0.85rem 1rem;
  width: min(1120px, 100%);
  margin: 0 auto;
}

.cookie-consent-lite-copy {
  min-width: 0;
}

.cookie-consent-lite-copy strong {
  display: block;
  color: #f4f7ff;
  font-size: 0.9rem;
  line-height: 1.25;
}

.cookie-consent-lite-copy p {
  max-width: 52rem;
  margin: 0.25rem 0 0;
  color: #b4c0d3;
  font-size: 0.78rem;
  line-height: 1.45;
}

.cookie-consent-lite-preferences {
  position: relative;
}

.cookie-consent-lite-preferences > summary,
.cookie-consent-lite button {
  min-height: 2.55rem;
  padding: 0.55rem 0.8rem;
  border: 1px solid rgba(206, 216, 239, 0.16);
  border-radius: 0.65rem;
  background: rgba(255, 255, 255, 0.045);
  color: #e6ecfa;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}

.cookie-consent-lite-preferences > summary {
  display: inline-flex;
  align-items: center;
  list-style: none;
}

.cookie-consent-lite-preferences > summary::-webkit-details-marker {
  display: none;
}

.cookie-consent-lite-preferences > summary::after {
  margin-left: 0.45rem;
  color: #aebdff;
  content: "+";
}

.cookie-consent-lite-preferences[open] > summary::after {
  content: "−";
}

.cookie-consent-lite-options {
  position: absolute;
  right: 0;
  bottom: calc(100% + 0.65rem);
  display: grid;
  gap: 0.7rem;
  width: min(22rem, calc(100vw - 2rem));
  padding: 0.9rem;
  border: 1px solid rgba(160, 179, 255, 0.24);
  border-radius: 0.85rem;
  background: #121a29;
  box-shadow: 0 20px 56px rgba(0, 0, 0, 0.45);
}

.cookie-consent-lite-option {
  display: grid;
  gap: 0.25rem;
  color: #eaf0ff;
  font-size: 0.8rem;
  cursor: pointer;
}

.cookie-consent-lite-option-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
}

.cookie-consent-lite-option input {
  width: 1rem;
  height: 1rem;
  margin: 0;
  accent-color: #8fa2ff;
}

.cookie-consent-lite-option-text {
  padding-left: 1.5rem;
  color: #aab6c9;
  font-size: 0.73rem;
  line-height: 1.4;
}

.cookie-consent-lite-save {
  width: 100%;
  border-color: rgba(143, 162, 255, 0.42) !important;
  background: rgba(105, 128, 255, 0.16) !important;
}

.cookie-consent-lite-actions {
  display: flex;
  gap: 0.5rem;
}

.cookie-consent-lite-accept {
  border-color: transparent !important;
  background: #8295ff !important;
  color: #07101e !important;
}

.cookie-consent-lite-reject:hover,
.cookie-consent-lite-preferences > summary:hover,
.cookie-consent-lite-save:hover {
  border-color: rgba(177, 193, 255, 0.42) !important;
  background: rgba(255, 255, 255, 0.09) !important;
}

@media (max-width: 700px) {
  .cookie-consent-lite-content {
    grid-template-columns: 1fr;
    gap: 0.7rem;
  }

  .cookie-consent-lite-preferences,
  .cookie-consent-lite-preferences > summary,
  .cookie-consent-lite-actions,
  .cookie-consent-lite-actions button {
    width: 100%;
  }

  .cookie-consent-lite-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .cookie-consent-lite-preferences > summary {
    justify-content: center;
  }

  .cookie-consent-lite-options {
    right: 0;
    bottom: calc(100% + 0.55rem);
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page="home"] .reveal,
  body[data-page="home"] .reveal-left,
  body[data-page="home"] .reveal-right,
  body[data-page="home"] .reveal-scale {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  body[data-page="home"] .ai-chat-toggle,
  body.shared-detail-page .ai-chat-toggle {
    transition: none !important;
  }
}
