:root {
    --gp-green: #3FAE2A;
    --gp-green-dark: #3c7020;
    --gp-gold: #F2B632;
    --gp-text: #2b2b2b;
    --gp-border: #cfcfcf;
  }

  * { box-sizing: border-box; }

  body {
    margin: 0;
    font-family: "open-sans", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: var(--gp-text);
    background: #fff;
  }

  h1, h2, h3 {
    font-family: "museo-sans-rounded", sans-serif;
    font-weight: 700;
  }

  p {
    font-family: "open-sans", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size:18px;
  }

  a { 
    color: inherit; 
    text-decoration: none;
 }

  .top-stripe {
    height: 60px;
    background: var(--gp-green);
  }

  header.site-header {
    background: transparent;
    padding: 14px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between; 
    max-width:1400px;
    margin:0 auto;
    margin-top:-2%;
  }

  .logo-badge img {
    width: 134px;
    height: 134px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top:-10%;
  }


  nav.main-nav {
    display: flex;
    gap: 32px;
    background: transparent;
    padding: 10px 24px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 14px;
    color:#000;
  }

  nav.main-nav a {
    font-family: "museo-sans-rounded", sans-serif;
    font-weight: 700;
    font-size:20px;
    margin:0 1rem;
  }


  .hero {
    text-align: center;
    padding: 20px 20px 20px;
  }

  .hero img {
    max-width:438px;
    height:auto;
    margin:2rem auto;
  }

  .content-section {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
    margin: 30px auto;
    align-items: center;
    align-content: center;
    gap: 30px;
    padding: 0 0px;
  }

  .content-section .content-image {
    flex:0 0 50%;
    object-fit: cover;
    border-radius: 0px;
  }

  .content-section .content-image img {
    max-width:100%;
    height:auto;
  }

  .content-section .copy {
    flex:0 0 45%;
  }

  .content-section h1 {
    color: var(--gp-green);
    font-size: 43px;
    line-height:43px;
    margin-top: 0;
  }

  .content-section p {
    font-size: 18px;
    line-height: 1.8;
    color: #000;
  }

  .register-section {
    max-width: 936px;
    margin: 10px auto 60px;
    padding: 0 20px;
  }

  .register-section h2 {
    font-size: 43px;
    line-height:43px;
    margin-bottom: 20px;
  }

  .form-row {
    display: flex;
    gap: 16px;
   /* margin-bottom: 45px; */
  }

  .form-group {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin-bottom: 30px
  }

  .form-group label {
    font-size:18px;
    font-weight: 600;
    margin-bottom: 6px;
  }

  .form-group label .req {
    color: var(--gp-green);
  }

  .form-group input[type="text"],
  .form-group input[type="email"],
  .form-group input[type="tel"],
  .form-group input[type="textarea"]
   {
    padding: 10px 12px;
    border: 2px solid var(--gp-border);
    border-radius: 6px;
    font-size: 18px;
  }

  .form-group input[type="textarea"]  {
    min-height:240px;
    padding: 10px 12px;
    border: 2px solid var(--gp-border);
    border-radius: 6px;
    font-size: 18px;
  }


  .form-group input:focus {
    outline: 2px solid var(--gp-green);
    outline-offset: 1px;
  }

  .field-error {
    color: #c0392b;
    font-size: 12px;
    margin-top: 4px;
  }

  .radio-group {
    margin-bottom: 22px;
    font-size: 18px;
    font-weight: 600;
    display: flex;
    align-items: center;
  }

  .radio-options {
    display: flex;
    gap: 40px;
    font-weight: 400;
    margin-left:2rem;
  }

  .radio-options label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size:18px;
    cursor: pointer;
  }

  .radio-options input[type="radio"] {
    accent-color: var(--gp-green);
    width: 16px;
    height: 16px;
  }

  .submit-btn {
    width: 100%;
    background: var(--gp-gold);
    border: none;
    padding: 14px;
    font-weight: 700;
    font-size: 25px;
    font-family: "museo-sans-rounded", sans-serif;
    border-radius: 24px;
    cursor: pointer;
    transition: background 0.15s ease;
  }

  .submit-btn:hover {
    background: #e0a627;
  }

  .alert {
    padding: 12px 16px;
    border-radius: 4px;
    font-size: 14px;
    margin-bottom: 20px;
  }

  .alert-success {
    background: #e6f4e0;
    border: 1px solid var(--gp-green);
    color: var(--gp-green-dark);
  }

  .alert-error {
    background: #fdecea;
    border: 1px solid #c0392b;
    color: #c0392b;
  }

  footer.site-footer {
    background: var(--gp-green);
    color: #fff;
    padding: 24px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 14px;
  }

  footer.site-footer .footer-left {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
  }

  .footer-left a {
    font-family: "museo-sans-rounded", sans-serif;
    font-weight: 700;
    font-size:16px;
    margin:0 1rem;
  }

  footer.site-footer .footer-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
  }

  footer.site-footer .footer-logo .logo-badge img {
    width: 36px;
    height: 36px;
  }

  footer.site-footer .fine-print {
    font-size: 11px;
    opacity: 0.85;
  }

  .flex-row {
    display:flex;
    flex-wrap: wrap;
    flex-direction:row;
    align-content: center;
    align-items: center;
    padding:2rem 0;
  }

  .ez-logo {
    flex:0 0 30%;
  }

  .ez-logo img {
   width:215px;
   height:auto;
  }

  .ez-btn {
    flex:1;
  }

  .ez-btn a.btn {
    width: 100%;
    background: var(--gp-gold);
    border: none;
    padding: 1rem 3rem;
    font-weight: 700;
    font-size: 18px;
    font-family: "museo-sans-rounded", sans-serif;
    border-radius: 35px;
    cursor: pointer;
    transition: background 0.15s ease;
    margin-left:2rem;
  }

  .ez-btn a.btn:hover {
  background: #e0a627; 
  }

  @media (max-width: 1310px) {
    .ez-btn a.btn {
      margin-left:1rem;
      padding:1rem;
      font-size:14px;
    }

    .ez-logo img {
      max-width:150px;
      height:auto;
     }
  }

  

  @media (max-width: 991px) {
    .content-section .content-image {
      flex:0 0 100%;
    }

    .flex-row {
      padding:0;
      margin:0 auto;
      text-align:center;
    }

    .ez-btn a.btn {
      margin:2rem 0;
      padding:1rem;
    }

    .content-section .copy {
      flex:0 0 100%;
      padding:2rem 1.5rem;
    }

    .ez-logo {
      flex:0 0 100%;
    }

    .ez-logo img {
      max-width:250px;
      height:auto;
      margin-bottom:2rem
     }

    .ez-btn {
      flex:0 0 100%;
    }
  }

  @media (max-width: 640px) {
    header.site-header { 
        flex-direction: column; 
        gap: 12px; 
        padding: 16px; 
    }


    .logo-badge img {
      margin-top:-25%;
    }

    .hero img {
      max-width:100%;
      height:auto;
      margin:1rem auto;
    }

    nav.main-nav { 
        flex-direction: column; 
        gap: 10px; 
        text-align: center; 
        width: 100%; 
    }

    .hero h1 { 
        font-size: 40px; 
    }

    .content-section .content-image {
      flex:0 0 100%;
    }

  
    .content-section .copy {
      flex:0 0 100%;
    }

    .ez-btn a.btn {
      padding:1rem;
    }

    .form-row { 
        flex-direction: column; 
        gap: 0; 
    }

    footer.site-footer { 
        flex-direction: column; 
        text-align: center; 
    }

    .footer-left a {
      font-size:14px;
      margin:0 .5rem;
      text-align:center;
    }

    .footer-left {
      flex-direction:column;
    }

    footer.site-footer .footer-logo .logo-badge img {
     display:none;
    }
  
  }