:root{
    --green-deep:#5a7a5d;
    --green:#6b8e6e;
    --green-soft:#8aa98c;
    --green-pale:#e8efe6;
    --green-line:#c9d8c6;
    --cream:#f7f5ef;
    --card:#fffefb;
    --ink:#3f4a3c;
    --ink-soft:#545d51;
    --brown:#8a6f52;
    --shadow:0 10px 40px rgba(90,122,93,.10);
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0; background:var(--cream); color:var(--ink);
    font-family:'Assistant',system-ui,Arial,sans-serif;
    font-weight:400; line-height:1.6; -webkit-font-smoothing:antialiased;
    padding:24px 14px 60px;
  }
  .wrap{max-width:860px;margin:0 auto;position:relative}

  .leaf{position:fixed;bottom:-10px;right:-10px;width:180px;opacity:.5;pointer-events:none;z-index:0}
  @media(max-width:640px){.leaf{width:120px;opacity:.4}}

  header{text-align:center;padding:8px 0 4px;position:relative;z-index:1}
  .logo-img{width:190px;height:190px;border-radius:50%;
    background:url('logo.jpg') center 44% / 135% auto no-repeat;
    display:block;margin:0 auto 18px;box-shadow:0 8px 32px rgba(90,122,93,.22)}
  @media(max-width:640px){.logo-img{width:150px;height:150px}}
  h1{font-family:'Frank Ruhl Libre',serif;font-size:30px;font-weight:700;color:var(--green-deep);margin:0 0 8px}
  .intro{max-width:560px;margin:0 auto;color:var(--ink-soft);font-size:15.5px}
  .intro.note{font-size:14px;margin-top:10px}
  .heart{color:var(--green-soft);font-size:18px;margin:14px 0 26px}

  .section{background:var(--card);border:1px solid var(--green-line);border-radius:18px;
    box-shadow:var(--shadow);padding:26px 24px 28px;margin:0 0 22px;position:relative;z-index:1}
  .section-title{display:inline-block;background:var(--green-deep);color:#fff;font-weight:600;
    font-size:18px;padding:7px 22px;border-radius:10px;margin:-40px 0 22px auto;float:left;
    box-shadow:0 6px 16px rgba(90,122,93,.25)}
  .section::after{content:"";display:block;clear:both}
  .section.safety{background:var(--green-pale)}

  .grid{display:grid;gap:18px 26px}
  .grid.cols-3{grid-template-columns:1fr 1fr 1fr}
  .grid.cols-2{grid-template-columns:1fr 1fr}
  @media(max-width:640px){.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}}

  label.field{display:block;font-size:14.5px;color:var(--ink-soft);margin-bottom:7px;font-weight:500}
  .q{font-size:15.5px;color:var(--ink);font-weight:500;margin:0 0 10px;line-height:1.5}
  .q .opt{color:var(--ink-soft);font-weight:400;font-size:13.5px}

  input[type=text],input[type=tel],input[type=email],input[type=number],textarea{
    width:100%;border:none;border-bottom:1.5px solid var(--green-line);background:transparent;
    font-family:inherit;font-size:16px;color:var(--ink);padding:7px 2px;transition:border-color .2s}
  textarea{border:1.5px solid var(--green-line);border-radius:12px;padding:11px 13px;min-height:70px;resize:vertical}
  input:focus,textarea:focus{outline:none;border-color:var(--green)}
  input::placeholder,textarea::placeholder{color:#b9c4b6}

  .qblock{margin-bottom:4px}
  .qrow{display:grid;gap:22px}
  @media(min-width:641px){.qrow.three{grid-template-columns:1fr 1fr 1fr}.qrow.two{grid-template-columns:1fr 1fr}}

  .checks{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px 18px;margin-top:4px}
  @media(max-width:640px){.checks{grid-template-columns:1fr 1fr}}
  .chk{display:flex;align-items:center;gap:9px;font-size:15px;color:var(--ink);cursor:pointer;
    padding:4px 2px;border-radius:8px}
  .chk input{width:18px;height:18px;accent-color:var(--green-deep);cursor:pointer;flex:none}
  .other-line{display:flex;align-items:center;gap:10px;margin-top:14px}
  .other-line span{font-size:15px;color:var(--ink-soft);white-space:nowrap}
  .other-line input{max-width:260px}

  .radios{display:flex;flex-wrap:wrap;gap:14px 24px;margin:4px 0 4px}
  .radios label{display:flex;align-items:center;gap:8px;font-size:15px;cursor:pointer}
  .radios input{width:18px;height:18px;accent-color:var(--green-deep);flex:none}
  .radios.column{flex-direction:column;gap:11px}

  .scale{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
  .scale label{cursor:pointer}
  .scale input{position:absolute;opacity:0;width:0;height:0}
  .scale .dot{display:flex;align-items:center;justify-content:center;width:42px;height:42px;
    border:1.5px solid var(--green-line);border-radius:50%;font-size:15px;font-weight:600;
    color:var(--green-deep);transition:all .15s;background:#fff}
  .scale label:hover .dot{border-color:var(--green-soft)}
  .scale input:checked + .dot{background:var(--green-deep);color:#fff;border-color:var(--green-deep);transform:scale(1.06)}
  .scale input:focus-visible + .dot{outline:2px solid var(--green);outline-offset:2px}
  @media(max-width:640px){.scale .dot{width:38px;height:38px}}

  .consent{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;color:var(--ink-soft);
    background:var(--green-pale);border-radius:12px;padding:14px 16px;margin:6px 0 24px;line-height:1.5}
  .consent input{width:19px;height:19px;accent-color:var(--green-deep);margin-top:2px;flex:none}
  .submit-wrap{text-align:center;position:relative;z-index:1}
  button.send{font-family:inherit;font-size:18px;font-weight:600;color:#fff;background:var(--green-deep);
    border:none;border-radius:30px;padding:15px 60px;cursor:pointer;box-shadow:0 10px 26px rgba(90,122,93,.30);
    transition:transform .15s,background .2s}
  button.send:hover{background:#4d6b50;transform:translateY(-2px)}
  button.send:disabled{opacity:.55;cursor:not-allowed;transform:none}
  .err{color:#b4524b;font-size:14px;margin-top:12px;min-height:18px}

  .footer-note{text-align:center;color:var(--ink-soft);font-size:14.5px;margin-top:30px;position:relative;z-index:1}
  .footer-note .fr{font-family:'Frank Ruhl Libre',serif;color:var(--green-deep);font-size:19px;font-weight:700}

  .thankyou{display:none;text-align:center;background:var(--card);border:1px solid var(--green-line);
    border-radius:18px;box-shadow:var(--shadow);padding:60px 30px;position:relative;z-index:1}
  .thankyou h2{font-family:'Frank Ruhl Libre',serif;color:var(--green-deep);font-size:30px;margin:0 0 12px}
  .thankyou p{color:var(--ink-soft);font-size:16px;max-width:420px;margin:0 auto}
  .thankyou .big-heart{font-size:46px;color:var(--green-soft);margin-bottom:10px}

  fieldset{border:none;margin:0;padding:0;min-width:0}
  legend{padding:0;width:100%}

  input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{
    outline:2px solid var(--green);outline-offset:3px;border-radius:2px}

  .hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}

  .consent-group{margin:6px 0 14px}
  .consent a{color:var(--green-deep);font-weight:600}
  .consent-note{font-size:12.5px;color:var(--ink-soft);margin:0 0 20px;line-height:1.5}

  .emergency-note{background:var(--cream);border:1px solid var(--green-line);border-radius:12px;
    padding:14px 18px;margin:0 0 26px;font-size:13.5px;color:var(--ink-soft);line-height:1.6;
    text-align:center;position:relative;z-index:1}

  .site-footer{text-align:center;margin-top:36px;padding-top:22px;border-top:1px solid var(--green-line);
    position:relative;z-index:1}
  .site-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-bottom:12px}
  .site-footer-links a{color:var(--ink-soft);font-size:14px;text-decoration:underline}
  .site-footer-links a:hover{color:var(--green-deep)}
  .site-footer .copy{color:var(--ink-soft);font-size:12.5px;margin:0}

  .mt20{margin-top:20px}
  .mb22{margin-bottom:22px}
  .cf-turnstile{display:flex;justify-content:center;margin:0 0 14px;position:relative;z-index:1}
