/* Accessibility: one consistent keyboard focus ring.
   Webflow's export stripped outlines (outline: 0) off most controls, so keyboard
   users had no visible focus. This restores a single :focus-visible indicator
   across links, buttons, form fields, and anything with a tabindex. Because it's
   :focus-visible, mouse clicks stay clean (no ring) and only keyboard navigation
   shows it. !important is intentional: it overrides Webflow's outline: 0 rules
   without having to out-specify each one. The offset places the ring just outside
   the element so it stays visible even on the sienna buttons. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid #975030 !important;
  outline-offset: 2px !important;
  /* An outline follows the element's own border-radius, and Webflow left many
     controls at radius 0 (square) while buttons got 5px. Give every ring the
     same gentle 6px corner so they read consistently. */
  border-radius: 6px !important;
}

/* ...except the theme toggle, which is a circle and should stay one. */
#theme-toggle:focus-visible { border-radius: 50% !important; }

/* Dark theme: a warmer, lighter accent so the ring reads on the dark surface
   (sienna would nearly disappear against the dark background). */
html[data-theme="dark"] :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline-color: #e08a6c !important;
}

/* Webflow's layout containers use `overflow: hidden`, which clips the focus ring
   off any control sitting near a container edge (the case-study cards, the hero
   buttons, the footer social icons). An outline can't escape a clipping ancestor,
   so switch these to `overflow: clip` with a small clip-margin: same protection
   against horizontal bleed, but the ring is allowed to paint a few px outside.
   These are flex containers, so dropping the block formatting context is a no-op.
   !important overrides Webflow's compound-selector overflow rules. */
.container-960,
.container-1280 {
  overflow: clip !important;
  overflow-clip-margin: 8px !important;
}
