
/* PSD Systems visual sections - intentionally inserted before the existing footer */
.psd-viz-wrap{max-width:1180px;margin:70px auto;padding:0 24px}
.psd-viz-row{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;margin:0 0 80px}
.psd-viz-row.reverse .psd-viz-image{order:2}
.psd-viz-image{height:390px;border-radius:26px;overflow:hidden;background:#edf1f7;box-shadow:0 20px 55px rgba(15,23,42,.14)}
.psd-viz-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.psd-viz-image:hover img{transform:scale(1.045)}
.psd-viz-copy .psd-viz-tag{display:inline-block;padding:7px 12px;border-radius:999px;background:#eef3ff;color:#3157d5;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:13px}
.psd-viz-copy h2{font-size:clamp(30px,4vw,47px);line-height:1.08;color:#111827;margin:0 0 15px}
.psd-viz-copy p{font-size:17px;line-height:1.8;color:#5d6878;margin:0 0 14px}
.psd-viz-copy ul{margin:15px 0 0;padding-left:20px;color:#5d6878;line-height:1.9}
.psd-viz-copy li{margin:3px 0}
.psd-viz-btn{display:inline-block;margin-top:14px;padding:12px 19px;background:#111827;color:#fff!important;border-radius:11px;text-decoration:none;font-weight:800}
.psd-viz-heading{text-align:center;max-width:800px;margin:0 auto 42px}
.psd-viz-heading h2{font-size:clamp(30px,4vw,48px);line-height:1.08;margin:0 0 12px;color:#111827}
.psd-viz-heading p{font-size:17px;line-height:1.75;color:#667085}
.psd-viz-banner{max-width:1180px;margin:30px auto 75px;padding:0 24px}
.psd-viz-banner-box{position:relative;min-height:400px;border-radius:30px;overflow:hidden;display:flex;align-items:center}
.psd-viz-banner-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.psd-viz-banner-box:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,10,24,.91),rgba(5,10,24,.55),rgba(5,10,24,.1))}
.psd-viz-banner-content{position:relative;z-index:2;color:#fff;max-width:700px;padding:52px}
.psd-viz-banner-content h2{font-size:clamp(34px,5vw,58px);line-height:1.04;margin:12px 0}
.psd-viz-banner-content p{font-size:18px;line-height:1.75;color:rgba(255,255,255,.84)}
.psd-blog-grid{max-width:1180px;margin:35px auto 75px;padding:0 24px;display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.psd-blog-card{background:#fff;border:1px solid #e7eaf0;border-radius:22px;overflow:hidden;box-shadow:0 14px 42px rgba(15,23,42,.08);transition:.25s}
.psd-blog-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(15,23,42,.13)}
.psd-blog-card img{width:100%;height:230px;object-fit:cover;display:block}
.psd-blog-card-body{padding:24px}
.psd-blog-card-body .date{font-size:13px;color:#667085;margin-bottom:7px}
.psd-blog-card-body h2{font-size:25px;line-height:1.2;margin:0 0 10px}
.psd-blog-card-body p{color:#667085;line-height:1.7;margin:0 0 16px}
.psd-blog-card-body a{font-weight:800;text-decoration:none}
.psd-blog-hero{max-width:1180px;margin:35px auto 55px;padding:0 24px}
.psd-blog-hero-box{position:relative;min-height:390px;border-radius:30px;overflow:hidden}
.psd-blog-hero-box img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.psd-blog-hero-box:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,10,24,.9),rgba(5,10,24,.3))}
.psd-blog-hero-copy{position:relative;z-index:2;color:#fff;padding:55px;max-width:760px}
.psd-blog-hero-copy h1{font-size:clamp(38px,5vw,62px);line-height:1.03;margin:12px 0}
.psd-blog-hero-copy p{font-size:18px;line-height:1.75;color:rgba(255,255,255,.84)}
.psd-article{max-width:900px;margin:45px auto 100px;padding:0 24px}
.psd-article .cover{width:100%;height:460px;object-fit:cover;border-radius:28px;display:block;margin:22px 0 32px}
.psd-article h1{font-size:clamp(38px,5vw,62px);line-height:1.05;margin:0 0 12px}
.psd-article .meta{color:#667085;margin-bottom:30px}
.psd-article-content{font-size:18px;line-height:1.9;color:#364152}
.psd-article-content h2{font-size:31px;color:#111827;margin-top:40px}
@media(max-width:800px){
 .psd-viz-row{grid-template-columns:1fr;gap:26px;margin-bottom:55px}
 .psd-viz-row.reverse .psd-viz-image{order:0}
 .psd-viz-image{height:300px}
 .psd-blog-grid{grid-template-columns:1fr}
 .psd-viz-banner-content,.psd-blog-hero-copy{padding:38px 26px}
 .psd-article .cover{height:300px}
}
