/* Final QA fixes: accessibility (focus, contrast, touch targets). Light-mode colour fixes are scoped so dark mode is untouched. */

/* Baseline visible keyboard focus everywhere */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 3px solid #398fba; outline-offset: 3px; }
html[data-theme="dark"] a:focus-visible, html[data-theme="dark"] button:focus-visible, html[data-theme="dark"] input:focus-visible, html[data-theme="dark"] select:focus-visible, html[data-theme="dark"] textarea:focus-visible, html[data-theme="dark"] [tabindex]:focus-visible { outline-color: #8fcdee; }

/* Touch targets */
.user-flow__openbtn { min-height: 44px; }
.dot { position: relative; }
.dot::after { content: ""; position: absolute; inset: -16px; }
@media (max-width: 720px) {
  .cover__expand { min-height: 44px; }
  .resume-contact a { display: inline-flex; align-items: center; min-height: 44px; }
}

html:not([data-theme="dark"]) .proj__eyebrow, html:not([data-theme="dark"]) .story-block__eyebrow, html:not([data-theme="dark"]) .section__eyebrow { color: #2b6f91; }
html:not([data-theme="dark"]) .timeline__num { background: #2b6f91; color: #fff; }
/* GL decorative numerals */
html:not([data-theme="dark"]) .section__num:not(.section__num--light), html:not([data-theme="dark"]) .ah-num, html:not([data-theme="dark"]) .dp-num, html:not([data-theme="dark"]) .impact-next__num { color: #3f7f69; }
/* Crossroads numerals on the dark band */
.xr-section--dark .xr-section__num { color: #a9cdb4; }
/* Coral headings on light cards (Patients First / lululemon / Lumeve) */
html:not([data-theme="dark"]) .problem-kicker, html:not([data-theme="dark"]) .lv-card__title { color: #b8382f; }
html:not([data-theme="dark"]) .solution__final { color: #2c2c2c; }
/* About page eyebrow */
html:not([data-theme="dark"]) .ab-eyebrow { color: #1f6a8f; }

/* Grid children must be allowed to shrink so nothing pushes past the screen edge on phones */
.pfh__text, .pfh__visual, .llh__text, .llh__visual, .now__intro, .now__tiles, .crew__head, .crew__grid, .gate__body, .fj__copy, .fj__shot, .shots > *, .duo > *, .glance > * { min-width: 0; }
.pfh h1, .llh h1, .now__title, .crew__title { overflow-wrap: anywhere; }
@media (max-width: 560px) { .now__meta { flex-direction: column; align-items: flex-start; gap: 2px; } .now__meta > span[aria-hidden="true"] { display: none; } }
/* About: skills eyebrow */
html:not([data-theme="dark"]) .sk-showcase__eyebrow { color: #2b6f91; }
html:not([data-theme="dark"]) .sk-showcase__eyebrow span { color: #c4453c; }
html[data-theme="dark"] .sk-showcase__eyebrow { color: #a9dcf4; }
html[data-theme="dark"] .sk-showcase__eyebrow span { color: #ffb3ad; }
/* GL design system: accent swatch label and numerals */
.ds-swatch:nth-child(3) .swatch-name, .ds-swatch:nth-child(3) .swatch-hex { color: #052e22; }
html:not([data-theme="dark"]) .dp-num, html:not([data-theme="dark"]) .ah-num { color: #2f6c58; }
.timeline__num { background: #2b6f91; color: #fff; }
/* final dark-mode touches */
html[data-theme="dark"] .crew__me { background: #c40d2c; color: #fff; }
html[data-theme="dark"] .xr-badge, html[data-theme="dark"] .xr-frame__url { color: #c9ddcf; }
.ds-swatch:nth-child(3) .swatch-name, .ds-swatch:nth-child(3) .swatch-hex { color: #021a13; }

/* Inline Figma mark inside prototype buttons */
.figma-ico { display: block; width: 18px; height: auto; flex: 0 0 auto; }
.btn__icon .figma-ico { width: 16px; }
