/* COCECONS footer refinement v2.1 — narrowly scoped. Loads after v2 styles.
   Does not change navigation, forms, estimator, admin, API or data. */
.cocecons-footer{background:#f7f6f3;color:#232b25;padding:20px 0 36px;}
.cocecons-footer .cf-panel{background:#eeece6;border:1px solid #e7e4dc;border-radius:38px;padding:clamp(30px,4.3vw,62px) clamp(28px,4.5vw,68px) 24px;box-shadow:0 14px 45px rgba(31,39,32,.035)}
.cocecons-footer .cf-top{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(292px,.70fr);align-items:center;column-gap:clamp(34px,5vw,95px);padding-bottom:clamp(34px,4vw,57px)}
.cocecons-footer .cf-identity{min-width:0}
.cocecons-footer .cf-brand{display:inline-flex;align-items:center;gap:14px;max-width:100%}
.cocecons-footer .cf-brand img{display:block;width:58px;height:60px;object-fit:contain;flex:none}
.cocecons-footer .cf-brand-text{display:flex;flex-direction:column;gap:5px;min-width:0}
.cocecons-footer .cf-brand-text strong{font-size:clamp(22px,2.1vw,30px);line-height:1;letter-spacing:.004em;font-weight:850;color:#1f2923}
.cocecons-footer .cf-brand-text small{font-size:11px;line-height:1.4;letter-spacing:.025em;color:#8e7145;font-weight:730}
.cocecons-footer .cf-statement{font-size:clamp(34px,3.9vw,59px);letter-spacing:-.065em;line-height:1.12;font-weight:760;margin:32px 0 0;max-width:675px;text-wrap:balance}
.cocecons-footer .cf-cta-area{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0}
.cocecons-footer .cf-kicker{margin:0 0 7px;color:#7b7b71;font-size:14px;font-weight:650;line-height:1.5}
.cocecons-footer .cf-primary,.cocecons-footer .cf-secondary{display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:999px;min-height:65px;padding:9px 10px 9px 24px;font-size:15px;line-height:1.3;font-weight:720;transition:background .2s,color .2s,transform .2s,border-color .2s}
.cocecons-footer .cf-primary{background:#232d26;color:#fff;border:1px solid #232d26}
.cocecons-footer .cf-primary:hover{background:#374438;transform:translateY(-2px)}
.cocecons-footer .cf-arrow,.cocecons-footer .cf-up{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center}
.cocecons-footer .cf-arrow{background:#d5b77d;color:#242a22}
.cocecons-footer svg{width:19px;height:19px;stroke-width:1.8}
.cocecons-footer .cf-secondary{background:transparent;border:1px solid #d3cfc4;color:#303730;padding:15px 24px;min-height:58px;font-weight:670}
.cocecons-footer .cf-secondary:hover{border-color:#9f8965;background:#f8f6f0}
.cocecons-footer .cf-secondary svg{width:20px;height:20px;color:#917347}
.cocecons-footer .cf-middle{border-top:1px solid #d7d4cb;padding:34px 0 36px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;gap:clamp(28px,4vw,70px);align-items:start}
.cocecons-footer .cf-overline{display:block;margin-bottom:19px;font-size:11px;line-height:1.3;font-weight:780;letter-spacing:.08em;text-transform:uppercase;color:#8c8579}
.cocecons-footer .cf-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:14px;max-width:490px}
.cocecons-footer .cf-nav a,.cocecons-footer .cf-contact-links a{font-size:15px;line-height:1.45;font-weight:650;color:#384139;transition:color .2s}
.cocecons-footer .cf-nav a:hover,.cocecons-footer .cf-contact-links a:hover{color:#a0793e}
.cocecons-footer .cf-contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;overflow-wrap:anywhere}
.cocecons-footer .cf-socials{display:flex;gap:18px;flex-wrap:wrap;margin-top:17px}
.cocecons-footer .cf-socials a{display:inline-flex;gap:5px;color:#82775f;font-size:13px;font-weight:680}
.cocecons-footer .cf-socials a:hover{color:#202920}
.cocecons-footer .cf-to-top{display:inline-flex;align-items:center;gap:13px;font-size:13px;font-weight:700;color:#414a42;white-space:nowrap;margin-top:16px}
.cocecons-footer .cf-up{width:44px;height:44px;border:1px solid #cecbc1;background:#f5f3ed;transition:transform .2s,background .2s}
.cocecons-footer .cf-to-top:hover .cf-up{transform:translateY(-3px);background:#fff}
.cocecons-footer .cf-bottom{border-top:1px solid #d7d4cb;display:flex;align-items:center;justify-content:space-between;gap:15px 28px;flex-wrap:wrap;padding:22px 0 0;color:#757b73;font-size:12px;line-height:1.5}
.cocecons-footer .cf-legal{display:flex;gap:22px;flex-wrap:wrap}
.cocecons-footer .cf-legal a,.cocecons-footer .cf-legal button{font-size:12px;line-height:1.5;color:#59625a;font-weight:600;background:none;border:0;padding:0;text-align:left}
.cocecons-footer .cf-legal a:hover,.cocecons-footer .cf-legal button:hover{color:#a0793e}
.cocecons-footer .cf-location{white-space:nowrap}
@media (max-width:1020px){
 .cocecons-footer .cf-top{grid-template-columns:minmax(0,1fr) minmax(270px,.85fr);gap:25px}
 .cocecons-footer .cf-statement{font-size:clamp(33px,4.3vw,49px)}
 .cocecons-footer .cf-middle{grid-template-columns:1.2fr 1fr;gap:26px}
 .cocecons-footer .cf-to-top{grid-column:1/-1;justify-self:end;margin-top:0}
 .cocecons-footer .cf-bottom{justify-content:flex-start}
 .cocecons-footer .cf-location{margin-left:auto}
}
@media (max-width:720px){
 .cocecons-footer{padding:12px 0 110px}
 .cocecons-footer .cf-panel{border-radius:26px;padding:30px 25px 23px}
 .cocecons-footer .cf-top{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding-bottom:31px}
 .cocecons-footer .cf-brand img{width:48px;height:51px}
 .cocecons-footer .cf-brand-text strong{font-size:24px}
 .cocecons-footer .cf-brand-text small{font-size:10px}
 .cocecons-footer .cf-statement{font-size:clamp(32px,7.8vw,46px);margin-top:28px;line-height:1.14}
 .cocecons-footer .cf-kicker{font-size:13px;margin-bottom:3px}
 .cocecons-footer .cf-primary{min-height:62px}
 .cocecons-footer .cf-secondary{min-height:55px}
 .cocecons-footer .cf-middle{grid-template-columns:1fr;gap:27px;padding:28px 0}
 .cocecons-footer .cf-nav{row-gap:16px}
 .cocecons-footer .cf-to-top{grid-column:auto;justify-self:start;margin:0}
 .cocecons-footer .cf-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:22px;font-size:12px}
 .cocecons-footer .cf-legal{order:1;gap:12px 20px}
 .cocecons-footer .cf-location{order:2;margin:0}
}
@media (max-width:380px){
 .cocecons-footer .cf-panel{padding:26px 20px 20px}
 .cocecons-footer .cf-statement{font-size:31px}
 .cocecons-footer .cf-primary,.cocecons-footer .cf-secondary{font-size:14px}
 .cocecons-footer .cf-nav a,.cocecons-footer .cf-contact-links a{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.cocecons-footer *{transition:none!important}}
