/* KMS Matrimony About Us. Colours come from the --kms-* tokens (Profiles themes);
   the fallbacks after each comma are the Namma maroon-and-gold palette.

   Contrast rule: a filled control or small glyph never uses a dark colour on a dark
   surface or a light colour on a light surface. --ab-solid is the "strong" colour for the
   current mode (theme primary in light mode, theme accent in dark mode) and --ab-on-solid
   is the text colour that sits on it. */
.kms-ab {
	--ab-primary: var(--kms-primary, #800020);
	--ab-primary-dark: var(--kms-primary-dark, #5B0017);
	--ab-accent: var(--kms-accent, #D4AF37);
	--ab-bg: var(--kms-bg, #FFFFFF);
	--ab-page: var(--kms-page, #FFF9F0);
	--ab-surface: var(--kms-surface, #FBF3E6);
	--ab-text: var(--kms-text, #2A1A1F);
	--ab-muted: var(--kms-muted, #6F5D62);
	--ab-border: var(--kms-border, #EAD9C4);
	--ab-head: var(--kms-head, #800020);
	--ab-link: var(--kms-link, #800020);
	--ab-on-primary: var(--kms-on-primary, #FFFFFF);
	--ab-on-gold: var(--kms-on-gold, #2D1800);
	--ab-shadow: var(--kms-shadow, rgba(128,0,32,.14));
	--ab-hero: var(--kms-hero-bg, linear-gradient(180deg,#FFF9F0 0%,#FBEBD3 100%));
	--ab-hero-text: var(--kms-hero-text, #2A1A1F);
	--ab-font-head: var(--kms-font-head, 'Cinzel', Georgia, serif);
	--ab-font-body: var(--kms-font-body, 'Plus Jakarta Sans', -apple-system, 'Segoe UI', sans-serif);
	--ab-solid: var(--ab-primary);
	--ab-on-solid: var(--ab-on-primary);
	--ab-solid-edge: var(--ab-primary-dark);
	--ab-ease: cubic-bezier(.2,.7,.2,1);
	background: var(--ab-page);
	color: var(--ab-text);
	font-family: var(--ab-font-body);
	line-height: 1.65;
	font-size: 1rem;
}
/* Dark mode: strong colour flips to the accent (light) so it stands out on dark surfaces. */
.kms-ab[data-mode="dark"] {
	--ab-solid: var(--ab-accent);
	--ab-on-solid: var(--ab-on-gold);
	--ab-solid-edge: var(--ab-accent);
}
/* The hero's own tone: light hero -> theme colour fill; dark hero -> accent fill. Some bundled
   themes have a dark hero even in light mode, so those are listed here. */
.kms-ab__hero { --ab-hs: var(--ab-primary); --ab-hs-on: var(--ab-on-primary); --ab-hs-edge: var(--ab-primary-dark); }
.kms-ab[data-mode="dark"] .kms-ab__hero,
.kms-ab[data-theme="kanchipuram"][data-mode="light"] .kms-ab__hero,
.kms-ab[data-theme="thanjavur"][data-mode="light"] .kms-ab__hero,
.kms-ab[data-theme="chettinad"][data-mode="light"] .kms-ab__hero,
.kms-ab[data-theme="marina"][data-mode="light"] .kms-ab__hero,
.kms-ab[data-theme="rosegold"][data-mode="light"] .kms-ab__hero { --ab-hs: var(--ab-accent); --ab-hs-on: var(--ab-on-gold); --ab-hs-edge: var(--ab-accent); }
.kms-ab *, .kms-ab *::before, .kms-ab *::after { box-sizing: border-box; }
.kms-ab__wrap { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 20px; }
.kms-ab__narrow { max-width: 780px; }
.kms-ab__center { text-align: center; }
.kms-ab__sec { padding: 64px 0; }
.kms-ab__sec--tint { background: var(--ab-surface); }

.kms-ab h1, .kms-ab h2, .kms-ab h3 { font-family: var(--ab-font-head); color: var(--ab-head); line-height: 1.25; margin: 0 0 .6em; }
.kms-ab__h1 { font-size: clamp(2rem, 5vw, 3.2rem); color: var(--ab-hero-text) !important; }
.kms-ab__h2 { font-size: clamp(1.5rem, 3.2vw, 2.1rem); text-align: center; margin-bottom: 1.1em; }
.kms-ab__narrow .kms-ab__h2, .kms-ab__panel .kms-ab__h2 { text-align: left; }
.kms-ab__center .kms-ab__h2 { text-align: center; }
.kms-ab h3 { font-size: 1.15rem; }
.kms-ab p { margin: 0 0 1em; }
.kms-ab a { color: var(--ab-link); }

/* Section headings get a short accent underline that grows on hover. */
.kms-ab__h2::after { content: ''; display: block; width: 56px; height: 3px; margin: 12px auto 0; border-radius: 3px; background: var(--ab-solid); transition: width .35s var(--ab-ease); }
.kms-ab__narrow .kms-ab__h2::after, .kms-ab__panel .kms-ab__h2::after { margin-left: 0; }
.kms-ab__center .kms-ab__h2::after { margin-left: auto; background: var(--ab-on-primary); }

/* Hero */
.kms-ab__hero { background: var(--ab-hero); color: var(--ab-hero-text); padding: 72px 0 80px; border-bottom: 1px solid var(--ab-border); overflow: hidden; }
.kms-ab__hero-in { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: center; }
.kms-ab__eyebrow { display: inline-flex; align-items: center; gap: 10px; text-transform: uppercase; letter-spacing: .14em; font-size: .8rem; font-weight: 700; color: var(--ab-hero-text); margin-bottom: .8em; }
.kms-ab__eyebrow::before { content: ''; width: 28px; height: 3px; border-radius: 3px; background: var(--ab-hs); transition: width .3s var(--ab-ease); }
.kms-ab__lead { font-size: 1.15rem; max-width: 36em; color: var(--ab-hero-text); opacity: .92; }
.kms-ab__hero-art { text-align: center; }
.kms-ab__hero-art img { max-width: 100%; height: auto; width: 220px; filter: drop-shadow(0 12px 24px var(--ab-shadow)); transition: transform .5s var(--ab-ease), filter .5s var(--ab-ease); }
.kms-ab__row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 1.4em; }

/* Buttons
   cta    = main action: theme colour with white text in light mode, accent with dark text in dark mode.
   ghost  = outline in the hero's own text colour (always readable on the hero).
   invert = for the coloured closing band: light button, dark text. */
.kms-ab a.kms-ab__btn {
	position: relative; overflow: hidden; isolation: isolate;
	display: inline-flex; align-items: center; gap: 10px; min-height: 46px; padding: 12px 26px;
	border-radius: 999px; border: 2px solid transparent; font-weight: 700; line-height: 1.3; text-decoration: none;
	transition: transform .2s var(--ab-ease), box-shadow .2s var(--ab-ease), background-color .2s, color .2s, border-color .2s;
}
.kms-ab a.kms-ab__btn::before {
	content: ''; position: absolute; inset: 0; z-index: -1; transform: translateX(-120%) skewX(-18deg);
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent); transition: transform .6s var(--ab-ease);
}
.kms-ab__arrow { font-style: normal; display: inline-block; transition: transform .2s var(--ab-ease); }
.kms-ab a.kms-ab__btn--cta { background: var(--ab-solid); color: var(--ab-on-solid); border-color: var(--ab-solid-edge); }
.kms-ab a.kms-ab__btn--ghost { background: transparent; color: var(--ab-hero-text); border-color: var(--ab-hero-text); }
.kms-ab a.kms-ab__btn--invert { background: var(--ab-on-primary); color: var(--ab-primary-dark); border-color: var(--ab-on-primary); }
.kms-ab a.kms-ab__btn:focus-visible, .kms-ab summary:focus-visible { outline: 3px solid var(--ab-solid); outline-offset: 3px; }
.kms-ab__cta a.kms-ab__btn:focus-visible { outline-color: var(--ab-on-primary); }

/* Hero buttons use the hero's own pair, so they always stand out from the hero background. */
.kms-ab__hero a.kms-ab__btn--cta { background: var(--ab-hs); color: var(--ab-hs-on); border-color: var(--ab-hs-edge); }

/* Stats band */
.kms-ab__stats { background: var(--ab-primary); color: var(--ab-on-primary); padding: 44px 0; }
.kms-ab__stat { text-align: center; padding: 8px; border-radius: 14px; transition: background-color .25s, transform .25s var(--ab-ease); }
.kms-ab__stat strong { display: block; font-family: var(--ab-font-head); font-size: clamp(1.8rem, 4vw, 2.6rem); color: var(--ab-on-primary); line-height: 1.2; transition: transform .25s var(--ab-ease); }
.kms-ab__stat strong::after { content: ''; display: block; width: 28px; height: 3px; margin: 6px auto 8px; border-radius: 3px; background: var(--ab-on-primary); opacity: .6; transition: width .3s var(--ab-ease), opacity .3s; }
.kms-ab__stat span { font-size: .95rem; }

/* Cards and grids */
.kms-ab__grid { display: grid; gap: 22px; }
.kms-ab__grid--2 { grid-template-columns: repeat(2, 1fr); }
.kms-ab__grid--auto { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.kms-ab__card {
	position: relative; background: var(--ab-bg); border: 1px solid var(--ab-border); border-radius: 16px; padding: 26px;
	box-shadow: 0 6px 18px var(--ab-shadow);
	transition: transform .3s var(--ab-ease), box-shadow .3s var(--ab-ease), border-color .3s;
}
.kms-ab__card--accent { border-top: 4px solid var(--ab-solid); }
.kms-ab__card p:last-child { margin-bottom: 0; }
.kms-ab__icon {
	width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; margin-bottom: 14px; font-size: 1.3rem;
	background: var(--ab-surface); color: var(--ab-solid); border: 1px solid var(--ab-border);
	transition: transform .3s var(--ab-ease), background-color .3s, color .3s, border-color .3s;
}
.kms-ab__icon:empty { display: none; }
.kms-ab h3 i { margin-right: 6px; color: var(--ab-solid); transition: transform .3s var(--ab-ease); display: inline-block; }
.kms-ab__prose p { font-size: 1.08rem; }

/* Steps */
.kms-ab__steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.kms-ab__step {
	display: flex; gap: 16px; align-items: flex-start; background: var(--ab-bg); border: 1px solid var(--ab-border); border-radius: 16px; padding: 22px;
	transition: transform .3s var(--ab-ease), box-shadow .3s var(--ab-ease), border-color .3s;
}
.kms-ab__step p { margin: 0; color: var(--ab-muted); }
.kms-ab__num {
	flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-weight: 700;
	background: var(--ab-solid); color: var(--ab-on-solid); transition: transform .3s var(--ab-ease), box-shadow .3s;
}

/* Trust */
.kms-ab__panel { background: var(--ab-bg); border: 1px solid var(--ab-border); border-left: 6px solid var(--ab-solid); border-radius: 16px; padding: 32px; transition: box-shadow .3s var(--ab-ease); }
.kms-ab__checks { list-style: none; margin: 0 0 1.2em; padding: 0; display: grid; gap: 4px; }
.kms-ab__checks li { padding: 6px 10px; border-radius: 10px; transition: background-color .2s, transform .2s var(--ab-ease); }
.kms-ab__checks i { color: var(--ab-solid); margin-right: 8px; transition: transform .2s var(--ab-ease); display: inline-block; }

/* Team */
.kms-ab__person { text-align: center; }
.kms-ab__avatar {
	width: 112px; height: 112px; margin: 0 auto 14px; border-radius: 50%; overflow: hidden; display: grid; place-items: center;
	background: var(--ab-surface); color: var(--ab-solid); font: 700 2.2rem var(--ab-font-head);
	border: 3px solid var(--ab-solid); box-shadow: 0 0 0 0 var(--ab-shadow); transition: transform .3s var(--ab-ease), box-shadow .3s var(--ab-ease);
}
.kms-ab__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s var(--ab-ease); }
.kms-ab__role { color: var(--ab-muted); font-weight: 600; font-size: .92rem; }

/* FAQ */
.kms-ab__faq { background: var(--ab-bg); border: 1px solid var(--ab-border); border-radius: 12px; margin-bottom: 12px; transition: border-color .2s, box-shadow .25s var(--ab-ease), transform .25s var(--ab-ease); }
.kms-ab__faq summary { cursor: pointer; padding: 16px 20px; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 16px; color: var(--ab-text); border-radius: 12px; transition: background-color .2s, color .2s; }
.kms-ab__faq summary::-webkit-details-marker { display: none; }
.kms-ab__faq summary::after { content: '+'; flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: 1.1rem; line-height: 1; background: var(--ab-solid); color: var(--ab-on-solid); transition: transform .25s var(--ab-ease); }
.kms-ab__faq[open] summary::after { content: '\2212'; transform: rotate(180deg); }
.kms-ab__faq > div { padding: 0 20px 6px; color: var(--ab-muted); }
.kms-ab__faq[open] { border-color: var(--ab-solid); }

/* Contact */
.kms-ab__contact { list-style: none; margin: 0 0 1.2em; padding: 0; display: grid; gap: 6px; }
.kms-ab__contact li { padding: 8px 12px; border-radius: 10px; transition: background-color .2s, transform .2s var(--ab-ease); }
.kms-ab__contact i { width: 1.4em; color: var(--ab-solid); margin-right: 6px; transition: transform .2s var(--ab-ease); display: inline-block; }
.kms-ab__contact a, .kms-ab__prose a { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; transition: text-decoration-color .2s; }

/* Closing CTA */
.kms-ab__cta { background: var(--ab-primary); color: var(--ab-on-primary); }
.kms-ab__cta .kms-ab__h2 { color: var(--ab-on-primary); }

/* ---------- Hover and focus effects (pointer devices only) ---------- */
@media (hover: hover) {
	.kms-ab__h2:hover::after { width: 120px; }
	.kms-ab__hero:hover .kms-ab__eyebrow::before { width: 48px; }
	.kms-ab__hero-art img:hover { transform: translateY(-6px) rotate(-3deg) scale(1.04); filter: drop-shadow(0 20px 30px var(--ab-shadow)); }

	.kms-ab a.kms-ab__btn:hover { transform: translateY(-3px); box-shadow: 0 10px 22px var(--ab-shadow); }
	.kms-ab a.kms-ab__btn:hover::before { transform: translateX(120%) skewX(-18deg); }
	.kms-ab a.kms-ab__btn:hover .kms-ab__arrow { transform: translateX(5px); }
	.kms-ab a.kms-ab__btn:active { transform: translateY(0); box-shadow: none; }
	/* Colour flips keep strong contrast: dark fill with light text becomes the inverse pair. */
	.kms-ab a.kms-ab__btn--cta:hover { background: var(--ab-bg); color: var(--ab-solid); border-color: var(--ab-solid); }
	.kms-ab a.kms-ab__btn--cta:hover::before { background: linear-gradient(90deg, transparent, var(--ab-shadow), transparent); }
	.kms-ab__hero a.kms-ab__btn--cta:hover { background: var(--ab-hs); color: var(--ab-hs-on); border-color: var(--ab-hs-edge); box-shadow: 0 0 0 4px var(--ab-hero-text), 0 12px 24px var(--ab-shadow); filter: brightness(1.06); }
	.kms-ab a.kms-ab__btn--ghost:hover { background: var(--ab-hero-text); color: var(--ab-hs-on); }
	.kms-ab a.kms-ab__btn--invert:hover { background: transparent; color: var(--ab-on-primary); border-color: var(--ab-on-primary); }
	.kms-ab a.kms-ab__btn--invert:hover::before { background: linear-gradient(90deg, transparent, rgba(255,255,255,.25), transparent); }

	.kms-ab__card:hover { transform: translateY(-8px); box-shadow: 0 18px 34px var(--ab-shadow); border-color: var(--ab-solid); }
	.kms-ab__card:hover .kms-ab__icon { background: var(--ab-solid); color: var(--ab-on-solid); border-color: var(--ab-solid); transform: rotate(-8deg) scale(1.1); }
	.kms-ab__card:hover h3 i { transform: scale(1.25) rotate(-6deg); }

	.kms-ab__step:hover { transform: translateY(-5px); box-shadow: 0 14px 28px var(--ab-shadow); border-color: var(--ab-solid); }
	.kms-ab__step:hover .kms-ab__num { transform: scale(1.18) rotate(8deg); box-shadow: 0 0 0 6px var(--ab-shadow); }

	.kms-ab__stat:hover { background: rgba(255,255,255,.12); transform: translateY(-4px); }
	.kms-ab__stat:hover strong { transform: scale(1.1); }
	.kms-ab__stat:hover strong::after { width: 56px; opacity: 1; }

	.kms-ab__panel:hover { box-shadow: 0 16px 32px var(--ab-shadow); }
	.kms-ab__checks li:hover { background: var(--ab-surface); transform: translateX(6px); }
	.kms-ab__checks li:hover i { transform: scale(1.25); }

	.kms-ab__person:hover .kms-ab__avatar { transform: scale(1.06); box-shadow: 0 0 0 8px var(--ab-shadow); }
	.kms-ab__person:hover .kms-ab__avatar img { transform: scale(1.12); }

	.kms-ab__faq:hover { border-color: var(--ab-solid); box-shadow: 0 8px 18px var(--ab-shadow); transform: translateX(4px); }
	.kms-ab__faq summary:hover { background: var(--ab-surface); }

	.kms-ab__contact li:hover { background: var(--ab-bg); transform: translateX(6px); }
	.kms-ab__contact li:hover i { transform: scale(1.2) rotate(-8deg); }
	.kms-ab__contact a:hover, .kms-ab__prose a:hover { text-decoration-color: currentColor; }
}
/* Keyboard users get the same cues as mouse users. */
.kms-ab__card:focus-within { border-color: var(--ab-solid); box-shadow: 0 12px 26px var(--ab-shadow); }
.kms-ab__faq summary:focus-visible { background: var(--ab-surface); }

@media (max-width: 760px) {
	.kms-ab__sec { padding: 44px 0; }
	.kms-ab__hero { padding: 48px 0 56px; }
	.kms-ab__hero-in, .kms-ab__grid--2 { grid-template-columns: 1fr; }
	.kms-ab__hero-art { order: -1; }
	.kms-ab__hero-art img { width: 120px; }
	.kms-ab__panel { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
	.kms-ab *, .kms-ab *::before, .kms-ab *::after { transition: none !important; animation: none !important; }
	.kms-ab *:hover { transform: none !important; }
}

/* =====================================================================
   Theme-proof colours. Many WordPress themes colour every link, heading and
   paragraph with high-specificity rules, which turned button text blue and
   headings navy on the coloured band. These rules pin the colours we chose.
   ===================================================================== */
.kms.kms-ab :is(h1, h2, h3) { color: var(--ab-head) !important; }
.kms.kms-ab .kms-ab__hero :is(h1, h2, p) { color: var(--ab-hero-text) !important; }
.kms.kms-ab .kms-ab__sec p, .kms.kms-ab .kms-ab__sec li { color: var(--ab-text) !important; }
.kms.kms-ab .kms-ab__hero p { color: var(--ab-hero-text) !important; }
.kms.kms-ab .kms-ab__step p, .kms.kms-ab .kms-ab__role, .kms.kms-ab .kms-ab__faq > div, .kms.kms-ab .kms-ab__faq > div p { color: var(--ab-muted) !important; }
.kms.kms-ab .kms-ab__faq summary { color: var(--ab-text) !important; }
.kms.kms-ab .kms-ab__stats, .kms.kms-ab .kms-ab__stats :is(strong, span, div) { color: var(--ab-on-primary) !important; }
.kms.kms-ab .kms-ab__cta :is(h2, p) { color: var(--ab-on-primary) !important; }
.kms.kms-ab .kms-ab__num { color: var(--ab-on-solid) !important; }
.kms.kms-ab .kms-ab__icon, .kms.kms-ab .kms-ab__avatar, .kms.kms-ab .kms-ab__checks i, .kms.kms-ab .kms-ab__contact i, .kms.kms-ab h3 i { color: var(--ab-solid) !important; }
.kms.kms-ab .kms-ab__faq summary::after { color: var(--ab-on-solid) !important; }
.kms.kms-ab :is(.kms-ab__contact, .kms-ab__prose) a { color: var(--ab-link) !important; }

/* Buttons: text, arrow and every link state use one pair. */
.kms.kms-ab a.kms-ab__btn, .kms.kms-ab a.kms-ab__btn :is(span, i) { text-decoration: none !important; color: inherit !important; }
.kms.kms-ab a.kms-ab__btn--cta, .kms.kms-ab a.kms-ab__btn--cta:is(:link, :visited, :focus, :active) { background-color: var(--ab-solid) !important; color: var(--ab-on-solid) !important; border-color: var(--ab-solid-edge) !important; }
.kms.kms-ab .kms-ab__hero a.kms-ab__btn--cta, .kms.kms-ab .kms-ab__hero a.kms-ab__btn--cta:is(:link, :visited, :focus, :active) { background-color: var(--ab-hs) !important; color: var(--ab-hs-on) !important; border-color: var(--ab-hs-edge) !important; }
.kms.kms-ab a.kms-ab__btn--ghost, .kms.kms-ab a.kms-ab__btn--ghost:is(:link, :visited, :focus, :active) { background-color: transparent !important; color: var(--ab-hero-text) !important; border-color: var(--ab-hero-text) !important; }
.kms.kms-ab a.kms-ab__btn--invert, .kms.kms-ab a.kms-ab__btn--invert:is(:link, :visited, :focus, :active) { background-color: var(--ab-on-primary) !important; color: var(--ab-primary-dark) !important; border-color: var(--ab-on-primary) !important; }
@media (hover: hover) {
	.kms.kms-ab a.kms-ab__btn--cta:hover { background-color: var(--ab-bg) !important; color: var(--ab-solid) !important; border-color: var(--ab-solid) !important; }
	.kms.kms-ab .kms-ab__hero a.kms-ab__btn--cta:hover { background-color: var(--ab-hs) !important; color: var(--ab-hs-on) !important; border-color: var(--ab-hs-edge) !important; }
	.kms.kms-ab a.kms-ab__btn--ghost:hover { background-color: var(--ab-hero-text) !important; color: var(--ab-hs-on) !important; border-color: var(--ab-hero-text) !important; }
	.kms.kms-ab a.kms-ab__btn--invert:hover { background-color: transparent !important; color: var(--ab-on-primary) !important; border-color: var(--ab-on-primary) !important; }
	.kms.kms-ab .kms-ab__card:hover .kms-ab__icon { background-color: var(--ab-solid) !important; color: var(--ab-on-solid) !important; }
}

/* ---------- English / Tamil ---------- */
.kms-ab[data-lang="en"] .kms-ab-l[data-l="ta"], .kms-ab[data-lang="ta"] .kms-ab-l[data-l="en"] { display: none !important; }
.kms-ab__langbar { display: flex; justify-content: center; padding: 14px 12px 0; }
.kms-ab-lang { position: relative; display: inline-grid; grid-template-columns: 1fr 1fr; align-items: center; height: 34px; padding: 3px; border-radius: 999px; background: var(--ab-surface); border: 1px solid var(--ab-border); }
.kms-ab-lang__thumb { position: absolute; top: 3px; bottom: 3px; left: 3px; width: calc(50% - 3px); border-radius: 999px; background: var(--ab-solid); transition: transform .3s var(--ab-ease); }
.kms-ab-lang[data-active="ta"] .kms-ab-lang__thumb { transform: translateX(100%); }
.kms-ab-lang__btn { position: relative; z-index: 1; min-width: 52px; height: 100%; padding: 0 14px; border: 0; border-radius: 999px; background: none; color: var(--ab-text); font: inherit; font-size: 13px; font-weight: 700; line-height: 1; letter-spacing: 0; cursor: pointer; }
.kms-ab-lang__btn[aria-pressed="true"] { color: var(--ab-on-solid); }
.kms-ab-lang__btn:focus-visible { outline: 2px solid var(--ab-solid); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .kms-ab-lang__thumb { transition: none; } }
@media print { .kms-ab__langbar { display: none; } }

/* Tamil typography: no letter spacing or capitals, more line height. */
.kms-ab[data-lang="ta"], .kms-ab[data-lang="ta"] * { letter-spacing: normal; }
.kms-ab[data-lang="ta"] { line-height: 1.8; }
.kms-ab[data-lang="ta"] .kms-ab__eyebrow { text-transform: none; }
.kms-ab[data-lang="ta"] h1, .kms-ab[data-lang="ta"] h2, .kms-ab[data-lang="ta"] h3 { line-height: 1.4; text-transform: none; }

