/* A small material control in the navigation, clear of the chapter rail and
   floating enquiry action. The sound itself is optional and off by default. */
[data-aicanfeel-sound-slot] { display: contents; }
.aicanfeel-sound-toggle {
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 8px;
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0 11px;
  border: 1px solid var(--line, rgba(244, 239, 231, .18));
  border-radius: 2px;
  background: transparent;
  color: var(--bone-dim, var(--dim, #bdb8af));
  font: 400 11px/1.3 Onest, system-ui, sans-serif;
  letter-spacing: .01em;
  text-transform: none;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: color .2s ease-out, border-color .2s ease-out, background .2s ease-out;
}
.aicanfeel-sound-toggle svg {
  display: block;
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.aicanfeel-sound-toggle .sound-waves { display: none; }
.aicanfeel-sound-toggle[data-sound-state="on"] {
  color: var(--bone, #f4efe7);
  border-color: var(--ember, #f17860);
  background: rgba(241, 120, 96, .07);
}
.aicanfeel-sound-toggle[data-sound-state="on"] .sound-waves { display: block; }
.aicanfeel-sound-toggle[data-sound-state="on"] .sound-slash { display: none; }
.aicanfeel-sound-toggle[data-sound-state="armed"] { color: var(--bone, #f4efe7); }
.aicanfeel-sound-toggle:hover:not(:disabled) {
  color: var(--bone, #f4efe7);
  border-color: var(--bone-dim, var(--dim, #bdb8af));
}
.aicanfeel-sound-toggle:focus-visible {
  outline: 2px solid var(--ember, #f17860);
  outline-offset: 4px;
}
.aicanfeel-sound-toggle:disabled { opacity: .55; cursor: default; }
.aicanfeel-sound-description {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.aicanfeel-contact-route .header .nav-cta { display: none; }
.header.has-sound-control .aicanfeel-sound-toggle { margin-left: 14px; }
@media (max-width: 1100px) {
  .aicanfeel-sound-toggle { width: 44px; padding: 0; }
  .aicanfeel-sound-toggle .sound-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  header#nav.has-sound-control { gap: clamp(8px, 1.8vw, 20px); }
}
@media (max-width: 820px) {
  header#nav.has-sound-control .aicanfeel-sound-toggle { margin-left: auto; }
  header#nav.has-sound-control .nav-burger { margin-left: 0; }
}
@media (max-width: 760px) {
  .header.has-sound-control { gap: 8px; }
  .header.has-sound-control .aicanfeel-sound-toggle { margin-left: 0; }
  .aicanfeel-contact-route .header .aicanfeel-sound-toggle { margin-left: auto; }
  .header.has-sound-control .nav-cta { margin-left: auto; margin-right: 0; padding-inline: 10px; }
  .header.has-sound-control .menu-button { flex: 0 0 44px; }
}
@media (max-width: 560px) {
  .header.has-sound-control .brand { gap: 6px; font-size: 12px; }
  .header.has-sound-control .brand svg { width: 28px; height: 28px; }
  header#nav.has-sound-control .brand { gap: 8px; }
  header#nav.has-sound-control .brand svg { width: 28px; height: 28px; }
  header#nav.has-sound-control .brand-tx b { font-size: 11px; letter-spacing: .16em; }
  header#nav.has-sound-control .brand-tx i { font-size: 7px; letter-spacing: .12em; }
  .header.has-sound-control .nav-cta { font-size: 0; width: 44px; padding: 0; gap: 0; justify-content: center; }
  .header.has-sound-control .nav-cta .cta-dot { display: none; }
  .header.has-sound-control .nav-cta::after {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background: currentColor;
    mask: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22%3E%3Cpath d=%22M4 10h12m-5-5 5 5-5 5%22 fill=%22none%22 stroke=%22black%22 stroke-width=%221.5%22/%3E%3C/svg%3E') center / contain no-repeat;
  }
}
@media (prefers-reduced-motion: reduce) { .aicanfeel-sound-toggle { transition: none; } }
