/* Inner-page finishing layer. Never enqueued on the homepage. */
body.nm-theme .site-content:has(> .nm-utility-page) { padding-top: 0 !important; }
body.nm-theme #main.nm-utility-page { background: #fff; padding-top: 0; }
body.nm-theme #main .nm-utility-hero {
    padding: clamp(48px, 7vw, 88px) 0;
    background: linear-gradient(145deg, #111110, #20292b);
    color: #f6f6f3;
}
body.nm-theme #main .nm-utility-hero .nm-eyebrow { color: #c1c7c6; margin: 0 0 24px; padding: 0; }
body.nm-theme #main .nm-utility-hero h1 {
    color: #fff; font-size: clamp(2.25rem, 5vw, 4.5rem); font-weight: 700;
    line-height: 1.06; letter-spacing: -.045em; padding: 0; margin: 0 0 24px;
    max-width: 1000px; overflow-wrap: anywhere;
}
body.nm-theme #main .nm-utility-intro { color: #c8cecc; max-width: 760px; margin: 0; font-size: 1.125rem; line-height: 1.7; }
body.nm-theme #main .nm-utility-search { max-width: 720px; margin-top: 32px; }
body.nm-theme #main .nm-utility-search .search-form { display: flex; align-items: stretch; gap: 8px; margin: 0; }
body.nm-theme #main .nm-utility-search .search-form label { margin: 0; }
body.nm-theme #main .nm-utility-search .search-field {
    min-width: 0; width: 100%; flex: 1; min-height: 56px; padding: 14px 18px;
    border: 1px solid #b7bcb9; border-radius: 4px; background: #fff; color: #161817;
    font: inherit; font-size: 1rem; box-shadow: none;
}
body.nm-theme #main .nm-utility-search .search-submit {
    position: static; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    flex: 0 0 auto; width: auto; min-width: 56px; min-height: 56px; padding: 14px 22px;
    border: 1px solid #d0d6d3; border-radius: 4px; background: #f4f5f0; color: #111;
    font-size: .9rem; line-height: 1; font-weight: 700; text-transform: none;
}
body.nm-theme #main .nm-utility-search .search-submit:hover { background: #fff; }
body.nm-theme #main .nm-utility-search :is(input, button):focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
body.nm-theme #main .nm-search-results { max-width: 980px; }
body.nm-theme #main .nm-search-result { padding: 32px 0; border-bottom: 1px solid #d8dcd8; }
body.nm-theme #main .nm-search-result:first-child { padding-top: 0; }
body.nm-theme #main .nm-search-result-meta { display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: .75rem; font-weight: 600; color: #616862; text-transform: uppercase; letter-spacing: .06em; }
body.nm-theme #main .nm-search-result h2 { padding: 0; margin: 12px 0; font-size: clamp(1.4rem, 2.7vw, 2rem); line-height: 1.2; letter-spacing: -.025em; }
body.nm-theme #main .nm-search-result h2 a { color: #171a18; text-decoration: none; }
body.nm-theme #main .nm-search-result h2 a:hover { color: #315c58; }
body.nm-theme #main .nm-search-result p { max-width: 860px; margin: 0 0 8px; color: #555e58; font-size: 1rem; line-height: 1.7; }
body.nm-theme #main .nm-search-result-link { display: inline-flex; align-items: center; min-height: 44px; font-size: .9rem; font-weight: 600; color: #1c4945; text-decoration: underline; text-decoration-color: currentColor; text-underline-offset: 5px; }
body.nm-theme #main .nm-search-result-link:hover { text-decoration: none; }
body.nm-theme #main .nm-recovery-section h2 { margin: 0 0 28px; padding: 0; font-size: 2rem; }
body.nm-theme #main .nm-recovery-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
body.nm-theme #main .nm-recovery-links a { display: flex; flex-direction: column; gap: 12px; padding: 28px; border: 1px solid #d8dcd8; border-radius: 8px; color: #161a18; background: #f8f9f6; text-decoration: none; }
body.nm-theme #main .nm-recovery-links a:hover { border-color: #526f64; background: #f0f3ed; }
body.nm-theme #main .nm-recovery-links strong { font-size: 1.4rem; }
body.nm-theme #main .nm-recovery-links span { color: #59615b; font-size: 1rem; line-height: 1.6; }
body.nm-theme #main.nm-sitemap-page .nm-card h2 { padding: 0; margin: 0 0 18px; }
body.nm-theme #main .nm-sitemap-links { list-style: none; padding: 0; margin: 0; }
body.nm-theme #main .nm-sitemap-links li { margin: 0; }
body.nm-theme #main .nm-sitemap-links a { display: flex; align-items: center; min-height: 44px; color: #264e45; text-decoration: underline; text-decoration-color: currentColor; text-underline-offset: 4px; }
body.nm-theme #main .nm-sitemap-links a:hover { text-decoration: none; }
/* Consistent leading and spacing without changing the existing hero artwork. */
body.nm-theme #main .nm-corporate-hero h1,
body.nm-theme #main .nm-brands-hero-banner .nm-brands-hero-copy h1 { line-height: .98 !important; padding-top: .25em !important; }
body.nm-theme #main .nm-legal-policy-hero { padding-bottom: clamp(64px, 8vw, 100px) !important; background: linear-gradient(180deg, #111110, #303638) !important; }
body.nm-theme #main .nm-legal-policy-hero::after { display: none !important; }
body.nm-theme #main .nm-legal-policy-hero h1 { padding-top: 0; font-weight: 700 !important; font-size: clamp(2.25rem, 5.2vw, 4rem) !important; letter-spacing: -.04em; }
body.nm-theme #main .nm-legal-policy-hero .nm-privacy-policy-revision { font-size: .85rem; font-weight: 500; color: #bec6c3; margin-bottom: 24px; }
body.nm-theme #main .nm-legal-policy-hero .nm-privacy-policy-excerpt { font-size: 1.125rem; font-weight: 400; line-height: 1.7; color: #e0e4df; max-width: 850px; }
body.nm-theme #main .nm-document-nav { background: #f6f7f3; border: 1px solid #d9ded7; border-radius: 8px; padding: 12px 22px; }
body.nm-theme #main .nm-document-nav summary { min-height: 44px; padding: 10px 0; font-size: 1rem; }
body.nm-theme #main .nm-document-nav nav { padding: 8px 0; }
body.nm-theme #main .nm-document-nav nav > a { min-height: 44px; padding: 10px 0; line-height: 1.5; }
body.nm-theme #main .nm-contact-directory-row > a { display: inline-flex; align-items: center; min-height: 44px; text-decoration-color: currentColor; }
body.nm-theme #main :is(.nm-button, .nm-newsroom-button, .nm-bp-button) { min-height: 48px; }
body.nm-theme #main :is(.nm-utility-hero, .nm-recovery-links, .nm-search-results, .nm-sitemap-links) a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
@media (max-width: 760px) {
    body.nm-theme #main .nm-corporate-hero,
    body.nm-theme #main .nm-brands-hero-banner { min-height: 0 !important; padding-top: 48px !important; padding-bottom: 56px !important; }
    body.nm-theme #main .nm-corporate-hero > .nm-shell,
    body.nm-theme #main .nm-brands-hero-banner > .nm-shell { min-height: 0 !important; }
    body.nm-theme #main .nm-recovery-links { grid-template-columns: 1fr; gap: 16px; }
    body.nm-theme #main .nm-recovery-links a { padding: 24px; }
    body.nm-theme #main .nm-utility-search .search-submit { padding: 14px; }
    body.nm-theme #main .nm-utility-intro { font-size: 1rem; }
    body.nm-theme #main .nm-legal-policy-hero .nm-privacy-policy-excerpt { font-size: 1rem; }
    body.nm-theme #main.nm-press-release-page .nm-pr-hero h1 { font-size: clamp(1.55rem, 7.6vw, 3.2rem) !important; line-height: 1.1 !important; }
}
body.nm-theme #main .nm-search-result { text-align: left; }
body.nm-theme #main .nm-utility-search .search-form > label { position: absolute; }

/* Six distinct photographic heroes, using the homepage's scale and treatment. */
body.nm-theme #main .nm-image-hero {
    position: relative; isolation: isolate; overflow: hidden; display: flex;
    min-height: calc(100svh - 80px) !important;
    margin: 0 !important; padding: clamp(72px, 9vw, 136px) 0 !important;
    background: #091319 !important; color: #fff;
}
body.nm-theme #main .nm-image-hero .nm-image-hero-art {
    position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%;
    max-width: none; margin: 0; object-fit: cover; object-position: 58% center;
    border: 0; border-radius: 0; pointer-events: none;
}
body.nm-theme #main .nm-image-hero::before {
    content: ''; display: block !important; position: absolute; inset: 0; z-index: -2;
    background: linear-gradient(90deg, rgba(4,6,13,.48), rgba(4,6,13,.28) 48%, rgba(4,6,13,.08) 78%, rgba(4,6,13,.22));
    opacity: 1; border: 0; border-radius: 0; pointer-events: none;
}
body.nm-theme #main .nm-image-hero::after {
    content: ''; display: block !important; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, rgba(4,6,13,.15), transparent 24%, rgba(4,6,13,.18)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0, rgba(255,255,255,.035) 1px, transparent 1px, transparent 84px);
    opacity: 1; border: 0; border-radius: 0; pointer-events: none;
}
body.nm-theme #main .nm-image-hero > .nm-shell { display: block; min-height: 0 !important; align-self: center; position: relative; z-index: 1; }
body.nm-theme #main .nm-image-hero .nm-brands-hero-copy { max-width: 900px !important; }
body.nm-theme #main .nm-image-hero .nm-eyebrow { color: rgba(255,255,255,.8); margin: 0 0 28px; }
body.nm-theme #main .nm-image-hero .nm-brands-hero-copy h1 {
    color: #fff !important; font-size: clamp(3.9rem, 7.2vw, 7.6rem) !important;
    font-weight: 700; letter-spacing: -.078em !important; line-height: .88 !important;
    max-width: 1040px !important; padding: 0 !important; margin: 0 0 32px;
    text-shadow: 0 24px 70px rgba(0,0,0,.34); text-wrap: initial;
}
body.nm-theme #main .nm-image-hero p:not(.nm-eyebrow) {
    color: rgba(255,255,255,.88); font-size: clamp(1.12rem, 1.55vw, 1.35rem);
    font-weight: 500; line-height: 1.55; max-width: 720px; margin: 0;
    text-shadow: 0 14px 42px rgba(0,0,0,.45);
}
body.nm-theme #main .nm-image-hero .nm-actions { margin-top: 32px; gap: 12px; }
body.nm-theme #main .nm-image-hero .nm-button {
    background: rgba(255,255,255,.08) !important; border: 1px solid rgba(255,255,255,.42) !important;
    color: #fff !important; border-radius: 999px; min-height: 48px; line-height: 1.2;
    padding: 15px 20px; font-size: .95rem; text-decoration: none !important;
}
body.nm-theme #main .nm-image-hero .nm-button:hover,
body.nm-theme #main .nm-image-hero .nm-button:focus-visible { background: #fff !important; color: #05060b !important; border-color: #fff !important; }
body.nm-theme #main .nm-image-hero .nm-button::after { content: none !important; }
@media (max-width: 782px) {
    body.nm-theme #main .nm-image-hero { min-height: calc(100svh - 72px) !important; padding: 64px 0 !important; }
    body.nm-theme #main .nm-image-hero .nm-image-hero-art { object-position: 72% center; }
    body.nm-theme #main .nm-image-hero::before { background: linear-gradient(90deg, rgba(4,6,13,.78), rgba(4,6,13,.65) 60%, rgba(4,6,13,.44)); }
    body.nm-theme #main .nm-image-hero .nm-brands-hero-copy h1 { font-size: clamp(2.65rem, 12vw, 4.8rem) !important; line-height: .94 !important; letter-spacing: -.06em !important; }
    body.nm-theme #main .nm-image-hero .nm-eyebrow { font-size: .75rem; margin-bottom: 24px; }
    body.nm-theme #main .nm-image-hero p:not(.nm-eyebrow) { font-size: 1.0625rem; line-height: 1.6; }
    body.nm-theme #main .nm-image-hero .nm-button { font-size: .8rem; }
}

/* Policies & standards: ink masthead and a white two-column reading area. */
body.nm-theme #main.nm-legal-main { background: #fff !important; }
body.nm-theme #main.nm-legal-main .nm-legal-policy-hero {
    --policy-glow: 80, 121, 158;
    position: relative; isolation: isolate; overflow: hidden;
    min-height: 380px; padding: clamp(64px, 7vw, 96px) 0 !important;
    background:
        radial-gradient(ellipse at 95% 100%, rgba(var(--policy-glow), .24), transparent 58%),
        linear-gradient(160deg, #111110 6%, #11171d 70%, #17232c) !important;
}
body.nm-theme #main.nm-legal-main .nm-policy-hero-ai-policy { --policy-glow: 125, 108, 181; }
body.nm-theme #main.nm-legal-main .nm-policy-hero-editorial-ethics { --policy-glow: 60, 153, 133; }
body.nm-theme #main.nm-legal-main .nm-policy-hero-cookies { --policy-glow: 180, 145, 76; }
body.nm-theme #main.nm-legal-main .nm-policy-hero-terms { --policy-glow: 123, 139, 159; }
body.nm-theme #main.nm-legal-main .nm-legal-policy-hero::before {
    content: ''; display: block !important; position: absolute; z-index: -1;
    width: 670px; height: 670px; left: auto; right: -100px; top: -150px;
    border: 1px solid rgba(255,255,255,.07); border-radius: 50%;
    background: repeating-radial-gradient(circle at center, transparent 0, transparent 79px, rgba(255,255,255,.055) 80px, transparent 81px) !important;
    opacity: 1; transform: none; pointer-events: none;
}
body.nm-theme #main.nm-legal-main .nm-legal-policy-hero::after { display: none !important; }
body.nm-theme #main.nm-legal-main .nm-legal-policy-hero .nm-legal-hero-copy { max-width: 900px; }
body.nm-theme #main.nm-legal-main .nm-policy-eyebrow {
    color: #bcc9ca !important; font-size: .75rem; font-weight: 700; line-height: 1.5;
    letter-spacing: .14em; text-transform: uppercase; margin: 0 0 26px; padding: 0;
}
body.nm-theme #main.nm-legal-main .nm-legal-policy-hero h1 {
    font-size: clamp(2.5rem, 5.4vw, 4.5rem) !important; line-height: 1.04 !important;
    margin: 0 0 26px !important; padding: 0; max-width: 900px;
}
body.nm-theme #main.nm-legal-main .nm-privacy-policy-revision { font-size: .85rem; color: #b4c0c3; margin: 0 0 22px; }
body.nm-theme #main.nm-legal-main .nm-privacy-policy-excerpt { max-width: 760px; margin: 0; color: #e0e6e5; font-size: 1.125rem; line-height: 1.65; }
body.nm-theme #main.nm-legal-main .nm-legal-section { background: #fff !important; padding: 48px 0 72px !important; }
body.nm-theme #main.nm-legal-main .nm-legal-layout {
    display: grid; grid-template-columns: 280px minmax(0, 1fr); align-items: start;
    gap: 56px; max-width: 1170px !important;
}
body.nm-theme #main.nm-legal-main .nm-policy-sidebar { min-width: 0; background: #fff; }
body.nm-theme #main.nm-legal-main .nm-policy-menu h2 {
    margin: 0 0 20px; padding: 0 16px; color: #66716d;
    font-size: .72rem; font-weight: 700; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase;
}
body.nm-theme #main.nm-legal-main .nm-policy-menu ul,
body.nm-theme #main.nm-legal-main .nm-policy-contents ul { margin: 0; padding: 0; list-style: none; }
body.nm-theme #main.nm-legal-main .nm-policy-menu li { margin: 0 0 6px; padding: 0; }
body.nm-theme #main.nm-legal-main .nm-policy-menu a {
    display: flex; align-items: center; min-height: 50px; padding: 12px 16px;
    border: 1px solid transparent; border-radius: 7px;
    color: #43524d; font-size: .9375rem; font-weight: 600; line-height: 1.4; text-decoration: none !important;
}
body.nm-theme #main.nm-legal-main .nm-policy-menu a:hover { color: #172529; background: #e5eae3; opacity: 1; }
body.nm-theme #main.nm-legal-main .nm-policy-menu a[aria-current="page"] { background: #172529; color: #fff; }
body.nm-theme #main.nm-legal-main :is(.nm-policy-menu,.nm-policy-contents) a:focus-visible { outline: 2px solid #315d64; outline-offset: 3px; }
body.nm-theme #main.nm-legal-main :is(.nm-policy-menu,.nm-policy-contents) a::after { content: none !important; }
body.nm-theme #main.nm-legal-main .nm-policy-contents { margin: 28px 0 0; padding: 28px 16px 0; border-top: 1px solid #e6e8e6; }
body.nm-theme #main.nm-legal-main .nm-policy-contents h2 { margin: 0 0 14px; padding: 0; font-size: 1.125rem; line-height: 1.4; color: #182a2c; }
body.nm-theme #main.nm-legal-main .nm-policy-contents li { margin: 0; padding: 0; }
body.nm-theme #main.nm-legal-main .nm-policy-contents a {
    display: flex; align-items: center; min-height: 44px; padding: 9px 10px; margin-inline: -10px;
    border-radius: 5px; font-size: .875rem; line-height: 1.5; color: #365a59; text-decoration: none !important;
}
body.nm-theme #main.nm-legal-main .nm-policy-contents a:hover { background: #f0f4ef; color: #172529; opacity: 1; }
body.nm-theme #main.nm-legal-main #policy-overview { scroll-margin-top: 112px; }
@media (max-width: 960px) {
    body.nm-theme #main.nm-legal-main .nm-legal-layout { grid-template-columns: 240px minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 782px) {
    body.nm-theme #main.nm-legal-main .nm-legal-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    body.nm-theme #main.nm-legal-main .nm-policy-sidebar { position: static; }
    body.nm-theme #main.nm-legal-main .nm-policy-contents { padding-inline: 0; }
    body.nm-theme #main.nm-legal-main .nm-policy-menu h2 { padding: 0; margin-bottom: 12px; }
    body.nm-theme #main.nm-legal-main .nm-policy-menu ul { display: flex; flex-wrap: wrap; gap: 6px; }
    body.nm-theme #main.nm-legal-main .nm-policy-menu li { margin: 0; }
    body.nm-theme #main.nm-legal-main .nm-policy-menu a { min-height: 44px; padding: 10px 12px; font-size: .8125rem; background: #fff; border-color: #dce3dc; }
}
body.nm-theme #main.nm-legal-main .nm-legal-document {
    min-width: 0; padding: 0; background: #fff; border: 0;
    border-radius: 0; box-shadow: none;
}
body.nm-theme #main.nm-legal-main .nm-legal-richtext { font-size: 1.0625rem; line-height: 1.85; color: #343d3b; }
body.nm-theme #main.nm-legal-main .nm-legal-richtext > :first-child { margin-top: 0; }
body.nm-theme #main.nm-legal-main .nm-legal-richtext hr { display: none; }
body.nm-theme #main.nm-legal-main .nm-legal-richtext :is(h2,h3,h4) { color: #182a2c; scroll-margin-top: 104px; border: 0; }
@media (max-width: 680px) {
    body.nm-theme #main.nm-legal-main .nm-legal-policy-hero { min-height: 0; padding: 48px 0 56px !important; }
    body.nm-theme #main.nm-legal-main .nm-legal-policy-hero::before { right: -450px; }
    body.nm-theme #main.nm-legal-main .nm-privacy-policy-excerpt { font-size: 1rem; }
    body.nm-theme #main.nm-legal-main .nm-legal-section { padding: 24px 0 40px !important; }
    body.nm-theme #main.nm-legal-main .nm-legal-document { padding: 0; border-radius: 0; }
    body.nm-theme #main.nm-legal-main .nm-legal-richtext { font-size: 1rem; line-height: 1.8; }
}
