/* Shared HRL typography and logo palette. Load after page and legacy styles. */
/* Capitalize every word in navigation and headings, including nested emphasis.
   CSS preserves existing acronym/product casing and covers dynamic headings. */
body :is(h1, h2, h3, h4, h5, h6),
body :is(h1, h2, h3, h4, h5, h6) *,
#hrl-navigation :is(a, summary, h3, p, span),
#hrl-navigation :is(a, summary) *,
.hrl-footer-bottom nav a {
    text-transform: capitalize !important;
}
:root {
    --hrl-navy: #071d39;
    --hrl-cyan: #22d3ee;
    --hrl-link: #006e91;
    --hrl-ink: var(--hrl-navy);
    --hrl-muted: #52657a;
    --hrl-lime: var(--hrl-cyan);
    --hrl-paper: #f3f8fc;
    --hrl-line: #dbe5ef;
    --hrl-font: 'Inter', 'Segoe UI', Arial, sans-serif;
    --studio-font: var(--hrl-font);
    --studio-ink: var(--hrl-navy);
    --studio-muted: var(--hrl-muted);
    --studio-blue: var(--hrl-link);
    --bs-body-font-family: var(--hrl-font);
    --bs-body-color: var(--hrl-navy);
    --bs-primary: #006e91;
    --bs-primary-rgb: 0, 110, 145;
    --bs-link-color: var(--hrl-link);
    --bs-link-hover-color: var(--hrl-navy);
}
html { font-size: 16px; }
body {
    font-family: var(--hrl-font);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.65;
    color: var(--hrl-navy);
    background: #fff;
    text-rendering: optimizeLegibility;
}
/* Preserve icon fonts while replacing legacy text font declarations. */
body :is(div, span, p, a, h1, h2, h3, h4, h5, h6, li, dt, dd, label, input, textarea, select, button, summary, small, strong, em, blockquote, td, th, legend, figcaption):not([class*="fa-"]):not(.fa):not(.fas):not(.far):not(.fab):not(.bi):not([class*="bi-"]) {
    font-family: var(--hrl-font) !important;
}
body h1 { font-weight: 700 !important; }
body :is(h2, h3, h4, h5, h6) { font-weight: 600 !important; }
body :is(p, blockquote) {
    font-size: 16px !important;
    font-weight: 400;
    line-height: 1.65 !important;
}
body :is(input, textarea, select) { font-size: 16px !important; line-height: 1.6; }
body :is(button, .studio-button, .hrl-button, .huma-button) { font-weight: 600; }
body :is(.hrl-eyebrow, .company-kicker, .huma-eyebrow, .paarth-eyebrow, .hcr-kicker) {
    font-size: 12px !important;
    line-height: 1.5 !important;
    font-weight: 600;
}
body :is(.compact-target-note, .hcr-target-note, .company-source-note, .paarth-development-note, .paarth-concept-caption, .huma-auth-help) {
    font-size: 14px !important;
    line-height: 1.6 !important;
}
body :is(.compact-hero-copy, .about-hero-inner, .hcr-intro) > p:not([class*="kicker"]):not([class*="note"]) { max-width: 62ch; }
body :is(.hrl-home, .hcr-page, .company-page, .paarth-page, .huma-page) { color: var(--hrl-navy); }
body :is(.studio-button, .hrl-button, .huma-button) {
    background: var(--hrl-navy);
    border-color: var(--hrl-navy);
    color: #fff;
    min-height: 44px;
    line-height: 1.5;
}
body :is(.studio-button-blue, .hrl-button-lime) {
    background: var(--hrl-cyan);
    border-color: var(--hrl-cyan);
    color: var(--hrl-navy);
}
body .studio-button-light { background: #fff; color: var(--hrl-navy); border: 1px solid var(--hrl-line); }
body :is(.studio-button, .hrl-button, .huma-button):hover { background: #103453; color: #fff; }
body :is(.studio-button-blue, .hrl-button-lime):hover { background: #67e8f9; color: var(--hrl-navy); }
body :is(.hrl-text-link, .about-link, .paarth-text-link) { color: var(--hrl-link); }
body :is(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid #008aab; outline-offset: 4px; }
body :is(.compact-contact, .company-purpose, .hcr-capabilities, .paarth-stack, .hrl-contact) {
    background-color: var(--hrl-navy) !important;
    color: #fff !important;
}
body :is(.compact-contact, .company-purpose, .hcr-capabilities, .paarth-stack, .hrl-contact) :is(h1, h2, h3, a) { color: #fff; }
body :is(.compact-contact, .company-purpose, .hcr-capabilities, .paarth-stack, .hrl-contact) :is(h1, h2, h3) span { color: inherit !important; }
body :is(.compact-contact, .company-purpose, .hcr-capabilities, .paarth-stack, .hrl-contact) p { color: #dbe9f5 !important; }
body .compact-contact :is(a, em) { color: #fff !important; }
body .compact-contact a:first-of-type { background: var(--hrl-cyan); color: var(--hrl-navy) !important; }
body .service-page { --service-accent: #006e91; --service-paper: #f3f8fc; --service-tint: #e0edf7; }
body .hrl-language-dialog { font-size: 16px; line-height: 1.65; }
body .hrl-region-languages button { font-size: 14px; }
/* Translation can set RTL on the page; preserve English-only controls locally. */
.notranslate[lang="en"] { direction: ltr; text-align: start; }
html:is(:lang(hi), :lang(mr), :lang(ar), :lang(zh), :lang(ja), :lang(ko), :lang(bn), :lang(ta), :lang(te), :lang(gu), :lang(kn), :lang(ml), :lang(pa), :lang(th)) :is(h1, h2, h3, p) { letter-spacing: normal !important; }
html:is(:lang(hi), :lang(mr), :lang(ar), :lang(bn), :lang(ta), :lang(te), :lang(gu), :lang(kn), :lang(ml), :lang(pa), :lang(th)) :is(h1, h2, h3) { line-height: 1.35 !important; }
@media (min-width: 1100px) {
    body main p:not([class*="eyebrow"]):not([class*="kicker"]):not([class*="note"]):not([class*="caption"]):not([class*="help"]) { font-size: 17px !important; }
}
@media (max-width: 700px) {
    /* Longer, readable copy must grow naturally beneath product imagery. */
    .compact-hero-copy, .about-hero-inner { min-width: 0; }
    body .paarth-hero { min-height: 900px; }
    body .paarth-hero-content { bottom: 40px; }
}

/* Consistent white product-image backgrounds in both menu themes. */
.hrl-masthead .hrl-mega-product>img{background:#fff;border-radius:5px;object-fit:contain;object-position:center;padding:8px;box-sizing:border-box}

.hrl-footer-bottom nav .hrl-footer-social{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;flex-shrink:0;font-size:17px;line-height:1;text-decoration:none}

/* Honor visibility settings even when the menu layout declares a display mode. */
:is(#hrl-navigation, #site-footer) [data-menu-key][hidden] { display: none !important; }
