/* Shared hover and keyboard-focus palette with light blue accents and stable spacing. */
:root{--site-hover-navy:#dce9f8;--site-hover-ink:#102d53}
:is(.d1-nav a,.ds-home-button,.ds-quick-tab,.elite-service-tabs a,.biz-tabs button,.site-locale a,.ds-language-switch a,.site-search-results a):is(:hover,:focus-visible){background:var(--site-hover-navy)!important;color:var(--site-hover-ink)!important;border-color:var(--site-hover-navy)!important;text-decoration:none}
:is(.blue-btn,.outline-btn,.btn-primary,.btn-secondary,.elite-btn,.d1-btn,.ds-option-btn,.resource-link,.shop-exact-card>a,.provider-feature>a,.service-link,.text-link,.resource-copy>a,.site-search-results a):is(:hover,:focus-visible){background:var(--site-hover-navy)!important;color:var(--site-hover-ink)!important;border-color:var(--site-hover-navy)!important;border-radius:10px;text-decoration:none}
:is(.resource-link,.shop-exact-card>a,.text-link){padding-inline:9px}
:is(.shop-exact-card,.provider-feature,.resource-item,.clean-card,.provider-card,.component-chip,.service-card,.recycling-card):is(:hover,:focus-within){background:var(--site-hover-navy)!important;border-color:var(--site-hover-navy)!important;box-shadow:0 14px 32px rgba(7,47,103,.06)!important;color:#102d53!important}
:is(.shop-exact-card,.provider-feature,.resource-item,.clean-card,.provider-card,.component-chip,.service-card,.recycling-card):is(:hover,:focus-within) :is(h1,h2,h3,h4,p,small,strong,span,b,li,.examples,.resource-copy,.resource-link,.provider-icons){color:#102d53!important}
:is(.shop-exact-card,.provider-feature,.resource-item,.clean-card,.provider-card,.component-chip,.service-card,.recycling-card):is(:hover,:focus-within) svg{stroke:#102d53!important;color:#102d53!important}
:is(.shop-exact-card,.provider-feature):is(:hover,:focus-within) .partner-full-logo{background:#fff;border-radius:10px;padding:5px;box-sizing:border-box}
:is(.shop-exact-card,.provider-feature):is(:hover,:focus-within) :is(.blue-btn,a:not(.partner-full-logo)){border-color:#102d53!important}
:is(.shop-exact-card,.provider-feature):is(:hover,:focus-within) .blue-btn:is(:hover,:focus-visible){background:#fff!important;color:#102d53!important}
/* Calculator surfaces contain controls and estimates; retain their white canvas. */
:is(.ds-service-card,.elite-calc,.biz-module,.biz-summary,.module,.result-box,.elite-result):is(:hover,:focus-within){background:#fff!important;border-color:var(--site-hover-navy)!important;box-shadow:0 10px 28px rgba(7,47,103,.05)!important;color:#13233a!important}
:is(.ds-service-card,.elite-calc,.biz-module,.biz-summary,.module,.result-box):is(:hover,:focus-within) :is(input,select,textarea){background:#fff!important;color:#13233a!important}
.elite-page .elite-service-tabs a:is(:hover,:focus-visible),.digital-storefronts-page .ds-quick-tab:is(:hover,:focus-visible){background:var(--site-hover-navy)!important;color:#102d53!important;border-color:var(--site-hover-navy)!important}
.digital-storefronts-page .ds-dropdown-trigger:is(:hover,:focus-visible),.digital-storefronts-page .ds-option-btn:is(:hover,:focus-visible){background:var(--site-hover-navy)!important;color:#102d53!important;border-color:var(--site-hover-navy)!important}
:is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--site-hover-navy);outline-offset:2px}

/* Softer hover fills and rounded tabs across both partner pages. */
.d1-header .d1-nav{gap:clamp(12px,1.3vw,22px)!important}
.d1-header .d1-nav a{padding-inline:10px!important;border-radius:14px!important}
:is(.d1-nav a,.ds-quick-tab,.elite-service-tabs a,.biz-tabs button,.site-search-results a):is(:hover,:focus-visible){border-radius:14px!important}
:is(.blue-btn,.outline-btn,.btn-primary,.btn-secondary,.elite-btn,.d1-btn,.ds-option-btn):is(:hover,:focus-visible){border-radius:999px!important}
/* Site-wide Digital Storefronts blue visual language */
html,body,button,input,select,textarea,optgroup,option,h1,h2,h3,h4,h5,h6,p,a,span,strong,small,label,legend,figcaption{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important}
body{position:relative;background-color:#f5f7fa}
.page-main,.home-exact,.biz-exact{position:relative;isolation:isolate;background-image:radial-gradient(circle at 92% 8%,rgba(0,102,204,.10),transparent 22%),radial-gradient(circle at 7% 72%,rgba(0,174,239,.08),transparent 24%)}
.page-hero,.biz-banner{position:relative;overflow:hidden}
.page-hero::after,.biz-banner::after{content:"";position:absolute;right:-80px;top:-95px;width:310px;height:310px;border:2px solid rgba(0,102,204,.20);border-radius:50%;box-shadow:0 0 0 28px rgba(0,174,239,.045);pointer-events:none}
.shop-exact-card,.provider-card,.clean-card,.resource-item{position:relative}
.shop-exact-card::after,.provider-card::after,.clean-card::after,.resource-item::after{content:"";position:absolute;left:0;bottom:0;width:0;height:3px;background:linear-gradient(90deg,#0066cc,#00aeef);transition:width .22s ease;pointer-events:none}
.shop-exact-card:hover::after,.provider-card:hover::after,.clean-card:hover::after,.resource-item:hover::after,.card-is-actionable:focus-visible::after{width:100%}
.card-is-actionable{cursor:pointer}
.card-is-actionable:hover{transform:translateY(-4px);box-shadow:0 15px 34px rgba(0,73,122,.16)!important}
.card-is-actionable:focus-visible{outline:3px solid #0a84ff;outline-offset:4px}

/* Supporting imagery and blue graphics for open content areas. */
.page-context-image{position:relative;margin:18px 0 0;border:1px solid rgba(0,102,204,.22);border-radius:16px;overflow:hidden;background:#eaf3ff;box-shadow:0 10px 28px rgba(0,73,122,.10)}
.page-context-image img{display:block;width:100%;height:190px;object-fit:cover;filter:saturate(.96) contrast(1.04)}
.page-context-image figcaption{position:absolute;left:0;right:0;bottom:0;padding:11px 15px;background:linear-gradient(90deg,rgba(4,30,55,.92),rgba(0,102,204,.82));color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.035em}
.business-context-image{margin-top:22px}.business-context-image img{height:170px;object-position:center 45%}
.services-context-image{margin-top:18px}.services-context-image img{height:180px;object-position:center 48%}
.recycling-context-image img{height:235px;object-position:center 52%}
.recycle-layout{position:relative;isolation:isolate}
.recycle-layout::before{content:"";position:absolute;z-index:-1;left:-90px;top:30px;width:270px;height:270px;border:2px solid rgba(0,102,204,.18);border-radius:50%;box-shadow:0 0 0 24px rgba(0,102,204,.045),0 0 0 50px rgba(0,174,239,.025)}
.recycle-layout::after{content:"";position:absolute;z-index:-1;right:-45px;bottom:-25px;width:190px;height:120px;background-image:radial-gradient(circle,#0066cc 1.4px,transparent 1.6px);background-size:14px 14px;opacity:.17;transform:rotate(-7deg)}
.lifecycle-copy .clean-card{border-left:4px solid #0066cc;background:linear-gradient(120deg,#fff 0%,#f4f9ff 72%,#eaf3ff 100%)}
@media(max-width:900px){.page-context-image img,.recycling-context-image img,.business-context-image img,.services-context-image img{height:180px}.recycle-layout::before,.recycle-layout::after{display:none}}
.recycling-corner-image{position:relative;width:min(48%,360px);margin:16px 0 0 auto;border:1px solid rgba(0,102,204,.24);border-radius:14px;overflow:hidden;background:#f3f8ff;box-shadow:0 9px 24px rgba(0,73,122,.10)}
.recycling-corner-image img{display:block;width:100%;height:150px;object-fit:cover;object-position:center 53%}
.recycling-corner-image figcaption{position:absolute;left:0;right:0;bottom:0;padding:9px 12px;background:linear-gradient(90deg,rgba(4,30,55,.90),rgba(0,102,204,.82));color:#fff;font-size:.67rem;font-weight:800}
@media(max-width:700px){.recycling-corner-image{width:100%}.recycling-corner-image img{height:180px}}
