/* NCE shared visual system. Source of truth: the original homepage. */
:root{--nce-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--nce-serif:Georgia,"Times New Roman",serif;--nce-navy:#102a39;--nce-teal:#006d68;--nce-mint:#aaf0d0;--nce-radius:5px;--nce-h1:clamp(52px,6.3vw,86px);--nce-h2:clamp(34px,3.7vw,48px)}
html body{font-family:var(--nce-font)!important;font-size:16px;line-height:1.65}html{scroll-padding-top:140px!important}
body :is(button,input,select,textarea){font-family:var(--nce-font)!important}
body :is(h1,h2,h3,h4){font-family:var(--nce-font)!important;font-style:normal;line-height:1.12!important;font-stretch:normal;font-weight:720!important;text-wrap:pretty}
body main h1{font-size:var(--nce-h1)!important;letter-spacing:-.065em!important;line-height:1.04!important}
body main h2,body aside h2{font-size:var(--nce-h2)!important;letter-spacing:-.047em!important}
body main h3{font-size:22px!important;letter-spacing:-.025em!important;line-height:1.25!important}
body main h4{font-size:17px!important}
body :is(h1,h2,h3) :is(em,.last){font-family:var(--nce-serif)!important;font-weight:400!important;font-style:italic!important;letter-spacing:-.055em!important}
body :is(.hero-copy,.hero-description,.hero-intro,.hero-desc){font-family:var(--nce-font)!important;font-size:16px;line-height:1.65}
body :is(.hero-lead,.p-lead){font-size:23px!important;line-height:1.4!important;font-weight:400!important}
body :is(.eyebrow,.hero-flag,.micro-label){font-family:var(--nce-font)!important;font-weight:750!important;font-size:12px!important;letter-spacing:.13em!important;line-height:1.6!important}
body :is(.btn,.button,.f-button,.j-button,.nce-button){display:inline-flex;align-items:center;justify-content:center;gap:20px;font-family:var(--nce-font)!important;font-size:15px!important;font-weight:700!important;line-height:1.4!important;letter-spacing:0!important;text-decoration:none!important;border-radius:var(--nce-radius)!important;padding:15px 23px!important;min-height:51px;box-shadow:none!important;background-image:none!important;background-color:var(--nce-mint)!important;color:var(--nce-navy)!important;border:1px solid transparent!important;white-space:normal;text-align:center;transition:background .2s,transform .2s}
body :is(.btn-outline,.button-outline,.f-button.outline,.j-button.outline,.nce-button-outline){background:transparent!important;color:inherit!important;border:1px solid currentColor!important}
body :is(.btn,.button,.f-button,.j-button,.nce-button):hover{transform:translateY(-2px);filter:none;background-color:#c7fbe3!important;color:var(--nce-navy)!important}
body :is(.btn,.button,.f-button,.j-button) :is(span,b,strong){font-weight:inherit!important;font-family:inherit!important}
body :is(.text-link,.quiet-button){font-family:var(--nce-font)!important;font-weight:650!important}
body :is(.round-btn,.circle-button,.carousel-controls button){font-family:var(--nce-font)!important;border-radius:50%!important;min-width:44px;min-height:44px}
body :is(a,button,summary):focus-visible{outline:3px solid #3aaf85!important;outline-offset:5px}
/* Keep small product previews and reporting widgets at their functional scale. */
body :is(.p-preview,.coach-preview,.calculator,.impact-board) h2{font-size:23px!important}
body .nce-global-header{position:sticky;top:0;z-index:100;background:#fffffff5;color:var(--nce-navy);border-bottom:1px solid #d6e0db;backdrop-filter:blur(15px);font-family:var(--nce-font);isolation:isolate;line-height:1.4;color-scheme:light}
.nce-global-inner{max-width:1280px;margin:0 auto;padding:0 40px;height:83px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nce-global-brand{display:flex!important;align-items:center;gap:12px;text-decoration:none!important;font-size:23px!important;line-height:1!important;font-weight:800!important;letter-spacing:.08em;color:var(--nce-navy)!important;flex-shrink:0}
.nce-global-brand img{width:39px!important;height:39px!important;display:block;filter:none!important;object-fit:contain}
.nce-global-brand small{display:block;font:600 10px/1 var(--nce-font);letter-spacing:.23em;margin-top:6px;color:var(--nce-navy)}
.nce-global-desktop{display:flex;gap:24px;align-items:center;font-size:14px;font-weight:650}
.nce-global-desktop a{color:var(--nce-navy);text-decoration:none}.nce-global-desktop a:hover{color:var(--nce-teal)}
.nce-global-menu{position:relative}.nce-global-menu>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;padding:11px 17px;border-radius:5px;background:var(--nce-teal);color:white!important;font:700 16px/1.4 var(--nce-font);min-height:46px;white-space:nowrap}.nce-global-menu>summary::-webkit-details-marker{display:none}.nce-global-menu>summary svg{width:22px;height:22px;stroke:currentColor}.nce-global-menu .nce-close{display:none}.nce-global-menu[open] .nce-open{display:none}.nce-global-menu[open] .nce-close{display:inline}
.nce-menu-panel{position:absolute;right:0;top:calc(100% + 18px);width:340px;max-width:calc(100vw - 36px);max-height:calc(100dvh - 115px);overflow-y:auto;background:white;border:1px solid #d6e0db;box-shadow:0 20px 40px #0a202c26;padding:12px;border-radius:5px;overscroll-behavior:contain}
.nce-menu-panel a{display:block;padding:13px 14px;color:var(--nce-navy)!important;font:650 16px/1.45 var(--nce-font);text-decoration:none!important;border-radius:5px}.nce-menu-panel a:hover,.nce-menu-panel a:focus-visible{background:#eaf4ee}.nce-menu-panel a[aria-current=page]{background:#eaf4ee;color:var(--nce-teal)!important}.nce-menu-label{display:block;padding:12px 14px 6px;font:750 11px/1.4 var(--nce-font);letter-spacing:.13em;color:#53666c}
.nce-section-links{background:var(--nce-navy);color:white;display:flex;gap:26px;overflow-x:auto;padding:12px max(20px,calc((100vw - 1200px)/2));scrollbar-width:thin;font:650 14px/1.5 var(--nce-font)}.nce-section-links a{color:#e2efef!important;white-space:nowrap;text-decoration:none}.nce-section-links a:hover,.nce-section-links a[aria-current]{color:var(--nce-mint)!important}
.nce-global-header .nce-progress{position:absolute;bottom:-1px;left:0;height:2px;background:var(--nce-teal);width:0;transform-origin:left;pointer-events:none}
/* Reconnect pages formerly compensated for fixed, independently styled headers. */
body.nce-digital .hero{padding-top:60px;min-height:780px}body.nce-mobility .hero{padding-top:60px}body.nce-barbers .hero{padding-top:60px}
body.nce-digital .hero-flag{background:transparent;border:0;padding:0}
body.nce-digital .hero h1 .last{font-size:inherit!important}
@media(max-width:1050px){.nce-global-inner{padding-inline:28px}.nce-global-desktop{gap:16px}}
@media(max-width:1000px){.nce-global-desktop{display:none}.nce-global-inner{height:72px;padding-inline:20px}.nce-global-brand{font-size:20px!important;gap:9px}.nce-global-brand img{width:34px!important;height:34px!important}.nce-global-brand small{font-size:9px}.nce-global-menu{position:static}.nce-menu-panel{left:18px;right:18px;top:72px;width:auto;max-width:none}.nce-section-links{gap:22px;font-size:14px;padding-block:10px}}
@media(max-width:800px){:root{--nce-h1:72px}}
@media(max-width:550px){:root{--nce-h1:clamp(42px,13.5vw,58px);--nce-h2:35px}body :is(.hero-lead,.p-lead){font-size:21px!important}body :is(.btn,.button,.f-button,.j-button,.nce-button){font-size:14px!important;padding:15px 23px!important}body :is(.eyebrow,.hero-flag){font-size:11px!important}body.nce-digital .hero,body.nce-mobility .hero,body.nce-barbers .hero{padding-top:42px;min-height:0}body.nce-digital .hero{padding-bottom:45px}.nce-section-links{scroll-padding-inline:20px}}
@media(prefers-reduced-motion:reduce){body :is(.btn,.button,.f-button,.j-button,.nce-button){transition:none!important;transform:none!important}}
@media print{.nce-global-header,.nce-section-links{display:none!important}}
/* Shared social links: visible labels, accessible targets and brand icons. */
body footer .nce-social-footer{box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 24px;width:calc(100% - 40px);max-width:1200px;margin:28px auto 0;padding:24px 0 8px;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);font-family:var(--nce-font);font-size:14px;line-height:1.4}
body footer .nce-social-label{font-size:14px;font-weight:700;letter-spacing:0}
body footer .nce-social-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
body footer .nce-social-links a{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid #aaf0d04d;border-radius:var(--nce-radius);background:var(--nce-navy);color:#f5faf8;font:650 14px/1.4 var(--nce-font);text-decoration:none;transition:background-color .2s,color .2s}
body footer .nce-social-links a:hover{background:var(--nce-mint);border-color:var(--nce-mint);color:var(--nce-navy)}
body footer .nce-social-links svg{display:block;width:20px;height:20px;flex-shrink:0;color:var(--nce-mint)}
@media(max-width:550px){body footer .nce-social-footer{flex-direction:column;gap:12px}body footer .nce-social-links{gap:8px}body footer .nce-social-links a{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){body footer .nce-social-links a{transition:none}}
@media print{body footer .nce-social-footer{display:none}}

body footer .nce-social-links a:hover svg{color:var(--nce-navy)}
body footer .nce-social-links a[href="https://x.com/nceinstitute"]{min-width:52px}
