
:root{
  --red:#C1121F;
  --dark:#1E1E1E;
  --light:#F8F9FA;
  --muted:#ECECEC;
}

.firo-landing{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#111827;background:var(--light);line-height:1.65}
.firo-container{max-width:1180px;margin:0 auto;padding:clamp(16px,3vw,28px)}

.firo-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--dark),#2a2a2a);color:white;border-radius:20px;padding:64px 28px;margin-top:16px;box-shadow:0 10px 25px rgba(0,0,0,.25)}
.firo-hero::after{content:"";position:absolute;inset:-40% -20% auto auto;width:120%;height:140%;background:radial-gradient(ellipse at top right, rgba(193,18,31,.35), transparent 40%), radial-gradient(ellipse at bottom left, rgba(255,255,255,.06), transparent 45%);transform:rotate(-8deg);animation:floaty 12s ease-in-out infinite alternate}
@keyframes floaty{to{transform:rotate(3deg) translateY(-10px)}}

.firo-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:8px 14px;margin-bottom:14px;font-size:14px}
.firo-badge .dot{display:inline-block;width:8px;height:8px;background:var(--red);border-radius:50%}

.firo-title{font-weight:800;font-size:clamp(28px,4vw,46px);letter-spacing:.5px;margin:8px 0 10px}
.firo-sub{max-width:900px;opacity:.95;font-size:clamp(16px,2vw,18px)}
.firo-cta{margin-top:20px;display:flex;gap:12px;flex-wrap:wrap}
.firo-btn{display:inline-flex;align-items:center;gap:10px;background:var(--red);color:white;border:none;border-radius:999px;padding:12px 18px;font-weight:700;text-decoration:none;transition:.25s transform, .25s box-shadow}
.firo-btn:hover{transform:translateY(-2px);box-shadow:0 10px 18px rgba(193,18,31,.35)}
.firo-btn.secondary{background:transparent;border:1px solid rgba(255,255,255,.35)}

.firo-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:22px;margin-top:34px}
.firo-card{grid-column:span 12;background:white;border:1px solid #e5e7eb;border-radius:16px;padding:22px}
@media(min-width:900px){
 .firo-card.split{grid-column:span 7}
 .firo-card.side{grid-column:span 5}
}
.firo-card h3{display:flex;align-items:center;gap:10px;font-size:22px;margin:0 0 10px;font-weight:800;color:var(--dark)}
.firo-pill{display:inline-block;background:var(--muted);padding:8px 12px;border-radius:999px;font-size:13px;margin:4px 6px 0 0}

.firo-list{display:grid;gap:12px;margin:6px 0}
.firo-list li{list-style:none;display:flex;gap:10px;align-items:flex-start}
.firo-list .icon{width:10px;height:10px;background:var(--red);border-radius:2px;margin-top:8px;flex:0 0 10px}

.firo-footer{margin:26px auto 10px;text-align:center;color:#4b5563;font-size:14px}
.firo-divider{height:1px;background:linear-gradient(90deg,transparent,var(--muted),transparent);margin:32px 0}

/* === Contrast Patch v1 === */

.firo-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#2A2A2A 0%, #3A3A3A 60%);color:white;border-radius:20px;padding:64px 28px;margin-top:16px;box-shadow:0 14px 28px rgba(0,0,0,.22)}
.firo-hero::after{content:"";position:absolute;inset:-40% -20% auto auto;width:120%;height:140%;background:
  radial-gradient(ellipse at top right, rgba(193,18,31,.18), transparent 45%),
  radial-gradient(ellipse at bottom left, rgba(255,255,255,.04), transparent 50%);
transform:rotate(-4deg);animation:floaty 14s ease-in-out infinite alternate}
.firo-title{font-weight:900;font-size:clamp(30px,4.6vw,52px);letter-spacing:.4px;margin:10px 0 12px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.28)}
.firo-sub{max-width:980px;color:rgba(255,255,255,.96);font-size:clamp(16px,2.1vw,19px)}
.firo-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:999px;padding:9px 14px;margin-bottom:16px;font-size:14px;color:#fff}
.firo-btn.secondary{background:transparent;border:1px solid rgba(255,255,255,.6);color:#F8F9FA}
.firo-btn.secondary:hover{background:rgba(255,255,255,.08)}

/* === v2.0 Dynamic Robotics Edition === */
#firo-spiral-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  opacity:.35;
  filter:blur(.2px) contrast(105%);
}
.firo-hero .firo-cta .firo-btn{position:relative;overflow:hidden}
.firo-hero .firo-cta .firo-btn::after{
  content:"";position:absolute;inset:0;transform:translateX(-120%);
  background:linear-gradient(110deg, transparent 0%, rgba(255,255,255,.25) 45%, transparent 60%);
  transition:transform .7s ease;
}
.firo-hero .firo-cta .firo-btn:hover::after{transform:translateX(120%)}

.pulse{animation:pulse 2.2s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}

/* === v3.0 Visual Redesign === */
.firo-v3 .firo-hero{
  position:relative; color:#fff; padding-top:96px; padding-bottom:48px;
  background: radial-gradient(900px 420px at 75% 8%, rgba(230,30,37,.25), transparent 60%),
              linear-gradient(135deg,#1A1A1A 0%, #2B2B2B 60%);
  border-radius:24px; margin:18px; box-shadow:0 18px 38px rgba(0,0,0,.28);
  overflow:hidden;
}
.firo-hero-inner{max-width:1200px;margin:0 auto;padding:0 24px 18px;position:relative;z-index:2}
.firo-title.xl{font-weight:900;font-size:clamp(34px,5vw,60px);margin:10px 0 6px;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.firo-kicker{font-size:clamp(14px,2.2vw,18px);opacity:.9;margin-bottom:6px}
.firo-sub.lead{max-width:900px;font-size:clamp(16px,2.1vw,19px);opacity:.96}
.glass{backdrop-filter:blur(8px);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18)}
.firo-hero-bottom{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1100px;margin:14px auto 6px;padding:12px 20px}
.firo-hero-bottom .metric{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px 16px;text-align:center}
.metric .num{display:block;font-weight:900;font-size:clamp(22px,3.4vw,34px)}
.metric .label{display:block;font-size:12px;opacity:.9}

.firo-robot{position:absolute;right:2%;bottom:8px;z-index:1;opacity:.9}
.bot .eye{fill:#E6E6E6}
.bot .blink{animation:blink 3.8s infinite}
@keyframes blink{0%,95%,100%{opacity:1}96%{opacity:.1}}
.bot .gear-core{fill:#2A2A2A;stroke:#6E6E6E}
.bot .wheel{fill:#242424;stroke:#5E5E5E}
.arm.right{transform-origin:144px 102px;animation:wave 4.5s ease-in-out infinite}
@keyframes wave{0%,100%{transform:rotate(0)}50%{transform:rotate(8deg)}}

.firo-section{margin:44px auto 22px;max-width:1200px;padding:0 18px}
.firo-section.center{text-align:center}
.grid-2{display:grid;gap:22px}
@media(min-width:900px){.grid-2{grid-template-columns:1fr 1fr}}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:22px;box-shadow:0 8px 16px rgba(0,0,0,.04)}
.card.accent{background:linear-gradient(135deg,#fff,#FFF5F5);border-color:#FFD7D7}
.card h3{font-size:22px;margin:0 0 10px;font-weight:800}
.boom{font-weight:800;color:#C1121F}

.tiles{display:grid;gap:16px}
@media(min-width:800px){.tiles{grid-template-columns:repeat(3,1fr)}}
.tile{background:#111827;color:#F9FAFB;border-radius:16px;padding:18px;border:1px solid #30363d;box-shadow:0 10px 20px rgba(0,0,0,.15)}
.tile h4{margin:0 0 6px;font-size:18px;color:#fff}
.tile p{opacity:.92}

.firo-btn.big{padding:14px 22px;font-size:16px;border-radius:999px}
.firo-v3 .firo-btn{background:#C1121F}
.firo-v3 .firo-btn:hover{box-shadow:0 14px 22px rgba(193,18,31,.35);transform:translateY(-1px)}
.firo-v3 .firo-btn.secondary{background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff}
.firo-v3 .firo-btn.secondary:hover{background:rgba(255,255,255,.08)}

.firo-footer{margin:34px auto 28px;text-align:center;color:#4b5563;font-size:14px}

#firo-spiral-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.28}

/* === v3.1 Layout Tidy === */
.firo-v3 .firo-hero{min-height:560px}
.firo-hero-inner{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:24px}
@media(max-width:980px){.firo-hero-inner{grid-template-columns:1fr}}
.firo-robot{position:relative;right:auto;bottom:auto;justify-self:end;width:clamp(220px,28vw,380px);max-width:100%;opacity:.95}
@media(max-width:980px){.firo-robot{display:none}}
.firo-hero-bottom{max-width:1100px}
.firo-title.xl{margin-bottom:4px}
.firo-kicker{margin-bottom:10px}
.firo-cta{margin-top:16px;display:flex;gap:12px;flex-wrap:wrap}
.firo-btn.big{padding:13px 22px}
