@font-face { font-family: Anton; font-weight: 400; font-display: swap; src: url(fonts/anton-400.woff2) format("woff2"); }
@font-face { font-family: Barlow; font-weight: 400; font-display: swap; src: url(fonts/barlow-400.woff2) format("woff2"); }
@font-face { font-family: Barlow; font-weight: 500; font-display: swap; src: url(fonts/barlow-500.woff2) format("woff2"); }
@font-face { font-family: Barlow; font-weight: 600; font-display: swap; src: url(fonts/barlow-600.woff2) format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-weight: 600; font-display: swap; src: url(fonts/barlow-condensed-600.woff2) format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-weight: 700; font-display: swap; src: url(fonts/barlow-condensed-700.woff2) format("woff2"); }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #0A0A0A; color: #F2F2EF; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
a:hover { color: #F05A4C; }
input, select, button, textarea { font: inherit; color: inherit; }
::selection { background: #DE3226; color: #FFF6F4; }
::-webkit-scrollbar { height: 6px; width: 6px; }
::-webkit-scrollbar-thumb { background: #2A2A28; }
[hidden] { display: none !important; }

/* Hover (inline styles win, so these need !important) */
.hv-red:hover { background: #B3251A !important; }
.hv-ghost:hover { border-color: #F2F2EF !important; background: rgba(255,255,255,.06) !important; }
.hv-card:hover { border-color: rgba(255,255,255,.4) !important; }
.hv-chip:hover { border-color: #F2F2EF !important; }

/* Desktop / mobile switches (breakpoint 861px) */
.hero-veil { display: none; }
@media (max-width: 860px) {
  .nav-desktop { display: none !important; }
  .hero-veil { display: block; }
}
@media (min-width: 861px) {
  .sticky-cta, .wa-float { display: none !important; }
}

/* WhatsApp */
.wa-float { position: fixed; right: clamp(14px,4vw,28px); bottom: clamp(18px,5vw,32px); z-index: 55; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; overflow: hidden; box-shadow: 0 10px 26px rgba(0,0,0,.55); }
.wa-float img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.sticky-on .wa-float { bottom: 76px; }
body.cookies-open .wa-float { bottom: calc(var(--cookie-h, 0px) + 16px); }

/* Cookies */
.cookie-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; padding: 18px clamp(16px,4vw,48px); background: #131313; border-top: 1px solid rgba(255,255,255,.16); font-family: Barlow, system-ui, sans-serif; font-size: 15px; line-height: 1.45; color: #D6D6D0; }
.cookie-bar p { margin: 0; flex: 1 1 320px; max-width: 72ch; }
.cookie-bar a { text-decoration: underline; }
.cookie-actions { display: flex; gap: 10px; flex: 0 1 300px; }
.cookie-actions button { flex: 1; cursor: pointer; background: transparent; border: 1px solid rgba(255,255,255,.4); font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 15px; letter-spacing: .08em; text-transform: uppercase; padding: 12px 16px; min-height: 46px; }
.cookie-actions button:hover { border-color: #F2F2EF; background: rgba(255,255,255,.06); }

/* Form honeypot: out of sight for people, visible to bots */
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Legal pages */
.legal { max-width: 760px; margin: 0 auto; padding: clamp(48px,10vw,96px) clamp(16px,4vw,48px) clamp(48px,10vw,80px); font-size: 16px; line-height: 1.6; color: #C6C6C0; }
.legal h1 { margin: 0 0 8px; font-family: Anton, sans-serif; font-weight: 400; font-size: clamp(36px,9vw,56px); line-height: 1; text-transform: uppercase; color: #F2F2EF; }
.legal h2 { margin: 36px 0 10px; font-family: "Barlow Condensed", sans-serif; font-weight: 700; font-size: 20px; letter-spacing: .06em; text-transform: uppercase; color: #F2F2EF; }
.legal p, .legal ul { margin: 0 0 12px; }
.legal li { margin-bottom: 6px; }
.legal a { text-decoration: underline; }
.legal .updated { font-size: 14px; color: #8E8E88; }
.legal .table-wrap { overflow-x: auto; margin: 0 0 12px; }
.legal table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14px; line-height: 1.45; }
.legal th, .legal td { border: 1px solid rgba(255,255,255,.14); padding: 10px; text-align: left; vertical-align: top; }
.legal th { color: #F2F2EF; font-weight: 600; }
.legal .fill { background: #F5C518; color: #0A0A0A; padding: 0 4px; }
