/* Container Delivery Service - site styles (loaded by the cds-child theme).
   Colors from the CDS logo: the slate of the letters, the orange of the chevron. Headlines in Saira Semi Condensed,
   close to the logo's lettering. Texture: the gravel yard from the client's own hero photo. */
:root {
  --cd-slate: #16242e;
  --cd-slate-2: #1e3240;
  --cd-deep: #0e181f;
  --cd-orange: #f16d13;
  --cd-orange-2: #ff8636;
  --cd-ink: #1b252c;
  --cd-muted: #56636d;
  --cd-line: #d6dadd;
  --cd-paper: #f2f0eb;
  --cd-max: 1240px;
  --cd-head: "Saira Semi Condensed", "Arial Narrow", Arial, sans-serif;
  --cd-body: "Public Sans", "Segoe UI", Arial, sans-serif;
  --cd-gravel: url("../img/texture-gravel.webp");
}

/* Bricks' own defaults, reset (Bricks keeps them in a CSS layer, so plain rules win). */
html { font-size: 100%; scroll-padding-top: calc(var(--cd-hdr-h, 80px) + 8px); }
blockquote { font-family: inherit; font-size: inherit; border: 0; padding: 0; margin: 0; }
.bricks-button { letter-spacing: normal; gap: .5em; }

body, html body.cds { font-family: var(--cd-body); color: var(--cd-ink); font-size: 17.5px; line-height: 1.62; background: #fff; }
body.cds h1, body.cds h2, body.cds h3 { font-family: var(--cd-head); color: var(--cd-slate); line-height: 1.04; font-weight: 800; margin: 0 0 .5em; letter-spacing: -.01em; }
body.cds h1 { font-size: clamp(2.4rem, 5.2vw, 4.4rem); }
body.cds h2 { font-size: clamp(1.9rem, 3.4vw, 2.9rem); text-wrap: balance; }
body.cds h3 { font-size: 1.32rem; font-weight: 700; }
body.cds p { margin: 0 0 1em; }
body.cds a { color: #b94d05; text-underline-offset: 3px; }
body.cds a:hover { color: var(--cd-slate); }
body.cds :focus-visible { outline: 3px solid var(--cd-orange); outline-offset: 2px; }

/* Layout */
.cd-section { padding: 96px 24px; position: relative; }
.cd-container { width: 100%; max-width: var(--cd-max); margin: 0 auto; position: relative; z-index: 1; }
.cd-intro { max-width: 640px; color: var(--cd-muted); font-size: 1.1rem; }
.cd-intro p:last-child { margin-bottom: 0; }
.cd-head { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 64px; align-items: end; margin-bottom: 48px; }
body.cds .cd-head h2 { margin: 0; max-width: 560px; }
@media (max-width: 860px) { .cd-section { padding: 68px 18px; } .cd-head { grid-template-columns: 1fr; margin-bottom: 32px; } }

/* Paper sections carry a faint print of the gravel yard; slate sections a fainter one. */
.cd-soft { background: var(--cd-paper); }
.cd-soft::before { content: ""; position: absolute; inset: 0; background: var(--cd-gravel) center / 1050px repeat; opacity: .08; mix-blend-mode: multiply; pointer-events: none; }
.cd-dark { background-color: var(--cd-slate); color: #c9d3da; overflow: hidden; }
.cd-dark::before { content: ""; position: absolute; inset: 0; background: var(--cd-gravel) center / 1050px repeat; opacity: .05; mix-blend-mode: screen; pointer-events: none; }
body.cds .cd-dark h2, body.cds .cd-dark h3 { color: #fff; }
body.cds .cd-dark a:not(.cd-btn) { color: var(--cd-orange-2); }

/* Buttons */
body.cds .cd-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; padding: 15px 26px; border-radius: 2px; border: 2px solid transparent;
  font-family: var(--cd-head); font-weight: 700; font-size: 1.08rem; line-height: 1.15; text-decoration: none; cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease; }
body.cds .cd-btn--primary { background: var(--cd-orange); color: #fff; }
body.cds .cd-btn--primary:hover { background: #d95c06; color: #fff; }
body.cds .cd-btn--ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .55); }
body.cds .cd-btn--ghost:hover { background: #fff; color: var(--cd-slate); border-color: #fff; }
body.cds .cd-btn--line { background: transparent; color: var(--cd-slate); border-color: var(--cd-slate); }
body.cds .cd-btn--line:hover { background: var(--cd-slate); color: #fff; }
.cd-actions { display: flex; flex-direction: row; flex-wrap: wrap; gap: 12px; margin-top: 8px; align-self: flex-start; }

/* Header: logo, menu, phone, price button. */
#brx-header { position: sticky; top: 0; z-index: 100; }
.admin-bar #brx-header { top: 32px; }
@media (max-width: 782px) { .admin-bar #brx-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar #brx-header { top: 0; } }
.cd-wrap { width: 100%; max-width: var(--cd-max); margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.cd-hdr { position: relative; background: #fff; border-bottom: 1px solid var(--cd-line); transition: box-shadow .3s ease; }
.cd-hdr__in { display: flex; flex-direction: row; align-items: center; gap: 28px; min-height: 84px; transition: min-height .3s ease; }
.cd-hdr__logo, a.cd-hdr__logo { flex: none; display: block; line-height: 0; }
.cd-hdr__logo img, img.cd-hdr__logo { display: block; width: auto; height: 50px; transition: height .3s ease; }
.cd-hdr__cta { display: flex; flex-direction: row; align-items: center; gap: 22px; flex: none; }
body.cds .cd-hdr__phone { display: inline-flex; flex-direction: column; padding: 0; background: none; border: 0; font-family: var(--cd-head); font-weight: 800;
  font-size: 1.28rem; line-height: 1.05; color: var(--cd-slate); text-decoration: none; white-space: nowrap; }
body.cds .cd-hdr__phone::before { content: "Call the office"; font-family: var(--cd-body); font-weight: 500; font-size: .78rem; color: var(--cd-muted); margin-bottom: 3px; }
body.cds .cd-hdr__phone:hover { color: #b94d05; }
body.cds .cd-hdr .cd-btn { padding: 12px 22px; }
.cd-scrolled .cd-hdr { box-shadow: 0 6px 22px rgba(14, 24, 31, .12); }
.cd-scrolled .cd-hdr__in { min-height: 68px; }
.cd-scrolled .cd-hdr__logo img, .cd-scrolled img.cd-hdr__logo { height: 40px; }

/* Main menu (Bricks Nav Menu) */
.cd-nav { flex: 1; display: flex; justify-content: center; }
.cd-nav .bricks-nav-menu { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
.cd-nav .bricks-nav-menu > li { margin: 0; position: relative; }
.cd-nav .bricks-nav-menu > li > a { display: block; padding: 10px 12px; font-family: var(--cd-head); font-weight: 600; font-size: 1.06rem; line-height: 1.2;
  color: var(--cd-slate); text-decoration: none; white-space: nowrap; }
.cd-nav .bricks-nav-menu > li > a:hover { color: #b94d05; text-decoration: underline; text-decoration-color: var(--cd-orange); text-decoration-thickness: 2px; text-underline-offset: 8px; }
@media (max-width: 1200px) { body.cds .cd-hdr__phone { display: none; } }

/* Tablets and phones: Bricks' menu toggle as a Menu button; its panel drops under the header (site.js sets --cd-hdr-h). */
@media (max-width: 991px) {
  .cd-nav { flex: 0; order: 3; }
  .cd-hdr__in { justify-content: space-between; gap: 14px; }
  .cd-nav .bricks-nav-menu-wrapper { display: none; }
  .cd-nav .bricks-mobile-menu-toggle { display: block; position: relative; width: auto; height: auto; padding: 10px 16px; background: var(--cd-slate); border: 0; border-radius: 2px;
    color: #fff; font-family: var(--cd-head); font-weight: 700; font-size: 1.02rem; line-height: 1.2; cursor: pointer; }
  .cd-nav .bricks-mobile-menu-toggle span { display: none; }
  .cd-nav .bricks-mobile-menu-toggle::after { content: "Menu"; }
  .cd-nav.show-mobile-menu .bricks-mobile-menu-toggle::after { content: "Close"; }
  .cd-nav .bricks-mobile-menu-wrapper { top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--cd-hdr-h, 84px)); bottom: auto; left: 0; width: 100%; height: auto;
    max-height: calc(100vh - var(--cd-hdr-h, 84px)); overflow-y: auto; color: var(--cd-slate); box-shadow: 0 18px 40px rgba(14, 24, 31, .18); }
  .cd-nav .bricks-mobile-menu-wrapper::before { background: #fff; }
  .cd-nav .bricks-mobile-menu-overlay { background: transparent; }
  .cd-nav .bricks-mobile-menu { margin: 0; padding: 6px 20px 20px; list-style: none; }
  .cd-nav .bricks-mobile-menu > li > a { display: flex; align-items: center; padding: 13px 0; border-bottom: 1px solid var(--cd-line);
    font-family: var(--cd-head); font-weight: 700; font-size: 1.15rem; color: var(--cd-slate); text-decoration: none; }
}
@media (max-width: 960px) { .cd-hdr__logo img, img.cd-hdr__logo { height: 40px; } .cd-hdr__in { min-height: 70px; } }
@media (max-width: 720px) { .cd-hdr__cta { display: none; } }

/* Hero: the client's yard photo full-bleed, headline low on the left, the quote bar on the hero's bottom edge. */
.cd-hero { padding: 0 24px; overflow: hidden; background: var(--cd-slate); color: #dfe6eb; }
.cd-hero img.cd-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.cd-hero::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(14, 24, 31, .9) 0%, rgba(14, 24, 31, .74) 34%, rgba(14, 24, 31, .2) 58%, rgba(14, 24, 31, 0) 72%, rgba(14, 24, 31, .35) 100%),
              linear-gradient(90deg, rgba(14, 24, 31, .45) 0%, rgba(14, 24, 31, 0) 55%); }
/* The headline sits over the trees; the truck and the row of containers stay in clear view above the quote bar. */
.cd-hero__in { display: flex; flex-direction: column; justify-content: space-between; min-height: clamp(700px, calc(100vh - 84px), 880px); padding: 44px 0 0; }
.cd-hero__text { display: flex; flex-direction: column; max-width: 880px; padding-bottom: 40px; }
body.cds .cd-hero h1 { color: #fff; font-size: clamp(2.4rem, 4.6vw, 4rem); text-wrap: balance; margin-bottom: .3em; text-shadow: 0 2px 24px rgba(0, 0, 0, .35); }
.cd-hero .cd-lead p { font-size: 1.18rem; color: #e1e8ec; max-width: 700px; text-shadow: 0 1px 12px rgba(0, 0, 0, .4); }
.cd-hero .cd-actions { margin-top: 4px; }

/* Desktop: a diptych. The yard photo on the left, the client's loading footage on the right, an orange seam between. */
.cd-hero { --cd-vid: 38%; }
.cd-hero img.cd-hero__bg { right: var(--cd-vid); width: auto; object-position: 0% 100% !important; }
.cd-hero::after { right: var(--cd-vid); }
.cd-hero .cd-hero__video.brxe-video { position: absolute; top: 0; bottom: 0; right: 0; left: auto; width: var(--cd-vid); height: auto; max-width: none; aspect-ratio: auto;
  margin: 0; z-index: 0; overflow: hidden; border-left: 4px solid var(--cd-orange);
  background: var(--cd-slate) url("../img/container-loading-tilt-bed-truck-poster.webp") 50% 42% / cover no-repeat; } /* shows before the video loads */
.cd-hero .cd-hero__video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; cursor: default; }
.cd-hero .cd-hero__video::after { content: ""; position: absolute; inset: auto 0 0 0; height: 30%; pointer-events: none; background: linear-gradient(0deg, rgba(14, 24, 31, .45), rgba(14, 24, 31, 0)); }
.cd-hero__text { max-width: min(860px, 54vw); }

/* Quote bar: four fields and a button on the hero's bottom edge. */
.cd-qbar { display: grid; grid-template-columns: 210px 1fr; gap: 6px 28px; align-items: center; background: #fff; color: var(--cd-ink); padding: 24px 26px 22px;
  margin: 0 -26px; border-top: 4px solid var(--cd-orange); box-shadow: 0 -10px 40px rgba(0, 0, 0, .28); }
.cd-qbar__head { display: flex; flex-direction: column; }
body.cds .cd-qbar__title { font-size: 1.6rem; margin: 0 0 2px; }
.cd-qbar__sub { margin: 0; color: var(--cd-muted); font-size: .92rem; line-height: 1.35; }
.cd-form.brxe-form { display: grid; grid-template-columns: 1fr 1fr 1.1fr 1fr auto; gap: 10px; align-items: end; }
.cd-form .form-group { width: auto !important; margin: 0; padding: 0 !important; display: flex; flex-direction: column; min-width: 0; }
body.cds .cd-form label, body.cds .brxe-form.cd-form label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; text-transform: none; letter-spacing: normal; }
.cd-form input, .cd-form select { width: 100%; height: 54px; padding: 0 14px; font: inherit; font-size: 1rem; color: var(--cd-ink); background: #f6f5f2;
  border: 1.5px solid #cbd1d5; border-radius: 2px; transition: border-color .15s ease, background .15s ease; }
.cd-form input:focus, .cd-form select:focus { outline: none; border-color: var(--cd-slate); background: #fff; }
.cd-form .submit-button-wrapper { margin: 0; }
body.cds .cd-form button[type=submit] { height: 54px; padding: 0 28px; border: 0; border-radius: 2px; background: var(--cd-orange); color: #fff; white-space: nowrap;
  font-family: var(--cd-head); font-weight: 800; font-size: 1.12rem; cursor: pointer; transition: background .15s ease; }
body.cds .cd-form button[type=submit]:hover { background: #d95c06; }
.cd-form .message { grid-column: 1 / -1; }
@media (max-width: 1140px) { .cd-qbar { grid-template-columns: 1fr; margin: 0 -24px; } .cd-qbar__head { flex-direction: row; align-items: baseline; gap: 14px; flex-wrap: wrap; } }
@media (max-width: 860px) {
  /* Phones and tablets: the photo becomes a band above the headline instead of a background. */
  .cd-hero { padding: 0 18px; }
  .cd-hero::after { display: none; }
  .cd-hero img.cd-hero__bg { display: none; }
  .cd-hero .cd-hero__video.brxe-video { position: relative; inset: auto; order: -1; width: calc(100% + 36px); aspect-ratio: 4 / 3; margin: 0 -18px; border-left: 0; border-bottom: 4px solid var(--cd-orange); }
  .cd-hero .cd-hero__video::after { display: none; }
  .cd-hero__text { max-width: none; }
  .cd-hero__in { min-height: 0; padding-top: 30px; }
  .cd-hero__text { padding-bottom: 32px; }
  .cd-form.brxe-form { grid-template-columns: 1fr 1fr; }
  .cd-form .submit-button-wrapper { grid-column: 1 / -1; }
  body.cds .cd-form button[type=submit] { width: 100%; }
  body.cds .cd-hero__in > .cd-qbar.brxe-div { margin: 0 -18px; width: calc(100% + 36px); max-width: none; padding: 22px 18px; }
}
@media (max-width: 440px) { .cd-form.brxe-form { grid-template-columns: 1fr; } }

/* Services: one photo panel that changes with the service you point at, beside an index of the three. */
.cd-svc { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: start; }
.cd-svc__media { position: sticky; top: calc(var(--cd-hdr-h, 80px) + 24px); width: 100%; aspect-ratio: 4 / 4.4; overflow: hidden; background: var(--cd-slate); }
img.cd-svc__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .45s ease; }
img.cd-svc__img.is-active { opacity: 1; }
.cd-svc__list { display: flex; flex-direction: column; border-top: 2px solid var(--cd-slate); }
.cd-svc__row { position: relative; display: flex; flex-direction: column; padding: 30px 0 26px 26px; border-bottom: 1px solid var(--cd-line); cursor: default; outline: none; }
.cd-svc__row::before { content: ""; position: absolute; left: 0; top: 30px; bottom: 26px; width: 4px; background: var(--cd-line); transition: background .25s ease; }
.cd-svc__row.is-active::before { background: var(--cd-orange); }
body.cds .cd-svc__name { font-size: clamp(1.5rem, 2.3vw, 1.95rem); margin: 0 0 10px; color: #6d7a83; transition: color .25s ease; }
body.cds .cd-svc__row.is-active .cd-svc__name { color: var(--cd-slate); }
.cd-svc__text { margin: 0 0 12px; }
.cd-svc__good { margin: 0; font-size: .95rem; color: var(--cd-muted); font-weight: 600; }
@media (max-width: 900px) {
  .cd-svc { grid-template-columns: 1fr; gap: 28px; }
  .cd-svc__media { position: relative; top: 0; aspect-ratio: 4 / 3; }
  body.cds .cd-svc__name { color: var(--cd-slate); }
}

/* Ground to truck bed: four stills from one pickup, like a contact sheet, each stamped with its time in the video. */
.cd-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; background: var(--cd-slate); padding: 6px; }
.cd-strip__item { display: flex; flex-direction: column; background: var(--cd-slate); }
img.cd-strip__img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
body.cds .cd-strip__time { margin: 14px 12px 2px; font-family: var(--cd-head); font-weight: 800; font-size: 1.5rem; line-height: 1; color: var(--cd-orange-2); }
body.cds .cd-strip__cap { margin: 0 12px 16px; font-size: .95rem; line-height: 1.4; color: #c9d3da; }
@media (max-width: 900px) { .cd-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Equipment: slate band, text and facts left, a three-photo spread right. */
.cd-eq { display: grid; grid-template-columns: 1fr 1.08fr; gap: 72px; align-items: center; }
.cd-eq__text { display: flex; flex-direction: column; }
.cd-eq__text p { color: #c9d3da; font-size: 1.08rem; }
.cd-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 18px; border-top: 1px solid rgba(255, 255, 255, .18); }
.cd-fact { display: flex; flex-direction: column; padding: 20px 18px 0 0; }
.cd-fact + .cd-fact { padding-left: 18px; border-left: 1px solid rgba(255, 255, 255, .18); }
.cd-fact__big { margin: 0 0 6px; font-family: var(--cd-head); font-weight: 800; font-size: 1.45rem; line-height: 1.05; color: var(--cd-orange-2); }
.cd-fact__small { margin: 0; font-size: .93rem; line-height: 1.45; color: #aebbc4; }
.cd-eq__photos { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 280px 280px; gap: 10px; width: 100%; }
.cd-eq__a { grid-row: span 2; position: relative; background: var(--cd-deep) url("../img/side-loader-chains-setting-container-on-gravel.webp") 0% 40% / cover no-repeat; }
.cd-eq__a .cd-eq__video.brxe-video { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; aspect-ratio: auto; margin: 0; }
.cd-eq__a .cd-eq__video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 0% 50%; cursor: default; }
.cd-eq__b, .cd-eq__c { position: relative; }
.cd-eq__photos > div { overflow: hidden; }
img.cd-eq__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 960px) {
  .cd-eq { grid-template-columns: 1fr; gap: 40px; }
  .cd-eq__photos { grid-template-rows: 200px 200px; }
}
@media (max-width: 560px) { .cd-facts { grid-template-columns: 1fr; } .cd-fact + .cd-fact { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .18); margin-top: 16px; } .cd-fact { padding-top: 16px; } }

/* Site prep: what we look for, as a list with hairlines; a photo and the "send a photo" ask beside it. */
.cd-prep { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: start; }
.cd-prep__side { display: flex; flex-direction: column; position: sticky; top: calc(var(--cd-hdr-h, 80px) + 24px); }
.cd-prep__side p { color: var(--cd-muted); font-size: 1.08rem; }
.cd-prep__media { margin-top: 34px; position: relative; width: 100%; }
img.cd-prep__img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.cd-prep__list { margin: 0; padding: 0; list-style: none; counter-reset: prep; border-top: 2px solid var(--cd-slate); }
.cd-prep__list li { position: relative; margin: 0; padding: 26px 0 22px 64px; border-bottom: 1px solid #ccd1d4; counter-increment: prep; }
.cd-prep__list li::before { content: counter(prep); position: absolute; left: 0; top: 24px; width: 40px; height: 40px; border: 2px solid var(--cd-slate); border-radius: 50%;
  font: 800 1.15rem/36px var(--cd-head); text-align: center; color: var(--cd-slate); }
body.cds .cd-prep__list h3 { margin: 0 0 6px; font-size: 1.35rem; }
.cd-prep__list p { margin: 0; }
@media (max-width: 900px) { .cd-prep { grid-template-columns: 1fr; gap: 36px; } .cd-prep__side { position: relative; top: 0; } .cd-prep__list li { padding-left: 56px; } }

/* Service area: the two states set big, town lists under each. */
/* Service area: intro across the top, the four states side by side under it. */
.cd-area { display: flex; flex-direction: column; gap: 36px; }
.cd-area__intro { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 64px; align-items: end; }
body.cds .cd-area__intro h2 { margin: 0; }
.cd-area__intro p { color: var(--cd-muted); font-size: 1.08rem; margin: 0; }
.cd-area__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 2px solid var(--cd-slate); }
.cd-area__col { display: flex; flex-direction: column; padding: 22px 28px 0 0; }
.cd-area__col + .cd-area__col { padding-left: 28px; border-left: 1px solid var(--cd-line); }
body.cds .cd-area__state { font-size: clamp(1.8rem, 2.8vw, 2.5rem); font-weight: 800; margin: 0 0 14px; }
.cd-area__towns ul { margin: 0; padding: 0; list-style: none; }
.cd-area__towns li { margin: 0; padding: 8px 0; border-bottom: 1px solid var(--cd-line); break-inside: avoid; font-weight: 500; }
@media (max-width: 900px) {
  .cd-area__intro { grid-template-columns: 1fr; }
  .cd-area__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cd-area__col:nth-child(3) { padding-left: 0; border-left: 0; }
  .cd-area__col:nth-child(n+3) { padding-top: 30px; }
}
@media (max-width: 420px) { .cd-area__col { padding-right: 14px; } .cd-area__col + .cd-area__col { padding-left: 14px; } .cd-area__col:nth-child(3) { padding-left: 0; } }

/* Reviews: one quote set large, two beside it. */
body.cds .cd-reviews__h { margin-bottom: 40px; }
.cd-quotes { display: grid; grid-template-columns: 1.5fr 1fr; gap: 64px; align-items: start; }
.cd-quote-big { display: flex; flex-direction: column; }
.cd-stars { color: var(--cd-orange); letter-spacing: 3px; font-size: 1.4rem; margin: 0 0 14px; }
.cd-quote-big__text p { font-family: var(--cd-head); font-weight: 600; font-size: clamp(1.45rem, 2.5vw, 2.1rem); line-height: 1.28; color: var(--cd-slate); margin: 0 0 22px; }
.cd-quote__who { margin: 0; font-weight: 700; color: var(--cd-slate); }
.cd-quote-side { display: flex; flex-direction: column; gap: 28px; border-left: 1px solid #ccd1d4; padding-left: 40px; }
.cd-quote-sm { display: flex; flex-direction: column; }
.cd-quote-sm__text p { margin: 0 0 8px; font-size: 1.04rem; }
@media (max-width: 900px) { .cd-quotes { grid-template-columns: 1fr; gap: 36px; } .cd-quote-side { border-left: 0; padding-left: 0; border-top: 1px solid #ccd1d4; padding-top: 28px; } }

/* FAQ (site.js turns each question into a toggle) */
.cd-faq-wrap { display: grid; grid-template-columns: 1fr 1.7fr; gap: 64px; align-items: start; }
.cd-faq { border-top: 2px solid var(--cd-slate); }
.cd-faq__item { border-bottom: 1px solid #cdd2d6; }
body.cds .cd-faq__q { position: relative; margin: 0; padding: 22px 46px 22px 0; font-size: 1.25rem; cursor: pointer; }
.cd-faq--on .cd-faq__q::after { content: "+"; position: absolute; right: 6px; top: 50%; transform: translateY(-50%); font: 400 1.9rem/1 var(--cd-body); color: var(--cd-orange); }
.cd-faq--on .cd-faq__item.is-open .cd-faq__q::after { content: "\2212"; }
.cd-faq__a { padding: 0 0 22px; color: var(--cd-muted); max-width: 700px; }
.cd-faq__a p:last-child { margin: 0; }
.cd-faq--on .cd-faq__item:not(.is-open) .cd-faq__a { display: none; }
@media (max-width: 900px) { .cd-faq-wrap { grid-template-columns: 1fr; gap: 10px; } }

/* Closing call: a delivery photo bleeding off the left edge, the phone number set large. */
.cd-close-sec { padding: 0 24px; }
.cd-close { display: grid; grid-template-columns: 1fr 1.15fr; gap: 72px; align-items: stretch; }
.cd-close__media { position: relative; min-height: 520px; margin-left: calc(-1 * max(24px, (100vw - var(--cd-max)) / 2)); }
img.cd-close__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cd-close__text { display: flex; flex-direction: column; justify-content: center; padding: 96px 0; }
body.cds .cd-close h2 { margin-bottom: 12px; }
.cd-close__line { color: #c3cdd4; font-size: 1.15rem; margin: 0 0 20px; }
.cd-close__phone { margin: 0; }
body.cds .cd-close .cd-close__phone a { font-family: var(--cd-head); font-weight: 800; font-size: clamp(2.4rem, 5.4vw, 4rem); color: #fff; text-decoration: none; line-height: 1.05; }
body.cds .cd-close .cd-close__phone a:hover { color: var(--cd-orange-2); }
.cd-close__cell { margin: 12px 0 0; font-size: 1.1rem; color: #c3cdd4; }
body.cds .cd-close .cd-close__cell a { color: #fff; font-family: var(--cd-head); font-weight: 700; font-size: 1.35rem; white-space: nowrap; }
.cd-close__email { margin: 8px 0 24px; font-size: 1.1rem; overflow-wrap: anywhere; }
body.cds .cd-close .cd-close__email a { color: #dfe6eb; }
@media (max-width: 900px) { .cd-close-sec { padding: 0 18px; } .cd-close { grid-template-columns: minmax(0, 1fr); gap: 0; } .cd-close__text { padding: 56px 0 64px; } .cd-close__media { min-height: 280px; margin: 0 -18px; width: calc(100% + 36px); max-width: none; } }

/* Privacy policy and other plain pages */
.cd-plain { padding-top: 72px; padding-bottom: 96px; }
.cd-prose { max-width: 780px; }
body.cds .cd-legal h2 { font-size: 1.55rem; margin: 1.6em 0 .5em; }
.cd-legal ul { margin: 0 0 1em; padding-left: 1.2em; }
.cd-legal li { margin: 0 0 .5em; }

/* Footer */
.cd-footer { position: relative; background: var(--cd-deep); color: #a7b4bd; padding: 72px 24px 28px; font-size: 1rem; }
.cd-ftr__grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 48px; }
.cd-ftr__col { display: flex; flex-direction: column; }
.cd-ftr__logo, a.cd-ftr__logo { display: inline-block; line-height: 0; margin-bottom: 20px; align-self: flex-start; }
.cd-ftr__logo img, img.cd-ftr__logo { width: 230px; height: auto; }
.cd-ftr__col--main p { max-width: 340px; }
body.cds .cd-ftr__phone a { font-family: var(--cd-head); font-weight: 800; font-size: 1.6rem; color: #fff; }
body.cds .cd-ftr__cell a { font-family: var(--cd-head); font-weight: 700; font-size: 1.3rem; color: #fff; }
.cd-ftr__note { font-size: .88rem; color: #7f8e98; margin-top: -4px !important; margin-bottom: 14px !important; }
.cd-ftr__email { margin-top: 4px !important; }
body.cds .cd-ftr__h { color: #fff; font-size: 1.1rem; margin-bottom: 14px; }
.cd-footer p { margin: 0 0 8px; }
.cd-footer ul { margin: 0; padding: 0; list-style: none; }
.cd-footer li { margin: 0 0 9px; }
body.cds .cd-footer a { color: #d5dde2; text-decoration: none; overflow-wrap: anywhere; }
body.cds .cd-footer a:hover { color: var(--cd-orange-2); }
.cd-ftr__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; margin: 48px 0 0 !important; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: .92rem; color: #7f8e98; }
@media (max-width: 860px) { .cd-ftr__grid { grid-template-columns: 1fr 1fr; } .cd-ftr__col--main { grid-column: 1 / -1; } }
@media (max-width: 480px) { .cd-ftr__grid { grid-template-columns: 1fr; gap: 30px; } }

/* Phones: call / text / price bar */
.cd-mobilebar { display: none; }
@media (max-width: 720px) {
  .cd-mobilebar { display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    background: rgba(14, 24, 31, .97); box-shadow: 0 -8px 24px rgba(0, 0, 0, .25); }
  body.cds .cd-mobilebar .cd-btn { padding: 13px 8px; font-size: 1.05rem; }
  body.cds .cd-btn--mobile { background: rgba(255, 255, 255, .1); color: #fff; border-color: rgba(255, 255, 255, .35); }
  body.cds .cd-btn--mobile-primary { background: var(--cd-orange); color: #fff; }
  .cd-footer { padding-bottom: 96px; }
}

/* Bricks containers left-align their children (align-items: flex-start); ours stretch so grids get the full width. */
body.cds .cd-container, body.cds .brxe-container.cd-container { align-items: stretch; }
body.cds .cd-container > .brxe-div, body.cds .cd-container > .brxe-text { width: 100%; }
