/* Newsreader and IBM Plex are redistributed under the SIL Open Font License.
   Sources: github.com/productiontype/Newsreader and github.com/IBM/plex. */
@font-face { font-family: 'Newsreader'; src: url('../fonts/newsreader-regular.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'Newsreader'; src: url('../fonts/newsreader-semibold.woff2') format('woff2'); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: 'IBM Plex Sans'; src: url('../fonts/ibm-plex-sans-regular.woff2') format('woff2'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: 'IBM Plex Sans'; src: url('../fonts/ibm-plex-sans-medium.woff2') format('woff2'); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: 'IBM Plex Sans'; src: url('../fonts/ibm-plex-sans-semibold.woff2') format('woff2'); font-style: normal; font-weight: 600; font-display: swap; }

:root {
  --lm-deep: #082f29;
  --lm-forest: #0d4338;
  --lm-leaf: #315f4b;
  --lm-matcha: #87a84f;
  --lm-fresh: #b5cb72;
  --lm-celadon: #dce7dd;
  --lm-mist: #dce7dd;
  --lm-paper: #f1f3ec;
  --lm-white: #fcfdf9;
  --lm-ink: #17231f;
  --lm-soft-ink: #53625b;
  --lm-gold: #b39a63;
  --lm-line: rgba(13, 67, 56, .18);
  --lm-display: 'Newsreader', Georgia, serif;
  --lm-body: 'IBM Plex Sans', 'Segoe UI', sans-serif;
  --lm-content-max: 1440px;
}

.linsai-matcha-site { margin: 0; background: var(--lm-paper); }
.linsai-matcha-site .site-header,
.linsai-matcha-site .site-footer,
.linsai-matcha-site .entry-header,
.linsai-matcha-site .post-navigation,
.linsai-matcha-site .comments-area { display: none !important; }
.linsai-matcha-site .site-content,
.linsai-matcha-site .ast-container,
.linsai-matcha-site .content-area,
.linsai-matcha-site .site-main,
.linsai-matcha-site article.page,
.linsai-matcha-site .entry-content { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.linsai-matcha-site .entry-content > * { max-width: none !important; }
.linsai-matcha-site * { box-sizing: border-box; }
.lm-site-shell { width: 100%; overflow: clip; color: var(--lm-ink); background: var(--lm-paper); font-family: var(--lm-body); font-size: 17px; line-height: 1.65; }
.lm-site-shell a { color: inherit; text-decoration: none; }
.lm-site-shell img { display: block; width: 100%; height: auto; }
.lm-site-shell h1,.lm-site-shell h2,.lm-site-shell h3,.lm-site-shell p { margin-top: 0; }
.lm-site-shell h1,.lm-site-shell h2 { font-family: var(--lm-display); font-weight: 400; letter-spacing: -.025em; text-wrap: balance; }
.lm-site-shell h2 { font-size: clamp(2.45rem, 4.35vw, 4.7rem); line-height: 1; }
.lm-site-shell h3 { font-size: 1.25rem; line-height: 1.25; }
.lm-skip-link { position: fixed; top: 10px; left: 10px; z-index: 9999; padding: .75rem 1rem; background: var(--lm-white); color: var(--lm-deep); transform: translateY(-150%); transition: transform .2s ease; }
.lm-skip-link:focus { transform: translateY(0); }

.lm-header { position: fixed; inset: 0 0 auto; z-index: 1000; display: flex; align-items: center; justify-content: space-between; min-height: 88px; padding: 0 clamp(22px, 4vw, 72px); color: var(--lm-white); border-bottom: 1px solid rgba(255,255,255,.18); transition: min-height .25s ease, background .25s ease, box-shadow .25s ease; }
.lm-header.is-scrolled { min-height: 72px; background: rgba(6,45,40,.94); box-shadow: 0 10px 30px rgba(0,0,0,.14); backdrop-filter: blur(14px); }
.lm-brand { display: inline-flex; align-items: center; color: var(--lm-white) !important; }
.lm-brand-logo-frame { display: block; width: 66px; height: 66px; overflow: hidden; flex: 0 0 auto; border-radius: 50%; background: #49a95d; box-shadow: 0 0 0 1px rgba(255,255,255,.22); }
.lm-site-shell .lm-brand-logo { width: 100%; height: 100%; object-fit: cover; transform: scale(1.12); }
.lm-nav { display: flex; align-items: center; gap: clamp(12px, 1.35vw, 24px); }
.lm-nav-item { position: relative; }
.lm-nav-parent { display: flex; align-items: center; gap: .18rem; }
.lm-nav-primary-link { position: relative; color: var(--lm-white) !important; font-size: .74rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.lm-nav-primary-link::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -.45rem; height: 1px; background: var(--lm-gold); transition: right .2s ease; }
.lm-nav-primary-link:hover::after,.lm-nav-primary-link:focus-visible::after,.lm-nav-primary-link[aria-current='page']::after,.lm-nav-item.is-active .lm-nav-primary-link::after { right: 0; }
.lm-submenu-toggle { display: grid; place-items: center; width: 24px; height: 24px; padding: 0; color: var(--lm-white); background: transparent; border: 0; cursor: pointer; }
.lm-submenu-toggle::after { content: ''; width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s ease; }
.lm-submenu { position: absolute; top: calc(100% + 1.25rem); left: 50%; z-index: 4; display: grid; min-width: 250px; padding: .65rem; background: rgba(245,242,232,.98); border: 1px solid rgba(189,164,107,.45); box-shadow: 0 22px 50px rgba(0,0,0,.2); opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%,-8px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; }
.lm-submenu::before { content: ''; position: absolute; inset: -1.3rem 0 auto; height: 1.3rem; }
.lm-submenu a { padding: .7rem .85rem; color: var(--lm-deep) !important; font-size: .78rem; font-weight: 600; line-height: 1.35; letter-spacing: .02em; }
.lm-submenu a:hover,.lm-submenu a:focus-visible { background: rgba(127,163,61,.13); }
.lm-nav-item:hover .lm-submenu,.lm-nav-item:focus-within .lm-submenu,.lm-nav-item.is-submenu-open .lm-submenu { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%,0); }
.lm-nav-item.is-submenu-open .lm-submenu-toggle::after { transform: translateY(1px) rotate(225deg); }
.lm-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.lm-nav .lm-nav-cta { padding: .72rem 1rem; border: 1px solid rgba(255,255,255,.72); font-size: .74rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.lm-nav .lm-nav-cta:hover { background: var(--lm-white); color: var(--lm-deep) !important; }
.lm-menu-toggle { display: none; background: transparent; border: 0; color: var(--lm-white); }

.lm-hero { position: relative; min-height: 100svh; display: flex; align-items: flex-end; color: var(--lm-white); background: var(--lm-deep); }
.lm-hero-slides,.lm-hero-shade { position: absolute; inset: 0; }
.lm-hero-slides { overflow: hidden; }
.lm-hero-slide { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity .65s ease; }
.lm-hero-slide.is-active { opacity: 1; pointer-events: auto; }
.lm-site-shell .lm-hero-slide-image { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.025); transition: transform 6s ease; }
.lm-site-shell .lm-hero-slide.is-active .lm-hero-slide-image { transform: scale(1); }
.lm-hero-shade { background: linear-gradient(90deg, rgba(4,31,28,.84) 0%, rgba(4,31,28,.56) 44%, rgba(4,31,28,.12) 76%), linear-gradient(0deg, rgba(4,31,28,.38), transparent 45%); }
.lm-hero-copy { position: relative; z-index: 2; width: min(940px, 84vw); margin: 0 0 clamp(75px, 11vh, 130px) clamp(24px, 8vw, 140px); }
.lm-eyebrow { display: inline-block; margin-bottom: 1rem; font-size: .72rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.lm-hero h1 { max-width: 1040px; margin-bottom: 1.5rem; font-size: clamp(3.2rem, 5.55vw, 6.2rem); line-height: .93; color: var(--lm-white); text-shadow: 0 4px 34px rgba(0,0,0,.2); }
.lm-hero h1 em { color: #dce8c4; font-weight: 400; }
.lm-hero-copy > p { max-width: 690px; margin-bottom: 2rem; font-size: clamp(1rem, 1.4vw, 1.25rem); line-height: 1.6; color: rgba(255,255,255,.86); }
.lm-actions { display: flex; align-items: center; gap: 2rem; flex-wrap: wrap; }
.lm-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: .9rem 1.5rem; background: var(--lm-matcha); color: var(--lm-white) !important; border: 1px solid var(--lm-matcha); font-size: .76rem; font-weight: 600; letter-spacing: .075em; text-transform: uppercase; transition: transform .2s ease, background .2s ease, color .2s ease; }
.lm-button:hover,.lm-button:focus-visible { transform: translateY(-2px); background: #789944; }
.lm-button-dark { background: var(--lm-deep); border-color: var(--lm-deep); }
.lm-button-light { background: var(--lm-white); border-color: var(--lm-white); color: var(--lm-deep) !important; }
.lm-text-link { display: inline-flex; align-items: center; gap: .55rem; color: var(--lm-white) !important; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; border-bottom: 1px solid rgba(255,255,255,.5); }
.lm-text-link span { transition: transform .2s ease; }
.lm-text-link:hover span { transform: translate(3px,-3px); }
.lm-text-link.lm-dark { color: var(--lm-deep) !important; border-bottom-color: var(--lm-line); }
.lm-carousel-prev,.lm-carousel-next { position: absolute; z-index: 4; top: 50%; display: grid; place-items: center; width: 48px; height: 48px; padding: 0; color: var(--lm-white); background: rgba(8,47,41,.58); border: 1px solid rgba(255,255,255,.56); border-radius: 50%; cursor: pointer; transform: translateY(-50%); backdrop-filter: blur(8px); transition: background .2s ease, transform .2s ease; }
.lm-carousel-prev { left: clamp(18px,3vw,50px); }
.lm-carousel-next { right: clamp(18px,3vw,50px); }
.lm-carousel-prev:hover,.lm-carousel-next:hover { background: rgba(8,47,41,.9); transform: translateY(-50%) scale(1.05); }
.lm-carousel-prev span,.lm-carousel-next span { display: block; font-family: Georgia,serif; font-size: 2rem; line-height: .8; transform: translateY(-1px); }
.lm-carousel-dots { position: absolute; z-index: 4; left: 50%; bottom: 36px; display: flex; align-items: center; gap: 10px; transform: translateX(-50%); }
.lm-carousel-dot { width: 10px; height: 10px; padding: 0; background: rgba(255,255,255,.42); border: 1px solid rgba(255,255,255,.75); border-radius: 50%; cursor: pointer; transition: width .2s ease, background .2s ease, border-radius .2s ease; }
.lm-carousel-dot.is-active { width: 28px; background: var(--lm-white); border-radius: 999px; }

.lm-section { padding: clamp(78px, 9vw, 144px) max(24px, calc((100vw - var(--lm-content-max)) / 2 + 48px)); }
.lm-section-soft { padding: clamp(78px, 9vw, 136px) max(24px, calc((100vw - var(--lm-content-max)) / 2 + 48px)); background: var(--lm-celadon); }
.lm-section-deep { padding: clamp(78px, 10vw, 150px) clamp(24px, 7vw, 120px); background: var(--lm-deep); color: var(--lm-white); }
.lm-intro { display: grid; grid-template-columns: minmax(220px,.65fr) 1.6fr; gap: 8vw; align-items: start; }
.lm-intro-kicker { padding-top: .5rem; color: var(--lm-leaf); }
.lm-intro-kicker span,.lm-intro-kicker strong { display: block; }
.lm-intro-kicker span { font-family: var(--lm-display); font-size: 1.8rem; font-style: italic; }
.lm-intro-kicker strong { margin-top: .6rem; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; }
.lm-intro-copy h2 { max-width: 980px; margin-bottom: 2rem; }
.lm-intro-copy p { max-width: 800px; margin-bottom: 2rem; font-size: 1.08rem; color: var(--lm-soft-ink); }
.lm-section-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: 6vw; align-items: end; margin-bottom: 4rem; }
.lm-section-heading h2 { max-width: 860px; margin-bottom: 0; }
.lm-section-heading > p { max-width: 460px; margin-bottom: .5rem; color: var(--lm-soft-ink); }
.lm-section-heading.lm-light > p { color: rgba(255,255,255,.68); }
.lm-product-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(18px,2vw,34px); }
.lm-product-card { background: var(--lm-white); }
.lm-product-card img { aspect-ratio: 4/3; object-fit: cover; }
.lm-product-card > div { padding: 1.6rem 1.6rem 1.8rem; }
.lm-product-card h3 { margin-bottom: .7rem; font-family: var(--lm-display); font-size: 1.75rem; font-weight: 400; }
.lm-product-card p { min-height: 4.8em; color: #59645e; }
.lm-product-card a,.lm-insights a { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lm-leaf) !important; }
.lm-grade-story { display: grid; grid-template-columns: .75fr 1.25fr; gap: 7vw; align-items: center; background: var(--lm-paper); }
.lm-grade-copy p { max-width: 540px; margin-bottom: 2rem; color: #59645e; }
.lm-grade-visual img { mix-blend-mode: multiply; }
.lm-grade-visual figcaption { margin-top: .8rem; font-size: .74rem; color: #66716b; text-align: right; }
.lm-application-grid { display: grid; grid-template-columns: .8fr 1.4fr .8fr; gap: 1rem; }
.lm-application-card { position: relative; min-height: 520px; overflow: hidden; }
.lm-application-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.lm-application-card::after { content: ''; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.68)); }
.lm-application-card span { position: absolute; z-index: 2; left: 1.5rem; bottom: 1.4rem; color: var(--lm-white); font-family: var(--lm-display); font-size: 1.65rem; }
.lm-application-card:hover img { transform: scale(1.045); }
.lm-supply { display: grid; grid-template-columns: 1.2fr .8fr; gap: 7vw; align-items: center; }
.lm-supply-image img { min-height: 620px; object-fit: cover; }
.lm-supply-copy p { color: #59645e; }
.lm-supply-copy ul,.lm-contact-copy ul,.lm-product-row ul { list-style: none; margin: 2rem 0; padding: 0; border-top: 1px solid var(--lm-line); }
.lm-supply-copy li,.lm-contact-copy li,.lm-product-row li { padding: .7rem 0; border-bottom: 1px solid var(--lm-line); }
.lm-private-label { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(360px,.9fr); color: var(--lm-white); background: var(--lm-deep); }
.lm-private-label-media { min-height: 680px; overflow: hidden; }
.lm-private-label-media img { height: 100%; object-fit: cover; object-position: center; filter: brightness(.84) saturate(.92); }
.lm-private-label-copy { display: flex; flex-direction: column; justify-content: center; width: auto; margin: 0; padding: clamp(3rem,6vw,7rem); background: var(--lm-deep); }
.lm-private-label-copy h2 { color: var(--lm-white); }
.lm-private-label-copy p { color: rgba(255,255,255,.78); }

.lm-page-hero { position: relative; min-height: min(760px, 84svh); display: flex; align-items: flex-end; color: var(--lm-white); background: var(--lm-deep); }
.lm-page-hero > img,.lm-page-hero-shade { position: absolute; inset: 0; height: 100%; object-fit: cover; }
.lm-page-hero-shade { background: linear-gradient(90deg,rgba(5,39,35,.86),rgba(5,39,35,.25)),linear-gradient(0deg,rgba(5,39,35,.45),transparent 55%); }
.lm-page-hero-copy { position: relative; z-index: 2; width: min(980px,86vw); margin: 0 0 clamp(70px,9vw,130px) clamp(24px,8vw,140px); }
.lm-page-hero h1 { margin-bottom: 1.4rem; font-size: clamp(3.15rem,5.8vw,6.2rem); line-height: .92; color: var(--lm-white); }
.lm-page-hero p { max-width: 720px; margin: 0; font-size: 1.12rem; color: rgba(255,255,255,.8); }
.lm-story { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; }
.lm-story-body { padding-top: 2rem; font-size: 1.06rem; color: #536058; }
.lm-story-contact { display: flex; flex-wrap: wrap; gap: .45rem 1rem; align-items: baseline; margin-top: 1.7rem; padding-top: 1.2rem; border-top: 1px solid var(--lm-line); }
.lm-story-contact strong { color: var(--lm-deep); font-family: var(--lm-sans); font-size: .68rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.lm-story-contact a { color: var(--lm-leaf); font-weight: 700; overflow-wrap: anywhere; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .22em; }
.lm-image-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.lm-image-pair img { aspect-ratio: 16/10; object-fit: cover; }
.lm-image-pair figcaption { padding-top: .8rem; font-size: .77rem; color: #68736d; }
.lm-value-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--lm-line); border-left: 1px solid var(--lm-line); }
.lm-value-grid article { min-height: 310px; border-right: 1px solid var(--lm-line); border-bottom: 1px solid var(--lm-line); }
.lm-value-card-image { aspect-ratio: 4/3; object-fit: cover; }
.lm-value-card-body { padding: 1.7rem 2rem 2rem; }
.lm-value-grid span,.lm-quality-grid article > span,.lm-supply-steps article > span { color: var(--lm-fresh); font-size: .72rem; letter-spacing: .16em; }
.lm-value-grid h3 { margin: 1rem 0 .8rem; font-family: var(--lm-display); font-size: 1.7rem; font-weight: 400; }
.lm-value-grid p { color: #5e6963; }
.lm-product-row { display: grid; grid-template-columns: 70px minmax(280px,.82fr) 1.18fr; gap: 4vw; align-items: center; padding: 3rem 0; border-bottom: 1px solid var(--lm-line); scroll-margin-top: 110px; }
.lm-product-row-number { align-self: start; color: var(--lm-fresh); font-size: .72rem; letter-spacing: .14em; }
.lm-product-row img { aspect-ratio: 4/3; object-fit: cover; }
.lm-product-row h2 { font-size: clamp(2.5rem,4vw,4.5rem); }
.lm-wide-quote { padding: clamp(70px,9vw,130px) 10vw; background: var(--lm-fresh); color: var(--lm-white); }
.lm-wide-quote p { max-width: 1120px; margin: 0 auto; font-family: var(--lm-display); font-size: clamp(2.1rem,4.4vw,4.7rem); line-height: 1.05; text-align: center; }
.lm-spectrum { display: grid; grid-template-columns: repeat(4,1fr); background: var(--lm-white); border-top: 1px solid var(--lm-line); border-bottom: 1px solid var(--lm-line); }
.lm-spectrum > div { min-width: 0; padding: 1.2rem clamp(1rem,2.5vw,2.5rem) 1.4rem; border-right: 1px solid var(--lm-line); }
.lm-spectrum > div:last-child { border-right: 0; }
.lm-spectrum span { display: block; height: 8px; margin-bottom: 1rem; background: var(--tone); }
.lm-spectrum strong { color: var(--lm-leaf); font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.lm-application-details article { display: grid; grid-template-columns: 1.08fr .92fr; gap: 7vw; align-items: center; padding: 3rem 0; border-bottom: 1px solid var(--lm-line); }
.lm-application-details article:nth-child(even) img { order: 2; }
.lm-application-details img { min-height: 470px; object-fit: cover; }
.lm-application-overview { display: grid; grid-template-columns: .72fr 1.28fr; gap: 7vw; align-items: center; }
.lm-application-overview > div p { max-width: 560px; margin-bottom: 2rem; color: #59645e; }
.lm-application-overview figure { margin: 0; }
.lm-application-overview img { width: 100%; background: var(--lm-white); box-shadow: 0 24px 60px rgba(11,47,39,.08); }
.lm-application-overview figcaption { margin-top: .8rem; font-size: .74rem; color: #68736d; text-align: right; }
.lm-process-band { text-align: center; }
.lm-process-band h2 { max-width: 1000px; margin: 0 auto 2.4rem; color: var(--lm-white); }
.lm-quality-grid { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--lm-line); border-left: 1px solid var(--lm-line); }
.lm-quality-grid article { min-height: 330px; padding: 2.2rem; border-right: 1px solid var(--lm-line); border-bottom: 1px solid var(--lm-line); }
.lm-quality-grid h2 { margin: 5rem 0 1rem; font-size: clamp(2rem,3vw,3.3rem); }
.lm-quality-grid p { max-width: 520px; color: #5b6760; }
.lm-quality-visual { display: grid; grid-template-columns: .7fr 1.3fr; gap: 6vw; align-items: center; }
.lm-quality-visual img { mix-blend-mode: multiply; }
.lm-supply-steps { display: grid; grid-template-columns: repeat(5,1fr); gap: 0; }
.lm-supply-steps article { min-width: 0; border-top: 1px solid var(--lm-line); border-right: 1px solid var(--lm-line); }
.lm-supply-step-image { aspect-ratio: 1/1; object-fit: cover; }
.lm-supply-step-body { padding: 1.5rem 1.5rem 2rem; }
.lm-supply-steps h2 { margin: 1rem 0 .8rem; font-size: 2rem; }
.lm-supply-steps p { color: #5b6760; }
.lm-factory-gallery-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: clamp(18px,2.4vw,36px); }
.lm-factory-gallery-grid figure { margin: 0; }
.lm-factory-gallery-grid img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.lm-factory-gallery-grid figcaption { padding-top: .8rem; font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; color: #5b6760; }
.lm-factory-landscape { position: relative; min-height: 680px; display: flex; align-items: flex-end; }
.lm-factory-landscape > img { position: absolute; inset: 0; height: 100%; object-fit: cover; }
.lm-factory-landscape::after { content: ''; position: absolute; inset: 25% 0 0; background: linear-gradient(transparent,rgba(5,39,35,.82)); }
.lm-factory-landscape > div { position: relative; z-index: 2; width: min(900px,88vw); padding: 0 0 5vw 8vw; color: var(--lm-white); }
.lm-factory-landscape h2 { margin-bottom: 0; color: var(--lm-white); }
.lm-knowledge,.lm-storage { display: grid; grid-template-columns: .85fr 1.15fr; gap: 7vw; align-items: center; }
.lm-knowledge > img,.lm-storage > img { min-height: 570px; object-fit: cover; }
.lm-knowledge-cards { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: rgba(10,63,55,.14); }
.lm-knowledge-cards article { min-height: 270px; padding: 2rem; background: var(--lm-mist); }
.lm-knowledge-cards h3 { margin-top: 5rem; font-family: var(--lm-display); font-size: 2rem; font-weight: 400; }
.lm-insights { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.2rem; }
.lm-insights article { min-height: 420px; padding: 2.2rem; background: var(--lm-white); border-top: 4px solid var(--lm-fresh); }
.lm-insights article > span { font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--lm-leaf); }
.lm-insights h2 { margin: 5rem 0 1.2rem; font-size: 2.15rem; line-height: 1.06; }
.lm-insights p { color: #5d6862; }
.lm-contact { display: grid; grid-template-columns: .7fr 1.3fr; gap: 8vw; align-items: start; }
.lm-contact-copy { position: sticky; top: 110px; }
.lm-contact-details { display: grid; gap: 0; margin-top: 2.4rem; border-top: 1px solid var(--lm-line); }
.lm-contact-details > div { padding: 1.15rem 0; border-bottom: 1px solid var(--lm-line); }
.lm-contact-details span { display: block; margin-bottom: .35rem; color: var(--lm-leaf); font-size: .65rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.lm-contact-details strong { display: block; font-family: var(--lm-display); font-size: 1.35rem; font-weight: 400; color: var(--lm-deep); }
.lm-contact-details p { margin: .4rem 0 0; font-size: .84rem; color: #69736e; }
.lm-contact-details strong a { color: inherit; overflow-wrap: anywhere; }
.lm-contact-details p a { color: var(--lm-leaf); font-weight: 700; }
.lm-sample-request { display: grid; grid-template-columns: .82fr 1.18fr; gap: 4vw; align-items: start; }
.lm-sample-brief { position: sticky; top: 110px; padding: clamp(32px,4vw,58px); color: var(--lm-white); background: var(--lm-deep); }
.lm-sample-brief h2 { margin: 1.1rem 0 1.2rem; color: var(--lm-white); }
.lm-sample-brief p { color: rgba(255,255,255,.74); }
.lm-sample-brief ul { list-style: none; margin: 2.2rem 0; padding: 0; border-top: 1px solid rgba(255,255,255,.18); }
.lm-sample-brief li { padding: .85rem 0; border-bottom: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.86); }
.lm-sample-brief .lm-text-link { color: var(--lm-white); }
.lm-inquiry-form { padding: clamp(24px,4vw,56px); background: var(--lm-white); box-shadow: 0 24px 60px rgba(11,47,39,.08); }
.lm-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.lm-inquiry-form label { display: grid; gap: .45rem; margin-bottom: 1.2rem; color: var(--lm-deep); font-size: .77rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.lm-inquiry-form input,.lm-inquiry-form select,.lm-inquiry-form textarea { width: 100%; border: 1px solid var(--lm-line); border-radius: 0; background: #fbfaf5; color: var(--lm-ink); font: 400 1rem/1.4 var(--lm-body); text-transform: none; letter-spacing: normal; padding: .9rem 1rem; }
.lm-inquiry-form textarea { resize: vertical; }
.lm-honeypot { position: absolute !important; left: -9999px !important; }
.lm-form-status { margin-bottom: 1.5rem; padding: 1rem; border-left: 4px solid; }
.lm-success { background: #e7f2df; border-color: var(--lm-fresh); }
.lm-error { background: #f7e8e3; border-color: #a94735; }

.lm-article-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(22px,2.5vw,38px); }
.lm-article-card { overflow: hidden; background: var(--lm-white); border: 1px solid var(--lm-line); box-shadow: 0 22px 55px rgba(8,47,41,.07); }
.lm-site-shell .lm-article-card > img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.lm-article-card-body { padding: clamp(24px,2.5vw,38px); }
.lm-article-card h3 { margin: 0 0 .85rem; font-family: var(--lm-display); font-size: clamp(1.9rem,2.5vw,2.65rem); font-weight: 400; line-height: 1.05; }
.lm-article-summary { margin-bottom: 1.7rem; color: var(--lm-leaf); font-weight: 500; }
.lm-article-copy { padding-top: 1.5rem; border-top: 1px solid var(--lm-line); }
.lm-article-copy p { margin-bottom: 1rem; color: var(--lm-soft-ink); }

.lm-admin-page { min-height: 100vh; margin: 0; padding: clamp(24px,6vw,80px); background: var(--lm-paper); color: var(--lm-ink); font-family: var(--lm-body); line-height: 1.55; }
.lm-admin-page * { box-sizing: border-box; }
.lm-admin-page a { color: inherit; }
.lm-admin-shell { width: min(1100px,100%); margin: 0 auto; }
.lm-admin-card { padding: clamp(26px,5vw,64px); background: var(--lm-white); border-top: 5px solid var(--lm-matcha); box-shadow: 0 28px 75px rgba(8,47,41,.1); }
.lm-admin-login { width: min(560px,100%); margin: 8vh auto 0; }
.lm-admin-card h1,.lm-admin-card h2 { margin-top: 0; font-family: var(--lm-display); font-weight: 400; line-height: 1.05; }
.lm-admin-card h1 { font-size: clamp(2.5rem,5vw,4.5rem); }
.lm-admin-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 2rem; margin-bottom: 2rem; }
.lm-admin-page form > label,.lm-admin-row label { display: grid; gap: .45rem; margin-bottom: 1.2rem; color: var(--lm-deep); font-size: .76rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.lm-admin-page input,.lm-admin-page textarea { width: 100%; padding: .9rem 1rem; color: var(--lm-ink); background: #fbfcf7; border: 1px solid var(--lm-line); border-radius: 0; font: 400 1rem/1.45 var(--lm-body); text-transform: none; letter-spacing: normal; }
.lm-admin-page textarea { resize: vertical; }
.lm-admin-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; align-items: center; }
.lm-admin-check { display: flex !important; grid-template-columns: none; align-items: center; gap: .65rem !important; }
.lm-admin-check input { width: 20px; height: 20px; }
.lm-admin-preview { display: block; width: min(380px,100%); height: auto; margin: 0 0 1.2rem; }
.lm-admin-alert,.lm-admin-notice { margin: 0 0 1.5rem; padding: 1rem 1.2rem; border-left: 4px solid; }
.lm-admin-alert { background: #f7e8e3; border-color: #a94735; }
.lm-admin-notice { background: #e7f2df; border-color: var(--lm-matcha); }
.lm-admin-list { display: grid; gap: 1rem; }
.lm-admin-article { display: grid; grid-template-columns: 1fr auto; gap: 2rem; padding: 1.5rem 0; border-top: 1px solid var(--lm-line); }
.lm-admin-article h2 { margin: .35rem 0 .6rem; font-size: 2rem; }
.lm-admin-article p { margin: 0; color: var(--lm-soft-ink); }
.lm-admin-article span { color: var(--lm-leaf); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.lm-admin-actions { display: flex; align-items: center; gap: .8rem; }
.lm-admin-actions form { margin: 0; }
.lm-admin-actions a,.lm-admin-actions button,.lm-admin-signout { padding: .55rem .8rem; background: transparent; border: 1px solid var(--lm-line); color: var(--lm-deep); font: 600 .75rem/1 var(--lm-body); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.lm-admin-actions .lm-admin-delete { color: #8b3127; }
.lm-admin-signout { margin-top: 2rem; }
.lm-admin-empty { color: var(--lm-soft-ink); }

.lm-footer { color: var(--lm-white); background: var(--lm-deep); }
.lm-footer-cta { position: relative; display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding: clamp(60px,8vw,120px) clamp(24px,7vw,120px); background: linear-gradient(rgba(5,39,35,.78),rgba(5,39,35,.78)),url('../images/tea-garden-banner.jpg') center/cover; }
.lm-footer-cta h2 { max-width: 900px; margin: 0; color: var(--lm-white); }
.lm-footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3,1fr); gap: 5vw; padding: 5rem clamp(24px,7vw,120px); }
.lm-footer-grid h3 { margin-bottom: 1.2rem; font-size: .72rem; letter-spacing: .15em; text-transform: uppercase; color: var(--lm-gold); }
.lm-footer-grid a { display: block; margin: .45rem 0; color: rgba(255,255,255,.68) !important; }
.lm-footer-brand strong { font-family: var(--lm-display); font-size: 2rem; font-weight: 400; }
.lm-footer-brand p { max-width: 430px; color: rgba(255,255,255,.65); }
.lm-footer-contact p,.lm-footer-contact address { margin: 0 0 .75rem; color: rgba(255,255,255,.68); font-size: .84rem; font-style: normal; line-height: 1.65; }
.lm-footer-contact .lm-footer-company { color: var(--lm-white); font-weight: 600; }
.lm-footer-contact a { overflow-wrap: anywhere; }
.lm-footer-phone { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem; }
.lm-footer-phone a { display: inline; }
.lm-footer-bottom { display: flex; justify-content: space-between; gap: 2rem; padding: 1.3rem clamp(24px,7vw,120px); border-top: 1px solid rgba(255,255,255,.13); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.5); }
.lm-footer-back-top { display: inline-flex; align-items: center; gap: .45rem; margin-left: auto; padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.28); color: rgba(255,255,255,.76) !important; font-weight: 600; line-height: 1; }
.lm-footer-back-top:hover { border-color: rgba(255,255,255,.7); color: var(--lm-white) !important; }

.lm-site-shell :where(a,button,input,select,textarea):focus-visible { outline: 2px solid var(--lm-gold); outline-offset: 4px; }
.lm-site-shell p,.lm-story-body,.lm-product-card p,.lm-grade-copy p,.lm-supply-copy p,.lm-value-grid p,.lm-product-row p,.lm-quality-grid p,.lm-supply-steps p,.lm-insights p { color: var(--lm-soft-ink); }
.lm-section-deep p,.lm-footer p,.lm-page-hero p,.lm-hero p,.lm-private-label p { color: rgba(255,255,255,.78); }
.lm-reveal { opacity: 1; transform: none; transition: opacity .55s ease, transform .55s cubic-bezier(.2,.7,.2,1); }
.lm-site-shell.lm-motion-ready .lm-reveal { opacity: 0; transform: translateY(16px); }
.lm-site-shell.lm-motion-ready .lm-reveal.is-visible { opacity: 1; transform: translateY(0); }
.lm-site-shell :focus-visible { outline: 3px solid var(--lm-gold); outline-offset: 4px; }

@media (max-width: 1120px) {
  body.lm-menu-open { overflow: hidden; }
  body.lm-menu-open .lm-header.is-scrolled { backdrop-filter: none; }
  .lm-menu-toggle { position: relative; z-index: 2; display: grid; grid-template-columns: auto 24px; align-items: center; gap: 8px; padding: .5rem; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }
  .lm-menu-toggle i { grid-column: 2; display: block; width: 24px; height: 1px; background: currentColor; }
  .lm-menu-toggle i:last-child { transform: translateY(-6px); }
  .lm-nav { position: fixed; inset: 0; width: 100vw; height: 100vh; height: 100dvh; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: .2rem; padding: 104px 8vw 48px; background: var(--lm-deep); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; transform: translateX(100%); transition: transform .35s ease; }
  .lm-nav.is-open { transform: translateX(0); }
  .lm-nav-item { width: 100%; }
  .lm-nav-parent { width: 100%; justify-content: flex-start; gap: .45rem; }
  .lm-nav-primary-link { font-family: var(--lm-display); font-size: clamp(1.55rem,5vw,3rem); font-weight: 400; letter-spacing: -.02em; text-transform: none; }
  .lm-nav-primary-link::after { bottom: -.2rem; }
  .lm-submenu-toggle { width: 44px; height: 44px; flex: 0 0 44px; border: 0; opacity: .82; }
  .lm-submenu-toggle::after { width: 8px; height: 8px; border-width: 0 1.5px 1.5px 0; }
  .lm-submenu { position: static; min-width: 0; max-height: 0; padding: 0 0 0 1rem; background: transparent; border: 0; box-shadow: none; opacity: 0; visibility: hidden; overflow: hidden; pointer-events: none; transform: none; transition: max-height .3s ease, opacity .2s ease, visibility .2s ease, padding .3s ease; }
  .lm-submenu::before { display: none; }
  .lm-submenu a { padding: .45rem 0; color: rgba(255,255,255,.78) !important; font-size: .88rem; font-weight: 500; }
  .lm-submenu a:hover,.lm-submenu a:focus-visible { background: transparent; color: var(--lm-white) !important; }
  .lm-nav-item:hover .lm-submenu,.lm-nav-item:focus-within .lm-submenu { max-height: 0; padding-top: 0; opacity: 0; visibility: hidden; pointer-events: none; transform: none; }
  .lm-nav-item.is-submenu-open .lm-submenu { max-height: 260px; padding-top: .45rem; padding-bottom: .65rem; opacity: 1; visibility: visible; pointer-events: auto; }
  .lm-nav .lm-nav-cta { margin-top: 1rem; font-family: var(--lm-body); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; }
  .lm-supply-steps { grid-template-columns: repeat(3,1fr); }
  .lm-supply-steps article { min-height: 0; }
  .lm-knowledge-cards { grid-template-columns: repeat(2,1fr); }
  .lm-article-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 800px) {
  .lm-header { min-height: 72px; padding: 0 20px; }
  .lm-nav { padding: 88px 24px 36px; }
  .lm-brand-logo-frame { width: 52px; height: 52px; }
  .lm-hero-copy,.lm-page-hero-copy { width: auto; margin-left: 24px; margin-right: 24px; }
  .lm-hero h1 { font-size: clamp(3rem,11.5vw,4.9rem); }
  .lm-hero-shade { background: linear-gradient(90deg,rgba(4,31,28,.78),rgba(4,31,28,.28)),linear-gradient(0deg,rgba(4,31,28,.55),transparent 55%); }
  .lm-section,.lm-section-soft,.lm-section-deep { padding: 78px 24px; }
  .lm-intro,.lm-section-heading,.lm-grade-story,.lm-supply,.lm-story,.lm-quality-visual,.lm-knowledge,.lm-storage,.lm-contact,.lm-sample-request,.lm-application-overview { grid-template-columns: 1fr; }
  .lm-intro { gap: 3rem; }
  .lm-section-heading { align-items: start; margin-bottom: 2.7rem; }
  .lm-product-grid { grid-template-columns: 1fr; }
  .lm-article-grid { grid-template-columns: 1fr; }
  .lm-site-shell .lm-article-card > img { height: auto; aspect-ratio: auto; object-fit: contain; }
  .lm-product-card p { min-height: 0; }
  .lm-application-grid { grid-template-columns: 1fr 1fr; }
  .lm-application-card,.lm-application-card-wide { min-height: 0; display: flex; flex-direction: column; background: var(--lm-deep); }
  .lm-application-card-wide { grid-column: span 2; }
  .lm-application-card img { position: static; height: auto; aspect-ratio: auto; object-fit: contain; transform: none; }
  .lm-application-card::after { display: none; }
  .lm-application-card span { position: static; display: block; padding: 1rem 1.25rem 1.1rem; background: var(--lm-deep); font-size: 1.35rem; }
  .lm-application-card:hover img { transform: none; }
  .lm-private-label { grid-template-columns: 1fr; }
  .lm-private-label-media { min-height: 0; }
  .lm-private-label-copy { width: 100%; padding: 2.5rem 2rem 3rem; }
  .lm-image-pair,.lm-value-grid,.lm-quality-grid,.lm-insights { grid-template-columns: 1fr; }
  .lm-product-row { grid-template-columns: 42px 1fr; }
  .lm-product-row img { grid-column: span 2; }
  .lm-product-row > div:last-child { grid-column: 2; }
  .lm-application-details article { grid-template-columns: 1fr; gap: 2rem; }
  .lm-application-details article:nth-child(even) img { order: 0; }
  .lm-application-overview { gap: 2.5rem; }
  .lm-supply-steps { grid-template-columns: 1fr 1fr; }
  .lm-supply-steps article { min-height: 0; }
  .lm-contact-copy { position: static; }
  .lm-sample-brief { position: static; }
  .lm-footer-cta { align-items: flex-start; flex-direction: column; }
  .lm-footer-grid { grid-template-columns: 1fr 1fr; }
  .lm-footer-brand { grid-column: span 2; }
  .lm-spectrum { grid-template-columns: repeat(2,1fr); }
  .lm-spectrum > div:nth-child(2) { border-right: 0; }
  .lm-spectrum > div:nth-child(-n+2) { border-bottom: 1px solid var(--lm-line); }
  .lm-product-card img,
  .lm-image-pair img,
  .lm-value-card-image,
  .lm-product-row img,
  .lm-application-details img,
  .lm-supply-step-image,
  .lm-factory-gallery-grid img,
  .lm-supply-image img,
  .lm-private-label-media img,
  .lm-knowledge > img,
  .lm-storage > img {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
  }
  .lm-page-hero {
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto;
    align-items: stretch;
    padding-top: 72px;
    background: var(--lm-deep);
  }
  .lm-page-hero > img {
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    object-fit: contain;
    object-position: center;
  }
  .lm-page-hero-shade { display: none; }
  .lm-page-hero-copy {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 42px 24px 54px;
    background: var(--lm-deep);
  }
  .lm-factory-landscape {
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto;
    align-items: stretch;
    background: var(--lm-deep);
  }
  .lm-factory-landscape > img {
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    object-fit: contain;
    object-position: center;
  }
  .lm-factory-landscape::after { display: none; }
  .lm-factory-landscape > div {
    width: 100%;
    padding: 36px 24px 44px;
    background: var(--lm-deep);
  }
}

@media (max-width: 520px) {
  .lm-site-shell { max-width: 100vw; overflow-x: hidden; }
  .lm-header { width: 100%; }
  .lm-menu-toggle { min-width: 78px; justify-content: end; }
  .lm-hero { min-height: 0; display: grid; grid-template-rows: auto auto; align-items: stretch; padding-top: 72px; }
  .lm-hero-slides { position: relative; inset: auto; width: 100%; aspect-ratio: 16/9; background: var(--lm-deep); }
  .lm-site-shell .lm-hero-slide-image { object-fit: contain; transform: none; transition: none; }
  .lm-hero-shade { display: none; }
  .lm-hero-copy { position: relative; width: 100%; max-width: none; margin: 0; padding: 42px 24px 54px; background: var(--lm-deep); }
  .lm-carousel-prev,.lm-carousel-next { top: calc(72px + 28.125vw); width: 42px; height: 42px; }
  .lm-carousel-prev { left: 12px; }
  .lm-carousel-next { right: 12px; }
  .lm-carousel-dots { top: calc(72px + 56.25vw - 26px); bottom: auto; }
  .lm-eyebrow { display: block; max-width: 100%; font-size: .62rem; line-height: 1.55; letter-spacing: .11em; overflow-wrap: anywhere; }
  .lm-hero h1 { max-width: 100%; font-size: clamp(2.65rem, 12.4vw, 3rem); line-height: .91; }
  .lm-actions { align-items: flex-start; flex-direction: column; gap: 1.3rem; }
  .lm-page-hero { min-height: 0; }
  .lm-page-hero h1 { max-width: 100%; font-size: 3rem; overflow-wrap: anywhere; }
  .lm-section h2,.lm-section-soft h2,.lm-section-deep h2 { font-size: clamp(2.25rem, 10vw, 2.75rem); }
  .lm-application-grid { grid-template-columns: 1fr; }
  .lm-application-card,.lm-application-card-wide { grid-column: auto; min-height: 0; }
  .lm-grade-story { padding-left: 16px; padding-right: 16px; }
  .lm-product-row { grid-template-columns: 1fr; }
  .lm-product-row img,.lm-product-row > div:last-child { grid-column: 1; }
  .lm-product-row-number { display: none; }
  .lm-supply-steps,.lm-knowledge-cards,.lm-field-row { grid-template-columns: 1fr; }
  .lm-factory-gallery-grid { grid-template-columns: 1fr; }
  .lm-supply-steps article { min-height: 0; }
  .lm-footer-grid { grid-template-columns: 1fr; }
  .lm-footer-brand { grid-column: auto; }
  .lm-footer-bottom { align-items: flex-start; flex-direction: column; }
  .lm-footer-back-top { margin-left: 0; }
  .lm-spectrum { grid-template-columns: 1fr; }
  .lm-spectrum > div { border-right: 0; border-bottom: 1px solid var(--lm-line); }
  .lm-spectrum > div:last-child { border-bottom: 0; }
  .lm-admin-page { padding: 16px; }
  .lm-admin-card { padding: 24px 18px; }
  .lm-admin-heading,.lm-admin-article { grid-template-columns: 1fr; display: grid; }
  .lm-admin-row { grid-template-columns: 1fr; }
  .lm-admin-actions { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  .lm-site-shell *, .lm-site-shell *::before, .lm-site-shell *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .lm-reveal { opacity: 1; transform: none; }
}
