/* Compact Quick Access UI — Plus Jakarta Sans */
:root{
  --font-sans:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --service-ink:#13224b;
  --service-muted:#6e7f9f;
  --service-line:#dfe7f5;
  --service-blue:#2f63f4;
}

html,body,button,input,textarea,select,option,
body,p,li,a,span,strong,em,small,blockquote,h1,h2,h3,h4,h5,h6{
  font-family:var(--font-sans)!important;
}

/* section shell */
.services-modern{
  position:relative;
  margin-top:-28px!important;
  padding:0 18px 52px!important;
  z-index:4;
}
.services-modern::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:290px;
  pointer-events:none;
  background:
    radial-gradient(circle at 9% 12%,rgba(47,99,244,.10),transparent 28%),
    radial-gradient(circle at 88% 24%,rgba(124,58,237,.08),transparent 25%);
}
.services-modern .container{
  position:relative;
  z-index:1;
  max-width:1280px!important;
}

/* compact editorial heading */
.services-modern-head{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr)!important;
  align-items:end!important;
  gap:26px!important;
  padding:22px 4px 18px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.services-modern-badge{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0 0 10px!important;
  color:#3568ed!important;
  font-size:10.5px!important;
  line-height:1!important;
  letter-spacing:.22em!important;
  font-weight:800!important;
}
.services-modern-badge i{
  display:block!important;
  width:24px!important;
  height:2px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#245cf2,#9ab7ff)!important;
}
.services-modern-head h2{
  margin:0!important;
  color:var(--service-ink)!important;
  font-size:clamp(27px,2.65vw,39px)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
  font-weight:800!important;
  max-width:720px!important;
}
.services-modern-head h2 span{
  color:#3263e7!important;
}
.services-modern-copy{
  margin:0 0 2px!important;
  justify-self:end!important;
  max-width:390px!important;
  color:#7181a0!important;
  font-size:13.5px!important;
  line-height:1.65!important;
}

/* launcher grid */
.services-modern .services-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.services-modern .service-card,
.services-modern .service-card:nth-child(n){
  --accent:#2f63f4;
  --accent-soft:rgba(47,99,244,.10);
  position:relative!important;
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 30px!important;
  grid-template-rows:auto auto!important;
  grid-template-areas:
    "icon content index"
    "icon link link"!important;
  column-gap:13px!important;
  row-gap:7px!important;
  align-items:center!important;
  min-height:126px!important;
  padding:16px 15px!important;
  background:linear-gradient(145deg,#fff 0%,#fbfcff 66%,var(--accent-soft) 160%)!important;
  border:1px solid rgba(218,227,244,.96)!important;
  border-radius:18px!important;
  box-shadow:0 7px 22px rgba(34,59,120,.055)!important;
  overflow:hidden!important;
  isolation:isolate!important;
  text-decoration:none!important;
  grid-column:auto!important;
  grid-row:auto!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease!important;
}
.services-modern .service-card:nth-child(2),
.services-modern .service-card:nth-child(6){--accent:#6d4df5;--accent-soft:rgba(109,77,245,.11)}
.services-modern .service-card:nth-child(3),
.services-modern .service-card:nth-child(7){--accent:#0f91d8;--accent-soft:rgba(15,145,216,.11)}
.services-modern .service-card:nth-child(4),
.services-modern .service-card:nth-child(8){--accent:#168f88;--accent-soft:rgba(22,143,136,.10)}

.services-modern .service-card::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:18px!important;
  bottom:18px!important;
  width:3px!important;
  border-radius:0 999px 999px 0!important;
  background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 42%,white))!important;
  opacity:.78!important;
  transform:none!important;
}
.services-modern .service-card::after{
  content:""!important;
  position:absolute!important;
  width:104px!important;
  height:104px!important;
  right:-52px!important;
  bottom:-58px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,var(--accent-soft),transparent 70%)!important;
  opacity:1!important;
  pointer-events:none!important;
  transform:none!important;
}
.services-modern .service-card:hover{
  transform:translateY(-4px)!important;
  border-color:color-mix(in srgb,var(--accent) 27%,#dfe7f5)!important;
  box-shadow:0 16px 34px rgba(39,67,137,.11)!important;
  background:linear-gradient(145deg,#fff 0%,#f8fbff 72%,var(--accent-soft) 150%)!important;
}

.services-modern .service-index{
  grid-area:index!important;
  position:static!important;
  justify-self:end!important;
  align-self:start!important;
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  min-width:28px!important;
  height:24px!important;
  padding:0!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#9aabc7!important;
  box-shadow:none!important;
  font-size:9.5px!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  font-weight:800!important;
}

.services-modern .service-icon{
  grid-area:icon!important;
  align-self:start!important;
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  margin:0!important;
  border-radius:14px!important;
  color:var(--accent)!important;
  background:linear-gradient(145deg,#fff,var(--accent-soft))!important;
  border:1px solid color-mix(in srgb,var(--accent) 16%,#e0e8f7)!important;
  box-shadow:0 7px 16px color-mix(in srgb,var(--accent) 10%,transparent)!important;
  transform:none!important;
}
.services-modern .service-icon svg{
  width:20px!important;
  height:20px!important;
  stroke-width:1.9!important;
}

.services-modern .service-content{
  grid-area:content!important;
  position:relative!important;
  z-index:2!important;
  display:block!important;
  min-width:0!important;
}
.services-modern .service-card h3{
  margin:0 0 4px!important;
  color:#17264d!important;
  font-size:15.5px!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
  font-weight:800!important;
}
.services-modern .service-card p{
  margin:0!important;
  color:#7484a2!important;
  font-size:11.5px!important;
  line-height:1.45!important;
  max-width:100%!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}

.services-modern .service-link{
  grid-area:link!important;
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin:0!important;
  padding:0!important;
  min-width:0!important;
  color:var(--accent)!important;
}
.services-modern .service-link em{
  font-style:normal!important;
  color:var(--accent)!important;
  font-size:10.5px!important;
  line-height:1!important;
  letter-spacing:.01em!important;
  font-weight:800!important;
}
.services-modern .service-link b{
  display:grid!important;
  place-items:center!important;
  width:27px!important;
  height:27px!important;
  border-radius:9px!important;
  background:var(--accent-soft)!important;
  border:1px solid color-mix(in srgb,var(--accent) 13%,#e0e8f7)!important;
  color:var(--accent)!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:800!important;
  transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease!important;
}
.services-modern .service-card:hover .service-link b{
  transform:translate(2px,-2px)!important;
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#fff!important;
}

/* make the launcher feel detached from the hero rather than one giant white panel */
.services-modern .service-card:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 24%,transparent)!important;
  outline-offset:2px!important;
}

@media(max-width:1100px){
  .services-modern{margin-top:-22px!important;padding-left:16px!important;padding-right:16px!important}
  .services-modern-head{grid-template-columns:1fr!important;gap:6px!important;padding:20px 2px 15px!important}
  .services-modern-copy{justify-self:start!important;max-width:620px!important;font-size:13px!important}
  .services-modern .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:640px){
  .services-modern{margin-top:-16px!important;padding:0 12px 38px!important}
  .services-modern-head{padding:17px 2px 13px!important}
  .services-modern-badge{font-size:9.5px!important;margin-bottom:8px!important}
  .services-modern-head h2{font-size:27px!important;line-height:1.04!important}
  .services-modern-copy{font-size:12.5px!important;line-height:1.55!important}
  .services-modern .services-grid{grid-template-columns:1fr!important;gap:9px!important}
  .services-modern .service-card,
  .services-modern .service-card:nth-child(n){
    grid-template-columns:42px minmax(0,1fr) 28px!important;
    min-height:104px!important;
    padding:13px 13px!important;
    border-radius:16px!important;
    column-gap:11px!important;
    row-gap:5px!important;
  }
  .services-modern .service-card::before{top:14px!important;bottom:14px!important}
  .services-modern .service-icon{width:42px!important;height:42px!important;border-radius:13px!important}
  .services-modern .service-card h3{font-size:15px!important;margin-bottom:3px!important}
  .services-modern .service-card p{font-size:11px!important;-webkit-line-clamp:1!important}
  .services-modern .service-link em{font-size:10px!important}
  .services-modern .service-link b{width:25px!important;height:25px!important}
}
