/**
 * MICROBA Our Journey
 * Version: 1.0.0
 */

.mo-our-journey {
	--oj-ink: #07110d;
	--oj-ink-soft: #0e1b14;
	--oj-cream: #f3ecdc;
	--oj-cream-soft: #fbf7ee;
	--oj-gold: #d6a43c;
	--oj-gold-deep: #8d6517;
	--oj-line: rgba(214, 164, 60, .35);
	background: var(--oj-ink);
	color: #fff;
	overflow: clip;
}

.mo-oj-shell { width: min(100% - 2rem, 1240px); margin-inline: auto; }
.mo-oj-hero,
.mo-oj-feature,
.mo-oj-dual__panel,
.mo-oj-closing { position: relative; isolation: isolate; background-image: var(--mo-oj-image); background-position: center; background-repeat: no-repeat; background-size: cover; }
.mo-oj-overlay { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.mo-oj-kicker { margin: 0 0 1rem; color: var(--oj-gold); font-family: var(--mo-font-ui); font-size: .76rem; font-weight: 700; letter-spacing: .22em; line-height: 1.2; text-transform: uppercase; }
.mo-oj-chapter-number { margin: 0 0 .8rem; color: var(--oj-gold); font-size: .76rem; font-weight: 700; letter-spacing: .16em; }
.mo-oj-copy h2,
.mo-oj-hero h1,
.mo-oj-prologue h2,
.mo-oj-science h2,
.mo-oj-closing h2 { margin: 0; font-family: var(--mo-font-display, Georgia, serif); font-weight: 400; letter-spacing: -.045em; line-height: .98; text-wrap: balance; }
.mo-oj-copy p:not(.mo-oj-kicker):not(.mo-oj-chapter-number),
.mo-oj-prologue p,
.mo-oj-hero__copy > p,
.mo-oj-science p,
.mo-oj-closing p { line-height: 1.75; text-wrap: pretty; }

.mo-oj-hero { min-height: max(700px, 92svh); background-position: 50% center; }
.mo-oj-hero .mo-oj-overlay { background: linear-gradient(90deg, rgba(2,8,5,.98), rgba(2,8,5,.76) 36%, rgba(2,8,5,.16) 72%), linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.35)); }
.mo-oj-hero__inner { display: flex; align-items: flex-end; min-height: inherit; padding: clamp(9rem, 15vw, 13rem) 0 clamp(4.5rem, 8vw, 7rem); }
.mo-oj-hero__copy { max-width: 720px; }
.mo-oj-hero h1 { max-width: 11ch; font-size: clamp(4rem, 7.5vw, 8.2rem); }
.mo-oj-hero__copy > p { max-width: 52ch; margin: 1.7rem 0 0; color: rgba(255,255,255,.82); font-size: clamp(1rem, 1.35vw, 1.18rem); }
.mo-oj-button { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-height: 50px; margin-top: 2rem; padding: .95rem 1.45rem; border: 1px solid transparent; border-radius: 999px; font-size: .9rem; font-weight: 700; line-height: 1; text-decoration: none; transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.mo-oj-button:hover,.mo-oj-button:focus-visible { transform: translateY(-2px); }
.mo-oj-button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.mo-oj-button--gold { background: var(--oj-gold); color: #171006; }
.mo-oj-button--outline { border-color: rgba(255,255,255,.7); color: #fff; }
.mo-oj-button--outline:hover { background: #fff; color: var(--oj-ink); }

.mo-oj-prologue { background: var(--oj-cream-soft); color: var(--oj-ink); padding: clamp(6rem, 12vw, 11rem) 0; }
.mo-oj-prologue__inner { max-width: 880px; text-align: center; }
.mo-oj-prologue h2 { font-size: clamp(3rem, 5.5vw, 6rem); }
.mo-oj-prologue p:last-child { max-width: 54ch; margin: 1.6rem auto 0; color: #5b655d; font-size: 1.06rem; }

.mo-oj-chapter { padding: clamp(6rem, 11vw, 10rem) 0; }
.mo-oj-chapter--dark { background: var(--oj-ink-soft); color: #f4eee2; }
.mo-oj-chapter--cream { background: var(--oj-cream); color: var(--oj-ink); }
.mo-oj-editorial { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); gap: clamp(3rem, 8vw, 7rem); align-items: center; }
.mo-oj-editorial--reverse { grid-template-columns: minmax(320px, .92fr) minmax(0, 1.08fr); }
.mo-oj-media { margin: 0; min-height: clamp(480px, 56vw, 720px); overflow: hidden; border: 1px solid var(--oj-line); box-shadow: 0 30px 80px rgba(0,0,0,.24); }
.mo-oj-media--landscape { min-height: clamp(420px, 48vw, 620px); }
.mo-oj-media img { width: 100%; height: 100%; min-height: inherit; display: block; object-fit: cover; transition: transform 1s cubic-bezier(.2,.7,.2,1); }
.mo-oj-media:hover img { transform: scale(1.025); }
.mo-oj-copy h2 { font-size: clamp(3rem, 5.3vw, 5.8rem); }
.mo-oj-copy > p:not(.mo-oj-kicker):not(.mo-oj-chapter-number) { margin: 1.6rem 0 0; color: rgba(255,255,255,.74); font-size: 1.05rem; }
.mo-oj-chapter--cream .mo-oj-copy > p:not(.mo-oj-kicker):not(.mo-oj-chapter-number) { color: #586159; }
.mo-oj-copy blockquote { margin: 2rem 0 0; padding: 1.25rem 0 1.25rem 1.5rem; border-left: 1px solid var(--oj-gold); color: var(--oj-gold); font-family: var(--mo-font-display, Georgia, serif); font-size: clamp(1.25rem, 2vw, 1.8rem); line-height: 1.45; }
.mo-oj-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: clamp(3rem, 7vw, 6rem); }
.mo-oj-gallery--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mo-oj-gallery img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; border: 1px solid var(--oj-line); }

.mo-oj-feature { min-height: clamp(640px, 78vw, 940px); display: flex; align-items: flex-end; background-position: center; }
.mo-oj-feature .mo-oj-overlay { background: linear-gradient(180deg, rgba(2,8,5,.12), rgba(2,8,5,.25) 42%, rgba(2,8,5,.9)); }
.mo-oj-feature__inner { width: 100%; padding: clamp(5rem, 10vw, 8rem) 0; }
.mo-oj-feature .mo-oj-copy { max-width: 700px; }

.mo-oj-dual { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mo-oj-dual__panel { min-height: clamp(620px, 62vw, 860px); display: flex; align-items: flex-end; padding: clamp(2rem, 5vw, 5rem); }
.mo-oj-dual__panel .mo-oj-overlay { background: linear-gradient(180deg, rgba(2,8,5,.08), rgba(2,8,5,.82)); }
.mo-oj-dual__copy { position: relative; max-width: 560px; }
.mo-oj-dual__copy h2 { margin: 0; font-family: var(--mo-font-display, Georgia, serif); font-size: clamp(2.8rem, 4.5vw, 5.2rem); font-weight: 400; letter-spacing: -.045em; line-height: 1; }
.mo-oj-dual__copy > p:last-child { color: rgba(255,255,255,.78); font-size: 1rem; line-height: 1.7; }

.mo-oj-science { background: #06100c; padding: clamp(6rem, 11vw, 10rem) 0; }
.mo-oj-science__intro { max-width: 850px; margin-bottom: clamp(3rem, 7vw, 6rem); }
.mo-oj-science h2 { font-size: clamp(3.2rem, 5.6vw, 6.2rem); }
.mo-oj-science__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); }
.mo-oj-science article { padding-bottom: 2rem; border-bottom: 1px solid var(--oj-line); }
.mo-oj-science article img { width: 100%; aspect-ratio: 16/11; object-fit: cover; display: block; margin-bottom: 2rem; }
.mo-oj-science article h3 { margin: 0; font-family: var(--mo-font-display, Georgia, serif); font-size: clamp(2rem, 3vw, 3.2rem); font-weight: 400; }
.mo-oj-science article p:last-child { margin: 1rem 0 0; color: rgba(255,255,255,.7); }

.mo-oj-map { background: var(--oj-cream-soft); color: var(--oj-ink); padding: clamp(6rem, 11vw, 10rem) 0; }
.mo-oj-map__grid { display: grid; grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; }
.mo-oj-map .mo-oj-copy h2 { font-size: clamp(3rem, 5vw, 5.4rem); }
.mo-oj-map .mo-oj-copy > p:not(.mo-oj-kicker) { color: #5f695f; }
.mo-oj-map ul { list-style: none; margin: 2rem 0 0; padding: 0; border-top: 1px solid rgba(7,17,13,.16); }
.mo-oj-map li { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(7,17,13,.16); color: #354037; }
.mo-oj-map li span { color: var(--oj-gold-deep); font-weight: 700; }
.mo-oj-map__media { margin: 0; }
.mo-oj-map__media img { width: 100%; height: auto; display: block; }

.mo-oj-closing { min-height: max(680px, 82svh); display: grid; place-items: center; text-align: center; }
.mo-oj-closing .mo-oj-overlay { background: radial-gradient(circle at center, rgba(3,10,7,.22), rgba(3,10,7,.78)), linear-gradient(180deg, rgba(3,10,7,.26), rgba(3,10,7,.76)); }
.mo-oj-closing__inner { max-width: 920px; padding: 7rem 0; }
.mo-oj-closing h2 { font-size: clamp(3.3rem, 6vw, 6.6rem); }
.mo-oj-closing p { max-width: 58ch; margin: 1.5rem auto 0; color: rgba(255,255,255,.8); }
.mo-oj-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: .8rem; }

[data-oj-reveal] { opacity: 1; transform: none; }
.js .mo-our-journey [data-oj-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
.js .mo-our-journey [data-oj-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 900px) {
	.mo-oj-editorial,.mo-oj-editorial--reverse,.mo-oj-map__grid { grid-template-columns: 1fr; }
	.mo-oj-editorial--reverse .mo-oj-media { order: -1; }
	.mo-oj-dual { grid-template-columns: 1fr; }
	.mo-oj-dual__panel { min-height: 720px; }
}

@media (max-width: 680px) {
	.mo-oj-shell { width: min(100% - 1.25rem, 1240px); }
	.mo-oj-hero { min-height: 760px; background-position: 62% center; }
	.mo-oj-hero .mo-oj-overlay { background: linear-gradient(180deg, rgba(2,8,5,.36), rgba(2,8,5,.3) 35%, rgba(2,8,5,.94)); }
	.mo-oj-hero__inner { align-items: flex-end; padding-bottom: 4.5rem; }
	.mo-oj-hero h1 { font-size: clamp(3.3rem, 15vw, 5.2rem); }
	.mo-oj-editorial { gap: 2.5rem; }
	.mo-oj-media,.mo-oj-media--landscape { min-height: 410px; }
	.mo-oj-gallery,.mo-oj-gallery--two,.mo-oj-science__grid { grid-template-columns: 1fr; }
	.mo-oj-gallery img { aspect-ratio: 16/11; }
	.mo-oj-feature { min-height: 760px; }
	.mo-oj-dual__panel { min-height: 660px; padding: 2rem 1.25rem 3rem; }
	.mo-oj-actions { flex-direction: column; align-items: stretch; }
	.mo-oj-actions .mo-oj-button { width: 100%; margin-top: .75rem; }
}

@media (prefers-reduced-motion: reduce) {
	.js .mo-our-journey [data-oj-reveal] { opacity: 1; transform: none; transition: none; }
	.mo-oj-media img,.mo-oj-button { transition: none; }
	.mo-oj-media:hover img,.mo-oj-button:hover { transform: none; }
}


/* v1.6.0 — editorial navigation and motion polish */
.mo-our-journey section[id],
.mo-our-journey article[id] { scroll-margin-top: 96px; }
.mo-oj-progress {
	position: fixed;
	right: clamp(1rem, 2vw, 2rem);
	top: 50%;
	z-index: 80;
	display: grid;
	gap: .48rem;
	width: 132px;
	padding: 1rem .9rem 1rem 1.15rem;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 18px;
	background: rgba(3,10,7,.74);
	box-shadow: 0 18px 55px rgba(0,0,0,.24);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	transform: translateY(-50%) translateX(calc(100% + 3rem));
	opacity: 0;
	transition: transform .35s ease, opacity .35s ease;
}
.mo-oj-progress.is-visible { transform: translateY(-50%); opacity: 1; }
.mo-oj-progress__track { position: absolute; left: .55rem; top: 1.15rem; bottom: 1.15rem; width: 1px; overflow: hidden; background: rgba(255,255,255,.16); }
.mo-oj-progress__track span { display: block; width: 100%; height: var(--oj-progress, 0%); background: var(--oj-gold); transition: height .18s linear; }
.mo-oj-progress a { display: grid; grid-template-columns: 2.4rem 1fr; align-items: center; min-height: 24px; color: rgba(255,255,255,.5); font-family: var(--mo-font-ui); font-size: .66rem; letter-spacing: .08em; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.mo-oj-progress a span { color: var(--oj-gold); font-weight: 700; }
.mo-oj-progress a strong { overflow: hidden; font-size: .66rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.mo-oj-progress a:hover, .mo-oj-progress a:focus-visible, .mo-oj-progress a.is-active { color: #fff; transform: translateX(-3px); }
.mo-oj-progress a:focus-visible { outline: 1px solid var(--oj-gold); outline-offset: 3px; }
.mo-oj-gallery img { transition: transform .65s cubic-bezier(.2,.7,.2,1), box-shadow .65s ease; }
.mo-oj-gallery img:hover { transform: translateY(-5px); box-shadow: 0 20px 45px rgba(0,0,0,.2); }
.mo-oj-chapter--cream, .mo-oj-map, .mo-oj-prologue { background-image: linear-gradient(180deg, rgba(255,255,255,.28), transparent 90px); }

@media (max-width: 1180px) { .mo-oj-progress { display: none; } }
@media (prefers-reduced-motion: reduce) {
	.mo-oj-progress, .mo-oj-progress.is-visible { transform: translateY(-50%); transition: none; }
	.mo-oj-gallery img, .mo-oj-gallery img:hover { transform: none; transition: none; }
}
