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

/* =========================
   Global typography
   ========================= */
body,
button,
input,
select,
textarea{
	font-family:'Inter', sans-serif;
}

/* =========================
   Header / menu
   ========================= */
body:not(.lm-homepage) .site-header-wrap,
body:not(.lm-homepage) #wrapper .site-header-wrap,
body:not(.lm-homepage) #main-header,
body:not(.lm-homepage) #masthead,
body:not(.lm-homepage) .site-header{
	position:sticky;
	top:0;
	z-index:9999;
	background:rgba(255,255,255,.96) !important;
	backdrop-filter:saturate(140%) blur(8px);
	-webkit-backdrop-filter:saturate(140%) blur(8px);
	box-shadow:none;
	transition:
		background-color .28s ease,
		box-shadow .28s ease,
		transform .28s ease;
}

body:not(.lm-homepage).is-scrolled .site-header-wrap,
body:not(.lm-homepage).is-scrolled #wrapper .site-header-wrap,
body:not(.lm-homepage).is-scrolled #main-header,
body:not(.lm-homepage).is-scrolled #masthead,
body:not(.lm-homepage).is-scrolled .site-header{
	background:rgba(255,255,255,.98) !important;
	box-shadow:0 8px 24px rgba(0,0,0,.08);
}

body:not(.lm-homepage) .site-header-wrap a,
body:not(.lm-homepage) #main-header a,
body:not(.lm-homepage) #masthead a,
body:not(.lm-homepage) .site-header a,
body:not(.lm-homepage) .site-header-wrap .site-title,
body:not(.lm-homepage) #main-header .site-title,
body:not(.lm-homepage) #masthead .site-title,
body:not(.lm-homepage) .site-header .site-title,
body:not(.lm-homepage) .site-header .main-navigation a,
body:not(.lm-homepage) #masthead .main-navigation a,
body:not(.lm-homepage) #main-header .main-navigation a,
body:not(.lm-homepage) .site-header .menu a,
body:not(.lm-homepage) #masthead .menu a,
body:not(.lm-homepage) #main-header .menu a{
	color:#111 !important;
}

/* =========================
   Homepage header overlay
   ========================= */
body.lm-homepage #masthead,
body.lm-homepage #main-header,
body.lm-homepage .site-header,
body.lm-homepage .site-header-wrap{
	position:fixed !important;
	top:0;
	left:0;
	right:0;
	width:100%;
	z-index:99999;
	background:transparent !important;
	box-shadow:none !important;
	backdrop-filter:none !important;
	-webkit-backdrop-filter:none !important;
	transition:
		background-color .25s ease,
		box-shadow .25s ease,
		backdrop-filter .25s ease,
		-webkit-backdrop-filter .25s ease;
}

body.lm-homepage #main-header{
	padding-top:18px;
	transition:
		padding-top .25s ease,
		background-color .25s ease,
		box-shadow .25s ease,
		backdrop-filter .25s ease,
		-webkit-backdrop-filter .25s ease;
}

body.lm-homepage .site-main-header-wrap,
body.lm-homepage .site-header-row-container,
body.lm-homepage .site-header-row-container-inner,
body.lm-homepage .site-header-row{
	background:transparent !important;
	box-shadow:none !important;
	backdrop-filter:none !important;
	-webkit-backdrop-filter:none !important;
	transition:
		background-color .25s ease,
		box-shadow .25s ease,
		backdrop-filter .25s ease,
		-webkit-backdrop-filter .25s ease;
}

body.lm-homepage #masthead a,
body.lm-homepage #main-header a,
body.lm-homepage .site-header a,
body.lm-homepage .site-title,
body.lm-homepage .site-title a,
body.lm-homepage .main-navigation a,
body.lm-homepage .menu a,
body.lm-homepage .navigation a,
body.lm-homepage .main-navigation .menu-item > a{
	color:#fff !important;
}

body.lm-homepage .menu-toggle,
body.lm-homepage .menu-toggle svg,
body.lm-homepage .drawer-toggle,
body.lm-homepage .drawer-toggle svg,
body.lm-homepage .mobile-toggle-open-container,
body.lm-homepage .mobile-toggle-open-container svg{
	color:#fff !important;
	fill:#fff !important;
}

body.lm-homepage.is-scrolled #masthead,
body.lm-homepage.is-scrolled #main-header,
body.lm-homepage.is-scrolled .site-header,
body.lm-homepage.is-scrolled .site-header-wrap{
	background:rgba(10,10,10,.72) !important;
	box-shadow:0 8px 24px rgba(0,0,0,.18) !important;
	backdrop-filter:blur(8px) !important;
	-webkit-backdrop-filter:blur(8px) !important;
}

body.lm-homepage.is-scrolled #main-header{
	padding-top:8px;
}

body.lm-homepage.is-scrolled .site-main-header-wrap,
body.lm-homepage.is-scrolled .site-header-row-container,
body.lm-homepage.is-scrolled .site-header-row-container-inner,
body.lm-homepage.is-scrolled .site-header-row{
	background:transparent !important;
	box-shadow:none !important;
}

body.lm-homepage.is-scrolled #masthead a,
body.lm-homepage.is-scrolled #main-header a,
body.lm-homepage.is-scrolled .site-header a,
body.lm-homepage.is-scrolled .site-title,
body.lm-homepage.is-scrolled .site-title a,
body.lm-homepage.is-scrolled .main-navigation a,
body.lm-homepage.is-scrolled .menu a,
body.lm-homepage.is-scrolled .navigation a,
body.lm-homepage.is-scrolled .main-navigation .menu-item > a{
	color:#fff !important;
}

/* =========================
   Homepage hero
   ========================= */
   .lm-hero{
    position:relative;
    width:100%;
    height:100vh;
    min-height:100vh;
    overflow:hidden;
    margin:0;
  }
  
  .lm-hero__media{
    position:relative;
    width:100%;
    height:100%;
  }

.lm-hero__media img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.lm-hero__overlay{
	position:absolute;
	inset:0;
	display:flex;
	align-items:flex-end;
	padding-top:140px;
	background:linear-gradient(to top, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.15) 35%, rgba(0,0,0,0) 60%);
}

.lm-hero__inner{
	width:100%;
	max-width:1400px;
	margin:0 auto;
	padding:0 32px 48px;
	box-sizing:border-box;
}

.lm-hero__title{
	margin:0;
	color:#fff;
	font-family:'Playfair Display', serif;
	font-weight:500;
	letter-spacing:-0.01em;
	line-height:1.03;
	font-size:clamp(2.05rem, 4vw, 4.45rem);
	max-width:760px;
	text-shadow:0 2px 14px rgba(0,0,0,0.25);
}

.lm-hero__caption{
	margin:14px 0 0;
	color:rgba(255,255,255,0.92);
	font-family:'Inter', sans-serif;
	font-weight:400;
	letter-spacing:0.005em;
	line-height:1.42;
	font-size:clamp(0.9rem, 1vw, 1rem);
	max-width:560px;
	text-shadow:0 2px 10px rgba(0,0,0,0.25);
	opacity:0.94;
}

.lm-hero--overlay-light .lm-hero__overlay{
	background:
		linear-gradient(to bottom, rgba(0,0,0,0.42) 0%, rgba(0,0,0,0.14) 18%, rgba(0,0,0,0) 34%),
		linear-gradient(to top, rgba(0,0,0,0.38) 0%, rgba(0,0,0,0.12) 30%, rgba(0,0,0,0) 58%);
}

.lm-hero--overlay-medium .lm-hero__overlay{
	background:
		linear-gradient(to bottom, rgba(0,0,0,0.56) 0%, rgba(0,0,0,0.18) 18%, rgba(0,0,0,0) 36%),
		linear-gradient(to top, rgba(0,0,0,0.48) 0%, rgba(0,0,0,0.15) 35%, rgba(0,0,0,0) 60%);
}

.lm-hero--overlay-strong .lm-hero__overlay{
	background:
		linear-gradient(to bottom, rgba(0,0,0,0.68) 0%, rgba(0,0,0,0.24) 20%, rgba(0,0,0,0) 38%),
		linear-gradient(to top, rgba(0,0,0,0.58) 0%, rgba(0,0,0,0.18) 36%, rgba(0,0,0,0) 62%);
}

.lm-hero--bottom-left .lm-hero__overlay{
	align-items:flex-end;
	justify-content:flex-start;
}

.lm-hero--bottom-right .lm-hero__overlay{
	align-items:flex-end;
	justify-content:flex-end;
}

.lm-hero--center-left .lm-hero__overlay{
	align-items:center;
	justify-content:flex-start;
}

.lm-hero--center-right .lm-hero__overlay{
	align-items:center;
	justify-content:flex-end;
}

.lm-hero--center .lm-hero__overlay{
	align-items:center;
	justify-content:center;
}

.lm-hero--top-left .lm-hero__overlay{
	align-items:flex-start;
	justify-content:flex-start;
}

.lm-hero--top-right .lm-hero__overlay{
	align-items:flex-start;
	justify-content:flex-end;
}

.lm-hero--align-left .lm-hero__inner{
	text-align:left;
}

.lm-hero--align-right .lm-hero__inner{
	text-align:right;
}

.lm-hero--align-center .lm-hero__inner{
	text-align:center;
}

.lm-hero--bottom-right .lm-hero__inner,
.lm-hero--center-right .lm-hero__inner,
.lm-hero--top-right .lm-hero__inner{
	max-width:720px;
	margin-right:0;
	margin-left:auto;
}

.lm-hero--center .lm-hero__inner{
	max-width:820px;
	margin-left:auto;
	margin-right:auto;
}

.lm-hero--align-right .lm-hero__caption{
	max-width:560px;
	margin-left:auto;
	margin-right:0;
	text-align:right;
}

.lm-hero--align-right .lm-hero__title{
	max-width:760px;
}

/* =========================
   Single Story page
   ========================= */
.lm-story-single{
	padding:0 0 100px 0;
}

.lm-story-cover-wrap{
	width:min(94%,1800px);
	margin:0 auto 64px auto;
}

.lm-story-cover{
	position:relative;
	overflow:hidden;
}

.lm-story-cover img{
	width:100%;
	display:block;
	min-height:320px;
	max-height:56vh;
	object-fit:cover;
	object-position:center 28%;
}

.lm-story-cover-overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(to top, rgba(0,0,0,.54) 0%, rgba(0,0,0,.18) 40%, rgba(0,0,0,0) 74%);
	pointer-events:none;
}

.lm-story-cover-title-wrap{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	padding:38px 44px 34px 44px;
}

.lm-story-title{
	margin:0;
	max-width:1100px;
	color:#fff;
	font-family:'Playfair Display', serif;
	font-size:clamp(2.15rem,4.35vw,4.35rem);
	line-height:.96;
	letter-spacing:-0.04em;
	font-weight:600;
	text-wrap:balance;
}

.lm-story-intro-wrap{
	width:min(90%,1100px);
	margin:0 auto 86px auto;
}

.lm-story-intro{
	color:#111;
}

.lm-story-meta{
	margin:0 0 26px 0;
	font-size:.98rem;
	line-height:1.5;
	font-weight:700;
	color:#4a4a4a;
	letter-spacing:.01em;
}

.lm-story-summary{
	margin:0 0 30px 0;
}

.lm-story-summary p{
	margin:0;
	font-size:clamp(1.28rem,2vw,1.45rem);
	line-height:1.58;
	font-weight:700;
	color:#1a1a1a;
}

.lm-story-description p{
	margin:0 0 20px 0;
	font-size:1.08rem;
	line-height:1.85;
	color:#2d2d2d;
}

.lm-story-description p:last-child{
	margin-bottom:0;
}

.lm-story-video-wrap{
	width:min(94%,1800px);
	margin:0 auto 84px auto;
}

.lm-story-video-inner{
	color:#111;
}

.lm-story-video-title{
	width:min(90%,1100px);
	margin:0 auto 18px auto;
	font-family:'Playfair Display', serif;
	font-size:clamp(2rem,3.2vw,3.4rem);
	line-height:.98;
	letter-spacing:-0.035em;
	font-weight:600;
}

.lm-story-video-caption{
	width:min(90%,1100px);
	margin:0 auto 28px auto;
	font-size:1.05rem;
	line-height:1.75;
	color:#2f2f2f;
}

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

.lm-story-video-embed iframe{
	width:100%;
	height:100%;
	display:block;
}

.lm-story-gallery-wrap{
	width:min(94%,1800px);
	margin:0 auto;
}

.lm-story-gallery{
	display:flex;
	flex-direction:column;
	gap:20px;
}

.lm-story-gallery-item{
	margin:0;
}

.lm-story-gallery-item img{
	width:100%;
	height:auto;
	display:block;
}

/* =========================
   Archive pages
   ========================= */
   .lm-stories-archive{
    padding:40px 0 90px 0;
  }
  
  .lm-stories-archive-head{
    width:min(90%,1200px);
    margin:0 auto 40px auto;
  }
  
  .lm-stories-archive-head h1{
    margin:0 0 14px 0;
    font-size:clamp(2.2rem,4vw,4.2rem);
    line-height:.98;
    letter-spacing:-0.04em;
    font-family:'Playfair Display', serif;
    font-weight:600;
  }
  
  .lm-stories-archive-intro{
    margin:0;
    max-width:920px;
    font-size:1.05rem;
    line-height:1.7;
    color:#333;
  }
  
  .lm-stories-grid-wrap{
    width:min(94%,1800px);
    margin:0 auto;
  }
  
  .lm-stories-featured-card{
    margin:0 0 42px 0;
  }
  
  .lm-stories-featured-card-link{
    display:block;
    text-decoration:none;
    color:inherit;
  }
  
  .lm-stories-featured-card-image{
    margin:0 0 18px 0;
    overflow:hidden;
  }
  
  .lm-stories-featured-card-image img{
    width:100%;
    display:block;
    aspect-ratio:16/9;
    object-fit:cover;
  }
  
  .lm-stories-featured-card-content{
    max-width:1100px;
  }
  
  .lm-stories-featured-card-title{
    margin:0 0 12px 0;
    font-size:clamp(1.9rem,3vw,3.2rem);
    line-height:1.02;
    letter-spacing:-0.035em;
    font-family:'Playfair Display', serif;
    font-weight:600;
  }
  
  .lm-stories-featured-card-meta{
    margin:0 0 14px 0;
    font-size:1rem;
    line-height:1.55;
    color:#555;
    font-weight:700;
  }
  
  .lm-stories-featured-card-summary{
    margin:0;
    font-size:1.04rem;
    line-height:1.8;
    color:#2f2f2f;
    max-width:980px;
  }
  
  .lm-stories-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:34px 28px;
  }
  
  .lm-story-card{
    margin:0;
  }
  
  .lm-story-card-link{
    display:block;
    text-decoration:none;
    color:inherit;
  }
  
  .lm-story-card-image{
    overflow:hidden;
    margin:0 0 16px 0;
  }
  
  .lm-story-card-image img{
    width:100%;
    display:block;
    aspect-ratio:4/3;
    object-fit:cover;
  }
  
  .lm-story-card-title{
    margin:0 0 10px 0;
    font-size:clamp(1.25rem,1.8vw,1.7rem);
    line-height:1.08;
    letter-spacing:-0.03em;
    font-family:'Playfair Display', serif;
    font-weight:600;
  }
  
  .lm-story-card-meta{
    margin:0 0 10px 0;
    font-size:.96rem;
    line-height:1.55;
    color:#555;
    font-weight:700;
  }
  
  .lm-story-card-summary{
    margin:0;
    font-size:.98rem;
    line-height:1.72;
    color:#2f2f2f;
  }
  
  @media (max-width: 1024px){
    .lm-stories-archive-head,
    .lm-stories-grid-wrap{
      width:92%;
    }
  
    .lm-stories-featured-card{
      margin-bottom:34px;
    }
  
    .lm-stories-grid{
      grid-template-columns:1fr;
      gap:32px;
    }
  }
  
  @media (max-width: 767px){
    .lm-stories-archive{
      padding:28px 0 60px 0;
    }
  
    .lm-stories-archive-head,
    .lm-stories-grid-wrap{
      width:92%;
    }
  
    .lm-stories-archive-head{
      margin-bottom:28px;
    }
  
    .lm-stories-featured-card-image{
      margin-bottom:14px;
    }
  
    .lm-stories-featured-card-title{
      font-size:clamp(1.6rem,7vw,2.4rem);
      line-height:1.04;
    }
  
    .lm-stories-featured-card-meta{
      font-size:.95rem;
      margin-bottom:12px;
    }
  
    .lm-stories-featured-card-summary{
      font-size:.98rem;
      line-height:1.72;
    }
  
    .lm-story-card-image{
      margin-bottom:14px;
    }
  
    .lm-story-card-title{
      font-size:1.24rem;
    }
  
    .lm-story-card-meta{
      font-size:.94rem;
    }
  
    .lm-story-card-summary{
      font-size:.96rem;
      line-height:1.68;
    }
  }

/* =========================
   Homepage featured stories
   ========================= */
   .lm-home-featured-stories{
    width:min(94%,1800px);
    margin:44px auto 100px auto;
  }
  
  .lm-home-featured-stories__head{
    width:min(90%,1100px);
    margin:0 0 34px 0;
  }
  
  .lm-home-featured-stories__head h2{
    margin:0 0 12px 0;
    font-family:'Playfair Display', serif;
    font-size:clamp(1.85rem,3vw,3rem);
    line-height:1;
    letter-spacing:-0.035em;
    font-weight:600;
  }
  
  .lm-home-featured-stories__head p{
    margin:0;
    max-width:880px;
    font-size:1.02rem;
    line-height:1.72;
    color:#2c2c2c;
  }
  
  .lm-home-featured-stories__large{
    margin:0 0 34px 0;
  }
  
  .lm-home-featured-stories__large a,
  .lm-home-featured-stories__small a{
    display:block;
    color:inherit;
    text-decoration:none;
  }
  
  .lm-home-featured-stories__image{
    overflow:hidden;
    background:#f5f5f5;
    margin:0 0 14px 0;
  }
  
  .lm-home-featured-stories__image img{
    width:100%;
    display:block;
    object-fit:cover;
    transition:transform .45s ease;
  }
  
  .lm-home-featured-stories__image--large img{
    aspect-ratio:16/9;
  }
  
  .lm-home-featured-stories__small .lm-home-featured-stories__image img{
    aspect-ratio:4/3;
  }
  
  .lm-home-featured-stories__large a:hover .lm-home-featured-stories__image img,
  .lm-home-featured-stories__small a:hover .lm-home-featured-stories__image img{
    transform:scale(1.015);
  }
  
  .lm-home-featured-stories__content h3{
    margin:0 0 10px 0;
    font-family:'Playfair Display', serif;
    line-height:1.04;
    letter-spacing:-0.03em;
    font-weight:600;
  }
  
  .lm-home-featured-stories__large .lm-home-featured-stories__content h3{
    font-size:clamp(1.7rem,2.2vw,2.5rem);
  }
  
  .lm-home-featured-stories__small .lm-home-featured-stories__content h3{
    font-size:clamp(1.15rem,1.35vw,1.45rem);
  }
  
  .lm-home-featured-stories__meta{
    margin:0 0 12px 0;
    font-size:.95rem;
    line-height:1.55;
    color:#555;
    font-weight:700;
  }
  
  .lm-home-featured-stories__summary{
    margin:0;
    max-width:980px;
    font-size:1rem;
    line-height:1.76;
    color:#2f2f2f;
  }
  
  .lm-home-featured-stories__small-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
    align-items:start;
  }
  
  @media (max-width: 1024px){
    .lm-home-featured-stories{
      width:92%;
      margin:38px auto 76px auto;
    }
  
    .lm-home-featured-stories__head{
      width:100%;
      margin-bottom:28px;
    }
  
    .lm-home-featured-stories__small-grid{
      grid-template-columns:1fr;
      gap:26px;
    }
  }
  
  @media (max-width: 767px){
    .lm-home-featured-stories{
      width:92%;
      margin:42px auto 60px auto;
    }
  
    .lm-home-featured-stories__head{
      margin-bottom:24px;
    }
  
    .lm-home-featured-stories__head h2{
      margin-bottom:10px;
      font-size:clamp(1.6rem,7vw,2.3rem);
    }
  
    .lm-home-featured-stories__head p{
      font-size:.98rem;
      line-height:1.68;
    }
  
    .lm-home-featured-stories__large{
      margin-bottom:28px;
    }
  
    .lm-home-featured-stories__large .lm-home-featured-stories__content h3{
      font-size:clamp(1.45rem,6vw,2rem);
    }
  
    .lm-home-featured-stories__small .lm-home-featured-stories__content h3{
      font-size:1.18rem;
    }
  
    .lm-home-featured-stories__summary{
      font-size:.97rem;
      line-height:1.72;
    }
  
    .lm-home-featured-stories__small-grid{
      grid-template-columns:1fr;
      gap:24px;
    }
  }