.recycle-process {
      box-sizing: border-box;
      width: 100%;
      margin: 6px 0 12px;
      padding: 20px;
      border: 1px solid #CEDDCA;
      border-top: 3px solid #C88936;
      background: #EFF5EC;
      color: #356744;
    }
    .recycle-process h3 {
      margin: 0 0 18px;
      font-size: 16px;
      font-weight: bold;
    }
    .process-steps {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 34px 24px;
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .process-step {
      position: relative;
      box-sizing: border-box;
      min-width: 0;
      padding: 12px 4px 14px;
      border: 1px solid #CEDDCA;
      border-radius: 6px;
      background: #fff;
      text-align: center;
    }
    .process-step::after {
      content: '';
      position: absolute;
      top: 50%;
      right: -17px;
      width: 8px;
      height: 8px;
      border-top: 2px solid #C88936;
      border-right: 2px solid #C88936;
      transform: translateY(-50%) rotate(45deg);
    }
    .process-step:nth-child(4)::after {
      top: auto;
      bottom: -22px;
      right: calc(50% - 5px);
      transform: rotate(135deg);
    }
    .process-step:nth-child(5) { grid-area: 2 / 4; }
    .process-step:nth-child(6) { grid-area: 2 / 3; }
    .process-step:nth-child(7) { grid-area: 2 / 2; }
    .process-step:nth-child(n+5)::after {
      right: auto;
      left: -17px;
      transform: translateY(-50%) rotate(-135deg);
    }
    .process-step:last-child {
      grid-area: 2 / 1;
      border-color: #356744;
      background: #356744;
      color: #fff;
    }
    .process-step:last-child::after { display: none; }
    .process-number {
      display: block;
      color: #8A5924;
      font-size: 11px;
      font-weight: bold;
      letter-spacing: 1px;
    }
    .process-step:last-child .process-number { color: #F3DCB8; }
    .process-icon {
      display: block;
      width: 48px;
      height: 48px;
      margin: 8px auto 10px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.8;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .process-label { display: block; font-size: 14px; font-weight: bold; line-height: 1.5; }
    @media (max-width: 600px) {
      .process-steps { grid-template-columns: 1fr; gap: 26px; }
      .process-step:nth-child(n) { grid-area: auto; padding: 12px; }
      .process-step:nth-child(n)::after {
        top: auto;
        bottom: -17px;
        left: calc(50% - 5px);
        right: auto;
        transform: rotate(135deg);
      }
    }
    .contact-panel { margin: 16px 0 24px; border: 1px solid #CEDDCA; border-top: 3px solid #C88936; border-radius: 0 0 8px 8px; background: #fff; color: #2F3B32; font-size: 14px; line-height: 1.7; }
    .contact-panel * { box-sizing: border-box; }
    .contact-intro { padding: 24px 28px 20px; background: #EFF5EC; border-bottom: 1px solid #CEDDCA; }
    .contact-intro h3 { margin: 0 0 8px; color: #356744; font-size: 19px; line-height: 1.5; }
    .contact-intro p { margin: 4px 0; }
    .contact-intro .contact-note { margin-top: 12px; font-size: 12px; color: #617064; }
    .contact-required { display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: 3px; background: #F7EEDF; color: #8A5924; font-size: 10px; font-weight: bold; vertical-align: middle; }
    .contact-note .contact-required { margin-left: 0; }
    #contact-form { padding: 24px 28px 28px; }
    .contact-section { min-width: 0; margin: 0 0 26px; padding: 0; border: 0; }
    .contact-section legend { width: 100%; margin-bottom: 18px; padding: 0 0 10px; border-bottom: 1px solid #CEDDCA; color: #356744; font-size: 16px; font-weight: bold; }
    .contact-section-number { margin-right: 8px; color: #8A5924; font-size: 12px; letter-spacing: 1px; }
    .contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 22px; }
    .contact-field { min-width: 0; }
    .contact-field-wide { grid-column: 1 / -1; }
    .contact-field label { display: block; margin-bottom: 7px; font-size: 13px; font-weight: bold; }
    .contact-field input, .contact-field textarea { display: block; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #91A58E; border-radius: 5px; background: #F7F8F4; color: #2F3B32; font: inherit; line-height: 1.5; }
    .contact-field textarea { min-height: 168px; resize: vertical; }
    .contact-field input:focus, .contact-field textarea:focus { outline: 2px solid #356744; outline-offset: 2px; background: #fff; }
    .contact-hint { margin: 0 0 10px; color: #617064; font-size: 12px; }
    .contact-submit-area { padding-top: 20px; border-top: 1px solid #CEDDCA; text-align: center; }
    #contact-turnstile { display: flex; justify-content: center; }
    #contact-verification { margin: 10px 0 18px; color: #617064; font-size: 12px; }
    #contact-status { margin: 0 0 16px; color: #356744; overflow-wrap: anywhere; }
    #contact-status:empty { display: none; }
    .contact-submit { min-height: 48px; width: 300px; max-width: 100%; padding: 12px 24px; border: 1px solid #356744; border-radius: 5px; background: #356744; color: #fff; font: inherit; font-weight: bold; cursor: pointer; }
    .contact-submit:hover:not(:disabled) { background: #284F34; }
    .contact-submit:focus-visible { outline: 2px solid #8A5924; outline-offset: 3px; }
    @media (max-width: 600px) {
      .contact-grid { grid-template-columns: 1fr; }
      .contact-intro { padding: 20px 16px; }
      #contact-form { padding: 20px 16px; }
    }
    #contact-form button:disabled { opacity: 0.55; cursor: not-allowed !important; }
