/* One control system shared by every route, matching the current eCOLOR Canada site. */
:root{--ec-control-yellow:#FFDA00;--ec-control-ink:#111111;--ec-control-surface:#FFF9F1;--ec-control-border:2px solid var(--ec-control-ink);--ec-control-radius:9px;--ec-control-shadow:3px 3px 0 var(--ec-control-ink);--yellow:var(--ec-control-yellow);--ink:var(--ec-control-ink)}
/* CTA, form-action, filter and menu families. Ordinary links remain text links. */
.button,.filter,.menu-toggle{border:var(--ec-control-border);border-radius:var(--ec-control-radius);box-shadow:var(--ec-control-shadow);color:var(--ec-control-ink);font-family:Space,Arial,sans-serif;font-weight:700;transition:transform .15s,box-shadow .15s,background-color .15s}
.button.yellow,.menu-toggle{background:var(--ec-control-yellow)}
.button.white,.filter{background:var(--ec-control-surface)}
.filter.active,.filter[aria-pressed="true"]{background:var(--ec-control-yellow);box-shadow:var(--ec-control-shadow)}
.filter[aria-pressed="true"]{outline:2px solid var(--ec-control-ink);outline-offset:3px}
:is(.button,.filter,.menu-toggle):not(:disabled):not([aria-disabled="true"]):hover{box-shadow:2px 2px 0 var(--ec-control-ink);transform:translate(1px,1px)}
:is(.button,.filter,.menu-toggle):not(:disabled):not([aria-disabled="true"]):active{box-shadow:none;transform:translate(3px,3px)}
:is(.button,.filter,.menu-toggle):focus-visible{outline:3px solid var(--ec-control-ink);outline-offset:4px;background:var(--ec-control-yellow)}
.closing .button:focus-visible{outline-color:white}
:is(.button,.filter,.menu-toggle):is(:disabled,[aria-disabled="true"]),:is(.button,.filter,.menu-toggle):is(:disabled,[aria-disabled="true"]):hover{box-shadow:none;transform:none;background:#E8E8E4;color:#646464;cursor:not-allowed;opacity:1}
.filters{gap:15px;row-gap:16px}.button>span[aria-hidden="true"],.card-arrow,.round-arrow{font-family:Space,Arial,sans-serif;font-weight:700}
.menu-toggle{min-width:44px;min-height:44px}.menu-toggle[aria-expanded="true"]{background:var(--ec-control-yellow);box-shadow:var(--ec-control-shadow)}
.desktop-nav a{padding:9px 8px;border-radius:6px}.desktop-nav a[aria-current]{background:var(--ec-control-yellow);box-shadow:inset 0 0 0 1.5px var(--ec-control-ink),var(--ec-control-shadow)}.desktop-nav a[aria-current]:after{display:none}
.mobile-nav a[aria-current]{background:var(--ec-control-surface);border-radius:6px;box-shadow:inset 0 0 0 1.5px var(--ec-control-ink),var(--ec-control-shadow);padding-left:12px;padding-right:12px;margin:4px 0}
.card-arrow,.work-caption .round-arrow{box-sizing:border-box;width:28px;height:28px;display:grid;place-items:center;border:2px solid var(--ec-control-ink);border-radius:50%;background:var(--ec-control-yellow);box-shadow:2px 2px 0 var(--ec-control-ink);font-size:20px;line-height:1;transform:none}
.work-caption .round-arrow{width:34px;height:34px;font-size:22px}.service-card:hover .card-arrow,.work-card a:hover .round-arrow{background:var(--ec-control-yellow);transform:none;box-shadow:2px 2px 0 var(--ec-control-ink)}
input,select,textarea{border:var(--ec-control-border);border-radius:var(--ec-control-radius);background:var(--ec-control-surface)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ec-control-ink);outline-offset:3px;box-shadow:var(--ec-control-shadow);background:var(--ec-control-yellow)}
.checkbox input{accent-color:var(--ec-control-yellow)}
/* Exact Canada disclosure artwork: plus closed, minus in a yellow square open. */
.disclosure-icon{box-sizing:border-box;display:block;position:relative;flex:none;width:24px;height:24px;min-width:24px;border:1.5px solid var(--ec-control-ink);border-radius:4px;background:#fff url('/assets/icons/disclosure-plus.svg') center/18px 18px no-repeat;box-shadow:none;transform:none!important}
details[open]>summary>.disclosure-icon{background:var(--ec-control-yellow) url('/assets/icons/disclosure-minus.svg') center/18px 18px no-repeat;box-shadow:2px 2px 0 var(--ec-control-ink)}
.faq-list summary>.disclosure-icon{font-size:0;line-height:0;transform:none!important}
.faq-list details{border:0;border-bottom:1px solid #d9d7d2;border-radius:0;background:transparent;margin:0}
.faq-list details[open]{border:var(--ec-control-border);border-radius:var(--ec-control-radius);background:var(--ec-control-surface);margin:6px 0}
.faq-list summary{min-height:54px;align-items:center;padding:17px 12px}
.faq-list details[open]>summary{border-bottom:0;background:transparent}
summary:focus-visible{outline:2px solid var(--ec-control-ink);outline-offset:3px;border-radius:4px;background:var(--ec-control-yellow)}
.footer-column.footer-group{display:block;min-width:0}
.footer-group>summary{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;list-style:none;pointer-events:none;margin-bottom:13px;gap:16px}
.footer-group>summary::-webkit-details-marker{display:none}.footer-group>summary>.disclosure-icon{display:none}
.footer-group-body{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-group-body>a:not(.text-link):hover{text-decoration:underline;text-underline-offset:4px}.footer-group-body>p{font-size:13px}.footer-group-body .text-link{font-size:16px}.footer-group-body .draft-tag{font-size:8px;margin-top:6px}
@media(max-width:600px){.footer-main{display:block}.footer-brand{margin-bottom:22px}.footer-column.footer-group{border:0;border-bottom:1px solid var(--ec-control-ink);padding:0;display:block}.footer-group>summary{pointer-events:auto;min-height:54px;padding:14px 0;margin:0;font-size:14px;cursor:pointer}.footer-group>summary>.disclosure-icon{display:block}.footer-group-body{padding:0 0 18px;gap:11px}.footer-column.footer-group:not([open])>.footer-group-body{display:none}.footer-column.footer-group:last-child{padding-top:0}.footer-group-body a{min-height:24px;display:flex;align-items:center}.footer-bottom{border-top:0}.review-actions .button,.filter{min-height:44px}.button,.menu-toggle{border-radius:9px}.card-arrow{width:24px;height:24px;font-size:17px}}
.mobile-nav{background:var(--ec-control-surface)}.mobile-nav a[aria-current]{background:var(--ec-control-yellow)}
.service-card{border:var(--ec-control-border);border-radius:10px;box-shadow:var(--ec-control-shadow)}.service-card:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--ec-control-ink)}.service-card:active{transform:translate(3px,3px);box-shadow:none}
.button.white:focus-visible{background:var(--ec-control-surface)}
.button{font-size:15px}
.more-link,.more-link.blue{border:var(--ec-control-border);border-radius:9px;box-shadow:var(--ec-control-shadow);background:var(--ec-control-surface);color:var(--ec-control-ink);transition:transform .15s,box-shadow .15s}
.more-link:hover{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--ec-control-ink)}.more-link:active{transform:translate(3px,3px);box-shadow:none}
.more-link>b{width:32px;height:32px;display:grid;place-items:center;border:2px solid var(--ec-control-ink);border-radius:50%;background:var(--ec-control-yellow);box-shadow:2px 2px 0 var(--ec-control-ink);font-family:Space,Arial,sans-serif;font-size:22px;line-height:1}
summary:focus-visible{outline-width:3px}
:is(.button,.filter,.menu-toggle):is(:disabled,[aria-disabled="true"]){border-color:#999}
@media(max-width:600px){.hero-actions .button{font-size:13px}.review-actions .button{font-size:13px}.contact-form-panel form>.button,.closing .button{font-size:14px}}
