/* Shared Tech branding, sampled from the published Flexy site on 2026-11-12.
   Keep form layout, disabled controls and survey behavior intact. */
body { --flexy-orange: #ff6600; --flexy-orange-hover: #e65c00; }
body.proposal-page { --proposal-button: #ff6600; --proposal-button-hover: #e65c00; }

body .button, body button {
  -webkit-appearance: none;
  appearance: none;
  background: var(--flexy-orange) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: inherit;
  font-weight: 700 !important;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
  touch-action: manipulation;
  cursor: pointer;
  transition: background-color .2s ease;
}
body .button {
  min-height: 44px;
  max-width: 100%;
  padding: 12px 16px;
  gap: 10px;
  font-size: 14px;
  line-height: 1.5;
}
body .button:not(:disabled):hover, body button:not(:disabled):hover {
  background: var(--flexy-orange-hover) !important;
  transform: none !important;
}
body .button:focus-visible, body button:focus-visible {
  outline: 3px solid #20292c;
  outline-offset: 4px;
}
body header .button:focus-visible, body header button:focus-visible,
body .hero-actions .button:focus-visible, body .closing .button:focus-visible {
  outline-color: #fff;
}
body button:disabled, body .button:disabled {
  opacity: .55 !important;
  cursor: not-allowed;
  transform: none !important;
}

body .brand .official-wordmark {
  display: block;
  width: 220px;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}
body header .brand { flex-shrink: 0; }
body .menu-toggle {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 10px;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
body .menu-toggle span { width: 22px; height: 2px; background: #fff; }
body .laundry-dialog-close { width: 44px; height: 44px; min-height: 44px; }

@media (min-width: 1001px) and (max-width: 1180px) {
  body header .brand .official-wordmark { width: 180px; }
  body header .header-cta { font-size: 12px; padding: 10px 12px; }
}
@media (max-width: 1000px) {
  body.v2-page header { height: 78px; gap: 16px; padding-left: 24px; padding-right: 24px; }
  body header .brand .official-wordmark { width: 180px; }
  body header .menu-toggle { display: flex; flex-direction: column; order: 3; }
  body header .header-cta { margin-left: auto; font-size: 13px; padding: 10px 14px; }
  body header nav {
    display: none; position: absolute; left: 0; right: 0; top: 100%;
    padding: 20px 24px; background: var(--dark); border-top: 1px solid #35464d;
    flex-direction: column; align-items: stretch; gap: 0;
  }
  body header nav.open { display: flex; }
  body.v2-page header nav a, body.v2-page header nav a[aria-current="page"] {
    font-size: 20px; padding: 14px 0; border-bottom: 1px solid #35464d;
  }
}
@media (max-width: 600px) {
  body.v2-page header { gap: 10px; padding-left: 16px; padding-right: 16px; }
  body header .brand .official-wordmark { width: 130px; }
  body header .header-cta { font-size: 11px; padding: 10px; }
  body footer .brand .official-wordmark { width: 220px; }
}
@media (prefers-reduced-motion: reduce) {
  body .button, body button { transition: none; }
}
