:root {
  --navy:  #0F1D5C;
  --blue:  #1564FF;
  --blue2: #4A8AFF;
  --ink:   #0D1117;
  --muted: #64748B;
  --sub:   #94A3B8;
  --border:#E2E8F0;
  --bg:    #FFFFFF;
  --bg2:   #F7F9FC;
  --r: 12px;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif; color: var(--ink); background: var(--bg); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }

/* NAV */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 5%; height: 66px;
  background: rgba(255,255,255,0.97);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(10px);
}
.nav-logo img { height: 40px; width: auto; display: block; }
.nav-links { display: flex; align-items: center; gap: 2rem; list-style: none; margin-left: auto; }
.nav-links a { font-size: .875rem; font-weight: 500; color: var(--muted); transition: color .2s; }
.nav-links a:hover { color: var(--navy); }
.nav-cta {
  background: var(--navy); color: #fff !important;
  padding: .55rem 1.35rem; border-radius: var(--r);
  font-weight: 600 !important;
  transition: background .2s !important;
}
.nav-cta:hover { background: var(--blue) !important; }

/* DROPDOWN — Plataformas submenu */
.has-dropdown { position: relative; }
.has-dropdown > a::after {
  content: "▾";
  font-size: .65rem;
  margin-left: .3rem;
  color: var(--sub);
  transition: transform .2s;
}
.has-dropdown:hover > a::after { transform: rotate(180deg); color: var(--navy); }
.dropdown-menu {
  position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(-4px);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--r);
  box-shadow: 0 8px 24px rgba(15, 29, 92, 0.08);
  list-style: none; padding: .4rem 0;
  min-width: 220px;
  opacity: 0; visibility: hidden;
  transition: opacity .18s, transform .18s, visibility .18s;
  z-index: 100;
}
.has-dropdown:hover .dropdown-menu,
.has-dropdown:focus-within .dropdown-menu {
  opacity: 1; visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.dropdown-menu li { display: block; }
.dropdown-menu li a {
  display: block; padding: .65rem 1.1rem;
  font-size: .85rem; font-weight: 500;
  color: var(--ink) !important;
  white-space: nowrap;
}
.dropdown-menu li a:hover { background: var(--bg2); color: var(--navy) !important; }
.dropdown-menu-tag {
  font-size: .65rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .12em;
  color: var(--sub);
  padding: .55rem 1.1rem .25rem;
}

/* MOBILE: collapse dropdown into accordion */
@media (max-width: 768px) {
  .has-dropdown > a::after { display: none; }
  .dropdown-menu {
    position: static; transform: none;
    box-shadow: none; border: none;
    background: transparent;
    opacity: 1; visibility: visible;
    padding: .25rem 0 0 1rem;
    min-width: 0;
  }
  .dropdown-menu li a { padding: .35rem 0; font-size: .8rem; }
  .dropdown-menu-tag { display: none; }
}

/* PLATFORM LINKS */
.platform-link {
  display: inline-flex; align-items: center; gap: .35rem;
  margin-top: 1.75rem;
  font-size: .85rem; font-weight: 600;
  color: var(--blue) !important;
  border-bottom: 1.5px solid transparent;
  padding-bottom: 2px;
  transition: border-color .2s, gap .2s;
}
.platform-link:hover { border-bottom-color: var(--blue); gap: .55rem; }

/* HERO */
.hero {
  min-height: 100vh;
  display: flex; flex-direction: column; justify-content: center;
  padding: 10rem 5% 6rem;
  border-bottom: 1px solid var(--border);
}
.eyebrow {
  font-size: .72rem; font-weight: 700; letter-spacing: .16em;
  text-transform: uppercase; color: var(--blue);
  margin-bottom: 2.25rem;
}
.hero h1 {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(3.2rem, 7.5vw, 7rem);
  font-weight: 800; line-height: 1;
  color: var(--navy); letter-spacing: -0.04em;
  max-width: 16ch; margin-bottom: 2rem;
}
.hero h1 .accent { color: var(--blue); }
.hero-sub {
  font-size: 1.1rem; font-weight: 300; line-height: 1.85;
  color: var(--muted); max-width: 540px; margin-bottom: 3rem;
}
.btn {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .9rem 1.9rem; border-radius: var(--r);
  font-family: 'DM Sans', sans-serif;
  font-size: .9rem; font-weight: 600;
  cursor: pointer; border: none; transition: all .2s;
}
.btn-dark { background: var(--navy); color: #fff; }
.btn-dark:hover { background: var(--blue); }
.btn-ghost { background: transparent; color: var(--navy); border: 1.5px solid var(--border); }
.btn-ghost:hover { border-color: #94a3b8; }
.hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
.hero-bar {
  margin-top: 5.5rem; padding-top: 3rem;
  border-top: 1px solid var(--border);
  display: flex; gap: 4rem; flex-wrap: wrap;
}
.stat-n {
  font-family: 'Outfit', sans-serif;
  font-size: 2.75rem; font-weight: 800; line-height: 1; color: var(--navy);
}
.stat-n sup { color: var(--blue); font-size: 1.5rem; vertical-align: super; }
.stat-l { font-size: .78rem; font-weight: 500; color: var(--sub); margin-top: .35rem; }

/* SECTIONS */
section { padding: 7rem 5%; }
.sec-tag {
  font-size: .7rem; font-weight: 700; letter-spacing: .16em;
  text-transform: uppercase; color: var(--blue); margin-bottom: 1.25rem;
}
h2 {
  font-family: 'Outfit', sans-serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 800; line-height: 1.05;
  color: var(--navy); letter-spacing: -0.035em;
  margin-bottom: 1.25rem;
}
.lead {
  font-size: 1rem; font-weight: 300; line-height: 1.85;
  color: var(--muted); max-width: 580px; margin-bottom: 3.5rem;
}

/* SOBRE */
.about { background: var(--bg2); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: start; }
.pillars { display: flex; flex-direction: column; }
.pillar { padding: 1.75rem 0; border-bottom: 1px solid var(--border); }
.pillar:last-child { border-bottom: none; }
.pillar-title { font-family: 'Outfit', sans-serif; font-size: 1rem; font-weight: 700; color: var(--navy); margin-bottom: .5rem; }
.pillar-desc { font-size: .875rem; line-height: 1.8; color: var(--muted); }
.aside-card {
  background: var(--navy); color: #fff;
  border-radius: 18px; padding: 2.5rem; margin-bottom: 1.25rem;
}
.aside-card-tag { font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--blue2); margin-bottom: 1.5rem; }
.aside-card h3 { font-family: 'Outfit', sans-serif; font-size: 1.5rem; font-weight: 700; line-height: 1.2; margin-bottom: 1.1rem; }
.aside-card p { font-size: .875rem; line-height: 1.8; color: rgba(255,255,255,.6); }
.locations {
  background: var(--bg); border: 1.5px solid var(--border);
  border-radius: var(--r); padding: 1.5rem;
  display: flex; flex-direction: column; gap: .75rem;
}
.loc-title { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; color: var(--sub); margin-bottom: .25rem; }
.loc-item { display: flex; align-items: center; gap: .6rem; font-size: .875rem; font-weight: 500; color: var(--muted); }
.loc-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--blue); flex-shrink: 0; }

/* PLATAFORMAS */
.platforms { border-bottom: 1px solid var(--border); }
.platforms-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.platform-card {
  border: 1.5px solid var(--border); border-radius: 18px;
  padding: 2.75rem; position: relative; overflow: hidden;
  transition: border-color .25s, transform .25s;
}
.platform-card:hover { border-color: var(--blue); transform: translateY(-3px); }
.platform-badge {
  display: inline-block;
  font-size: .68rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; padding: .35rem .9rem;
  border-radius: 100px; margin-bottom: 1.5rem;
}
.badge-ibm { background: #054ADA; color: #fff; }
.badge-ana { background: #00C4CC; color: #003C40; }
.platform-card h3 { font-family: 'Outfit', sans-serif; font-size: 1.75rem; font-weight: 800; color: var(--navy); margin-bottom: 1rem; letter-spacing: -0.03em; line-height: 1.1; }
.platform-card p { font-size: .875rem; line-height: 1.8; color: var(--muted); margin-bottom: 1.75rem; }
.service-list { list-style: none; display: flex; flex-direction: column; gap: .65rem; }
.service-list li { display: flex; align-items: flex-start; gap: .65rem; font-size: .83rem; color: var(--ink); font-weight: 500; }
.service-list li::before { content: '→'; color: var(--blue); flex-shrink: 0; margin-top: .05rem; }

/* SOLUCOES POR AREA */
.solutions { background: var(--bg2); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.sol-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.sol-card {
  background: var(--bg); border: 1.5px solid var(--border);
  border-radius: var(--r); padding: 1.75rem;
  transition: border-color .2s;
}
.sol-card:hover { border-color: var(--navy); }
.sol-icon { font-size: 1.5rem; margin-bottom: 1rem; }
.sol-title { font-family: 'Outfit', sans-serif; font-size: 1.05rem; font-weight: 700; color: var(--navy); margin-bottom: .75rem; }
.sol-items { list-style: none; display: flex; flex-direction: column; gap: .4rem; }
.sol-items li { font-size: .78rem; color: var(--muted); padding-left: .85rem; position: relative; line-height: 1.5; }
.sol-items li::before { content: '·'; position: absolute; left: 0; color: var(--blue); font-weight: 700; }

/* METODOLOGIA */
.methodology { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.method-2col { display: grid; grid-template-columns: 1fr 1.5fr; gap: 6rem; align-items: start; }
.sprint-list { display: flex; flex-direction: column; }
.sprint-item { display: flex; gap: 1.5rem; padding: 1.75rem 0; border-bottom: 1px solid var(--border); }
.sprint-item:first-child { padding-top: 0; }
.sprint-item:last-child { border-bottom: none; }
.sprint-n { font-family: 'Outfit', sans-serif; font-size: 1.3rem; font-weight: 800; color: var(--border); min-width: 2rem; line-height: 1.2; }
.sprint-title { font-family: 'Outfit', sans-serif; font-size: .95rem; font-weight: 700; color: var(--navy); margin-bottom: .4rem; }
.sprint-desc { font-size: .84rem; line-height: 1.75; color: var(--muted); }
.fw-box { border: 1.5px solid var(--border); border-radius: var(--r); overflow: hidden; }
.fw-head { display: grid; grid-template-columns: repeat(3,1fr); background: var(--navy); }
.fw-h { padding: 1rem 1.25rem; font-family: 'Outfit', sans-serif; font-size: .78rem; font-weight: 700; color: rgba(255,255,255,.85); letter-spacing: .04em; border-right: 1px solid rgba(255,255,255,.08); }
.fw-h:last-child { border-right: none; }
.fw-body { display: grid; grid-template-columns: repeat(3,1fr); }
.fw-col { border-right: 1px solid var(--border); }
.fw-col:last-child { border-right: none; }
.fw-row { padding: .8rem 1.25rem; font-size: .82rem; color: var(--muted); border-bottom: 1px solid var(--border); font-weight: 500; transition: background .15s, color .15s; }
.fw-row:last-child { border-bottom: none; }
.fw-row:hover { background: var(--bg2); color: var(--blue); }
.fw-foot { background: var(--bg2); border-top: 1px solid var(--border); padding: 1rem 1.25rem; display: flex; flex-direction: column; gap: .5rem; }
.fw-band { font-size: .78rem; font-weight: 600; padding: .6rem 1rem; border-radius: 6px; text-align: center; }
.fw-band-navy { background: var(--navy); color: #fff; }
.fw-band-green { background: #15803D; color: #fff; }

/* CASES */
.cases-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; }
.case-card {
  border: 1.5px solid var(--border); border-radius: var(--r); padding: 2rem;
  display: flex; flex-direction: column; gap: 1rem;
  transition: border-color .2s, transform .2s;
}
.case-card:hover { border-color: var(--blue); transform: translateY(-3px); }
.case-tag {
  font-size: .68rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--blue);
  background: #EFF6FF; padding: .3rem .75rem; border-radius: 100px;
  width: fit-content;
}
.case-title { font-family: 'Outfit', sans-serif; font-size: 1.1rem; font-weight: 700; color: var(--navy); line-height: 1.25; }
.case-desc { font-size: .83rem; line-height: 1.8; color: var(--muted); flex: 1; }
.case-result { font-size: .8rem; font-weight: 600; color: var(--navy); padding-top: 1rem; border-top: 1px solid var(--border); display: flex; gap: .5rem; align-items: flex-start; }
.case-result::before { content: '✓'; color: #16A34A; flex-shrink: 0; }

/* EQUIPE */
.team { background: var(--bg2); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.team-card {
  max-width: 520px;
  border: 1.5px solid var(--border); border-radius: 18px; padding: 2.5rem;
}
.team-avatar {
  width: 112px; height: 112px; border-radius: 50%;
  background: var(--navy); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Outfit', sans-serif; font-weight: 800; font-size: 2rem;
  margin-bottom: 0;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
}
.team-avatar img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.team-name { font-family: 'Outfit', sans-serif; font-size: 1.4rem; font-weight: 800; color: var(--navy); margin-bottom: .25rem; }
.team-role { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--blue); margin-bottom: 1.25rem; }
.team-bio { font-size: .875rem; line-height: 1.85; color: var(--muted); margin-bottom: 1.5rem; }
.certs { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1.5rem; }
.cert { font-size: .72rem; font-weight: 600; padding: .28rem .75rem; border-radius: 100px; background: var(--bg); border: 1px solid var(--border); color: var(--muted); }
.team-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}
.team-credly {
  flex-shrink: 0;
  display: block;
}
.team-credly img {
  width: 75px;
  height: auto;
  display: block;
  transition: opacity .2s;
}
.team-credly img:hover { opacity: .8; }

.team-contact { padding-top: 1.25rem; border-top: 1px solid var(--border); display: flex; flex-direction: column; gap: .4rem; }
.team-contact a { font-size: .875rem; color: var(--muted); font-weight: 500; transition: color .2s; }
.team-contact a:hover { color: var(--blue); }

/* CONTATO */
.contact { background: var(--navy); }
.contact .sec-tag { color: var(--blue2); }
.contact h2 { color: #fff; }
.contact .lead { color: rgba(255,255,255,.5); }
.contact-2col { display: grid; grid-template-columns: 1fr 1.3fr; gap: 5rem; align-items: start; }
.cinfo { display: flex; flex-direction: column; gap: 1.25rem; }
.cinfo-item { display: flex; gap: 1rem; align-items: flex-start; }
.cinfo-icon { width: 38px; height: 38px; border-radius: 9px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.09); display: flex; align-items: center; justify-content: center; font-size: .9rem; flex-shrink: 0; }
.cinfo-label { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.35); margin-bottom: .25rem; }
.cinfo-val { font-size: .875rem; color: rgba(255,255,255,.7); font-weight: 400; }
.cinfo-val a { color: inherit; text-decoration: none; transition: color .2s; }
.cinfo-val a:hover { color: #fff; text-decoration: underline; }
.form { display: flex; flex-direction: column; gap: .9rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
label { display: block; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.38); margin-bottom: .4rem; }
input, textarea, select {
  width: 100%; background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1); border-radius: var(--r);
  padding: .85rem 1rem; color: rgba(255,255,255,.9);
  font-family: 'DM Sans', sans-serif; font-size: .875rem;
  outline: none; transition: border-color .2s; -webkit-appearance: none;
}
input::placeholder, textarea::placeholder { color: rgba(255,255,255,.22); }
input:focus, textarea:focus, select:focus { border-color: var(--blue); }
textarea { resize: vertical; min-height: 115px; }
select option { background: #0F1D5C; }

/* FOOTER */
footer {
  background: #080E2F;
  border-top: 1px solid rgba(255,255,255,.05);
  padding: 1.5rem 5%;
}
.footer-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 2rem;
}
/* Left */
.footer-logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.footer-logo img {
  /* Flexthink logo is 495x162px (3:1 ratio) — constrain by width to avoid squashing */
  height: auto;
  width: 160px;
  max-width: 100%;
  display: block;
  mix-blend-mode: screen;
}

/* Centre – IBM Silver Partner badge */
.footer-ibm {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 2rem;
}
.footer-ibm-logo {
  /* IBM guideline: reversed (white) version on dark background.
     Clear space = logo height on all sides — enforced via padding on .footer-ibm.
     2960x2301px (~1.28:1) — fix height, let width follow naturally. */
  height: 72px;
  width: auto;
  max-width: 100%;
  display: block;
  mix-blend-mode: screen;
  opacity: .9;
}

/* Right */
.footer-right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.footer-copy { font-size: .78rem; color: rgba(255,255,255,.28); }
.footer-links { display: flex; gap: 1.5rem; }
.footer-links a { font-size: .78rem; color: rgba(255,255,255,.3); transition: color .2s; }
.footer-links a:hover { color: rgba(255,255,255,.7); }

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.05);
  margin-top: 1.25rem;
  padding-top: .9rem;
  text-align: center;
}

/* Footer responsive */
@media (max-width: 760px) {
  .footer-inner {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 1.75rem;
  }
  .footer-right { align-items: center; }
  .footer-links { justify-content: center; flex-wrap: wrap; }
}

/* HAMBURGER */
.nav-hamburger {
  display: none;
  flex-direction: column; justify-content: center; align-items: center;
  gap: 5px;
  width: 40px; height: 40px;
  background: none; border: none; cursor: pointer;
  padding: 4px;
  z-index: 300;
  flex-shrink: 0;
}
.nav-hamburger span {
  display: block; width: 22px; height: 2px;
  background: var(--navy); border-radius: 2px;
  transition: transform .3s, opacity .3s, width .3s;
  transform-origin: center;
}
.nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; width: 0; }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* MOBILE MENU OVERLAY */
.nav-mobile-overlay {
  display: none;
  position: fixed; inset: 0; z-index: 150;
  background: rgba(15,29,92,.35);
  backdrop-filter: blur(2px);
  opacity: 0; transition: opacity .25s;
}
.nav-mobile-overlay.open { opacity: 1; }

/* MOBILE DRAWER */
.nav-mobile-drawer {
  position: fixed; top: 66px; left: 0; right: 0; z-index: 200;
  background: #fff;
  border-bottom: 1px solid var(--border);
  padding: 1.25rem 5% 1.5rem;
  transform: translateY(-8px); opacity: 0;
  pointer-events: none;
  transition: transform .25s, opacity .25s;
  box-shadow: 0 8px 32px rgba(15,29,92,.1);
}
.nav-mobile-drawer.open {
  transform: translateY(0); opacity: 1;
  pointer-events: auto;
}
.nav-mobile-drawer ul {
  list-style: none; display: flex; flex-direction: column; gap: 0;
}
.nav-mobile-drawer ul li a {
  display: block; padding: .75rem 0;
  font-size: .95rem; font-weight: 500; color: var(--ink);
  border-bottom: 1px solid var(--border);
  transition: color .2s;
}
.nav-mobile-drawer ul li a:hover { color: var(--blue); }
.nav-mobile-drawer ul li:last-child a { border-bottom: none; }
.nav-mobile-drawer .mob-cta {
  background: var(--navy); color: #fff !important;
  border-radius: var(--r); padding: .75rem 1rem;
  text-align: center; font-weight: 600 !important;
  margin-top: .5rem; border-bottom: none !important;
}
.nav-mobile-drawer .mob-cta:hover { background: var(--blue) !important; }
.nav-mobile-drawer .mob-sub {
  padding: .5rem 0 .5rem 1rem !important;
  font-size: .82rem !important; color: var(--muted) !important;
  border-bottom: 1px solid var(--border) !important;
}
.nav-mobile-drawer .mob-sub-label {
  font-size: .65rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .12em; color: var(--sub);
  padding: .6rem 0 .2rem;
}
.nav-mobile-drawer .mob-lang {
  display: flex; gap: .5rem; padding-top: 1rem; margin-top: .25rem;
}
.nav-mobile-drawer .mob-lang a {
  font-size: .78rem; font-weight: 600; color: var(--muted);
  padding: .3rem .6rem; border-radius: 6px; border-bottom: none !important;
}
.nav-mobile-drawer .mob-lang a.active,
.nav-mobile-drawer .mob-lang a:hover { background: var(--bg2); color: var(--navy); }

@media (max-width: 960px) {
  .nav-hamburger { display: flex; }
  .nav-mobile-overlay { display: block; pointer-events: none; }
  .nav-mobile-overlay.open { pointer-events: auto; }
}

/* ANIMATIONS */
@keyframes up { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
.hero .eyebrow { animation: up .5s .1s both; }
.hero h1       { animation: up .6s .2s both; }
.hero-sub      { animation: up .6s .3s both; }
.hero-actions  { animation: up .6s .4s both; }
.hero-bar      { animation: up .6s .5s both; }

@media (max-width: 960px) {
  .about-grid, .platforms-grid, .method-2col, .contact-2col { grid-template-columns: 1fr; gap: 3rem; }
  .sol-grid, .cases-grid { grid-template-columns: 1fr 1fr; }
  nav .nav-links { display: none; }
  .form-row { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .sol-grid, .cases-grid { grid-template-columns: 1fr; }
}

/* LANGUAGE SWITCHER */
.lang-switch { display: flex; align-items: center; gap: .35rem; margin-left: 1rem; padding-left: 1rem; border-left: 1px solid var(--border); }
.lang-switch a { font-size: .75rem; font-weight: 600; color: var(--muted); padding: .3rem .55rem; border-radius: 6px; transition: all .2s; letter-spacing: .05em; }
.lang-switch a:hover { color: var(--navy); background: var(--bg2); }
.lang-switch a.active { color: var(--navy); background: var(--bg2); }
@media (max-width: 960px) {
  .lang-switch { margin-left: 0; padding-left: 0; border-left: none; }
  .lang-switch a { padding: .25rem .4rem; font-size: .7rem; }
}

/* FORM STATUS */
.form-status { display: none; margin-top: .8rem; padding: .85rem 1rem; border-radius: var(--r); font-size: .9rem; font-weight: 500; }
.form-status.success { display: block; background: rgba(34, 197, 94, 0.12); color: #4ade80; border: 1px solid rgba(34, 197, 94, 0.3); }
.form-status.error { display: block; background: rgba(239, 68, 68, 0.12); color: #f87171; border: 1px solid rgba(239, 68, 68, 0.3); }
.form-status.loading { display: block; background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.7); border: 1px solid rgba(255,255,255,0.1); }
form.form button[type="submit"] { border: none; cursor: pointer; font-family: inherit; background: var(--blue); }
form.form button[type="submit"]:hover { background: var(--blue2); }
form.form button[type="submit"]:disabled { opacity: 0.6; cursor: not-allowed; }

/* ── SOCIAL CONTACT BUTTONS ── */
.social-contact-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.75rem;
}
.social-btn {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .65rem 1.25rem;
  border-radius: 10px;
  font-family: 'DM Sans', sans-serif;
  font-size: .875rem;
  font-weight: 600;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  box-shadow: 0 2px 10px rgba(0,0,0,.18);
  letter-spacing: .01em;
}
.social-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0,0,0,.28);
  filter: brightness(1.08);
}
.social-btn i { font-size: 1rem; }

.social-btn--whatsapp {
  background: #25D366;
  color: #fff;
}
.social-btn--linkedin {
  background: #0A66C2;
  color: #fff;
}
.social-btn--calendly {
  background: #006BFF;
  color: #fff;
}

/* ── WHATSAPP FLOATING BUTTON ── */
.wa-float {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 999;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  box-shadow: 0 4px 20px rgba(37,211,102,.5);
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease;
  animation: waPulse 2.5s infinite;
}
.wa-float:hover {
  transform: scale(1.12);
  box-shadow: 0 6px 28px rgba(37,211,102,.7);
  animation: none;
}
@keyframes waPulse {
  0%, 100% { box-shadow: 0 4px 20px rgba(37,211,102,.5); }
  50%       { box-shadow: 0 4px 30px rgba(37,211,102,.85); }
}
