/* Leanheimsness additions on top of the mirror stylesheet.
   Loaded after css/nbr-css-style.css on every page. */
@font-face{font-family:'freight-sans-pro';src:url('assets/fonts/inter-regular.woff2') format('woff2');font-weight:400;font-display:swap;}
@font-face{font-family:'freight-sans-pro';src:url('assets/fonts/inter-bold.woff2') format('woff2');font-weight:700;font-display:swap;}
@font-face{font-family:'pt-serif';src:url('assets/fonts/pt-serif-regular.woff2') format('woff2');font-weight:400;font-display:swap;}

body{font-family:'freight-sans-pro',Arial,sans-serif;} /* mirror used freight-sans-pro via typekit; mapped locally */

/* Text logo (mirror used an SVG/bitmap logo) */
.brand-logo{display:inline-block;font-family:'pt-serif',Georgia,serif;font-weight:700;font-size:24px;line-height:1.1;letter-spacing:.5px;color:var(--maincolor);text-decoration:none;text-transform:uppercase;}
.brand-logo:hover{text-decoration:none;color:var(--maincolor);}
.footer .brand-logo{font-size:30px;}
.brand-logo.txt-light{color:#f4f4f4;}

/* Sticky header: hide on scroll down, reveal on scroll up (mirror header was fixed) */
.header{transition:transform .3s cubic-bezier(.4,.01,.165,.99);}
.header.header--hidden{transform:translateY(-100%);}

/* Category navbar below the header row */
.header-nav{border-top:1px solid #c8c8c8;margin-top:10px;}
.header-nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none;}
.header-nav ul::-webkit-scrollbar{display:none;}
.header-nav a{display:block;padding:10px 0;font-size:12px;line-height:20px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:#1a1a1a;text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;}
.header-nav a:hover,.header-nav a.is-active{color:var(--maincolor);border-bottom-color:var(--maincolor);text-decoration:none;}

/* Search autocomplete results */
.elasticAutocompleteResults{display:none;}
.elasticAutocompleteResults.is-open{display:flex;}
.elasticAutocompleteResults a{display:block;padding:10px 14px;color:#1a1a1a;text-decoration:none;border-bottom:1px solid #dcdcdc;font-size:14px;}
.elasticAutocompleteResults a:hover{background:#e9e9e9;text-decoration:none;}

/* Forms */
.input-wrap{position:relative;margin-bottom:10px;}
.form-msg{margin-top:10px;font-size:13px;color:var(--maincolor);font-weight:600;}
.contact-form{max-width:520px;}
.contact-form textarea{width:100%;border:1px solid #c8c8c8;border-radius:4px;padding:10px;font-family:inherit;}

/* Article pages */
.article-header{padding:20px 0 10px;}
.article-title{font-family:'pt-serif',Georgia,serif;font-size:38px;line-height:1.15;font-weight:700;color:#1a1a1a;margin:0 0 12px;}
.legal-title{font-size:32px;letter-spacing:.5px;}
.article-dek{font-size:19px;line-height:1.5;color:#3a3a3a;font-weight:500;margin-bottom:16px;}
.article-hero{margin:0 0 24px;}
.article-hero img{display:block;width:100%;height:auto;background:#c8c8c8;}
.article-figure{margin:24px 0;}
.article-figure img{display:block;width:100%;height:auto;background:#c8c8c8;}
.article-content{font-size:18px;line-height:1.7;color:#1a1a1a;padding-top:24px;padding-bottom:24px;}
.article-content h2{font-family:'pt-serif',Georgia,serif;font-size:26px;line-height:1.25;margin:32px 0 12px;}
.article-content p{margin-bottom:18px;}
.article-content .lead{font-size:20px;color:#2a2a2a;}
.article-content .tagline{font-style:italic;color:#4a4a4a;margin-top:24px;}
.pull-quote{border-left:4px solid var(--maincolor);margin:28px 0;padding:6px 0 6px 20px;}
.pull-quote p{font-family:'pt-serif',Georgia,serif;font-size:23px;line-height:1.35;color:var(--maincolor);margin:0;}
.key-facts{background:#f4f4f4;border:1px solid #dcdcdc;padding:16px 22px 16px 38px;margin:22px 0;border-radius:4px;}
.key-facts li{margin-bottom:8px;}
.section-header a{color:inherit;text-decoration:none;}
.section-header a:hover{text-decoration:underline;}

/* Short videos: mirror uses the owl carousel JS; we ship markup only, so lay the
   items out as a horizontal scroller with the same fixed-size cards. */
.short-videos-wrap .short-videos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;}
.short-videos-wrap .short-videos>.item{flex:0 0 auto;scroll-snap-align:start;text-decoration:none;}
.short-videos-wrap .short-videos>.item:hover{text-decoration:none;}

@media screen and (max-width:767px){
  .article-title{font-size:28px;}
  .article-content{font-size:17px;}
  .article-hero img,.article-figure img{width:100%;}
  .article-content .pull-quote p{font-size:20px;}
}
