/* Meet the Lodge: port of the React preview. Theme-scoped (.nore-mtl-*). */
.nore-mtl-h2 { font-size: clamp(2.25rem, 4.5vw, 3rem); color: var(--navy); margin: 1.5rem 0 0; }
.nore-mtl-h2--light { color: #fff; margin-top: 1.25rem; }

/* Keep all page content visible; only user-triggered panel changes animate. */

/* Evening timeline */
.nore-mtl-evening { padding-block: 6rem; }
.nore-mtl-timeline { position: relative; margin-top: 3.5rem; }
.nore-mtl-timeline__line { position: absolute; left: 0; right: 0; top: .75rem; display: none; }
.nore-mtl-timeline__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2.5rem; position: relative; }
.nore-mtl-step { position: relative; }
.nore-mtl-step__dot { position: relative; z-index: 1; display: block; width: 1.5rem; height: 1.5rem; background: var(--red); border: 4px solid var(--paper); }
.nore-mtl-step__time { margin: 1.25rem 0 0; font-size: 11px; font-weight: 700; letter-spacing: .25em; text-transform: uppercase; color: var(--red); }
.nore-mtl-step__title { margin: .5rem 0 0; font-size: 1.5rem; color: var(--navy); }
.nore-mtl-step__desc { margin: .5rem 0 0; font-size: .875rem; color: var(--muted); }
@media (min-width: 768px) {
	.nore-mtl-timeline__line { display: block; }
	.nore-mtl-timeline__list { grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
}

/* Offices */
.nore-mtl-offices { background: var(--navy); color: #fff; }
.nore-mtl-offices__inner { padding-block: 6rem; }
.nore-mtl-kicker { margin: 0; font-size: 11px; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; color: var(--gold); }
.nore-mtl-roles { margin-top: 3rem; display: grid; gap: 2.5rem; }
@media (min-width: 1024px) { .nore-mtl-roles { grid-template-columns: 1fr 1fr; } .nore-mtl-roles__aside { position: sticky; top: 9rem; align-self: start; } }
.nore-mtl-roles__list { display: flex; flex-direction: column; }
.nore-mtl-role { border-bottom: 1px solid rgba(255,255,255,.1); }
.nore-mtl-role__tab { all: unset; box-sizing: border-box; width: 100%; display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 1rem 0; cursor: pointer; color: rgba(255,255,255,.55); transition: padding-left .3s, color .3s; font-family: var(--font); }
.nore-mtl-role__tab:hover, .nore-mtl-role.is-active .nore-mtl-role__tab { color: #fff; }
.nore-mtl-role.is-active .nore-mtl-role__tab { padding-left: 1rem; }
.nore-mtl-role__tab:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.nore-mtl-role__title { font-size: clamp(1.25rem, 2vw, 1.5rem); }
.nore-mtl-role__group { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
/* No-JS: show each description inline; panel shows the first. */
.nore-mtl-role__desc { margin: 0 0 1rem; font-size: .9rem; color: rgba(255,255,255,.75); }
.nore-mtl-js .nore-mtl-role__desc { display: none; }

.nore-mtl-panel { background: var(--red); color: #fff; padding: 2.5rem; }
.nore-mtl-panel.is-swapping { animation: noreMtlPanel .4s cubic-bezier(.22,1,.36,1); }
.nore-mtl-panel__group { margin: 0; font-size: 11px; font-weight: 700; letter-spacing: .25em; text-transform: uppercase; opacity: .8; }
.nore-mtl-panel__title { margin: 1rem 0 0; font-size: clamp(2.25rem, 4.5vw, 3rem); }
.nore-mtl-panel__desc { margin: 1.5rem 0 0; font-size: 1.125rem; line-height: 1.65; opacity: .9; }
.nore-mtl-panel__note { margin: 2.5rem 0 0; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.25); font-size: .875rem; opacity: .75; }
@keyframes noreMtlPanel { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* Editorial + team */
.nore-mtl-editorial { padding-block: 4.5rem 2rem; }
.nore-mtl-team { background: var(--white); border-top: 1px solid var(--line); }
.nore-mtl-team__inner { padding-block: 5rem; }
.nore-mtl-team__grid { margin-top: 2.5rem; }

/* Closing */
.nore-mtl-close { padding-block: 6rem; }
.nore-mtl-close__grid { display: grid; gap: 2.5rem; }
@media (min-width: 768px) { .nore-mtl-close__grid { grid-template-columns: 1fr 1fr; align-items: center; } }
.nore-mtl-close__title { margin: 0; font-size: clamp(2.25rem, 5vw, 3.75rem); line-height: 1.15; color: var(--navy); }
.nore-mtl-close__copy { margin: 0; color: var(--muted); }
.nore-mtl-close .nore-actions { margin-top: 2rem; }

@media (prefers-reduced-motion: reduce) {
	.nore-mtl-panel.is-swapping { animation: none; }
	.nore-mtl-role__tab { transition: none; }
}
