@charset "UTF-8";

/* --- GLOBAL RESET & VARIABLES --- */
:root {
  --main-margin: 160px; 
  --gutter: 30px;       
  --stagger-offset: 100px; 
  --text-indent: 2em;
  --image-gap: 30px;
}

*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box; 
}


/* CORE  */
html, body {
  scroll-behavior: smooth;
  height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden; /* Prevents accidental side-scrolling from offsets */
}

body {
  margin: 0;
  font-family: "Neue Haas Grotesk Display Pro", sans-serif;
  background: #ffffff; 
  box-sizing: border-box; 
  overflow-x: hidden; 
  color: #000;
}



/* ------------------------------ */
/* VERTICAL BRAND BAR */
/* ------------------------------ */

.vertical-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 20px;
  height: 100vh; 
  background-color: #7F55A3;
  display: flex;
  flex-direction: column;
  justify-content:center;  
  align-items: center; 
  pointer-events: none; 
  z-index: 999; 
}	

.vertical-text {
	font-family: "Neue Haas Grotesk Display Pro", sans-serif;
  color: #fff;
  font-size: 0.6rem;
  font-weight: 400;
  letter-spacing: 0.8px;
  writing-mode: vertical-lr;
  text-orientation: mixed; 
  white-space: nowrap;
  margin: 1rem 0;
  text-align: center;
}

.vertical-text.company-name {
	font-family: "Neue Haas Grotesk Display Pro", sans-serif;
  font-weight: 400;
  top: 100px;
  transform-origin: left top;
}

.vertical-text.tagline {
	font-family: "Neue Haas Grotesk Display Pro", sans-serif;
  font-weight: 400;
  top: 40%;
  transform-origin: left center;
}

.vertical-text.date {
	font-family: "Neue Haas Grotesk Display Pro", sans-serif;
  font-weight: 400;
  bottom: 190px;
  transform-origin: left bottom;
}



/* ------------------------------ */
/* HEADER + NAV  */
/* ------------------------------ */
header {
    position: fixed;
    top: 0; 
    width: 100%;
    height: 0; 
    z-index: 1000;
}

.logo svg {
    width: 30px;
    height: auto;
	color: black; 
    mix-blend-mode: difference; 
	transition: color 0.3s ease, background-color 0.3s ease;
}

/* previous - now unused - save */
.logo-icon {
      position: absolute;
      top: 1.8em;
      left: 2.8em;
      width: 1.8em;
      height: 1.8em;
      z-index: 1001;
    }

/* ------------------------------ */
/* HAMBURGER MENU */
/* ------------------------------ */
.hamburger {
  position: fixed;      
  top: 40px;
  right: 40px;
  width: 40px;
  height: 27px;     /* keep at 27px for a balanced X */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  z-index: 1001; 
  background: none;
  border: none;
  padding: 0;
}

.hamburger span {
  display: block;
  height: 3px;
  width: 100%;
  background: black; 
  margin-bottom: 6px;
  border-radius: 2px;
  mix-blend-mode: difference;
  transition: 0.3s ease, opacity 0.3s ease, background-color 0.3s ease;
}


.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translateY(12px);    /* keep at 12px for a balanced X */
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translateY(-12px);    /* keep at 12px for a balanced X */
}


/* Dark theme overrides  */
.theme-dark .logo svg {
    color: white;
}

.theme-dark .hamburger span {
    background-color: white;
}

.theme-light .logo svg {
    color: #000;
}

.theme-light .hamburger span {
    background-color: #000;
}


/* Nav Overlay */

.nav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	inset: 0;
    background: rgba(20,20,20,0.92);
	z-index: 1000;         
	
	display: flex;  
    align-items: center; 
    justify-content: center; 
	
	color: #fff; /* text color. */
    backdrop-filter: blur(4px);
	
    opacity: 0; 
    visibility: hidden;
	pointer-events: none; 
	transition: opacity 0.3s ease, visibility 0.3s ease; 
}

.nav-overlay.active {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
  pointer-events: auto; 
}

/* Main nav list */
.nav-overlay ul {
  list-style: none; 
  padding: 0;
  margin: 0;
  text-align: left; 
}

.nav-overlay ul > li {
  margin: 20px 0;
 /* font-size: 1.8em; */
}

.nav-overlay ul li a {
font-family: "neue-haas-grotesk-display", sans-serif;  
  text-decoration: none;
  color: #fff;
  font-size: 4.8rem;  
  font-weight: 200;
  transition: color 0.2s ease;
}

.nav-overlay ul > li > a:hover {
  color: #d5ae7b;
}


.nav-overlay ul li ul {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}

.nav-overlay ul li ul li {
  margin: 6px 0;
}

.nav-overlay ul li ul li a {
font-family: "neue-haas-grotesk-display", sans-serif;   
font-weight: 300;
  font-size: 2.1rem;
  letter-spacing: 0.02em;
  color: #CBC4BD;  
  text-decoration: none;
  transition: color 0.2s ease;
}

.nav-overlay ul li ul li a:hover {
  color: #ffffff;
}


/* ---------------- */
/* GLOBAL HEADINGS  */
/* ---------------- */

h1, h2, h3, p {
  margin: 0; 
}


h1 {
  font-family: "Baskerville", "Libre Baskerville", "Georgia", "Times New Roman", serif;
  font-style: italic;
  font-weight: 400;
  color: #000;
  font-size: 3.7vw;
  line-height: 1;
  letter-spacing: -2.6px;
	padding-right: 20px;
}


 h2 {
  font-family: "neue-haas-grotesk-display", sans-serif; 
  font-weight: 500;
  font-size: 1.8vw;
  margin: 10px 0px 0px 0px;
  padding-right: 0px;
  padding-top: 0px;
  color: #000;
  line-height: 1.2;
  letter-spacing: 0px;
}

 h3 {
  font-family: "neue-haas-grotesk-display", sans-serif; 
  font-weight: 600;
  font-size: 1.1vw;
  margin: 0px 0px 20px 0px;
  padding-right: 0px;
  padding-top: 0px;
  color: #000;
  line-height: 1.2;
  letter-spacing: 0px;
}


h4 {
  font-family: "Times New Roman", serif;
  font-weight: 200;
  font-style: italic;
  font-size: 1.18vw;
  margin: 0px 0px 0px 0px;
  padding-right: 12px;
  padding-top: 10px;
  color: #000;
  line-height: 1.2;
  letter-spacing: 0.1px;	
}

/* ------------------------------ */
/* MAIN GRID & LAYOUT */
/* ------------------------------ */
.article-container {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
	padding: 180px var(--main-margin) 0 var(--main-margin);
  max-width: 1600px;
  margin: 0 auto;
  column-gap: var(--gutter);
}

section {
  grid-column: 1 / -1; 
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--gutter);
  margin-bottom: 80px;
}


img {
  max-width: 100%;
  display: block; 
  height: auto;
}


/* ------------------------------ */
/* MAIN SECTION TEXT LAYER */
/* ------------------------------ */


/*
.article-byline {
  margin-top: 10px; 
  line-height: 1.25;
  text-align: inherit; 
  max-width: 80%; 
  font-family: "AdoptiveMono OT", monospace;
  font-weight: 300;
  font-size: 9px;
  color: #333333;
  text-transform: uppercase;
  padding-top: 0px;
  margin-left: 0px;
}
*/


.breadcrumb {
  font-family: "AdoptiveMono OT", monospace;
  font-weight: 300;
  font-size: 9px;
  color: #999999;
  text-transform: uppercase;
  padding-top: 0px;
  margin-left: 0px;
  margin-bottom: 30px;
}

.breadcrumb a {
	color: #555;
	text-decoration: none;
	padding: 0.15em 0.9em;
	border-radius: 6px;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.breadcrumb a:hover,
.breadcrumb a:focus-visible {
	background-color: #FFED75;
	color: 000;
}

.breadcrumb span {
	color: 999; 
	cursor: default;
}


/* --- TEXT CONTROLS --- */
.justified-text {
  font-family: "Baskerville", serif;
  font-size: 15px;
  color: #000;
  text-align: justify;
  text-justify: inter-word;
  hyphens: none;
  line-height: 1.2;	
}


.justified-text p + p {
 /* text-indent: var(--text-indent);*/
  margin-top: 10px;
  margin-bottom: 1.2em; /* spacing between paragraphs */
  word-break: normal; /* backup for stubborn gaps */
}

.portrait-pair-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px; 
  grid-column: 1 / -1;
  margin-bottom: 20px;
}
.portrait-pair-row img {
  width: 100%;
  aspect-ratio: 5 / 3;
  object-fit: cover;
}



/* ===========================
   video wrapper
=========================== */


.image-overlay-wrapper {
position: relative;
  grid-column: 2;
  overflow: hidden;
  align-self: start; /* This keeps it from stretching the whole grid row */
  padding-top: 50px; /* pushed video vertically */
}

/*
.video-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9; 
  overflow: hidden;
  background: #000;
}*/

/*
.video-wrapper iframe {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 115%; 
  transform: translateY(-50%); 
  border: 0;
  object-fit: cover;
}*/


/* Mama Said video-wrapper */
.video-wrapper {
  position: relative;
  width: 100%;
  /* Matches exact video dimensions - stops mismatching from the start */
  aspect-ratio: 1345 / 720; 
  overflow: hidden;
  background: #000;
}


/* Mama Said .video-wrapper iframe */
.video-wrapper iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  /* A tiny scale bump ensures any sub-pixel rendering gaps are hidden */
  transform: translate(-50%, -50%) scale(1.02); 
  border: 0;
  object-fit: cover;
}

.image-credit {
  position: absolute;
  top: 20px; 
  right: 20px;
  color: white;
  font-family: "AdoptiveMono OT", monospace;
  font-weight: 300;
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ===========================
   hero content
=========================== */

.hero-template-3 {
  grid-template-columns: 1fr 1.33fr; /* 1.33fr approximates 4:3 Ratio */
  display: grid;
  gap: var(--gutter);
  grid-column: 1 / -1;
  margin-bottom: 80px;
}

.bottom-text {
 padding-right: 30px;
 padding-top: 20px;
 margin-top: 0;
 margin-bottom: 1.2em; /* spacing between paragraphs */	
}


.split-text-col {
  display: flex;
  flex-direction: column;
  justify-content: space-between; 
}


.staggered-row {
  align-items: start; /* or use end */
  margin-top: 40px;
}

.desc-col {
  grid-column: 1 / 4;
  padding-right: 75px; 
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 500;
  color: #555555;
  font-size: 0.74rem;

  align-self: flex-start;

	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	text-align: justify;
    text-justify: inter-word;
    hyphens: none;
}


.story-col-1 {
  grid-column: 4 / 9; 
}

.story-col-2 {
  grid-column: 9 / 13;
  padding-left: 20px; 
}

/*
.story-col-1 p + p, .story-col-2 p + p {
  text-indent: 2em;
}
*/

.story-col-2 p:last-of-type::after {
  content: " ◆";
  font-size: 0.85em;
  margin-left: 0.25em;
}


.story-col-1, .story-col-2 {
  text-align: justify;
  /*text-justify: inter-word;*/
}


.description-text-row {
  display: grid;
  grid-template-columns: 1fr calc(50% - 100px) 1fr; 
  gap: 20px;
	
  align-items: end;
}

/*
.final-landscape-row {
  grid-column: 1 / -1;
  margin-top: 60px;
}

.final-portrait-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  grid-column: 1 / -1;
  margin-top: 20px;
}
*/

/* === Links styling (global) === */
a:link,
a:visited {
  color: black;
  text-decoration: none;
}
a:hover,
a:active {
  color: #777;
  text-decoration: none;
}


/* ----------------- FADE-IN ON SCROLL */
.fade-in {
  opacity: 0.1;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out,
              transform 0.8s ease-out;
  will-change: opacity, transform;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}


/* ========================================
   FULL-WIDTH LOWER ARTICLE THUMBNAIL ROW 
   ======================================== */

.thumbnail-wrapper {
  padding: 50px 0 20px 0;
  width: 100%;
  display: flex;
  flex-direction: column;
/*  justify-content:center; */ 
  align-items: center; 
}


/* 1. The Header Container */
.center-container {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 100px; /* This is your 'Anchor' padding */
  box-sizing: border-box;
  display: block; /* We don't actually need the 16-col grid here anymore */
}


.related-article-h2 {
  width: 100%; 
  border-top: 1px dotted rgba(0,0,0,0.25);
  padding: 120px 0 20px 0;
  margin: 0;
  text-align: left;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 400;
  font-size: 24px;
  color: #777777;
}


/* Update your thumbnail row to match the header container's alignment */
.ie-image-row-full-thb {
  width: 100%;
  max-width: 1600px; /* Ensure this matches the center-container */
  margin: 0 auto;
  padding: 10px 100px 140px 100px; /* Changed 100px to 60px to match the title */
  box-sizing: border-box; /* This ensures padding doesn't add to the width */
  display: grid;
  gap: 30px;     
  grid-template-columns: repeat(4, 1fr); 
}


/* Article thumbnail Image Container - unchanged */
.ie-image-item-thb {
  flex: 1;
  display: flex;
  flex-direction: column;
  /*gap: var(--caption-spacing);*/
  /*overflow: hidden; */
}

.ie-image-item-thb:hover img {
  transform: scale(1.03);
  opacity: 0.9;
}

/* My Article thumbnail Images */
  .ie-image-item-thb img {
  width: 100%;
  height: 100%;   
  object-fit: cover;            
  object-position: center;
  display: block;
  transition: transform 0.3s ease, opacity 0.3s ease; 
}


/* Related Article Captions */
.ie-image-item-thb figcaption {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size:  16px;
  font-weight: 600;
  color: #3a3a3a;
  text-align: left;
  line-height: 1.3;
  margin-top: 0px;
  padding-top: 7px;
  letter-spacing: 0.1px;
}

/* Style for sub-headings below related article thumbnail */
.related-article-subhead {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-size:  14px;
  font-weight: 400;
  color: #111111;
  text-align: left;
  line-height: 1.3;
  margin-top: 0px;
  padding-top: 3px;
  letter-spacing: 0px;  
  hyphens: none;
}



/* ------------------------------ */
/* FOOTER - desktop */ 
/* ------------------------------ */

footer {
    width: 100%;
	display: block; 
    background-color: #111;
    color: #5B5B5B;
	padding: 60px 20px 30px 40px; 
	box-sizing: border-box; 
}

/* ----------------------------PILLARS (Integrated with existing fade-in script) */
.footer-pillars {
	font-family: "Neue Haas Grotesk Display Pro", sans-serif;
  display:flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  column-gap: 60px; 
  row-gap: 30px; 
  margin-bottom: 50px; 
  max-width: 1400px; 
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.75rem;
  font-weight: 500;
  color: #414141;
	
  /* Animation Initial state */
    opacity: 0;
	transform: translateY(20px);
	transition: opacity 1.2s ease-out, transform 1.2s ease-out;
	will-change: opacity, transform;
}

.footer-pillars span {
	transition: color 0.4s ease, transform 0.4s ease;
	cursor: default;
}

.footer-pillars span:hover {
	color: #888;
	transform: translateY(-2px);
}


/* Matches exisiting JavaScript class */
.footer-pillars.visible {
	opacity: 1; 
	transform: translateY(0);
}


.footer-divider {
  border: 0;
  border-top: 1px solid #333;
  margin: 0 0 20px 0; 
  width: 100%;
}

/* ----------------------------bottom: copyright left, links right */
.footer-bottom {
  display: flex;
  justify-content: space-between; 
  align-items: flex-end;  
}


/* copyright */
.footer-left {
font-family: "Neue Haas Grotesk Display Pro", sans-serif;
  font-size: 11px;
	color: #888;
}

/* footer text - right side */
.footer-right {
    text-align: right;
	justify-content:center;
}

/* footer links */
.footer-right a {
    margin-left: 20px;
	display:inline; 
	font-family: "Neue Haas Grotesk Display Pro", sans-serif;
    font-size:  21px;
    font-weight: 400;
    color: #414141;
    text-decoration: none;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
	text-transform: uppercase;
	transition: opacity 0.3s ease; 
}

/* footer links-hover state */
.footer-right a:hover {
    color: #999;
	opacity: 0.5; 
}

.footer-right a:first-child {
	margin-left: 0;
}

.footer-right a:last-child {
	margin-right: 0;
}

.footer-right a + a::before {   
	content: "/";
	color: #414141;
	margin-left: 0.1rem;
	margin-right: 0.3rem;
}

/* Style for the active page link */
.footer-right a.current {
    color: #6c604f; 
    pointer-events: none; 
    cursor: default;
    opacity: 1; 
}


.footer-right a.current + a::before,
.footer-right a + a.current::before {
    color: #414141; 
}



/* ============================================= */
/*    1024px (large tablets / small desktops)    */
/* ============================================= */

@media (max-width: 1024px) {

	
	.hero-template-3 {
  grid-template-columns: 1fr 1.33fr; /* 1.33fr approximates 4:3 Ratio */
	
  display: grid;
  gap: var(--gutter);
  grid-column: 1 / -1;
  margin-bottom: 40px;
}
	
	
	.bottom-text {
	padding-right: 20px;
}
	
.breadcrumb {
  margin-bottom: 20px;
}

	h1 {
  font-size: 3.1vw;
  line-height: 1;
  letter-spacing: -1px;
  padding-right: 0px;
}


 h2 {
  font-size: 1.6vw;
  margin: 20px 0px 0px 0px;
  padding-right: 10px;
  padding-top: 0px;
  line-height: 1.2;
}


section {
  margin-bottom: 0px; /* changed from 80px for 1024 breakpoint */
}
		
/* ============ 1024px (VIDEO adjustments) ========== */	
	
.image-overlay-wrapper {
    padding-top: 30px; /* Nudge it closer to the headline on tablets */
    height: auto;      /* REMOVE the height: 50% you had before */
  }
  .video-wrapper {
    padding-bottom: 0; /* REMOVE the 56.25% padding hack */
  }
	
	
	
.story-col-2 {
  padding-left: 15px; /* reduced from 20px for 1024px breakpoint --*/
}
	
/* reduced for smaller breakpoints --*/
.justified-text {
  font-size: 13px;
  line-height: 1.2;
}
	
	
	
/* reduced for smaller breakpoints --*/
/* .desc-col {
  padding-right: 35px; 
  font-size: 9px;  
}*/

.desc-col {
  grid-column: 1 / 7;
  padding-right: 0px; 
  font-size: 0.74rem;

  align-self: flex-end;

	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
	margin-bottom: 80px;
}
	
	
	
	
	

/* -------------------------- article thumbnail section 900px */
	.center-container {
      margin: 0 auto;
      padding: 0px 120px 0px 120px; 
   }

/* .related-article-h2 {
	 font-size: 20px;
     padding-top: 60px;
     padding-bottom: 20px;
     margin: 0px 40px 0px 40px;
    }
*/	

  .related-article-h2 {
	 font-size: 24px;
     padding-top: 60px;
     padding-bottom: 20px;
     margin: 0px 0px 0px 0px;
    }
	
	
  .ie-image-row-full-thb {
	  display: grid;
	  grid-template-columns: 1fr 1fr;
	  padding: 40px 120px 0px 120px;
	  gap: 20px;
  }
  .ie-image-item-thb img {
	  aspect-ratio: 4 / 3;
  }
	
	
	
	
	
/* =========================== 1024px (mobile: FOOTER ONLY - new adjustments) ====================== */	
.footer-pillars {
	column-gap: 30px; 
	font-size: 0.67rem;
   }
  }


/* ======================= */
/*          900px          */
/* ======================= */

@media (max-width: 900px) {
	
.breadcrumb {
  margin-bottom: 20px;
}
	
 h1 {
  font-size: 3vw;
  line-height: 1;
  letter-spacing: -1px;
  padding-right: 0px;
}

 h2 {
  font-size: 1.5vw;
  margin: 20px 0px 0px 0px;
  padding-right: 10px;
  padding-top: 0px;
  line-height: 1.2;
}

	

	
.story-col-2 {
  padding-left: 15px; /* reduced from 20px for 1024px breakpoint --*/
}
	
/* reduced for smaller breakpoints --*/
.justified-text {
  font-size: 11.5px;
  line-height: 1.05;
}
/* reduced for smaller breakpoints --*/
 .desc-col {
  padding-right: 22px; 
  font-size: 8px;  /* use px for smaller breakpoints --*/
}


	
/* -------------------------- article thumbnail section 900px */
	.center-container {
      margin: 0 auto;
      padding: 0px 120px 0px 120px; 
   }



  .related-article-h2 {
	 font-size: 24px;
     padding-top: 60px;
     padding-bottom: 20px;
     margin: 0px 0px 0px 0px;
    }
	
	
  .ie-image-row-full-thb {
	  display: grid;
	  grid-template-columns: 1fr 1fr;
	  padding: 40px 120px 0px 120px;
	  gap: 20px;
  }
  .ie-image-item-thb img {
	  aspect-ratio: 4 / 3;
  }

	
/* ===========================  900px FOOTER ONLY ====================== */		
    .footer-pillars {
	column-gap: 30px; 
	font-size: 0.67rem;
	}
   }


/* ======================= */
/*          768px          */
/* ======================= */

@media (max-width: 768px) {
	
	
/* =========================== 768px RESPONSIVE NAV ONLY SPECS below ====================== */	

  .nav-overlay {
    padding: 1.5em;
  }

  .nav-overlay ul li {
    font-size: 1.5em;
  }

  .nav-overlay ul li ul.sub-nav {
    padding-left: 1.5em;
    font-size: 1.1em;
  }

   .hamburger {
    top: 20px;
    right: 20px;
    width: 32px;
    height: 24px;
  }
	
	.nav-overlay a {
    font-size: 28px;      
  }
	
 .article-container { 
    padding: 80px 170px 0 170px; 
  }
	
  section { 
	  display: flex; 
	  flex-direction: column; 
	  gap: 20px; 
	}
	
	
	h1 {
  font-size: 55px; /* changed from 5.4vw */
  line-height: 1;
  letter-spacing: -3px;
  padding-right: 0px;
  padding-top: 50px;
}

	h2 {
  font-size: 25px; /* changed from 1.1vw */
  margin: 20px 0px 0px 0px;
  padding-right: 0px;
  padding-top: 0px;
  line-height: 1.2;
  padding-bottom: 20px; /* added to 768px */
}
	
  h3 {
  font-size: 2.0vw;
  margin: 0px 0px 20px 0px;
}

	
	/* new 2-26-26--*/
.hero-template-3 {
    display: flex;
    flex-direction: column;
  }
  
	
.image-overlay-wrapper {
       height: auto;      /* REMOVE the height: 50% you had before */
    grid-column: 1 / -1; /* Make it full width */
    padding-top: 20px;   /* Small gap below the text */
	background: transparent;
    margin-top: 20px; /* Much smaller gap for mobile */
  }

  /* Ensure the video doesn't disappear */
  .video-wrapper {
    aspect-ratio: 16 / 9;
	  padding-bottom: 0; /* REMOVE the 56.25% padding hack */
  }
	
/* end new 2-26-26--*/	
	
	

.story-col-2 {
  padding-left: 15px; /* reduced from 20px for 1024px breakpoint --*/
}

	
/* reduced for smaller breakpoints --*/
.justified-text {
  font-size: 12px;
  line-height: 1.1;
  padding-right: 0px; /* added on 768px only */
  display: flex; /* added on 768px only */
  flex-direction: column; /* added on 768px only */
  gap: 1rem;  /* added on 768px only */
}

/* image descriptions - reduced for smaller breakpoints --*/
 .desc-col {
  padding-left: 0px; 
  font-size: 10px;  /* use px for smaller breakpoints --*/
  gap: 1rem;
  width: 50%;
  padding-right: 10px;
  padding-bottom: 10px;
	 
  transform: translateX(-100%);
}
	
.portrait-pair-row {
  margin-bottom: 10px;
}	
	
.staggered-row {
  margin-top: 0px;
  padding-top:0px;
}

.story-col-1 {
  padding-left: 0px;
  padding-right: 0px;
}

.story-col-2 {
  padding-left: 0px; 
  padding-right: 0px;
}

.story-col-1 p + p, .story-col-2 p + p {
  text-indent: 2em;
}

	
/* -------------------------- related article thumbnail section 768px */


	
	.center-container {
      margin: 0 auto;
      padding: 0px 120px 0px 120px; 
   }


  .related-article-h2 {
	 font-size: 20px;
     padding-top: 60px;
     padding-bottom: 20px;
     margin: 0 0 0 0; /* Align with the new padding */
    }
	

  .related-article-subhead {
     padding-bottom: 40px;
    }

	
  .ie-image-row-full-thb {
	  display: grid;
	  grid-template-columns: 1fr 1fr;
	 /* padding: 40px 100px 0px 90px;*/
	  padding: 40px 120px 0px 120px; /* Much better for tablets */
	  gap: 20px;
  }
  .ie-image-item-thb img {
	  aspect-ratio: 4 / 3;
  }	
	
	


/* =========================== 768px (mobile: FOOTER ONLY - new adjustments) ====================== */	
	footer {
		padding: 60px 20px 30px; 
	}
	.footer-pillars {
		column-gap: 30px;
		padding-left: 20px;
	}
	
	/* copyright */
   .footer-left {
	padding-left: 20px;
  }
 }


/* ======================= */
/*          600px          */
/* ======================= */

@media ( max-width : 600px ){
	
	

/* ========================== 600px (mobile) RESPONSIVE ADJUSTMENTS FOR NAV + VERTICAL BAR ========================= */	
  .vertical-bar {
    width: 16px;  
  }

  .vertical-text {
    font-size: 8px;
  }

  .hamburger {
    top: 20px;
    right: 20px;
    width: 32px;
    height: 24px;
  }

  .nav-overlay a {
    font-size: 28px;
  }

	
/* ========================== 600px BODY ========================= */	
  .breadcrumb {
	grid-column: 1 / 8;
  }
	
  .breadcrumb p {
	margin-left: 0px;
	font-size: 8px;
  }
		
	

  .article-container { 
	/*  padding: 100px; */
	  padding: 60px 120px 0 120px;
	}
	
  section { 
	  display: flex; 
	  flex-direction: column; 
	  gap: 20px; 
	}


.hero-template-3 {
  grid-template-columns: 1fr; /* 1.33fr approximates 4:3 Ratio */
  display: grid;
  gap: var(--gutter);
  grid-column: 1 / -1;
  margin-bottom: 30px; /* change from 80px to 30px on 600px */
}	

	.bottom-text {
	padding-right: 0px;
}

.split-text-col {
  display: flex;
  flex-direction: column;
  justify-content: space-between; 
	margin-right: 0px; /* added to 600px */
}
	
	
	h1 {
  font-size: 42px; /* changed from 5.4vw */
  line-height: 1;
  letter-spacing: -1px;
  padding-right: 0px;
}

	h2 {
  font-size: 21px; /* changed from 1.1vw */
  font-weight: 600; /* changed from 500 here */
  margin: 20px 0px 0px 0px;
  padding-right: 0px;
  padding-top: 0px;
  line-height: 1.2;
  padding-bottom: 20px; /* added to 600px */
}


   .image-overlay-wrapper {
    grid-column: 1 / -1; /* Make it full width */
    padding-top: 0px;   /* Small gap below the text */
	background: transparent;
    margin-top: 20px; /* Much smaller gap for mobile */
	margin-right: 0px;
  } 
	
  /* Ensure the video doesn't disappear */
  .video-wrapper {
    aspect-ratio: 16 / 9;
	padding-bottom: 0; /* REMOVE the 56.25% padding hack */
  }
	

/* --------------------------Related article thumbnail section 600px */
	
	.center-container {
      margin: 0 auto;
      padding: 0px 120px 0px 120px; 
   }


  .related-article-h2 {
	 font-size: 24px;
     padding-top: 60px;
     padding-bottom: 20px;
     margin: 0px 0px 0px 0px;
    }
	

	/* Force the thumbnail row to 1 column if 2 looks too cramped */
  .ie-image-row-full-thb {
    grid-template-columns: 1fr; 
    padding: 0 120px 0 120px;
  }
	
  .ie-image-item-thb img {
	  aspect-ratio: 4 / 3;
  }	

  .related-article-subhead {
     padding-bottom: 40px;
    }
	

	
/* ========================== 600px (mobile: NEW FOOTER ONLY adjustments)  ========================= */	
	.footer-bottom {
	flex-direction: column;
	align-items: flex-start;
	gap: 15px;
	}
	
	.footer-pillars {
	flex-direction: column; 
	font-size: 11px; 
	padding-right: 0px;
	} 
	
	
	/* copyright */
	.footer-left { 
    font-size: 10px;
	}
	
	.footer-right {
    text-align: left;
	display: flex;
	flex-wrap: wrap;
	gap: 15px; 
	padding-left: 20px;
   }	
	
	/* footer links */
	.footer-right a {
    font-size:  14px;
	margin-left: 0; 
   }
  }

/* ======================= */
/*          480px          */
/* ======================= */

@media (max-width: 480px) {

	
  .article-container { 
	  padding: 40px 100px 20px 100px;
	}
	
  section { 
	  display: flex; 
	  flex-direction: column; 
	  gap: 20px; 
	}


.hero-template-3 {
  grid-template-columns: 1fr; /* 1.33fr approximates 4:3 Ratio */
  display: grid;
  gap: var(--gutter);
  grid-column: 1 / -1;
  margin-bottom: 30px; 
  padding-right: 40px;
}	

	.bottom-text {
	padding-right: 0px;
}

.portrait-pair-row {
  margin-right: 50px; /* added on 480px */
}	
	
.staggered-row {
  margin-top: 0px;
  padding-top:0px;
	  margin-right: 50px; /* added on 480px */
}

	
.split-text-col {
  display: flex;
  flex-direction: column;
  justify-content: space-between; 
	margin-right: 0px; 
}
	
	
	h1 {
  font-size: 39px;
  line-height: 1;
  letter-spacing: -2.5px;
  padding-right: 0px;
}

	h2 {
  font-size: 16px; /* changed from 1.1vw */
  font-weight: 600; /* changed from 500 here */
  margin: 20px 0px 0px 0px;
  padding-right: 0px;
  padding-top: 0px;
  line-height: 1.2;
  padding-bottom: 20px;
}

  h3 {
  font-size: 2.0vw;
  margin: 0px 0px 0px 0px;
}
	
   .image-overlay-wrapper {
    grid-column: 1 / -1; /* Make it full width */
    padding-top: 0px;   /* Small gap below the text */
	background: transparent;
    margin-top: 20px; /* Much smaller gap for mobile */
	margin-right: 0px;
  } 
	
  /* Ensure the video doesn't disappear */
  .video-wrapper {
    aspect-ratio: 16 / 9;
	padding-bottom: 0; /* REMOVE the 56.25% padding hack */
  }	
	
.story-col-1 {
  padding: 0px; 
}

	
/* reduced for smaller breakpoints --*/
.justified-text {
  font-size: 14px;
  line-height: 1.2;
  padding-right: 0px; 
  display: flex; 
  flex-direction: column; 
  gap: 1rem; 
}

		
/* reduced for smaller breakpoints --*/
.justified-text h3{
  font-size: 14px;
  line-height: 1.2;
  padding-right: 0px; 
  display: flex; 
  flex-direction: column; 
  gap: 2.1rem; 
	hyphens: none;
}

	
/* image descriptions - reduced for smaller breakpoints --*/
 .desc-col {
  padding-left: 0px; 
  font-size: 0.7rem;  
  gap: 1rem;
  width: 200px;
  padding-right: 0px;
  padding-bottom: 40px;
	 margin-left: 50px;
	 
  transform: translateX(-40%);
}
	
/* ========================== 480px ADJUSTMENTS FOR NAV + VERTICAL BAR  ========================= */	
	
  .vertical-bar {
    width: 14px;
  }

  .vertical-text {
    font-size: 7px;
  }

  .hamburger {
    top: 24px;
    right: 24px;
    width: 28px;
    height: 24px;
  }

  .nav-overlay a {
   font-size: 22px;
  }	
	 .nav-overlay ul li a {
  font-family: "neue-haas-grotesk-display", sans-serif;  /* main catagories */
  text-decoration: none;
  color: #fff;
  font-size: 22px;  /* larger size for main catagories */
  font-weight: 400;
  transition: color 0.2s ease;
 }	
	
	
/* ========================== 480px (BODY)   ========================= */	
	.breadcrumb {
		grid-column: 1 / 17;
		padding-bottom: 20px;
	}
	
	.breadcrumb p {
		margin-left: 0px;
		font-size: 8px;
	}

/* --------------------------Related article thumbnail section 480px */	
		.center-container {
      margin: 0 auto;
      padding: 0px 100px 0px 100px; 
   }

 .related-article-h2 {
	 font-size: 20px;
     padding-top: 60px;
     padding-bottom: 20px;
     margin: 0px 0px 0px 0px;
    }
	
	/* Force the thumbnail row to 1 column if 2 looks too cramped */
  .ie-image-row-full-thb {
    grid-template-columns: 1fr; 
    padding: 0 100px 0 100px;
  }
	
  .ie-image-item-thb img {
	  aspect-ratio: 4 / 3;
  }	

  .related-article-subhead {
     padding-bottom: 40px;
    }
			
	
/* ========================== 480px (mobile: NEW FOOTER ONLY adjustments)  ========================= */		
	.footer-pillars {
		flex-direction: column; /* Pillars now stacke vertically like a list */
		row-gap: 15px;
		margin-bottom: 40px;
	}
	.footer-pillars span {
		font-size: 0.7rem; /* Sharper text for small screens */
		gap: 10px;
	}
  }

