/* Shared CalbisPress public footer. Scoped to preserve editorial interfaces. */
footer.cp-footer{display:block;clear:both;width:100%;max-width:none;margin:0;padding:0;border:0;border-top:1px solid #d9e6e8;background:#fcfcfa;color:#153e50;font:14px/1.6 Arial,Helvetica,sans-serif;text-align:left;letter-spacing:normal}
.cp-footer,.cp-footer *{box-sizing:border-box}
.cp-footer .cp-wrap{display:block;width:min(100%,1320px);max-width:1320px;margin:0 auto;padding:0 40px}
.cp-footer a{color:#176275;text-decoration:none;overflow-wrap:anywhere}
.cp-footer a:hover{text-decoration:underline;text-underline-offset:4px;color:#075473}
.cp-footer a:focus-visible{outline:3px solid #bd8d43;outline-offset:5px;border-radius:2px}
.cp-footer .cp-newsletter{margin:0;padding:40px 0;background:#103d50;color:#fff;border:0}
.cp-footer .cp-newsletter-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}
.cp-footer .cp-kicker{margin:0 0 10px;color:#8ed9dd;font:bold 10px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.cp-footer .cp-newsletter h2{margin:0 0 10px;color:#fff;font:normal clamp(28px,3vw,36px)/1.15 Georgia,serif;letter-spacing:-.02em}
.cp-footer .cp-newsletter p.cp-newsletter-copy{max-width:600px;margin:0;color:#d8e9ed;font:14px/1.65 Arial,Helvetica,sans-serif}
.cp-footer a.cp-subscribe{display:inline-flex;align-items:center;justify-content:center;gap:20px;flex-shrink:0;min-height:50px;margin:0;padding:14px 22px;border:1px solid #a9e0df;border-radius:4px;background:#bfeae7;color:#103d50;font:bold 13px/1.4 Arial,Helvetica,sans-serif;text-decoration:none;text-align:center}
.cp-footer a.cp-subscribe:hover{background:#e2f7f3;color:#103d50}
.cp-footer .cp-grid{display:grid;grid-template-columns:1.35fr 1fr 1.15fr 1fr;gap:40px;padding-top:40px;padding-bottom:32px}
.cp-footer .cp-brand{display:block;margin:0;padding:0}
.cp-footer .cp-logo-link{display:inline-block;padding:0;margin:0}
.cp-footer img.cp-logo{display:block;width:210px;height:auto;max-width:100%;margin:0;border:0;border-radius:0}
.cp-footer .cp-tagline{margin:12px 0 6px;font:normal 17px/1.45 Georgia,serif;color:#153e50}
.cp-footer .cp-brand-note{display:block;margin:0;color:#56707c;font:12px/1.6 Arial,Helvetica,sans-serif}
.cp-footer a.cp-social{display:inline-flex;align-items:center;gap:9px;min-height:40px;margin-top:9px;font:600 13px/1.5 Arial,Helvetica,sans-serif}
.cp-footer .cp-social svg{display:block;flex-shrink:0;width:17px;height:17px;fill:currentColor}
.cp-footer nav.cp-nav,.cp-footer .cp-contact{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;margin:0;padding:0;border:0;background:transparent}
.cp-footer h2.cp-heading{margin:6px 0 12px;padding:0;color:#153e50;font:bold 13px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.02em;text-transform:none}
.cp-footer .cp-nav a,.cp-footer .cp-contact>a{display:block;min-height:36px;margin:0;padding:7px 0;font:14px/1.5 Arial,Helvetica,sans-serif}
.cp-footer .cp-contact p{margin:4px 0 8px;padding:0;color:#56707c;font:13px/1.6 Arial,Helvetica,sans-serif}
.cp-footer .cp-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-top:18px;padding-bottom:20px;border-top:1px solid #d9e6e8}
.cp-footer .cp-bottom p{margin:0;color:#56707c;font:11px/1.65 Arial,Helvetica,sans-serif}
.cp-footer nav.cp-legal{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px 20px;padding:0;margin:0}
.cp-footer .cp-legal a{display:inline-block;padding:5px 0;font:12px/1.5 Arial,Helvetica,sans-serif}
.cp-footer .cp-platform{white-space:nowrap}
@media(max-width:960px){.cp-footer .cp-wrap{padding-left:28px;padding-right:28px}.cp-footer .cp-grid{grid-template-columns:1fr 1fr;gap:28px 40px}.cp-footer .cp-newsletter-inner{align-items:flex-start;flex-direction:column;gap:22px}.cp-footer .cp-bottom{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:520px){.cp-footer .cp-wrap{padding-left:22px;padding-right:22px}.cp-footer .cp-newsletter{padding:30px 0}.cp-footer .cp-newsletter h2{font-size:29px}.cp-footer a.cp-subscribe{width:100%;gap:12px;padding:14px 12px}.cp-footer .cp-grid{grid-template-columns:1fr 1fr;gap:26px 18px;padding-top:30px;padding-bottom:26px}.cp-footer .cp-brand,.cp-footer .cp-contact{grid-column:1/-1}.cp-footer img.cp-logo{width:190px}.cp-footer .cp-nav a,.cp-footer .cp-contact>a{font-size:13px;min-height:44px;padding:10px 0}.cp-footer h2.cp-heading{margin:0 0 8px}.cp-footer .cp-legal a{min-height:40px;padding:10px 0}.cp-footer .cp-platform{white-space:normal}}
