/* ═══════════════════════════════════════════
   GUIJO TECH — Global Stylesheet
   ═══════════════════════════════════════════ */

/* ── RESET & TOKENS ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --o:#FF5A1F;
  --o10:rgba(255,90,31,0.12);
  --o20:rgba(255,90,31,0.25);
  --bg:#0F0F0F;
  --bg2:#161616;
  --ink:#FFFFFF;
  --ink2:rgba(255,255,255,0.55);
  --ink3:rgba(255,255,255,0.3);
  --line:rgba(255,255,255,0.08);
  --white:#1A1A1A;
  --r:16px;
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg);color:var(--ink);
  line-height:1.6;overflow-x:hidden;
  max-width:100vw;
}

/* ── SHARED BUTTONS ── */
.btn-primary{
  background:var(--o);color:#fff;border:none;
  padding:13px 24px;border-radius:12px;font-size:.9rem;font-weight:700;
  cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;gap:8px;
  transition:all .2s;box-shadow:0 4px 24px rgba(255,90,31,0.28);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(255,90,31,0.4)}
.btn-ghost{
  background:rgba(255,255,255,0.05);color:var(--ink);
  border:1px solid var(--line);padding:13px 24px;
  border-radius:12px;font-size:.9rem;font-weight:600;
  cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;gap:8px;transition:all .2s;
}
.btn-ghost:hover{background:rgba(255,255,255,0.09);transform:translateY(-2px)}

/* ── SECTION SHARED ── */
.section{padding:clamp(2.5rem,4vw,4rem) clamp(1.5rem,5vw,5rem)}
.inner{max-width:1060px;margin:0 auto}
.tag{
  font-size:.7rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--o);margin-bottom:.8rem;
}
.sec-title{
  font-size:clamp(1.8rem,3.5vw,3rem);font-weight:900;
  letter-spacing:-0.04em;line-height:1.08;
}
.sec-sub{color:var(--ink2);font-size:1rem;max-width:480px;margin-top:.9rem;line-height:1.75}

/* ── SECTION DIVIDERS ── */
.problems-section,.cards-section,.portfolio-section,.processo-section,.cta-section{
  border-top:1px solid rgba(255,255,255,0.04);
  position:relative;
}

/* ── REVEAL ANIMATION ── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .55s ease}
.reveal.in{opacity:1;transform:translateY(0)}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}