:root{
    --pine:#16241b;
    --pine-deep:#0d160f;
    --moss:#3f6247;
    --moss-light:#5c7f60;
    --parchment:#f4eee0;
    --parchment-dim:#ece3d0;
    --marigold:#e8a23d;
    --ember:#c1602f;
    --mist:#cfd9c4;
     --white:#fff;
    --ink:#1c2418;
    --ink-soft:#4a5442;
    --display:'Fraunces', serif;
    --body:'Work Sans', sans-serif;
    --mono:'Space Mono', monospace;
    --max:1180px;
  }
  

  /* ============ CONTACT MID SECTION ============ */
  .contact-mid{background:var(--parchment); padding:60px 0;}
  .contact-mid .eyebrow{color:var(--ember);}
  .contact-mid-head{max-width:640px; margin-bottom:56px;}
  .contact-mid-head h1{font-size:clamp(30px,4vw,46px); color:var(--pine); margin-top:16px;}

  .contact-people{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
    background:rgba(63,98,71,0.22); border:1px solid rgba(63,98,71,0.22);
    margin-bottom:80px;
  }
  .contact-person{
    background:var(--parchment); padding:38px 32px;
    display:flex; flex-direction:column; gap:6px;
    transition:background .3s ease;
  }
  .contact-person:hover{background:var(--parchment-dim);}
  .contact-person .role{
    font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ember);
    margin-bottom:14px;
  }
  .contact-person .name{font-family:var(--display); font-size:23px; font-weight:600; color:var(--pine);}
  .contact-person .title{font-size:14px; color:var(--ink-soft); margin-bottom:16px;}
  .contact-person a{
    font-size:14px; color:var(--ink); opacity:.85; padding:3px 0; display:block; width:fit-content;
    border-bottom:1px solid transparent; transition:border-color .2s ease, opacity .2s ease;
  }
  .contact-person a:hover{opacity:1; border-color:var(--ember);}

  @media (max-width:900px){.contact-people{grid-template-columns:1fr;}}

  /* ---- form ---- */
  .contact-form-panel{
    display:grid; grid-template-columns:.85fr 1.15fr; gap:64px; align-items:start;
    background:var(--pine-deep); border-radius:18px; padding:56px;
    color:var(--parchment);
  }
  .contact-form-copy .eyebrow{color:var(--marigold);}
  .contact-form-copy h3{font-size:clamp(26px,3.2vw,36px); color:var(--parchment); margin-top:16px; max-width:12ch;}
  .contact-form-copy p{font-size:15px; color:var(--mist); margin-top:18px; max-width:34ch;}

  form{display:flex; flex-direction:column; gap:18px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  .field label{
    display:block; font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
    color:var(--mist); margin-bottom:8px;
  }
  .field input,
  .field select,
  .field textarea{
    width:100%; background:transparent; border:none; border-bottom:1px solid rgba(244,238,224,0.3);
    color:var(--parchment); font-family:var(--body); font-size:15px; padding:10px 2px;
    transition:border-color .2s ease;
  }
  .field select{appearance:none; -webkit-appearance:none; cursor:pointer;}
  .field select option{color:var(--ink); background:var(--parchment);}
  .field input::placeholder,
  .field textarea::placeholder{color:rgba(244,238,224,0.4);}
  .field input:focus,
  .field select:focus,
  .field textarea:focus{outline:none; border-color:var(--marigold);}
  .field textarea{resize:vertical; min-height:90px;}

  .field-select-wrap{position:relative;}
  .field-select-wrap::after{
    content:"▾"; position:absolute; right:4px; top:50%; transform:translateY(-4px);
    color:var(--mist); pointer-events:none; font-size:12px;
  }

  .terms{display:flex; align-items:flex-start; gap:10px; margin-top:4px;}
  .terms input{width:16px; height:16px; margin-top:3px; accent-color:var(--marigold);}
  .terms label{font-size:13px; color:var(--mist); font-family:var(--body); text-transform:none; letter-spacing:normal;}
  .terms a{color:var(--marigold); text-decoration:underline;}

  .form-submit{
    margin-top:8px; align-self:flex-start;
    font-family:var(--mono); font-weight:700; font-size:13px; letter-spacing:.05em;
    background:var(--marigold); color:var(--pine-deep);
    padding:15px 34px; border:none; border-radius:999px; cursor:pointer;
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
    box-shadow:0 8px 24px rgba(232,162,61,0.25);
  }
  .form-submit:hover{background:#f3b761; transform:translateY(-2px);}

  @media (max-width:860px){
    .contact-form-panel{grid-template-columns:1fr; padding:36px 24px; border-radius:14px;}
    .form-row{grid-template-columns:1fr;}
  }