/* Homepage typography. Scoped to the home content; shared pages stay intact.
 * Important declarations resolve legacy typography overrides in mitesh.css.
 */
body.home.mitesh,
body.home.mitesh .m-page,
body.home.mitesh .m-main--home {
	background-color: #fffcf7;
}
body.home.mitesh .m-main--home {
	--m-paper: #fffcf7;
	--m-ground: #fffcf7;
}
body.home.mitesh .m-main--home :is(.m-marquee, .m-collections, .m-diaries, .m-season, .m-reference-rail, .m-story, .m-manifesto) {
	background-color: #fffcf7;
}
.m-main--home {
	--home-ink: #242d2b;
	--home-muted: #596762;
	--home-light: #fffcf7;
	--home-heading: clamp(28px, 2.6vw, 44px);
	--home-serif: 'Cormorant Garamond', 'Cormorant', Georgia, serif;
	font-family: 'Chillax', 'Jost', sans-serif;
	color: var(--home-ink);
}

/* Keep the full-screen hero without stretching indefinitely on tall displays. */
body.home .m-main--home .m-hero { height: min(100svh,900px); min-height: 0; }
@media(max-width:767px) {
 /* The overlaid navbar occupies the top of the hero; reserve the news strip below. */
 body.home .m-main--home .m-hero { height: calc(100svh - 40px); }
 body.home .m-main--home .m-marquee { height: 40px; box-sizing: border-box; display: flex; align-items: center; padding-top: 0; padding-bottom: 0; }
}

.m-main--home :is(h1, h2, h3, p, a, span, em, button) {
	font-family: 'Chillax', 'Jost', sans-serif !important;
}

.m-main--home :is(.m-h2, .m-story__heading, .m-manifesto__title) {
	font-size: var(--home-heading) !important;
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: 1.2 !important;
	letter-spacing: -.02em !important;
	text-transform: none !important;
	color: var(--home-ink) !important;
}

.m-main--home :is(.m-story__heading, .m-manifesto__title) :is(a, em) {
	font-size: inherit !important;
	font-weight: inherit !important;
	font-style: normal !important;
	letter-spacing: inherit !important;
	color: inherit !important;
}

.m-main--home :is(.m-story__body, .m-story__value p) {
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.75 !important;
	letter-spacing: 0 !important;
	color: var(--home-muted) !important;
}

.m-main--home :is(.m-tilecard__name, .m-rail__name, .m-diary__name) {
	font-size: 16px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: 1.5 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--home-ink) !important;
}

.m-main--home .m-tilecard__price {
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	letter-spacing: 0 !important;
	color: var(--home-muted) !important;
}

.m-main--home :is(.m-story__eyebrow, .m-story__caption, .m-story__num, .m-manifesto__caption) {
	font-size: 12px !important;
	font-weight: 500 !important;
	font-style: normal !important;
	line-height: 1.6 !important;
	letter-spacing: .08em !important;
	color: var(--home-muted) !important;
}

.m-main--home :is(.m-hero__cta, .m-banner__cta, .m-story__link) {
	font-size: 14px !important;
	font-weight: 500 !important;
	font-style: normal !important;
	line-height: 1.5 !important;
	letter-spacing: .02em !important;
	text-transform: none !important;
}

/* Preserve contrast for copy placed over campaign photography. */
.m-main--home :is(.m-hero__cta, .m-banner__title, .m-banner__cta) {
	color: var(--home-light) !important;
}

.m-main--home .m-banner__title {
	font-size: var(--home-heading) !important;
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: 1.2 !important;
	letter-spacing: -.02em !important;
	text-transform: none !important;
}

/* Editorial statements use the serif; shopping typography stays in Chillax. */
.m-main--home :is(.m-story__heading, .m-manifesto__title, .m-banner__title, .m-hero__title, .m-hero__heading),
.m-main--home :is(.m-story__heading, .m-manifesto__title, .m-banner__title, .m-hero__title, .m-hero__heading) :is(a, span, em) {
	font-family: var(--home-serif) !important;
	font-weight: 400 !important;
	line-height: 1.12 !important;
	letter-spacing: -.02em !important;
}

.m-main--home :is(.m-story__heading, .m-manifesto__title, .m-banner__title) {
	font-size: clamp(36px, 4vw, 60px) !important;
}

.m-main--home :is(.m-hero__title, .m-hero__heading) {
	font-size: clamp(44px, 5.3vw, 80px) !important;
}

.m-main--home :is(.m-story__heading, .m-manifesto__title) em {
	font-style: italic !important;
}

/* A consistent editorial typeface for homepage section titles. */
body.home .m-main--home .m-collections { margin-top: 40px; }
body.home .m-main--home .m-collections { padding-left: 16px; padding-right: 16px; }
body.home .m-main--home .m-collections .m-rail { gap: 16px; }
body.home .m-main--home .m-diaries { margin-top: 36px; padding-left: 0; padding-right: 0; }
body.home .m-main--home .m-diaries__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2px; margin: 0; padding: 0; overflow: visible; }
body.home .m-main--home .m-diaries__grid .m-diary { position: relative; display: block; grid-column: auto; width: auto; min-width: 0; height: clamp(420px,60vw,800px); margin: 0; padding: 0; overflow: hidden; background: #edf3ef; border-radius: 0; }
body.home .m-main--home .m-diary__photo { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
body.home .m-main--home .m-diary::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.62)); pointer-events: none; }
body.home .m-main--home .m-diary__name { position: absolute; left: 24px; right: 24px; bottom: 24px; z-index: 1; margin: 0; padding: 0; color: #fff !important; text-align: left; font: 400 32px/1.15 var(--home-serif) !important; letter-spacing: 0; }
@media(max-width:760px) {
 body.home .m-main--home .m-diaries__grid { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 88%; gap: 2px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; }
 body.home .m-main--home .m-diaries__grid::-webkit-scrollbar { display: none; }
 body.home .m-main--home .m-diaries__grid .m-diary { height: 520px; scroll-snap-align: start; }
 body.home .m-main--home .m-diary__name { left: 16px; right: 16px; bottom: 16px; font-size: 28px !important; }
}
.m-main--home .m-diary__name { text-transform: capitalize !important; }
body.home .m-main--home .m-diary__caption { display: block; margin-top: 6px; color: rgba(255,255,255,.85); font: 400 12px/1.6 'Chillax',sans-serif !important; letter-spacing: 0; text-transform: none; }
.m-main--home .m-story__num { font-family: 'Fraunces',Georgia,serif !important; font-weight: 400 !important; font-size: 22px !important; }
.m-main--home .m-story__value p { font-size: 13px !important; line-height: 1.65 !important; }
body.home .m-main--home .m-story { margin-top: 36px; margin-bottom: 36px; }
body.home .m-main--home .m-story + .m-diaries { margin-top: 64px; }
.m-main--home .m-diaries__intro { max-width: 600px; margin: -20px 0 36px; padding: 0 24px; text-align: left; font-size: 14px; line-height: 1.7; color: var(--home-muted); }
body.home .m-main--home .m-diaries .m-sechead { align-items: flex-start; padding-left: 24px; padding-right: 24px; text-align: left; }
body.home .m-main--home .m-diaries .m-sechead h2 { text-align: left; }
.m-main--home .m-story__body { margin-bottom: 10px; }
.m-main--home .m-story__about { display: inline-flex; align-items: center; gap: 10px; margin-top: 0; padding-bottom: 0; border: 0; text-decoration: none; color: #164e48; font-size: 13px; line-height: 1.5; font-weight: 500; }
.m-main--home .m-story__about:hover { text-decoration: none; }
.m-main--home .m-story__about span { transition: transform .2s; }
.m-main--home .m-story__about:hover span { transform: translateX(3px); }
.m-main--home .m-collections__intro { max-width: 560px; margin: -20px auto 36px; padding: 0 24px; text-align: center; font-size: 14px; line-height: 1.7; color: var(--home-muted); }
.m-main--home h2,
.m-main--home h2 :is(a,span,em),
.m-main--home .m-h2,
.m-main--home .m-h2 :is(a,span,em) {
 font-family: var(--home-serif) !important;
 font-weight: 400 !important;
}
