/* Anti-footprint CSS: Unique custom properties, non-standard paddings, unique classes */
:root {
    --nh-clr-prim-dk: #1F3C51;
    --nh-clr-prim-lt: #2B5C77;
    --nh-clr-accnt-or: #E36D45;
    --nh-clr-accnt-hov: #C8542F;
    --nh-clr-bg-main: #FAFCFD;
    --nh-clr-bg-sect: #EFF4F7;
    --nh-clr-text-dk: #232B32;
    --nh-clr-text-mut: #54646F;
    --nh-font-base: 'Segoe UI', system-ui, -apple-system, sans-serif;
    --nh-rad-card: 9px;
    --nh-rad-btn: 23px;
    --nh-shadow-sub: 0 4px 17px rgba(31, 60, 81, 0.09);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: var(--nh-font-base); background-color: var(--nh-clr-bg-main); color: var(--nh-clr-text-dk); line-height: 1.63; }
a { color: var(--nh-clr-prim-lt); text-decoration: none; transition: all 0.22s ease; }
a:hover { color: var(--nh-clr-accnt-or); }

.nh-container-wrap { max-width: 1165px; margin: 0 auto; padding: 0 21px; }

/* Navbar */
.nh-nav-bar-xtra { background: #FFFFFF; box-shadow: 0 2px 11px rgba(0,0,0,0.06); position: sticky; top: 0; z-index: 100; padding: 13px 0; }
.nh-nav-bar-xtra .nh-container-wrap { display: flex; justify-content: space-between; align-items: center; }
.nh-logo-sect { font-size: 26px; font-weight: 800; color: var(--nh-clr-prim-dk); letter-spacing: -0.5px; }
.nh-menu-links { display: flex; align-items: center; gap: 27px; }
.nh-menu-links a { font-weight: 600; color: var(--nh-clr-text-dk); font-size: 15px; }
.nh-btn-login-trig { background: transparent; border: 2px solid var(--nh-clr-prim-lt); color: var(--nh-clr-prim-lt); padding: 7px 22px; border-radius: var(--nh-rad-btn); font-weight: 700; cursor: pointer; transition: 0.3s; }
.nh-btn-login-trig:hover { background: var(--nh-clr-prim-lt); color: #FFF; }

/* Hero Section */
.nh-hero-banner-x9 { background: linear-gradient(137deg, var(--nh-clr-prim-dk) 0%, var(--nh-clr-prim-lt) 100%); color: #FFF; text-align: center; padding: 94px 23px; }
.nh-hero-content-box { max-width: 785px; margin: 0 auto; }
.nh-age-badge-alert { display: inline-block; background: #D32F2F; color: #FFF; font-size: 13px; font-weight: 800; padding: 5px 14px; border-radius: 4px; margin-bottom: 19px; letter-spacing: 1px; }
.nh-hero-main-title { font-size: 47px; font-weight: 800; line-height: 1.15; margin-bottom: 23px; }
.nh-hero-sub-text { font-size: 19px; opacity: 0.92; margin-bottom: 37px; }
.nh-cta-btn-primary { background: var(--nh-clr-accnt-or); color: #FFF; border: none; padding: 16px 37px; font-size: 18px; font-weight: 700; border-radius: var(--nh-rad-btn); cursor: pointer; box-shadow: 0 6px 19px rgba(227, 109, 69, 0.35); transition: transform 0.2s, background 0.2s; }
.nh-cta-btn-primary:hover { background: var(--nh-clr-accnt-hov); transform: translateY(-2px); }

/* Main Content */
.nh-info-sect-v2 { padding: 83px 21px; max-width: 980px; margin: 0 auto; text-align: center; }
.nh-bg-alt-gray { background-color: var(--nh-clr-bg-sect); max-width: 100%; }
.nh-sect-header-bold { font-size: 34px; color: var(--nh-clr-prim-dk); margin-bottom: 27px; }
.nh-text-paragraph-norm { font-size: 17px; color: var(--nh-clr-text-mut); margin-bottom: 43px; text-align: left; }

/* Grid */
.nh-grid-cards-3x { display: grid; grid-template-columns: repeat(auto-fit, minmax(285px, 1fr)); gap: 31px; }
.nh-card-item-bl { background: #FFF; padding: 34px 26px; border-radius: var(--nh-rad-card); box-shadow: var(--nh-shadow-sub); text-align: left; }
.nh-card-title-sm { font-size: 21px; color: var(--nh-clr-prim-lt); margin-bottom: 14px; }
.nh-card-desc-tx { font-size: 15px; color: var(--nh-clr-text-mut); }

/* FAQ */
.nh-faq-accordion-wrap { text-align: left; display: flex; flex-direction: column; gap: 19px; max-width: 820px; margin: 0 auto; }
.nh-faq-item-bx { background: #FFF; padding: 22px 27px; border-radius: 7px; border-left: 5px solid var(--nh-clr-prim-lt); box-shadow: 0 2px 9px rgba(0,0,0,0.04); }
.nh-faq-quest-title { font-size: 18px; color: var(--nh-clr-prim-dk); margin-bottom: 9px; }
.nh-faq-answ-text { font-size: 15px; color: var(--nh-clr-text-mut); }

/* Legal Pages layout */
.nh-legal-wrapper-c { max-width: 860px; margin: 60px auto; padding: 40px; background: #FFF; box-shadow: var(--nh-shadow-sub); border-radius: var(--nh-rad-card); }
.nh-legal-wrapper-c h1 { color: var(--nh-clr-prim-dk); margin-bottom: 20px; }
.nh-legal-wrapper-c h2 { margin-top: 30px; margin-bottom: 15px; font-size: 22px; color: var(--nh-clr-prim-lt); }
.nh-legal-wrapper-c p { margin-bottom: 15px; font-size: 16px; color: var(--nh-clr-text-mut); }
.nh-legal-wrapper-c ul { margin-left: 20px; margin-bottom: 15px; color: var(--nh-clr-text-mut); }

/* Footer */
.nh-footer-base-zone { background: var(--nh-clr-prim-dk); color: #E0E7EC; text-align: center; padding: 53px 21px; font-size: 14px; }
.nh-footer-copy-text, .nh-footer-address-text, .nh-footer-warn-text { margin-bottom: 11px; }
.nh-footer-warn-text strong { color: #FFF; background: #D32F2F; padding: 2px 6px; border-radius: 3px; }
.nh-footer-legal-links { margin-top: 23px; }
.nh-footer-legal-links a { color: #A7BCCB; margin: 0 9px; text-decoration: underline; }
.nh-footer-legal-links a:hover { color: #FFF; }

/* Cookie Banner */
.nh-cookie-bar-wrap { position: fixed; bottom: 0; left: 0; width: 100%; background: #FFFFFF; box-shadow: 0 -4px 15px rgba(0,0,0,0.1); padding: 18px 25px; display: none; justify-content: space-between; align-items: center; z-index: 999; flex-wrap: wrap; gap: 15px; border-top: 3px solid var(--nh-clr-accnt-or); }
.nh-cookie-bar-wrap p { font-size: 14px; color: var(--nh-clr-text-dk); max-width: 800px; margin: 0; }
.nh-btn-accept-ck { background: var(--nh-clr-prim-lt); color: #FFF; border: none; padding: 10px 24px; border-radius: 5px; cursor: pointer; font-weight: bold; white-space: nowrap; }

/* Modal */
.nh-modal-overlay-bg { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(31, 60, 81, 0.75); display: none; justify-content: center; align-items: center; z-index: 2000; padding: 20px; }
.nh-modal-content-box { background: #FFF; padding: 43px; border-radius: 11px; width: 100%; max-width: 420px; position: relative; text-align: center; }
.nh-modal-close-x { position: absolute; top: 15px; right: 19px; font-size: 28px; cursor: pointer; color: var(--nh-clr-text-mut); line-height: 1; }
.nh-modal-heading-txt { font-size: 25px; color: var(--nh-clr-prim-dk); margin-bottom: 25px; }
.nh-input-field-std { width: 100%; padding: 13px 17px; margin-bottom: 17px; border: 1px solid #D5DFE5; border-radius: 6px; font-size: 15px; font-family: inherit; }
.nh-form-age-check { font-size: 12px; color: var(--nh-clr-text-mut); text-align: left; margin-bottom: 23px; display: flex; gap: 8px; align-items: flex-start; }
.nh-form-age-check input { margin-top: 3px; }

@media (max-width: 768px) {
    .nh-menu-links { display: none; }
    .nh-hero-main-title { font-size: 33px; }
    .nh-cookie-bar-wrap { flex-direction: column; text-align: center; }
}