@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');

/* Reset PS layout on Our Story page */
body.cms41 #right_column, body.cms41 #left_column { display: none !important; width: 0 !important; min-width: 0 !important; }
body.cms41 .breadcrumb { display: none !important; }
body.cms41 .page-heading { display: none !important; }
body.cms41 #page.container_9 { width: 100% !important; max-width: 100% !important; padding: 0 !important; margin: 0 !important; }
body.cms41 #columnscms { width: 100% !important; max-width: 100% !important; padding: 0 !important; display: block !important; float: none !important; }
body.cms41 #columnscms.grid_9 { width: 100% !important; }
body.cms41 #center_column { width: 100% !important; max-width: 100% !important; padding: 0 !important; float: none !important; display: block !important; }
body.cms41 #center_column.grid_5 { width: 100% !important; }
body.cms41 .rte { max-width: 100% !important; padding: 0 !important; }

.nh * { box-sizing: border-box !important; margin: 0; padding: 0; }
.nh { font-family: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif !important; font-weight: 300; color: #111; line-height: 1.75; font-size: 15px; overflow-x: hidden; }
.nh img { max-width: 100% !important; display: block !important; border: none !important; }
.nh strong { font-weight: 600 !important; }
.nh em { font-style: italic !important; }
.nh p { font-family: "Montserrat", sans-serif !important; }
.nh h1, .nh h2 { font-family: "Montserrat", sans-serif !important; border: none !important; background: none !important; }

/* Full width sections */
.nh-full { position: relative !important; left: 50% !important; right: 50% !important; margin-left: -50vw !important; margin-right: -50vw !important; width: 100vw !important; max-width: 100vw !important; }

/* Hero */
.nh-hero { position: relative !important; height: 80vh !important; min-height: 500px !important; display: flex !important; align-items: center !important; justify-content: center !important; text-align: center !important; color: #fff !important; overflow: hidden !important; }
.nh-hero__media { position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 0 !important; }
.nh-hero__media img { width: 100% !important; height: 100% !important; object-fit: cover !important; max-width: none !important; }
.nh-hero__overlay { position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; background: rgba(0,0,0,0.5) !important; }
.nh-hero__content { position: relative !important; z-index: 1 !important; max-width: 1100px !important; padding: 2rem 3rem !important; }
.nh-hero__eyebrow { font-size: 1.1rem !important; letter-spacing: 0.4em !important; text-transform: uppercase !important; margin-bottom: 2rem !important; font-weight: 400 !important; opacity: 0.7; color: #fff !important; }
.nh-hero__title { font-weight: 300 !important; font-size: clamp(2.5rem, 5.5vw, 4.5rem) !important; line-height: 1.15 !important; margin-bottom: 2rem !important; letter-spacing: -0.02em !important; color: #fff !important; text-align: center !important; background: none !important; border: none !important; padding: 0 !important; }
.nh-hero__title em { font-style: normal !important; font-weight: 600 !important; color: #fff !important; }
.nh-hero__lead { font-size: clamp(1.05rem, 1.5vw, 1.2rem) !important; font-weight: 300 !important; max-width: 500px !important; margin: 0 auto !important; opacity: 0.85; line-height: 1.8 !important; color: #fff !important; }

/* Chapters */
.nh-chapter { max-width: 1200px !important; margin: 0 auto !important; padding: 4.5rem 2rem !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 5rem !important; align-items: start !important; }
.nh-chapter--right .nh-chapter__text { order: 2 !important; }
.nh-chapter__year { display: inline-block !important; font-size: 1rem !important; font-weight: 500 !important; letter-spacing: 0.4em !important; text-transform: uppercase !important; color: #999 !important; margin-bottom: 1.5rem !important; }
.nh-chapter__title { font-weight: 300 !important; font-size: clamp(1.8rem, 3vw, 2.8rem) !important; line-height: 1.15 !important; margin-bottom: 2rem !important; color: #111 !important; letter-spacing: -0.02em !important; text-align: left !important; background: none !important; border: none !important; padding: 0 !important; }
.nh-chapter__text p { color: #555 !important; margin-bottom: 1.3rem !important; font-size: 0.95rem !important; max-width: 560px !important; line-height: 1.8 !important; }
.nh-chapter__text p:last-child { margin-bottom: 0 !important; }
.nh-chapter__highlight { font-weight: 400 !important; font-size: clamp(1.3rem, 2vw, 1.7rem) !important; line-height: 1.4 !important; color: #111 !important; margin: 2rem 0 !important; padding-left: 1.5rem !important; border-left: 1px solid #111 !important; max-width: 560px !important; border-right: none !important; border-top: none !important; border-bottom: none !important; }
.nh-chapter__media img { width: 100% !important; height: 580px !important; object-fit: cover !important; }

/* Quote */
.nh-quote { max-width: 900px !important; margin: 0 auto !important; padding: 2rem !important; text-align: center !important; }
.nh-quote p { font-weight: 300 !important; font-size: clamp(1.6rem, 3vw, 2.6rem) !important; line-height: 1.35 !important; color: #111 !important; letter-spacing: -0.01em !important; }
.nh-quote::before, .nh-quote::after { content: "" !important; display: block !important; width: 40px !important; height: 1px !important; background: #111 !important; margin: 0 auto 2.5rem !important; }
.nh-quote::after { margin: 2.5rem auto 0 !important; }

/* Brand birth */
.nh-brand { background: #111 !important; color: #fff !important; padding: 2.5rem 2rem !important; text-align: center !important; }
.nh-brand__inner { max-width: 700px !important; margin: 0 auto !important; }
.nh-brand__text { font-weight: 300 !important; font-size: 1rem !important; line-height: 1.9 !important; opacity: 0.6; margin-bottom: 1.5rem !important; color: #fff !important; }
.nh-brand__name { font-weight: 300 !important; font-size: clamp(1.5rem, 2.5vw, 2rem) !important; letter-spacing: 0.3em !important; text-transform: uppercase !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 0.8rem !important; color: #fff !important; }
.nh-brand__logo { height: 2.2rem !important; width: auto !important; display: inline-block !important; filter: invert(1) !important; max-height: 2.2rem !important; }
.nh-brand__line { width: 40px !important; height: 1px !important; background: rgba(255,255,255,0.2) !important; margin: 1.5rem auto 0 !important; }

/* Feature */
.nh-feature { background: #f7f7f7 !important; padding: 4.5rem 2rem !important; text-align: center !important; }
.nh-feature__eyebrow { font-size: 0.75rem !important; letter-spacing: 0.45em !important; text-transform: uppercase !important; color: #999 !important; margin-bottom: 2rem !important; font-weight: 500 !important; }
.nh-feature__title { font-weight: 300 !important; font-size: clamp(1.8rem, 3.5vw, 3rem) !important; line-height: 1.2 !important; max-width: 800px !important; margin: 0 auto 3rem !important; letter-spacing: -0.02em !important; text-align: center !important; background: none !important; border: none !important; padding: 0 !important; color: #111 !important; }
.nh-feature__body { max-width: 520px !important; margin: 0 auto !important; }
.nh-feature__body p { color: #555 !important; margin-bottom: 1.3rem !important; font-size: 0.95rem !important; line-height: 1.8 !important; }
.nh-feature__highlight { font-weight: 400 !important; font-size: 1.4rem !important; color: #111 !important; margin-top: 2rem !important; }

/* Closing */
.nh-closing { text-align: center !important; padding: 5rem 2rem 4rem !important; max-width: 800px !important; margin: 0 auto !important; }
.nh-closing__line { width: 40px !important; height: 1px !important; background: #111 !important; margin: 2rem auto !important; }
.nh-closing__quote { font-weight: 300 !important; font-size: clamp(1.8rem, 3.2vw, 2.8rem) !important; line-height: 1.3 !important; color: #111 !important; margin-bottom: 1.5rem !important; letter-spacing: -0.02em !important; background: none !important; border: none !important; padding: 0 !important; text-align: center !important; }
.nh .nh-closing__logo { height: 2rem !important; width: auto !important; display: inline !important; vertical-align: middle !important; margin-right: 0.3rem !important; max-height: 2rem !important; position: relative !important; top: -2px !important; }
.nh-closing__quote em { font-style: italic !important; font-weight: 600 !important; }
.nh-closing__sub { font-weight: 300 !important; font-size: 0.95rem !important; color: #555 !important; line-height: 1.8 !important; max-width: 480px !important; margin: 0 auto 3rem !important; }
.nh-closing__sign { font-weight: 300 !important; font-size: 1.2rem !important; color: #999 !important; letter-spacing: 0.3em !important; text-transform: uppercase !important; }
.nh-closing__sign::before { content: "— " !important; }
.nh-closing__sign::after { content: " —" !important; }

/* Footer */
.nh-footer { border-top: 1px solid #e5e5e5 !important; padding: 2rem 2rem 2rem !important; text-align: center !important; margin-bottom: 0 !important; }
body.cms41 #homefooter { margin-top: 0 !important; padding-top: 0 !important; }
.nh .nh-footer__logo { height: 2.8rem !important; width: auto !important; margin: 0 auto 0.8rem !important; max-height: 2.8rem !important; display: block !important; }
.nh-footer__tagline { font-size: 0.85rem !important; letter-spacing: 0.3em !important; text-transform: uppercase !important; color: #999 !important; font-weight: 400 !important; }

body.cms41 .rte { margin-bottom: 0 !important; padding-bottom: 0 !important; }
body.cms41 #center_column { margin-bottom: 0 !important; padding-bottom: 0 !important; }
body.cms41 #columnscms { margin-bottom: 0 !important; padding-bottom: 0 !important; }
body.cms41 #page { margin-bottom: 0 !important; padding-bottom: 0 !important; }

/* Responsive */
@media (max-width: 900px) {
  .nh-chapter { grid-template-columns: 1fr !important; gap: 2.5rem !important; padding: 3.5rem 1.5rem !important; }
  .nh-chapter--right .nh-chapter__text { order: 0 !important; }
  .nh-chapter__media img { height: 400px !important; }
  .nh-quote { padding: 2rem 1.5rem !important; }
  .nh-brand { padding: 3.5rem 1.5rem !important; }
  .nh-feature { padding: 3.5rem 1.5rem !important; }
  .nh-closing { padding: 4rem 1.5rem 3rem !important; }
}
@media (max-width: 480px) {
  .nh-chapter { padding: 2.5rem 1.2rem !important; }
  .nh-chapter__media img { height: 300px !important; }
  .nh-hero { height: 60vh !important; min-height: 400px !important; }
}
