@font-face {
  font-family: "Barlow Condensed";
  src: url("assets/fonts/barlow-condensed-700.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Barlow Condensed";
  src: url("assets/fonts/barlow-condensed-800.ttf") format("truetype");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}
@font-face {
  font-family: "Barlow Condensed";
  src: url("assets/fonts/barlow-condensed-900.ttf") format("truetype");
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter-400.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter-500.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter-600.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter-700.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --red: #c70f21;
  --red-dark: #9f0b19;
  --ink: #1a1a1a;
  --muted: #646464;
  --line: #dedede;
  --surface: #f5f5f5;
  --surface-2: #fafafa;
  --dark: #18181b;
  --green: #3a8d58;
  --white: #fff;
  --display: "Barlow Condensed", Arial Narrow, sans-serif;
  --body: "Inter", Arial, sans-serif;
  --container: 1248px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: var(--body); font-weight: 400; line-height: 1.5; }
body, input, select, textarea, button { font-family: var(--body); }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
p { margin: 0 0 1rem; text-align: justify; text-justify: inter-word; }
h1, h2, h3, h4, .button, .eyebrow, .site-nav { font-family: var(--display); }
h1, h2, h3, h4 { margin: 0; font-weight: 700; line-height: 1; text-align: left; }
h2 { font-size: clamp(2.5rem, 4.7vw, 3.75rem); letter-spacing: normal; text-transform: uppercase; }
h3 { font-size: 1.5rem; line-height: 1.34; }
ul, ol { margin-top: 0; }
:focus-visible { outline: 3px solid #f29aaa; outline-offset: 3px; }
iframe:focus-visible { outline: 4px solid #d71932; outline-offset: 3px; }
iframe:focus {
  outline: 4px solid #d71932;
  outline-offset: 3px;
  box-shadow: 0 0 0 4px rgba(215, 25, 50, .28);
}

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; padding: 10px 16px; color: white; background: var(--ink); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.container { width: min(1280px, 100%); margin-inline: auto; padding-inline: 16px; }
.section { padding: 68px 0; }

.site-header { position: fixed; top: 0; right: 0; left: 0; z-index: 100; height: 88px; background: rgba(255,255,255,.98); border-bottom: 1px solid #e5e5e5; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.header-inner { width: min(1480px, calc(100% - 36px)); height: 100%; margin: auto; display: grid; grid-template-columns: 122px 1fr auto; align-items: center; gap: 18px; }
.logo-link { align-self: stretch; display: flex; align-items: center; }
.logo-link img { width: 98px; height: 82px; object-fit: contain; }
.site-nav { display: flex; align-items: center; justify-content: center; gap: clamp(10px, 1.35vw, 20px); font-size: clamp(.78rem, .82vw, .94rem); font-weight: 500; letter-spacing: .025em; text-transform: uppercase; line-height: 1.5; }
.site-nav > a,
.site-nav > details > summary { font-size: 1rem; }
.site-nav a, .site-nav summary { transition: color .2s ease; cursor: pointer; }
.site-nav a:hover, .site-nav summary:hover { color: var(--red); }
.nav-menu { position: relative; }
.nav-menu summary { list-style: none; }
.nav-menu summary::-webkit-details-marker { display: none; }
.nav-menu summary::after { content: "⌄"; margin-left: 5px; font-family: var(--body); }
.nav-dropdown { position: absolute; top: calc(100% + 18px); left: -16px; width: 250px; padding: 10px; background: linear-gradient(145deg, #fff 0%, #fffafb 58%, #f5e7e9 100%); border: 1px solid rgba(199,15,33,.28); border-top: 4px solid var(--red); border-radius: 0 0 10px 10px; box-shadow: 0 22px 48px rgba(49,9,16,.18), 0 0 0 4px rgba(255,255,255,.72); }
.nav-dropdown-wide { width: 300px; }
.nav-dropdown a { display: block; padding: 11px 12px; border-radius: 6px; }
.nav-dropdown a + a { border-top: 1px solid rgba(199,15,33,.09); }
.nav-dropdown a:hover { color: white; background: linear-gradient(135deg, #db1c34, #a40b1b); }
.header-actions { display: flex; align-items: center; gap: 16px; }
.header-phones { display: grid; font-size: .76rem; line-height: 1.45; color: #5c5c5c; text-align: right; }
.header-phones span { color: var(--ink); font-weight: 700; }
.menu-toggle { display: none; border: 0; background: transparent; padding: 10px; }
.menu-toggle > span:not(.sr-only) { display: block; width: 26px; height: 2px; margin: 5px; background: var(--ink); }

.button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 32px; border: 1px solid transparent; border-radius: 0; font-size: 1rem; font-weight: 500; letter-spacing: .05em; line-height: 1.5; text-align: center; text-transform: uppercase; cursor: pointer; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: white; background: linear-gradient(135deg, #e5223a 0%, var(--red) 54%, #980a18 100%); box-shadow: 0 10px 22px rgba(151,10,24,.16); }
.button-primary:hover { background: linear-gradient(135deg, #ca1027, var(--red-dark)); }
.button-dark { color: white; background: linear-gradient(135deg, #35353a 0%, #151517 70%, #09090a 100%); }
.button-light { color: var(--ink); background: white; }
.button-outline { color: var(--ink); background: transparent; border-color: #cfcfcf; }
.button-outline-light { color: white; background: transparent; border-color: rgba(255,255,255,.42); }
.button-small { min-height: 32px; padding: 4px 20px; font-size: .875rem; }
.button-wide { width: 100%; }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 30px; }

.hero { min-height: 100vh; position: relative; display: flex; align-items: center; overflow: hidden; padding-top: 88px; color: white; background: #171717; }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 54%; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,8,9,.78) 0%, rgba(8,8,9,.7) 46%, rgba(8,8,9,.88) 100%); }
.hero-inner { position: relative; z-index: 2; display: flex; justify-content: center; padding-top: 56px; padding-bottom: 56px; text-align: center; }
.hero-copy { width: min(900px, 100%); max-width: 900px; }
.hero-copy .eyebrow { margin-inline: auto; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; width: fit-content; margin-bottom: 22px; padding: 4px 16px; color: white; background: var(--red); font-size: .75rem; font-weight: 700; letter-spacing: .1em; line-height: 1.34; text-align: left; text-transform: uppercase; }
.eyebrow-dark { color: white; }
.hero h1 { max-width: 760px; margin-inline: auto; color: white; font-size: clamp(3.25rem, 5.625vw, 4.5rem); font-weight: 700; line-height: 1.18; letter-spacing: normal; text-align: center; text-transform: none; }
.hero h1 span { display: block; color: #e00029; }
.hero-copy > p { max-width: 760px; margin: 22px auto 0; color: #ededf0; font-size: 1.2rem; line-height: 1.6; text-align: center; }
.hero-action-row { display: grid; gap: 18px; align-items: start; max-width: 760px; margin-inline: auto; }
.hero .button-row { justify-content: center; }
.hero .button { min-height: 74px; padding: 24px 32px; }
.hero-membership { width: min(540px, 100%); min-height: 88px; display: flex; gap: 18px; align-items: center; margin-inline: auto; padding: 11px 22px 11px 14px; border-left: 8px solid var(--red); background: white; box-shadow: 0 18px 46px rgba(0,0,0,.28); text-align: left; }
.hero-membership img { width: 108px; height: 66px; object-fit: contain; }
.hero-membership div { display: grid; gap: 4px; }
.hero-membership span { color: var(--red); font-family: var(--display); font-size: .75rem; font-weight: 700; letter-spacing: .1em; line-height: 1.2; text-transform: uppercase; }
.hero-membership strong { color: var(--ink); font-family: var(--display); font-size: 1.25rem; font-weight: 700; line-height: 1.08; text-transform: uppercase; }

.trust-strip { padding: 26px 0; border-bottom: 1px solid var(--line); background: white; }
.trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.trust-grid article { display: flex; gap: 18px; align-items: center; padding-right: 28px; border-right: 1px solid var(--line); }
.trust-grid article:last-child { border-right: 0; }
.trust-membership img { width: 92px; height: 54px; object-fit: contain; }
.line-icon { width: 48px; height: 48px; flex: 0 0 auto; display: grid; place-items: center; color: var(--red); border: 2px solid var(--red); border-radius: 50%; font-size: 1.35rem; }
.trust-grid h3 { margin-bottom: 4px; font-size: 1.125rem; font-weight: 700; letter-spacing: .025em; line-height: 1.55; text-transform: uppercase; }
.trust-grid p { margin: 0; color: var(--muted); font-size: .92rem; }

.price-section { background: #fafafa; border-top: 1px solid var(--line); }
.price-layout { display: grid; grid-template-columns: .92fr 1.08fr; gap: 60px; align-items: start; }
.section-intro h2 { max-width: 580px; margin-bottom: 24px; }
.section-intro > p { color: var(--muted); font-size: 1rem; }
.notice { padding: 20px 22px; border-left: 4px solid var(--red); background: white; box-shadow: 0 10px 28px rgba(0,0,0,.05); }
.notice strong { color: var(--ink); text-transform: uppercase; }
.text-link { display: inline-flex; gap: 8px; margin-top: 24px; color: var(--red); font-family: var(--display); font-size: 1.1rem; font-weight: 700; text-transform: uppercase; }
.price-list { border-top: 1px solid #cfcfcf; }
.price-list article { display: grid; grid-template-columns: 66px 1fr; gap: 18px; padding: 24px 0; border-bottom: 1px solid #cfcfcf; }
.price-list article > span { color: var(--red); font-family: var(--display); font-size: 1.25rem; font-weight: 700; }
.price-list h3 { margin-bottom: 8px; font-size: 1.5rem; font-weight: 700; text-transform: uppercase; }
.price-list p { margin: 0; color: var(--muted); }

.estimate-section { position: relative; overflow: hidden; color: var(--ink); background: #68111c; }
.estimate-section::before { content: ""; position: absolute; inset: 0; background: url("assets/commercial-scrap-v2.jpg") center / cover no-repeat; filter: saturate(1.08) contrast(1.02); transform: scale(1.01); }
.estimate-section::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, rgba(18,12,14,.82), rgba(104,17,28,.66) 58%, rgba(199,15,33,.42)); }
.estimate-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: 20px; align-items: start; }
.estimate-copy { padding: 24px; background: rgba(255,255,255,.92); box-shadow: 0 22px 60px rgba(0,0,0,.2); backdrop-filter: blur(4px); }
.estimate-copy h2 { margin-bottom: 24px; color: var(--ink); }
.estimate-copy > p { color: #393939; }
.estimate-note { margin-top: 28px; padding: 26px; border-left: 4px solid var(--red); background: rgba(244,248,244,.94); }
.estimate-note strong { display: block; margin-bottom: 12px; font-family: var(--display); font-size: 1.3rem; text-transform: uppercase; }
.estimate-note ul { margin-bottom: 0; padding-left: 20px; color: #404040; }
.estimate-copy-action { margin-top: 22px; }
.estimate-form { padding: 20px; color: var(--ink); background: white; box-shadow: 0 22px 60px rgba(0,0,0,.28); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.form-grid label { display: grid; gap: 7px; font-family: var(--display); font-weight: 700; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
.form-grid label.full { grid-column: 1 / -1; }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; border: 1px solid #d7d7d7; border-radius: 0; padding: 13px 14px; color: var(--ink); background: white; font-family: var(--body); font-size: .95rem; font-weight: 400; letter-spacing: normal; text-transform: none; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { border-color: var(--red); outline: 2px solid rgba(199,15,33,.15); }
.upload-label { padding: 18px; border: 1px dashed #bbb; background: #f8f8f8; }
.upload-label span { color: var(--muted); font-family: var(--body); font-size: .8rem; font-weight: 400; letter-spacing: normal; line-height: 1.45; text-transform: none; }
.form-status { min-height: 26px; margin: 14px 0 8px; color: #525252; font-size: .86rem; }
.form-status.error { color: #a40015; }
.form-status.success { color: #27663d; }
.privacy-note { margin: 12px 0 0; color: #777; font-size: .72rem; line-height: 1.45; }

.materials-section { border-top: 8px solid var(--red); background: #f5f5f5; }
.center-heading { max-width: 900px; margin: 0 auto 34px; text-align: center; }
.center-heading .eyebrow { margin-inline: auto; }
.center-heading h2 { text-align: center; }
.center-heading > p { max-width: 760px; margin: 22px auto 0; color: var(--muted); text-align: justify; text-align-last: center; }
.materials-section .eyebrow { background: #0f0f10; }
.material-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.image-card { min-width: 0; display: grid; grid-template-rows: 178px 1fr; overflow: hidden; border: 1px solid #ddd; background: white; transition: transform .2s ease, box-shadow .2s ease; }
.image-card:hover { transform: translateY(-5px); box-shadow: 0 18px 45px rgba(0,0,0,.11); }
.image-card img { width: 100%; height: 178px; object-fit: cover; }
.image-card > div { min-height: 178px; display: flex; flex-direction: column; padding: 20px 22px; }
.image-card h3 { min-height: auto; margin-bottom: 16px; color: var(--red); font-size: 1.125rem; font-weight: 700; line-height: 1.55; text-transform: uppercase; }
.image-card p { min-height: 60px; display: -webkit-box; overflow: hidden; color: var(--muted); font-size: .875rem; line-height: 1.43; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.image-card a { margin-top: auto; }
.image-card a, .customer-card a { color: var(--red); font-family: var(--display); font-weight: 700; text-transform: uppercase; }
.section-action { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 30px; }

.sell-scrap-cta-card {
  position: relative;
  min-height: 356px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: 28px;
  color: white;
  background:
    linear-gradient(145deg, rgba(199,15,33,.97), rgba(121,8,23,.98)),
    url("assets/commercial-scrap-v2.jpg") center / cover;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);
  transition: transform .25s ease, box-shadow .25s ease;
}
.sell-scrap-cta-card::after { content: "→"; position: absolute; top: -38px; right: -12px; color: rgba(255,255,255,.1); font-family: var(--display); font-size: 12rem; font-weight: 800; line-height: 1; }
.sell-scrap-cta-card:hover { box-shadow: 0 20px 48px rgba(93,7,18,.24); transform: translateY(-5px); }
.cta-card-kicker { position: relative; z-index: 1; width: fit-content; padding: 6px 10px; border: 1px solid rgba(255,255,255,.55); font-family: var(--display); font-size: .76rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.sell-scrap-cta-card > div { position: relative; z-index: 1; }
.sell-scrap-cta-card h3 { max-width: 270px; margin: 22px 0 12px; color: white; font-size: 2.35rem; line-height: .95; text-transform: uppercase; }
.sell-scrap-cta-card p { margin: 0; color: #ffe7ea; font-size: .92rem; }
.cta-card-actions { display: grid; gap: 13px; margin-top: 24px; }
.cta-card-actions .button { width: 100%; }
.cta-card-link { display: inline-flex; gap: 8px; align-items: center; color: white; font-family: var(--display); font-weight: 700; text-transform: uppercase; }
.cta-card-link:hover { color: white; text-decoration: underline; text-underline-offset: 5px; }

.battery-band { position: relative; overflow: hidden; color: white; background: linear-gradient(135deg, #0b1d12 0%, #174328 52%, #0e2c1a 100%); }
.battery-band::before { content: "♻"; position: absolute; right: -2rem; bottom: -8rem; color: rgba(151,220,166,.1); font-size: 32rem; line-height: 1; transform: rotate(-8deg); }
.battery-band .eyebrow { color: #0b1d12; background: #8bd49b; }
.battery-layout { position: relative; z-index: 1; display: grid; grid-template-columns: 1.15fr .85fr; gap: 50px; align-items: center; }
.battery-layout h2 { margin-bottom: 26px; color: white; }
.battery-layout p { color: #d7d7d7; }
.battery-types { position: relative; overflow: hidden; padding: 38px; border: 1px solid rgba(158,215,175,.34); background: rgba(7,26,14,.68); box-shadow: 0 24px 60px rgba(0,0,0,.24); }
.battery-types::after { content: ""; position: absolute; right: -44px; bottom: -44px; width: 150px; height: 150px; border: 28px solid rgba(58,141,88,.13); border-radius: 50%; }
.recycle-mark { display: block; margin-bottom: 18px; color: #72c88e; font-size: 3rem; line-height: 1; }
.battery-types-label { margin-bottom: 18px !important; color: white !important; font-family: var(--display); font-size: 1.3rem; font-weight: 700; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
.battery-types ul { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; margin: 0; padding: 0; list-style: none; }
.battery-types li { padding: 11px 0; border-top: 1px solid rgba(255,255,255,.16); font-family: var(--display); font-size: 1.12rem; font-weight: 700; text-transform: uppercase; }
.battery-types small { display: block; color: #9ed7af; font-family: var(--body); font-size: .65rem; font-weight: 600; text-transform: none; }

.customer-section { background: white; }
.customer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.customer-card { position: relative; min-height: 450px; overflow: hidden; color: white; background: #161616; }
.customer-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.95) 0%, rgba(0,0,0,.25) 70%); }
.customer-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.customer-card > div { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; padding: 30px; }
.customer-card h3 { margin-bottom: 14px; font-size: 2rem; text-transform: uppercase; }
.customer-card p { color: #e4e4e4; font-size: .93rem; }

.services-band { position: relative; overflow: hidden; color: white; border-top: 0; background: linear-gradient(125deg, #111216 0%, #35151b 38%, #80111d 72%, #c70f21 100%); }
.services-band .center-heading-light { max-width: 920px; }
.services-band .center-heading-light h2 { color: white; }
.services-band .center-heading-light p { color: #c9c9cc; }
.service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; max-width: 1050px; margin: auto; }
.service-card { display: grid; grid-template-columns: 42% 1fr; min-height: 198px; overflow: hidden; color: white; border: 1px solid rgba(255,255,255,.16); background: #27272a; box-shadow: none; }
.service-card img { width: 100%; height: 100%; object-fit: cover; }
.service-card > div { display: flex; flex-direction: column; padding: 28px 24px; }
.service-card h3 { margin-bottom: 12px; color: white; font-size: 1.5rem; font-weight: 700; line-height: 1.34; text-transform: uppercase; }
.service-card p { color: #d4d4d8; font-size: .875rem; line-height: 1.43; }
.mini-links { display: flex; flex-wrap: wrap; gap: 14px; margin-top: auto; padding-top: 22px; }
.mini-links a { padding-bottom: 3px; color: var(--red); border-bottom: 0; font-family: var(--display); font-size: .875rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }

.process-section { background: white; }
.process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; padding: 0; list-style: none; counter-reset: steps; border-top: 2px solid var(--line); border-bottom: 2px solid var(--line); }
.process-grid li { position: relative; padding: 30px 24px 26px; border-right: 1px solid var(--line); }
.process-grid li:last-child { border-right: 0; }
.process-grid li > span { display: block; margin-bottom: 18px; color: var(--red); font-family: var(--display); font-size: 2.2rem; font-weight: 700; }
.process-grid h3 { min-height: 66px; margin-bottom: 16px; text-transform: uppercase; }
.process-grid p { color: var(--muted); font-size: .9rem; }

.testimonials-section { background: #f8e9eb; }
.testimonials-section .eyebrow { color: var(--red); background: #f3dfe1; }
.testimonial-carousel { --testimonial-visible: 2; max-width: 930px; margin-inline: auto; }
.testimonial-viewport { overflow: hidden; }
.testimonial-track { display: flex; gap: 20px; transition: transform .45s cubic-bezier(.2,.75,.2,1); }
.testimonial-slide { flex: 0 0 calc((100% - 20px) / var(--testimonial-visible)); min-height: 230px; }
.testimonial-slide p { margin: auto 0; font-size: 1.05rem; line-height: 1.7; }
.testimonial-controls { display: flex; gap: 14px; align-items: center; justify-content: center; margin-top: 24px; }
.testimonial-arrow { width: 46px; height: 46px; display: grid; place-items: center; color: white; border: 0; border-radius: 50%; background: var(--red); font-size: 1.25rem; cursor: pointer; }
.testimonial-arrow:hover { background: var(--red-dark); }
.testimonial-arrow:disabled { cursor: default; opacity: .38; }
.testimonial-dots { display: flex; gap: 8px; align-items: center; }
.testimonial-dot { position: relative; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.testimonial-dot::before { content: ""; position: absolute; top: 50%; left: 50%; width: 10px; height: 10px; border-radius: 50%; background: #caaeb3; transform: translate(-50%, -50%); transition: background .2s ease, transform .2s ease; }
.testimonial-dot.active::before { background: var(--red); transform: translate(-50%, -50%) scale(1.25); }
.review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; max-width: 930px; margin-inline: auto; }
.review-card { min-height: 255px; display: flex; flex-direction: column; padding: 26px; border-top: 5px solid var(--red); background: white; box-shadow: 0 16px 40px rgba(0,0,0,.07); }
.review-card > span { height: 54px; color: var(--red); font-family: Georgia, serif; font-size: 4rem; line-height: .9; }
.review-card p { flex: 1; color: var(--muted); font-size: .9rem; }
.review-card strong { margin-top: 20px; font-family: var(--display); font-size: 1.2rem; text-transform: uppercase; }
.review-card small { display: block; margin-top: 4px; color: #8a8a8a; }
.review-approval-note { max-width: 850px; margin: 28px auto 0; padding: 16px 20px; border-left: 4px solid var(--red); background: white; color: #5b5b5b; font-size: .85rem; }

.locations-section { background: #f5f5f5; }
.yard-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; }
.yard-card { overflow: hidden; border: 1px solid #d9d9d9; background: white; }
.yard-card iframe { width: 100%; height: 285px; display: block; border: 0; background: #eee; }
.yard-body { padding: 28px; }
.yard-body h3 { margin-bottom: 26px; font-size: 2rem; text-transform: uppercase; }
.yard-body dl { margin: 0; }
.yard-body dl div { display: grid; grid-template-columns: 88px 1fr; padding: 9px 0; border-bottom: 1px solid #eee; }
.yard-body dt { font-weight: 700; }
.yard-body dd { margin: 0; color: var(--muted); }

.why-section { background: white; }
.proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.proof-grid article { position: relative; min-height: 250px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 26px; color: white; border: 0; background-position: center; background-size: cover; box-shadow: inset 0 -180px 120px rgba(0,0,0,.82); }
.proof-grid article::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.08) 12%, rgba(0,0,0,.9) 100%); }
.proof-grid article > * { position: relative; z-index: 1; }
.proof-grid article > span { display: inline-grid; width: 44px; height: 44px; place-items: center; margin-bottom: 22px; color: white; border: 2px solid var(--red); border-radius: 50%; background: rgba(0,0,0,.45); font-family: var(--display); font-weight: 700; }
.proof-grid article > span.green-icon { color: white; border-color: #7bd090; font-size: 1.25rem; }
.proof-grid h3 { margin-bottom: 13px; color: white; font-size: 1.6rem; font-weight: 700; text-transform: uppercase; }
.proof-grid p { margin: 0; color: #f2f2f2; font-size: .9rem; }
.proof-recycling { background-image: url("assets/christchurch-scrap-yard-v4.jpg"); }
.proof-pricing { background-image: url("assets/certified-weighing-v2.jpg"); }
.proof-weighing, .proof-payment { background-image: url("assets/certified-weighing-v2.jpg"); }
.proof-locations { background-image: url("assets/tradie-scrap.jpg"); }
.proof-responsible { background-image: url("assets/scrap-metal-collection-v4.jpg"); }
.membership-row { max-width: 680px; display: flex; gap: 24px; align-items: center; margin: 30px auto 0; padding: 19px 24px; border: 1px solid var(--line); background: #fafafa; }
.membership-row img { width: 110px; max-height: 80px; object-fit: contain; }
.membership-row span { display: block; color: var(--red); font-family: var(--display); font-weight: 700; text-transform: uppercase; }
.membership-row strong { font-size: 1rem; }
.not-accepted { margin-top: 24px; padding: 21px; color: white; background: var(--ink); text-align: center; }
.not-accepted > strong { display: block; margin-bottom: 14px; font-family: var(--display); font-size: 1.25rem; text-transform: uppercase; }
.not-accepted ul { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 0; padding: 0; list-style: none; }
.not-accepted li { padding: 7px 11px; border: 1px solid rgba(255,255,255,.2); font-size: .82rem; }

.faq-section { border-top: 1px solid var(--line); background: #f2f2f2; }
.faq-layout { display: grid; grid-template-columns: .38fr .62fr; gap: 52px; align-items: start; }
.faq-heading h2 { margin-bottom: 30px; }
.accordion details { border-top: 1px solid #cfcfcf; }
.accordion details:last-child { border-bottom: 1px solid #cfcfcf; }
.accordion summary { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 24px 0; font-family: var(--display); font-size: 1.5rem; font-weight: 700; line-height: 1.1; text-transform: uppercase; cursor: pointer; list-style: none; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary span { color: var(--red); font-family: var(--body); font-size: 1.6rem; font-weight: 400; transition: transform .2s ease; }
.accordion details[open] summary span { transform: rotate(45deg); }
.accordion details > p { padding: 0 32px 22px 0; color: var(--muted); }
.accordion details > p a,
.faq-stack details > p a { color: var(--red); font-weight: 700; text-decoration-thickness: 2px; text-underline-offset: 3px; }

.final-cta { color: white; background: var(--red); }
.final-inner { max-width: 920px; }
.final-cta .eyebrow { padding-left: 0; background: transparent; }
.final-cta h2 { color: white; }
.final-cta p { max-width: 780px; margin-top: 24px; color: #ffe7ea; font-size: 1.05rem; }
.final-phones { display: flex; flex-wrap: wrap; gap: 26px; margin-top: 26px; font-family: var(--display); font-size: 1.2rem; font-weight: 700; text-transform: uppercase; }
.final-phones a { border-bottom: 1px solid rgba(255,255,255,.55); }

.site-footer { padding: 54px 0 22px; color: #cfcfcf; background: #151517; }
.footer-grid { display: grid; grid-template-columns: 1.1fr .8fr 1fr 1fr; gap: 44px; }
.footer-brand img { object-fit: contain; background: white; }
.footer-logos { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.footer-logos .footer-main-logo { width: 108px; height: 92px; padding: 2px; }
.footer-logos .footer-amr-logo { width: 132px; height: 82px; padding: 7px; }
.footer-brand p { max-width: 310px; margin-top: 20px; }
.site-footer h3 { margin-bottom: 18px; color: white; font-size: 1.35rem; text-transform: uppercase; }
.site-footer p { color: #aaa; font-size: .88rem; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li { margin-bottom: 8px; }
.site-footer a:hover { color: white; }
.footer-bottom { display: flex; gap: 20px; justify-content: space-between; margin-top: 48px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); color: #aaa; font-size: .78rem; }
.footer-bottom div { display: flex; gap: 20px; }

/* Homepage Revision 5 presentation rules from the supplied content document. */
.homepage .hero-copy > p { text-align: justify; text-align-last: center; }
.homepage .estimate-section { padding-top: 38px; padding-bottom: 38px; }
.homepage .estimate-layout { width: min(1040px, calc(100% - 40px)); gap: 18px; align-items: start; }
.homepage .estimate-copy { align-self: start; padding: 20px; }
.homepage .estimate-copy h2 { font-size: clamp(2.35rem, 3.7vw, 3.25rem); }
.homepage .estimate-copy h2 { margin-bottom: 14px; }
.homepage .estimate-copy > p { margin-bottom: 0; }
.homepage .estimate-copy-action { margin-top: 18px; }
.homepage .estimate-form { align-self: start; padding: 16px; }
.homepage .form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.homepage .form-grid label.full { grid-column: 1 / -1; }
.homepage .form-grid input,
.homepage .form-grid select,
.homepage .form-grid textarea { min-height: 48px; padding: 8px 10px; }
.homepage .form-grid textarea { height: 74px; resize: vertical; }
.homepage .upload-label { padding: 8px 10px; }
.homepage .form-status { min-height: 18px; margin: 8px 0 5px; }
.homepage .price-cta-line { margin-top: 26px; color: var(--ink); font-weight: 600; }
.homepage .materials-section .center-heading { text-align: center; }
.homepage .materials-section .section-action { justify-content: center; }
.homepage .image-card > div { min-height: 230px; text-align: center; }
.homepage .image-card h3 { text-align: center; }
.homepage .image-card a { margin-inline: auto; }
.homepage .image-card p { min-height: 0; display: block; overflow: visible; -webkit-line-clamp: unset; }
.homepage .image-card .dropoff-note { display: none; }
.homepage .battery-band { color: white; background: linear-gradient(135deg, #dc1830 0%, #c70f21 56%, #9f0b19 100%); }
.homepage .battery-band::before { color: rgba(74,218,108,.72); }
.homepage .battery-band .eyebrow { color: var(--red); background: white; }
.homepage .battery-layout p { color: white; }
.homepage .battery-types { border-color: rgba(255,255,255,.38); background: rgba(255,255,255,.13); }
.homepage .battery-types li { border-color: rgba(255,255,255,.3); }
.homepage .customer-grid { align-items: stretch; }
.homepage .customer-card { height: 100%; min-height: 500px; }
.homepage .customer-card > div { display: flex; flex-direction: column; min-height: 310px; }
.homepage .customer-card .mini-links { margin-top: auto; }
.homepage .customer-card .mini-links a,
.homepage .service-card .mini-links a { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 10px 14px; color: var(--ink); border: 1px solid white; border-radius: 7px; background: white; box-shadow: 0 8px 20px rgba(0,0,0,.14); }
.homepage .customer-card .mini-links a:first-child,
.homepage .service-card .mini-links a:first-child { border-color: var(--red); background: var(--red); }
.homepage .customer-card .mini-links a:hover,
.homepage .service-card .mini-links a:hover { color: white; border-color: var(--red-dark); background: var(--red-dark); }
.homepage .review-approval-note { max-width: 920px; margin-top: 0; padding: 28px; color: var(--ink); font-size: 1rem; }
.homepage .service-area { margin-top: 22px; color: var(--muted); font-size: .86rem; }
.homepage .faq-heading .button-row { margin-top: 22px; }
.homepage .footer-brand { grid-column: span 1; }
.homepage .footer-brand p { max-width: 390px; }

@media (min-width: 1051px) {
  .homepage-scroll { scroll-snap-type: y proximity; }
  .homepage-scroll .homepage main > .hero,
  .homepage-scroll .homepage main > .section { scroll-snap-align: start; scroll-snap-stop: always; }
}

@media (max-width: 1320px) {
  .header-inner { grid-template-columns: 108px 1fr auto; }
  .site-nav { gap: 12px; font-size: .94rem; }
  .header-phones { display: none; }
  .image-card p { min-height: 88px; }
  .proof-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1050px) {
  .site-header { height: 74px; }
  .header-inner { grid-template-columns: 1fr auto auto; }
  .logo-link img { width: 82px; height: 68px; }
  .menu-toggle { display: block; grid-column: 3; grid-row: 1; }
  .header-actions { grid-column: 2; grid-row: 1; }
  .header-actions .button { padding-inline: 16px; }
  .site-nav {
    position: fixed;
    top: 74px;
    right: 0;
    left: 0;
    display: none;
    max-height: calc(100dvh - 74px);
    overflow: auto;
    padding: 18px clamp(16px, 4vw, 28px) 24px;
    background: linear-gradient(180deg, #fff 0%, #fbf6f7 100%);
    border-bottom: 1px solid rgba(199,15,33,.18);
    box-shadow: 0 18px 40px rgba(49,9,16,.16);
  }
  .site-nav.open {
    display: grid;
    align-items: stretch;
    align-content: start;
    justify-content: stretch;
    gap: 8px;
  }
  .site-nav > a,
  .site-nav > details { width: 100%; }
  .site-nav > a,
  .site-nav > details > summary {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 16px 13px 18px;
    color: var(--ink);
    background: linear-gradient(135deg, #fff 0%, #faf4f5 100%);
    border: 1px solid rgba(199,15,33,.16);
    border-left: 4px solid rgba(199,15,33,.42);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(49,9,16,.05);
    transition: color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
  }
  .site-nav > details > summary::after { margin-left: auto; }
  .site-nav > details[open] > summary {
    color: var(--red);
    background: linear-gradient(135deg, #fff5f6 0%, #f8e4e7 100%);
    border-color: rgba(199,15,33,.36);
    border-left-color: var(--red);
    border-radius: 8px 8px 3px 3px;
    box-shadow: 0 8px 18px rgba(151,10,24,.1);
  }
  .site-nav > a:hover,
  .site-nav > details > summary:hover,
  .site-nav > a:focus-visible,
  .site-nav > details > summary:focus-visible {
    color: var(--red);
    border-color: rgba(199,15,33,.38);
    border-left-color: var(--red);
    background: #fff4f6;
  }
  .nav-dropdown {
    position: static;
    width: auto;
    margin-top: 5px;
    padding: 8px;
    background: linear-gradient(145deg, #fff 0%, #fff8f9 58%, #f4e4e7 100%);
    box-shadow: 0 10px 24px rgba(49,9,16,.09);
  }
  .site-nav .nav-dropdown a { display: block; padding: 12px 14px; }
  .hero { min-height: 650px; }
  .hero h1 { font-size: 3.75rem; }
  .price-layout, .estimate-layout, .battery-layout, .faq-layout { grid-template-columns: 1fr; gap: 50px; }
  .homepage .estimate-layout { grid-template-columns: .7fr 1.3fr; gap: 20px; }
  .homepage .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
  .trust-grid article { align-items: flex-start; border-right: 1px solid var(--line); padding: 0 18px 0 0; }
  .trust-grid article:last-child { border-right: 0; padding-right: 0; }
  .customer-grid { grid-template-columns: 1fr; }
  .material-grid { grid-template-columns: repeat(2, 1fr); }
  .customer-card { min-height: 430px; }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .review-grid { grid-template-columns: repeat(2, 1fr); }
  .yard-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 620px) {
  html { scroll-padding-top: 70px; }
  .container { width: min(100% - 30px, var(--container)); }
  .section { padding: 50px 0; }
  .header-inner { width: calc(100% - 24px); grid-template-columns: 1fr auto; gap: 10px; }
  .header-actions { display: none; }
  .menu-toggle { grid-column: 2; }
  .hero { min-height: auto; }
  .hero-inner { padding: 68px 0 56px; }
  .hero h1 { font-size: 3rem; }
  .hero-copy > p { font-size: 1rem; line-height: 1.7; }
  .hero .button-row .button { width: 100%; }
  .hero-membership { align-items: flex-start; padding: 12px 14px 12px 10px; }
  .hero-membership img { width: 86px; height: 56px; }
  .hero-membership strong { font-size: 1rem; }
  h2 { font-size: 2.7rem; }
  .button-row { align-items: stretch; }
  .button-row .button { flex: 1 1 100%; }
  .form-grid { grid-template-columns: 1fr; }
  .homepage .estimate-layout,
  .homepage .form-grid { grid-template-columns: 1fr; }
  .trust-grid { grid-template-columns: 1fr; gap: 18px; }
  .trust-grid article { align-items: center; border-right: 0; border-bottom: 1px solid var(--line); padding: 0 0 18px; }
  .trust-grid article:last-child { border-bottom: 0; padding-bottom: 0; }
  .form-grid label.full { grid-column: auto; }
  .estimate-copy { padding: 26px 22px; }
  .estimate-form { padding: 22px 18px; }
  .material-grid { grid-template-columns: 1fr; }
  .image-card p { min-height: 0; }
  .image-card h3 { min-height: 0; }
  .battery-types ul { grid-template-columns: 1fr; }
  .service-grid { grid-template-columns: 1fr; }
  .services-band .center-heading-light { padding: 26px 22px; }
  .service-card { grid-template-columns: 1fr; }
  .service-card img { height: 230px; }
  .process-grid { grid-template-columns: 1fr; }
  .process-grid li { border-right: 0; border-bottom: 1px solid var(--line); }
  .process-grid li:last-child { border-bottom: 0; }
  .proof-grid { grid-template-columns: 1fr; }
  .review-grid { grid-template-columns: 1fr; }
  .testimonial-carousel { --testimonial-visible: 1; }
  .testimonial-slide { flex-basis: 100%; }
  .proof-grid article { min-height: 240px; }
  .membership-row { align-items: flex-start; }
  .yard-card iframe { height: 270px; }
  .yard-body { padding: 24px; }
  .yard-body dl div { grid-template-columns: 1fr; gap: 3px; }
  .accordion summary { font-size: 1.25rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .homepage .customer-card { min-height: 470px; }
  .homepage .image-card > div { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Shared studio polish */
.homepage-scroll { scroll-snap-type: none !important; }
.homepage-scroll .homepage main > .hero,
.homepage-scroll .homepage main > .section { scroll-snap-align: none; scroll-snap-stop: normal; }
.site-header { background: rgba(255,255,255,.94); backdrop-filter: blur(16px) saturate(150%); }
.button { border-radius: 7px; font-weight: 700; }
.button:hover { box-shadow: 0 12px 28px rgba(126,10,25,.17); }
.section { padding: clamp(58px, 6.5vw, 88px) 0; }
.homepage .price-list { display: grid; gap: 12px; border-top: 0; }
.homepage .price-list article { position: relative; grid-template-columns: 1fr; gap: 0; overflow: hidden; padding: 23px 24px 23px 31px; border: 1px solid #dedede; border-radius: 10px; background: white; box-shadow: 0 8px 26px rgba(0,0,0,.045); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.homepage .price-list article::before { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 6px; background: var(--red); }
.homepage .price-list article:hover { border-color: rgba(199,15,33,.4); box-shadow: 0 16px 34px rgba(80,8,18,.1); transform: translateY(-3px); }
.homepage .price-list article > span { display: none; }
.homepage .price-list h3 { margin-bottom: 7px; }
.homepage .price-list p { line-height: 1.65; }
.homepage .image-card,
.homepage .customer-card,
.homepage .service-card,
.homepage .yard-card { overflow: hidden; border-radius: 12px; box-shadow: 0 14px 38px rgba(20,20,22,.08); }
.homepage .image-card { transition: transform .25s ease, box-shadow .25s ease; }
.homepage .image-card:hover { box-shadow: 0 22px 46px rgba(20,20,22,.14); transform: translateY(-5px); }
.homepage .estimate-form,
.homepage .review-approval-note { border-radius: 12px; }
.homepage .process-grid { grid-template-columns: repeat(3, 1fr); overflow: hidden; border-radius: 12px; box-shadow: 0 14px 38px rgba(20,20,22,.07); }
.homepage .accordion details { border-radius: 9px; }

@media (max-width: 900px) {
  .homepage .process-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 760px) {
  .homepage .material-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .homepage .image-card > div { min-height: 240px; padding: 18px 15px; }
  .homepage .image-card h3 { font-size: 1rem; }
  .homepage .image-card p { text-align: center; text-align-last: center; }
}

@media (max-width: 620px) {
  .section { padding: 48px 0; }
  .homepage .price-list article { padding: 20px 20px 20px 27px; }
  .homepage .process-grid { grid-template-columns: 1fr; }
}

/* Final interface pass: clearer actions, compact enquiry and quieter spacing. */
.button-location { color: white; background: var(--green); }
.button-location:hover { color: white; background: #276f42; }
.button-call { color: white; background: var(--ink); }
.button-call:hover { color: white; background: #343438; }

.homepage .hero { min-height: 760px; }
.homepage .hero-image { filter: saturate(1.12) contrast(1.01) brightness(1.14); }
.homepage .hero-overlay {
  background:
    linear-gradient(90deg, rgba(8,8,9,.3), rgba(8,8,9,.05) 54%, rgba(8,8,9,.16)),
    linear-gradient(0deg, rgba(8,8,9,.28), transparent 54%, rgba(8,8,9,.1));
}
.homepage .hero h1,
.homepage .hero-copy > p { text-shadow: 0 3px 24px rgba(0,0,0,.78), 0 1px 3px rgba(0,0,0,.82); }
.homepage .hero-copy > p { max-width: 790px; text-align: center; text-align-last: auto; }
.homepage .hero-cta-row { gap: 14px; justify-content: center; }
.homepage .hero-cta-row .button { width: min(310px, 100%); min-height: 68px; }
.homepage .hero-amr-button { display: inline-flex !important; visibility: visible; overflow: hidden; padding: 7px 22px; border: 2px solid #62aa79; background: linear-gradient(135deg, #fff 0%, #edfaef 55%, #d9f0df 100%); box-shadow: 0 12px 28px rgba(20,96,50,.28); }
.homepage .hero-amr-button:hover { border-color: #3f8958; background: linear-gradient(135deg, #f5fff7, #d8f1df); }
.homepage .hero-amr-button img { width: 174px; height: 52px; object-fit: contain; }
.hero-context-band { color: var(--ink); border-top: 1px solid rgba(58,141,88,.22); border-bottom: 1px solid rgba(199,15,33,.14); background: linear-gradient(120deg, #e9f5ec 0%, #fff 50%, #f8e8ea 100%); }
.hero-context-band .container { width: min(1040px, 100%); padding-top: 25px; padding-bottom: 25px; }
.hero-context-band p { margin: 0; color: #303034; font-size: .98rem; line-height: 1.7; text-align: center; text-wrap: pretty; }

.homepage .section { padding-top: clamp(52px, 5.4vw, 72px); padding-bottom: clamp(52px, 5.4vw, 72px); }
.homepage .estimate-section { padding-top: 44px; padding-bottom: 44px; }
.homepage .estimate-layout { width: min(1120px, calc(100% - 40px)); grid-template-columns: minmax(280px,.68fr) minmax(0,1.32fr); gap: 18px; align-items: stretch; }
.homepage .estimate-copy { height: 100%; display: flex; flex-direction: column; justify-content: center; padding: 28px; border: 1px solid rgba(255,255,255,.58); border-radius: 14px; background: rgba(255,255,255,.95); box-shadow: 0 24px 60px rgba(16,8,10,.2); }
.homepage .estimate-copy-action .button { min-height: 46px; }
.homepage .estimate-form { height: 100%; padding: 20px; border: 1px solid rgba(255,255,255,.64); border-radius: 14px; background: rgba(255,255,255,.97); box-shadow: 0 24px 60px rgba(16,8,10,.22); }
.homepage .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.homepage .form-grid label { gap: 4px; font-size: .7rem; letter-spacing: .04em; }
.homepage .form-grid input,
.homepage .form-grid select,
.homepage .form-grid textarea { min-height: 44px; padding: 8px 11px; border-color: #d9d3d0; border-radius: 8px; background: #fbfaf8; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.homepage .form-grid input:hover,
.homepage .form-grid select:hover,
.homepage .form-grid textarea:hover { border-color: #b9ada9; background: white; }
.homepage .form-grid textarea { height: 66px; }
.homepage .upload-label { min-height: 66px; padding: 9px 10px; border-radius: 8px; background: #fbfaf8; }
.homepage .upload-label span { font-size: .64rem; line-height: 1.35; }
.homepage .estimate-form .button-wide { min-height: 44px; }

.homepage .battery-band { background: linear-gradient(135deg, #0a2013 0%, #17482b 54%, #0c2d1a 100%); }
.homepage .battery-band::before { color: rgba(111,212,137,.24); }
.homepage .battery-band .eyebrow { color: #0b2818; background: #9ce1ac; }
.homepage .customer-card { min-height: 470px; }
.homepage .customer-card .mini-links { justify-content: flex-start; }
.homepage .customer-card .mini-links a { min-width: 138px; color: white; }
.homepage .yard-card .button-row { gap: 8px; }
.homepage .yard-card .button { flex: 1 1 170px; padding-inline: 14px; }
.homepage .yard-card .button-call { white-space: nowrap; }
.homepage .not-accepted { text-align: center; }
.homepage .not-accepted ul { justify-content: center; }
.homepage .service-card { border: 1px solid rgba(255,255,255,.24); background: rgba(255,255,255,.96); }
.homepage .services-band .center-heading-light { padding: 24px; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: rgba(14,14,17,.2); backdrop-filter: blur(8px); }
.homepage .services-band .section-action { align-items: center; }
.homepage .service-text-link { padding: 10px 4px; color: white; border-bottom: 2px solid rgba(255,255,255,.72); font-family: var(--display); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.homepage .service-text-link:hover { color: #ffd9dd; border-color: #ffd9dd; }

@media (max-width: 1050px) {
  .homepage .hero { min-height: 700px; }
  .homepage .estimate-layout { grid-template-columns: 1fr; width: min(760px, calc(100% - 32px)); }
  .homepage .estimate-copy { text-align: center; }
  .homepage .estimate-copy h2 { text-align: center; }
  .homepage .estimate-copy > p { text-align: center; }
  .homepage .estimate-copy-action { display: flex; justify-content: center; }
}

@media (max-width: 700px) {
  .homepage .hero { min-height: 710px; }
  .homepage .hero-cta-row { display: grid; }
  .homepage .hero-cta-row .button { width: 100%; min-height: 58px; }
  .homepage .hero-amr-button img { height: 44px; }
  .homepage .form-grid { grid-template-columns: 1fr; }
  .homepage .details-field,
  .homepage .upload-label { grid-column: auto; }
  .hero-context-band .container { padding-top: 21px; padding-bottom: 21px; }
  .hero-context-band p { font-size: .9rem; text-align: left; }
}

/* August interface refinement: legibility, alignment and brand detail. */
.homepage .hero-amr-button {
  position: relative;
  width: 310px;
  height: 74px;
  overflow: hidden;
  padding: 3px 16px;
  border-color: #71b586;
  background: white;
  box-shadow: 0 12px 30px rgba(24,105,53,.28);
  animation: amr-membership-glow 2.8s ease-in-out infinite;
}
.homepage .hero-amr-button:hover {
  border-color: #3f8958;
  background: #f6fff8;
}
.homepage .hero-amr-button img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 184px;
  max-width: none;
  height: auto;
  transform: translate(-50%, -50%);
}

@keyframes amr-membership-glow {
  0%, 100% { border-color: #71b586; box-shadow: 0 12px 30px rgba(24,105,53,.28), 0 0 0 0 rgba(142,225,165,0); }
  50% { border-color: #9ee4b1; box-shadow: 0 14px 34px rgba(24,105,53,.38), 0 0 0 7px rgba(142,225,165,.2); }
}

.line-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.homepage .form-grid label { gap: 0; }
.homepage .form-grid input::placeholder,
.homepage .form-grid textarea::placeholder { color: #55575b; opacity: 1; }
.homepage .form-grid select:invalid { color: #55575b; }
.homepage .form-grid option { color: var(--ink); }

.homepage .image-card > div {
  min-height: 190px;
  display: grid;
  grid-template-rows: auto auto auto;
  gap: 9px;
  align-content: start;
}
.homepage .image-card h3 { align-self: start; margin: 0; }
.homepage .image-card p { align-self: start; margin: 0; }
.homepage .image-card a {
  min-height: 39px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  margin: 6px 0 0;
  padding: 8px 14px;
  color: white;
  border-radius: 6px;
  background: var(--red);
}
.homepage .image-card a:hover { color: white; background: var(--red-dark); }

.homepage .battery-sale-cta {
  color: white;
  animation: battery-sale-glow 2.7s ease-in-out infinite;
}
@keyframes battery-sale-glow {
  0%, 100% { box-shadow: 0 8px 18px rgba(229,34,58,.28); filter: brightness(1); }
  50% { box-shadow: 0 0 0 7px rgba(255,255,255,.15), 0 15px 34px rgba(229,34,58,.62); filter: brightness(1.13); }
}

.homepage .services-band {
  background:
    radial-gradient(circle at 86% 12%, rgba(229,34,58,.5), transparent 34%),
    linear-gradient(125deg, #151517 0%, #332226 48%, #8f0b1b 100%);
}
.homepage .services-band .center-heading-light {
  border-color: rgba(255,255,255,.34);
  background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
}
.homepage .services-band .center-heading-light p { color: white; }
.homepage .services-band .center-heading-light .eyebrow { color: white; border: 1px solid rgba(255,255,255,.22); background: #151517; }
.homepage .service-card { color: var(--ink); background: rgba(255,255,255,.98); }
.homepage .service-card h3 { color: var(--ink); }
.homepage .service-card p { color: #4d4d52; text-align: justify; }
.homepage .service-card .mini-links a { color: var(--ink); }
.homepage .service-card .mini-links a:first-child { color: white; }

.feedback-proof {
  position: relative;
  max-width: 1080px;
  margin-inline: auto;
  overflow: hidden;
  padding: 15px 24px;
  border: 1px solid rgba(58,141,88,.22);
  border-radius: 10px;
  background: linear-gradient(110deg, #eef7f0, #fff8f8);
  box-shadow: 0 12px 30px rgba(51,65,55,.07);
}
.feedback-proof::before {
  content: none;
}
.feedback-proof p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #49494e;
  font-size: .92rem;
  line-height: 1.55;
  text-align: center;
}

.testimonial-carousel { --testimonial-visible: 3; max-width: 1180px; margin-top: 24px; }
.testimonial-carousel .testimonial-slide { flex-basis: calc((100% - 40px) / 3); }
.testimonial-slide {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid rgba(199,15,33,.16);
  border-radius: 14px;
  background: white;
  box-shadow: 0 16px 38px rgba(77,12,22,.09);
}
.testimonial-slide p { color: #444449; text-align: left; }
.testimonial-slide strong { margin-top: 22px; color: var(--ink); font-family: var(--display); font-size: 1.04rem; text-transform: uppercase; }
.testimonial-stars { color: #d3132a; font-size: 1.05rem; letter-spacing: .16em; }
.testimonial-arrow:focus-visible,
.testimonial-dot:focus-visible { outline: 3px solid #111114; outline-offset: 3px; }

.homepage .materials-section,
.homepage .why-section,
.homepage .site-footer { position: relative; overflow: hidden; }
.homepage .materials-section::before,
.homepage .why-section::before,
.homepage .site-footer::before {
  content: "";
  position: absolute;
  z-index: 0;
  width: clamp(260px, 30vw, 430px);
  height: clamp(235px, 27vw, 390px);
  background: url("assets/scrap-mart-logo.png") center top / 100% auto no-repeat;
  opacity: .035;
  pointer-events: none;
}
.homepage .materials-section::before { right: -80px; bottom: -65px; transform: rotate(-7deg); }
.homepage .why-section::before { top: 28px; left: -95px; transform: rotate(7deg); }
.homepage .site-footer::before { right: -60px; bottom: -80px; opacity: .075; }
.homepage .materials-section > .container,
.homepage .why-section > .container,
.homepage .site-footer > .container { position: relative; z-index: 1; }

/* Homepage refinement: compact cards, distinct pricing and clearer conversion bands. */
.homepage .notice {
  padding: 18px 20px;
  border: 1px solid #bcd7c3;
  border-left: 5px solid #3a8d58;
  border-radius: 9px;
  background: linear-gradient(110deg, #eaf5ed, #f8fbf8);
  box-shadow: 0 9px 24px rgba(39,88,52,.07);
}
.homepage .price-list article {
  border-color: #d4dfd6;
  background: linear-gradient(135deg, #f0f7f2 0%, #fffafa 100%);
}
.hero-context-band {
  color: white;
  border: 0;
  background:
    radial-gradient(circle at 90% 20%, rgba(112,199,137,.36), transparent 30%),
    linear-gradient(115deg, #151517 0%, #4f111a 48%, #a50d20 100%);
  box-shadow: inset 0 1px rgba(255,255,255,.12), inset 0 -1px rgba(0,0,0,.2);
}
.hero-context-band .contact-strip-inner {
  width: min(1180px, calc(100% - 40px));
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 30px;
  align-items: center;
  padding-top: 28px;
  padding-bottom: 28px;
}
.hero-context-band p { color: white; text-align: left; }
.hero-context-band .button { min-width: 180px; }

.homepage .customer-card::after {
  background: linear-gradient(180deg, rgba(0,0,0,.02) 28%, rgba(0,0,0,.15) 52%, rgba(0,0,0,.94) 100%);
}
.homepage .customer-card > div {
  min-height: 0;
  justify-content: flex-end;
  padding: 26px;
}
.homepage .customer-card p { margin-bottom: 14px; }

.homepage .process-section { padding-top: 52px; padding-bottom: 52px; }
.homepage .process-section .center-heading { margin-bottom: 26px; }
.homepage .process-grid li { padding: 21px 22px 19px; }
.homepage .process-grid li > span { margin-bottom: 9px; font-size: 1.8rem; }
.homepage .process-grid h3 { min-height: 0; margin-bottom: 8px; font-size: 1.28rem; }
.homepage .process-grid p { margin: 0; line-height: 1.55; }
.homepage .process-section .section-action { margin-top: 24px; }

.homepage .testimonials-section { background: linear-gradient(135deg, #f3f8f4, #faecee); }
.homepage .proof-grid article { box-shadow: inset 0 -125px 95px rgba(0,0,0,.62); }
.homepage .proof-grid article::before { background: linear-gradient(180deg, rgba(0,0,0,.01) 28%, rgba(0,0,0,.76) 100%); }
.homepage .proof-grid article > span { margin-bottom: 12px; }
.homepage .not-accepted {
  border: 1px solid #ff6b7c;
  border-radius: 10px;
  background: linear-gradient(120deg, #8f0919, #c70f21 58%, #8f0919);
  box-shadow: 0 14px 34px rgba(143,9,25,.22);
}
.homepage .not-accepted li { position: relative; padding-left: 29px; border-color: rgba(255,255,255,.38); background: rgba(255,255,255,.08); }
.homepage .not-accepted li::before { content: "×"; position: absolute; left: 10px; color: #ffd9de; font-weight: 800; }

.site-footer .footer-branch p { margin: 0 0 11px; line-height: 1.55; text-align: left; text-align-last: left; }
.site-footer .footer-branch strong { display: block; color: white; font-size: .73rem; letter-spacing: .06em; text-transform: uppercase; }
.site-footer .footer-branch a { color: #d6e8da; }

@media (max-width: 980px) {
  .testimonial-carousel { --testimonial-visible: 2; max-width: 930px; }
  .testimonial-carousel .testimonial-slide { flex-basis: calc((100% - 20px) / 2); }
}

@media (max-width: 620px) {
  .homepage .hero-cta-row .hero-amr-button { height: 74px; }
  .homepage .image-card > div { min-height: 0; grid-template-rows: auto auto auto; }
  .homepage .service-card p { text-align: left; }
  .homepage .estimate-form,
  .homepage .estimate-copy { padding: 20px; }
  .hero-context-band .contact-strip-inner { grid-template-columns: 1fr; gap: 18px; width: min(100% - 28px, 560px); text-align: center; }
  .hero-context-band p { text-align: center; }
  .hero-context-band .button { width: 100%; }
  .testimonial-carousel { --testimonial-visible: 1; }
  .testimonial-carousel .testimonial-slide { flex-basis: 100%; }
  .feedback-proof { padding: 14px 16px; }
  .homepage .process-grid li { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .homepage .battery-sale-cta,
  .homepage .hero-amr-button { animation: none; }
}

/* Mobile quick actions shared with internal pages. */
.homepage .mobile-action-bar { display: none; }

@media (max-width: 760px) {
  .homepage { padding-bottom: 58px; }
  .homepage .mobile-action-bar {
    position: fixed;
    z-index: 80;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    box-shadow: 0 -10px 28px rgba(0, 0, 0, .2);
  }
  .homepage .mobile-action-bar > a,
  .homepage .mobile-call-menu > summary {
    min-height: 58px;
    display: grid;
    place-items: center;
    margin: 0;
    padding: 10px 14px;
    color: white;
    border: 0;
    font-family: var(--display);
    font-weight: 700;
    letter-spacing: .04em;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
  }
  .homepage .mobile-action-bar > a { background: var(--red); }
  .homepage .mobile-call-menu {
    position: relative;
    min-width: 0;
    background: var(--ink);
  }
  .homepage .mobile-call-menu > summary { list-style: none; }
  .homepage .mobile-call-menu > summary::-webkit-details-marker { display: none; }
  .homepage .mobile-call-options {
    position: absolute;
    right: 8px;
    bottom: calc(100% + 10px);
    width: min(320px, calc(100vw - 16px));
    overflow: hidden;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    background: #111214;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .34);
  }
  .homepage .mobile-call-options a {
    min-height: 52px;
    display: grid;
    place-items: center;
    padding: 10px 14px;
    color: white;
    border-radius: 7px;
    background: #236c43;
    font-family: var(--display);
    font-weight: 700;
    letter-spacing: .035em;
    text-align: center;
    text-transform: uppercase;
  }
  .homepage .mobile-call-options a + a { margin-top: 7px; }
}

/* 2026 homepage finalisation: industrial, readable and conversion-led. */
.homepage { font-size: 18px; background: #f7f4f0; }
.homepage p,
.homepage li,
.homepage input,
.homepage select,
.homepage textarea,
.homepage summary { font-size: 1rem; line-height: 1.68; }
.homepage .section { padding-block: clamp(62px, 6vw, 84px); }
.homepage .button { min-height: 48px; padding: 11px 27px; font-size: .94rem; font-weight: 700; }

.homepage .hero { min-height: 760px; }
.homepage .hero-overlay {
  background:
    linear-gradient(90deg, rgba(8,9,10,.2), rgba(8,9,10,.06) 66%, rgba(8,9,10,.03)),
    linear-gradient(0deg, rgba(8,9,10,.18), transparent 62%);
}
.homepage .hero-copy {
  width: min(860px, 100%);
  padding: clamp(26px, 4vw, 48px);
  border: 1px solid rgba(255,255,255,.26);
  border-left: 6px solid #f43b4e;
  background: linear-gradient(125deg, rgba(11,12,13,.34), rgba(11,12,13,.18));
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  backdrop-filter: blur(2px);
}
.homepage .hero h1,
.homepage .hero-copy > p { text-shadow: 0 2px 9px rgba(0,0,0,.62), 0 1px 2px rgba(0,0,0,.72); }
.homepage .hero h1 { font-size: clamp(3.7rem, 7vw, 6.5rem); line-height: .9; text-transform: uppercase; }
.homepage .hero-copy > p { font-size: 1.08rem; }
.homepage .hero-cta-row .button-primary {
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 0 1px rgba(255,94,112,.62), 0 0 26px rgba(215,25,50,.38), 0 14px 30px rgba(0,0,0,.22);
}
.homepage .hero-cta-row .button-primary::after {
  content: "";
  position: absolute;
  inset: -20% auto -20% -45%;
  width: 32%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.48), transparent);
  transform: skewX(-18deg);
  animation: value-sheen 4.8s ease-in-out infinite;
}
@keyframes value-sheen { 0%, 68%, 100% { left: -45%; } 82% { left: 120%; } }

.homepage .trust-strip { color: white; border: 0; background: linear-gradient(105deg, #111214, #292b30 58%, #174b30); }
.homepage .trust-grid article { border-color: rgba(255,255,255,.16); }
.homepage .trust-grid h3,
.homepage .trust-grid p { color: white; }
.homepage .line-icon { color: white; border-color: rgba(255,255,255,.45); background: rgba(215,25,50,.75); }

.homepage main > .section:nth-of-type(4n+1) { background-color: #f7f4f0; }
.homepage main > .section:nth-of-type(4n+2) { background-color: #e9e4df; }
.homepage main > .section:nth-of-type(4n+3) { background-color: white; }
.homepage main > .section:nth-of-type(4n) { background-color: #f1ece7; }
.homepage .materials-section,
.homepage .why-section,
.homepage .testimonials-section { background-color: #f7f4f0; }

.homepage .estimate-section { background: linear-gradient(135deg, #e8e3de, #fff); }
.homepage .estimate-layout { gap: clamp(34px, 6vw, 70px); }
.homepage .estimate-copy,
.homepage .estimate-form { border-radius: 0; }
.homepage .estimate-copy { border-left: 5px solid #d71932; background: #111214; }
.homepage .estimate-copy h2,
.homepage .estimate-copy p { color: white; }
.homepage .estimate-form { border-top: 5px solid #d71932; box-shadow: 0 18px 48px rgba(35,28,24,.1); }

.homepage .material-grid { align-items: stretch; gap: 18px; }
.homepage .image-card { height: 100%; min-height: 380px; }
.homepage .image-card > div { min-height: 180px; align-content: end; }
.homepage .image-card p { margin-bottom: 12px; }
.homepage .image-card a { margin-top: auto; }

.homepage .services-band {
  background:
    linear-gradient(90deg, rgba(0,0,0,.22), transparent 35%),
    linear-gradient(120deg, #64101b, #d71932 62%, #8b0b1b);
}
.homepage .services-band .center-heading-light { background: rgba(17,18,20,.22); }
.homepage .services-band .eyebrow { color: #111214; background: white; }
.homepage .service-card { border: 1px solid rgba(255,255,255,.28); background: rgba(17,18,20,.76); }

.homepage .customer-grid { align-items: stretch; }
.homepage .customer-card { min-height: 500px; }
.homepage .customer-card > div { min-height: 225px; display: flex; flex-direction: column; justify-content: flex-end; }
.homepage .customer-card .mini-links { margin-top: auto; }

.homepage .proof-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}
.homepage .proof-grid article { grid-column: span 2; min-height: 225px; }
.homepage .proof-grid article:nth-child(-n+3) { min-height: 310px; }
.homepage .proof-grid article h3 { font-size: 1.65rem; }
.homepage .proof-grid article p { color: #f4f1ee; text-align: left; }

.homepage .price-section {
  background: radial-gradient(circle at 90% 15%, rgba(35,108,67,.25), transparent 28%), linear-gradient(145deg, #111214, #24272b);
}
.homepage .price-section h2,
.homepage .price-section p { color: white; }
.homepage .price-list article { border: 1px solid rgba(255,255,255,.14); background: linear-gradient(135deg, #f7f4f0, #fff); }
.homepage .price-list article p { color: #505056; }
.homepage .price-section .notice { color: #173b28; background: linear-gradient(110deg, #dff0e5, #f7fbf8); }

.homepage .feedback-proof { width: fit-content; max-width: 100%; padding: 14px 22px; border-left: 5px solid #236c43; background: white; }
.homepage .feedback-proof p { margin: 0; }
.homepage .testimonial-slide { border: 1px solid #ddd6cf; border-top: 4px solid #d71932; border-radius: 0; background: white; box-shadow: 0 14px 34px rgba(35,28,24,.08); }

.homepage .yard-card { border: 1px solid #d8d2cb; border-top: 5px solid #d71932; background: white; box-shadow: 0 16px 42px rgba(35,28,24,.1); }
.homepage .yard-body { display: flex; flex-direction: column; height: calc(100% - 250px); }
.homepage .yard-body dl { flex: 1; }
.homepage .yard-body .button-row { align-items: stretch; }
.homepage .yard-body .button { flex: 1 1 180px; padding-inline: 14px; font-size: .79rem; }
.homepage .button-location { color: white; background: #236c43; }
.homepage .button-call { color: white; background: #111214; }

@media (max-width: 980px) {
  .homepage { font-size: 17px; }
  .homepage .proof-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .homepage .proof-grid article { grid-column: auto; min-height: 240px; }
  .homepage .proof-grid article:nth-child(-n+3) { min-height: 260px; }
}

@media (max-width: 620px) {
  .homepage .hero { min-height: 0; padding-top: 110px; }
  .homepage .hero-image { object-position: 64% center; }
  .homepage .hero-copy { padding: 24px 18px; }
  .homepage .hero h1 { font-size: clamp(3.1rem, 16vw, 4.7rem); }
  .homepage .trust-grid { grid-template-columns: 1fr; }
  .homepage .trust-grid article { padding: 14px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }
  .homepage .proof-grid { grid-template-columns: 1fr; }
  .homepage .proof-grid article,
  .homepage .proof-grid article:nth-child(-n+3) { min-height: 240px; }
}

@media (prefers-reduced-motion: reduce) {
  .homepage .hero-cta-row .button-primary::after { animation: none; }
}

/* Final audit correction: a true dark/light rhythm between every homepage section. */
.homepage .estimate-section { color: var(--ink); background: linear-gradient(135deg, #f0ebe6, #fff) !important; }
.homepage .materials-section { color: white; background: linear-gradient(135deg, #111214, #26282c) !important; }
.homepage .materials-section .center-heading h2,
.homepage .materials-section .center-heading p { color: white; }
.homepage .materials-section .eyebrow { color: #111214; background: white; }

.homepage .process-section { color: var(--ink); background: #f7f4f0 !important; }
.homepage .why-section { color: white; background: linear-gradient(135deg, #17181b, #2b2d31) !important; }
.homepage .why-section .center-heading h2,
.homepage .why-section .center-heading p { color: white; }
.homepage .why-section .eyebrow { color: #111214; background: white; }
.homepage .proof-grid article,
.homepage .proof-grid article:nth-child(-n+3) { min-height: 270px; }
.homepage .proof-grid article:nth-child(-n+3) { border-top: 5px solid #f43b4e; }

.homepage .price-section {
  color: var(--ink);
  background: radial-gradient(circle at 90% 15%, rgba(35,108,67,.14), transparent 28%), linear-gradient(145deg, #f4f0eb, #fff) !important;
}
.homepage .price-section h2,
.homepage .price-section p { color: var(--ink); }
.homepage .price-section .eyebrow { color: white; background: #111214; }
.homepage .price-list article { box-shadow: 0 12px 30px rgba(35,28,24,.08); }

.homepage .hero-context-band { color: white; background: linear-gradient(115deg, #111214, #65101c 52%, #b51228) !important; }
.homepage .battery-band {
  color: #102118;
  background: linear-gradient(135deg, #dcefe3, #f5faf6) !important;
}
.homepage .battery-band h2,
.homepage .battery-band p { color: #102118; }
.homepage .battery-band .eyebrow { color: white; background: #236c43; }
.homepage .battery-band::before { color: rgba(35,108,67,.12); }
.homepage .battery-types { color: white; border-color: rgba(35,108,67,.32); background: linear-gradient(145deg, #174b30, #236c43); }
.homepage .battery-types p,
.homepage .battery-types li { color: white; }
.homepage .battery-band .button-light { color: white; background: #236c43; }

.homepage .customer-section { color: white; background: linear-gradient(135deg, #121315, #2a2c30) !important; }
.homepage .customer-section .center-heading h2,
.homepage .customer-section .center-heading p { color: white; }
.homepage .customer-section .eyebrow { color: #111214; background: white; }

.homepage .services-band { color: var(--ink); background: linear-gradient(135deg, #f2e5e7, #fff) !important; }
.homepage .services-band .center-heading-light { border-color: rgba(215,25,50,.18); background: rgba(255,255,255,.76); }
.homepage .services-band .center-heading-light h2,
.homepage .services-band .center-heading-light p { color: var(--ink); }
.homepage .services-band .center-heading-light .eyebrow { color: white; background: #d71932; }
.homepage .service-card { color: white; background: linear-gradient(145deg, #17181b, #2c2e32); }
.homepage .service-card h3 { color: white; }
.homepage .service-card p { color: #f0edef; }
.homepage .service-card .mini-links a { color: #111214; }
.homepage .service-card .mini-links a:first-child { color: white; }

.homepage .testimonials-section { color: white; background: linear-gradient(135deg, #172019, #20372a) !important; }
.homepage .testimonials-section .center-heading h2 { color: white; }
.homepage .testimonials-section .eyebrow { color: #173c27; background: #dcefe3; }
.homepage .locations-section { color: var(--ink); background: #f7f4f0 !important; }
.homepage .faq-section { color: white; background: linear-gradient(135deg, #111214, #282a2e) !important; }
.homepage .faq-section h2,
.homepage .faq-section .faq-heading p { color: white; }
.homepage .faq-section .eyebrow { color: #111214; background: white; }
.homepage .faq-section details { color: var(--ink); background: white; }
.homepage .final-cta { color: var(--ink); background: linear-gradient(135deg, #f7dfe3, #fff) !important; }
.homepage .final-cta h2,
.homepage .final-cta p { color: var(--ink); }
.homepage .final-cta .eyebrow { color: white; background: #d71932; padding-inline: 16px; }
.homepage .final-cta .button-light { color: white; background: #d71932; }

@media (max-width: 620px) {
  .homepage .proof-grid article,
  .homepage .proof-grid article:nth-child(-n+3) { min-height: 240px; }
  .homepage .hero h1,
  .homepage .hero h1 span,
  .homepage h2,
  .homepage h3,
  .homepage .button { max-width: 100%; overflow-wrap: anywhere; }
}

/* Homepage approval round: aligned material cards, two Why Scrap Mart concepts and roomier FAQs. */
.homepage .material-grid { grid-auto-rows: 1fr; }
.homepage .image-card { grid-template-rows: 178px minmax(228px, 1fr); }
.homepage .image-card > div {
  min-height: 228px;
  display: grid;
  grid-template-rows: 3.8rem minmax(0, 1fr) auto;
  align-content: stretch;
  padding: 22px;
}
.homepage .image-card h3 {
  min-height: 0;
  display: flex;
  align-items: flex-start;
  margin: 0 0 14px;
  line-height: 1.35;
}
.homepage .image-card p { min-height: 0; margin: 0 0 18px; }
.homepage .image-card a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: end;
  margin: 0;
  padding: 10px 14px;
  color: white;
  border: 1px solid #e33b50;
  background: #d71932;
  font-size: .78rem;
  letter-spacing: .04em;
  text-align: center;
}
.homepage .image-card a:hover { border-color: #a50d20; background: #a50d20; }

.homepage .why-option { position: relative; }
.homepage .why-option .container { position: relative; z-index: 1; }
.homepage .why-option-label {
  width: fit-content;
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 0 auto 28px;
  padding: 8px 12px 8px 8px;
  border: 1px solid rgba(215,25,50,.22);
  background: rgba(255,255,255,.92);
  color: #111214;
  font-family: var(--display);
  font-size: .76rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.homepage .why-option-label span { padding: 6px 9px; color: white; background: #d71932; }
.homepage .why-option-label strong { font-weight: 700; }

.homepage .why-option-text {
  color: var(--ink);
  background: linear-gradient(145deg, #ede8e2, #fbf9f6) !important;
}
.homepage .why-option-text .center-heading h2 { color: var(--ink); }
.homepage .why-option-text .center-heading p { color: #535158; }
.homepage .why-option-text .eyebrow { color: white; background: #111214; }
.homepage .why-ledger {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid #d9d2ca;
  background: #d9d2ca;
  box-shadow: 0 20px 52px rgba(46,39,33,.1);
}
.homepage .why-ledger article {
  min-height: 148px;
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 22px;
  align-items: center;
  padding: 26px 28px;
  background: white;
}
.homepage .why-ledger article > span {
  color: #d71932;
  font-family: var(--display);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}
.homepage .why-ledger article > div { padding-left: 22px; border-left: 2px solid #e5dfd8; }
.homepage .why-ledger h3,
.homepage .why-proof-list h3 { margin: 0 0 8px; font-size: 1.18rem; line-height: 1.25; text-transform: uppercase; }
.homepage .why-ledger p,
.homepage .why-proof-list p { margin: 0; font-size: .9rem; line-height: 1.6; }
.homepage .why-ledger p { color: #5d5b61; }

.homepage .why-option-photo {
  color: white;
  background: linear-gradient(135deg, #141517, #27292d) !important;
}
.homepage .why-photo-layout {
  display: grid;
  grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: stretch;
}
.homepage .why-photo {
  min-height: 570px;
  position: relative;
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(255,255,255,.18);
  border-top: 6px solid #d71932;
}
.homepage .why-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, rgba(0,0,0,.88));
}
.homepage .why-photo img { width: 100%; height: 100%; object-fit: cover; }
.homepage .why-photo figcaption {
  position: absolute;
  z-index: 1;
  right: 26px;
  bottom: 26px;
  left: 26px;
  color: white;
  font-family: var(--display);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}
.homepage .why-photo-content { display: flex; flex-direction: column; }
.homepage .why-photo-content .section-intro { margin-bottom: 30px; }
.homepage .why-photo-content h2 { color: white; }
.homepage .why-photo-content .section-intro p { color: #d8d7da; }
.homepage .why-option-photo .eyebrow { color: #111214; background: white; }
.homepage .why-proof-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.homepage .why-proof-list article {
  min-height: 138px;
  position: relative;
  padding: 22px 22px 20px 26px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.055);
}
.homepage .why-proof-list article::before {
  content: "";
  position: absolute;
  top: 22px;
  bottom: 22px;
  left: 0;
  width: 4px;
  background: #d71932;
}
.homepage .why-proof-list h3 { color: white; }
.homepage .why-proof-list p { color: #d8d7da; }
.homepage .why-option-photo .not-accepted { margin-top: 34px; }

.homepage .faq-layout { gap: clamp(44px, 6vw, 76px); }
.homepage .accordion { display: grid; gap: 12px; }
.homepage .accordion details,
.homepage .accordion details:last-child {
  overflow: hidden;
  border: 1px solid #d8d2cb;
  border-radius: 10px;
  background: #f8f5f1;
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
}
.homepage .accordion details[open] { border-color: #d71932; background: white; }
.homepage .accordion summary {
  min-height: 78px;
  gap: 24px;
  padding: 18px 18px 18px 24px;
  font-size: clamp(1.06rem, 1.7vw, 1.35rem);
  line-height: 1.25;
}
.homepage .accordion summary span {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: grid;
  place-items: center;
  border: 1px solid #e3bdc2;
  border-radius: 50%;
  background: #fff0f2;
  line-height: 1;
}
.homepage .accordion summary:focus-visible { outline: 3px solid #d71932; outline-offset: -3px; }
.homepage .accordion details > p { margin: 0; padding: 0 76px 24px 24px; line-height: 1.7; }

@media (max-width: 980px) {
  .homepage .why-photo-layout { grid-template-columns: 1fr; }
  .homepage .why-photo { min-height: 380px; }
}

@media (max-width: 760px) {
  .homepage .why-ledger,
  .homepage .why-proof-list { grid-template-columns: 1fr; }
  .homepage .why-ledger article { min-height: 0; }
}

@media (max-width: 620px) {
  .homepage .image-card { grid-template-rows: 178px auto; }
  .homepage .image-card > div { min-height: 0; grid-template-rows: auto auto auto; }
  .homepage .image-card h3 { min-height: 0; }
  .homepage .why-option-label { margin-bottom: 22px; }
  .homepage .why-ledger article { grid-template-columns: 44px 1fr; gap: 14px; padding: 22px 18px; }
  .homepage .why-ledger article > span { font-size: 1.5rem; }
  .homepage .why-ledger article > div { padding-left: 15px; }
  .homepage .why-photo { min-height: 310px; }
  .homepage .why-photo figcaption { right: 20px; bottom: 20px; left: 20px; font-size: 1.1rem; }
  .homepage .why-proof-list article { min-height: 0; }
  .homepage .accordion summary { min-height: 72px; gap: 14px; padding: 16px 14px 16px 18px; }
  .homepage .accordion summary span { width: 36px; height: 36px; flex-basis: 36px; }
  .homepage .accordion details > p { padding: 0 18px 20px; }
}

/* Selected homepage banner: Option 1 with expanded, clearly separated scrap variety. */
.homepage .hero {
  min-height: 760px;
  isolation: isolate;
  background: #151719;
}
.homepage .hero-image {
  filter: none;
  object-position: center;
}
.homepage .hero-overlay {
  z-index: 1;
  background: linear-gradient(90deg, rgba(8,9,10,.2), rgba(8,9,10,.03) 56%, transparent 70%);
}
.homepage .hero-inner {
  z-index: 4;
  justify-content: flex-start;
  padding-top: 94px;
  padding-bottom: 74px;
  text-align: left;
}
.homepage .hero-copy {
  width: min(690px, 46vw);
  max-width: 690px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.homepage .hero-copy .eyebrow { margin-inline: 0; }
.homepage .hero h1 {
  max-width: 680px;
  margin-inline: 0;
  font-size: clamp(3.7rem, 5.7vw, 5.7rem);
  line-height: .93;
  text-align: left;
}
.homepage .hero h1,
.homepage .hero-copy > p { text-shadow: 0 2px 7px rgba(0,0,0,.45); }
.homepage .hero-copy > p {
  max-width: 670px;
  margin-inline: 0;
  color: rgba(255,255,255,.9);
  font-size: 1rem;
  line-height: 1.55;
  text-align: left;
  text-align-last: auto;
}
.homepage .hero .button-row { justify-content: flex-start; }
@media (max-width: 980px) {
  .homepage .hero-inner { padding-top: 76px; padding-bottom: 62px; }
  .homepage .hero-copy { width: min(620px, 58vw); }
  .homepage .hero h1 { font-size: clamp(3.2rem, 7.5vw, 4.8rem); }
}

@media (max-width: 620px) {
  .homepage .hero { min-height: 780px; padding-top: 98px; align-items: flex-start; }
  .homepage .hero-image { object-position: 61% center; }
  .homepage .hero-overlay { background: linear-gradient(180deg, rgba(8,9,10,.9) 0%, rgba(8,9,10,.73) 55%, rgba(8,9,10,.18) 100%); }
  .homepage .hero-inner { padding-top: 38px; padding-bottom: 250px; }
  .homepage .hero-copy { width: 100%; max-width: none; }
  .homepage .hero h1 { font-size: clamp(3rem, 15vw, 4.35rem); }
  .homepage .hero-copy > p { font-size: .94rem; line-height: 1.55; }
}

/* Final homepage card alignment: equal content rows without changing approved copy. */
@media (min-width: 760px) {
  .homepage .material-grid { align-items: stretch; grid-auto-rows: 1fr; }
  .homepage .image-card {
    height: 100%;
    display: grid;
    grid-template-rows: 178px minmax(272px, 1fr);
  }
  .homepage .image-card > div {
    min-height: 272px;
    display: grid;
    grid-template-rows: 64px minmax(0, 1fr) 44px;
    gap: 0;
    align-content: stretch;
    padding: 22px;
  }
  .homepage .image-card h3 {
    min-height: 64px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin: 0;
    text-align: center;
  }
  .homepage .image-card p {
    align-self: start;
    margin: 0;
    text-align: center;
    text-align-last: center;
  }
  .homepage .image-card a {
    width: fit-content;
    min-width: 136px;
    align-self: end;
    justify-self: center;
    margin: 0;
  }
}

.homepage .customer-grid { align-items: stretch; grid-auto-rows: 1fr; }
.homepage .customer-card { height: 100%; }
.homepage .customer-card > div {
  min-height: 330px;
  display: grid;
  grid-template-rows: 66px minmax(0, 1fr) 46px;
  gap: 0;
  align-content: stretch;
  justify-content: stretch;
  padding: 26px;
}
.homepage .customer-card h3 {
  min-height: 66px;
  display: flex;
  align-items: flex-start;
  margin: 0;
}
.homepage .customer-card p {
  align-self: start;
  margin: 0;
}
.homepage .customer-card .mini-links {
  align-self: end;
  margin: 0;
}

@media (max-width: 1050px) {
  .homepage .customer-card > div { min-height: 280px; }
}

@media (max-width: 620px) {
  .homepage .customer-card > div {
    min-height: 0;
    grid-template-rows: auto auto auto;
    gap: 14px;
  }
  .homepage .customer-card h3 { min-height: 0; }
}

/* Homepage spacing refinement: keep card alignment while removing excess white space. */
@media (min-width: 760px) {
  .homepage .image-card {
    grid-template-rows: 178px minmax(224px, 1fr);
  }
  .homepage .image-card > div {
    min-height: 224px;
    grid-template-rows: 38px minmax(0, 1fr) 44px;
    padding: 18px 18px 20px;
  }
  .homepage .image-card h3 {
    min-height: 38px;
    margin: 0;
    line-height: 1.25;
  }
  .homepage .image-card p { margin: 0 0 12px; }
}

.homepage .yard-card {
  display: grid;
  grid-template-rows: 285px 1fr;
}
.homepage .yard-body {
  height: auto;
  padding: 24px 28px 30px;
}
.homepage .yard-body h3 { margin-bottom: 18px; }
.homepage .yard-body dl { flex: none; }
.homepage .yard-body dl div { padding: 8px 0; }
.homepage .yard-body .button-row { margin-top: 22px; }

@media (max-width: 760px) {
  .homepage .yard-card { grid-template-rows: 270px auto; }
  .homepage .yard-body { padding: 22px 20px 26px; }
}

/* Shared responsive polish: crisp recycling detail and centred process cards. */
.homepage .battery-band::before {
  content: "";
  right: clamp(18px, 3vw, 48px);
  bottom: clamp(12px, 2vw, 28px);
  width: clamp(170px, 18vw, 230px);
  height: clamp(170px, 18vw, 230px);
  background: url("assets/recycle-mark.svg") center / contain no-repeat;
  opacity: .16;
  transform: rotate(-8deg);
}
.homepage .battery-types::after { content: none; display: none; }

.homepage .process-grid li {
  align-items: center;
  text-align: center;
}
.homepage .process-grid li > span { margin-inline: auto; }
.homepage .process-grid h3,
.homepage .process-grid p { width: 100%; text-align: center; }

.homepage .yard-body .button-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.homepage .yard-body .button-row .button {
  width: 100%;
  min-width: 0;
  margin: 0;
}
.homepage .yard-body .button-row .button-wide { grid-column: 1 / -1; }

@media (max-width: 620px) {
  .homepage .battery-band::before {
    right: -20px;
    bottom: 12px;
    width: 160px;
    height: 160px;
    opacity: .13;
  }
  .homepage .yard-body .button-row { grid-template-columns: 1fr; }
  .homepage .yard-body .button-row .button-wide { grid-column: auto; }
}
