*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:Arial,'Helvetica Neue',sans-serif;color:var(--dj-text);background:var(--dj-white);line-height:1.6;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
ul{list-style:none;}
.container{max-width:1280px;margin:0 auto;padding:0 32px;}

/* header */
.site-header{background:var(--dj-white);border-bottom:1px solid var(--dj-border);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1280px;margin:0 auto;flex-wrap:wrap;gap:16px;}
.header-logo{font-size:24px;font-weight:900;color:var(--dj-red);text-transform:uppercase;letter-spacing:.5px;}
.header-nav{display:flex;gap:26px;flex-wrap:wrap;}
.nav-link{color:var(--dj-red);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.3px;}
.nav-link:hover{color:var(--dj-red-dark);}

/* hero collage */
.hero-collage{display:grid;grid-template-columns:1.3fr 1fr;gap:0;max-width:1280px;margin:0 auto;min-height:340px;position:relative;overflow:hidden;background:#d9d2c2;}
.hero-collage-left{position:relative;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:28px;}
.hero-collage-left h1{color:var(--dj-white);font-size:32px;font-weight:900;text-shadow:0 2px 8px rgba(0,0,0,.6);max-width:420px;}
.hero-side-list{display:flex;flex-direction:column;}
.hero-side-item{display:flex;gap:14px;padding:16px 20px;border-bottom:1px solid var(--dj-border);background:var(--dj-white);}
.hero-side-item img{width:90px;height:90px;object-fit:cover;border-radius:4px;flex-shrink:0;}
.hero-side-item h3{font-size:15px;font-weight:700;margin-bottom:6px;}
.hero-side-item p{font-size:13px;color:var(--dj-text-muted);}

/* two-column article listing */
.listing-section{max-width:1280px;margin:0 auto;padding:48px 32px;display:grid;grid-template-columns:2fr 1fr;gap:40px;}
@media(max-width:900px){.listing-section{grid-template-columns:1fr;}}
.listing-main .list-item{display:grid;grid-template-columns:220px 1fr;gap:20px;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--dj-border);}
.listing-main .list-item img{width:100%;height:150px;object-fit:cover;border-radius:4px;}
.listing-main .list-item h2{font-size:20px;font-weight:800;margin-bottom:8px;}
.listing-main .list-item p{font-size:14px;color:var(--dj-text-muted);margin-bottom:8px;}
.listing-main .list-item .cat-tag{font-size:12px;color:var(--dj-text-muted);text-transform:uppercase;font-weight:700;}
.listing-side .side-item{display:flex;gap:14px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--dj-border);}
.listing-side .side-item img{width:100px;height:80px;object-fit:cover;border-radius:4px;flex-shrink:0;}
.listing-side .side-item h3{font-size:14px;font-weight:700;margin-bottom:6px;}
.listing-side .side-item .cat-tag{font-size:11px;color:var(--dj-text-muted);text-transform:uppercase;font-weight:700;}

/* red CTA bar */
.cta-bar{max-width:1280px;margin:0 auto;padding:0 32px 48px;}
.cta-bar a{display:block;background:var(--dj-red);color:var(--dj-white);text-align:center;padding:18px;border-radius:4px;font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:.5px;}

/* three column card grid */
.card-grid-section{background:var(--dj-bg-grey);padding:48px 32px;}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1280px;margin:0 auto;}
@media(max-width:900px){.card-grid{grid-template-columns:1fr;}}
.grid-card{background:var(--dj-white);border-radius:6px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.08);}
.grid-card img{width:100%;height:170px;object-fit:cover;}
.grid-card .gc-body{padding:16px;}
.grid-card h3{font-size:16px;font-weight:700;margin-bottom:8px;}
.grid-card p{font-size:13px;color:var(--dj-text-muted);}

/* generic page header */
.page-hero{background:var(--dj-black);color:var(--dj-white);padding:52px 32px;text-align:center;}
.page-hero h1{font-size:30px;font-weight:900;text-transform:uppercase;}

/* content page */
.content-page{max-width:820px;margin:0 auto;padding:56px 32px;}
.content-page h1{font-size:28px;font-weight:800;margin-bottom:20px;}
.content-page h2{font-size:19px;font-weight:700;margin:26px 0 10px;color:var(--dj-red);}
.content-page p{margin-bottom:14px;color:var(--dj-text);}

/* contact form */
.contact-form{max-width:560px;margin:0 auto;padding:56px 32px;}
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-weight:700;margin-bottom:6px;font-size:14px;}
.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--dj-border);border-radius:4px;font-size:14px;font-family:inherit;}
.form-submit{background:var(--dj-red);color:var(--dj-white);border:none;padding:12px 28px;border-radius:4px;font-weight:800;cursor:pointer;text-transform:uppercase;}

/* blog listing cards (WF insertion point) */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:48px 32px;max-width:1280px;margin:0 auto;}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr;}}
.article-card{border:1px solid var(--dj-border);border-radius:8px;overflow:hidden;background:var(--dj-white);display:block;}
.article-card .article-thumb{width:100%;height:190px;object-fit:cover;}
.article-card .article-body{max-width:none;margin:0;padding:16px;}
.article-card .article-meta{display:flex;gap:10px;font-size:12px;color:var(--dj-text-muted);margin-bottom:8px;}
.article-card .article-cat{color:var(--dj-red);font-weight:700;text-transform:uppercase;letter-spacing:.4px;}
.article-card .article-date{color:var(--dj-text-muted);}
.article-card .article-excerpt{font-size:14px;color:var(--dj-text-muted);margin:8px 0 12px;line-height:1.6;}
.article-card .article-link{font-size:14px;font-weight:700;color:var(--dj-red);}

/* footer */
.site-footer{background:var(--dj-black);color:#c9c5bd;padding:48px 32px 24px;margin-top:40px;}
.footer-nav-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;}
.footer-col h4{font-size:14px;font-weight:700;margin-bottom:14px;text-transform:uppercase;letter-spacing:.5px;color:var(--dj-red);}
.footer-col a{display:block;color:#c9c5bd;font-size:14px;margin-bottom:8px;}
.footer-col p{color:#c9c5bd;font-size:14px;}
.footer-bottom{max-width:900px;margin:32px auto 0;padding:24px 0 0;text-align:center;border-top:1px solid #333;color:#8a867e;font-size:13px;}
.footer-inner{max-width:900px;margin:0 auto;padding:24px;text-align:center;}
