/* Styles for the local JS in offline.js */
.uc-offline-menu { position: fixed; inset: 0; z-index: 99999; background: #0a0b0c; display: flex; align-items: center; justify-content: center; }
.uc-offline-menu[hidden] { display: none; }
.uc-offline-menu nav { display: flex; flex-direction: column; gap: 28px; text-align: center; }
.uc-offline-menu a { color: #fff; font: 600 28px/1.2 "instrument-sans", "Instrument Sans", system-ui, sans-serif; text-decoration: none; }
.uc-offline-menu a:hover { color: #2dd198; }
.uc-offline-menu__close { position: absolute; top: 16px; right: 20px; background: none; border: 0; color: #fff; font-size: 44px; line-height: 1; cursor: pointer; }
.uc-offline-status { margin: 12px 0 0; color: #a9aaaa; font: 400 16px/1.4 "inter", Inter, system-ui, sans-serif; }
.uc-offline-status:empty { display: none; }
.uc-offline-status[data-state=ok] { color: #2dd198; }
.uc-offline-status[data-state=error] { color: #ff8f66; }
[data-hook=submit-button]:disabled { opacity: .6; cursor: progress; }
[data-hook=submit-button][data-sent]:disabled { cursor: default; }
[data-hook="collapsible-content"] { transition: max-height .25s ease; }

/* email addresses are links */
.uc-mail { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.uc-mail:hover { color: #2dd198; }

/* Header logo "breathes": the lit node's ring pulses outward, same motion as the placeholder site's mark
   (scale .7 -> 1.5 while fading, 2.4s, ease-out, looping). Position/size are fractions of the logo image. */
header .logo-wrapper { position: relative; }
header .logo-wrapper::after {
  content: ""; position: absolute; left: 19.9%; top: 24%; width: 9.6%; aspect-ratio: 1; box-sizing: border-box;
  border: 1px solid #ff8f66; border-radius: 50%; pointer-events: none; opacity: 0;
  transform: translate(-50%, -50%) scale(.7);
  animation: uc-breathe 2.4s ease-out infinite;
}
@keyframes uc-breathe {
  0%   { opacity: .7; transform: translate(-50%, -50%) scale(.7); }
  100% { opacity: 0;  transform: translate(-50%, -50%) scale(1.5); }
}
@media (prefers-reduced-motion: reduce) { header .logo-wrapper::after { animation: none; opacity: 0; } }

/* Contact form: rounded slate panel, clearly bounded fields, pill button (!important beats the captured per-component rules) */
[data-hook=Form-wrapper] { border-radius: 32px; padding: 40px; background: #161718; }
[data-hook=Form-wrapper] label { font-size: 16px; font-weight: 500; margin: 0 0 8px; display: block; }
[data-hook=Form-wrapper] div:has(> input), [data-hook=Form-wrapper] div:has(> textarea) {
  background: #0a0b0c !important; border: 1px solid rgba(255,255,255,.22) !important; border-radius: 14px !important;
  padding: 4px 8px !important; transition: border-color .15s, box-shadow .15s;
}
[data-hook=Form-wrapper] div:has(> input):hover, [data-hook=Form-wrapper] div:has(> textarea):hover { border-color: rgba(45,209,152,.6) !important; }
[data-hook=Form-wrapper] div:has(> input):focus-within, [data-hook=Form-wrapper] div:has(> textarea):focus-within {
  border-color: #2dd198 !important; box-shadow: 0 0 0 3px rgba(45,209,152,.22);
}
[data-hook=Form-wrapper] input, [data-hook=Form-wrapper] textarea { cursor: text; }
[data-hook=Form-wrapper] ::placeholder { color: #8a8b8b; opacity: 1; }
[data-hook=Form-wrapper] textarea { min-height: 140px; }
[data-hook=Form-wrapper] [data-hook=submit-button] {
  border-radius: 999px !important; min-height: 52px; cursor: pointer; transition: transform .15s, filter .15s;
}
[data-hook=Form-wrapper] [data-hook=submit-button] span { font-size: 18px; font-weight: 500; }
[data-hook=Form-wrapper] [data-hook=submit-button] span::after { content: "\2192"; margin-left: 10px; }
[data-hook=Form-wrapper] [data-hook=submit-button]:hover { filter: brightness(1.1); transform: translateY(-1px); text-decoration: none; }
[data-hook=Form-wrapper] [data-hook=submit-button][data-sent] span::after { content: "\2713"; }
[data-hook=Form-wrapper] [data-hook=submit-button][data-sent]:hover { filter: none; transform: none; }
@media (max-width: 600px) { [data-hook=Form-wrapper] { padding: 24px 18px; border-radius: 24px; } }

/* Contact page: the hero above the form was removed, so pull the heading up under the header */
#comp-muuf10gu { margin-top: 56px !important; }
#comp-muuf10j0 { margin-bottom: 72px !important; }
@media (max-width: 600px) {
  #comp-muuf10gu { margin-top: 40px !important; }
  #comp-muuf10gu h2 { font-size: 36px !important; line-height: 1.1 !important; }
  #comp-muuf10i0, #comp-muuf10i0 p, #comp-muuf10i0 span { font-size: 16px !important; line-height: 1.4 !important; }
}
