@import url('https://fonts.googleapis.com/css2?family=Anton&family=Archivo:ital,wght@0,400;0,500;0,600;0,700;0,800;1,600&display=swap');

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

body { background: #fff; }

@keyframes rl-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

@keyframes rl-bob {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(6px); }
}

/* ── Nav ── */
.rl-nav { position: fixed; top: 0; left: 0; bottom: 0; width: 80px; background: #ED1C24; z-index: 100; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 22px 0; border-right: 3px solid #141414; }

.rl-nav-logo { border: 0; background: transparent; padding: 0; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 9px; text-decoration: none; }
.rl-nav-logo:hover .rl-nav-logo-r { background: #141414; border-color: #fff; }

.rl-nav-logo-r { width: 40px; height: 40px; border: 3px solid #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: 'Anton', sans-serif; color: #fff; font-size: 22px; line-height: 1; transition: background .15s; }
.rl-nav-logo-name { writing-mode: vertical-rl; font-family: 'Anton', sans-serif; color: #fff; font-size: 15px; letter-spacing: 3px; text-transform: uppercase; }

.rl-nav-items { display: flex; flex-direction: column; align-items: center; gap: 26px; }

.rl-nav-item { border: 0; background: transparent; padding: 0; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 8px; color: #fff; opacity: .62; text-decoration: none; }
.rl-nav-item:hover, .rl-nav-item.active { opacity: 1; }

.rl-nav-dot { width: 8px; height: 8px; background: #141414; border-radius: 50%; display: block; }
.rl-nav-dot-empty { width: 8px; height: 8px; display: block; }

.rl-nav-label { writing-mode: vertical-rl; font-family: 'Archivo', sans-serif; font-weight: 800; font-size: 15px; letter-spacing: 2px; text-transform: uppercase; }

.rl-nav-bottom { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.rl-nav-lang { border: 2px solid #fff; background: transparent; color: #fff; font-family: 'Anton', sans-serif; font-size: 13px; letter-spacing: 1px; padding: 6px 4px; cursor: pointer; writing-mode: vertical-rl; text-decoration: none; }
.rl-nav-lang:hover { background: #fff; color: #ED1C24; }
.rl-nav-since { writing-mode: vertical-rl; color: #fff; font-family: 'Archivo', sans-serif; font-weight: 600; font-size: 11px; letter-spacing: 2px; opacity: .85; }

/* ── Main ── */
.rl-main { margin-left: 80px; }

/* ── Service rows ── */
.svc-row { width: 100%; text-align: left; border: 0; border-top: 3px solid #141414; background: transparent; cursor: pointer; padding: 30px 0; display: grid; grid-template-columns: 110px 1fr; gap: clamp(16px,3vw,50px); align-items: start; text-decoration: none; color: #141414; }
.svc-row:hover { background: #F4F2EE; }

/* ── CTA / WhatsApp ── */
.cta-link:hover   { color: #141414 !important; }
.wa-btn:hover     { background: #141414 !important; }
.footer-btn:hover { color: #141414 !important; }
.submit-btn:hover { background: #141414 !important; }
.all-svc:hover    { opacity: .7; }
.email-link:hover, .phone-link:hover { opacity: .75; }

/* ── Form inputs ── */
input:focus, textarea:focus { border-color: #ED1C24 !important; outline: none; }

/* ── Seal spin ── */
.rl-seal-ring { position: absolute; inset: 0; border: 3px dashed #141414; border-radius: 50%; animation: rl-spin 18s linear infinite; }
.rl-scroll-arrow { display: inline-block; animation: rl-bob 1.6s ease-in-out infinite; }

/* ── Page head (sub-pages) ── */
.rl-page-head { min-height: 56vh; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(80px,14vh,180px) clamp(20px,4vw,60px) clamp(40px,6vh,70px); background: #fff; border-bottom: 3px solid #141414; position: relative; overflow: hidden; font-family: 'Archivo', sans-serif; }
.rl-page-head-deco { position: absolute; top: 8vh; right: -2vw; font-family: 'Anton', sans-serif; color: #ED1C24; font-size: clamp(3rem,9vw,9rem); letter-spacing: 6px; opacity: .12; text-transform: uppercase; writing-mode: vertical-rl; line-height: 1; }
