:root{
  --cream-bg:#fffbf3;
  --brand:#5b43ff;     /* accent (used if you highlight words) */
  --ink:#160b35;
  --divider:#d9d9d9;
  --pink:#ef4668;      /* icon color from earlier design */
}

/* Hero section background and spacing */
.ourcap-hero{
  background:var(--cream-bg);
  color:var(--ink);
  padding:10px 0;
}

/* Centered container at 1320px */
.ourcap-container{
  max-width:1320px;
  margin:0 auto;
  padding:0 16px;
}

/* Title & lead to match the last image */
.ourcap-title{
  font-weight:800;
  line-height:1.1;
  letter-spacing:.2px;
  font-size:clamp(2rem,3.6vw + .5rem,3.2rem);
  margin:0 0 10px;
}
.ourcap-title .highlight{
  background:linear-gradient(90deg,#6e57ff, #8b5cf6);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.ourcap-lead{ max-width:42ch; color:#4f4b62; margin-bottom:18px; }

/* Accordion — subtle, modern */
.hero-accordion .accordion-item{ border:0; border-bottom:1px solid var(--divider); }
.hero-accordion .accordion-button{
  gap:14px; padding:18px 20px;
  background:#fff; box-shadow:none !important; color:#333; font-weight:600;
}
.hero-accordion .accordion-button:hover{ background:#fafafa; }
.hero-accordion .accordion-button::after{ display:none; }
.hero-accordion .svc-icon{
  color:var(--pink); font-size:1.6rem; width:32px;
  display:inline-flex; align-items:center; justify-content:center;
}
.hero-accordion .chev{
  margin-left:auto; font-size:1.05rem; color:#8a8a8a; transition:transform .2s ease;
}
.hero-accordion .accordion-button[aria-expanded="true"] .chev{ transform:rotate(180deg); }
.hero-accordion .accordion-body{ padding:16px 20px 20px 66px; color:#555; }

/* Right image card with clipped top-right corner; height <= 550px */
.ourcap-card{
  height: clamp(320px, 50vw, 550px);
  max-height: 550px;
  background-size:cover; background-position:center;
  border-radius:16px; box-shadow:0 10px 30px rgb(0 0 0 / 10%);
  overflow:hidden;
  -webkit-clip-path: polygon(0 0, calc(100% - 64px) 0, 100% 64px, 100% 100%, 0 100%);
          clip-path: polygon(0 0, calc(100% - 64px) 0, 100% 64px, 100% 100%, 0 100%);
}

@media (max-width:991.98px){
  .ourcap-hero{ padding:36px 0; }
  .ourcap-card{ height: clamp(260px, 70vw, 350px); max-height:350px; }
}

/* Centered container and spacing (already have max-width:1320px earlier) */
.ourcap-container{ max-width:1320px; margin:0 auto; padding:0 16px; }

/* Center title and subtitle; limit width of subtitle for nice wrap */
.ourcap-title{ font-weight:800; line-height:1.1; font-size:clamp(2rem,3.6vw + .5rem,3.2rem); margin:0 0 10px; }
.ourcap-lead{ max-width:60ch; margin:0 auto 18px; color:#4f4b62; }

/* Mobile spacing so content breathes */
@media (max-width: 991.98px){
  .ourcap-hero{ padding:36px 0; }
  .hero-accordion .accordion-body{ padding-left:56px; }
}
