.cm-home-hero { position:relative; min-height:100vh; overflow:hidden; padding-top:148px; padding-bottom:34px; background:var(--cm-cream); }
.cm-home-hero__pattern { position:absolute; top:0; right:0; width:38%; height:100%; opacity:.22; background:radial-gradient(circle at 30% 20%,var(--cm-orange) 0 2px,transparent 3px) 0 0/24px 24px; pointer-events:none; }
.cm-home-hero__grid { position:relative; z-index:1; display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:70px; min-height:610px; }
.cm-home-hero__copy { position:relative; z-index:2; }
.cm-home-hero__copy .cm-heading { max-width:700px; }
.cm-home-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.cm-home-hero__proof { display:flex; align-items:center; gap:12px; margin-top:32px; color:var(--cm-muted); font-size:12px; }
.cm-home-hero__proof-mark { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--cm-mint); color:var(--cm-green); font-weight:700; }
.cm-home-hero__proof strong,.cm-home-hero__proof small { display:block; }.cm-home-hero__proof strong{color:var(--cm-navy);font-size:13px}.cm-home-hero__proof small{margin-top:3px}
.cm-home-hero__visual { position:relative; min-height:610px; }
.cm-home-hero__image { position:absolute; inset:0 0 38px 40px; overflow:hidden; border-radius:190px 190px 30px 30px; box-shadow:var(--cm-shadow); }
.cm-home-hero__image img { width:100%; height:100%; object-fit:cover; }
.cm-home-hero__mini { position:absolute; width:160px; height:190px; overflow:hidden; border:8px solid var(--cm-cream); border-radius:24px; box-shadow:var(--cm-shadow-soft); }
.cm-home-hero__mini img{width:100%;height:100%;object-fit:cover}.cm-home-hero__mini--one{right:-10px;bottom:50px}.cm-home-hero__mini--two{left:-5px;bottom:0;height:140px}
.cm-home-hero__badge { position:absolute; display:grid; place-items:center; width:94px; height:94px; border-radius:50%; color:var(--cm-navy); font-size:10px; font-weight:600; letter-spacing:.12em; line-height:1.3; text-align:center; }.cm-home-hero__badge strong{font-size:12px}.cm-home-hero__badge--one{top:55px;right:10px;background:var(--cm-yellow);transform:rotate(10deg)}.cm-home-hero__badge--two{left:0;top:100px;background:var(--cm-teal-light);transform:rotate(-9deg)}
.cm-home-hero__sun { position:absolute; right:28%; bottom:8%; display:grid; place-items:center; width:58px; height:58px; border:1px dashed var(--cm-orange); border-radius:50%; color:var(--cm-orange); font-size:25px; animation:cm-sun-rotate 45s linear infinite; }
.cm-home-hero__trust { display:flex; justify-content:space-between; gap:15px; padding-top:38px; color:var(--cm-muted); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
@keyframes cm-sun-rotate{to{transform:rotate(360deg)}}
@media (max-width:1080px){.cm-home-hero__grid{gap:38px}.cm-home-hero__visual{min-height:540px}.cm-home-hero__image{inset:0 0 32px 24px}.cm-home-hero__trust{flex-wrap:wrap;justify-content:flex-start;gap:15px 32px}}
@media (max-width:820px){.cm-home-hero{padding-top:110px}.cm-home-hero__grid{grid-template-columns:1fr;gap:50px;min-height:0;text-align:center}.cm-home-hero__copy .cm-eyebrow{justify-content:center}.cm-home-hero__copy .cm-heading{margin-inline:auto}.cm-home-hero__copy .cm-lead{margin-inline:auto}.cm-home-hero__actions{justify-content:center}.cm-home-hero__proof{justify-content:center}.cm-home-hero__visual{width:min(100%,610px);min-height:530px;margin-inline:auto}.cm-home-hero__trust{justify-content:center;text-align:center}}
@media (max-width:560px){.cm-home-hero{padding-top:100px;padding-bottom:28px}.cm-home-hero__visual{min-height:430px}.cm-home-hero__image{inset:0 0 24px 12px;border-radius:120px 120px 24px 24px}.cm-home-hero__mini{width:112px;height:125px;border-width:5px}.cm-home-hero__mini--one{right:-3px;bottom:30px}.cm-home-hero__mini--two{left:0;bottom:0;height:100px}.cm-home-hero__badge{width:68px;height:68px;font-size:8px}.cm-home-hero__badge strong{font-size:9px}.cm-home-hero__badge--one{top:26px;right:0}.cm-home-hero__badge--two{top:65px;left:-3px}.cm-home-hero__sun{display:none}.cm-home-hero__trust{flex-direction:column;gap:12px;padding-top:22px}.cm-home-hero__actions .cm-button{width:100%}}

/* Source collage details: labelled image cards and white information pills. */
.cm-home-hero {
  background: linear-gradient(135deg, #fff8eb 0%, #f5f8f1 52%, #e7f4fa 100%);
}

.cm-home-hero__pattern {
  width: 100%;
  background-image: radial-gradient(rgba(18,52,90,.13) 1px, transparent 1px);
  background-size: 22px 22px;
  mask-image: linear-gradient(to right, black, transparent 45%);
  opacity: .35;
}

.cm-home-hero::before {
  content: '';
  position: absolute;
  width: 540px;
  height: 540px;
  left: -300px;
  top: 160px;
  border: 1px solid rgba(40,166,160,.18);
  border-radius: 50%;
  box-shadow: 0 0 0 45px rgba(40,166,160,.03), 0 0 0 90px rgba(40,166,160,.03);
  pointer-events: none;
}

.cm-home-hero__copy .cm-heading em {
  color: var(--cm-orange);
  font-style: italic;
}

.cm-home-hero__proof {
  gap: 14px;
}

.cm-home-hero__avatars {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}

.cm-home-hero__avatars > span {
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  margin-left: -8px;
  border: 3px solid var(--cm-white);
  border-radius: 50%;
  background: var(--cm-navy);
  color: var(--cm-white);
  font-size: 9px;
  font-weight: 700;
}

.cm-home-hero__avatars > span:first-child {
  margin-left: 0;
  background: var(--cm-orange);
}

.cm-home-hero__avatars > span:nth-child(2) {
  background: var(--cm-teal);
}

.cm-home-hero__avatars svg {
  width: 16px;
  height: 16px;
}

.cm-home-hero__proof > span {
  display: block;
  color: var(--cm-muted);
  font-size: 12px;
  line-height: 1.45;
}

.cm-home-hero__proof strong,
.cm-home-hero__proof small {
  display: inline;
  font-size: inherit;
  line-height: inherit;
}

.cm-home-hero__proof strong { color: var(--cm-navy); }
.cm-home-hero__proof small { margin-top: 0; }

.cm-home-hero__mini {
  display: flex;
  flex-direction: column;
  width: 180px;
  height: 170px;
  padding: 7px;
  border: 0;
  border-radius: 24px;
  background: var(--cm-white);
}

.cm-home-hero__mini img {
  min-height: 0;
  flex: 1 1 auto;
  height: auto !important;
  border-radius: 15px;
}

.cm-home-hero__mini > span {
  display: block;
  padding: 6px 3px 0;
  color: var(--cm-navy);
  font-family: var(--cm-font-serif);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.1;
}

.cm-home-hero__mini--one {
  top: auto;
  right: auto;
  bottom: 46px;
  left: 0;
  transform: rotate(-4deg);
}

.cm-home-hero__mini--two {
  top: 44px;
  right: -28px;
  bottom: auto;
  left: auto;
  height: 170px;
  transform: rotate(5deg);
}

.cm-home-hero__float-badge {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 15px;
  border-radius: 16px;
  background: var(--cm-white);
  color: var(--cm-navy);
  box-shadow: var(--cm-shadow-soft);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

.cm-home-hero__float-badge svg {
  width: 21px;
  height: 21px;
  color: var(--cm-teal);
}

.cm-home-hero__float-badge small {
  display: block;
  margin-bottom: 2px;
  color: var(--cm-muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .13em;
  line-height: 1;
  text-transform: uppercase;
}

.cm-home-hero__float-badge--one {
  top: 94px;
  left: 36px;
}

.cm-home-hero__float-badge--two {
  right: -14px;
  bottom: 96px;
}

.cm-home-hero__sun {
  right: 8px;
  bottom: 5px;
  width: 78px;
  height: 78px;
  border: 0;
  border-radius: 0;
  color: var(--cm-orange);
  animation: cm-sun-rotate 45s linear infinite;
}

.cm-home-hero__sun circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
}

.cm-home-hero__sun g {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.cm-home-hero__trust > span,
.cm-home-hero__trust > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.cm-home-hero__trust {
  min-height: 66px;
  margin-top: 28px;
  padding: 15px 24px;
  border-radius: 18px;
  background: var(--cm-white);
  box-shadow: 0 10px 35px rgba(18,52,90,.08);
  color: var(--cm-muted);
}

.cm-home-hero__trust svg {
  width: 15px;
  height: 15px;
  color: var(--cm-teal);
}

.cm-home-hero__image {
  inset: 10px 0 10px 75px;
  border: 9px solid rgba(255,255,255,.72);
  border-radius: 220px 28px 180px 28px;
  box-shadow: 0 30px 80px rgba(18,52,90,.2);
}

.cm-home-hero__image img {
  transform: scale(1.06);
}

/* Keep the home copy rhythm aligned with the verified source fixture. */
.cm-home-hero__actions { margin: 32px 0; }
.cm-home-hero__proof { margin-top: 30px; }

@media (max-width: 820px) {
  .cm-home-hero__image {
    inset: 10px 0 10px 50px;
    border-radius: 220px 28px 180px 28px;
  }

  .cm-home-hero__float-badge--one { left: 0; }
  .cm-home-hero__float-badge--two { right: 0; }
}

@media (max-width: 560px) {
  .cm-home-hero .cm-heading--hero {
    font-size: 43px;
    line-height: 1.02;
  }

  .cm-home-hero .cm-lead {
    font-size: 14px;
    line-height: 1.65;
  }

  .cm-home-hero__grid {
    gap: 30px;
  }

  .cm-home-hero__mini {
    width: 126px;
    height: 132px;
    padding: 5px;
  }

  .cm-home-hero__mini > span { font-size: 10px; }
  .cm-home-hero__image {
    inset: 0 10px 0 30px;
    border-width: 0;
    border-radius: 130px 18px 100px 18px;
  }

  .cm-home-hero__mini--one { right: auto; bottom: 10px; left: 0; }
  .cm-home-hero__mini--two { top: 8px; right: 0; bottom: auto; left: auto; height: 132px; }
  .cm-home-hero__float-badge { padding: 8px 10px; font-size: 9px; }
  .cm-home-hero__float-badge--one { top: 90px; left: 5px; }
  .cm-home-hero__float-badge--two { right: 0; bottom: 56px; }
}
