:root{--mod-max-width:1120px;--mod-padding-y:96px;--mod-title:#020617;--mod-sub:#4b5563;--mod-card-bg:#ffffff;--mod-card-border:rgba(15,23,42,0.08);--mod-dot:#0f172a;--mod-shadow:0 8px 24px rgba(15,23,42,0.04),0 20px 48px rgba(15,23,42,0.06);}
.modules{width:100%;background:#ffffff;padding:var(--mod-padding-y) 24px;}
.modules-inner{max-width:var(--mod-max-width);margin:0 auto;}
.modules-title{font-size:32px;letter-spacing:-0.03em;font-weight:700;margin:0;color:var(--mod-title);}
.modules-subtitle{max-width:620px;margin-top:16px;font-size:15px;line-height:1.6;letter-spacing:0.01em;color:var(--mod-sub);}
.modules-grid{margin-top:48px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;}
.module-card{background:var(--mod-card-bg);border:1px solid var(--mod-card-border);border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--mod-shadow);transition:transform .25s cubic-bezier(.19,1,.22,1),box-shadow .25s cubic-bezier(.19,1,.22,1);}
.module-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(15,23,42,0.05),0 22px 54px rgba(15,23,42,0.08);}
.module-card-header{display:flex;justify-content:space-between;align-items:center;}
.module-label{font-size:11px;letter-spacing:0.12em;font-weight:600;color:#6b7280;text-transform:uppercase;}
.module-dot{width:5px;height:5px;background:var(--mod-dot);border-radius:999px;opacity:.85;}
.module-title{margin:0;font-size:19px;font-weight:600;letter-spacing:-0.02em;color:var(--mod-title);}
.module-text{margin:0;font-size:14px;line-height:1.58;color:var(--mod-sub);}
@media (max-width:900px){.modules-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.modules-grid{grid-template-columns:1fr;}}
.tricore-card,.module-card,.status-card{will-change:transform,box-shadow;transition:transform .25s cubic-bezier(.19,1,.22,1),box-shadow .25s cubic-bezier(.19,1,.22,1);}
.tricore-card:hover,.module-card:hover,.status-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(15,23,42,0.05),0 24px 60px rgba(15,23,42,0.08);}
