.cn-grid{display:grid;grid-template-columns:repeat(var(--cn-cols,4),minmax(0,1fr));gap:1.75rem}
@media(max-width:900px){.cn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.cn-grid{grid-template-columns:1fr}}
.cn-card-tile{position:relative}
.cn-card-tile__link{display:block;text-decoration:none;color:inherit}
.cn-card-tile__frame{position:relative;border-radius:14px;overflow:hidden;transform:translateZ(0);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.cn-card-tile__img{display:block;width:100%;height:auto}
.cn-card-tile__glow{position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 120%,rgba(209,68,47,.55),transparent 60%);opacity:0;transition:opacity .5s}
.cn-card-tile:hover .cn-card-tile__frame{transform:translateY(-10px) rotateX(6deg) rotateY(-4deg);box-shadow:0 30px 60px -20px rgba(0,0,0,.85)}
.cn-card-tile:hover .cn-card-tile__glow{opacity:1}
.cn-card-tile__title{margin:.9rem 0 .2rem;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase}
.cn-card-tile__meta{margin:0;opacity:.65;font-size:.82rem}
.cn-card-tile.is-hidden{display:none}
.cn-style-filter{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0}
.cn-style-chip{border:1px solid var(--cn-chip,#c9a227);color:var(--cn-chip,#c9a227);background:transparent;border-radius:999px;padding:.4rem 1rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:.3s}
.cn-style-chip.is-active,.cn-style-chip:hover{background:var(--cn-chip,#c9a227);color:#0b0906}
.cn-single{position:relative;padding:4rem 1.5rem;max-width:1180px;margin:0 auto}
.cn-single__aura{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 40% at 25% 30%,rgba(201,162,39,.16),transparent 70%)}
.cn-single__inner{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:3rem;align-items:start;position:relative}
@media(max-width:860px){.cn-single__inner{grid-template-columns:1fr}}
.cn-single__card{border-radius:18px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.9);transition:transform .2s ease-out}
.cn-single__img{display:block;width:100%;height:auto}
.cn-single__title{font-size:clamp(2rem,5vw,3.4rem);line-height:1.05;margin:.4rem 0 1rem}
.cn-single__rules{font-size:1.15rem;line-height:1.6}
.cn-single__flavor{border-left:2px solid #c9a227;padding-left:1rem;font-style:italic;opacity:.8}
.cn-badge{display:inline-block;border:1px solid #c9a227;color:#c9a227;border-radius:999px;padding:.25rem .8rem;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}
.cn-btn{display:inline-block;margin-top:1.5rem;background:linear-gradient(120deg,#c9a227,#e6cc72);color:#0b0906;padding:.9rem 2rem;border-radius:999px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.cn-single__video{margin-top:4rem}
.cn-single__video iframe,.cn-single__video video{width:100%;aspect-ratio:16/9;border:0;border-radius:16px}
.cn-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.cn-reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.cn-reveal{opacity:1;transform:none;transition:none}.cn-card-tile:hover .cn-card-tile__frame{transform:none}}
