:root {
  --orange: #ed6428;
  --orange-dark: #c24714;
  --yellow: #f5b942;
  --ink: #172027;
  --navy: #202b33;
  --slate: #5e686f;
  --line: #dce0e1;
  --soft: #f3f4f1;
  --paper: #fff;
  --radius: 14px;
  --shadow: 0 22px 60px #17202716;
}


html,
body { overflow-x: clip; }
body { transition: background-color .25s, color .25s; }
.brand-logo-art { display: none; }
.footer-logo-art { display: block; width: min(310px, 100%); height: auto; }
.footer-brand .brand-mark,
.footer-brand .brand-copy { display: none; }
.footer-brand { align-items: flex-start; margin-bottom: 1.8rem; }
.site-footer { position: relative; overflow: hidden; padding: 0 0 1.5rem; background: #171310; }
.site-footer::before { content: ""; display: block; height: 8px; background: linear-gradient(90deg, #c63f0a 0%, #ff5a00 58%, #ffd21a 100%); }
.footer-grid { grid-template-columns: 1fr 1fr; align-items: start; column-gap: 5rem; row-gap: 2.75rem; padding-block: 4.75rem; }
.footer-grid > div:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(270px, 340px) minmax(320px, 580px); grid-template-rows: auto auto; justify-content: space-between; align-items: center; gap: .8rem 5rem; padding-bottom: 3.25rem; border-bottom: 1px solid #ffffff1f; }
.footer-grid > div:first-child .footer-brand { grid-row: 1 / 3; margin-bottom: 0; }
.footer-grid > div:first-child > p { max-width: 560px; margin: 0; color: #b9afa8; font-size: 1rem; line-height: 1.75; }
.footer-grid > div:nth-child(2) { grid-column: 1; }
.footer-grid > div:nth-child(3) { grid-column: 2; }
.footer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem 1.35rem; }
.footer-actions a:first-child { color: #fff; font-size: 1.08rem; }
.footer-actions a:last-child { color: #d8cec7; font-weight: 650; }
.footer-grid h2 { margin-bottom: 1.3rem; color: #ffd21a; font-size: .72rem; letter-spacing: .16em; }
.footer-links { gap: 0; }
.footer-links li { border-bottom: 1px solid #ffffff14; }
.footer-links a { display: flex; justify-content: space-between; gap: .75rem; padding-block: .75rem; transition: color .18s, padding-left .18s; }
.footer-links a::after { content: "›"; color: #ff6a16; opacity: 0; transform: translateX(-5px); transition: opacity .18s, transform .18s; }
.footer-links a:hover { padding-left: .25rem; }
.footer-links a:hover::after { opacity: 1; transform: translateX(0); }
.footer-cta { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.75rem; min-height: 0; padding: 1.35rem 1.5rem 1.35rem 1.75rem; color: #fff; background: #231e1a; border: 1px solid #ffffff17; border-left: 4px solid #ff5a00; border-radius: 3px; box-shadow: none; }
.footer-cta h2 { margin: 0; color: #ffd21a; white-space: nowrap; }
.footer-cta p { margin: 0; color: #b9afa8; font-size: .92rem; }
.footer-cta .button { min-height: 44px; color: #fff; background: #f05208; border-color: #f05208; box-shadow: none; }
.footer-cta .button:hover { background: #ff6410; border-color: #ff6410; }
.footer-bottom { margin-top: 0; padding-top: 1.5rem; color: #8f847d; border-top-color: #ffffff1f; }
.footer-bottom span:last-child { color: #d4c9c1; }
/* Sunrise Core production theme. */
/* Sunrise Core production theme. */
body[data-concept="sunrise-core"] {
  --orange: #ff5a00;
  --orange-dark: #c63f0a;
  --yellow: #ffd21a;
  --ink: #171310;
  --navy: #29211c;
  --slate: #665a52;
  --line: #e2d2c5;
  --soft: #f8eee2;
  --paper: #fff9ef;
  --radius: 14px;
  --shadow: 0 20px 55px #4b210f17;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body[data-concept="sunrise-core"] h1,
body[data-concept="sunrise-core"] h2,
body[data-concept="sunrise-core"] h3 { letter-spacing: -.035em; line-height: 1.06; }
body[data-concept="sunrise-core"] h1 {
  max-width: 780px;
  font-size: clamp(2.75rem, 3.8vw, 3.55rem);
  line-height: 1.04;
  letter-spacing: 0;
  text-wrap: balance;
}
body[data-concept="sunrise-core"] .topbar { color: #fff; background: #b93608; }
body[data-concept="sunrise-core"] .site-header { background: #fff9eff5; border-bottom-color: #ead8c9; }
body[data-concept="sunrise-core"] .nav-wrap { position: relative; height: 132px; }
body[data-concept="sunrise-core"] .nav-wrap > .brand { position: absolute; z-index: 3; top: 50%; left: 50%; width: 178px; height: 108px; justify-content: center; transform: translate(-50%, -50%); }
body[data-concept="sunrise-core"] .nav-wrap > .brand .brand-mark,
body[data-concept="sunrise-core"] .nav-wrap > .brand .brand-copy { display: none; }
body[data-concept="sunrise-core"] .brand-logo-art { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 5px 5px #5c240d28); transform: none; }
body[data-concept="sunrise-core"] .primary-nav { width: 100%; gap: 1.15rem; padding-left: 0; }
body[data-concept="sunrise-core"] .primary-nav > a:nth-child(3) { margin-right: auto; }
body[data-concept="sunrise-core"] .primary-nav > a:nth-child(4) { margin-left: 210px; }
body[data-concept="sunrise-core"] .home-hero { position: relative; isolation: isolate; color: #fff; background: radial-gradient(circle at 24% 14%, #ff7c1a 0%, #ff6410 22%, transparent 48%), linear-gradient(135deg, #f85d05 0%, #df4709 68%, #bd3408 100%); overflow: hidden; }
body[data-concept="sunrise-core"] .home-hero::after { content: ""; position: absolute; z-index: -1; right: -8%; bottom: -42%; width: 720px; height: 720px; border: 1px solid #ffffff38; border-radius: 50%; box-shadow: 0 0 0 55px #ffffff09, 0 0 0 110px #ffffff09; }
body[data-concept="sunrise-core"] .home-hero-grid {
  grid-template-columns: minmax(0, 1.3fr) minmax(360px, .7fr);
  gap: 2rem;
  min-height: calc(100svh - 170px);
  padding-block: clamp(2.25rem, 4.5vh, 3.75rem);
}
body[data-concept="sunrise-core"] .home-hero-copy > p { max-width: 620px; color: #fff8ef; }
body[data-concept="sunrise-core"] .home-hero-copy > p { margin-block: 1.2rem 1.45rem; font-size: 1.08rem; line-height: 1.6; }
body[data-concept="sunrise-core"] .trust-row { margin-top: 1.35rem; }
body[data-concept="sunrise-core"] .home-hero .eyebrow { color: #35170b; }
body[data-concept="sunrise-core"] .hero-sun { width: 480px; height: 480px; background: linear-gradient(145deg, #ffe037, #ffc51d); }
body[data-concept="sunrise-core"] .hero-visual img {
  content: url("/images/sunrise-dumpster-hero-cutout.webp");
  width: min(780px, 145%);
  max-width: none;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 28px 25px #7b2b0e55);
  transform: translate(-18px, 18px) scale(1.06);
}
body[data-concept="sunrise-core"] .hero-visual { min-height: 0; height: 100%; }
body[data-concept="sunrise-core"] .hero-card { bottom: clamp(8px, 2.5vh, 26px); }
body[data-concept="sunrise-core"] .hero-card { color: var(--ink); background: #fff9eff2; border: 1px solid #ffffffc7; border-radius: 10px; box-shadow: 0 18px 45px #76260938; backdrop-filter: blur(10px); }
body[data-concept="sunrise-core"] .hero-card span { color: var(--slate); }
body[data-concept="sunrise-core"] .button { border-radius: 999px; box-shadow: none; text-transform: none; letter-spacing: 0; }
body[data-concept="sunrise-core"] .hero-actions .button:first-child { color: #fff; background: var(--ink); border-color: var(--ink); }
body[data-concept="sunrise-core"] .hero-actions .button-secondary,
body[data-concept="sunrise-core"] .button-outline-light {
  color: #171310;
  background: #ffc928;
  border-color: #ffc928;
}
body[data-concept="sunrise-core"] .hero-actions .button-secondary:hover,
body[data-concept="sunrise-core"] .button-outline-light:hover {
  color: #171310;
  background: #fff1b8;
  border-color: #fff1b8;
}
.form-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
body[data-concept="sunrise-core"] .trust-row { color: #fff8ef; }
body[data-concept="sunrise-core"] .trust-row span::before { color: var(--yellow); }
body[data-concept="sunrise-core"] .service-strip {
  color: #fff;
  background: #171310;
  border: 0;
  border-bottom: 5px solid #ffc928;
}
body[data-concept="sunrise-core"] .service-strip-grid { border-top: 1px solid #ffffff18; }
body[data-concept="sunrise-core"] .service-strip-grid > div {
  padding-block: .9rem;
  border-color: #ffffff18;
}
body[data-concept="sunrise-core"] .service-strip-grid strong { font-size: .76rem; }
body[data-concept="sunrise-core"] .service-strip-grid span { font-size: .7rem; }
body[data-concept="sunrise-core"] .service-strip-grid span { color: #c9bbb2; }
.review-band {
  position: relative;
  z-index: 3;
  margin-top: -1px;
  padding-block: 1.15rem;
  color: #fff;
  background: #171310;
  border-top: 1px solid #ffffff1c;
  border-bottom: 1px solid #ffffff14;
}
.review-shell {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: .65rem 1.5rem;
}
.review-intro { grid-column: 1; grid-row: 1; align-self: end; }
.review-intro .eyebrow { margin-bottom: .35rem; color: #ffc928; font-size: .62rem; }
.review-intro strong { display: block; font-size: .88rem; line-height: 1.2; }
.review-intro span { display: block; margin-top: .25rem; color: #a99a90; font-size: .67rem; }
.review-stage {
  grid-column: 2;
  grid-row: 1 / span 2;
  display: flex;
  gap: .7rem;
  min-width: 0;
  padding: .15rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.review-stage::-webkit-scrollbar { display: none; }
.review-card {
  flex: 0 0 calc((100% - 1.4rem) / 3);
  min-height: 112px;
  padding: .85rem 1rem;
  background: #211c19;
  border: 1px solid #ffffff12;
  border-radius: 5px;
  scroll-snap-align: start;
}
.review-stars { color: #ffc928; letter-spacing: .08em; font-size: .68rem; }
.review-card blockquote {
  margin: .45rem 0 .65rem;
  color: #fffaf5;
  font-size: .83rem;
  font-weight: 650;
  line-height: 1.42;
}
.review-card footer { display: flex; align-items: center; gap: .55rem; color: #9f9086; font-size: .67rem; }
.review-card footer strong { color: #fff; font-size: .7rem; }
.review-card footer span { padding-left: .55rem; border-left: 1px solid #ffffff2b; }
.review-controls {
  grid-column: 1;
  grid-row: 2;
  display: flex;
  align-items: center;
  align-self: start;
  gap: .65rem;
}
.review-buttons { display: flex; gap: .55rem; }
.review-button {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  color: #fff;
  background: #2a2420;
  border: 1px solid #ffffff52;
  border-radius: 50%;
  cursor: pointer;
  font-size: .95rem;
}
.review-button:hover,
.review-button:focus-visible { color: #171310; background: #ffc928; border-color: #ffc928; }
.review-count { display: none; }
body[data-concept="sunrise-core"] .service-card,
body[data-concept="sunrise-core"] .dumpster-card { border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
body[data-concept="sunrise-core"] .service-card-media { background: linear-gradient(145deg, #fff1df, #f6e3d3); }
body[data-concept="sunrise-core"] .service-card:nth-child(1) .service-card-media img {
  content: url("/images/dumpster-15-render.webp");
  object-fit: contain;
  padding: 1.15rem;
  filter: drop-shadow(0 18px 16px #6b2a1129);
}
body[data-concept="sunrise-core"] .service-card:nth-child(2) .service-card-media img {
  content: url("/images/junk-removal-hero-photo.webp");
  object-fit: cover;
}
body[data-concept="sunrise-core"] .service-card:nth-child(3) .service-card-media img {
  content: url("/images/flatpack-storage-closed-photo.webp");
  object-fit: cover;
  object-position: 50% 38%;
}
body[data-concept="sunrise-core"] .dumpster-image { background: #f5e5d6; }
body[data-concept="sunrise-core"] .dumpster-image img {
  aspect-ratio: 3 / 2;
  object-fit: contain;
  filter: drop-shadow(0 16px 14px #54230e24);
}
body[data-concept="sunrise-core"] .dumpster-card:nth-child(1) .dumpster-image img { content: url("/images/dumpster-12-render.webp"); }
body[data-concept="sunrise-core"] .dumpster-card:nth-child(2) .dumpster-image img { content: url("/images/dumpster-15-render.webp"); }
body[data-concept="sunrise-core"] .dumpster-card:nth-child(3) .dumpster-image img { content: url("/images/dumpster-20-render.webp"); }
body[data-concept="sunrise-core"] .section-dark { background: #171310; border-top: 7px solid var(--orange); border-bottom: 7px solid var(--yellow); }
body[data-concept="sunrise-core"] .availability { color: #4c2c00; background: #ffe58a; }
body[data-concept="sunrise-core"] .section-soft:has(.local-grid) { background: #fff1df; }
body[data-concept="sunrise-core"] .section-soft:has(.faq-list) { background: #fff9ef; border-top: 1px solid #ead8c9; }

/* Sunrise Core inner pages */
body.inner-page[data-concept="sunrise-core"] .page-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  min-height: min(620px, calc(100svh - 170px));
  padding-block: clamp(3.5rem, 7vh, 6rem);
  color: #fff;
  background:
    radial-gradient(circle at 78% 16%, #ff8a25 0%, #ff6813 22%, transparent 48%),
    linear-gradient(135deg, #f85d05 0%, #d94308 72%, #b83208 100%);
}
body.inner-page[data-concept="sunrise-core"] .page-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -190px;
  bottom: -330px;
  width: 680px;
  height: 680px;
  border: 1px solid #ffffff38;
  border-radius: 50%;
  box-shadow: 0 0 0 54px #ffffff09, 0 0 0 108px #ffffff09;
}
body.inner-page[data-concept="sunrise-core"] .page-hero.compact {
  min-height: 430px;
  padding-block: clamp(3.5rem, 7vh, 5.5rem);
}
body.inner-page[data-concept="sunrise-core"] .page-hero-grid {
  grid-template-columns: minmax(0, .95fr) minmax(440px, 1.05fr);
  gap: clamp(2.5rem, 6vw, 6rem);
}
body.inner-page[data-concept="sunrise-core"] .page-hero.compact .page-hero-grid {
  grid-template-columns: minmax(0, 900px);
}
body.inner-page[data-concept="sunrise-core"] .page-hero h1 {
  max-width: 820px;
  font-size: clamp(2.9rem, 5.1vw, 5rem);
  line-height: 1.02;
  letter-spacing: 0;
}
body.inner-page[data-concept="sunrise-core"] .page-hero-copy p {
  max-width: 700px;
  margin-block: 1.3rem 1.7rem;
  color: #fff7ef;
  font-size: 1.08rem;
  line-height: 1.65;
}
body.inner-page[data-concept="sunrise-core"] .page-hero .eyebrow { color: #32170c; }
body.inner-page[data-concept="sunrise-core"] .page-hero h1 {
  max-width: 720px;
  font-size: clamp(2.35rem, 3.15vw, 3rem);
  line-height: 1.06;
}
body.inner-page[data-concept="sunrise-core"] .page-hero .text-link { color: #fff; }
body.inner-page[data-concept="sunrise-core"] .page-hero .text-link span { color: #ffdc36; }
body.inner-page[data-concept="sunrise-core"] .page-hero-media {
  min-height: 390px;
  display: grid;
  place-items: center;
}
body.inner-page[data-concept="sunrise-core"] .page-hero-media::before {
  top: 50%;
  right: 50%;
  width: min(440px, 82%);
  height: auto;
  aspect-ratio: 1;
  background: linear-gradient(145deg, #ffe03c, #ffbe22);
  transform: translate(58%, -50%);
}
body.inner-page[data-concept="sunrise-core"] .page-hero-media img {
  width: min(650px, 112%);
  max-height: 440px;
  object-fit: contain;
  filter: drop-shadow(0 28px 24px #70210745);
}
body.inner-page[data-concept="sunrise-core"] .page-hero-media img[src*="dumpster-service"] {
  content: url("/images/sunrise-dumpster-hero-cutout.webp");
  transform: translateX(18px) scale(1.06);
}
body.inner-page[data-concept="sunrise-core"] .junk-hero-media img {
  width: min(690px, 118%);
  max-width: none;
  transform: translate(10px, 14px) scale(1.03);
}
body.inner-page[data-concept="sunrise-core"] .page-hero-media img[src*="junk-removal"] {
  content: url("/images/junk-removal-hero-photo.webp");
  width: 100%;
  max-height: 410px;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border: 7px solid #fff8ee;
  box-shadow: 18px 18px 0 #ffc928;
  filter: none;
  transform: none;
}
body.inner-page[data-concept="sunrise-core"] .page-hero-media:has(img[src*="junk-removal"])::before { display: none; }
body.inner-page[data-concept="sunrise-core"] .page-hero-media img[src*="flatpack-storage"] {
  content: url("/images/flatpack-storage-hero-photo.webp");
  width: 100%;
  max-height: 410px;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: 50% 38%;
  border: 7px solid #fff8ee;
  box-shadow: 18px 18px 0 #ffc928;
  filter: brightness(1.04) contrast(1.08) saturate(1.04);
}
body.inner-page[data-concept="sunrise-core"] .page-hero-media:has(img[src*="flatpack-storage"])::before { display: none; }
.flatpack-hero-media {
  position: relative;
  padding: 0 0 28px 38px;
}
.flatpack-hero-media .flatpack-hero-complete {
  position: relative;
  z-index: 2;
}
.flatpack-delivery-card {
  position: absolute;
  z-index: 3;
  left: 0;
  bottom: 0;
  width: min(205px, 37%);
  margin: 0;
  border: 5px solid #fff8ee;
  background: #171310;
  box-shadow: 10px 10px 0 #ffc928;
}
body.inner-page[data-concept="sunrise-core"] .flatpack-delivery-card img {
  width: 100%;
  max-height: none;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: 50% 72%;
  border: 0;
  box-shadow: none;
  filter: brightness(1.02) contrast(1.04);
}
.flatpack-delivery-card figcaption {
  display: grid;
  gap: .15rem;
  padding: .65rem .75rem .7rem;
  color: #fff;
}
.flatpack-delivery-card figcaption span {
  color: #ffc928;
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: .56rem;
  font-weight: 900;
}
.flatpack-delivery-card figcaption strong {
  font-size: .72rem;
  line-height: 1.25;
}
body.inner-page[data-concept="sunrise-core"] .product-card > img {
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: 50% 38%;
}

body[data-concept="sunrise-core"] .dumpster-card {
  display: flex;
  flex-direction: column;
}
body[data-concept="sunrise-core"] .dumpster-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.not-for {
  margin: 0 0 1.25rem;
  padding: 1rem;
  border: 1px solid #efc7b8;
  background: #fff4ef;
}
.rental-term-note {
  margin: -.25rem 0 1.15rem;
  color: #766b64;
  font-size: .68rem;
  line-height: 1.45;
}
.not-for > span {
  color: #b92d13;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .7rem;
  font-weight: 900;
}
.not-for ul {
  display: grid;
  gap: .28rem;
  margin: .65rem 0 .75rem;
  padding: 0;
  color: #4b3e38;
  list-style: none;
  font-size: .77rem;
  line-height: 1.35;
}
.not-for li {
  position: relative;
  padding-left: 1rem;
}
.not-for li::before {
  content: "×";
  position: absolute;
  left: 0;
  color: #c52d18;
  font-weight: 900;
}
.not-for small {
  display: block;
  color: #76645b;
  font-size: .68rem;
  line-height: 1.4;
}
body[data-concept="sunrise-core"] .dumpster-card-body > .button {
  margin-top: auto;
}
.restricted-intro {
  max-width: 500px;
  margin: .8rem 0 0;
  color: #55463f;
  font-weight: 750;
}
body.inner-page[data-concept="sunrise-core"] .product-card:first-child > img {
  object-position: 50% 35%;
}
body.inner-page[data-concept="sunrise-core"] .about-visual {
  aspect-ratio: 4 / 3;
  padding: 0;
  overflow: hidden;
  border: 7px solid #fff8ee;
  border-radius: 14px;
  background: #fff1df;
  box-shadow: 18px 18px 0 #ffc928;
}
body.inner-page[data-concept="sunrise-core"] .about-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 39%;
  filter: brightness(1.03) contrast(1.06) saturate(1.03);
}
body.inner-page[data-concept="sunrise-core"] .page-hero + .section { border-top: 7px solid #ffc928; }
body.inner-page[data-concept="sunrise-core"] .section-soft { background: #fff4e7; }
body.inner-page[data-concept="sunrise-core"] .page-hero.compact + .section { border-top-color: #ffc928; }
.material-policy-layout {
  gap: 0;
  overflow: hidden;
  border: 1px solid #ddcabb;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 45px #5d2b1510;
}
.material-policy-layout .content-card {
  min-height: 100%;
  padding: clamp(1.7rem, 3vw, 2.4rem);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.material-policy-layout .content-card + .content-card { border-left: 1px solid #ddcabb; }
.material-policy-layout .content-card h2 { font-size: clamp(1.65rem, 2.6vw, 2.35rem); }
.material-policy-layout .check-list,
.material-policy-layout .x-list { margin-top: 1.25rem; }
.material-policy-notes {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 0;
  border: 0;
  border-top: 1px solid #ddcabb;
  background: #fffaf3;
}
.material-policy-notes article { padding: 1.55rem clamp(1.4rem, 2.5vw, 2rem); }
.material-policy-notes article + article { border-left: 1px solid #ddcabb; }
.material-policy-notes span {
  display: block;
  margin-bottom: .35rem;
  color: #c3420c;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.material-policy-notes strong { display: block; font-size: 1.05rem; }
.material-policy-notes p { margin: .35rem 0 0; font-size: .86rem; line-height: 1.55; }
.material-policy-warning {
  grid-column: 1 / -1;
  margin: 0;
  padding: 1.1rem clamp(1.4rem, 2.5vw, 2rem);
  color: #564a42;
  background: #fff2ce;
  border: 0;
  border-top: 1px solid #e9cf80;
  font-size: .86rem;
}
body[data-concept="sunrise-core"] .local-map-card { background: linear-gradient(135deg, #ffdcb8, #fff0dc); }
body[data-concept="sunrise-core"] .map-dot { background: #f24b00; }
body[data-concept="sunrise-core"] .area-tags span { background: #fffaf3; }
body[data-concept="sunrise-core"] .cta-band { background: linear-gradient(120deg, #c83e08 0%, #f05208 48%, #ff6700 100%); }
body[data-concept="sunrise-core"] .site-footer { background: var(--ink); border-top: 0; }
body[data-concept="sunrise-core"] .site-footer::before { height: 7px; background: #ffc928; }
.service-area-layout .map-panel {
  min-height: 590px;
  border: 1px solid #ddcabb;
  border-radius: 14px;
  background:
    linear-gradient(26deg, transparent 48.8%, #d8c8ba 49%, #d8c8ba 49.5%, transparent 49.7%) 0 0 / 180px 150px,
    linear-gradient(152deg, transparent 48.8%, #e3d5c9 49%, #e3d5c9 49.5%, transparent 49.7%) 0 0 / 230px 180px,
    #f5eadc;
  box-shadow: 0 20px 55px #4b210f12;
}
.service-area-layout .map-grid {
  opacity: .62;
  background-size: 44px 44px;
}
.service-area-layout .map-radius {
  top: 22%;
  left: 24%;
  width: 360px;
  height: 360px;
  background: #ff5a000d;
  border-color: #f05a1a99;
}
.service-area-layout .map-base {
  position: absolute;
  z-index: 4;
  top: 48%;
  left: 49%;
  display: grid;
  padding: .75rem .9rem;
  color: #fff;
  background: #171310;
  border: 3px solid #ffc928;
  box-shadow: 0 10px 22px #32170c35;
  transform: translate(-50%, -50%);
}
.service-area-layout .map-base strong { font-size: .78rem; }
.service-area-layout .map-base span { color: #d9ccc2; font-size: .65rem; }
.service-area-layout .map-legend {
  position: absolute;
  z-index: 4;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem .9rem;
  color: #5f5148;
  background: #fffaf3e8;
  border: 1px solid #ddcabb;
  backdrop-filter: blur(8px);
  font-size: .68rem;
  font-weight: 800;
}
.service-area-layout .map-legend span:first-child::before,
.service-area-layout .map-legend span:last-child::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: .4rem;
  background: #ff5a00;
  border-radius: 50%;
}
.service-area-layout .map-legend span:last-child::before {
  background: transparent;
  border: 1px dashed #ff5a00;
}
.service-area-layout .city-eastman { top: 68%; left: 12%; }
.service-area-layout .city-selkirk { top: 25%; left: 22%; }
.service-area-layout .city-beausejour { top: 48%; left: 60%; }
.service-area-layout .city-pinawa { top: 58%; left: 74%; }
.service-area-layout .city-lac { top: 34%; left: 67%; }
.service-area-layout .city-oakbank { top: 76%; left: 31%; }
.service-area-layout .city-anola { top: 82%; left: 48%; }
.service-area-layout .city-beaches { top: 14%; left: 48%; }
.service-area-layout .city-pine { top: 20%; left: 72%; }
.service-area-layout .city-whiteshell { top: 73%; left: 72%; }
.service-area-layout .point-map,
.home-point-map {
  isolation: isolate;
  min-height: 620px;
  background:
    linear-gradient(26deg, transparent 49.2%, #d7c4b32b 49.4%, #d7c4b32b 49.7%, transparent 49.9%) 0 0 / 210px 170px,
    linear-gradient(151deg, transparent 49.2%, #e0cfbf38 49.4%, #e0cfbf38 49.7%, transparent 49.9%) 0 0 / 260px 205px,
    #f4e7d8;
  overflow: hidden;
}
.home-point-map {
  position: relative;
  min-height: 520px;
  border: 1px solid #ddcabb;
  border-radius: 14px;
  box-shadow: 0 20px 55px #4b210f12;
}
.point-map::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(ellipse at 28% 33%, #ff5a0018 0 7%, transparent 31%),
    radial-gradient(ellipse at 78% 22%, #b6c8aa24 0 8%, transparent 32%),
    radial-gradient(ellipse at 72% 76%, #c9bba72b 0 7%, transparent 34%),
    linear-gradient(145deg, #fffaf34f, transparent 58%);
}
.point-map-grid {
  position: absolute;
  z-index: -2;
  inset: -40px;
  opacity: .5;
  background-image:
    linear-gradient(#cdb8a724 1px, transparent 1px),
    linear-gradient(90deg, #cdb8a724 1px, transparent 1px);
  background-size: 48px 48px;
  transform: rotate(-5deg);
}
.map-water {
  display: none;
}
.map-water span {
  position: absolute;
  top: 28%;
  left: 18%;
  text-transform: uppercase;
  font-size: .5rem;
  font-weight: 850;
  letter-spacing: .12em;
  transform: rotate(-8deg);
}
.map-region-name {
  position: absolute;
  z-index: 2;
  top: 1.25rem;
  right: 1.4rem;
  color: #927d6d;
  text-transform: uppercase;
  font-size: .52rem;
  font-weight: 900;
  letter-spacing: .14em;
}
.map-corridor {
  position: absolute;
  z-index: 1;
  height: 4px;
  display: none;
  background: #fffaf3b5;
  border-block: 1px solid #bba28e9c;
  box-shadow: 0 0 0 3px #f4e7d87a;
  transform-origin: left center;
}
.map-corridor::after {
  content: "";
  position: absolute;
  top: 1px;
  right: 0;
  left: 0;
  border-top: 1px dashed #b78d7059;
}
.corridor-west { top: 60%; left: -8%; width: 76%; transform: rotate(-17deg); }
.corridor-east { top: 22%; left: 29%; width: 82%; transform: rotate(34deg); }
.map-ticks {
  position: absolute;
  z-index: 2;
  opacity: .4;
}
.map-ticks-top {
  top: 0;
  right: 1.2rem;
  left: 1.2rem;
  height: 8px;
  background: repeating-linear-gradient(90deg, #8f7563 0 1px, transparent 1px 52px);
}
.map-ticks-left {
  top: 1.2rem;
  bottom: 1.2rem;
  left: 0;
  width: 8px;
  background: repeating-linear-gradient(#8f7563 0 1px, transparent 1px 52px);
}
.map-direction {
  position: absolute;
  z-index: 1;
  color: #a48f7f;
  text-transform: uppercase;
  font-size: .52rem;
  font-weight: 900;
  letter-spacing: .14em;
}
.direction-north { top: 1.25rem; left: 1.4rem; }
.direction-east { top: 50%; right: 1.25rem; transform: rotate(90deg); }
.point-city {
  position: absolute;
  z-index: 3;
  padding: .38rem .58rem .38rem 1.18rem;
  color: #2b211c;
  background: #fffaf4f2;
  border: 1px solid #d8c3b2;
  border-radius: 999px;
  box-shadow: 0 7px 16px #43200f12;
  font-size: .64rem;
  font-weight: 850;
  white-space: nowrap;
}
.point-city::before {
  content: "";
  position: absolute;
  top: 50%;
  left: .5rem;
  width: 6px;
  height: 6px;
  background: #ff5a00;
  border-radius: 50%;
  transform: translateY(-50%);
}
.point-selkirk { top: 49%; left: 12%; }
.point-beaches { top: 8%; left: 37%; }
.point-pine { top: 14%; left: 66%; }
.point-lac { top: 34%; left: 68%; }
.point-pinawa { top: 51%; left: 77%; }
.point-whiteshell { top: 73%; left: 69%; }
.point-beausejour { top: 53%; left: 46%; }
.point-oakbank { top: 70%; left: 25%; }
.point-anola { top: 78%; left: 46%; }
.point-eastman { top: 59%; left: 7%; }
.point-base {
  position: absolute;
  z-index: 4;
  top: 31%;
  left: 31%;
  display: grid;
  min-width: 160px;
  padding: .78rem .9rem;
  color: #fff;
  background: #171310;
  border-left: 5px solid #ffc928;
  box-shadow: 0 12px 26px #32170c3d;
}
.point-base::before {
  content: none;
}
.point-base::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 18px;
  width: 14px;
  height: 14px;
  background: #171310;
  transform: rotate(45deg);
}
.point-base span { color: #ffc928; text-transform: uppercase; font-size: .53rem; font-weight: 900; letter-spacing: .12em; }
.point-base strong { margin-top: .12rem; font-size: .78rem; }
.point-map-legend {
  position: absolute;
  z-index: 5;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .75rem .9rem;
  color: #5c4d43;
  background: #fffaf3ef;
  border: 1px solid #d8c3b2;
  backdrop-filter: blur(8px);
  font-size: .61rem;
  font-weight: 800;
}
.financing-band {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
  margin-top: 1.5rem;
  padding: 1.4rem 1.5rem;
  color: #fff;
  background: #171310;
  border-left: 5px solid #ff5a00;
}
.financing-band > div { display: grid; }
.financing-band span { color: #ffd21a; font-size: .7rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.financing-band strong { margin-top: .15rem; font-size: 1.35rem; }
.financing-band p { max-width: 660px; margin: .3rem 0 0; color: #c9bbb2; font-size: .85rem; }
.financing-band .button { flex: 0 0 auto; }

@media (width <= 980px) {
  body[data-concept] .home-hero-grid { grid-template-columns: 1fr; min-height: auto; }
  body[data-concept="sunrise-core"] .nav-wrap { height: 102px; }
  body[data-concept="sunrise-core"] .nav-wrap > .brand { width: 136px; height: 82px; }
  body[data-concept="sunrise-core"] .primary-nav { width: auto; padding-left: 0; }
  body[data-concept="sunrise-core"] .primary-nav > a:nth-child(3) { margin-right: 0; }
  body[data-concept="sunrise-core"] .primary-nav > a:nth-child(4) { margin-left: 0; }
  body[data-concept="sunrise-core"] .hero-visual img { width: min(680px, 100%); max-width: 100%; transform: translateY(12px); }
  body.inner-page[data-concept="sunrise-core"] .page-hero { min-height: auto; }
  body.inner-page[data-concept="sunrise-core"] .page-hero-grid { grid-template-columns: 1fr; }
  body.inner-page[data-concept="sunrise-core"] .page-hero-media { min-height: 390px; }
  body.inner-page[data-concept="sunrise-core"] .page-hero-media img { width: min(680px, 94%); }
  body.inner-page[data-concept="sunrise-core"] .junk-hero-media img { max-width: 100%; transform: translateY(10px); }
  .material-policy-notes { grid-template-columns: 1fr; }
  .material-policy-layout .content-card + .content-card { border-top: 1px solid #ddcabb; border-left: 0; }
  .material-policy-notes article + article { border-top: 1px solid #ddcabb; border-left: 0; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 3rem; }
  .footer-grid > div:first-child { grid-column: 1 / -1; grid-template-columns: minmax(220px, 270px) 1fr; gap: 1rem 3rem; }
  .footer-grid > div:nth-child(2) { grid-column: 1; }
  .footer-grid > div:nth-child(3) { grid-column: 2; }
  .footer-cta { grid-column: 1 / -1; grid-row: auto; min-height: 0; }
  .review-shell { grid-template-columns: 150px minmax(0, 1fr); }
  .review-card { flex-basis: calc((100% - .7rem) / 2); }
}

@media (width <= 680px) {
  body[data-concept] h1 { font-size: clamp(2.35rem, 11vw, 2.75rem); }
  body[data-concept] .home-hero-grid { padding-block: 3.5rem; }
  body[data-concept="sunrise-core"] .home-hero-copy,
  body[data-concept="sunrise-core"] .home-hero-copy > p { min-width: 0; max-width: 100%; }
  body[data-concept="sunrise-core"] .home-hero .hero-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  body[data-concept="sunrise-core"] .home-hero .hero-actions .button { width: 100%; }
  body[data-concept="sunrise-core"] .home-hero .hero-visual {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 460px;
    padding-top: 1.5rem;
  }
  body[data-concept="sunrise-core"] .home-hero .hero-visual img {
    width: 100%;
    max-width: 100%;
    transform: none;
  }
  body[data-concept="sunrise-core"] .home-hero .hero-card {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: none;
    margin-top: .25rem;
  }
  body.inner-page[data-concept="sunrise-core"] .page-hero { padding-block: 3.5rem; }
  body.inner-page[data-concept="sunrise-core"] .page-hero h1 { font-size: clamp(2.15rem, 10vw, 2.75rem); }
  body.inner-page[data-concept="sunrise-core"] .page-hero-media { min-height: 290px; }
  body.inner-page[data-concept="sunrise-core"] .page-hero-media img[src*="junk-removal"],
  body.inner-page[data-concept="sunrise-core"] .page-hero-media img[src*="flatpack-storage"] { border-width: 4px; box-shadow: 10px 10px 0 #ffc928; }
  body.inner-page[data-concept="sunrise-core"] .page-hero-media img[src*="dumpster-service"] { width: 92%; transform: none; }
  .flatpack-hero-media {
    min-height: 380px !important;
    padding: 0 0 72px 18px;
  }
  .flatpack-delivery-card {
    width: min(158px, 45%);
    border-width: 4px;
    box-shadow: 7px 7px 0 #ffc928;
  }
  .flatpack-delivery-card figcaption { padding: .5rem .55rem .55rem; }
  .flatpack-delivery-card figcaption strong { font-size: .64rem; }
  body.inner-page[data-concept="sunrise-core"] .about-visual { border-width: 4px; box-shadow: 10px 10px 0 #ffc928; }
  .service-area-layout .map-panel { min-height: 500px; }
  .home-point-map { min-height: 500px; }
  .service-area-layout .map-city { font-size: .62rem; }
  .service-area-layout .map-legend { flex-direction: column; gap: .35rem; }
  .point-city { font-size: .57rem; padding-right: .48rem; }
  .point-lac { top: 42%; left: 66%; }
  .point-map-legend { flex-direction: column; gap: .2rem; }
  .review-band { padding-block: .95rem; }
  .review-shell { grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; gap: .8rem; }
  .review-intro { grid-column: 1; }
  .review-intro span:last-child { display: none; }
  .review-stage { grid-column: 1 / -1; grid-row: 2; }
  .review-card { flex: 0 0 100%; max-width: 100%; min-height: 108px; }
  .review-controls { grid-column: 2; grid-row: 1; }
  body[data-concept="sunrise-core"] .service-strip-grid > div { padding-block: 1rem; }
  .footer-grid { grid-template-columns: 1fr; gap: 2.5rem; padding-block: 3.75rem; }
  .footer-grid > div:first-child { grid-column: auto; display: block; padding-bottom: 2.5rem; }
  .footer-grid > div:first-child .footer-brand {
    display: flex;
    justify-content: center;
    width: fit-content;
    margin: 0 auto 1.5rem;
  }
  .footer-grid > div:first-child > p { margin-bottom: 1.25rem; }
  .footer-grid > div:nth-child(2),
  .footer-grid > div:nth-child(3) { grid-column: auto; }
  .footer-logo-art { width: min(270px, 82vw); margin-inline: auto; }
  .footer-cta { grid-column: auto; grid-template-columns: 1fr; gap: .8rem; padding: 1.4rem; box-shadow: none; }
  .footer-cta h2 { white-space: normal; }
  .footer-cta .button { width: fit-content; margin-top: .35rem; }
  .financing-band { align-items: flex-start; flex-direction: column; }
}

.coverage-preview-heading {
  display: grid;
  grid-template-columns: 1.1fr .7fr;
  align-items: end;
  gap: 5rem;
}

.coverage-preview-heading h2 {
  max-width: 780px;
}

.coverage-preview-heading > p {
  margin: 0 0 .35rem;
  font-size: 1.05rem;
}

.coverage-preview-board {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  margin-top: 3.5rem;
  border: 1px solid #ddcbbc;
  background: #fffaf3;
}

.coverage-origin {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 300px;
  padding: 2.5rem;
  color: #fff;
  background: #171310;
  border-left: 7px solid #ffc928;
}

.coverage-origin > span,
.coverage-routes article > span {
  color: #ff5a00;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .7rem;
  font-weight: 900;
}

.coverage-origin > span {
  color: #ffc928;
}

.coverage-origin strong {
  margin-top: .65rem;
  font-size: clamp(1.7rem, 3vw, 2.65rem);
  line-height: 1.05;
}

.coverage-origin p {
  max-width: 330px;
  margin: 1.2rem 0 0;
  color: #c8bdb5;
}

.coverage-routes {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
}

.coverage-routes article {
  display: grid;
  grid-template-columns: 170px 1fr;
  align-items: center;
  gap: 1.5rem;
  padding: 1.4rem 2rem;
  border-bottom: 1px solid #ddcbbc;
}

.coverage-routes article:last-child {
  border-bottom: 0;
}

.coverage-routes p {
  margin: 0;
  color: #332a25;
  font-weight: 750;
}

.coverage-preview-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding-top: 1.5rem;
}

.coverage-preview-footer p {
  max-width: 760px;
  margin: 0;
}

@media (width <= 980px) {
  .coverage-preview-heading,
  .coverage-preview-board {
    grid-template-columns: 1fr;
  }

  .coverage-preview-heading {
    gap: 1.25rem;
  }

  .coverage-origin {
    min-height: 240px;
  }
}

@media (width <= 680px) {
  .coverage-preview-board {
    margin-top: 2.5rem;
  }

  .coverage-origin {
    min-height: 0;
    padding: 2rem 1.5rem;
  }

  .coverage-routes article {
    grid-template-columns: 1fr;
    gap: .45rem;
    padding: 1.25rem 1.5rem;
  }

  .coverage-preview-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .coverage-preview-footer .button {
    width: 100%;
  }
}

/* Homepage coverage is a preview; the service-area page carries the detail. */
.home-point-map {
  min-height: 470px;
}

.coverage-heading {
  display: grid;
  grid-template-columns: 1fr .8fr;
  align-items: end;
  gap: 5rem;
}

.coverage-heading h2,
.service-reach h2 {
  max-width: 760px;
}

.coverage-heading > p {
  margin: 0;
  font-size: 1.04rem;
}

.coverage-groups {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-top: 3.5rem;
}

.coverage-group {
  border-top: 3px solid #ff5a00;
  padding-top: 1.2rem;
}

.coverage-group h3 {
  margin-bottom: .8rem;
}

.coverage-group ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.coverage-group li {
  color: #665a52;
  border-bottom: 1px solid #e3d4c7;
  padding: .62rem 0;
}

.service-reach {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 5rem;
  margin-top: 5rem;
  padding-top: 4rem;
  border-top: 1px solid #ddcbbc;
}

.service-reach-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.service-reach-grid article {
  border-left: 1px solid #ddcbbc;
  padding: .25rem 1.5rem 0;
}

.service-reach-grid h3 {
  margin-bottom: .65rem;
}

.service-reach-grid p {
  margin: 0;
  font-size: .92rem;
}

@media (width <= 980px) {
  .coverage-heading,
  .service-reach {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .coverage-groups {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (width <= 680px) {
  .home-point-map {
    min-height: 440px;
  }

  .coverage-groups,
  .service-reach-grid {
    grid-template-columns: 1fr;
  }

  .coverage-groups {
    gap: 1.5rem;
    margin-top: 2.5rem;
  }

  .service-reach {
    margin-top: 3.5rem;
    padding-top: 3rem;
  }

  .service-reach-grid article {
    border-left: 0;
    border-top: 1px solid #ddcbbc;
    padding: 1.25rem 0;
  }
}
