.irve-home {
  --irve-navy:#102449;
  --irve-navy-dark:#08162f;
  --irve-teal:#36b6bc;
  --irve-teal-dark:#24969f;
  --irve-text:#18233a;
  --irve-muted:#667085;
  --irve-soft:#f3f8fa;
  --irve-line:#dce6ed;
  width:100%;
  color:var(--irve-text);
  font-family:Arial,Helvetica,sans-serif;
}
.irve-home * { box-sizing:border-box; }
.irve-home h1,.irve-home h2,.irve-home h3,.irve-home p { margin-top:0; }
.irve-home a { text-decoration:none; }

.irve-home__hero {
  position:relative;
  max-width:1440px;
  margin:0 auto 24px;
  overflow:hidden;
  border-radius:0 0 24px 24px;
  background:var(--irve-navy-dark);
}
.irve-home__hero-image {
  display:block;
  width:100%;
  height:auto;
}
.irve-home__hero-actions {
  position:absolute;
  left:10%;
  bottom:6%;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.irve-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:13px 20px;
  border-radius:11px;
  font-weight:800;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.irve-btn:hover { transform:translateY(-2px); }
.irve-btn--primary {
  color:#fff!important;
  background:linear-gradient(135deg,var(--irve-teal),var(--irve-teal-dark));
  box-shadow:0 12px 28px rgba(36,150,159,.25);
}
.irve-btn--glass {
  color:#fff!important;
  border:1px solid rgba(255,255,255,.5);
  background:rgba(8,22,47,.64);
  backdrop-filter:blur(8px);
}
.irve-btn--white {
  color:var(--irve-navy)!important;
  background:#fff;
}
.irve-btn--outline {
  color:#fff!important;
  border:1px solid rgba(255,255,255,.55);
}

.irve-home__trust {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-width:1240px;
  margin:0 auto;
  padding:0 24px;
  gap:12px;
}
.irve-home__trust article {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:92px;
  padding:17px;
  border:1px solid var(--irve-line);
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 26px rgba(16,36,73,.06);
}
.irve-home__trust article>span { font-size:27px; }
.irve-home__trust strong { display:block;color:var(--irve-navy);font-size:14px; }
.irve-home__trust small { display:block;margin-top:4px;color:var(--irve-muted);line-height:1.4; }

.irve-section {
  max-width:1240px;
  margin:0 auto;
  padding:90px 24px;
}
.irve-section--soft {
  max-width:none;
  padding-left:max(24px,calc((100% - 1192px)/2));
  padding-right:max(24px,calc((100% - 1192px)/2));
  background:var(--irve-soft);
}
.irve-section--navy {
  max-width:none;
  padding-left:max(24px,calc((100% - 1192px)/2));
  padding-right:max(24px,calc((100% - 1192px)/2));
  color:#fff;
  background:
    radial-gradient(circle at 90% 10%,rgba(54,182,188,.22),transparent 30%),
    linear-gradient(135deg,var(--irve-navy),var(--irve-navy-dark));
}
.irve-section__heading {
  max-width:850px;
  margin:0 auto 42px;
  text-align:center;
}
.irve-section__heading h1,.irve-section__heading h2 {
  color:var(--irve-navy);
  font-size:clamp(30px,4vw,52px);
  line-height:1.08;
}
.irve-section__heading p {
  color:var(--irve-muted);
  font-size:18px;
  line-height:1.65;
}
.irve-section__heading--light h2,.irve-section__heading--light p { color:#fff; }
.irve-section__heading--light p { color:#dce7ef; }
.irve-kicker {
  display:block;
  margin-bottom:12px;
  color:var(--irve-teal-dark);
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.irve-home__services {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.irve-home__services article {
  padding:28px;
  border:1px solid var(--irve-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 34px rgba(16,36,73,.07);
}
.irve-home__service-icon { font-size:34px; }
.irve-home__services h2 { margin:16px 0 10px;color:var(--irve-navy);font-size:24px; }
.irve-home__services p { color:var(--irve-muted);line-height:1.65; }
.irve-home__services a { color:var(--irve-teal-dark);font-weight:800; }

.irve-home__why {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:60px;
  align-items:center;
}
.irve-home__why h2 { color:var(--irve-navy);font-size:clamp(30px,4vw,48px);line-height:1.1; }
.irve-home__why p,.irve-home__why li { color:var(--irve-muted);line-height:1.65; }
.irve-home__why ul { margin:24px 0 30px;padding-left:22px; }
.irve-home__why li { margin:9px 0; }
.irve-home__numbers {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.irve-home__numbers article {
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:22px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 32px rgba(16,36,73,.08);
}
.irve-home__numbers strong { color:var(--irve-teal-dark);font-size:36px; }
.irve-home__numbers span { margin-top:6px;color:var(--irve-navy);font-weight:800;line-height:1.35; }

.irve-home__steps {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.irve-home__steps article {
  padding:24px;
  border:1px solid var(--irve-line);
  border-radius:18px;
  background:#fff;
}
.irve-home__steps article>span {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  color:#fff;
  background:var(--irve-teal);
  font-weight:900;
}
.irve-home__steps h3 { margin:17px 0 8px;color:var(--irve-navy); }
.irve-home__steps p { color:var(--irve-muted);line-height:1.55; }

.irve-home__guide-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.irve-home__guide-grid article {
  padding:26px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(255,255,255,.07);
}
.irve-home__guide-grid article>span { font-size:32px; }
.irve-home__guide-grid h3 { margin:16px 0 10px;color:#fff; }
.irve-home__guide-grid p { color:#dce7ef;line-height:1.55; }
.irve-home__center { margin-top:30px;text-align:center; }

.irve-home__proof-links {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.irve-home__proof-links a {
  display:flex;
  align-items:center;
  gap:14px;
  min-height:110px;
  padding:22px;
  border:1px solid var(--irve-line);
  border-radius:18px;
  color:var(--irve-navy);
  background:#fff;
  box-shadow:0 12px 30px rgba(16,36,73,.06);
}
.irve-home__proof-links span { color:#f4a900;font-size:24px; }

.irve-home__commercial { padding-top:40px; }

.irve-home__final-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:55px max(24px,calc((100% - 1192px)/2));
  color:#fff;
  background:linear-gradient(135deg,var(--irve-teal-dark),var(--irve-navy));
}
.irve-home__final-cta h2 { margin-bottom:8px;color:#fff;font-size:clamp(30px,4vw,46px); }
.irve-home__final-cta p { margin:0;color:#e4f0f4;font-size:17px; }
.irve-home__final-actions { display:flex;gap:12px;flex-wrap:wrap; }

@media(max-width:900px) {
  .irve-home__trust { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .irve-home__services,.irve-home__guide-grid,.irve-home__proof-links { grid-template-columns:1fr; }
  .irve-home__why { grid-template-columns:1fr; }
  .irve-home__steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .irve-home__final-cta { flex-direction:column;align-items:flex-start; }
}
@media(max-width:600px) {
  .irve-home__hero {
    margin:0;
    border-radius:0 0 16px 16px;
  }
  .irve-home__hero-image {
    width:100%;
    height:auto;
    object-fit:contain;
  }
  .irve-home__hero-actions {
    position:static;
    display:grid;
    padding:14px;
    background:var(--irve-navy-dark);
  }
  .irve-home__trust { grid-template-columns:1fr;padding:14px; }
  .irve-section { padding:62px 18px; }
  .irve-section--soft,.irve-section--navy { padding-left:18px;padding-right:18px; }
  .irve-section__heading { margin-bottom:30px;text-align:left; }
  .irve-section__heading h1,.irve-section__heading h2 { font-size:32px; }
  .irve-section__heading p { font-size:16px; }
  .irve-home__numbers,.irve-home__steps { grid-template-columns:1fr; }
  .irve-home__final-cta { padding:45px 18px; }
  .irve-home__final-actions { width:100%; }
  .irve-home__final-actions .irve-btn { width:100%; }
}

.irve-ai-chat {
  --irve-navy:#14264b;
  --irve-navy-dark:#0c1933;
  --irve-teal:#49b8bf;
  --irve-teal-dark:#2e9da6;
  --irve-bg:#f5f9fb;
  --irve-line:#dce6ee;
  --irve-text:#17213a;
  --irve-muted:#687386;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--irve-text);
}
.irve-ai-chat * { box-sizing:border-box; }

.irve-ai-chat--inline {
  max-width:820px;
  margin:32px auto;
}
.irve-ai-chat__panel {
  overflow:hidden;
  border:1px solid #e3ebf1;
  border-radius:22px;
  background:#fff;
  box-shadow:0 18px 55px rgba(20,38,75,.14);
}
.irve-ai-chat__header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  color:#fff;
  background:
    radial-gradient(circle at 90% 0, rgba(73,184,191,.34), transparent 34%),
    linear-gradient(135deg,var(--irve-navy),var(--irve-navy-dark));
}
.irve-ai-chat__identity {
  display:flex;
  align-items:center;
  gap:12px;
}
.irve-ai-chat__identity img {
  width:54px;
  height:54px;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
}
.irve-ai-chat__avatar {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--irve-teal);
  font-size:24px;
}
.irve-ai-chat__identity strong {
  display:block;
  margin-bottom:3px;
  color:#fff;
  font-size:17px;
}
.irve-ai-chat__identity span {
  color:#d8e4ef;
  font-size:13px;
}
.irve-ai-chat__close {
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  font-size:30px;
  line-height:1;
}
.irve-ai-chat__messages {
  height:360px;
  overflow-y:auto;
  padding:20px;
  background:linear-gradient(180deg,#f8fbfd,#fff);
}
.irve-ai-chat__message {
  max-width:84%;
  margin:0 0 12px;
  padding:12px 14px;
  border-radius:16px;
  white-space:pre-wrap;
  line-height:1.55;
  font-size:15px;
}
.irve-ai-chat__message--assistant {
  border-bottom-left-radius:5px;
  background:#eaf7f8;
  color:var(--irve-navy);
}
.irve-ai-chat__message--user {
  margin-left:auto;
  border-bottom-right-radius:5px;
  background:var(--irve-navy);
  color:#fff;
}
.irve-ai-chat__message--loading {
  color:var(--irve-muted);
  font-style:italic;
}
.irve-ai-chat__suggestions {
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:0 18px 14px;
  background:#fff;
}
.irve-ai-chat__suggestions button {
  flex:0 0 auto;
  border:1px solid #cce8ea;
  border-radius:999px;
  padding:8px 11px;
  background:#f4fbfb;
  color:var(--irve-teal-dark);
  cursor:pointer;
  font-size:12px;
  font-weight:700;
}
.irve-ai-chat__form {
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  padding:14px 18px;
  border-top:1px solid var(--irve-line);
  background:#fff;
}
.irve-ai-chat__form textarea {
  width:100%;
  min-height:54px;
  max-height:130px;
  resize:vertical;
  border:1px solid var(--irve-line);
  border-radius:13px;
  padding:12px;
  color:var(--irve-text);
  font:inherit;
}
.irve-ai-chat__form textarea:focus {
  outline:2px solid rgba(73,184,191,.22);
  border-color:var(--irve-teal);
}
.irve-ai-chat__form button {
  align-self:stretch;
  border:0;
  border-radius:13px;
  padding:0 18px;
  background:var(--irve-teal);
  color:#fff;
  cursor:pointer;
  font-weight:800;
}
.irve-ai-chat__form button:disabled {
  cursor:not-allowed;
  opacity:.55;
}
.irve-ai-chat__footer {
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:0 18px 16px;
  color:var(--irve-muted);
  font-size:12px;
}
.irve-ai-chat__footer a {
  color:var(--irve-navy);
  font-weight:800;
  text-decoration:none;
}

/* Version flottante */
.irve-ai-chat--floating {
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:999999;
}
.irve-ai-chat__launcher {
  display:flex;
  align-items:center;
  gap:9px;
  border:0;
  border-radius:999px;
  padding:14px 18px;
  background:var(--irve-navy);
  color:#fff;
  cursor:pointer;
  box-shadow:0 14px 35px rgba(20,38,75,.28);
  font-weight:800;
}
.irve-ai-chat__launcher-icon { font-size:20px; }
.irve-ai-chat--floating .irve-ai-chat__panel {
  position:absolute;
  right:0;
  bottom:70px;
  width:min(390px, calc(100vw - 30px));
}
.irve-ai-chat--floating .irve-ai-chat__messages {
  height:330px;
}

.screen-reader-text {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

@media (max-width:600px) {
  .irve-ai-chat--floating {
    right:12px;
    bottom:12px;
  }
  .irve-ai-chat--floating .irve-ai-chat__panel {
    position:fixed;
    inset:12px;
    width:auto;
    display:flex;
    flex-direction:column;
  }
  .irve-ai-chat--floating .irve-ai-chat__messages {
    height:auto;
    flex:1;
  }
  .irve-ai-chat__footer {
    flex-direction:column;
  }
}

.irve-commercial{--n:#14264b;--t:#49b8bf;--l:#dce6ee;--m:#687386;margin:32px 0;font-family:Arial,sans-serif;color:#17213a}.irve-commercial *{box-sizing:border-box}.irve-commercial__card{max-width:980px;margin:auto;overflow:hidden;border:1px solid #e3ebf1;border-radius:24px;background:#fff;box-shadow:0 18px 60px rgba(20,38,75,.14)}.irve-commercial header{padding:32px;color:#fff;background:radial-gradient(circle at 88% 10%,rgba(73,184,191,.38),transparent 32%),linear-gradient(135deg,#14264b,#0c1933)}.irve-commercial header span{display:inline-block;padding:7px 11px;margin-bottom:12px;border-radius:999px;background:rgba(255,255,255,.12);color:#d9f6f7;font-size:13px;font-weight:800}.irve-commercial header h2{margin:0 0 10px;color:#fff;font-size:clamp(30px,4vw,48px)}.irve-commercial header p{max-width:760px;margin:0;color:#dce7f0;font-size:17px}.irve-commercial__progress{height:8px;background:#e8eef4}.irve-commercial__progress div{width:14.28%;height:100%;background:linear-gradient(90deg,#49b8bf,#2e9da6);transition:.3s}.irve-commercial__content{padding:30px}.irve-commercial__step{display:none}.irve-commercial__step.is-active{display:block}.irve-commercial h3{margin:0 0 20px;color:var(--n);font-size:27px}.irve-commercial__choices,.irve-commercial__grid,.irve-commercial__checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.irve-commercial__choices button{min-height:96px;padding:16px;border:1px solid var(--l);border-radius:16px;background:#fff;color:var(--n);cursor:pointer;font-size:16px;font-weight:800}.irve-commercial__choices button.is-selected,.irve-commercial__choices button:hover{border-color:var(--t);background:#edfafa;color:#2e9da6}.irve-commercial input,.irve-commercial select{width:100%;min-height:52px;border:1px solid var(--l);border-radius:13px;padding:11px 12px;font:inherit}.irve-commercial__grid label{display:grid;gap:7px;color:var(--n);font-weight:700}.irve-commercial__checks label,.irve-commercial__consent{display:flex;gap:10px;align-items:center;padding:14px;border:1px solid var(--l);border-radius:14px}.irve-commercial__checks input,.irve-commercial__consent input{width:20px;height:20px;accent-color:#2e9da6}.irve-commercial__consent{margin-top:18px}.irve-commercial__nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.irve-commercial__nav button{padding:13px 18px;border:0;border-radius:12px;cursor:pointer;font-weight:800}.irve-commercial__nav button:nth-child(2){margin-left:auto;background:var(--t);color:#fff}.irve-commercial__nav button:disabled{opacity:.45}.irve-commercial__result>span{display:inline-block;padding:8px 12px;border-radius:999px;background:#edfafa;color:#2e9da6;font-weight:900}.irve-commercial__result [data-role=summary]{margin:20px 0;padding:18px;border:1px solid var(--l);border-radius:16px;background:#f8fbfd;line-height:1.8}.irve-commercial__result a{display:inline-flex;padding:14px 18px;border-radius:12px;background:var(--n);color:#fff!important;text-decoration:none!important;font-weight:900}.irve-commercial__success{margin:18px 0;padding:15px;border-radius:13px;background:#edf8f1;color:#1f7a3f;font-weight:800}.irve-commercial__legal{margin:0;padding:0 30px 26px;color:var(--m);font-size:13px}@media(max-width:650px){.irve-commercial__content,.irve-commercial header{padding:22px}.irve-commercial__choices,.irve-commercial__grid,.irve-commercial__checks{grid-template-columns:1fr}.irve-commercial__nav{flex-wrap:wrap}.irve-commercial__nav button{width:100%}}