  body{
    background:#f5f5f5;
  }

  .contact-page-wrapper{
    max-width:1180px;
    margin:40px auto 50px auto;
  }

  .top-main-block{
    display:grid;
    grid-template-columns:1fr 320px;
    gap:0;
    background:#ffffff;
    border:1px solid #e8e8e8;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 10px 28px rgba(0,0,0,0.06);
    margin-bottom:30px;
  }

  .social-side{
    background:linear-gradient(180deg,#fbfbfb 0%,#f3f3f3 100%);
    padding:34px 24px;
    border-left:1px solid #ececec;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
  }

  .social-side h3{
    font-size:1.28rem;
    color:#0f355d;
    font-weight:700;
    margin-bottom:8px;
  }

  .social-side p{
    font-size:.92rem;
    color:#555;
    line-height:1.65;
    margin-bottom:18px;
    max-width:240px;
  }

  .social-icons{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    justify-content:center;
  }

  .social-icons a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:62px;
    height:62px;
    border-radius:50%;
    background:#fff;
    border:1px solid #e7e7e7;
    box-shadow:0 6px 18px rgba(0,0,0,0.06);
    transition:all .2s ease;
  }

  .social-icons a:hover{
    transform:translateY(-2px);
  }

  .social-icons img{
    width:50px;
    height:50px;
  }

  .top-text-side{
    padding:34px 34px 32px 34px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  .section-kicker{
    display:inline-block;
    font-size:.76rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#8a6b2d;
    font-weight:700;
    margin-bottom:8px;
  }

  .top-text-side h2{
    color:#0f355d;
    font-size:1.72rem;
    line-height:1.2;
    font-weight:700;
    margin-bottom:6px;

  }

  .top-text-side p{
    color:#444;
    font-size:.95rem;
    line-height:1.75;
    margin:0;
    text-align:justify;
  }

  .contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
    align-items:start;
  }

  .left-column-stack{
    display:flex;
    flex-direction:column;
    gap:30px;
  }

  .info-block,
  .contact-wrapper,
  .mainumby-block{
    background:#ffffff;
    border:1px solid #e8e8e8;
    border-radius:18px;
    padding:28px 28px 30px 28px;
    box-shadow:0 10px 28px rgba(0,0,0,0.06);
  }

  .info-block h3,
  .form-title,
  .mainumby-title{
    color:#0f355d;
    font-size:1.36rem;
    font-weight:700;
    margin-bottom:6px;
    line-height:1.25;
  }

  .info-block p,
  .form-intro,
  .mainumby-text{
    color:#444;
    font-size:.94rem;
    line-height:1.75;
    text-align:justify;
  }

  .form-intro{
    margin-bottom:22px;
  }

  .guarani-text{
    display:block;
    color:#777;
    font-size:.72rem;
    line-height:1.5;
    margin-top:4px;
    margin-bottom:12px;
    text-align:justify;
    font-style:italic;
  }

  .label-guarani{
    display:block;
    color:#777;
    font-size:.70rem;
    line-height:1.35;
    margin-top:2px;
    font-style:italic;
    font-weight:400;
  }

  .register-btn-wrap,
  .mainumby-btn-wrap{
    margin-top:22px;
  }

  .btn-primary{
    background:linear-gradient(180deg,#114b86 0%, #0d3d6d 100%);
    color:#fff;
    padding:12px 24px;
    border:none;
    border-radius:8px;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font-weight:600;
    box-shadow:0 8px 20px rgba(15,53,93,0.18);
    font-size:.95rem;
  }

  .btn-primary:hover{
    background:linear-gradient(180deg,#0f4377 0%, #0a345d 100%);
    color:#fff;
  }

  .btn-guarani-inline{
    font-size:.78rem;
    font-style:italic;
    font-weight:500;
    opacity:.95;
    white-space:nowrap;
  }

  .mainumby-block{
    position:relative;
    overflow:hidden;
  }

  .mainumby-box{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }

  .mainumby-icon-wrap{
    position:relative;
    width:120px;
    height:120px;
    margin:8px auto 18px auto;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .mainumby-icon-wrap::before,
  .mainumby-icon-wrap::after{
    content:"";
    position:absolute;
    inset:10px;
    border-radius:50%;
    border:1px solid rgba(17,75,134,0.12);
    animation:mainumbyPulse 2.6s ease-out infinite;
  }

  .mainumby-icon-wrap::after{
    inset:0;
    animation-delay:1.2s;
  }

  .mainumby-icon-button{
    position:relative;
    width:92px;
    height:92px;
    border:none;
    border-radius:50%;
    background:linear-gradient(180deg,#ffffff 0%, #eef4fb 100%);
    box-shadow:0 12px 28px rgba(15,53,93,0.14);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:transform .2s ease, box-shadow .2s ease;
    z-index:2;
  }

  .mainumby-icon-button:hover{
    transform:translateY(-2px) scale(1.03);
    box-shadow:0 16px 32px rgba(15,53,93,0.18);
  }

  .mainumby-icon-button img{
    width:62px;
    height:62px;
    display:block;
  }

  .mainumby-text{
    margin:0;
  }

  #pg-mainumby-trigger{
    display:none !important;
  }

  .form-group{
    margin-bottom:16px;
  }

  .form-group label{
    display:block;
    font-weight:700;
    color:#1f1f1f;
    margin-bottom:6px;
    font-size:.93rem;
  }

  .form-group input,
  .form-group textarea{
    width:100%;
    padding:10px 11px;
    border-radius:8px;
    border:1px solid #cfcfcf;
    margin-top:0;
    background:#fff;
    transition:border-color .2s ease, box-shadow .2s ease;
    font-size:.93rem;
  }

  .form-group input:focus,
  .form-group textarea:focus{
    border-color:#0f4f90;
    box-shadow:0 0 0 3px rgba(17,75,134,0.10);
    outline:none;
  }

  .invalid-feedback{
    color:#b00020;
    font-size:0.84rem;
    display:none;
    margin-top:6px;
  }

  @keyframes mainumbyPulse{
    0%{
      transform:scale(.88);
      opacity:.75;
    }
    70%{
      transform:scale(1.12);
      opacity:.10;
    }
    100%{
      transform:scale(1.18);
      opacity:0;
    }
  }

  @media (max-width: 991px){
    .top-main-block{
      grid-template-columns:1fr;
    }

    .social-side{
      border-left:none;
      border-top:1px solid #ececec;
      border-bottom:none;
    }

    .contact-grid{
      grid-template-columns:1fr;
    }
  }

  @media (max-width: 767px){
    .contact-page-wrapper{
      margin:24px auto 35px auto;
      padding:0 12px;
    }

    .social-side,
    .top-text-side,
    .info-block,
    .contact-wrapper,
    .mainumby-block{
      padding:22px 18px;
    }

    .top-text-side h2{
      font-size:1.42rem;
    }

    .info-block h3,
    .form-title,
    .social-side h3,
    .mainumby-title{
      font-size:1.18rem;
    }

    .top-text-side p,
    .info-block p,
    .form-intro,
    .social-side p,
    .mainumby-text{
      font-size:.90rem;
      line-height:1.68;
      text-align:left;
    }

    .guarani-text{
      font-size:.68rem;
      line-height:1.45;
      text-align:left;
    }

    .label-guarani{
      font-size:.66rem;
    }

    .btn-primary{
      gap:6px;
      font-size:.90rem;
      padding:11px 18px;
      flex-wrap:wrap;
    }

    .btn-guarani-inline{
      font-size:.72rem;
    }

    .social-icons a{
      width:58px;
      height:58px;
    }

    .social-icons img{
      width:46px;
      height:46px;
    }

    .mainumby-icon-wrap{
      width:104px;
      height:104px;
      margin-bottom:16px;
    }

    .mainumby-icon-button{
      width:82px;
      height:82px;
    }

    .mainumby-icon-button img{
      width:56px;
      height:56px;
    }
  }
