.btn-p{background:linear-gradient(95deg,#1E7A1E,#2E9E2E);color:#fff}
.btn{display:inline-block;text-decoration:none;text-align:center;font-family:var(--fd);font-style:italic;font-weight:700;font-size:15px;
    text-transform:uppercase;letter-spacing:.07em;padding:15px 26px;border-radius:999px;border:1.5px solid transparent;cursor:pointer}
.box ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px;font-size:15.5px;color:var(--mu)}
.box p{max-width:none;font-size:15.5px;color:var(--mu)}
.btn-p:hover{filter:brightness(1.1)}
a:focus-visible,.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--g2);outline-offset:2px}
header.page{padding:48px 0 10px;display:flex;flex-direction:column;gap:13px}
header.page h1{font-size:clamp(31px,5vw,50px);max-width:min(100%,46ch)}
header.page .lede{color:var(--mu);font-size:19px;max-width:var(--read)}
.draftnote{background:var(--flag-w);border:1px dashed var(--flag);border-radius:10px;padding:15px 18px;font-family:var(--fm);font-size:13.5px;color:var(--flag);line-height:1.55;margin:24px 0 0}
/* call strip */
  .callstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin:30px 0 6px}
.cs{background:var(--c);border:1px solid var(--ln);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:5px;box-shadow:var(--sh)}
.cs .l{font-family:var(--fm);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mu)}
.cs .v{font-family:var(--fd);font-style:italic;font-weight:700;font-size:23px;color:var(--ink);line-height:1.1}
.cs .v a{text-decoration:none;color:inherit}
.cs .v a:hover{color:var(--g1)}
.cs .d{font-size:14.5px;color:var(--mu);line-height:1.4}
.sec-head{display:flex;flex-direction:column;gap:9px;margin-bottom:24px}
/* intent picker */
  .intents{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:12px;margin-bottom:26px}
.intent{background:var(--c);border:1.5px solid var(--ln);border-radius:14px;padding:18px 18px;text-align:left;cursor:pointer;
    display:flex;flex-direction:column;gap:5px;font-family:var(--fb);transition:border-color .12s ease,background .12s ease}
.intent:hover{border-color:var(--ln2)}
.intent[aria-pressed="true"]{border-color:var(--g2);background:#EFF7EB;box-shadow:0 0 0 2px rgba(42,143,42,.16)}
.intent .t{font-family:var(--fd);font-style:italic;font-weight:700;text-transform:uppercase;font-size:15px;color:var(--ink);letter-spacing:.01em}
.intent .s{font-size:13.5px;color:var(--mu);line-height:1.35}
/* form */
  .formwrap{background:var(--c);border:1px solid var(--ln2);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden}
.formwrap > header{padding:22px 26px;border-bottom:1px solid var(--ln);background:var(--s2);display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.formwrap > header h3{font-size:18px;margin-right:auto}
.formwrap > header .cnt{font-family:var(--fm);font-size:11.5px;color:var(--g1);background:#E7F2E1;border:1px solid #BEDBB2;padding:4px 11px;border-radius:999px}
form{padding:24px 26px 26px;display:flex;flex-direction:column;gap:17px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:17px}
@media(max-width:640px){.grid2{grid-template-columns:1fr}}
.f{display:flex;flex-direction:column;gap:6px}
.f label{font-family:var(--fm);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--bd);display:flex;gap:7px;align-items:baseline}
.f label .req{color:var(--g2);font-weight:600}
.f label .opt{color:var(--mu);text-transform:none;letter-spacing:0;font-family:var(--fb);font-size:12.5px}
.f input,.f select,.f textarea{font-family:var(--fb);font-size:16px;color:var(--ink);background:var(--p);
    border:1px solid var(--ln2);border-radius:9px;padding:12px 14px;width:100%}
.f textarea{min-height:96px;resize:vertical}
.f .help{font-size:13px;color:var(--mu);line-height:1.35}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding-top:2px}
.actions .note{font-size:13.5px;color:var(--mu)}
.privacy{font-size:13.5px;color:var(--mu);border-top:1px solid var(--ln);padding-top:14px;max-width:none}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}
.box h3{font-size:17px}
.spam{background:var(--flag-w);border:1px solid var(--flag);border-radius:var(--r);padding:24px 28px;display:flex;flex-direction:column;gap:11px}
.spam h3{color:var(--flag)}
.spam p,.spam li{color:#6E4A10}
.spam ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:15.5px}
[hidden]{display:none!important}

.gmnote{border-radius:var(--r);padding:20px 24px;margin-bottom:20px;display:flex;flex-direction:column;gap:6px;
  border:1px solid var(--ln2);background:var(--c)}
.gmnote strong{font-family:var(--fd);font-style:italic;font-weight:700;text-transform:uppercase;font-size:17px;color:var(--ink)}
.gmnote span{font-size:15.5px;color:var(--mu)}
.gmnote.good{border-left:5px solid var(--g2);background:#EFF7EB}
.gmnote.good strong{color:var(--g1)}
.gmnote.bad{border-left:5px solid #9A3B22;background:#F9F0EC}
.gmnote.bad strong{color:#9A3B22}

/* "Common questions" jump block. Carries id="faq" so the old site's /contact/#faq
   anchor — which no redirect can ever catch, because a fragment never reaches the
   server — lands somewhere sensible instead of silently doing nothing. */
.faqjump{border-top:1px solid var(--ln)}
.faqjump:focus{outline:none}
.faqjump-list{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 32px}
.faqjump-list li{border-top:1px solid var(--ln)}
.faqjump-list li:first-child,.faqjump-list li:nth-child(2){border-top:none}
.faqjump-list a{display:block;padding:14px 0;font-size:16.5px;color:var(--ink);
  text-decoration:none;border-bottom:none}
.faqjump-list a:hover{color:var(--g1)}
.faqjump-list a::after{content:" \2192";color:var(--mu)}
@media (max-width:620px){
  .faqjump-list{grid-template-columns:1fr}
  .faqjump-list li:nth-child(2){border-top:1px solid var(--ln)}
}

/* ---- Confirmation screen -------------------------------------------------
   Shown in place of the form after a successful send. It is the only thing on
   the screen at that point, which is the whole idea: the previous version put a
   note above the form, and between the sticky nav covering the anchor and the
   form still sitting there unchanged, people could not tell it had sent. */
.gmdone{background:var(--c);border:1px solid var(--ln2);border-left:5px solid var(--g2);
  border-radius:var(--r);padding:38px 40px;box-shadow:var(--sh);max-width:var(--read)}
.gmdone:focus{outline:none}
.gmdone .eyebrow{color:var(--g1)}
.gmdone h2{margin:6px 0 14px}
.gmdone .lede{margin-bottom:26px}
.gmdone-next{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:14px}
.gmdone-next li{position:relative;padding-left:30px;font-size:16.5px;line-height:1.5;color:var(--bd)}
.gmdone-next li::before{content:"";position:absolute;left:0;top:9px;width:13px;height:13px;
  border-radius:50%;background:var(--g2)}
.gmdone-next strong{color:var(--ink)}
.gmdone-call{font-size:16px;color:var(--mu);border-top:1px solid var(--ln);padding-top:20px;margin-bottom:22px}
.gmdone-call a{color:var(--g1)}
.gmdone-acts{display:flex;gap:12px;flex-wrap:wrap;margin:0}
@media (max-width:620px){
  .gmdone{padding:28px 22px}
  .gmdone-acts .btn{flex:1 1 100%;justify-content:center}
}
