.ct-wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.ct-hxl{font-size:44px;line-height:1;font-weight:800;text-transform:uppercase;color:#111}
.ct-hl{font-size:32px;line-height:1.1;font-weight:800;text-transform:uppercase}
.ct-btn{display:inline-block;background:#111;color:#fff;padding:12px 20px;text-decoration:none;border-radius:6px}
.ct-press{overflow:hidden;white-space:nowrap}
.ct-press__inner{display:inline-block;padding:12px 0;animation:ct-marq 18s linear infinite}
@keyframes ct-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ct-hero{position:relative;background:#f7f7f7}
.ct-hero__grid{min-height:72vh;display:grid;place-items:center;text-align:center;position:relative}
.ct-ring{width:min(72vw,520px);filter:drop-shadow(0 20px 30px rgba(0,0,0,.18))}
.ct-cta{position:absolute;left:8%;bottom:10%}
@keyframes ct-floatY{0%{transform:translateY(0)}50%{transform:translateY(-10px)}100%{transform:translateY(0)}}
.ct-float{animation:ct-floatY 4s ease-in-out infinite}
.ct-parallax{will-change:transform}
.ct-grid{display:grid;gap:24px}
.ct-grid--cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.ct-card{position:relative;border:1px solid #eee;border-radius:12px;overflow:hidden;text-align:center}
.ct-card img{width:100%;display:block}
.ct-card__side{position:absolute;left:10px;top:50%;transform:translateY(-50%) rotate(-90deg);transform-origin:left top;background:#fff;padding:6px 10px;border:1px solid #111;font-weight:700}
.ct-badge-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;padding:22px 0}
.ct-badge{border:2px solid #111;border-radius:100px;padding:18px;text-align:center;font-weight:700}
.ct-section{padding:24px 0}
.ct-announcement{background:#000;color:#fff;text-align:center;font-size:14px;padding:8px 0}
.ct-code{background:#fff;border:0;padding:6px 10px;border-radius:6px;margin-left:8px}
