/* Oct 30 2026: Concept library + Components sections on the home page (desktop and phone). */
.libsec,.compsec{scroll-margin-top:80px}
.cv-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2vw,30px);max-width:820px;margin:clamp(32px,4vw,52px) 0 0}
.cv{margin:0;display:grid;gap:12px}
.cv-frame{position:relative;aspect-ratio:9/16;border-radius:22px;overflow:hidden;background:var(--ink,#17423C);border:1px solid rgba(23,66,60,.18)}
.cv-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cv figcaption{display:grid;gap:4px;font-size:.95rem;line-height:1.45}
.cv figcaption b{font-weight:700}
.cv figcaption span{opacity:.75}
.sec-more{margin:clamp(32px,4vw,52px) 0 0}
.btn-line{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;border:1.5px solid currentColor;color:inherit;text-decoration:none;font-weight:650}
.btn-line .ic{width:18px;height:18px}
.btn-line:hover{background:var(--ink,#17423C);color:#FAF6EE;border-color:var(--ink,#17423C)}
.comp-card .lab-img img,.lib-card .lab-img img{object-fit:cover}
@media (max-width:860px){.cv-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cv-frame{border-radius:16px}.cv figcaption{font-size:.85rem}}
@media (max-width:380px){.cv figcaption span{display:none}}
.comp-card .lab-n::after{content:"Component"}
.lib-card .lab-n::after{content:attr(data-tier)}
@media (min-width:861px){#more .cases{grid-template-columns:repeat(2,minmax(0,1fr))}}
