.modules{width:min(92%,1400px);margin:140px auto;position:relative;z-index:2}
.modules-heading{text-align:center;max-width:760px;margin:0 auto 80px}
.section-tag{display:inline-block;padding:10px 22px;border-radius:999px;background:rgba(22,196,255,.08);border:1px solid rgba(22,196,255,.18);color:#16c4ff;font-size:14px;font-weight:600;letter-spacing:2px;margin-bottom:25px}
.modules-heading h2{font-size:52px;line-height:1.15;color:#fff;margin-bottom:25px;letter-spacing:-.5px}
.modules-heading p{color:#bdd2f3;font-size:20px;line-height:1.8}
.modules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}
.module-card{padding:42px 40px;border-radius:28px;background:radial-gradient(circle at 15% 0%,rgba(201,169,98,.06),transparent 45%),linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015) 60%),rgba(9,14,24,.65);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.09);transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s cubic-bezier(.2,.8,.2,1),background .6s ease,border-color .6s ease;position:relative;overflow:hidden;isolation:isolate}
.module-card:after{content:"";position:absolute;top:-30%;left:-10%;width:65%;height:65%;background:radial-gradient(circle,rgba(22,196,255,.16),transparent 70%);opacity:0;transition:opacity .7s ease;z-index:-1;pointer-events:none}
.module-card:before{content:"";position:absolute;top:0;left:-150%;width:60%;height:100%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.06) 40%,rgba(201,169,98,.09) 50%,rgba(255,255,255,.06) 60%,transparent);transform:skewX(-18deg);transition:left 1s ease;pointer-events:none;z-index:1}
.module-card:hover:before{left:150%}
.module-card:hover{transform:translateY(-14px) scale(1.015);border-color:rgba(22,196,255,.4);background:radial-gradient(circle at 15% 0%,rgba(201,169,98,.1),transparent 45%),linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.02) 60%),rgba(9,14,24,.75);box-shadow:0 35px 80px rgba(0,0,0,.5),0 0 70px rgba(22,196,255,.14),inset 0 1px 0 rgba(255,255,255,.12)}
.module-card:hover:after{opacity:1}
.module-header{display:flex;align-items:center;gap:18px;margin-bottom:30px;position:relative;z-index:2}
.module-icon{width:70px;height:70px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:34px;border-radius:20px;margin-bottom:0;background:linear-gradient(135deg,rgba(22,196,255,.28),rgba(201,169,98,.14));border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 25px rgba(11,132,255,.12);transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s ease,background .6s ease;position:relative;z-index:2}
.module-card:hover .module-icon{transform:rotate(-6deg) scale(1.1);background:linear-gradient(135deg,rgba(22,196,255,.42),rgba(201,169,98,.22));box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 14px 34px rgba(22,196,255,.28)}
.module-icon:after{content:"";position:absolute;bottom:-14px;left:0;width:28px;height:2px;background:linear-gradient(90deg,#16c4ff,#c9a962);border-radius:2px;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.module-card:hover .module-icon:after{width:56px}
.module-header h3{color:#fff;font-size:26px;margin:0;letter-spacing:-.2px;position:relative;z-index:2;transition:color .5s ease,letter-spacing .5s ease}
.module-card:hover .module-header h3{color:#f3ead9;letter-spacing:0}
.module-description{color:#a9bfe0;line-height:1.8;margin:0;position:relative;z-index:2;transition:color .5s ease}
.module-card:hover .module-description{color:#cddaf2}
.module-details{color:#8fa8cc;font-size:14px;line-height:1.75;margin:0;position:relative;z-index:2;opacity:0;max-height:0;overflow:hidden;transform:translateY(12px);transition:opacity .5s ease,max-height .6s ease,transform .5s ease,margin-top .5s ease}
.module-card:hover .module-details{opacity:1;max-height:120px;margin-top:18px;transform:translateY(0)}
@media(max-width:1200px){.modules-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){
.modules{margin:100px auto}
.modules-heading h2{font-size:40px}
.modules-heading p{font-size:18px}
.modules-grid{grid-template-columns:1fr}
.module-card{padding:42px 35px}
.module-card:hover{transform:translateY(-8px) scale(1.01)}
.module-details{opacity:1;max-height:120px;margin-top:18px;transform:none}
}
.modules,.modules-grid,.module-card{pointer-events:auto}
.module-card{cursor:default}
.modules{position:relative;z-index:100}
.module-card{position:relative;z-index:101}
