<style>
  
            * {
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
}

            html,
            body {
                margin: 0;
                padding: 0;
                font-family: muli,sans-serif;
                line-height: 1.6;
                font-size: 19px;
                overflow-x: hidden; /* This also helps the right-side gap */

            }

            body {
                margin-top: 0;
                /* text-align: center; */
            }
  
  h1:first-of-type, .newsletter-header:first-child {
    margin-top: 0 !important;
}

            .container {
        width: 100%;
        max-width: 1200px;
        padding-right: 15px;
        padding-left: 15px;
        margin-right: auto;
        margin-left: auto;
        overflow: hidden; /* Clears internal floats */
        display: flow-root; /* This is the modern way to 'fix' floats and margins */
    }

            h1 {
                font-size: 2em;
    text-align: center;
    margin: 0 0 25px 0;
    font-weight: 600;
            }
   
    @media (max-width: 650px) {
     h1 {
      font-size: 1.5rem;
     }
       }
    
    @media (max-width: 450px) {
     h1 {
      font-size: 1.3rem;
     }
       }
    
    @media (max-width: 380px) {
     h1 {
      font-size: 1.2rem;
     }
       }

            h2 {
                font-weight: bold;
                font-size: 1.3rem;
                color: #1d1b1d;
                margin-bottom: 5px;
            }

            h3 {
                font-weight: bold;
    font-size: 1.1rem;
    color: #1d1b1d;
    margin-bottom: 15px;
            }

            .newsletter-header {
    width: 100%;
    height: 160px;
    background-image: url(https://image.e.andrewpeller.com/lib/fe35117171640579741d71/m/3/a7eb3d01-5081-4f77-95de-88a5295b1cda.jpg);
    background-repeat: no-repeat;
    background-size: cover;
            }
   
    @media (max-width: 745px) {
     .newsletter-header {
      height: 110px;
     }
       }

   .newsletter-header-title {
                font-weight: 600;
    font-size: 3rem;
    color: #ffffff;
    margin-bottom: 5px;
    text-shadow: 2px 2px #505050;
    margin: 0px 0 0 0;
    text-align: center;
    padding: 25px;
            }
   
    @media (max-width: 950px) {
     .newsletter-header-title {
      font-size: 2rem;
     }
       }
    
    @media (max-width: 745px) {
     .newsletter-header-title {
      font-size: 2rem;
     }
       }
    
    @media (max-width: 650px) {
     .newsletter-header-title {
      font-size: 1.5rem;
     }
       }

   
   .update-preferences {
    width: 100%;
    margin: 15px 0 25px 0;
    color: #d351d3;
    font-size: 0.9em;
    font-weight: 600;
    text-align: center;
   }

            /* .newsletter-header-span {
                color: #1d1b1d;
                font-weight: bold;
            } */

            .newsleter-link {
                color: #448dd5;
    text-decoration: none;
            }

            .newsleter-link:hover {
                color: #448dd5;
    text-decoration: underline;
            }

            /* .newsleter-link-more {
                color: #1d1b1d;
                font-weight: 700;
            }

            .newsleter-link-more:hover,
            .newsleter-link-more:focus {
                color: #1d1b1d;
            } */

            .newsletter-form-wrapper {
                /*padding: 0 25px 0 25px;*/
                width: 100%;
            }

            .newsletter-form {
                text-align: left;
                padding-bottom: 25px;
            }

            .newsletter-form-details {
    width: 100%;
    margin: 0 0px 25px 0px;
            }

   .newsletter-form-heading {
      
    width: 100%;
    text-align: center;
            }
  
  .newsletter-form-content {
    width: 95%;
    display: inline-block;
    margin: 0px 0px 0px 0px;
    padding: 20px 0px 20px 0px;
            }

            .newsletter-form-heading-text {
                color: #1d1b1d;
                font-weight: bold;
    margin: 25px 0 0 0;
            }

            .newsletter-form-heading-label {
              font-size: 0.9em;
              margin: 5px 0 7px 0;
              width: 95%;
            }

            .newsletter-actions {
                width: 100%;
                text-align: center;
                padding-top: 60px;
            }

            .estates {
               
    width: 100%;
            }
   
   .ontario, .bc {
               
    width: 100%;
    margin-top: 5px;
            }

            .estate {
                margin-bottom: 20px;
            }

            label.estate {
                display: block;
            }

            button.submit {
                color: white;
                background: #448dd5;
                border: none;
                padding: 10px 20px 10px 20px;
                border-radius: 10px;
                font-size: 1em;
                cursor: pointer;
            }

            .field, .fields {
        display: block;
        width: 100%;
        max-width: 100%;
        margin: 0 0px 20px 0; /* Vertical margin only for stability */
        float: none; /* Removed float to stop "wonky" horizontal scaling */
    }

            .field label {
        display: block; /* Stacked layout is more reliable for forms */
        width: 100% !important; /* Forces full width without exceeding container */
        padding: 0px;
        margin: 5px 0;
    }
  
        .field input, select {
        display: block; /* Stacked layout is more reliable for forms */
        width: 400px; /* Forces full width without exceeding container */
        padding: 12px 20px;
        margin: 5px 0px 0px 0px;
        background: #e6e6e8;
        border: 1px solid #1d1b1d;
        font-size: 16px;
    }
  
 .field input, select {
    box-sizing: border-box !important;
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    width: 90% !important; /* or whatever length you need */
}

            /* .dot-linebreak {
                font-size: 72px;
                text-align: center;
                color: #d0d0d0;
            } */

            

            .astric {
                color: rgb(238 32 32);
            }

            .newsletter-form-knowledge {
                
             width: auto;
             height: 120px;
             padding: 0 25px 0 0px;
             margin: 25px 0 0px 0;
            }
   
   .newsletter-form-services {
               
    width: 100%;
    margin-top: 25px;
            }

            .newsletter-form-estates {
               
    width: 100%;
    margin-top: 25px;
            }

            .knowledge-input {
              
                display: flex; /* This aligns children in a row */
    align-items: flex-start; /* Keeps text aligned with the top of the box */
    width: 100%;
    position: relative;
    padding-left: 0; /* Removed padding since we're using flex */
    margin-bottom: 20px;
    cursor: pointer;
            }

            .knowledge-input input {
                position: absolute;
                opacity: 0;
                cursor: pointer;
                height: 0;
                width: 0;
            }

            .checkmark {
                position: absolute;
                top: 0;
                left: 0;
                height: 25px;
                width: 25px;
                background-color: #eeeeee;
                border: solid;
                border-width: 2px;
                border-color: #90c52b;
                margin-top: 3px;
            }

            .checkbox-label {
                 margin: 0px 0 0px 40px;
                 padding-right: 10px;
                 width: auto; 
                 font-size: 0.9em;
              line-height: 2.0; /* Better alignment with the checkbox */
            }

            .knowledge-input:hover input ~ .checkmark {
                background-color: #e6e6e8;
            }

            .knowledge-input input:checked ~ .checkmark {
                background-color: #e6e6e8;
            }

            .checkmark:after {
                content: "";
                position: absolute;
                display: none;
            }

            .knowledge-input input:checked ~ .checkmark:after {
                display: block;
            }

            .knowledge-input .checkmark:after {
                left: 50%;
                top: 50%;
                width: 5px;
                height: 10px;
                border: solid #696969;
                border-width: 0 3px 3px 0;
                -webkit-transform: rotate(45deg);
                -ms-transform: rotate(45deg);
                transform: translate(-50%, -50%) rotate(45deg);
            }
   
     .newsletter-logos {
   float: left;
   width: 100%;
   margin: 0 0 25px 0;
   
   border-bottom: 1px solid #d1d1d1;
     }

            .logos {
                float: left;
    width: 100%;
    text-align: center;
    overflow-y: hidden;
    overflow-x: hidden;
    white-space: nowrap;
    padding: 15px 0 15px 0;
    background-color: #f9f9f9;
            }
   
      @media (max-width: 745px) {
    .logos {
     overflow-x: auto;
    }
      }

   
     .logo {
   display: inline-block;
   margin: 0 10px 0 10px;
   max-height: 60px;
   max-width: 150px;
   vertical-align: middle;
     }
     
      @media (max-width: 745px) {
    .logo {
     margin: 0 5px 0 5px;
     max-height: 50px;
    }
      }

            .estate-heading {
                margin-top: 5px;
            }
   
            .newsletter-footer {
                display: inline-block;
                width: 100%;
                background-color: #1d1b1d;
                color: white;
                padding: 35px 0px 35px 0px;
            }

            .newsletter-footer-copyright-content {
                padding-top: 25px;
                width: 100%;
            }

            .newsletter-footer-heading {
                /* font-size: 32px; */
            }

            .newsletter-footer-content {
                display: inline-block;
                width: 95%;
                
            }

    
    .checkbox-label {
        width: auto !important; /* Allows text to wrap naturally */
        padding-right: 0 !important;
    }
}

          
        </style>