.caldrin-service-landing-layout { width: 100%; max-width: none; margin: 0; background: #07151d; }

/* With 13 services, retain the first nine in three-card rows and balance the last four. */
@media (min-width: 1121px) {
  .services-v2-card-grid > .services-v2-card:nth-last-child(-n+4) { grid-column: span 3; }
}

.caldrin-service-landing {
  --service-bg: #07151d;
  --service-panel: #102630;
  --service-border: #39545c;
  --service-text: #f4f7f6;
  --service-muted: #c3d0d0;
  --service-accent: #d5aa6d;
  box-sizing: border-box;
  background: var(--service-bg);
  color: var(--service-text);
  overflow-wrap: break-word;
  padding: clamp(1.25rem, 3vw, 3rem) max(1rem, calc((100vw - 82rem) / 2));
}

.caldrin-service-landing *, .caldrin-service-landing *::before, .caldrin-service-landing *::after { box-sizing: border-box; }
.caldrin-service-landing h1, .caldrin-service-landing h2, .caldrin-service-landing h3, .caldrin-service-landing p { margin-top: 0; }
.caldrin-service-landing p { color: var(--service-muted); line-height: 1.65; }
.caldrin-service-landing h1, .caldrin-service-landing h2, .caldrin-service-landing h3 { color: var(--service-text); }
.caldrin-service-landing a { color: var(--service-accent); text-underline-offset: .25em; }
.caldrin-service-landing a:focus-visible { outline: 3px solid #fff; outline-offset: 4px; border-radius: 2px; }
.caldrin-service-landing__breadcrumbs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: clamp(1.5rem, 3vw, 3rem); font-size: .9rem; }
.caldrin-service-landing__breadcrumbs span[aria-current] { color: var(--service-muted); }
.caldrin-service-landing__hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.caldrin-service-landing__hero-copy { min-width: 0; }
.caldrin-service-landing__eyebrow { color: var(--service-accent) !important; font-size: .8rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.caldrin-service-landing h1 { font-size: clamp(2.1rem, 4.1vw, 4.35rem); line-height: 1.08; max-width: 18ch; }
.caldrin-service-landing__lead { font-size: clamp(1rem, 1.35vw, 1.23rem); max-width: 64ch; }
.caldrin-service-landing__hero img { display: block; width: 100%; height: clamp(16rem, 35vw, 31rem); object-fit: cover; border-radius: .5rem; }
.caldrin-service-landing__button { display: inline-flex; min-height: 2.8rem; align-items: center; padding: .7rem 1.1rem; background: var(--service-accent); color: #07151d !important; font-weight: 700; text-decoration: none; border-radius: .2rem; }
.caldrin-service-landing__button:hover { background: #f2cb95; }
.caldrin-service-landing__section { padding: clamp(2.5rem, 5vw, 5rem) 0 0; }
.caldrin-service-landing__section h2, .caldrin-service-landing__cta h2 { font-size: clamp(1.65rem, 2.7vw, 2.55rem); line-height: 1.2; max-width: 32ch; }
.caldrin-service-landing__section-heading { max-width: 70ch; }
.caldrin-service-landing__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.caldrin-service-landing__card { min-width: 0; padding: clamp(1.2rem, 2.4vw, 2rem); background: var(--service-panel); border: 1px solid var(--service-border); border-radius: .4rem; }
.caldrin-service-landing__card h3, .caldrin-service-landing__steps h3 { font-size: clamp(1.15rem, 1.55vw, 1.45rem); line-height: 1.3; }
.caldrin-service-landing__card p { margin-bottom: .85rem; }
.caldrin-service-landing__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 1.5rem; }
.caldrin-service-landing__steps > div { min-width: 0; border-top: 1px solid var(--service-border); padding-top: 1rem; }
.caldrin-service-landing__step-number { display: block; color: var(--service-accent); font-weight: 700; margin-bottom: 1rem; }
.caldrin-service-landing__link-list { display: grid; gap: .7rem; padding-left: 1.25rem; }
.caldrin-service-landing__cta { margin-top: clamp(2.5rem, 5vw, 5rem); padding: clamp(1.5rem, 3vw, 3rem); background: var(--service-panel); border-left: 4px solid var(--service-accent); }

@media (max-width: 800px) {
  .caldrin-service-landing__hero { grid-template-columns: 1fr; }
  .caldrin-service-landing__hero img { height: clamp(14rem, 50vw, 25rem); }
  .caldrin-service-landing__steps { grid-template-columns: 1fr; gap: .75rem; }
}

@media (max-width: 620px) {
  .caldrin-service-landing__grid { grid-template-columns: 1fr; }
  .caldrin-service-landing__hero img { height: 15rem; }
}
