/* R2 Recycling — approved Locations design */
.page-hero--compact{padding:160px 0 80px}.page-hero--compact .breadcrumb{margin-bottom:28px}.page-hero--compact .page-hero__title{font-size:clamp(40px,4.6vw,68px);margin-bottom:20px}.page-hero--compact .page-hero__text{margin-bottom:32px}
.locations{padding:100px 0}.locations .container{display:grid;gap:96px}.location{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;align-items:stretch}.location--flip .location__map{order:2}.location__map{position:relative;min-height:320px;background:var(--bg-light);overflow:hidden}.location__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.05);transition:filter .6s ease}.location__map:hover iframe{filter:grayscale(0)}.location__map-tag{position:absolute;z-index:2;left:20px;top:20px;background:var(--white);padding:10px 14px;font:500 11px var(--font-mono);letter-spacing:.08em;pointer-events:none}.location__map-notice{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:36px;color:var(--body);background:var(--bg-light);line-height:1.6}.location__info{display:flex;flex-direction:column;justify-content:center}.location__info .h2{font-size:clamp(28px,2.4vw,36px);margin-bottom:12px}.location__title-link{color:inherit}.location__title-link:hover{color:var(--green)}.location__info .lead{max-width:500px;font-size:15px;line-height:1.6}.location__editor{margin-top:24px;font-size:15px;line-height:1.65;max-width:540px}.location__editor.prose h2{font-size:24px;margin-top:36px;padding-top:20px}.location__editor.prose h3{font-size:19px;margin-top:28px}.location__list{list-style:none;margin:24px 0;padding:0;border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 1fr;column-gap:28px}.location__list li{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid var(--line);align-content:start}.location__list li:last-child{grid-column:1/-1}.location__label{font:500 11px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.location__value{font:500 15px/1.45 var(--font-display);letter-spacing:-.01em;color:var(--ink)}a.location__value:hover{color:var(--green)}.location__buttons{display:flex;flex-wrap:wrap;gap:12px}.btn--outline{border-color:var(--ink);color:var(--ink)}.btn--outline:hover{background:var(--ink);color:var(--white)}
.offered__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 64px;align-items:end;margin-bottom:48px}.offered__head .lead{max-width:440px}.offered__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.offered__item{display:grid;grid-template-rows:auto 1fr;gap:12px;padding:28px 26px 30px;background:var(--white);color:var(--ink);border-radius:var(--radius);transition:background .35s,color .35s,transform .5s var(--ease)}.offered__title{display:flex;justify-content:space-between;gap:12px;font:600 18px/1.25 var(--font-display);letter-spacing:-.02em}.offered__arrow{flex:none;color:var(--green);transition:transform .4s var(--ease),color .35s}.offered__text{font-size:14px;line-height:1.55;color:var(--body);transition:color .35s}.offered__item:hover{background:var(--green);color:var(--white);transform:translateY(-4px)}.offered__item:hover .offered__text{color:rgba(255,255,255,.85)}.offered__item:hover .offered__arrow{color:var(--white);transform:rotate(-45deg)}
.coverage .lead{color:#B4B8B3}.coverage__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:96px;align-items:end}
@media(max-width:1080px){.page-hero--compact{padding:130px 0 72px}.locations .container{gap:88px}.location,.coverage__grid{grid-template-columns:minmax(0,1fr);gap:48px}.location--flip .location__map{order:0}.offered__head{grid-template-columns:minmax(0,1fr)}.offered__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location__map{aspect-ratio:16/9;max-height:340px}}
@media(max-width:680px){.page-hero--compact{padding:110px 0 56px}.page-hero--compact .page-hero__title{font-size:clamp(36px,10vw,48px)}.location__map{aspect-ratio:4/3}.location__list{grid-template-columns:minmax(0,1fr)}.location__value{font-size:16px}.location__buttons .btn{flex:1;justify-content:center}.coverage__grid{gap:24px}.offered__grid{grid-template-columns:minmax(0,1fr);gap:8px}.offered__item{padding:22px 20px 24px}}
