/* LEMAY news — reference-led editorial page. */
.lm-news-page { --lmn-ink:#242729; --lmn-muted:#777b7e; --lmn-violet:#635bff; --lmn-paper:#f5f3ee; }
.lm-news-page .lm-main { overflow:clip; background:#fff; color:var(--lmn-ink); }
.lm-news-page .lmn-container { width:min(83.7vw,1590px); margin-inline:auto; }
.lm-news-page .lmn-kicker { margin:0 0 19px; color:#777b7e; font-size:12px; font-weight:700; letter-spacing:.13em; line-height:1.3; text-transform:uppercase; }

.lmn-latest { min-height:calc(100svh - clamp(96px,6.5vw,126px)); padding:38px 0 48px; background:#fff; }
.lmn-latest-header { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin:0 0 32px; }
.lm-news-page .lmn-latest-header h1 { max-width:none; margin:0; color:#17191b; font-size:clamp(22px,1.55vw,30px); font-weight:500; line-height:1.08; letter-spacing:-.03em; }
.lm-news-page .lmn-latest-header p { max-width:none; margin:4px 0 0; color:#676b70; font-size:clamp(17px,1.25vw,23px); line-height:1.25; }
.lmn-carousel-controls { display:flex; gap:7px; }
.lmn-carousel-controls button { width:39px; height:39px; display:grid; place-items:center; border:0; border-radius:3px; padding:0; color:#5147e8; background:#f1efff; font-size:20px; line-height:1; transition:background-color .2s,color .2s,transform .2s; }
.lmn-carousel-controls button:hover { color:#fff; background:var(--lmn-violet); transform:translateY(-1px); }
.lmn-carousel { display:flex; gap:12px; height:clamp(330px,31.5vw,595px); overflow:hidden; outline:none; }
.lmn-carousel-card { position:relative; flex:1 1 0; min-width:0; height:100%; overflow:hidden; border-radius:3px; background:#e9e8e3; isolation:isolate; cursor:pointer; }
.lmn-carousel.is-gsap-accordion { position:relative; display:block; contain:layout paint; }
.lmn-carousel.is-gsap-accordion .lmn-carousel-card { position:absolute; inset:0 auto 0 0; flex:none; backface-visibility:hidden; will-change:transform,clip-path; transform-origin:left center; }
.lmn-carousel.is-gsap-accordion .lmn-carousel-card>img { backface-visibility:hidden; will-change:transform; transform:translateZ(0); }
.lmn-carousel.is-gsap-accordion .lmn-carousel-title { width:min(440px,calc(100% - 80px)); white-space:normal!important; will-change:transform,opacity; }
.lmn-carousel.is-gsap-accordion .lmn-carousel-mark { will-change:transform,opacity; }
.lmn-carousel-card::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.28); pointer-events:none; z-index:3; }
.lmn-carousel-card>img { width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
.lmn-carousel-shade { position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,transparent 45%,rgba(13,15,20,.58) 100%); opacity:.75; }
.lmn-carousel-title { position:absolute; left:25px; bottom:24px; z-index:2; width:min(440px,calc(100% - 80px)); color:#fff; font-size:clamp(19px,1.45vw,28px); font-weight:500; line-height:1.08; letter-spacing:-.025em; }
.lmn-carousel-mark { position:absolute; right:20px; bottom:20px; z-index:2; width:25px; height:25px; display:grid; place-items:center; color:var(--lmn-violet); background:#fff; font-size:13px; font-weight:900; transform:skew(-4deg); }
.lmn-carousel-card:not(.is-active) .lmn-carousel-title { width:360px; white-space:nowrap; }
.lmn-carousel-card:focus-visible { outline:3px solid #efaa18; outline-offset:-5px; }
.lmn-current { min-height:76px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:45px; padding-top:22px; }
.lm-news-page .lmn-current p { max-width:980px; margin:0; color:#74777a; font-size:clamp(14px,1vw,17px); line-height:1.42; }
.lmn-current strong { color:#25282a; font-weight:700; }
.lmn-current>a { min-width:132px; min-height:47px; display:inline-flex; align-items:center; justify-content:space-between; gap:18px; border:2px solid var(--lmn-violet); border-radius:4px; padding:9px 17px; color:#5147e8; font-size:13px; font-weight:650; line-height:1; transition:background-color .2s,color .2s; }
.lmn-current>a:hover { color:#fff; background:var(--lmn-violet); }
.lmn-current>a span { font-size:22px; }

.lmn-section-nav { position:relative; z-index:2; display:flex; justify-content:center; gap:46px; border-block:1px solid #ecece8; padding:20px; background:#fff; }
.lmn-section-nav a { display:flex; align-items:center; gap:9px; color:#323537; font-size:14px; font-weight:650; }
.lmn-section-nav a:hover { color:#bf1e2e; }
.lmn-section-nav span { color:#9b9c9b; font-size:10px; vertical-align:top; }
.lmn-content-section { padding:clamp(90px,8vw,150px) 0; scroll-margin-top:120px; }
.lmn-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:60px; margin:0 0 clamp(45px,4vw,72px); }
.lm-news-page .lmn-section-heading h2 { max-width:13ch; margin:0; color:#272a2c; font-size:clamp(44px,4.25vw,78px); font-weight:500; line-height:1.04; letter-spacing:-.055em; text-wrap:balance; }
.lmn-section-heading>a,.lmn-archive-copy>a { flex:none; display:inline-flex; align-items:center; gap:28px; border-bottom:1px solid #a8a9a7; padding:8px 0; font-size:14px; font-weight:650; transition:color .2s,border-color .2s; }
.lmn-section-heading>a:hover,.lmn-archive-copy>a:hover { color:#bf1e2e; border-color:#bf1e2e; }

.lmn-blog { background:#fff; }
.lmn-blog-grid,.lmn-case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(26px,2.1vw,40px); }
.lmn-blog-card { position:relative; aspect-ratio:.78; min-width:0; overflow:hidden; border-radius:40px; background:var(--lmn-card); color:#fff!important; transform:translateZ(0); }
.lmn-blog-card figure { position:relative; height:62.2%; margin:0; overflow:hidden; background:#ddd; }
.lmn-blog-card figure::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,12,15,.18),transparent 43%); pointer-events:none; }
.lmn-blog-card figure>.lmn-card-image { width:100%; height:100%; object-fit:cover; }
.lmn-card-brand { position:absolute; z-index:2; left:40px; top:38px; width:118px; }
.lmn-card-brand img { width:100%; height:auto; filter:brightness(0) invert(1); }
.lmn-blog-card-body { position:relative; height:37.8%; display:flex; flex-direction:column; padding:35px 40px 38px; }
.lm-news-page .lmn-blog-card-body p { margin:0 0 17px; color:rgba(255,255,255,.7); font-size:11px; font-weight:700; letter-spacing:.11em; line-height:1.3; text-transform:uppercase; }
.lm-news-page .lmn-blog-card-body h3 { max-width:16ch; margin:0; color:#fff; font-size:clamp(22px,1.55vw,29px); font-weight:650; line-height:1.45; letter-spacing:-.025em; text-wrap:balance; }
.lmn-card-arrow { position:absolute; right:34px; bottom:27px; width:41px; height:41px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.45); border-radius:50%; font-size:20px; }

.lmn-cases { background:var(--lmn-paper); }
.lmn-case-grid { gap:0; border-top:1px solid #c9c8c1; border-left:1px solid #c9c8c1; }
.lmn-case-model-card { position:relative; min-width:0; min-height:690px; display:grid; grid-template-rows:minmax(390px,1fr) auto; border-right:1px solid #c9c8c1; border-bottom:1px solid #c9c8c1; padding:25px clamp(25px,2vw,38px) 38px; background:transparent; overflow:hidden; }
.lmn-case-model-stage { position:relative; min-height:390px; display:grid; place-items:center; overflow:hidden; }
.lmn-case-number { position:absolute; z-index:3; top:4px; right:0; color:#7d7d78; font-size:12px; font-weight:700; letter-spacing:.13em; }
.lmn-case-model { position:absolute; inset:0; width:100%; height:100%; display:block; background:transparent; opacity:0; transform:scale(.88); --poster-color:transparent; --progress-bar-color:#bf1e2e; --progress-bar-height:2px; transition:none; }
.lmn-case-model-card.is-model-ready .lmn-case-model { opacity:1; transform:scale(1); }
.lmn-model-loading { display:flex; align-items:center; gap:10px; color:#8a8b87; font-size:10px; font-weight:700; letter-spacing:.13em; }
.lmn-model-loading i { width:7px; height:7px; border-radius:50%; background:#bf1e2e; animation:lmn-model-pulse 1s ease-in-out infinite alternate; }
.lmn-case-model-card.is-model-ready .lmn-model-loading { display:none; }
.lmn-case-model-card.is-model-error .lmn-model-loading i { background:#777; animation:none; }
.lmn-case-model-card.is-model-error .lmn-case-model { display:none; }
.lmn-model-hint { position:absolute; z-index:3; right:0; bottom:14px; color:#8b8c88; font-size:10px; font-weight:650; letter-spacing:.05em; opacity:0; transform:translateY(5px); transition:opacity .35s ease,transform .35s ease; pointer-events:none; }
.lmn-case-model-card.is-model-ready:hover .lmn-model-hint,.lmn-case-model-card:focus-within .lmn-model-hint { opacity:1; transform:none; }
.lmn-case-model-copy { position:relative; z-index:2; border-top:1px solid #d8d7d0; padding-top:24px; }
.lm-news-page .lmn-case-model-copy p { margin:0 0 13px; color:#8a8b87; font-size:10px; font-weight:700; letter-spacing:.12em; line-height:1.3; text-transform:uppercase; }
.lm-news-page .lmn-case-model-copy h3 { max-width:14ch; margin:0; color:#292c2c; font-size:clamp(24px,1.7vw,32px); font-weight:560; line-height:1.24; letter-spacing:-.035em; }
.lm-news-page .lmn-case-model-copy>span { display:block; max-width:38ch; margin-top:14px; color:#777b7e; font-size:14px; line-height:1.6; }
.lmn-case-model-copy>a { display:inline-flex; align-items:center; gap:20px; margin-top:20px; border-bottom:1px solid #a8a9a7; padding:4px 0 7px; color:#2c2f30; font-size:12px; font-weight:700; }
.lmn-case-model-copy>a:hover { color:#bf1e2e; border-color:#bf1e2e; }
.lmn-case-model-copy b { font-size:17px; font-weight:400; }
@keyframes lmn-model-pulse { to { opacity:.28; transform:scale(.72); } }
.lmn-cta { position:relative; }

/* Blog index — fixed editorial rail and two-column journal grid. */
.lmn-blog-index { --lmn-blog-gutter:clamp(42px,4vw,76px); background:#fff; }
.lmn-blog-index-shell { width:min(calc(100% - 80px),1688px); display:grid; grid-template-columns:275px minmax(0,1fr); gap:var(--lmn-blog-gutter); margin-inline:auto; padding:52px 0 clamp(110px,10vw,190px); }
.lmn-blog-sidebar { min-width:0; border-right:1px solid #e2e2e2; }
.lmn-blog-sidebar-inner { position:sticky; top:118px; min-height:calc(100svh - 160px); display:flex; flex-direction:column; align-items:flex-start; padding:0 42px 34px 0; }
.lmn-blog-wordmark { display:flex; flex-direction:column; align-items:flex-start; color:#0b0b0b!important; line-height:.88; }
.lmn-blog-wordmark span { font-size:clamp(43px,3.15vw,60px); font-weight:760; letter-spacing:-.06em; }
.lmn-blog-wordmark em { margin-top:7px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(37px,2.65vw,51px); font-weight:400; letter-spacing:-.065em; white-space:nowrap; }
.lm-news-page .lmn-blog-sidebar-intro { max-width:214px; margin:30px 0 26px; color:#777; font-size:16px; line-height:1.55; }
.lmn-blog-sidebar-rule { width:75px; height:1px; margin-bottom:22px; background:#ddd; }
.lmn-blog-categories { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.lmn-blog-categories button { position:relative; border:0; padding:7px 0; color:#7a7a7a; background:transparent; font:inherit; font-size:16px; line-height:1.35; text-align:left; cursor:pointer; transition:color .18s ease,transform .18s ease; }
.lmn-blog-categories button::before { content:""; position:absolute; top:50%; left:-15px; width:6px; height:6px; border-radius:50%; background:#bf1e2e; opacity:0; transform:translate(-5px,-50%); transition:opacity .18s ease,transform .18s ease; }
.lmn-blog-categories button:hover { color:#191919; transform:translateX(3px); }
.lmn-blog-categories button.is-active { color:#141414; font-weight:680; }
.lmn-blog-categories button.is-active::before { opacity:1; transform:translate(0,-50%); }
.lmn-blog-search { width:100%; min-height:43px; display:flex; align-items:center; gap:10px; border-bottom:1px solid #bcbcbc; margin-top:auto; color:#666; transition:border-color .2s ease,color .2s ease; }
.lmn-blog-search:focus-within { color:#bf1e2e; border-color:#bf1e2e; }
.lmn-blog-search svg { flex:0 0 18px; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; }
.lmn-blog-search input { min-width:0; flex:1; border:0; outline:0; padding:10px 0; color:#1d1d1d; background:transparent; font:inherit; font-size:14px; }
.lmn-blog-search input::placeholder { color:#8a8a8a; opacity:1; }
.lmn-blog-search button { flex:0 0 24px; border:0; padding:0; color:#777; background:transparent; font-size:22px; line-height:1; cursor:pointer; }
.lm-news-page .lmn-blog-results { margin:9px 0 0; color:#999; font-size:11px; line-height:1.4; }
.lmn-blog-index-main { min-width:0; }
.lmn-blog-index-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(42px,4vw,76px); row-gap:clamp(76px,6.6vw,126px); }
.lmn-blog-index-card { min-width:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid #ecebed; border-radius:12px; background:#fff; scroll-margin-top:126px; }
.lmn-blog-index-card[hidden] { display:none!important; }
.lmn-blog-index-visual { position:relative; flex:none; aspect-ratio:1.9; display:block; overflow:hidden; border:0; border-bottom:1px solid rgba(30,30,30,.1); background:color-mix(in srgb,var(--lmn-card-tint) 18%,#f4f3f0); color:#fff; isolation:isolate; }
.lmn-blog-index-visual::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.13)); opacity:.38; pointer-events:none; }
.lmn-blog-index-visual img { width:100%; height:100%; display:block; object-fit:cover; transition:filter .45s ease; }
.lmn-blog-index-card:hover .lmn-blog-index-visual img { filter:saturate(1.05) contrast(1.02); }
.lmn-blog-index-number { position:absolute; z-index:2; top:15px; right:15px; min-width:34px; height:24px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.48); border-radius:99px; color:#fff; background:rgba(0,0,0,.2); backdrop-filter:blur(6px); font-size:10px; font-weight:700; letter-spacing:.08em; }
.lmn-blog-index-copy { flex:1; min-width:0; display:flex; flex-direction:column; padding:clamp(22px,4.5%,30px) clamp(20px,5%,32px) clamp(24px,6%,36px); }
.lm-news-page .lmn-blog-index-category { margin:0 0 10px; color:#6f7378; font-size:13px; line-height:1.35; }
.lm-news-page .lmn-blog-index-copy h2 { max-width:19ch; margin:0; color:#202124; font-size:clamp(24px,1.67vw,31px); font-weight:700; line-height:1.3; letter-spacing:-.035em; }
.lmn-blog-index-copy h2 a { color:inherit; text-decoration:none; transition:color .25s ease; }
.lmn-blog-index-card:hover h2 a,.lmn-blog-index-card:focus-within h2 a { color:#a72331; }
.lmn-blog-index-visual:focus-visible { outline:2px solid #bf1e2e; outline-offset:-4px; }
.lmn-blog-index-copy h2 a:focus-visible { outline:2px solid #bf1e2e; outline-offset:4px; }
.lm-news-page .lmn-blog-index-excerpt { max-width:46ch; margin:14px 0 22px; color:#74787b; font-size:16px; line-height:1.6; }
.lmn-blog-index-byline { display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; margin-top:auto; color:#232323; font-size:13px; line-height:1.3; }
.lmn-blog-index-byline>span { white-space:nowrap; }
.lmn-blog-index-avatar { flex:none; width:31px; height:31px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#bf1e2e; font-family:Georgia,serif; font-size:15px; font-weight:700; }
.lmn-blog-index-byline i { flex:none; width:3px; height:3px; border-radius:50%; background:#aaa; }
.lmn-blog-index-byline span:last-child { color:#818181; }
.lmn-blog-empty { min-height:480px; display:grid; align-content:center; justify-items:center; text-align:center; color:#777; }
.lmn-blog-empty[hidden] { display:none; }
.lmn-blog-empty>span { font-size:48px; line-height:1; }
.lm-news-page .lmn-blog-empty h2 { margin:20px 0 8px; color:#222; font-size:28px; }
.lm-news-page .lmn-blog-empty p { margin:0; font-size:15px; }

/* Case-study page — compact accordion selector, linked case detail and process film. */
.lmn-case-showcase { height:calc(100svh - 124px); min-height:820px; box-sizing:border-box; padding:20px 0 28px; background:var(--lmn-paper); }
.lmn-case-showcase-shell { height:100%; display:flex; flex-direction:column; }
.lmn-case-rail-head { display:flex; align-items:flex-end; justify-content:space-between; gap:36px; margin-bottom:14px; }
.lmn-case-rail-head .lmn-kicker { margin-bottom:5px; }
.lm-news-page .lmn-case-rail-head h1 { max-width:none; margin:0; color:#242729; font-size:clamp(23px,1.8vw,34px); font-weight:560; line-height:1.08; letter-spacing:-.04em; }
.lmn-case-rail-controls { flex:none; display:flex; gap:7px; }
.lmn-case-rail-controls button { width:38px; height:38px; display:grid; place-items:center; border:1px solid #d7d4cd; border-radius:50%; padding:0; color:#2b2e30; background:transparent; font:inherit; font-size:19px; line-height:1; cursor:pointer; transition:color .25s ease,background-color .25s ease,border-color .25s ease,transform .25s ease; }
.lmn-case-rail-controls button:hover { border-color:#bf1e2e; color:#fff; background:#bf1e2e; transform:translateY(-2px); }
.lmn-case-rail { height:clamp(190px,20vh,230px); flex:0 0 clamp(190px,20vh,230px); display:flex; gap:10px; overflow:hidden; outline:none; }
.lmn-case-rail-card { position:relative; min-width:0; flex:1 1 0; height:100%; display:block; overflow:hidden; border:0; border-radius:2px; padding:0; color:#fff; background:#d7d6d0; font:inherit; text-align:left; isolation:isolate; cursor:pointer; }
.lmn-case-rail.is-gsap-case-rail { position:relative; display:block; contain:layout paint; }
.lmn-case-rail.is-gsap-case-rail .lmn-case-rail-card { position:absolute; inset:0 auto 0 0; width:64%; flex:none; backface-visibility:hidden; will-change:transform,clip-path; transform-origin:left center; }
.lmn-case-rail-card::after { content:""; position:absolute; inset:0; z-index:4; border:1px solid rgba(255,255,255,.3); box-shadow:inset 0 0 0 0 #bf1e2e; pointer-events:none; transition:box-shadow .35s ease,border-color .35s ease; }
.lmn-case-rail-card.is-active::after { border-color:rgba(255,255,255,.7); box-shadow:inset 0 -3px 0 #bf1e2e; }
.lmn-case-rail-card>img { width:100%; height:100%; max-width:none; display:block; object-fit:cover; backface-visibility:hidden; transform:translateZ(0) scale(1.045); will-change:transform; }
.lmn-case-rail-shade { position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(10,13,16,.04) 30%,rgba(10,13,16,.68) 100%); opacity:.62; }
.lmn-case-rail-number { position:absolute; z-index:3; top:14px; right:15px; display:grid; place-items:center; width:30px; height:22px; border:1px solid rgba(255,255,255,.55); border-radius:99px; color:#fff; background:rgba(20,20,20,.2); font-size:9px; font-weight:750; letter-spacing:.08em; backdrop-filter:blur(5px); }
.lmn-case-rail-title { position:absolute; z-index:2; left:19px; bottom:17px; width:min(360px,calc(100% - 68px)); color:#fff; font-size:clamp(16px,1.12vw,21px); font-weight:620; line-height:1.15; letter-spacing:-.025em; opacity:0; transform:translateY(9px); }
.lmn-case-rail-card.is-active .lmn-case-rail-title { opacity:1; transform:none; }
.lmn-case-rail-card:focus-visible { outline:3px solid #efaa18; outline-offset:-5px; }

.lmn-case-focus { min-height:0; height:auto; flex:1 1 0; display:grid; grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr); border:1px solid #d3d1ca; margin-top:22px; background:#fff; overflow:hidden; }
.lmn-case-focus-copy { min-width:0; display:flex; flex-direction:column; justify-content:center; border-right:1px solid #d3d1ca; padding:clamp(38px,4vw,72px); }
.lm-news-page .lmn-case-focus-meta { margin:0 0 24px; color:#8a8984; font-size:11px; font-weight:750; line-height:1.4; letter-spacing:.11em; text-transform:uppercase; }
.lmn-case-focus-meta span:first-child { color:#bf1e2e; }
.lm-news-page .lmn-case-focus h2 { max-width:10.5ch; margin:0; color:#242729; font-size:clamp(42px,4.1vw,74px); font-weight:520; line-height:1.01; letter-spacing:-.058em; text-wrap:balance; }
.lm-news-page .lmn-case-focus-copy>p:nth-of-type(2) { max-width:42ch; margin:clamp(23px,2vw,34px) 0 0; color:#696e71; font-size:clamp(15px,1.05vw,18px); line-height:1.72; }
.lmn-case-focus-copy>a { align-self:flex-start; display:inline-flex; align-items:center; gap:24px; border-bottom:1px solid #aaa; margin-top:clamp(28px,3vw,46px); padding:7px 0 9px; color:#272a2c; font-size:13px; font-weight:700; }
.lmn-case-focus-copy>a:hover { color:#bf1e2e; border-color:#bf1e2e; }
.lmn-case-focus-media { position:relative; min-width:0; min-height:0; height:100%; margin:0; overflow:hidden; background:#e4e2dc; }
.lmn-case-focus-media>img { width:100%; height:100%; display:block; object-fit:cover; transform:translateZ(0); will-change:transform,opacity; }
.lmn-case-focus-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 67%,rgba(10,12,15,.36)); pointer-events:none; }
.lmn-case-focus-media figcaption { position:absolute; z-index:2; right:25px; bottom:22px; left:25px; display:flex; justify-content:space-between; gap:20px; color:#fff; font-size:10px; font-weight:700; line-height:1.3; letter-spacing:.11em; }
.lmn-case-focus-media figcaption strong { font-weight:700; }
.lmn-case-focus-media figcaption i { font-style:normal; }

.lmn-case-process { scroll-margin-top:112px; padding:clamp(95px,8vw,150px) 0; color:#fff; background:#222628; }
.lmn-case-process-grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr); gap:clamp(45px,5vw,86px); align-items:start; }
.lmn-case-film { position:relative; width:100%; min-width:0; aspect-ratio:1 / 1; align-self:start; overflow:hidden; background:#d9dcdd; }
.lmn-case-film::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.16); pointer-events:none; }
.lmn-case-film video { width:100%; height:100%; display:block; object-fit:cover; }
.lmn-case-film>button { position:absolute; z-index:2; top:22px; right:22px; display:inline-flex; align-items:center; gap:9px; border:1px solid rgba(255,255,255,.5); border-radius:999px; padding:9px 14px; color:#fff; background:rgba(17,20,22,.44); font:inherit; font-size:10px; font-weight:700; letter-spacing:.07em; backdrop-filter:blur(8px); cursor:pointer; }
.lmn-case-film>button span { font-size:10px; letter-spacing:-2px; }
.lmn-case-film>button em { font-style:normal; }
.lmn-case-film-label { position:absolute; z-index:2; right:23px; bottom:21px; left:23px; color:#fff; font-size:10px; font-weight:750; letter-spacing:.12em; text-shadow:0 1px 12px rgba(0,0,0,.38); }
.lmn-case-process-side { min-width:0; display:grid; grid-template-rows:auto auto; gap:clamp(30px,2.5vw,42px); }
.lmn-case-process-copy { border-top:2px solid #bf1e2e; padding-top:27px; }
.lmn-case-process-copy .lmn-kicker { color:#aeb2b3; }
.lm-news-page .lmn-case-process-copy h2 { max-width:11ch; margin:0; color:#fff; font-size:clamp(40px,3.7vw,68px); font-weight:500; line-height:1.03; letter-spacing:-.055em; text-wrap:balance; }
.lm-news-page .lmn-case-process-copy>p:last-child { max-width:43ch; margin:27px 0 0; color:#b8bdbf; font-size:clamp(15px,1vw,17px); line-height:1.72; }
.lmn-case-detail-thumbs { min-width:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.lmn-case-detail-thumb { position:relative; min-width:0; aspect-ratio:1.38; margin:0; overflow:hidden; background:#ece9e2; }
.lmn-case-detail-thumb img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .65s cubic-bezier(.22,1,.36,1); }
.lmn-case-detail-thumb:hover img { transform:scale(1.055); }
.lmn-case-detail-thumb::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(180deg,transparent,rgba(12,14,15,.56)); pointer-events:none; }
.lmn-case-detail-thumb figcaption { position:absolute; z-index:2; right:13px; bottom:12px; left:13px; display:flex; justify-content:space-between; align-items:flex-end; gap:10px; color:#fff; font-size:8px; font-weight:750; line-height:1.2; letter-spacing:.09em; text-shadow:0 1px 8px rgba(0,0,0,.35); }
.lmn-case-detail-thumb figcaption strong { font-weight:700; }

.lmn-archive-hero { padding:clamp(80px,8.5vw,155px) 0 clamp(70px,7vw,130px); background:#f5f3ee; }
.lm-news-page .lmn-archive-hero h1 { max-width:13ch; margin:0; color:#272a2c; font-size:clamp(54px,6.3vw,116px); font-weight:500; line-height:.99; letter-spacing:-.06em; }
.lmn-archive-intro { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-top:clamp(40px,5vw,85px); }
.lm-news-page .lmn-archive-intro p { max-width:48ch; margin:0; color:#676b70; font-size:clamp(17px,1.28vw,23px); line-height:1.6; }
.lmn-archive-intro a { flex:none; border-bottom:1px solid #aaa; padding:7px 0; font-size:14px; font-weight:650; }
.lmn-archive-list { padding:0 0 clamp(90px,9vw,170px); background:#fff; }
.lmn-archive-story { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr); gap:clamp(45px,7vw,120px); align-items:center; border-bottom:1px solid #deded9; padding:clamp(65px,7vw,125px) 0; scroll-margin-top:140px; }
.lmn-archive-visual { position:relative; aspect-ratio:1.45; overflow:hidden; border-radius:28px; background:#e8e6e0; transform:translateZ(0); }
.lmn-blog-card,.lmn-archive-visual { will-change:transform,box-shadow; }
.lmn-blog-card .lmn-card-image,.lmn-archive-visual .lmn-card-image { will-change:transform; backface-visibility:hidden; }
.lmn-archive-visual img { width:100%; height:100%; object-fit:cover; }
.lmn-archive-visual span { position:absolute; top:24px; right:26px; min-width:45px; height:45px; display:grid; place-items:center; border-radius:50%; color:#fff; background:rgba(20,23,27,.7); font-size:12px; letter-spacing:.08em; }
.lm-news-page .lmn-archive-copy h2 { max-width:14ch; margin:0; color:#272a2c; font-size:clamp(38px,3.3vw,61px); font-weight:500; line-height:1.08; letter-spacing:-.05em; }
.lm-news-page .lmn-archive-copy>p:not(.lmn-kicker) { max-width:42ch; margin:25px 0 30px; color:#6c7072; font-size:17px; line-height:1.7; }

@media (max-width:1100px) {
  .lm-news-page .lmn-container { width:calc(100% - 80px); }
  .lmn-blog-grid,.lmn-case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lmn-blog-card { aspect-ratio:.79; }
  .lmn-case-model-card { min-height:620px; }
  .lmn-latest { min-height:auto; padding-block:60px; }
  .lmn-carousel { height:410px; }
  .lmn-blog-index-shell { width:calc(100% - 48px); grid-template-columns:225px minmax(0,1fr); gap:36px; }
  .lmn-blog-sidebar-inner { padding-right:28px; }
  .lmn-blog-index-grid { column-gap:28px; row-gap:72px; }
  .lmn-blog-index-byline span:last-child,.lmn-blog-index-byline i { display:none; }
  .lmn-case-rail { height:220px; flex-basis:220px; }
  .lmn-case-focus { grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr); }
  .lmn-case-focus-copy { padding:38px; }
  .lm-news-page .lmn-case-focus h2 { font-size:48px; }
  .lmn-case-process-grid { grid-template-columns:minmax(0,1fr) minmax(350px,.9fr); gap:44px; }
}
@media (max-width:900px) {
  .lm-news-page .lmn-container { width:calc(100% - 48px); }
  .lmn-latest { padding:45px 0 54px; }
  .lmn-latest-header { margin-bottom:25px; }
  .lmn-carousel { height:430px; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .lmn-carousel::-webkit-scrollbar { display:none; }
  .lmn-carousel-card,.lmn-carousel-card:not(.is-active) { flex:0 0 83%; min-width:0; scroll-snap-align:center; }
  .lmn-carousel-card:not(.is-active) .lmn-carousel-title { width:min(440px,calc(100% - 80px)); white-space:normal; }
  .lmn-current { grid-template-columns:1fr; gap:20px; }
  .lmn-current>a { justify-self:start; }
  .lmn-section-heading { align-items:flex-start; flex-direction:column; gap:28px; }
  .lmn-archive-story { grid-template-columns:1fr; gap:38px; }
  .lmn-archive-copy { padding-right:8vw; }
  .lmn-blog-index-shell { display:block; padding-top:34px; }
  .lmn-blog-sidebar { border:0; border-bottom:1px solid #dedede; }
  .lmn-blog-sidebar-inner { position:static; min-height:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.65fr); column-gap:40px; padding:0 0 30px; }
  .lmn-blog-wordmark,.lmn-blog-sidebar-intro,.lmn-blog-sidebar-rule { grid-column:1; }
  .lmn-blog-wordmark span { font-size:48px; }
  .lmn-blog-wordmark em { font-size:42px; }
  .lm-news-page .lmn-blog-sidebar-intro { margin:24px 0 20px; }
  .lmn-blog-categories { grid-column:2; grid-row:1 / span 4; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; }
  .lmn-blog-search { grid-column:1 / -1; margin-top:24px; }
  .lm-news-page .lmn-blog-results { grid-column:1 / -1; }
  .lmn-blog-index-main { padding-top:48px; }
  .lmn-case-showcase { height:auto; min-height:0; padding:34px 0 85px; }
  .lmn-case-showcase-shell { height:auto; }
  .lmn-case-rail { height:255px; flex:0 0 255px; display:flex!important; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .lmn-case-rail::-webkit-scrollbar { display:none; }
  .lmn-case-rail.is-gsap-case-rail .lmn-case-rail-card,.lmn-case-rail-card { position:relative; inset:auto; flex:0 0 78%; width:auto; clip-path:none!important; transform:none!important; scroll-snap-align:center; }
  .lmn-case-rail-title { opacity:1; transform:none; }
  .lmn-case-focus { min-height:0; height:auto; flex:none; grid-template-columns:1fr; margin-top:28px; }
  .lmn-case-focus-copy { min-height:430px; border-right:0; border-bottom:1px solid #d3d1ca; padding:clamp(42px,7vw,68px); }
  .lm-news-page .lmn-case-focus h2 { font-size:clamp(45px,8vw,68px); }
  .lmn-case-focus-media { aspect-ratio:1.42; min-height:0; }
  .lmn-case-process-grid { grid-template-columns:1fr; }
  .lmn-case-film { aspect-ratio:1.28; }
  .lmn-case-process-side { gap:52px; }
  .lmn-case-detail-thumbs { gap:10px; }
  .lmn-case-detail-thumb { aspect-ratio:1.4; }
}
@media (max-width:680px) {
  .lm-news-page .lmn-container { width:calc(100% - 36px); }
  .lmn-latest-header { align-items:center; }
  .lm-news-page .lmn-latest-header h1 { font-size:22px; }
  .lm-news-page .lmn-latest-header p { font-size:16px; }
  .lmn-carousel-controls button { width:36px; height:36px; }
  .lmn-carousel { height:380px; }
  .lmn-carousel-card,.lmn-carousel-card:not(.is-active) { flex-basis:88%; }
  .lmn-carousel-title { left:22px; bottom:22px; font-size:22px; }
  .lmn-carousel-mark { right:18px; bottom:18px; }
  .lmn-current { min-height:0; }
  .lm-news-page .lmn-current p { font-size:14px; }
  .lmn-section-nav { justify-content:flex-start; gap:34px; overflow-x:auto; padding-inline:18px; }
  .lmn-content-section { padding-block:80px; }
  .lm-news-page .lmn-section-heading h2 { font-size:43px; }
  .lmn-blog-grid,.lmn-case-grid { grid-template-columns:1fr; gap:25px; }
  .lmn-case-grid { gap:0; }
  .lmn-blog-card { aspect-ratio:.78; border-radius:30px; }
  .lmn-card-brand { top:29px; left:29px; width:105px; }
  .lmn-blog-card-body { padding:27px 29px 31px; }
  .lm-news-page .lmn-blog-card-body h3 { font-size:23px; }
  .lmn-card-arrow { right:27px; bottom:24px; }
  .lmn-case-model-card { min-height:590px; grid-template-rows:minmax(340px,1fr) auto; padding:22px 24px 32px; }
  .lmn-case-model-stage { min-height:340px; }
  .lmn-case-number { top:2px; right:0; }
  .lmn-archive-hero { padding-top:72px; }
  .lm-news-page .lmn-archive-hero h1 { font-size:50px; }
  .lmn-archive-intro { display:block; }
  .lmn-archive-intro a { display:inline-block; margin-top:30px; }
  .lmn-archive-story { padding-block:72px; }
  .lmn-archive-visual { aspect-ratio:1.12; border-radius:22px; }
  .lmn-archive-copy { padding-right:0; }
  .lm-news-page .lmn-archive-copy h2 { font-size:38px; }
  .lmn-blog-index-shell { width:calc(100% - 36px); padding-top:28px; }
  .lmn-blog-sidebar-inner { display:flex; padding-bottom:25px; }
  .lmn-blog-wordmark span { font-size:42px; }
  .lmn-blog-wordmark em { font-size:37px; }
  .lm-news-page .lmn-blog-sidebar-intro { max-width:32ch; margin:20px 0 18px; font-size:14px; }
  .lmn-blog-sidebar-rule { margin-bottom:14px; }
  .lmn-blog-categories { width:100%; display:flex; flex-flow:row wrap; gap:7px; }
  .lmn-blog-categories button { border:1px solid #d8d8d8; border-radius:999px; padding:7px 11px; font-size:13px; }
  .lmn-blog-categories button::before { display:none; }
  .lmn-blog-categories button.is-active { border-color:#242424; color:#fff; background:#242424; }
  .lmn-blog-search { margin-top:22px; }
  .lmn-blog-index-main { padding-top:36px; }
  .lmn-blog-index-grid { grid-template-columns:1fr; row-gap:58px; }
  .lmn-blog-index-visual { aspect-ratio:1.55; }
  .lm-news-page .lmn-blog-index-copy h2 { font-size:25px; }
  .lm-news-page .lmn-blog-index-excerpt { font-size:15px; }
  .lmn-blog-index-byline span:last-child,.lmn-blog-index-byline i { display:block; }
  .lmn-case-rail-head { align-items:center; }
  .lmn-case-rail-head .lmn-kicker { margin-bottom:4px; font-size:9px; }
  .lm-news-page .lmn-case-rail-head h1 { max-width:13ch; font-size:23px; }
  .lmn-case-rail-controls button { width:34px; height:34px; }
  .lmn-case-rail { height:220px; flex-basis:220px; }
  .lmn-case-rail.is-gsap-case-rail .lmn-case-rail-card,.lmn-case-rail-card { flex-basis:88%; }
  .lmn-case-rail-title { left:17px; bottom:16px; width:calc(100% - 65px); font-size:19px; }
  .lmn-case-focus-copy { min-height:410px; padding:37px 28px 42px; }
  .lm-news-page .lmn-case-focus-meta { margin-bottom:20px; }
  .lm-news-page .lmn-case-focus h2 { font-size:42px; }
  .lm-news-page .lmn-case-focus-copy>p:nth-of-type(2) { font-size:15px; line-height:1.68; }
  .lmn-case-focus-media { aspect-ratio:1.05; }
  .lmn-case-focus-media figcaption { right:18px; bottom:16px; left:18px; }
  .lmn-case-process { padding:80px 0; }
  .lmn-case-process-grid { gap:48px; }
  .lmn-case-film { aspect-ratio:1 / 1; }
  .lmn-case-film>button { top:15px; right:15px; }
  .lmn-case-film-label { right:16px; bottom:15px; left:16px; }
  .lm-news-page .lmn-case-process-copy h2 { font-size:40px; }
  .lm-news-page .lmn-case-process-copy>p:last-child { font-size:15px; }
  .lmn-case-detail-thumbs { gap:8px; }
  .lmn-case-detail-thumb { aspect-ratio:1.06; }
}
@media (prefers-reduced-motion:reduce) {
  .lmn-carousel-card,.lmn-card-image,.lmn-card-arrow,.lmn-case-copy,.lmn-case-rail-card,.lmn-case-detail-thumb img,.lmn-blog-index-copy h2 a { transition:none!important; }
}
