/** Keyboard, screen-reader and reduced-motion improvements. */
:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex='-1'])):focus-visible {
	outline: 3px solid #1d4ed8;
	outline-offset: 3px;
}

.skip-link:focus { position: fixed; inset-block-start: 1rem; inset-inline-start: 1rem; z-index: 100000; inline-size: auto; block-size: auto; clip: auto; padding: .75rem 1rem; background: #fff; color: #111; }
[aria-disabled='true'] { cursor: not-allowed; }
.sr-only,
.screen-reader-text { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* WCAG 2.2 target size: interactive controls remain at least 44 CSS px. */
:where(.site-main, .main-header, .site-footer) :where(
	a.btn,
	button,
	input[type='button'],
	input[type='submit'],
	input[type='reset'],
	.menu-toggle,
	.submenu-toggle,
	.taif-hero-arrow,
	.taif-hero-toggle,
	.topbar-social-link,
	.footer-social-link
) {
	min-block-size: 44px;
	min-inline-size: 44px;
}

/* The bright gold remains decorative; text on light surfaces uses dark gold. */
.taif-page-hero__highlight,
.eyebrow,
.taif-branch-profile {
	--branch-accent: #875400;
}
.taif-page-hero__highlight,
.eyebrow {
	color: #875400;
}

/* Reflow safely at 320px and at 200% zoom without horizontal page scrolling. */
html,
body {
	max-inline-size: 100%;
}
:where(.site-main, .site-footer) :where(img, svg, video, iframe) {
	max-inline-size: 100%;
}
:where(.site-main, .site-footer) :where(p, li, dd, dt, a, button, label, h1, h2, h3, h4, h5, h6) {
	overflow-wrap: anywhere;
}

@media (max-width: 400px) {
	.container {
		inline-size: calc(100% - 24px);
	}
	:where(.site-main, .site-footer) :where(.btn, button, input, select, textarea) {
		max-inline-size: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
