
:root{ --brand:#e4202a; --ink:#0f141a; --paper:#fcfcfd; --muted:#7c8b9b; }
html,body{ background:var(--paper); color:var(--ink); margin:0; }
*{ box-sizing:border-box; }
a{ color:var(--ink); text-decoration-thickness:.08em; text-underline-offset:.18em; }
a:hover{ color:var(--brand); }
header{ position:sticky; top:0; background:rgba(252,252,253,.9); backdrop-filter:saturate(1.2) blur(6px); border-bottom:1px solid rgba(15,20,26,.06); z-index:20; }
header .wrap{ width:min(1200px,100%); margin:0 auto; padding:12px 18px; display:flex; align-items:center; gap:12px; }
header img{ height:28px; }
.display{ font-family: 'Playfair Display', serif; }
.sans{ font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans'; }
.section{ padding: 80px 24px; }
.container{ width:min(1200px, 100%); margin:0 auto; }
.grid{ display:grid; gap:28px; }
.grid-2{ grid-template-columns: 1.1fr 1fr; }
.grid-3{ grid-template-columns: repeat(3, 1fr); }
.card{ background:white; border:1px solid rgba(15,20,26,.08); border-radius:20px; padding:22px; }
.hero-img{ border-radius:24px; overflow:hidden; background:#eef2f6; display:flex; align-items:center; justify-content:center; }
img.full{ width:100%; height:100%; object-fit:cover; }
img.contain{ width:100%; height:100%; object-fit:contain; }
.kicker{ letter-spacing:.2em; font-size:.8rem; text-transform:uppercase; color:var(--brand); }
.btn{ display:inline-block; padding:.85rem 1.15rem; border-radius:14px; background:var(--ink); color:#fff; font-weight:700; }
.btn.alt{ background:var(--brand); }
.btn.ghost{ background:#fff; color:var(--ink); border:1px solid rgba(15,20,26,.15); }
.badge{border:1px solid rgba(15,20,26,.12); border-radius:999px; padding:.35rem .7rem; font-size:.75rem; color:#334254; background:white;}
.shadow-soft{ box-shadow:0 10px 30px rgba(20,30,40,.08); }
.diag{ clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%); }
.diag-up{ clip-path: polygon(0 15%, 100% 0, 100% 100%, 0 100%); }

/* Ticker */
.ticker{ position:relative; overflow:hidden; background: var(--brand); color:white; }
.ticker .track{ white-space:nowrap; display:flex; gap:2rem; padding:8px 0; }
.t1,.t2{ display:inline-block; padding-left:100%; animation:mar 18s linear infinite; }
.t2{ animation-delay:-9s; }
@keyframes mar{ from{ transform:translateX(0); } to{ transform:translateX(-100%); } }

/* Hide spam-trap fields */
.hidden, .hp-field{display:none !important;}
