/* ==========================================================================
   Pixelworx Lumen 1.0.0 — design system
   Inter Tight (display) + Inter (text) · Pixelworx orange #ff4d00
   Orange is used for large type, icons, the cursor and focus — never for
   small text on white (3.3:1). Small orange text uses --lm-orange-ink.
   ========================================================================== */

:root {
	--lm-ink: #1d1d1f;
	--lm-black: #0b0b0c;
	--lm-grey: #f5f5f7;
	--lm-grey-2: #e8e8ed;
	--lm-line: #d2d2d7;
	--lm-body: #424245;
	--lm-muted: #6e6e73;
	--lm-on-dark: #f5f5f7;
	--lm-on-dark-body: #d2d2d7;
	--lm-on-dark-muted: #a1a1a6;
	--lm-orange: #ff4d00;
	--lm-orange-ink: #c03c00;
	--lm-display: "Inter Tight", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--lm-text: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--lm-ease: cubic-bezier(.2, .7, .1, 1);
	--lm-gut: 40px;
	--lm-header: 64px;
	--lm-radius: 22px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--lm-header) + 16px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: #fff; color: var(--lm-ink); font-family: var(--lm-text); font-size: 17px; line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
img, video, svg { max-width: 100%; }
img { height: auto; }
a { color: inherit; }
::selection { background: rgba(255, 77, 0, .2); }
.lm-muted { color: var(--lm-muted); }
.lm-accent { color: var(--lm-orange); }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--lm-orange); outline-offset: 3px; border-radius: 10px; }

.lm-skip { position: absolute; left: 12px; top: -60px; z-index: 100; padding: 10px 16px; border-radius: 10px; background: var(--lm-ink); color: #fff; font-weight: 600; text-decoration: none; transition: top .2s; }
.lm-skip:focus { top: 12px; }

/* ---------- Layout ---------- */
.lm-wrap { width: 100%; max-width: 1240px; margin: 0 auto; padding-left: var(--lm-gut); padding-right: var(--lm-gut); }
.lm-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; }
.lm-s3 { grid-column: span 3; } .lm-s4 { grid-column: span 4; } .lm-s5 { grid-column: span 5; } .lm-s6 { grid-column: span 6; }
.lm-s7 { grid-column: span 7; } .lm-s8 { grid-column: span 8; } .lm-s12 { grid-column: span 12; }
.lm-section { padding: 104px 0; }
.lm-bg-grey { background: var(--lm-grey); }
.lm-bg-dark { background: var(--lm-black); color: var(--lm-on-dark); }
ul.lm-grid, ol.lm-grid { list-style: none; margin: 0; padding: 0; }
figure { margin: 0; }

/* ---------- Type ---------- */
.lm-label { margin: 0 0 18px; font-size: 15px; font-weight: 600; color: var(--lm-muted); }
.lm-bg-dark .lm-label { color: var(--lm-on-dark-muted); }
.lm-h2 { margin: 0; font-family: var(--lm-display); font-size: clamp(34px, 4.4vw, 56px); line-height: 1.04; font-weight: 600; letter-spacing: -0.035em; }
.lm-h2--xl { font-size: clamp(40px, 5.6vw, 72px); letter-spacing: -0.045em; line-height: 1; }
.lm-h3 { margin: 10px 0 0; font-family: var(--lm-display); font-size: clamp(24px, 2.4vw, 32px); line-height: 1.1; font-weight: 600; letter-spacing: -0.03em; }
.lm-lede { margin: 24px 0 0; max-width: 620px; font-size: clamp(17px, 1.5vw, 19px); line-height: 1.55; color: var(--lm-muted); }
.lm-lede b { color: var(--lm-ink); font-weight: 600; }
.lm-bg-dark .lm-lede { color: var(--lm-on-dark-body); }
.lm-bg-dark .lm-lede b { color: var(--lm-on-dark); }
.lm-lede + .lm-lede { margin-top: 16px; }
.lm-body-lg { margin: 24px 0 0; font-size: 18px; line-height: 1.55; color: var(--lm-body); }
.lm-did { margin: 18px 0 0; font-size: 15px; line-height: 1.6; color: var(--lm-muted); }
.lm-did b { color: var(--lm-ink); font-weight: 600; }
.lm-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin: 0; font-size: 15px; color: var(--lm-muted); }
.lm-bg-dark .lm-meta { color: var(--lm-on-dark-muted); }
.lm-meta--sm { margin-top: 20px; font-size: 14px; gap: 6px 12px; }
.lm-num { font-family: var(--lm-display); font-weight: 700; color: var(--lm-orange); }
.lm-num--ink { color: var(--lm-ink); }

/* ---------- Buttons & links ---------- */
.lm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 24px; border-radius: 999px; border: 1px solid transparent; font: 500 16px/1 var(--lm-text); white-space: nowrap; text-decoration: none; cursor: pointer; transition: transform .35s var(--lm-ease), background-color .25s, color .25s, border-color .25s; }
.lm-btn:hover { transform: translateY(-1px); }
.lm-btn--sm { min-height: 40px; padding: 0 18px; font-size: 14px; }
.lm-btn--ink { background: var(--lm-ink); color: #fff; }
.lm-btn--ink:hover { background: #000; color: #fff; }
.lm-btn--light { background: var(--lm-grey); color: var(--lm-ink); }
.lm-btn--light:hover { background: #fff; color: var(--lm-ink); }
.lm-btn--orange { background: var(--lm-orange); color: var(--lm-ink); }
.lm-btn--orange:hover { background: #ff6a26; color: var(--lm-ink); }
.lm-btn--outline { border-color: var(--lm-line); color: var(--lm-ink); background: #fff; }
.lm-btn--outline:hover { border-color: var(--lm-ink); }
.lm-btn--outline-light { border-color: rgba(255,255,255,.3); color: var(--lm-on-dark); }
.lm-btn--outline-light:hover { border-color: var(--lm-on-dark); color: #fff; }
.lm-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-top: 32px; }
.lm-link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 16px; font-size: 16px; font-weight: 500; color: var(--lm-ink); text-decoration: none; }
.lm-link:hover { color: var(--lm-ink); text-decoration: underline; text-underline-offset: 4px; }
.lm-link .lm-arrow { transition: transform .3s var(--lm-ease); }
.lm-link:hover .lm-arrow { transform: translateX(4px); }
.lm-link--on-dark, .lm-link--on-dark:hover { color: var(--lm-on-dark); margin-top: 0; }
.lm-link--orange, .lm-link--orange:hover { color: var(--lm-orange); }
.lm-actions .lm-link { margin-top: 0; }

/* ---------- Header ---------- */
.lm-header { position: sticky; top: 0; z-index: 50; height: var(--lm-header); background: rgba(22, 22, 23, .9); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); border-bottom: 1px solid rgba(255,255,255,.06); color: var(--lm-on-dark); }
body:not(.lm-has-hero) .lm-header { background: rgba(22, 22, 23, .94); }
.lm-header__in { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.lm-header__logo { display: flex; align-items: center; margin-left: -14px; border-radius: 8px; }
.lm-logo { display: block; height: 46px; width: auto; }
.lm-nav__list { display: flex; gap: 30px; list-style: none; margin: 0; padding: 0; }
.lm-nav__list a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 2px; color: var(--lm-on-dark); opacity: .86; font-size: 14px; font-weight: 500; text-decoration: none; transition: opacity .2s; }
.lm-nav__list a:hover { opacity: 1; }
.lm-header__end { display: flex; align-items: center; gap: 6px; }
.lm-menu-btn { display: none; width: 44px; height: 44px; border: 0; padding: 0; background: transparent; color: var(--lm-on-dark); align-items: center; justify-content: center; border-radius: 10px; cursor: pointer; }
.lm-menu-btn path { stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; transition: transform .3s var(--lm-ease); transform-origin: 11px 11px; }
.lm-menu-open .lm-menu-btn__a { transform: translateY(3px) rotate(45deg); }
.lm-menu-open .lm-menu-btn__b { transform: translateY(-3px) rotate(-45deg); }
.lm-has-hero .lm-hero { margin-top: calc(var(--lm-header) * -1); }

/* Mobile menu sheet */
.lm-sheet { position: fixed; inset: 0; z-index: 45; padding: calc(var(--lm-header) + 28px) 24px 32px; background: var(--lm-black); color: var(--lm-on-dark); display: flex; flex-direction: column; justify-content: space-between; overflow-y: auto; }
.lm-sheet[hidden] { display: none; }
.lm-sheet__list { list-style: none; margin: 0; padding: 0; }
.lm-sheet__list a { display: block; padding: 12px 0; font-family: var(--lm-display); font-size: 34px; font-weight: 600; letter-spacing: -0.03em; color: var(--lm-on-dark); text-decoration: none; }
.lm-sheet__actions { display: flex; flex-direction: column; gap: 10px; margin-top: 32px; }
@media (prefers-reduced-motion: no-preference) {
	.lm-sheet:not([hidden]) { animation: lm-sheet .35s var(--lm-ease) both; }
}
@keyframes lm-sheet { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.lm-menu-open { overflow: hidden; }

/* ---------- Hero ---------- */
.lm-hero { position: relative; height: 100vh; height: 100svh; min-height: 620px; overflow: hidden; background: var(--lm-black); color: var(--lm-on-dark); }
.lm-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, 30% 35%); }
.lm-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,11,12,.55) 0%, rgba(11,11,12,0) 20%, rgba(11,11,12,.05) 42%, rgba(11,11,12,.9) 100%); }
.lm-hero__in { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 64px; }
.lm-hero__eyebrow, .lm-hero__sub { text-shadow: 0 1px 14px rgba(0,0,0,.45); }
.lm-hero__eyebrow { margin: 0 0 22px; font-size: 15px; font-weight: 500; color: var(--lm-on-dark-body); }
.lm-hero__h { margin: 0; max-width: 980px; font-family: var(--lm-display); font-size: clamp(44px, 7vw, 96px); line-height: .98; font-weight: 600; letter-spacing: -0.045em; color: var(--lm-on-dark); }
.lm-hero__foot { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 32px; margin-top: 32px; }
.lm-hero__sub { margin: 0; max-width: 560px; font-size: clamp(17px, 1.5vw, 19px); line-height: 1.5; color: var(--lm-on-dark-body); }
.lm-credit { display: flex; align-items: center; gap: 14px; padding: 10px 16px 10px 10px; border-radius: 16px; background: rgba(255,255,255,.08); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); color: var(--lm-on-dark); text-decoration: none; transition: background .25s; }
.lm-credit:hover { background: rgba(255,255,255,.16); color: #fff; }
.lm-credit img { width: 56px; height: 40px; border-radius: 8px; object-fit: cover; flex: none; }
.lm-credit > span { display: flex; flex-direction: column; gap: 2px; }
.lm-credit__k { font-size: 12px; color: var(--lm-on-dark-muted); }
.lm-credit__v { font-size: 14px; font-weight: 600; }
@media (prefers-reduced-motion: no-preference) {
	.lm-hero__img { animation: lm-kb 2.8s var(--lm-ease) both; }
	.lm-rise { animation: lm-rise 1s var(--lm-ease) both; }
	.lm-d1 { animation-delay: .08s; } .lm-d2 { animation-delay: .18s; }
}
@keyframes lm-kb { from { transform: scale(1.08); } to { transform: none; } }
@keyframes lm-rise { from { opacity: 0; transform: translateY(32px); } to { opacity: 1; transform: none; } }

/* ---------- Reveal on scroll (only when JS has run and motion is allowed) ---------- */
.lm-motion.lm-ready [data-reveal] { transition: opacity 1s var(--lm-ease), transform 1.2s var(--lm-ease); }
.lm-motion.lm-ready [data-reveal]:not(.is-in) { opacity: 0; transform: translateY(44px); }
.lm-motion.lm-ready [data-reveal="scale"]:not(.is-in) { opacity: 0; transform: scale(.95); }

/* ---------- Frames & captions ---------- */
.lm-frame { position: relative; display: block; overflow: hidden; border-radius: var(--lm-radius); background: var(--lm-grey); text-decoration: none; }
.lm-frame img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--lm-ease); }
a.lm-frame:hover img { transform: scale(1.03); }
.lm-frame--film { aspect-ratio: 1920 / 916; border-radius: 18px; background: var(--lm-ink); }
.lm-frame--paper { background: #fff; border-radius: 12px; box-shadow: 0 18px 40px rgba(0,0,0,.1); }
.lm-frame--paper img { object-fit: contain; }
.lm-cap { display: flex; justify-content: space-between; gap: 16px; margin-top: 14px; font-size: 14px; color: var(--lm-muted); }
.lm-cap b { color: var(--lm-ink); font-weight: 600; }
.lm-cap--dark { color: var(--lm-on-dark-muted); }
.lm-cap--dark b { color: var(--lm-on-dark); }

/* ---------- Intro ---------- */
.lm-intro { padding-bottom: 96px; }

/* ---------- Flagships ---------- */
.lm-flag { padding: 104px 0; }
.lm-flag__h { margin: 20px 0 0; max-width: 940px; font-family: var(--lm-display); font-size: clamp(32px, 4.8vw, 64px); line-height: 1.02; font-weight: 600; letter-spacing: -0.04em; }
.lm-flag__h--md { font-size: clamp(30px, 4vw, 52px); margin-top: 18px; }
.lm-flag__body { margin-top: 64px; align-items: start; }
.lm-flag__stills { margin-top: 56px; }
.lm-facts { display: flex; flex-direction: column; gap: 26px; font-size: 16px; line-height: 1.55; color: var(--lm-on-dark-body); }
.lm-facts p { margin: 0; }
.lm-facts__k { margin-bottom: 6px !important; font-size: 13px; font-weight: 600; color: var(--lm-on-dark-muted); }
.lm-facts__v { color: var(--lm-on-dark); }
.lm-film { max-width: 860px; margin-left: auto; }
.lm-film__frame { position: relative; aspect-ratio: 16 / 9; border-radius: 18px; overflow: hidden; background: #000; }
.lm-film__video { display: block; width: 100%; height: 100%; object-fit: cover; }
.lm-film__play { position: absolute; inset: 0; width: 100%; border: 0; padding: 0; background: transparent; display: flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 18px; }
.lm-film__disc { width: 84px; height: 84px; border-radius: 50%; background: rgba(255,255,255,.92); display: flex; align-items: center; justify-content: center; transition: transform .4s var(--lm-ease); }
.lm-film__play:hover .lm-film__disc { transform: scale(1.08); }
.lm-film.is-playing .lm-film__play { display: none; }
.lm-split { align-items: center; column-gap: 56px; }
.lm-inset { display: flex; align-items: flex-end; gap: 24px; margin-top: 36px; }
.lm-inset .lm-frame { width: 240px; flex: none; }
.lm-inset .lm-link { margin-top: 0; }

/* ---------- Pair ---------- */
.lm-pair__grid { align-items: end; gap: 48px 32px; }

/* ---------- Websites ---------- */
.lm-grp { display: flex; align-items: center; gap: 14px; margin: 88px 0 24px; font-size: 15px; font-weight: 600; color: var(--lm-muted); }
.lm-grp::after { content: ""; flex: 1; height: 1px; background: var(--lm-line); }
.lm-sites__list { gap: 48px 32px; }
.lm-sites__list--md { gap: 40px 24px; }
.lm-site__win { display: block; border-radius: 16px; overflow: hidden; background: #fff; color: var(--lm-ink); text-decoration: none; box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 12px 32px rgba(0,0,0,.06); transition: transform .5s var(--lm-ease), box-shadow .5s; }
.lm-site__win:hover { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(0,0,0,.04), 0 24px 48px rgba(0,0,0,.1); }
.lm-site__bar { display: flex; align-items: center; gap: 12px; height: 34px; padding: 0 14px; background: #fbfbfd; border-bottom: 1px solid var(--lm-grey-2); }
.lm-site__dots { display: flex; gap: 6px; flex: none; }
.lm-site__dots i { display: block; width: 9px; height: 9px; border-radius: 50%; background: var(--lm-line); }
.lm-site__url { flex: 1; min-width: 0; margin-right: 45px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center; font-size: 12px; color: var(--lm-muted); }
.lm-site__shot { position: relative; display: block; aspect-ratio: 16 / 10; background: var(--lm-grey); }
.lm-site__ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 16px; text-align: center; font-family: var(--lm-display); font-size: 24px; font-weight: 600; letter-spacing: -0.02em; color: var(--lm-body); }
.lm-site__shot img { position: relative; display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.lm-site__info { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 20px; }
.lm-site__name { margin: 4px 0 0; font-family: var(--lm-display); font-size: 24px; font-weight: 600; letter-spacing: -0.02em; }
.lm-site--md .lm-site__name, .lm-site--sm .lm-site__name { font-size: 21px; }
.lm-site__desc { margin: 0; font-size: 15px; line-height: 1.55; color: var(--lm-body); }
.lm-site--sm .lm-site__bar { height: 26px; }
.lm-site--sm .lm-site__ph { font-size: 17px; }
.lm-chip { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: .01em; }
.lm-chip--client { background: var(--lm-ink); color: #fff; }
.lm-chip--product { background: var(--lm-orange); color: var(--lm-ink); }
.lm-chip--dev { border: 1px solid #86868b; color: var(--lm-body); }
.lm-chip--concept { border: 1px dashed #86868b; color: var(--lm-body); }

/* ---------- Services ---------- */
ol.lm-svc { margin-top: 56px; gap: 16px; }
.lm-svc__item { display: flex; flex-direction: column; padding: 28px; border-radius: var(--lm-radius); background: var(--lm-grey); }
.lm-svc__n { font-family: var(--lm-display); font-size: 15px; font-weight: 700; color: var(--lm-orange-ink); }
.lm-svc__h { margin: 12px 0 0; font-family: var(--lm-display); font-size: clamp(20px, 1.8vw, 24px); line-height: 1.1; font-weight: 600; letter-spacing: -0.03em; }
.lm-svc__t { margin: 12px 0 0; font-size: 15px; line-height: 1.55; color: var(--lm-body); }
.lm-svc__term { margin: 14px 0 0; font-size: 14px; color: var(--lm-muted); }
.lm-svc__term b { color: var(--lm-ink); font-weight: 600; }
.lm-svc__work { display: flex; flex-direction: column; align-items: flex-start; gap: 0; margin: auto 0 0; padding-top: 24px; font-size: 14px; color: var(--lm-muted); }
.lm-svc__see { font-size: 12px; font-weight: 600; color: var(--lm-muted); margin-bottom: 2px; }
.lm-svc__work a { display: inline-flex; align-items: center; min-height: 32px; color: var(--lm-ink); font-weight: 500; text-decoration: underline; text-decoration-color: var(--lm-line); text-underline-offset: 4px; }
.lm-svc__work a:hover { text-decoration-color: var(--lm-orange); }

/* ---------- Clients ---------- */
.lm-clients { list-style: none; margin: 72px 0 0; padding: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 32px; border-top: 1px solid var(--lm-line); }
.lm-clients li { grid-column: span 3; }
/* The last row always fills the width; rules are scoped per width range so none leak. */
@media (min-width: 1081px) {
	.lm-clients li:nth-child(4n+1):last-child { grid-column: span 12; }
	.lm-clients li:nth-child(4n+1):nth-last-child(2), .lm-clients li:nth-child(4n+1):nth-last-child(2) ~ li { grid-column: span 6; }
	.lm-clients li:nth-child(4n+1):nth-last-child(3), .lm-clients li:nth-child(4n+1):nth-last-child(3) ~ li { grid-column: span 4; }
}
@media (min-width: 861px) and (max-width: 1080px) {
	.lm-clients li { grid-column: span 4; }
	.lm-clients li:nth-child(3n+1):last-child { grid-column: span 12; }
	.lm-clients li:nth-child(3n+1):nth-last-child(2), .lm-clients li:nth-child(3n+1):nth-last-child(2) ~ li { grid-column: span 6; }
}
@media (max-width: 860px) {
	.lm-clients li { grid-column: span 6; }
	.lm-clients li:nth-child(2n+1):last-child { grid-column: span 12; }
}
.lm-clients li { display: flex; flex-direction: column; gap: 4px; padding: 22px 0; border-bottom: 1px solid var(--lm-line); }
.lm-clients__n { font-size: 17px; font-weight: 600; letter-spacing: -0.01em; }
.lm-clients__i { font-size: 13px; color: var(--lm-muted); }

/* ---------- Studio ---------- */
.lm-studio { position: relative; }
.lm-studio__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin: 0; }
.lm-studio__wa { color: var(--lm-on-dark-body); font-size: 16px; font-weight: 500; text-decoration: underline; text-decoration-color: rgba(255,255,255,.3); text-underline-offset: 4px; }
.lm-studio__wa:hover { color: var(--lm-orange); }
/* Studio 1.1.3 — editorial: statement → lead → two supporting columns → one image → timeline → people. Everything sits on the 12-column grid. */
.lm-studio__head .lm-h2 { max-width: 1100px; }
.lm-studio__body { margin-top: 64px; row-gap: 40px; }
.lm-studio__lead { grid-column: 1 / span 7; grid-row: 1 / span 2; align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; }
.lm-studio__lead > p:first-child { margin: 0; font-family: var(--lm-display); font-size: clamp(24px, 2.5vw, 32px); font-weight: 500; line-height: 1.32; letter-spacing: -0.018em; color: var(--lm-on-dark); }
.lm-studio__col { grid-column: 9 / span 4; grid-row: 1; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.2); }
.lm-studio__col + .lm-studio__col { grid-column: 9 / span 4; grid-row: 2; }
.lm-studio__k { margin: 0 0 10px; font-size: 15px; font-weight: 600; color: var(--lm-on-dark); }
.lm-studio__col p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--lm-on-dark-muted); }
.lm-studio__band { margin-top: 96px; }
.lm-studio__img { aspect-ratio: 21 / 9; background: #1d1d1f; }
.lm-studio__img img { object-position: center 58%; }
.lm-cap--dark a { color: var(--lm-on-dark); font-weight: 600; text-decoration: none; white-space: nowrap; }
.lm-cap--dark a:hover { color: var(--lm-orange); }

.lm-tl { list-style: none; margin: 96px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.lm-tl li { display: flex; flex-direction: column; gap: 10px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.2); }
.lm-tl__mark { display: block; align-self: flex-start; height: 34px; width: auto; max-width: 100%; object-fit: contain; margin-bottom: 14px; }
.lm-tl__mark--mv { filter: invert(1); opacity: .9; }
.lm-tl__mark--pwx { height: 56px; width: 56px; margin: -11px 0 3px -11px; }
.lm-tl__y { font-family: var(--lm-display); font-size: 40px; font-weight: 600; letter-spacing: -0.03em; line-height: 1.05; }
.lm-tl__t { font-size: 16px; font-weight: 600; }
.lm-tl__d { font-size: 15px; line-height: 1.55; color: var(--lm-on-dark-muted); }
.lm-people { margin-top: 96px; }
.lm-people__h { margin: 0; font-family: var(--lm-display); font-size: 24px; font-weight: 600; letter-spacing: -0.02em; }
.lm-team { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.lm-team li { display: flex; flex-direction: column; gap: 4px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.2); }
.lm-team__n { font-size: 17px; font-weight: 600; }
.lm-team__r { font-size: 14px; color: var(--lm-on-dark-muted); }

/* ---------- Contact ---------- */
.lm-contact .lm-grid { column-gap: 56px; align-items: start; }
.lm-direct { list-style: none; margin: 36px 0 0; padding: 0; display: flex; flex-direction: column; gap: 18px; font-size: 15px; }
.lm-direct li { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.lm-direct__k { font-size: 13px; font-weight: 600; color: var(--lm-muted); }
.lm-direct a:not(.lm-btn) { display: inline-flex; align-items: center; min-height: 44px; color: var(--lm-ink); text-decoration: underline; text-decoration-color: var(--lm-line); text-underline-offset: 4px; }
.lm-form { padding: 40px; border-radius: var(--lm-radius); background: var(--lm-grey); }
.lm-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lm-field { display: flex; flex-direction: column; gap: 6px; margin: 0 0 18px; }
.lm-field label { font-size: 14px; font-weight: 600; color: var(--lm-body); }
.lm-req { color: var(--lm-orange-ink); }
.lm-opt { font-weight: 400; color: var(--lm-muted); }
.lm-field input, .lm-field select, .lm-field textarea { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--lm-line); border-radius: 12px; background: #fff; font: 400 16px/1.4 var(--lm-text); color: var(--lm-ink); transition: border-color .2s, box-shadow .2s; }
.lm-field textarea { min-height: 140px; resize: vertical; }
.lm-field select { appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236e6e73' stroke-width='1.6' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }
.lm-field input:focus, .lm-field select:focus, .lm-field textarea:focus { outline: none; border-color: var(--lm-ink); box-shadow: 0 0 0 3px rgba(255,77,0,.35); }
.lm-hint { font-size: 13px; color: var(--lm-muted); }
.lm-form__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 8px 0 0; }
.lm-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lm-notice { margin: 0 0 16px; padding: 14px 18px; border-radius: 14px; font-size: 15px; line-height: 1.5; }
.lm-notice--ok { background: #e8f5ec; color: #14532d; }
.lm-notice--err { background: #fdecea; color: #7f1d1d; }

/* ---------- Footer ---------- */
.lm-footer { background: var(--lm-grey); color: var(--lm-body); font-size: 14px; line-height: 1.6; }
.lm-footer .lm-wrap { padding-top: 64px; padding-bottom: 36px; }
.lm-footer__top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 48px; }
.lm-footer__intro { flex: 0 1 300px; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.lm-footer__intro p { margin: 0; }
.lm-footer__logo { margin-left: -12px; border-radius: 8px; }
.lm-footer__logo .lm-logo { height: 42px; }
.lm-footer__cols { flex: 1 1 640px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 32px 40px; }
.lm-footer__cols > div { min-width: 0; }
.lm-footer__addr { max-width: 230px; }
.lm-footer__h { margin: 0; font-size: 12px; font-weight: 600; color: var(--lm-ink); }
.lm-footer ul { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.lm-footer ul a { display: inline-flex; align-items: center; min-height: 32px; color: var(--lm-body); text-decoration: none; font-size: 13px; }
.lm-footer ul a:hover { color: var(--lm-ink); text-decoration: underline; text-underline-offset: 3px; }
.lm-footer ul li.lm-muted { font-size: 13px; padding-top: 6px; }
.lm-footer__dev { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; }
.lm-chip--xs { height: 20px; padding: 0 8px; font-size: 11px; font-weight: 500; }
.lm-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; margin-top: 56px; padding-top: 20px; border-top: 1px solid var(--lm-line); font-size: 12px; color: var(--lm-muted); }
.lm-footer__legal p { margin: 0; }

/* ---------- Inner pages, Insights ---------- */
.lm-page { padding: 96px 0 140px; min-height: 60vh; }
.lm-page__head { margin-bottom: 56px; }
.lm-posts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 32px; }
.lm-post__link { display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: var(--lm-ink); }
.lm-post__img { aspect-ratio: 16 / 10; margin-bottom: 8px; }
.lm-post__date { font-size: 13px; color: var(--lm-muted); }
.lm-post__title { font-family: var(--lm-display); font-size: 24px; font-weight: 600; line-height: 1.15; letter-spacing: -0.02em; }
.lm-post__link:hover .lm-post__title { text-decoration: underline; text-underline-offset: 4px; }
.lm-post__excerpt { font-size: 15px; color: var(--lm-body); }
.lm-pager { margin-top: 64px; }
.lm-pager .page-numbers { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; border-radius: 999px; text-decoration: none; }
.lm-pager .current { background: var(--lm-ink); color: #fff; }
.lm-article__head { max-width: 900px; margin-bottom: 48px; }
.lm-article__img { aspect-ratio: 16 / 9; margin-bottom: 56px; }
.lm-prose { max-width: 720px; font-size: 18px; line-height: 1.7; color: var(--lm-body); }
.lm-prose h2, .lm-prose h3 { font-family: var(--lm-display); color: var(--lm-ink); letter-spacing: -0.02em; line-height: 1.15; margin: 2em 0 .6em; }
.lm-prose a { color: var(--lm-ink); text-decoration-color: var(--lm-orange); text-underline-offset: 3px; }
.lm-prose img { border-radius: 14px; }
.lm-404 { display: flex; align-items: center; }

/* ---------- 1.1.0: More work teaser ---------- */
.lm-grphead { display: flex; align-items: center; gap: 16px; margin: 88px 0 24px; }
.lm-grphead__t { margin: 0; font-size: 15px; font-weight: 600; color: var(--lm-muted); white-space: nowrap; }
.lm-grphead__line { flex: 1; height: 1px; background: var(--lm-line); }
.lm-grphead__a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: 15px; font-weight: 500; color: var(--lm-ink); text-decoration: none; white-space: nowrap; }
.lm-grphead__a:hover { color: var(--lm-ink); text-decoration: underline; text-underline-offset: 4px; }
.lm-logos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.lm-logos li { display: flex; flex-direction: column; gap: 10px; }
.lm-logos__tile { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; border-radius: 14px; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.05); transition: transform .5s var(--lm-ease), box-shadow .5s; }
.lm-logos__tile:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(0,0,0,.04), 0 16px 32px rgba(0,0,0,.09); }
.lm-logos__tile img { display: block; max-width: 72%; max-height: 58%; width: auto; height: auto; object-fit: contain; }
.lm-logos__n { font-size: 13px; color: var(--lm-muted); line-height: 1.4; }

/* ---------- 1.1.0: What we're building ---------- */
.lm-products__grid { margin-top: 56px; align-items: start; column-gap: 32px; row-gap: 24px; }
.lm-prod__info { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 22px; }
.lm-prod__name { margin: 4px 0 0; font-family: var(--lm-display); font-size: 28px; font-weight: 600; letter-spacing: -0.02em; color: var(--lm-on-dark); }
.lm-prod__desc { margin: 0; font-size: 16px; line-height: 1.55; color: var(--lm-on-dark-body); max-width: 560px; }
.lm-prod--lead .lm-link { margin-top: 6px; }
.lm-products__side { display: flex; flex-direction: column; gap: 20px; }
.lm-prod--card { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 32px; border-radius: var(--lm-radius); background: #1a1a1c; border: 1px solid rgba(255,255,255,.06); }
.lm-prod--card .lm-prod__name { font-size: 24px; }
.lm-prod--card .lm-link { margin-top: 4px; }
.lm-bg-dark .lm-chip--dev { border-color: #6e6e73; color: var(--lm-on-dark-body); }
.lm-bg-dark .lm-site__win { box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 24px 48px rgba(0,0,0,.4); }

/* ---------- 1.1.0: compact client list ---------- */
.lm-clientlist { list-style: none; margin: 56px 0 0; padding: 32px 0 0; border-top: 1px solid var(--lm-line); display: flex; flex-wrap: wrap; gap: 12px 36px; font-family: var(--lm-display); font-size: clamp(19px, 2vw, 26px); font-weight: 500; letter-spacing: -0.02em; line-height: 1.35; color: var(--lm-ink); }
.lm-clientlist li { white-space: nowrap; }

/* ---------- 1.1.0: Work tabs ---------- */
.lm-grp--first { margin-top: 0; }
.lm-sites--tab { padding-top: 72px; }

/* ---------- 1.1.0: shorter homepage ---------- */
.lm-kicker { display: flex; align-items: center; gap: 16px; margin-bottom: 56px; }
.lm-kicker__t { margin: 0; font-size: 15px; font-weight: 600; color: var(--lm-on-dark-muted); white-space: nowrap; }
.lm-kicker__line { flex: 1; height: 1px; background: rgba(255,255,255,.16); }
.lm-kicker__a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: 15px; font-weight: 500; color: var(--lm-on-dark); text-decoration: none; white-space: nowrap; }
.lm-kicker__a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.lm-more .lm-site--lg { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: center; }
.lm-more .lm-site--lg .lm-site__info { margin-top: 0; }
.lm-more .lm-site--lg .lm-site__url { margin-right: 0; text-align: right; }
.lm-more .lm-site--lg .lm-site__name { font-size: 21px; }
.lm-more .lm-sites__list { gap: 24px 32px; }
.lm-more .lm-grphead { margin-top: 64px; }
ol.lm-svc .lm-svc__work { padding-top: 18px; }

/* ---------- Custom cursor (mouse/trackpad only; set up by lumen.js) ---------- */
.lm-cur { position: fixed; left: 0; top: 0; z-index: 9999; pointer-events: none; display: none; will-change: transform; transform: translate3d(-120px, -120px, 0); }
.lm-cursor .lm-cur { display: block; }
.lm-cursor, .lm-cursor a, .lm-cursor button, .lm-cursor [data-cursor], .lm-cursor label, .lm-cursor select { cursor: none; }
.lm-cursor input, .lm-cursor textarea { cursor: text; }
.lm-cur-dot .lm-cur-shape { width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: var(--lm-orange); transition: opacity .2s; }
.lm-cur-ring { mix-blend-mode: difference; }
.lm-cur-ring .lm-cur-shape { width: 38px; height: 38px; margin: -19px 0 0 -19px; border-radius: 50%; border: 1.5px solid #fff; display: flex; align-items: center; justify-content: center; font: 600 13px/1 var(--lm-text); color: var(--lm-ink); transition: width .35s var(--lm-ease), height .35s var(--lm-ease), margin .35s var(--lm-ease), background-color .25s, border-color .25s, opacity .2s; }
.lm-cur-label { opacity: 0; transition: opacity .2s; }
.lm-c-link .lm-cur-ring .lm-cur-shape { width: 60px; height: 60px; margin: -30px 0 0 -30px; background: #fff; }
.lm-c-link .lm-cur-dot .lm-cur-shape { opacity: 0; }
.lm-c-label .lm-cur-ring { mix-blend-mode: normal; }
.lm-c-label .lm-cur-ring .lm-cur-shape { width: 92px; height: 92px; margin: -46px 0 0 -46px; background: var(--lm-orange); border-color: var(--lm-orange); }
.lm-c-label .lm-cur-label { opacity: 1; }
.lm-c-label .lm-cur-dot .lm-cur-shape { opacity: 0; }
.lm-c-hide .lm-cur .lm-cur-shape { opacity: 0; }

/* ---------- Tablet ---------- */
@media (max-width: 1080px) {
	.lm-nav__list { gap: 22px; }
	.lm-sites__list--md .lm-s3 { grid-column: span 6; }
	.lm-footer__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Phone ---------- */
@media (max-width: 860px) {
	:root { --lm-gut: 20px; --lm-header: 56px; --lm-radius: 18px; }
	body { font-size: 16px; }
	.lm-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.lm-s3, .lm-s4, .lm-s5, .lm-s6, .lm-s7, .lm-s8, .lm-s12, .lm-sites__list--md .lm-s3 { grid-column: auto; }
	.lm-section, .lm-flag { padding: 72px 0; }
	.lm-nav { display: none; }
	.lm-menu-btn { display: inline-flex; }
	.lm-logo { height: 38px; }
	.lm-header__logo { margin-left: -10px; }

	/* 1.1.5 — text sits on the photo, as on desktop; the hero grows if the text needs more room. */
	.lm-hero { height: auto; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; }
	.lm-hero__img { object-position: var(--pos-m, 46% 40%); }
	.lm-hero__shade { background: linear-gradient(180deg, rgba(11,11,12,.5) 0%, rgba(11,11,12,0) 14%, rgba(11,11,12,.1) 30%, rgba(11,11,12,.78) 54%, rgba(11,11,12,.94) 100%); }
	.lm-hero__in { flex: 1 0 auto; height: auto; padding-top: calc(var(--lm-header) + 140px); padding-bottom: 32px; }
	.lm-hero__eyebrow { margin-bottom: 14px; font-size: 13px; }
	.lm-hero__sub { font-size: 16px; }
	.lm-hero__foot { margin-top: 18px; gap: 20px; }
	.lm-hero .lm-actions { margin-top: 22px; }
	.lm-actions .lm-btn { width: 100%; }
	.lm-credit { width: 100%; }

	.lm-flag__body { margin-top: 36px; }
	.lm-film { margin-left: 0; }
	.lm-film__disc { width: 64px; height: 64px; }
	.lm-flag__stills { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; margin-right: calc(var(--lm-gut) * -1); padding-right: var(--lm-gut); }
	.lm-flag__stills figure { flex: 0 0 78%; scroll-snap-align: start; }
	.lm-inset { flex-direction: column; align-items: flex-start; }
	.lm-inset .lm-frame { width: 100%; max-width: 320px; }

	.lm-grp { margin-top: 56px; }
	.lm-sites__list--md, .lm-sites__list--sm { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
	.lm-site--md .lm-site__url, .lm-site--sm .lm-site__url { display: none; }
	.lm-site--md .lm-site__ph, .lm-site--sm .lm-site__ph { font-size: 16px; }
	.lm-site--md .lm-site__name, .lm-site--sm .lm-site__name { font-size: 17px; }
	.lm-site--md .lm-site__desc, .lm-site--sm .lm-site__desc { font-size: 13px; }
	.lm-site--md .lm-chip, .lm-site--sm .lm-chip { font-size: 11px; height: 24px; padding: 0 8px; }
	.lm-sites__list--md > li:nth-child(2n+1):last-child, .lm-sites__list--sm > li:nth-child(2n+1):last-child { grid-column: 1 / -1; }

	ol.lm-svc { margin-top: 40px; }
	.lm-svc__item { padding: 28px 24px; }
	.lm-clients { column-gap: 20px; margin-top: 40px; }
	.lm-clients__n { font-size: 15px; }
	.lm-studio__body { margin-top: 32px; row-gap: 32px; }
	.lm-studio__lead, .lm-studio__col, .lm-studio__col + .lm-studio__col { grid-column: 1 / -1; grid-row: auto; }
	.lm-studio__band { margin-top: 56px; }
	.lm-studio__img { aspect-ratio: 4 / 3; }
	.lm-studio__band .lm-cap { flex-direction: column; gap: 6px; }
	.lm-tl, .lm-team { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
	.lm-tl { margin-top: 56px; }
	.lm-tl__y { font-size: 32px; }
	.lm-people { margin-top: 56px; }

	.lm-form { padding: 24px 20px; }
	.lm-form__row { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.lm-form__foot { flex-direction: column; align-items: stretch; }
	.lm-form__foot .lm-btn { width: 100%; }

	.lm-footer__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
	.lm-footer__addr { max-width: none; }
	.lm-footer ul a { overflow-wrap: anywhere; }
	.lm-footer__cols > div:nth-child(1) { order: 1; }
	.lm-footer__cols > div:nth-child(4) { order: 2; }
	.lm-footer__cols > div:nth-child(2) { order: 3; grid-column: 1 / -1; }
	.lm-footer__cols > div:nth-child(3) { order: 4; grid-column: 1 / -1; }
	.lm-posts { grid-template-columns: minmax(0, 1fr); }
	.lm-page { padding: 56px 0 96px; }
}
@media (min-width: 861px) and (max-width: 1080px) {
	ol.lm-svc .lm-s3 { grid-column: span 6; }
}
@media (max-width: 1080px) {
	.lm-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.lm-products__grid .lm-s7, .lm-products__grid .lm-s5 { grid-column: 1 / -1; }
	.lm-products__side { flex-direction: row; }
	.lm-products__side .lm-prod--card { flex: 1 1 0; }
}
@media (max-width: 860px) {
	.lm-more .lm-sites__list--lg { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
	.lm-more .lm-site--lg { display: block; }
	.lm-more .lm-site--lg .lm-site__info { margin-top: 14px; }
	.lm-more .lm-site--lg .lm-site__url { display: none; }
	.lm-more .lm-site--lg .lm-site__ph { font-size: 16px; }
	.lm-more .lm-site--lg .lm-site__name { font-size: 17px; }
	.lm-more .lm-site--lg .lm-site__desc { font-size: 13px; }
	.lm-more .lm-site--lg .lm-chip { font-size: 11px; height: 24px; padding: 0 8px; }
	.lm-more .lm-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
	.lm-more .lm-logos__n { font-size: 12px; }
	.lm-kicker { margin-bottom: 32px; flex-wrap: wrap; gap: 4px 12px; }
	.lm-kicker__line { display: none; }
	.lm-kicker__a { margin-left: auto; }
	.lm-grphead { margin-top: 56px; flex-wrap: wrap; gap: 4px 12px; }
	.lm-grphead__line { display: none; }
	.lm-grphead__a { margin-left: auto; }
	.lm-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.lm-products__grid { margin-top: 40px; }
	.lm-products__side { flex-direction: column; }
	.lm-prod--card { padding: 24px; }
	.lm-prod__name { font-size: 24px; }
	.lm-clientlist { margin-top: 36px; padding-top: 24px; gap: 10px 22px; }
	.lm-sites--tab { padding-top: 48px; }
}
@media (max-width: 380px) {
	.lm-header__cta { display: none; }
}
@media (min-width: 861px) {
	.lm-sheet { display: none !important; }
}
/* Studio 1.1.2 — mobile */
@media (max-width: 860px) { .lm-br { display: none; } .lm-tl span.lm-tl__mark { display: none; } }
/* 1.1.5 — headings break into even lines (no single-word last lines); tablet hero keeps buttons at natural width. */
.lm-hero__h, .lm-h2, .lm-flag__h, .lm-svc__h, .pwxw-h1, .pwxw-h2 { text-wrap: balance; }
@media (min-width: 561px) and (max-width: 860px) {
	.lm-actions .lm-btn, .lm-credit { width: auto; }
}
/* 1.1.5 — phone/tablet rhythm: every section label sits 14px above its heading; Studio lead sized for phones; services two-across on tablets. */
@media (max-width: 860px) {
	.lm-label { margin-bottom: 14px; }
	.lm-grid > .lm-label { margin-bottom: -6px; }
	.lm-studio__lead > p:first-child { font-size: 21px; line-height: 1.38; }
	.lm-studio__body { row-gap: 28px; }
}
@media (min-width: 561px) and (max-width: 860px) {
	ol.lm-svc.lm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}
/* 1.3.0 — homepage "Selected identities": three full-colour 3:2 mockups, shown whole (never cropped or filtered). */
.lm-mocks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.lm-mocks li { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.lm-mocks__frame { display: block; aspect-ratio: 3 / 2; border-radius: 14px; overflow: hidden; background: var(--lm-grey-2); box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.06); transition: transform .5s var(--lm-ease), box-shadow .5s; }
.lm-mocks__frame:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(0,0,0,.05), 0 16px 32px rgba(0,0,0,.1); }
.lm-mocks__frame img { display: block; width: 100%; height: 100%; object-fit: contain; filter: none; }
.lm-mocks__n { font-size: 13px; line-height: 1.4; color: var(--lm-muted); }
.lm-mocks__n b { font-weight: 600; color: var(--lm-ink); }
@media (max-width: 860px) {
	.lm-mocks { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; margin-right: calc(var(--lm-gut) * -1); padding-right: var(--lm-gut); scrollbar-width: none; }
	.lm-mocks::-webkit-scrollbar { display: none; }
	.lm-mocks li { flex: 0 0 78%; scroll-snap-align: start; }
}
@media (min-width: 561px) and (max-width: 860px) { .lm-mocks li { flex-basis: 46%; } }
@media (prefers-reduced-motion: reduce) { .lm-mocks__frame { transition: none; } .lm-mocks__frame:hover { transform: none; } }

/* ==========================================================================
   1.4.0 — /work: the three sections are the headline (editorial index),
   a slim bar pins under the header once the index scrolls away,
   and every section ends with a large link to the next one.
   ========================================================================== */
.lm-wx { padding: 88px 0 0; background: #fff; }
.lm-wx__k { margin: 0 0 20px; font-size: 15px; font-weight: 600; color: var(--lm-muted); }
.lm-wx__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: nowrap; gap: 0 clamp(24px, 3.2vw, 52px); border-bottom: 1px solid var(--lm-line); }
.lm-wx__a { position: relative; display: inline-flex; align-items: flex-start; gap: 6px; padding: 0 0 22px; text-decoration: none; color: #b4b4b9; transition: color .3s; }
.lm-wx__a:hover, .lm-wx__a:focus-visible { color: var(--lm-ink); }
.lm-wx__a[aria-current="page"] { color: var(--lm-ink); }
.lm-wx__a[aria-current="page"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 4px; border-radius: 2px; background: var(--lm-orange); }
.lm-wx__a:not([aria-current])::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -1px; height: 4px; border-radius: 2px; background: var(--lm-ink); transition: right .45s var(--lm-ease); }
.lm-wx__a:not([aria-current]):hover::after { right: 0; }
.lm-wx__t { font-family: var(--lm-display); font-size: clamp(34px, 4.3vw, 64px); font-weight: 600; line-height: 1; letter-spacing: -0.045em; }
.lm-wx__n { margin-top: .3em; font-size: clamp(14px, 1.2vw, 18px); font-weight: 600; color: var(--lm-muted); font-variant-numeric: tabular-nums; }
.lm-wx__a[aria-current="page"] .lm-wx__n { color: var(--lm-orange-ink); }
.lm-wx__go { display: none; }
.lm-wx__lede { margin: 28px 0 0; padding-bottom: 64px; max-width: 640px; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.5; color: var(--lm-body); }

/* Pinned bar: hidden until the index scrolls under the header (JS adds html.lm-wx-pinned). */
.lm-tabs { position: fixed; left: 0; right: 0; top: var(--lm-header); z-index: 40; background: rgba(255,255,255,.94); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); border-bottom: 1px solid var(--lm-grey-2); box-shadow: 0 6px 20px rgba(0,0,0,.05); transform: translateY(-110%); visibility: hidden; transition: transform .35s var(--lm-ease), visibility 0s .35s; }
.lm-wx-pinned .lm-tabs { transform: none; visibility: visible; transition: transform .35s var(--lm-ease); }
.lm-tabs__list { list-style: none; margin: 0; padding: 0; display: flex; gap: 32px; }
.lm-tabs__a { position: relative; display: inline-flex; align-items: center; gap: 7px; min-height: 54px; font-size: 17px; font-weight: 500; color: var(--lm-muted); text-decoration: none; white-space: nowrap; transition: color .25s; }
.lm-tabs__a:hover { color: var(--lm-ink); }
.lm-tabs__a[aria-current="page"] { color: var(--lm-ink); font-weight: 600; }
.lm-tabs__a[aria-current="page"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; border-radius: 2px; background: var(--lm-orange); }
.lm-tabs__n { font-size: 13px; font-weight: 600; color: var(--lm-muted); font-variant-numeric: tabular-nums; }
.lm-tabs__a[aria-current="page"] .lm-tabs__n { color: var(--lm-orange-ink); }

/* Next section */
.lm-wxnext { background: #fff; border-top: 1px solid var(--lm-line); border-bottom: 1px solid var(--lm-line); }
.lm-wxnext__a { display: block; text-decoration: none; color: var(--lm-ink); transition: background .35s; }
.lm-wxnext__a:hover { background: var(--lm-grey); }
.lm-wxnext__in { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 6px 32px; padding-top: 72px; padding-bottom: 72px; }
.lm-wxnext__k { grid-column: 1; font-size: 15px; font-weight: 600; color: var(--lm-muted); }
.lm-wxnext__t { grid-column: 1; font-family: var(--lm-display); font-size: clamp(44px, 6.4vw, 96px); font-weight: 600; line-height: 1; letter-spacing: -0.045em; }
.lm-wxnext__n { font-family: var(--lm-text); font-size: max(14px, .22em); font-weight: 600; letter-spacing: 0; color: var(--lm-orange-ink); vertical-align: top; }
.lm-wxnext__d { grid-column: 1; margin-top: 10px; font-size: 17px; color: var(--lm-body); }
.lm-wxnext__go { grid-column: 2; grid-row: 1 / span 3; align-self: center; display: inline-flex; align-items: center; justify-content: center; width: 88px; height: 88px; border-radius: 50%; background: var(--lm-ink); transition: transform .45s var(--lm-ease); }
.lm-wxnext__go .lm-arrow { width: 30px; height: 30px; }
.lm-wxnext__a:hover .lm-wxnext__go { transform: translateX(8px); }

@media (max-width: 860px) {
	.lm-wx { padding-top: 48px; }
	.lm-wx__k { margin-bottom: 8px; }
	.lm-wx__list { display: block; border-bottom: 0; border-top: 1px solid var(--lm-line); }
	.lm-wx__list > li { border-bottom: 1px solid var(--lm-line); }
	.lm-wx__a { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 0 2px 0 18px; color: var(--lm-body); }
	.lm-wx__a::after { display: none; }
	.lm-wx__a[aria-current="page"]::after { display: block; left: 0; right: auto; top: 14px; bottom: 14px; width: 4px; height: auto; }
	.lm-wx__t { font-size: 30px; letter-spacing: -0.035em; }
	.lm-wx__n { margin: 0 0 0 auto; font-size: 15px; }
	.lm-wx__go { display: inline-flex; color: var(--lm-muted); }
	.lm-wx__go .lm-arrow { width: 18px; height: 18px; }
	.lm-wx__a[aria-current="page"] .lm-wx__go { visibility: hidden; }
	.lm-wx__lede { margin-top: 20px; padding-bottom: 44px; font-size: 16px; }
	.lm-tabs__list { gap: 0; }
	.lm-tabs__list > li { flex: 1 1 0; min-width: 0; }
	.lm-tabs__a { width: 100%; justify-content: center; gap: 5px; min-height: 50px; font-size: 15px; }
	.lm-tabs__n { font-size: 12px; }
	.lm-wxnext__in { padding-top: 48px; padding-bottom: 48px; column-gap: 16px; }
	.lm-wxnext__d { font-size: 15px; }
	.lm-wxnext__go { width: 56px; height: 56px; }
	.lm-wxnext__go .lm-arrow { width: 22px; height: 22px; }
}
@media (max-width: 380px) { .lm-tabs__a { font-size: 14px; } .lm-wx__t { font-size: 27px; } }
@media (prefers-reduced-motion: reduce) { .lm-tabs, .lm-wx-pinned .lm-tabs, .lm-wx__a::after, .lm-wxnext__go { transition: none; } }
/* 1.5.0 — rotating hero: brighter, busier story photos get a stronger shade on the text side, so the headline always reads cleanly. */
.lm-hero--seri-kaya .lm-hero__shade, .lm-hero--kwasa .lm-hero__shade, .lm-hero--cat-eyes .lm-hero__shade {
	background: linear-gradient(90deg, rgba(11,11,12,.86) 0%, rgba(11,11,12,.66) 38%, rgba(11,11,12,.2) 62%, rgba(11,11,12,0) 78%), linear-gradient(180deg, rgba(11,11,12,.55) 0%, rgba(11,11,12,0) 20%, rgba(11,11,12,.1) 50%, rgba(11,11,12,.88) 100%);
}
@media (max-width: 860px) {
	.lm-hero--seri-kaya .lm-hero__shade, .lm-hero--kwasa .lm-hero__shade, .lm-hero--cat-eyes .lm-hero__shade {
		background: linear-gradient(180deg, rgba(11,11,12,.5) 0%, rgba(11,11,12,0) 12%, rgba(11,11,12,.35) 26%, rgba(11,11,12,.86) 42%, rgba(11,11,12,.95) 100%);
	}
}
