/*
    Dwarkesh Metal Industries — site stylesheet.

    The layout engine below (app.css) is the JLM theme by Studio Form
    <https://form-digital.com>, version 1.03.29.01, kept intact and unmodified.
    Everything after the import is this site's own, and exists to correct
    behaviour the theme leaves undefined.
*/

@import url("css/app.css");

/*
  The theme sets text colours that assume a white page but never sets the page
  background itself, so in a browser running a dark colour scheme the UA canvas
  goes dark and every light section renders near-black text on near-black.
  Pin the canvas to light and give body an explicit background.
*/
:root {
  color-scheme: light;
}

html,
body {
  background-color: var(--color-white, #fff);
}

/*
  Buttons carry their own accent, separate from the theme's orange
  (--color-primary). The orange still does the non-button work: the rating bar,
  the metric figures, the open-FAQ marks, link underlines and focus rings.
*/
:root {
  --color-cta: #fd3d58;
}

.btn--primary {
  background: var(--color-cta);
}

/* On hover the theme turns the icon disc white and tints the glyph with the
   button colour, so the glyph has to follow the fill. */
.btn--primary:hover .btn__icon {
  color: var(--color-cta);
}

/*
  The theme suppresses outlines and defines no :focus-visible rules, so keyboard
  users get no indicator at all. Restore one that reads on both the light and
  the dark sections. Mouse users are unaffected — :focus-visible only fires for
  keyboard and other non-pointer focus.
*/
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--color-primary, #ff3700);
  outline-offset: 3px;
  border-radius: 1px;
}

/* On the navy sections the orange sits too close to the background to lead
   with, so pair it with a light halo. */
.bg-tertiary a:focus-visible,
.bg-tertiary button:focus-visible,
.bg-black a:focus-visible,
.bg-black button:focus-visible,
.scoreCard a:focus-visible {
  outline-color: var(--color-white, #fff);
  box-shadow: 0 0 0 4px var(--color-primary, #ff3700);
}

/* The menu overlay's stacked links come in at 23px tall, a pixel under the
   24px minimum target size. They are standalone links in a list, not inline
   in a sentence, so the inline-exception doesn't apply. */
.siteMenu__contacts a {
  min-height: 24px;
  display: flex;
  align-items: center;
}

/* Respect a reduced-motion preference across the whole page, including the
   theme's GSAP-driven reveals and the marquee. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* Applied by the theme's JS. */
.d-none {
  display: none !important;
}
