/* extraído de rentcon-home-completa-v2-nivel-internacional.html */
:root{
  --brand:#2A5969;
  --brand-dark:#1C4653;
  --green:#1E4B2F;
  --ink:#0f172a;
  --muted:#64748b;
  --amber:#D39F21;
  --white:#F5F5F3;
  --line:rgba(15,23,42,.10);
}

html, body{font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;}
body{overflow-x:hidden;}
[id]{scroll-margin-top:110px;}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;}

.bg-brand{background:var(--brand);}
.text-brand{color:var(--brand);}
.bg-amber{background:var(--amber);}
.text-amber{color:var(--amber);}
.bg-green{background:var(--green);}

.shadow-soft{box-shadow:0 10px 30px rgba(2,6,23,.08);} 
.shadow-hard{box-shadow:0 24px 70px rgba(2,6,23,.18);} 
.lift{transform:translateZ(0);transition:transform .22s ease, box-shadow .22s ease;}
.lift:hover{transform:translateY(-3px);}

.hero-overlay::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(1200px 600px at 15% 15%, rgba(30,75,47,.26), transparent 60%),
    linear-gradient(180deg, rgba(15,23,42,.84), rgba(15,23,42,.58) 42%, rgba(15,23,42,.90));
  pointer-events:none;
}

.hero-gridline::after{
  content:"";
  position:absolute; inset:0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 88px,
    rgba(255,255,255,.02) 88px,
    rgba(255,255,255,.02) 89px
  );
  pointer-events:none;
}

.media-card img, .media-card video{width:100%;height:100%;object-fit:cover;display:block;}
.banner-hover{position:relative;overflow:hidden;background:#0f172a;}
.banner-image,.banner-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.banner-image{opacity:1;transition:opacity .25s ease;z-index:2;}
.banner-video{opacity:0;transition:opacity .25s ease;z-index:1;pointer-events:none;}
.group:hover .banner-image{opacity:0;}
.group:hover .banner-video{opacity:1;}

.marquee{overflow:hidden;position:relative;}
.marquee-track{display:flex;width:max-content;align-items:center;gap:16px;animation:marquee 28s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.client-logo{
  width:180px;height:84px;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:none;border-radius:0;padding:8px 14px;
  box-shadow:none;
}

.section-kicker{
  font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.32em;color:#64748b;
}

.seg-primary{
  background:linear-gradient(135deg, #173845 0%, #132e1d 100%);
  position:relative; overflow:hidden;
}
.seg-primary::after{
  content:"O&G";
  position:absolute;right:28px;top:50%;transform:translateY(-50%);
  font-size:clamp(72px,8vw,116px);font-weight:900;letter-spacing:-.04em;
  color:rgba(255,255,255,.05);pointer-events:none;
}

.dif-card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
}

.step-line{
  position:relative;
}
.step-line::before{
  content:"";
  position:absolute; top:32px; left:10%; right:10%; height:1px;
  background:linear-gradient(to right, transparent, rgba(42,89,105,.24) 18%, rgba(42,89,105,.24) 82%, transparent);
  z-index:0;
}

.map-frame{filter:grayscale(.1) contrast(1.02) saturate(.95);} 


.top-contact-bar a{transition:opacity .2s ease;}
.top-contact-bar a:hover{opacity:.82;}

.whatsapp-float{
  width:60px;height:60px;border-radius:999px;position:fixed;bottom:20px;right:20px;
  z-index:1000;display:flex;align-items:center;justify-content:center;font-size:30px;
  box-shadow:0 14px 40px rgba(2,6,23,.25);
}

@media (max-width: 960px){
  .step-line::before{display:none;}
}

/* Visual para campos desabilitados */
input:disabled, select:disabled, textarea:disabled {
  opacity: 0.65;
  background-color: #f3f4f6;
  cursor: not-allowed;
  color: #6b7280;
  box-shadow: inset 0 0 0 1px rgba(2,6,23,.03);
}

/* Campo com ícone de cadeado */
.field-with-lock{ position: relative; }
.field-with-lock .lock-icon{
  display: none;
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  color: #94a3b8;
  pointer-events: none;
}
.field-with-lock input:disabled + .lock-icon,
.field-with-lock select:disabled + .lock-icon,
.field-with-lock textarea:disabled + .lock-icon {
  display: inline-block;
}

