/* Shared eCOLOR control language. Baseline: eCOLOR Canada final design-system.
   Full faces, 2px black borders, 3px right/bottom hard shadows, 9px corners. */
:root{--ec-yellow:#FFDA00;--ec-dark:#111111;--ec-surface:#FFF9F1;--ec-control-border:2px solid var(--ec-dark);--ec-control-radius:9px;--ec-control-shadow:3px 3px 0 var(--ec-dark);--ec-control-hover-shadow:2px 2px 0 var(--ec-dark)}
.btn,.footer .btn,.menu-toggle{border:var(--ec-control-border);border-radius:var(--ec-control-radius);box-shadow:var(--ec-control-shadow);background-clip:border-box;color:var(--ec-dark);font-weight:700;line-height:1.3;min-height:44px;text-decoration:none;transition:transform .15s,box-shadow .15s}
.btn.yellow,.footer .btn.yellow,.menu-toggle{background:var(--ec-yellow)}
.btn.white,.footer .btn.white{background:var(--ec-surface)}
.btn:not(:disabled):not([aria-disabled=true]):hover,.menu-toggle:not(:disabled):hover{transform:translate(1px,1px);box-shadow:var(--ec-control-hover-shadow)}
.btn:not(:disabled):not([aria-disabled=true]):active,.menu-toggle:not(:disabled):active{transform:translate(3px,3px);box-shadow:none}
.btn:disabled,.btn[aria-disabled=true],.menu-toggle:disabled{background:#E8E8E4;border-color:#93958f;color:#595c58;box-shadow:none;transform:none;cursor:not-allowed}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--ec-dark);outline-offset:4px}
.footer :is(a,button):focus-visible{outline-color:var(--ec-yellow)}
.btn .action-arrow{display:block;flex:0 0 20px;width:20px;height:20px;font-size:0;line-height:1}
.btn .action-arrow:before{content:'';display:block;width:100%;height:100%;background:currentColor;mask:url('/assets/icons/arrow-right.svg') center/contain no-repeat;-webkit-mask:url('/assets/icons/arrow-right.svg') center/contain no-repeat}
.btn .arrow-down:before{mask-image:url('/assets/icons/arrow-down.svg');-webkit-mask-image:url('/assets/icons/arrow-down.svg')}
.btn .arrow-left:before{mask-image:url('/assets/icons/arrow-left.svg');-webkit-mask-image:url('/assets/icons/arrow-left.svg')}
.edit-brief{margin:14px 0 0 12px;font-size:12px;padding:11px 15px}
.circle-arrow{font-size:0;border:var(--ec-control-border);background:var(--ec-surface);box-shadow:2px 2px 0 var(--ec-dark)}
.circle-arrow:before{content:'';width:17px;height:17px;background:var(--ec-dark);mask:url('/assets/icons/arrow-right.svg') center/contain no-repeat;-webkit-mask:url('/assets/icons/arrow-right.svg') center/contain no-repeat}
.faq-list summary>span{position:relative;display:block;flex:0 0 24px;width:24px;height:24px;box-sizing:border-box;border:1.5px solid var(--ec-dark);border-radius:4px;background:white url('/assets/icons/disclosure-plus.svg') center/18px 18px no-repeat;font-size:0;line-height:1;box-shadow:none;transform:none;transition:none}
.faq-list details[open] summary>span{background:var(--ec-yellow) url('/assets/icons/disclosure-minus.svg') center/18px 18px no-repeat;box-shadow:2px 2px 0 var(--ec-dark);transform:none}
.faq-list details[open]{background:var(--ec-surface)}
.form-grid input,.form-grid select,.form-grid textarea{border:1.5px solid #92938e;border-radius:8px;color:var(--ec-dark)}
.form-grid :is(input,select,textarea):focus{border-color:var(--ec-dark);background:var(--ec-yellow);box-shadow:var(--ec-control-shadow)}
.form-grid select.has-selection{border:var(--ec-control-border);background:var(--ec-yellow);box-shadow:var(--ec-control-shadow);font-weight:700}
.form-grid option:checked{background:var(--ec-yellow);color:var(--ec-dark)}
.mobile-nav a:focus-visible,.mobile-nav a[aria-current=page]{background:var(--ec-yellow);border:var(--ec-control-border);border-radius:var(--ec-control-radius);box-shadow:var(--ec-control-shadow);padding-inline:12px}
@media(max-width:640px){.menu-toggle{width:44px;height:44px}.btn .action-arrow{width:18px;height:18px;flex-basis:18px}.edit-brief{margin-left:0}.hero-actions .btn{border:var(--ec-control-border);border-radius:var(--ec-control-radius);min-height:44px}.circle-arrow:before{width:16px;height:16px}}
.action-arrow{display:block;flex:0 0 20px;width:20px;height:20px;font-size:0;line-height:1}
.action-arrow:before{content:'';display:block;width:100%;height:100%;background:currentColor;mask:url('/assets/icons/arrow-right.svg') center/contain no-repeat;-webkit-mask:url('/assets/icons/arrow-right.svg') center/contain no-repeat}
.circle-arrow{background:var(--ec-yellow)}
.desktop-nav a[aria-current=page]{background:var(--ec-yellow);border:var(--ec-control-border);border-radius:var(--ec-control-radius);box-shadow:var(--ec-control-shadow);padding:7px 10px;text-decoration:none}
.footer nav a[aria-current=page]{color:var(--ec-yellow)}
.case-card-heading>span{font-size:0;display:block;width:20px;height:20px;background:var(--ec-dark);mask:url('/assets/icons/arrow-right.svg') center/contain no-repeat;-webkit-mask:url('/assets/icons/arrow-right.svg') center/contain no-repeat}
.circle-arrow{width:26px;height:26px}
.service-card{border:var(--ec-control-border);border-radius:var(--ec-control-radius);box-shadow:var(--ec-control-shadow)}
.service-card:hover{transform:translate(1px,1px);box-shadow:var(--ec-control-hover-shadow)}
.service-card:active{transform:translate(3px,3px);box-shadow:none}
.case-image{box-shadow:var(--ec-control-shadow)}
.case-card:hover .case-image{transform:translate(1px,1px);box-shadow:var(--ec-control-hover-shadow)}
.case-card:active .case-image{transform:translate(3px,3px);box-shadow:none}
.faq-list details{border:0;border-bottom:1px solid var(--ec-dark);border-radius:0;background:transparent;box-shadow:none}
.faq-list details[open]{border:var(--ec-control-border);border-radius:var(--ec-control-radius);background:var(--ec-surface);box-shadow:var(--ec-control-shadow)}
.footer .btn:disabled,.footer .btn[aria-disabled=true]{background:#E8E8E4;border-color:#93958f;color:#595c58;box-shadow:none;transform:none;cursor:not-allowed}
@media(max-width:640px){.circle-arrow{width:22px;height:22px}.circle-arrow:before{width:14px;height:14px}}
.desktop-nav a[aria-current=location]{background:var(--ec-yellow);border:var(--ec-control-border);border-radius:var(--ec-control-radius);box-shadow:var(--ec-control-shadow);padding:7px 10px;text-decoration:none}
.mobile-nav a[aria-current=location]{background:var(--ec-yellow);border:var(--ec-control-border);border-radius:var(--ec-control-radius);box-shadow:var(--ec-control-shadow);padding-inline:12px}
.case-card-heading>span{width:26px;height:26px;flex:0 0 26px;border:var(--ec-control-border);border-radius:50%;background:var(--ec-yellow);box-shadow:2px 2px 0 var(--ec-dark);mask:none;-webkit-mask:none;display:grid;place-items:center}
.case-card-heading>span:before{content:'';width:17px;height:17px;background:var(--ec-dark);mask:url('/assets/icons/arrow-right.svg') center/contain no-repeat;-webkit-mask:url('/assets/icons/arrow-right.svg') center/contain no-repeat}
@media(max-width:640px){.case-card-heading>span{width:22px;height:22px;flex-basis:22px}.case-card-heading>span:before{width:14px;height:14px}}
/* Canada UI rhythm: 15px base, deliberate compact header/phone exceptions. */
.btn,.footer .btn,.hero-actions .btn,.submit,.edit-brief,.download-brief{font-size:15px}
.nav-cta{font-size:14px}
@media(max-width:1200px){.nav-cta{font-size:13px}.hero-actions .btn,.footer .btn{font-size:14px}}
@media(max-width:640px){.btn,.footer .btn,.submit{font-size:14px}.hero-actions .btn,.edit-brief,.download-brief{font-size:13px}}
.service-hero.blue .btn:focus-visible{outline-color:#fff}
.hero-footnote .action-arrow{display:inline-block;vertical-align:middle;width:14px;height:14px;margin-right:6px;flex:none}

/* Approved original eCOLOR + magenta Agency lockup, artwork unchanged. */
.header .brand img{display:block;width:300px;height:auto;max-height:none;aspect-ratio:402/80;object-fit:contain}
.footer .footer-brand{width:max-content;max-width:100%;background:var(--paper);padding:8px 10px;border-radius:6px}
.footer .footer-brand img{display:block;width:300px;max-width:100%;height:auto;max-height:none;aspect-ratio:402/80;object-fit:contain;background:transparent;padding:0}
@media(max-width:1200px){.header .brand img{width:245px}}
@media(max-width:960px){.header .brand img{width:270px}}
@media(max-width:640px){.header .brand img{width:min(300px,calc(100vw - 105px))}}
