/* Self-contained footer overlays. Existing homepage and submission styles are untouched. */
.footer-col .cca-footer-trigger{display:block;background:none;border:0;padding:0;margin:9px 0;color:#d4dfd6;font:inherit;font-size:12px;line-height:1.65;text-align:left;cursor:pointer}
.footer-col .cca-footer-trigger:hover,.footer-col .cca-footer-trigger:focus-visible{color:#fff;text-decoration:underline}
.cca-legal-overlay[hidden]{display:none!important}
.cca-legal-overlay{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:24px;background:rgba(11,32,35,.72)}
.cca-legal-dialog{display:flex;flex-direction:column;width:min(760px,100%);max-height:min(91dvh,900px);overflow:hidden;background:#fff;color:#183438;box-shadow:0 30px 90px rgba(0,0,0,.22)}
.cca-legal-dialog.contact-dialog{width:min(610px,100%)}
.cca-legal-head{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;background:white;border-bottom:1px solid #d9e2dd;padding:24px 32px 20px}
.cca-legal-head h2{font-size:25px;line-height:1.2;letter-spacing:-.025em;margin:0;color:#173336;font-weight:720}
.cca-legal-close{flex:none;width:38px;height:38px;display:grid;place-items:center;border:1px solid #d9e2dd;background:#fff;color:#163537;cursor:pointer;font-size:26px;line-height:1}
.cca-legal-close:hover,.cca-legal-close:focus-visible{background:#f0f5f1}
.cca-legal-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;padding:26px 32px 30px;scrollbar-gutter:stable}
.cca-legal-scroll>p:first-child{margin-top:0}
.cca-legal-scroll p,.cca-legal-scroll li{color:#49615c;font-size:14px;line-height:1.85;margin:0 0 12px}
.cca-legal-scroll h3{font-size:16px;line-height:1.5;color:#173438;letter-spacing:-.012em;margin:28px 0 9px}
.cca-legal-scroll h3:first-of-type{margin-top:18px}
.cca-legal-scroll ul{padding-left:21px;margin:7px 0 14px}
.cca-legal-scroll strong{color:#1b3a3b;font-weight:670}
.cca-legal-scroll .cca-doc-status{display:inline-block;margin-bottom:20px;color:#49695c;background:#eef5ef;padding:7px 11px;font-size:11px;font-weight:700;letter-spacing:.035em}
.cca-legal-footer{flex:none;padding:12px 32px;border-top:1px solid #d9e2dd;color:#687d74;font-size:11px;background:#fcfdfc}
.cca-inline-link{color:#2f725c;background:none;border:0;padding:0;text-decoration:underline;font:inherit;cursor:pointer}
.cca-contact-form{display:grid;gap:17px}
.cca-contact-form label{display:block;margin-bottom:7px;font-size:13px;color:#193739;font-weight:650}
.cca-contact-form input:not([type=checkbox]),.cca-contact-form select,.cca-contact-form textarea{width:100%;min-height:48px;border:1px solid #b8cec0;padding:12px 14px;background:#fff;color:#183438;font:inherit;font-size:14px;outline:none}
.cca-contact-form textarea{min-height:130px;resize:vertical}
.cca-contact-form :is(input,select,textarea):focus-visible{border-color:#408268;box-shadow:0 0 0 2px #40826825}
.cca-contact-form .cca-honeypot{position:absolute;left:-99999px;height:1px;width:1px;overflow:hidden}
.cca-contact-submit{justify-self:start;background:#173537;border:1px solid #173537;color:#fff;padding:14px 22px;font-size:13px;font-weight:700;cursor:pointer}
.cca-contact-submit:hover{background:#26544c}
.cca-contact-submit:disabled{opacity:.65;cursor:wait}
.cca-contact-error{color:#a23425!important;font-weight:600}
.cca-contact-error:empty{display:none}
.cca-contact-success{border:1px solid #c9dcd0;background:#f2f7f2;padding:20px}
.cca-contact-success h3{margin:0 0 8px}
@media(max-width:640px){
 .cca-legal-overlay{padding:0;align-items:stretch}
 .cca-legal-dialog,.cca-legal-dialog.contact-dialog{width:100%;max-height:100dvh;height:100dvh}
 .cca-legal-head{padding:20px;gap:12px}
 .cca-legal-head h2{font-size:21px}
 .cca-legal-scroll{padding:22px 20px}
 .cca-legal-footer{padding:12px 20px}
}
