/* v6: focused refinements for Home, Cases, About and Contact. */
:root { --pin-green: #a0eb1d; --pin-ink: #111613; }

/* English Lenovo feature copy; retain the original product stage. */
.brand-lead--lenovo .brand-lead__copy h3 { font-size: clamp(20px,1.9vw,28px); line-height: 1.25; letter-spacing: -.035em; }
.brand-lead--lenovo .brand-lead__copy p { font-size: 12px; line-height: 1.7; letter-spacing: 0; max-width: 270px; }

/* Six stages share one photographic world, with a gentle crossfade. */
.pinlasuo-method { position: relative; isolation: isolate; overflow: hidden; background: #080b0c; }
.method-backdrop { position: absolute; inset: 0; z-index: -2; pointer-events: none; }
.method-backdrop__image { position: absolute; right: 0; bottom: 0; width: 90%; height: auto; object-fit: contain; object-position: center bottom; opacity: 0; transition: opacity .8s ease; }
.method-backdrop__image[data-tab="04"] { width: 56%; }
.method-backdrop__image.is-active { opacity: 1; }
.pinlasuo-method::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg,#080b0cbb 0%,transparent 72%),linear-gradient(180deg,#080b0cee, #080b0c88 44%, transparent 69%, #080b0c55); }
.pinlasuo-method .pinlasuo-method__inner { position: relative; padding: 88px 36px 340px; min-height: 880px; }
.pinlasuo-method__main { grid-template-columns: minmax(230px,.78fr) minmax(0,1.65fr); gap: clamp(35px,5vw,85px); }
.pinlasuo-method .pinlasuo-method__title { font-size: clamp(36px,3.7vw,52px); line-height: 1.08; letter-spacing: -.045em; text-wrap: balance; }
.pinlasuo-method .pinlasuo-method__desc { color: #b6bdbb; font-size: 14px; line-height: 1.8; }
.pinlasuo-method .method-tabs { background: #0b100d70; backdrop-filter: blur(12px); }
.pinlasuo-method .method-tabs__item { width: auto; min-width: 0; min-height: 78px; transition: background .35s, color .35s; }
.method-tabs__item:hover:not(.is-active) { color: #fff; background: #ffffff12; }
.method-tabs__item:focus-visible { outline: 2px solid #fff; outline-offset: -5px; }
.pinlasuo-method .method-panels { min-height: 300px; padding-top: 35px; }
.pinlasuo-method .method-panel__title { font-size: clamp(28px,3.05vw,42px); line-height: 1.16; letter-spacing: -.035em; margin-bottom: 18px; max-width: 730px; }
.pinlasuo-method .method-panel__desc { color: #b6bdbb; font-size: 14px; line-height: 1.75; max-width: 650px; margin-bottom: 24px; }
.pinlasuo-method .method-panel__list { gap: 12px 24px; }
.pinlasuo-method .method-panel__list li { color: #d2d7d5; font-size: 13px; }
.partner-bar { background: #080b0c; }
.partner-bar .partner-bar__inner { padding: 54px 36px 86px; }
.partner-bar__label { color: #aeb5b1; }
.partner-bar .partner-bar__list { grid-template-columns: repeat(5,minmax(0,1fr)); border: 0; gap: 1px; background: #ffffff1c; }
.partner-bar .partner-bar__item { min-height: 91px; padding: 22px; border: 0; background: #080b0c; transition: background .35s; }
.partner-bar .partner-bar__item:hover { background: #151b15; }
.partner-bar__logo-wrap { width: 100%; height: 42px; }
.partner-bar .partner-bar__logo { max-height: 35px; max-width: 130px; width: 100%; height: 100%; object-fit: contain; }
.partner-bar__logo--mono { filter: grayscale(1) brightness(0) invert(1); opacity: .67; }

/* Broader project grid; product metadata is part of the actual HTML. */
.cases-page .cases-page__inner { width: 100%; max-width: 1680px; padding: 125px clamp(24px,4vw,76px) 100px; margin: 0 auto; }
.cases-page__head { margin-bottom: 46px; }
.cases-page .cases-page__title { font-size: clamp(36px,4.2vw,64px); line-height: 1.08; letter-spacing: -.045em; }
.cases-page__link { font-size: 17px; }
.cases-search { margin-bottom: 40px; width: 650px; padding: 10px; gap: 10px; border-radius: 8px; box-shadow: none; border-color: #e6e8e3; }
.cases-search__input { flex: 1; height: 48px; padding: 0 16px; border: 0; border-radius: 3px; background: #f6f7f3; }
.cases-search__btn { height: 48px; min-width: 105px; background: #a0eb1d; color: #111; border-radius: 3px; }
.cases-page .cases-tabs { gap: 10px; margin-bottom: 30px; justify-content: center; }
.cases-tabs__item { padding: 12px 17px; border-radius: 3px; font-size: 11px; }
.cases-tabs__item.is-active { background: #111613; }
.cases-page .cases-grid { gap: 22px; }
.cases-card { position: relative; opacity: 1; border-radius: 4px; }
.cases-card:hover { opacity: 1; }
.cases-card__media { aspect-ratio: 1.25; background: #edf0e9; }
.cases-card__image { transition: transform .85s cubic-bezier(.22,1,.36,1),filter .5s; }
.cases-card__overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(18px,2vw,30px); color: #fff; background: linear-gradient(180deg,transparent 30%,#080e0bcb 100%); opacity: 0; transition: opacity .45s ease; }
.cases-card__name { position: relative; margin: 13px 28px 0 0; font-size: clamp(20px,1.85vw,28px); font-weight: 600; line-height: 1.15; letter-spacing: -.03em; transform: translateY(12px); transition: transform .5s cubic-bezier(.22,1,.36,1); }
.cases-card__tags { display: flex; flex-wrap: wrap; gap: 6px; transform: translateY(15px); transition: transform .5s ease .04s; }
.cases-card__tags span { display: inline-flex; padding: 5px 8px; border: 1px solid #ffffff5c; background: #111a1466; border-radius: 3px; font-size: 10px; line-height: 1.2; color: #fff; }
.cases-card__arrow { position: absolute; right: 25px; bottom: 26px; font-size: 24px; color: #a0eb1d; }
.cases-card:hover .cases-card__overlay,.cases-card:focus-visible .cases-card__overlay { opacity: 1; }
.cases-card:hover .cases-card__name,.cases-card:hover .cases-card__tags,.cases-card:focus-visible .cases-card__name,.cases-card:focus-visible .cases-card__tags { transform: translateY(0); }
.cases-card:hover .cases-card__image,.cases-card:focus-visible .cases-card__image { transform: scale(1.045); }
.cases-card:focus-visible { outline: 3px solid #649b13; outline-offset: 4px; }
.cases-empty { text-align: center; padding: 50px 20px; color: #697164; }

/* Corporate culture: one coherent editorial grid and three precise principles. */
.culture-system { background: #f5f6f2; margin-top: 90px; }
.culture-system__inner { padding: 86px 36px 94px; }
.culture-system__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 38px; }
.culture-system__head h2 { margin: 0; color: #111613; font-size: clamp(34px,4vw,54px); font-weight: 700; line-height: 1.1; letter-spacing: -.045em; }
.culture-system__head > p { max-width: 280px; color: #6c7468; font-size: 14px; line-height: 1.7; }
.culture-system__grid { display: grid; grid-template-columns: .9fr 1.35fr; gap: 0; border: 1px solid #dde2d6; }
.culture-system__statement { position: relative; min-height: 520px; padding: 38px; overflow: hidden; color: #f5f7f1; background: #131b13; }
.culture-system__mark { display: inline-grid; place-items: center; border: 1px solid #a0eb1d55; color: #a0eb1d; width: 42px; height: 42px; font-size: 25px; margin-bottom: 36px; }
.culture-system__statement > p { position: relative; z-index: 1; font-size: clamp(32px,3.3vw,47px); font-weight: 600; line-height: 1.1; letter-spacing: -.04em; }
.culture-system__note { display: block; position: relative; z-index: 1; margin-top: 20px; font-size: 13px; color: #b1c09f; }
.culture-system__geometry { position: absolute; width: 90%; right: -7%; bottom: -12px; color: #a0eb1d; stroke-width: 1; opacity: .55; transition: transform 1.2s cubic-bezier(.22,1,.36,1); }
.culture-system__statement:hover .culture-system__geometry { transform: translate(-12px,-8px); }
.culture-system__principles { display: grid; grid-template-rows: repeat(3,1fr); background: #fff; }
.culture-principle { display: grid; grid-template-columns: 42px 1fr 22px; align-items: start; gap: 22px; padding: 35px; border-bottom: 1px solid #e2e7db; outline-offset: -4px; transition: background .35s; }
.culture-principle:last-child { border-bottom: 0; }
.culture-principle > svg { width: 40px; height: 40px; stroke: #5d771b; stroke-width: 1.4; transition: transform .5s,color .5s; }
.culture-principle h3 { font-size: 22px; line-height: 1.2; margin: 0 0 13px; font-weight: 600; letter-spacing: -.03em; }
.culture-principle p { max-width: 420px; color: #737b6e; font-size: 14px; line-height: 1.8; }
.culture-principle__arrow { color: #6a7b57; font-size: 21px; transition: transform .4s; }
.culture-principle:hover,.culture-principle:focus-visible { background: #f5f9ed; }
.culture-principle:hover > svg,.culture-principle:focus-visible > svg { transform: translateY(-3px); }
.culture-principle:hover .culture-principle__arrow,.culture-principle:focus-visible .culture-principle__arrow { transform: translate(3px,-3px); }
.culture-principle:focus-visible { outline: 2px solid #6d951e; }

/* Twelve equal certificate cards per page. No masonry, cropping or auto-scroll. */
.about-awards { background: #fff; }
.about-awards .about-awards__inner { padding: 86px 36px 76px; }
.about-awards .about-awards__title { font-size: clamp(34px,4vw,54px); line-height: 1.1; margin-bottom: 14px; letter-spacing: -.045em; text-align: left; }
.about-awards__intro { color: #72796c; font-size: 14px; margin-bottom: 33px; }
.about-awards .about-awards__viewport { height: auto; overflow: visible; }
.about-awards .about-awards__grid { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 18px; align-items: stretch; }
.about-awards .about-awards__card { display: block; width: 100%; height: auto; aspect-ratio: auto; padding: 0; overflow: hidden; border: 1px solid #e1e5db; border-radius: 3px; background: #f7f8f4; transform: none; }
.certificate-frame { display: grid; place-items: center; width: 100%; aspect-ratio: 1; padding: 15px; }
.about-awards .about-awards__image { display: block; width: 100%; height: 100%; min-height: 0; max-height: 100%; object-fit: contain; transition: transform .5s; }
.certificate-caption { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 13px; border-top: 1px solid #e3e7dc; background: #fff; color: #65705b; font-size: 11px; }
.certificate-caption > span { color: #759f23; font-size: 16px; }
.about-awards .about-awards__card:hover,.about-awards .about-awards__card:focus-visible { border-color: #8dba3f; box-shadow: 0 8px 25px #324a1512; }
.about-awards__card:hover .about-awards__image { transform: scale(1.035); }
.about-awards__card:focus-visible { outline: 2px solid #5e8518; outline-offset: 3px; }
.certificate-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 28px; }
.certificate-pagination button { width: 34px; height: 34px; background: #fff; border: 1px solid #dde3d5; font: inherit; font-size: 12px; color: #5a6451; cursor: pointer; transition: background .3s; }
.certificate-pagination button.is-active { color: #111; border-color: #a0eb1d; background: #a0eb1d; }
.certificate-pagination button:hover { border-color: #81b525; }
.certificate-status { text-align: center; font-size: 11px; color: #87917e; margin-top: 13px; }

/* Native horizontal timeline: drag, wheel, touch, keys and existing buttons. */
.about-history .about-history__inner { padding: 80px 36px 100px; }
.about-history .about-history__title { font-size: clamp(34px,4vw,54px); line-height: 1.1; letter-spacing: -.045em; }
.about-history__head { margin-bottom: 24px; align-items: center; }
.history-hint { font-size: 12px; color: #828a79; margin-bottom: 20px; }
.history-hint span { padding: 0 6px; color: #6b961f; }
.about-history .about-history__viewport { overflow-x: auto; overflow-y: hidden; margin-right: 0; padding-bottom: 20px; scrollbar-width: thin; scrollbar-color: #a7b49a #eef1e9; cursor: grab; touch-action: pan-x pan-y; scroll-snap-type: x proximity; }
.about-history__viewport:focus-visible { outline: 2px solid #8ab52a; outline-offset: 8px; }
.about-history .about-history__track { transform: none; transition: none; will-change: auto; gap: 24px; }
.about-history .about-history__card { flex: 0 0 calc((100% - 48px)/3.2); min-width: 260px; scroll-snap-align: start; user-select: none; }
.about-history .about-history__media { aspect-ratio: 1.62; }
.about-history .about-history__image { -webkit-user-drag: none; }
.about-history__viewport.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.about-history__text { font-size: 15px; line-height: 1.65; }
.contact-cooperation .contact-cooperation__media { border-radius: 0; }

@media (max-width: 1100px) {
    .pinlasuo-method .pinlasuo-method__inner { min-height: 860px; padding-bottom: 280px; }
    .pinlasuo-method__main { grid-template-columns: minmax(190px,.8fr) minmax(0,1.65fr); gap: 32px; }
    .pinlasuo-method .method-panel__title { font-size: 31px; }
    .culture-principle { padding: 28px 24px; gap: 15px; grid-template-columns: 36px 1fr 18px; }
    .culture-system__statement { padding: 30px; }
    .about-awards .about-awards__grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; }
}
@media (min-width: 768px) and (max-width: 1100px) {
    .pinlasuo-method .pinlasuo-method__main { grid-template-columns: 1fr; gap: 28px; }
    .pinlasuo-method__intro-col { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; max-width: none; }
    .pinlasuo-method .pinlasuo-method__title { font-size: 36px; margin: 0; }
    .pinlasuo-method .pinlasuo-method__desc { font-size: 13px; }
    .pinlasuo-method .pinlasuo-method__inner { padding-top: 65px; min-height: 900px; padding-bottom: 310px; }
}
@media (max-width: 767px) {
    .about-logos { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .about-logos__item,.about-logos__logo-wrap { width: 100%; min-width: 0; }
    .brand-lead--lenovo .brand-lead__copy h3 { font-size: 20px; }
    .brand-lead--lenovo .brand-lead__copy p { font-size: 11px; }
    .pinlasuo-method .pinlasuo-method__inner { padding: 55px 24px 300px; min-height: 0; }
    .pinlasuo-method__main { grid-template-columns: 1fr; gap: 32px; }
    .pinlasuo-method__intro-col { max-width: 100%; }
    .pinlasuo-method .pinlasuo-method__title { font-size: 36px; max-width: 430px; }
    .pinlasuo-method .pinlasuo-method__desc { font-size: 13px; }
    .pinlasuo-method .method-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); min-width: 0; overflow: visible; }
    .pinlasuo-method .method-tabs__item { width: auto; min-width: 0; min-height: 65px; padding: 11px 13px; gap: 5px; border-bottom: 1px solid #ffffff1f; }
    .method-tabs__name { font-size: 13px; }
    .pinlasuo-method .method-panels { min-height: 305px; padding-top: 28px; }
    .pinlasuo-method .method-panel__title { font-size: 28px; }
    .pinlasuo-method .method-panel__desc { font-size: 13px; }
    .pinlasuo-method .method-panel__list { gap: 11px 16px; }
    .pinlasuo-method .method-panel__list li { font-size: 12px; padding-left: 13px; }
    .method-backdrop { top: auto; height: 280px; }
    .method-backdrop__image,.method-backdrop__image[data-tab="04"] { width: 100%; height: 100%; object-fit: cover; object-position: right bottom; }
    .pinlasuo-method::before { background: linear-gradient(180deg,#080b0c 0%,#080b0c 64%,transparent 85%); }
    .partner-bar .partner-bar__inner { padding: 38px 24px 55px; }
    .partner-bar .partner-bar__list { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .partner-bar .partner-bar__item { min-height: 75px; padding: 17px; }
    .partner-bar .partner-bar__logo { max-height: 28px; }
    .partner-bar__label { font-size: 10px; line-height: 1.65; }
    .cases-page .cases-page__inner { padding: 100px 22px 60px; }
    .cases-page .cases-page__title { font-size: 36px; }
    .cases-page__head { margin-bottom: 30px; }
    .cases-search { flex-direction: row; border-radius: 5px; padding: 7px; }
    .cases-search__btn { width: auto; min-width: 78px; padding: 10px; }
    .cases-search__input { width: 100%; padding: 0 10px; }
    .cases-page .cases-tabs { justify-content: flex-start; gap: 8px; }
    .cases-tabs__item { width: auto; font-size: 9px; padding: 10px; }
    .cases-page .cases-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
    .cases-card__media { aspect-ratio: .9; }
    .cases-card__image { object-fit: contain; }
    .cases-card__overlay { opacity: 1; padding: 13px; background: linear-gradient(180deg,transparent 38%,#0a120be0); }
    .cases-card__name { font-size: 16px; margin-right: 12px; margin-top: 9px; transform: none; }
    .cases-card__tags { transform: none; gap: 4px; }
    .cases-card__tags span { font-size: 8px; padding: 4px 5px; }
    .cases-card__tags span + span { display: none; }
    .cases-card__arrow { font-size: 18px; right: 10px; bottom: 14px; }
    .culture-system { margin-top: 60px; }
    .culture-system__inner { padding: 55px 24px; }
    .culture-system__head { display: block; margin-bottom: 26px; }
    .culture-system__head > p { margin-top: 16px; }
    .culture-system__grid { grid-template-columns: 1fr; }
    .culture-system__statement { min-height: 350px; padding: 28px; }
    .culture-system__mark { margin-bottom: 24px; }
    .culture-system__statement > p { font-size: 36px; }
    .culture-system__geometry { width: 65%; right: -4%; opacity: .35; bottom: -5px; }
    .culture-principle { padding: 27px 23px; }
    .culture-principle h3 { font-size: 21px; margin-bottom: 10px; }
    .culture-principle p { font-size: 13px; }
    .about-awards .about-awards__inner { padding: 55px 24px; }
    .about-awards .about-awards__grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
    .certificate-frame { padding: 9px; }
    .certificate-caption { padding: 8px; font-size: 9px; }
    .certificate-caption > span { font-size: 12px; }
    .about-history .about-history__inner { padding: 45px 24px 70px; }
    .about-history__head { display: block; }
    .about-history__nav { margin-top: 20px; }
    .about-history .about-history__card { flex-basis: 70%; min-width: 240px; }
    .about-history .about-history__title { font-size: 34px; }
}
@media (max-width: 420px) {
    .brand-lead--lenovo .brand-lead__copy h3 { font-size: 18px; }
    .brand-lead--lenovo .brand-lead__copy p { font-size: 10px; }
    .about-awards .about-awards__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .certificate-frame { padding: 13px; }
    .certificate-caption { font-size: 10px; }
}
@media (hover: none) and (min-width: 768px) {
    .cases-card__overlay { opacity: 1; }
    .cases-card__name,.cases-card__tags { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .method-backdrop__image,.cases-card__image,.cases-card__overlay,.cases-card__name,.cases-card__tags,.culture-system__geometry,.culture-principle > svg,.culture-principle__arrow { transition: none; animation: none; }
}
