.lm-projects{background:radial-gradient(ellipse 60% 45% at 50% 100%, var(--haze-warm), transparent 70%), var(--bg-primary);color:var(--text-primary);padding:clamp(90px, 11vw, 150px) var(--gutter) clamp(110px, 12vw, 170px);font-family:var(--font-sans,"Raleway", sans-serif);position:relative}.lm-heading{max-width:1600px;margin:0 auto 40px}.lm-heading p{font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--amber-light);margin:0;font-weight:500}.lm-heading h2{letter-spacing:-.04em;margin:22px 0 0;font-size:clamp(2.5rem,6vw,5.5rem);font-weight:300;line-height:1.02}.lm-grid{grid-template-columns:1fr;gap:22px;max-width:1240px;margin:auto;display:grid}.lm-card{color:inherit;transform-origin:50%;min-width:0;transition:transform var(--dur-slow) var(--ease-cinematic);text-decoration:none;display:block;transform:scale(.97)}.lm-card:hover,.lm-card:focus-visible{transform:scale(.985)}.lm-model{aspect-ratio:4/3;width:100%;transition:filter var(--dur-slow) ease;position:relative;overflow:hidden}.lm-card:hover .lm-model,.lm-card:focus-visible .lm-model{filter:brightness(1.07)contrast(1.02)}.lm-canvas{opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lm-card.is-ready .lm-canvas{opacity:1}.lm-clay-image{object-fit:contain;mix-blend-mode:screen;width:100%;height:100%;display:block;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 55%,#0000 78%);mask-image:radial-gradient(#000 55%,#0000 78%)}.lm-model-unavailable{color:var(--text-muted);place-items:center;font-size:11px;display:grid;position:absolute;inset:0}.lm-project-mark{z-index:2;color:#cfb395;pointer-events:none;width:clamp(18px,1.6vw,22px);height:clamp(18px,1.6vw,22px);position:absolute;top:12px;left:12px}.lm-project-mark svg,.lm-project-mark img{object-fit:contain;width:100%;height:100%;display:block}.lm-caption{border-top:1px solid var(--border-soft);transition:border-color var(--dur-base) var(--ease-cinematic);justify-content:space-between;align-items:center;gap:20px;padding-top:20px;display:flex}.lm-card:hover .lm-caption,.lm-card:focus-visible .lm-caption{border-color:var(--border-warm)}.lm-caption h3{letter-spacing:.06em;color:var(--text-primary);transition:color var(--dur-fast) ease;margin:0;font-size:1.3rem;font-weight:300}.lm-caption p{color:var(--text-secondary);margin:8px 0 0;font-size:.8rem;font-weight:300;line-height:1.6}.lm-caption>span{color:var(--text-muted);transition:transform var(--dur-base) var(--ease-cinematic), color var(--dur-fast) ease;font-size:1.8rem;font-weight:300}.lm-card:hover .lm-caption h3,.lm-card:focus-visible .lm-caption h3{color:var(--amber-glow)}.lm-card:hover .lm-caption>span,.lm-card:focus-visible .lm-caption>span{color:var(--amber-light);transform:translate(6px)}.lm-hint{color:var(--text-muted);margin-top:18px;font-size:.8rem;font-weight:300;display:block}.lm-card:focus-visible{outline:1px solid var(--amber-light);outline-offset:10px}.lm-card--model{cursor:default}@media (width>=700px){.lm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}@media (width>=1024px){.lm-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}@media (width<=799px){.lm-projects{padding-top:60px;padding-bottom:80px}}@media (hover:none){.lm-desktop-hint{display:none}}@media (hover:hover){.lm-touch-hint{display:none}}.lm-card{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;touch-action:pan-y}.lm-card img{-webkit-user-drag:none;pointer-events:none}.lm-card.is-turning{cursor:grabbing}.lm-card.is-turning .lm-model{filter:brightness(1.1)contrast(1.03)}.lm-card-placeholder{cursor:default}.lm-card-placeholder .lm-model{background:radial-gradient(circle at 50% 42%, #a8663a24, transparent 58%), var(--bg-primary);overflow:hidden}.lm-ball-canvas{pointer-events:none;inset:0;width:100%!important;height:100%!important;position:absolute!important}.lm-placeholder-tag{color:#d6975b8c;letter-spacing:.18em;text-transform:uppercase;font-size:9px;position:absolute;bottom:14px;left:14px}.lm-card-placeholder .lm-caption h3{color:#e8e3dcb3}.lm-card-placeholder .lm-hint{color:#6d6862cc}@media (prefers-reduced-motion:reduce){.lm-card,.lm-model,.lm-canvas,.lm-caption,.lm-caption>span{transition:none}}
