html,
body.index-reference-page {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  min-height: 100% !important;
  background: #f3f3f3 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  color: #0b3232 !important;
}

body.index-reference-page * {
  box-sizing: border-box !important;
}

body.index-reference-page {
  background: #f3f3f3 !important;
}

body.index-reference-page .index-main {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100vh - 96px) !important;
}

body.index-reference-page .index-header {
  width: 100% !important;
  background: #ffffff !important;
  border-bottom: 1px solid #e9e9e9 !important;
  position: relative !important;
  z-index: 50 !important;
}

body.index-reference-page .index-header__inner {
  width: 100% !important;
  max-width: 1800px !important;
  margin: 0 auto !important;
  min-height: 96px !important;
  padding: 0 42px !important;
  display: grid !important;
  grid-template-columns: 360px 1fr 220px !important;
  align-items: center !important;
  gap: 24px !important;
}

body.index-reference-page .index-brand {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  text-decoration: none !important;
  min-width: 0 !important;
}

body.index-reference-page .index-brand img {
  width: 78px !important;
  height: 78px !important;
  object-fit: contain !important;
  display: block !important;
  flex: 0 0 78px !important;
}

body.index-reference-page .index-brand__text {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1 !important;
}

body.index-reference-page .index-brand__text strong {
  font-size: 21px !important;
  font-weight: 800 !important;
  color: #102f2f !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
}

body.index-reference-page .index-brand__text span {
  margin-top: 8px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #43c463 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

body.index-reference-page .index-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 40px !important;
  flex-wrap: nowrap !important;
}

body.index-reference-page .index-nav a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 96px !important;
  text-decoration: none !important;
  color: #315051 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2px !important;
  padding: 0 !important;
}

body.index-reference-page .index-nav a.active {
  color: #43c463 !important;
}

body.index-reference-page .index-nav a.active::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 52px !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: #43c463 !important;
}

body.index-reference-page .index-icons{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:18px !important;
}

body.index-reference-page .index-icon-link{
  position:relative !important;
  width:34px !important;
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  color:#3f5f5f !important;
  line-height:1 !important;
}

body.index-reference-page .index-icon-link svg{
  width:31px !important;
  height:31px !important;
  display:block !important;
  stroke:#3f5f5f !important;
}

body.index-reference-page .index-icon-link:hover svg{
  stroke:#43c463 !important;
}

body.index-reference-page .index-icon-link.has-badge{
  margin-top:4px !important;
}

body.index-reference-page .icon-badge{
  position:absolute !important;
  top:-8px !important;
  right:-6px !important;
  min-width:20px !important;
  height:20px !important;
  padding:0 5px !important;
  border-radius:999px !important;
  background:#43c463 !important;
  color:#ffffff !important;
  font-size:11px !important;
  font-weight:700 !important;
  line-height:20px !important;
  text-align:center !important;
  z-index:2 !important;
}

@media (max-width: 640px){
  body.index-reference-page .index-icons{
    gap:14px !important;
  }

  body.index-reference-page .index-icon-link{
    width:30px !important;
    height:30px !important;
  }

  body.index-reference-page .index-icon-link svg{
    width:26px !important;
    height:26px !important;
  }

  body.index-reference-page .icon-badge{
    top:-7px !important;
    right:-7px !important;
    min-width:18px !important;
    height:18px !important;
    font-size:10px !important;
    line-height:18px !important;
  }
}

body.index-reference-page .index-hero {
  width: 100% !important;
  min-height: calc(100vh - 96px) !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
}

body.index-reference-page .index-hero__left {
  background: #f3f3f3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

body.index-reference-page .index-hero__right {
  background: #ececec !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

body.index-reference-page .index-copy {
  width: 100% !important;
  max-width: 760px !important;
  padding: 70px 40px 70px 110px !important;
}

body.index-reference-page .index-copy h1 {
  margin: 0 0 36px 0 !important;
  font-size: 88px !important;
  line-height: 0.97 !important;
  font-weight: 300 !important;
  letter-spacing: -2px !important;
  color: #082e2d !important;
}

body.index-reference-page .index-copy h1 span {
  display: block !important;
  margin-top: 18px !important;
  color: #43c463 !important;
}

body.index-reference-page .index-copy p {
  margin: 0 0 44px 0 !important;
  max-width: 700px !important;
  font-size: 22px !important;
  line-height: 1.72 !important;
  color: #8f8f8f !important;
  font-weight: 400 !important;
}

body.index-reference-page .index-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 205px !important;
  min-height: 74px !important;
  padding: 20px 38px !important;
  background: #062f2e !important;
  color: #ffffff !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  letter-spacing: 0.4px !important;
}

body.index-reference-page .index-product {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 50px 40px !important;
}

body.index-reference-page .index-product img {
  display: block !important;
  max-width: 78% !important;
  max-height: 78vh !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

body.index-reference-page .footer,
body.index-reference-page .footer__inner {
  display: none !important;
}

/* responsive */
@media (max-width: 1280px) {
  body.index-reference-page .index-header__inner {
    grid-template-columns: 310px 1fr 190px !important;
    padding: 0 28px !important;
  }

  body.index-reference-page .index-nav {
    gap: 24px !important;
  }

  body.index-reference-page .index-copy {
    padding: 60px 26px 60px 60px !important;
  }

  body.index-reference-page .index-copy h1 {
    font-size: 68px !important;
  }

  body.index-reference-page .index-copy p {
    font-size: 19px !important;
  }
}

@media (max-width: 980px) {
  body.index-reference-page .index-header__inner {
    grid-template-columns: 1fr !important;
    padding: 18px 22px !important;
    gap: 16px !important;
  }

  body.index-reference-page .index-brand,
  body.index-reference-page .index-nav,
  body.index-reference-page .index-icons {
    justify-content: center !important;
  }

  body.index-reference-page .index-nav {
    flex-wrap: wrap !important;
    gap: 16px !important;
  }

  body.index-reference-page .index-nav a {
    min-height: auto !important;
    padding: 6px 0 !important;
  }

  body.index-reference-page .index-nav a.active::before {
    display: none !important;
  }

  body.index-reference-page .index-hero {
    grid-template-columns: 1fr !important;
  }

  body.index-reference-page .index-copy {
    padding: 48px 22px 22px 22px !important;
  }

  body.index-reference-page .index-copy h1 {
    font-size: 52px !important;
    line-height: 1.02 !important;
  }

  body.index-reference-page .index-copy p {
    font-size: 18px !important;
    line-height: 1.6 !important;
  }

  body.index-reference-page .index-product {
    padding: 20px 22px 40px 22px !important;
  }

  body.index-reference-page .index-product img {
    max-width: 72% !important;
    max-height: 460px !important;
  }
}

@media (max-width: 640px) {
  body.index-reference-page .index-brand img {
    width: 58px !important;
    height: 58px !important;
    flex-basis: 58px !important;
  }

  body.index-reference-page .index-brand__text strong {
    font-size: 17px !important;
  }

  body.index-reference-page .index-brand__text span {
    font-size: 11px !important;
    letter-spacing: 1.2px !important;
  }

  body.index-reference-page .index-icons a {
    font-size: 24px !important;
  }

  body.index-reference-page .index-copy h1 {
    font-size: 42px !important;
  }

  body.index-reference-page .index-copy p {
    font-size: 16px !important;
  }

  body.index-reference-page .index-btn {
    min-width: 170px !important;
    min-height: 62px !important;
    padding: 16px 28px !important;
    font-size: 16px !important;
  }
}
/* CONTACT PAGE */
body.index-reference-page .contact-page{
  width:100% !important;
  background:#f3f3f3 !important;
}

body.index-reference-page .contact-hero{
  width:100% !important;
  min-height:calc(100vh - 96px) !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
}

body.index-reference-page .contact-hero__left{
  background:#f3f3f3 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

body.index-reference-page .contact-hero__right{
  background:#ececec !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:60px 40px !important;
}

body.index-reference-page .contact-copy{
  width:100% !important;
  max-width:760px !important;
  padding:70px 40px 70px 110px !important;
}

body.index-reference-page .contact-copy__eyebrow{
  margin:0 0 20px !important;
  color:#8e8e8e !important;
  font-size:18px !important;
  font-weight:500 !important;
  letter-spacing:.2px !important;
}

body.index-reference-page .contact-copy h1{
  margin:0 0 34px !important;
  color:#082e2d !important;
  font-size:82px !important;
  line-height:.97 !important;
  font-weight:300 !important;
  letter-spacing:-2px !important;
}

body.index-reference-page .contact-copy h1 span{
  display:block !important;
  margin-top:18px !important;
  color:#43c463 !important;
}

body.index-reference-page .contact-copy > p{
  margin:0 0 34px !important;
  max-width:700px !important;
  color:#8f8f8f !important;
  font-size:22px !important;
  line-height:1.72 !important;
  font-weight:400 !important;
}

body.index-reference-page .contact-info{
  display:grid !important;
  gap:18px !important;
}

body.index-reference-page .contact-info__item{
  padding:22px 24px !important;
  background:#ffffff !important;
  border:1px solid #e6e6e6 !important;
}

body.index-reference-page .contact-info__item h3{
  margin:0 0 8px !important;
  color:#082e2d !important;
  font-size:20px !important;
  font-weight:700 !important;
}

body.index-reference-page .contact-info__item p{
  margin:0 !important;
  color:#8c8c8c !important;
  font-size:17px !important;
  line-height:1.65 !important;
}

body.index-reference-page .contact-card{
  width:100% !important;
  max-width:560px !important;
  background:#ffffff !important;
  border:1px solid #e7e7e7 !important;
  box-shadow:0 20px 60px rgba(0,0,0,.08) !important;
  padding:38px 34px 34px !important;
}

body.index-reference-page .contact-card h2{
  margin:0 0 24px !important;
  color:#082e2d !important;
  font-size:34px !important;
  line-height:1.1 !important;
  font-weight:700 !important;
}

body.index-reference-page .contact-form{
  display:grid !important;
  gap:18px !important;
}

body.index-reference-page .contact-field{
  display:grid !important;
  gap:8px !important;
}

body.index-reference-page .contact-field label{
  color:#4a5d5d !important;
  font-size:14px !important;
  font-weight:700 !important;
}

body.index-reference-page .contact-field input,
body.index-reference-page .contact-field textarea{
  width:100% !important;
  border:1px solid #d9dfdf !important;
  background:#fff !important;
  color:#0b3232 !important;
  font-size:15px !important;
  outline:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:16px !important;
}

body.index-reference-page .contact-field input{
  height:58px !important;
}

body.index-reference-page .contact-field textarea{
  min-height:160px !important;
  resize:vertical !important;
}

body.index-reference-page .contact-field input:focus,
body.index-reference-page .contact-field textarea:focus{
  border-color:#43c463 !important;
  box-shadow:0 0 0 3px rgba(67,196,99,.12) !important;
}

body.index-reference-page .contact-btn{
  margin-top:6px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:210px !important;
  min-height:66px !important;
  padding:18px 34px !important;
  border:none !important;
  background:#062f2e !important;
  color:#fff !important;
  font-size:17px !important;
  font-weight:600 !important;
  letter-spacing:.4px !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
}

body.index-reference-page .contact-btn:hover{
  filter:brightness(.95) !important;
}

body.index-reference-page .contact-map-section{
  padding:90px 110px !important;
  background:#f3f3f3 !important;
}

body.index-reference-page .contact-map-section__header{
  max-width:900px !important;
  margin:0 0 34px !important;
}

body.index-reference-page .contact-map-section__header h2{
  margin:0 0 16px !important;
  color:#082e2d !important;
  font-size:54px !important;
  line-height:1.05 !important;
  font-weight:300 !important;
  letter-spacing:-1.5px !important;
}

body.index-reference-page .contact-map-section__header p:last-child{
  margin:0 !important;
  color:#8f8f8f !important;
  font-size:20px !important;
  line-height:1.7 !important;
}

body.index-reference-page .contact-map-wrap{
  width:100% !important;
  border:1px solid #e6e6e6 !important;
  overflow:hidden !important;
  background:#fff !important;
}

body.index-reference-page .contact-map-wrap iframe{
  width:100% !important;
  height:500px !important;
  display:block !important;
}

@media (max-width: 1280px){
  body.index-reference-page .contact-copy{
    padding:60px 28px 60px 60px !important;
  }

  body.index-reference-page .contact-copy h1{
    font-size:66px !important;
  }

  body.index-reference-page .contact-copy > p{
    font-size:19px !important;
  }

  body.index-reference-page .contact-map-section{
    padding:70px 60px !important;
  }
}

@media (max-width: 980px){
  body.index-reference-page .contact-hero{
    grid-template-columns:1fr !important;
  }

  body.index-reference-page .contact-copy{
    padding:48px 22px 22px !important;
  }

  body.index-reference-page .contact-copy h1{
    font-size:50px !important;
    line-height:1.02 !important;
  }

  body.index-reference-page .contact-copy > p{
    font-size:18px !important;
    line-height:1.6 !important;
  }

  body.index-reference-page .contact-hero__right{
    padding:22px 22px 40px !important;
  }

  body.index-reference-page .contact-card{
    max-width:100% !important;
    padding:30px 22px 24px !important;
  }

  body.index-reference-page .contact-map-section{
    padding:50px 22px !important;
  }

  body.index-reference-page .contact-map-section__header h2{
    font-size:40px !important;
  }

  body.index-reference-page .contact-map-section__header p:last-child{
    font-size:17px !important;
    line-height:1.6 !important;
  }

  body.index-reference-page .contact-map-wrap iframe{
    height:380px !important;
  }
}

@media (max-width: 640px){
  body.index-reference-page .contact-copy h1{
    font-size:40px !important;
  }

  body.index-reference-page .contact-copy > p{
    font-size:16px !important;
  }

  body.index-reference-page .contact-card h2{
    font-size:28px !important;
  }

  body.index-reference-page .contact-btn{
    width:100% !important;
    min-width:0 !important;
    min-height:60px !important;
    font-size:16px !important;
  }

  body.index-reference-page .contact-map-section__header h2{
    font-size:34px !important;
  }

  body.index-reference-page .contact-map-wrap iframe{
    height:320px !important;
  }
}


/* Ajuste para m贸viles */
@media (max-width: 768px) {
  .index-hero {
    flex-direction: column-reverse; /* imagen abajo del texto */
    text-align: center;
  }

  .index-product__img-wrapper {
    max-width: 90%; /* ocupa casi todo el ancho en m贸vil */
    margin: 1rem 0;
  }
}

/* SECCI脫N NOSOTROS PROFESIONAL */
.home-nosotros {
  padding: 80px 18px 60px;
  background: linear-gradient(180deg, #0f151a 0%, #0b0f12 100%);
}

.home-nosotros__head {
  text-align: center;
  max-width: 850px;
  margin: 0 auto 50px;
}

.home-nosotros__tag {
  font-weight: 700;
  color: #ffd24a;
  font-size: 14px;
  letter-spacing: 1px;
  display: block;
  margin-bottom: 12px;
}

.home-nosotros__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 16px;
}

.home-nosotros__title span {
  color: #ffd24a;
}

.home-nosotros__text {
  font-size: 16px;
  color: rgba(233, 238, 243, 0.8);
  line-height: 1.6;
}

/* GRID DE VALORES */
.nosotros-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}

.nosotros-feature {
  background: rgba(255,255,255,0.05);
  border-radius: 20px;
  padding: 24px;
  text-align: center;
  transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 14px 50px rgba(0,0,0,0.25);
}

.nosotros-feature h4 {
  font-size: 18px;
  margin-bottom: 12px;
  color: #ffd24a;
}

.nosotros-feature p {
  font-size: 14px;
  color: rgba(233,238,243,0.75);
}

.nosotros-feature:hover {
  transform: translateY(-6px);
  background: rgba(255,255,255,0.08);
  box-shadow: 0 22px 70px rgba(0,0,0,0.35);
}
/* ================= CONTACTO  ================= */
.contact-card {
  background: #ffffff;
  border-radius: 24px;
  padding: 40px 36px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.12);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 28px 80px rgba(0,0,0,0.18);
}

.contact-form .contact-field input,
.contact-form .contact-field textarea {
  border: 2px solid #d9dfdf;
  border-radius: 50px;
  padding: 18px 22px;
  font-size: 16px;
  color: #0b3232;
  outline: none;
  width: 100%;
  transition: all 0.3s ease;
}

.contact-form .contact-field input:focus,
.contact-form .contact-field textarea:focus {
  border-color: #43c463;
  box-shadow: 0 0 0 4px rgba(67,196,99,0.12);
}

.contact-form textarea {
  min-height: 180px;
  resize: vertical;
}

.contact-btn {
  border-radius: 50px;
  padding: 18px 40px;
  font-size: 18px;
  font-weight: 600;
  background: #062f2e;
  color: #fff;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
}

.contact-btn:hover {
  background: #043a37;
  transform: translateY(-2px);
}

.contact-info__item {
  border-radius: 20px;
  padding: 24px;
  background: rgba(255,255,255,0.05);
  box-shadow: 0 14px 50px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.contact-info__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.12);
}

.contact-map-wrap iframe {
  border-radius: 24px;
  border: none;
}
/* CONTACTO  */
body.index-reference-page .contact-card {
  width: 100% !important;
  max-width: 560px !important;
  background: #ffffff !important;
  border-radius: 24px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.1) !important;
  padding: 40px 36px !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

body.index-reference-page .contact-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 28px 80px rgba(0,0,0,.15);
}

body.index-reference-page .contact-form {
  display: grid !important;
  gap: 18px !important;
}

body.index-reference-page .contact-field {
  display: grid !important;
  gap: 8px !important;
}

body.index-reference-page .contact-field label {
  color: #102f2f !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

body.index-reference-page .contact-field input,
body.index-reference-page .contact-field textarea {
  width: 100% !important;
  border: 1px solid #d9dfdf !important;
  background: #fdfdfd !important;
  color: #0b3232 !important;
  font-size: 15px !important;
  outline: none !important;
  border-radius: 18px !important; /* bordes circulares */
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  padding: 16px 20px !important;
  transition: all 0.3s ease;
}

body.index-reference-page .contact-field textarea {
  min-height: 160px !important;
  resize: vertical !important;
}

body.index-reference-page .contact-field input:focus,
body.index-reference-page .contact-field textarea:focus {
  border-color: #43c463 !important;
  box-shadow: 0 0 0 4px rgba(67,196,99,0.15) !important;
}

body.index-reference-page .contact-btn {
  margin-top: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 210px !important;
  min-height: 66px !important;
  padding: 18px 34px !important;
  border: none !important;
  border-radius: 20px !important; /* bordes redondeados */
  background: #062f2e !important;
  color: #ffffff !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.3s ease;
}

body.index-reference-page .contact-btn:hover {
  filter: brightness(1.05) !important;
  transform: translateY(-2px);
}

body.index-reference-page .contact-map-wrap {
  width: 100% !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  border: 1px solid #e6e6e6 !important;
  background: #fff !important;
}

body.index-reference-page .contact-map-wrap iframe {
  width: 100% !important;
  height: 500px !important;
  display: block !important;
  border: none !important;
  border-radius: 20px !important;
}

/* Responsive */
@media (max-width: 980px) {
  body.index-reference-page .contact-card {
    max-width: 100% !important;
    padding: 30px 22px !important;
  }

  body.index-reference-page .contact-map-wrap iframe {
    height: 380px !important;
  }
}

@media (max-width: 640px) {
  body.index-reference-page .contact-card {
    padding: 24px 16px !important;
  }

  body.index-reference-page .contact-map-wrap iframe {
    height: 320px !important;
  }
}

/* ===== HERO IMAGEN FULL GRANDE ===== */

.hero-img {
  width: 100% !important;
  max-width: 900px !important; /* 🔥 tamaño ideal */
  height: auto !important;
  object-fit: contain !important;
  display: block;
  margin: 0 auto; /* centrada */
}



/* ===================== FOOTER PÚBLICO ===================== */
body.index-reference-page .site-footer{
  background:
    radial-gradient(circle at top left, rgba(67, 196, 99, 0.10), transparent 28%),
    linear-gradient(180deg, #071018 0%, #030812 100%);
  color:#f5f7fb;
  margin-top:0;
  position:relative;
  z-index:2;
}

body.index-reference-page .site-footer__inner{
  width:min(1240px, calc(100% - 48px));
  margin:0 auto;
  padding:72px 0 26px;
}

body.index-reference-page .site-footer__grid{
  display:grid;
  grid-template-columns: 1.3fr 0.8fr 0.9fr 1fr;
  gap:56px;
  align-items:start;
}

body.index-reference-page .site-footer__logo{
  display:inline-flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  color:#ffffff;
  margin-bottom:20px;
}

body.index-reference-page .site-footer__logo img{
  width:56px;
  height:56px;
  object-fit:contain;
  border-radius:14px;
  background:rgba(255,255,255,0.06);
  padding:8px;
}

body.index-reference-page .site-footer__logo strong{
  display:block;
  font-size:1.18rem;
  line-height:1.15;
  font-weight:800;
  letter-spacing:.01em;
}

body.index-reference-page .site-footer__logo span{
  display:block;
  margin-top:3px;
  font-size:.96rem;
  color:rgba(255,255,255,0.72);
  font-weight:500;
}

body.index-reference-page .site-footer__brand p,
body.index-reference-page .site-footer__social-copy{
  margin:0;
  max-width:360px;
  color:rgba(255,255,255,0.78);
  font-size:1rem;
  line-height:1.9;
}

body.index-reference-page .site-footer__col h3{
  margin:0 0 18px;
  color:#ffffff;
  font-size:1.1rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

body.index-reference-page .site-footer__col ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
}

body.index-reference-page .site-footer__col li{
  margin:0;
  padding:0;
}

body.index-reference-page .site-footer__col a{
  color:rgba(255,255,255,0.86);
  text-decoration:none;
  transition:all .22s ease;
}

body.index-reference-page .site-footer__col a:hover,
body.index-reference-page .site-footer__bottom a:hover{
  color:#43c463;
}

body.index-reference-page .site-footer__socials{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:20px;
}

body.index-reference-page .site-footer__socials a{
  width:48px;
  height:48px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.08);
  color:#ffffff;
  text-decoration:none;
  font-size:.9rem;
  font-weight:800;
  letter-spacing:.02em;
  transition:all .22s ease;
}

body.index-reference-page .site-footer__socials a:hover{
  background:#43c463;
  border-color:#43c463;
  color:#081a10;
  transform:translateY(-2px);
}

body.index-reference-page .site-footer__bottom{
  margin-top:46px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,0.10);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}

body.index-reference-page .site-footer__bottom a{
  color:#ffffff;
  text-decoration:none;
  font-weight:600;
}

body.index-reference-page .site-footer__bottom p{
  margin:0;
  color:rgba(255,255,255,0.72);
  text-align:right;
  line-height:1.7;
}

/* Responsive */
@media (max-width: 1100px){
  body.index-reference-page .site-footer__grid{
    grid-template-columns: 1fr 1fr;
    gap:40px 32px;
  }
}

@media (max-width: 720px){
  body.index-reference-page .site-footer__inner{
    width:min(100% - 28px, 1240px);
    padding:54px 0 22px;
  }

  body.index-reference-page .site-footer__grid{
    grid-template-columns: 1fr;
    gap:34px;
  }

  body.index-reference-page .site-footer__brand p,
  body.index-reference-page .site-footer__social-copy{
    max-width:none;
  }

  body.index-reference-page .site-footer__bottom{
    flex-direction:column;
    align-items:flex-start;
  }

  body.index-reference-page .site-footer__bottom p{
    text-align:left;
  }
}


/* ===================== FOOTER PÚBLICO ===================== */
body.index-reference-page .site-footer{
  background:
    radial-gradient(circle at top left, rgba(67, 196, 99, 0.10), transparent 28%),
    linear-gradient(180deg, #071018 0%, #030812 100%);
  color:#f5f7fb !important;
  margin-top:0;
  position:relative;
  z-index:2;
}

body.index-reference-page .site-footer__inner{
  width:min(1240px, calc(100% - 48px));
  margin:0 auto;
  padding:72px 0 26px;
}

body.index-reference-page .site-footer__grid{
  display:grid;
  grid-template-columns: 1.3fr 0.8fr 0.9fr 1fr;
  gap:56px;
  align-items:start;
}

body.index-reference-page .site-footer__logo{
  display:inline-flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  color:#ffffff !important;
  margin-bottom:20px;
}

body.index-reference-page .site-footer__logo img{
  width:72px;
  height:72px;
  object-fit:contain;
  border-radius:14px;
  background:rgba(255,255,255,0.06);
  padding:8px;
}

body.index-reference-page .site-footer__logo strong{
  display:block;
  font-size:1.18rem;
  line-height:1.15;
  font-weight:800;
  letter-spacing:.01em;
  color:#ffffff !important;
}

body.index-reference-page .site-footer__logo span{
  display:block;
  margin-top:3px;
  font-size:.96rem;
  color:rgba(255,255,255,0.72) !important;
  font-weight:500;
}

body.index-reference-page .site-footer__brand p,
body.index-reference-page .site-footer__social-copy{
  margin:0;
  max-width:360px;
  color:rgba(255,255,255,0.78) !important;
  font-size:1rem;
  line-height:1.9;
}

body.index-reference-page .site-footer__col h3{
  margin:0 0 18px;
  color:#ffffff !important;
  font-size:1.1rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

body.index-reference-page .site-footer__col ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:14px;
}

body.index-reference-page .site-footer__col li{
  margin:0;
  padding:0;
}

body.index-reference-page .site-footer__col a{
  color:rgba(255,255,255,0.86) !important;
  text-decoration:none;
  transition:all .22s ease;
}

body.index-reference-page .site-footer__col a:hover,
body.index-reference-page .site-footer__bottom a:hover{
  color:#43c463 !important;
}

body.index-reference-page .site-footer__socials{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:20px;
}

body.index-reference-page .site-footer__socials a{
  width:48px;
  height:48px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.08);
  color:#ffffff !important;
  text-decoration:none;
  font-size:.9rem;
  font-weight:800;
  letter-spacing:.02em;
  transition:all .22s ease;
}

body.index-reference-page .site-footer__socials a:hover{
  background:#43c463;
  border-color:#43c463;
  color:#081a10 !important;
  transform:translateY(-2px);
}

body.index-reference-page .site-footer__bottom{
  margin-top:46px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,0.10);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}

body.index-reference-page .site-footer__bottom a{
  color:#ffffff !important;
  text-decoration:none;
  font-weight:600;
}

body.index-reference-page .site-footer__bottom p{
  margin:0;
  color:rgba(255,255,255,0.72) !important;
  text-align:right;
  line-height:1.7;
}

@media (max-width: 1100px){
  body.index-reference-page .site-footer__grid{
    grid-template-columns: 1fr 1fr;
    gap:40px 32px;
  }
}

@media (max-width: 720px){
  body.index-reference-page .site-footer__inner{
    width:min(100% - 28px, 1240px);
    padding:54px 0 22px;
  }

  body.index-reference-page .site-footer__grid{
    grid-template-columns: 1fr;
    gap:34px;
  }

  body.index-reference-page .site-footer__brand p,
  body.index-reference-page .site-footer__social-copy{
    max-width:none;
  }

  body.index-reference-page .site-footer__bottom{
    flex-direction:column;
    align-items:flex-start;
  }

  body.index-reference-page .site-footer__bottom p{
    text-align:left;
  }
}
