/* Consult One — light/dark switch (preview v2) */
.c1-dark-toggle { width: 42px; height: 42px; border-radius: 50%; border: 1px solid #e1e5ec; background: #fff; color: #1b2b4a; display: inline-grid; place-items: center; padding: 0; cursor: pointer; margin-inline-end: 10px; position: relative; overflow: hidden; transition: background .3s, color .3s, border-color .3s, transform .2s; flex: none; vertical-align: middle; }
.c1-dark-toggle:hover { transform: rotate(-12deg); }
.c1-dark-toggle:focus-visible { outline: 3px solid #c0403f; outline-offset: 3px; }
.c1-dark-toggle svg { width: 19px; height: 19px; position: absolute; transition: transform .45s cubic-bezier(.3,1.3,.5,1), opacity .3s; }
.c1-dark-toggle .sun { opacity: 0; transform: rotate(-90deg) scale(.5); }
.c1-dark-toggle .moon { opacity: 1; transform: none; }
html.c1-night .c1-dark-toggle { background: #18233a; color: #ffd36b; border-color: rgba(255,255,255,.14); }
html.c1-night .c1-dark-toggle .sun { opacity: 1; transform: none; }
html.c1-night .c1-dark-toggle .moon { opacity: 0; transform: rotate(90deg) scale(.5); }
.c1-dark-toggle.is-float { position: fixed; top: 90px; inset-inline-end: 16px; z-index: 99990; box-shadow: 0 10px 24px -12px rgba(0,0,0,.4); }
@media (max-width: 767px) { .c1-dark-toggle { width: 38px; height: 38px; margin-inline-end: 6px; } }
/* menu row (phones and small tablets) */
.c1-dark-row { display: none; }
@media (min-width: 992px) and (max-width: 1199px) { .c1nav-actions .c1-dark-toggle { width: 34px; height: 34px; margin-inline-end: 6px; } .c1nav-actions .c1-dark-toggle svg { width: 16px; height: 16px; } }
@media (max-width: 991px) {
  .c1nav-actions .c1-dark-toggle { display: none !important; }
  .c1-dark-row { display: flex; align-items: center; gap: 12px; width: 100%; padding: 16px 22px; background: none; border: 0; border-top: 1px solid rgba(255,255,255,.08); color: #fff; font-family: inherit; font-size: 17px; font-weight: 600; line-height: 1.2; cursor: pointer; text-align: start; }
  .c1-dark-row .ico { position: relative; width: 22px; height: 22px; display: inline-grid; place-items: center; }
  .c1-dark-row svg { width: 20px; height: 20px; position: absolute; }
  .c1-dark-row .sun { display: none; } html.c1-night .c1-dark-row .sun { display: block; color: #ffd36b; } html.c1-night .c1-dark-row .moon { display: none; }
  .c1-dark-row:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
}

/* the switch itself: a soft cross-fade instead of a jump */
html.c1-theming body, html.c1-theming body * { transition: background-color .35s ease, color .35s ease, border-color .35s ease, fill .35s ease !important; }

/* dark base — anything the recolouring pass cannot reach */
html.c1-night, html.c1-night body { background: #0b111c !important; }
/* the theme's own light-dark() tokens stay on their light values; this pass does the recolouring */
html.c1-night .c1nav-cta, html.c1-night .coh-btn { color: #fff !important; }
html.c1-night .c1nav-main { background: rgba(11,17,28,.86) !important; border-color: rgba(255,255,255,.08) !important; }
html.c1-night .c1nav-main a:not(.c1nav-cta) { color: #dfe6f1 !important; }
html.c1-night ::selection { background: #c0403f; color: #fff; }
html.c1-night input::placeholder, html.c1-night textarea::placeholder { color: #7f8ba0 !important; }
html.c1-night input, html.c1-night select, html.c1-night textarea { color-scheme: dark; }
html.c1-night hr { border-color: rgba(255,255,255,.1) !important; }
/* client logos and white artwork sit on a soft light tile so they stay readable */
html.c1-night .c1-clients img, html.c1-night [class*="client"] img, html.c1-night [class*="marquee"] img { background: #eef1f6; border-radius: 10px; padding: 6px; }
@media (prefers-reduced-motion: reduce) { html.c1-theming body, html.c1-theming body * { transition: none !important; } }

/* very small phones: keep "Get a quote" fully inside the header */
@media (max-width: 389px) { html:root:root body .c1nav-main-in { padding-inline: 14px !important; gap: 10px !important; } html:root:root body .c1nav-logo, html:root:root body .c1nav-logo img { min-width: 0 !important; width: 118px !important; max-width: 118px !important; height: auto !important; } html:root:root body .c1nav-cta { padding-inline: 10px !important; } }
