:root {
  --cw-black:#0b0b0b;
  --cw-panel:#121212;
  --cw-gold:#e2ad19;
  --cw-gold-soft:#f1c44a;
  --cw-red:#c62622;
  --cw-cream:#f0ede3;
  --cw-muted:#aaa59a;
  --cw-line:#2b2a27;
}

body { background:var(--cw-black); color:var(--cw-cream); }
body, button, input { font-family: Arial, Helvetica, sans-serif; }
.site-content { padding:0; }
.cw-front-page .site.grid-container { max-width:none; }
.cw-front-page .content-area { width:100%; }
.cw-front-page .site-main { margin:0; }
.cw-front-page .inside-article { padding:0; }

.cw-wrap { width:min(1180px, calc(100% - 40px)); margin-inline:auto; }
.cw-section { padding:34px 0; border-top:1px solid var(--cw-line); }
.cw-section h2 { margin:0 0 20px; color:var(--cw-gold); text-transform:uppercase; letter-spacing:.025em; font-size:clamp(1.3rem,2vw,2rem); }

.cw-hero { min-height:580px; display:flex; align-items:center; position:relative; overflow:hidden; background:radial-gradient(circle at 70% 50%, #23110d 0, #111 38%, #060606 75%); }
.cw-hero:after { content:""; position:absolute; inset:0; opacity:.18; background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,255,255,.04) 4px); pointer-events:none; }
.cw-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center; position:relative; z-index:1; }
.cw-hero-logo { width:230px; max-width:58%; margin-bottom:25px; mix-blend-mode:screen; }
.cw-hero h1 { margin:0; text-transform:uppercase; font-size:clamp(2.9rem,6vw,5.6rem); line-height:.93; letter-spacing:-.03em; }
.cw-hero h1 span { color:var(--cw-gold); }
.cw-hero p { max-width:650px; color:#ddd8cd; font-size:1.1rem; line-height:1.65; }
.cw-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:24px; }
.cw-button { display:inline-block; padding:14px 22px; text-transform:uppercase; font-weight:700; letter-spacing:.03em; text-decoration:none; border:1px solid transparent; }
.cw-button-gold { background:var(--cw-gold); color:#111; }
.cw-button-outline { color:var(--cw-red); border-color:var(--cw-red); }
.cw-button-outline-gold { color:var(--cw-gold); border-color:var(--cw-gold); }
.cw-button:hover { transform:translateY(-1px); filter:brightness(1.08); }

.cw-hero-art { min-height:480px; position:relative; align-self:stretch; overflow:hidden; }
.cw-hero-guitar { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; opacity:.96; mix-blend-mode:screen; }
.cw-hero-art:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--cw-black) 0%,rgba(11,11,11,.45) 25%,rgba(11,11,11,0) 60%); pointer-events:none; }

.cw-search { display:grid; grid-template-columns:1fr auto; border:1px solid #555; background:#111; }
.cw-search input { min-height:58px; border:0; color:#eee; background:transparent; padding:0 18px; font-size:1rem; }
.cw-search button { min-width:150px; border:0; background:var(--cw-red); color:#fff; text-transform:uppercase; font-weight:700; }
.cw-filter-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
.cw-filter-chip { color:#ddd; border:1px solid #333; background:#161616; padding:7px 12px; font-size:.8rem; text-transform:uppercase; text-decoration:none; }
.cw-filter-chip:hover { border-color:var(--cw-red); color:#fff; }

.cw-section-heading { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.cw-section-heading a { color:var(--cw-red); text-transform:uppercase; font-weight:700; text-decoration:none; }
.cw-song-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.cw-song-card { background:#101010; border:1px solid #2b2b2b; padding:0 0 13px; }
.cw-song-card img { width:100%; aspect-ratio:1/1; object-fit:cover; display:block; }
.cw-song-card-body { padding:12px; }
.cw-song-card h3 { margin:0 0 5px; color:#fff; font-size:1rem; text-transform:uppercase; }
.cw-song-card .cw-artist { color:var(--cw-red); font-size:.78rem; text-transform:uppercase; font-weight:700; }
.cw-tags { display:flex; flex-wrap:wrap; gap:4px; margin-top:10px; }
.cw-tags span { border:1px solid #333; color:#bbb; font-size:.62rem; padding:3px 5px; text-transform:uppercase; }

.cw-lane-grid { display:grid; grid-template-columns:1fr 1fr; }
.cw-lane { min-height:260px; padding:42px; border:1px solid; background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.6)); }
.cw-lane p { max-width:490px; color:#ddd8cd; line-height:1.6; }
.cw-lane-master { border-color:#8a6913; background-color:#181006; }
.cw-lane-writer { border-color:#7d1a18; background-color:#160808; }
.cw-lane-writer h2 { color:var(--cw-cream); }

.cw-scene-grid { display:grid; grid-template-columns:repeat(8,1fr); gap:10px; }
.cw-scene-tile { min-height:145px; display:flex; align-items:flex-end; justify-content:center; padding:12px; text-align:center; border:1px solid #343434; color:#fff; text-transform:uppercase; font-size:.78rem; font-weight:700; text-decoration:none; background:linear-gradient(180deg,#1a1a1a,#0f0f0f); }
.cw-scene-tile:hover { border-color:var(--cw-gold); color:var(--cw-gold); }

.cw-benefit-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.cw-benefit-grid div { border-right:1px solid #343434; padding-right:20px; }
.cw-benefit-grid div:last-child { border-right:0; }
.cw-benefit-grid strong { display:block; color:var(--cw-gold); text-transform:uppercase; margin-bottom:8px; }
.cw-benefit-grid span { color:var(--cw-muted); font-size:.9rem; line-height:1.5; }
.cw-empty { color:var(--cw-muted); }

@media (max-width: 980px) {
  .cw-hero-grid,.cw-lane-grid { grid-template-columns:1fr; }
  .cw-hero-art { display:none; }
  .cw-song-grid { grid-template-columns:repeat(3,1fr); }
  .cw-scene-grid { grid-template-columns:repeat(4,1fr); }
  .cw-benefit-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px) {
  .cw-wrap { width:min(100% - 28px,1180px); }
  .cw-hero { min-height:560px; }
  .cw-hero-logo { width:180px; }
  .cw-search { grid-template-columns:1fr; }
  .cw-search button { min-height:52px; }
  .cw-song-grid { grid-template-columns:repeat(2,1fr); }
  .cw-scene-grid,.cw-benefit-grid { grid-template-columns:repeat(2,1fr); }
  .cw-lane { padding:28px 22px; }
}


/* Scene & Theme icons */
.cw-scene-tile { display:flex; min-height:150px; flex-direction:column; align-items:center; justify-content:center; gap:13px; text-align:center; }
.cw-scene-icon { width:54px; height:54px; object-fit:contain; display:block; transition:transform .2s ease, filter .2s ease; }
.cw-scene-tile:hover .cw-scene-icon { transform:translateY(-3px) scale(1.04); filter:brightness(1.15); }
.cw-scene-label { display:block; }

@media (max-width: 780px) {
  .cw-hero-art { min-height:330px; }
  .cw-hero-guitar { object-position:60% center; }
}
