/* Greenekka V10.6: additive accessibility and layout safeguards.
   Load after the existing Greenekka stylesheets. No content/data changes. */
:root { color-scheme: light; }
html { text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
body { min-width: 0; }
/* Prevent intrinsic-width content from expanding a grid or flex track. */
:where(main, article, section, .content-grid, .category-grid, .story-card, .hero-layout, .hero-feature, .hero-side, .article-layout, .article-body, .gk-datalab-showcase) { min-width: 0; }
/* Avoid accidental horizontal overflow from media content. */
:where(main, article) :is(img, video, svg, canvas) { max-width: 100%; }
:where(main, article) :is(iframe, embed, object) { max-width: 100%; }
/* Text remains readable when the reader enlarges browser fonts. */
:where(.story-card, .side-story, .article-body, .gk-datalab-showcase) :is(h1,h2,h3,h4,p,a) { overflow-wrap: break-word; }
/* Consistent and clear keyboard focus for links and controls. */
:where(a, button, input, select, textarea, summary, [role="button"]):focus-visible {
  outline: 3px solid #124b3b;
  outline-offset: 3px;
}
/* Disclose non-decorative links when focus is moved via keyboard. */
:where(.story-card, .side-story, .article-side, .gk-footer) a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
/* Reserve space only for the homepage and article images that already use set ratios. */
.gk-v92-lead-image, .gk-v92-side-image { overflow: hidden; }
.gk-v92-lead-image img, .gk-v92-side-image img { display: block; }
/* Media should respect aspect ratio without distorting the original crop. */
:where(.story-card, .side-story) img { object-fit: cover; }
/* Turn off non-essential animation if the visitor requests reduced motion. */
@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto; }
  :where(.story-card, .side-story, .hero-feature) img,
  :where(.gk-v92-desktop-nav a)::after { animation: none !important; transition: none !important; }
}
@media (max-width: 700px) {
  :where(.article-body, .story-card, .side-story) { min-width: 0; }
  :where(.article-body, .story-card, .side-story) a { overflow-wrap: anywhere; }
}
