/* Lead form, mobile menu and 404 page for the static landing site. */
:root{--lf-green:#134632;--lf-green-deep:#0B2B1E;--lf-cal:#F6EFE2;--lf-ink:#15221B;--lf-line:#D9CBAE;--lf-red:#8E2815;--lf-gold:#E5A11F}
.no-js [data-menu-button]{display:none}
.lf-section{background:var(--lf-cal);padding:4rem 0 5rem;scroll-margin-top:7rem;border-top:1px solid var(--lf-line)}
.lf-card{position:relative;max-width:38rem;margin:0 auto;background:#fff;border:1px solid var(--lf-line);border-radius:.375rem;padding:1.75rem 1.5rem 1.5rem;color:var(--lf-ink)}
.lf-title{font-size:1.9rem;line-height:1.1;font-weight:700;color:var(--lf-green);margin:0 2rem .5rem 0;text-wrap:balance}
.lf-intro{margin:0 0 1.25rem;line-height:1.5}
.lf-form{display:flex;flex-direction:column;gap:.9rem}
.lf-about{margin:0;padding:.6rem .8rem;background:var(--lf-cal);border-left:3px solid var(--lf-gold);font-size:.95rem}
.lf-field{display:flex;flex-direction:column;gap:.3rem}
.lf-field label{font-weight:600;font-size:.95rem}
.lf-opt{font-weight:400;color:#5A675E}
.lf-field input,.lf-field textarea{font:inherit;color:inherit;background:#fff;border:1px solid #9AA59C;border-radius:.25rem;padding:.6rem .7rem;width:100%;min-height:2.75rem}
.lf-field textarea{resize:vertical}
.lf-field input:focus-visible,.lf-field textarea:focus-visible,.lf-close:focus-visible,.lm-menu a:focus-visible{outline:2px solid var(--lf-red);outline-offset:2px}
.lf-field [aria-invalid="true"]{border-color:var(--lf-red);box-shadow:0 0 0 1px var(--lf-red)}
.lf-error{color:var(--lf-red);font-size:.9rem;margin:0}
.lf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lf-status{margin:0;min-height:1.2rem;font-weight:600}
.lf-status[data-kind="error"]{color:var(--lf-red)}
.lf-status[data-kind="ok"]{color:var(--lf-green);font-size:1.1rem;line-height:1.45}
.lf-form button[type="submit"]{align-self:flex-start;cursor:pointer;border:0}
.lf-form button[disabled]{opacity:.6;cursor:progress}
.lf-privacy{margin:0;font-size:.85rem;color:#5A675E}
.lf-dialog{border:0;padding:0;background:transparent;width:min(38rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto}
.lf-dialog::backdrop{background:rgba(11,43,30,.6)}
.lf-close{position:absolute;top:.6rem;right:.6rem;width:2.75rem;height:2.75rem;border:0;border-radius:.25rem;background:transparent;font-size:1.8rem;line-height:1;color:var(--lf-ink);cursor:pointer}
.lf-close:hover{background:var(--lf-cal)}
.lm-menu{display:flex;flex-direction:column;border-top:1px solid var(--lf-line);padding:.5rem 0 1rem}
.lm-menu[hidden]{display:none}
.lm-menu a{padding:.85rem .25rem;font-weight:600;color:var(--lf-ink);border-bottom:1px solid var(--lf-line)}
@media (min-width:1024px){.lm-menu,[data-menu-button]{display:none!important}}
body.nf{margin:0;min-height:100vh;display:grid;place-items:center;background:var(--lf-cal);color:var(--lf-ink);font-family:Georgia,serif;text-align:center;padding:1rem}
.nf h1{font-size:1.6rem;margin:1.5rem 0 .25rem;color:var(--lf-green)}.nf-brand{font-size:2.5rem;font-weight:800;letter-spacing:-.02em;color:var(--lf-green);margin:0}.nf a{color:var(--lf-red)}
.lf-form [hidden]{display:none}
/* The app's header is 2px too wide at 390px in French; tighten its button on small phones. */
@media (max-width:420px){header nav a.bg-primary{padding-left:1rem;padding-right:1rem}}

/* inline styles lifted from the page */
.ls-1{font-size:11px;letter-spacing:0.14em;font-weight:800}
.ls-2{font-size:10.5px;letter-spacing:0.13em;font-style:italic;font-weight:700}
