/* Services directory and individual service pages. */

.hero:not(.corporate-hero) {
  padding: clamp(48px, 8vw, 88px) 0 clamp(36px, 5vw, 56px);
  background: linear-gradient(135deg, var(--navy-dark) 0%, var(--navy) 55%, #252f4a 100%);
  color: #fff;
}

.hero:not(.corporate-hero) h1 {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  line-height: 1.15;
  letter-spacing: 0;
}

.hero:not(.corporate-hero) p {
  max-width: 640px;
  margin: 0 0 22px;
  color: rgba(255, 255, 255, .88);
  font-size: 1.05rem;
}

.cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.services-section {
  background: var(--white);
  overflow: visible;
}

.process-section {
  background: var(--silver);
}

.service-grid-four {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  column-gap: 22px;
  row-gap: clamp(56px, 4.5vw, 72px);
  position: relative;
  isolation: isolate;
  overflow: visible;
}

.service-grid-four > .service-box {
  height: 100%;
}

.service-box {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  padding: 28px 24px 26px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: var(--white);
  box-shadow: 0 16px 44px rgba(29, 41, 57, .06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.service-box::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(13, 66, 177, .10), transparent 42%);
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}

.service-box:hover {
  z-index: 100;
  transform: translateY(-4px);
  border-color: rgba(50, 62, 107, .22);
  box-shadow: 0 24px 56px rgba(29, 41, 57, .1);
}

.service-box:hover::before {
  opacity: 1;
}

.service-box h3 {
  margin: 0 0 10px;
  color: var(--navy-dark);
  font-size: 1.12rem;
  line-height: 1.25;
  min-height: 4.2em;
}

.service-box > p {
  flex: 1;
  margin: 0 0 18px;
  color: var(--muted);
  font-size: .94rem;
  line-height: 1.6;
}

.service-box a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  margin-top: auto;
  color: var(--navy);
  font-size: .88rem;
  font-weight: 800;
}

.service-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin-bottom: 18px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 20px;
  background-color: rgba(9, 16, 34, .08);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: center center, center center, center center;
  background-size: 22px 22px, 100% 100%, 100% 100%;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .08);
  transition: transform .45s cubic-bezier(.16, 1, .3, 1), box-shadow .45s ease, border-color .45s ease;
}

.service-icon::before,
.service-icon::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.service-icon::before {
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02) 34%, rgba(255, 255, 255, 0) 100%), linear-gradient(135deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, 0) 56%);
  opacity: .9;
}

.service-icon::after {
  inset: -18%;
  border-radius: 28px;
  background: radial-gradient(circle at 50% 42%, rgba(214, 168, 95, .12), transparent 42%), radial-gradient(circle at 50% 68%, rgba(78, 116, 194, .08), transparent 60%);
  opacity: 0;
  transform: scale(.9);
  transition: opacity .45s ease, transform .45s ease;
}

.service-box:hover .service-icon {
  transform: translateY(-3px);
  border-color: rgba(214, 168, 95, .22);
  box-shadow: 0 14px 28px rgba(5, 10, 24, .2), inset 0 1px 0 rgba(255, 255, 255, .1), 0 0 0 1px rgba(214, 168, 95, .08);
}

.service-box:hover .service-icon::after {
  opacity: 1;
  transform: scale(1);
}

.icon-accounting {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5'/%3E%3Cpath d='M4 19h16'/%3E%3Crect x='6.5' y='13' width='2.5' height='6' rx='1'/%3E%3Crect x='10.75' y='9' width='2.5' height='10' rx='1'/%3E%3Crect x='15' y='6' width='2.5' height='13' rx='1'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(31, 49, 98, .95) 0%, rgba(14, 27, 63, .98) 100%), radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .08), transparent 32%);
}

.icon-file-check2 {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4h9l3 3v13H6z'/%3E%3Cpath d='M15 4v3h3'/%3E%3Cpath d='M8 12.5l1.8 1.8 3.8-4.2'/%3E%3Cpath d='M8 9h5'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(31, 49, 98, .95) 0%, rgba(14, 27, 63, .98) 100%), radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .08), transparent 32%);
}

.icon-tax {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h14v16H5z'/%3E%3Cpath d='M8 8h8'/%3E%3Cpath d='M8 12h8'/%3E%3Cpath d='M8 16h5.5'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(31, 49, 98, .95) 0%, rgba(14, 27, 63, .98) 100%), radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .08), transparent 32%);
}

.icon-audit {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='5.2'/%3E%3Cpath d='m15 15 4.5 4.5'/%3E%3Cpath d='m9.5 11 1.4 1.4L13.9 9.4'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(31, 49, 98, .95) 0%, rgba(14, 27, 63, .98) 100%), radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .08), transparent 32%);
}

.icon-briefcase {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 12 7.2 9.2a2.5 2.5 0 0 1 3.5-3.5L12 6.9l1.3-1.2a2.5 2.5 0 1 1 3.5 3.5L14 12'/%3E%3Cpath d='M3.8 15.2 8.6 10.4'/%3E%3Cpath d='M15.4 13.4 20.2 8.6'/%3E%3Cpath d='M8.5 15.5 5.5 18.5'/%3E%3Cpath d='M13 14.5 10 17.5'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(31, 49, 98, .95) 0%, rgba(14, 27, 63, .98) 100%), radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .08), transparent 32%);
}

.icon-invoice {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4h9l3 3v13H6z'/%3E%3Cpath d='M15 4v3h3'/%3E%3Cpath d='M8 11h8'/%3E%3Cpath d='M8 14h5.5'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(31, 49, 98, .95) 0%, rgba(14, 27, 63, .98) 100%), radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .08), transparent 32%);
}

.icon-software {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4.5' width='17' height='11' rx='1.8'/%3E%3Cpath d='M8 19.5h8'/%3E%3Cpath d='M12 15.5v4'/%3E%3Cpath d='M16.5 8.5a2 2 0 1 0 0 .1'/%3E%3Cpath d='M16.5 6.5v-1.2'/%3E%3Cpath d='M16.5 10.7v1.2'/%3E%3Cpath d='M14.8 8.5h-1.2'/%3E%3Cpath d='M19.4 8.5h-1.2'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(31, 49, 98, .95) 0%, rgba(14, 27, 63, .98) 100%), radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .08), transparent 32%);
}

.icon-users {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 10.2a2.7 2.7 0 1 0 0-.1'/%3E%3Cpath d='M15.8 11a2.3 2.3 0 1 0 0-.1'/%3E%3Cpath d='M4.8 19.2v-1.1a3.8 3.8 0 0 1 3.8-3.8h1.3'/%3E%3Cpath d='M12.8 19.2v-1.1a3.8 3.8 0 0 1 3.8-3.8h1.8'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(31, 49, 98, .95) 0%, rgba(14, 27, 63, .98) 100%), radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .08), transparent 32%);
}

.icon-user-search {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 11.2a2.5 2.5 0 1 0 0-.1'/%3E%3Cpath d='M5 19.2v-1a4.1 4.1 0 0 1 4.1-4.1h2.7'/%3E%3Ccircle cx='17' cy='16.3' r='2.8'/%3E%3Cpath d='m19.1 18.4 1.9 1.9'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(31, 49, 98, .95) 0%, rgba(14, 27, 63, .98) 100%), radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .08), transparent 32%);
}

.icon-search-check {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='5.2'/%3E%3Cpath d='m15 15 4.5 4.5'/%3E%3Cpath d='m9.5 11 1.4 1.4L13.9 9.4'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(31, 49, 98, .95) 0%, rgba(14, 27, 63, .98) 100%), radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .08), transparent 32%);
}

.icon-building {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4.5h12v15H6z'/%3E%3Cpath d='M9 7.5h2.5M14 7.5h1'/%3E%3Cpath d='M9 11.5h2.5M14 11.5h1'/%3E%3Cpath d='M10 19.5v-4h4v4'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(31, 49, 98, .95) 0%, rgba(14, 27, 63, .98) 100%), radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .08), transparent 32%);
}

.icon-settings {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3.1'/%3E%3Cpath d='M12 4.5v1.7M12 17.8v1.7M5.7 5.7l1.2 1.2M17.1 17.1l1.2 1.2M4.5 12h1.7M17.8 12h1.7M5.7 18.3l1.2-1.2M17.1 6.9l1.2-1.2'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(31, 49, 98, .95) 0%, rgba(14, 27, 63, .98) 100%), radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .08), transparent 32%);
}

.icon-handshake {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5 8 9.2l3 2.4'/%3E%3Cpath d='M19.5 12.5 16 9.2l-3 2.4'/%3E%3Cpath d='M8 9.2 11 7l3 2.2'/%3E%3Cpath d='M8 9.2 6 11.1a2.4 2.4 0 0 0 0 3.4l1.8 1.8a2.4 2.4 0 0 0 3.4 0l1-1'/%3E%3Cpath d='M16 9.2 18 11.1a2.4 2.4 0 0 1 0 3.4l-1.8 1.8a2.4 2.4 0 0 1-3.4 0l-1-1'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(31, 49, 98, .95) 0%, rgba(14, 27, 63, .98) 100%), radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .08), transparent 32%);
}

.icon-file-text {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4h9l3 3v13H6z'/%3E%3Cpath d='M15 4v3h3'/%3E%3Cpath d='M8 11h8'/%3E%3Cpath d='M8 14h5.5'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(31, 49, 98, .95) 0%, rgba(14, 27, 63, .98) 100%), radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .08), transparent 32%);
}

.icon-monitor-cog {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4.5' width='17' height='11' rx='1.8'/%3E%3Cpath d='M8 19.5h8'/%3E%3Cpath d='M12 15.5v4'/%3E%3Cpath d='M16.5 8.5a2 2 0 1 0 0 .1'/%3E%3Cpath d='M16.5 6.5v-1.2'/%3E%3Cpath d='M16.5 10.7v1.2'/%3E%3Cpath d='M14.8 8.5h-1.2'/%3E%3Cpath d='M19.4 8.5h-1.2'/%3E%3C/svg%3E"), linear-gradient(180deg, rgba(31, 49, 98, .95) 0%, rgba(14, 27, 63, .98) 100%), radial-gradient(circle at 24% 18%, rgba(255, 255, 255, .08), transparent 32%);
}

.split-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 56px);
  align-items: start;
}

.split-section h2 {
  margin: 10px 0 14px;
  color: var(--navy-dark);
  font-size: clamp(1.5rem, 2.8vw, 2.1rem);
  line-height: 1.15;
  letter-spacing: 0;
}

.split-section > div > p:not(.section-kicker) {
  margin: 0 0 22px;
  color: var(--muted);
}

.steps {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.step {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 18px 20px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--white);
  box-shadow: 0 8px 24px rgba(29, 41, 57, .05);
}

.step span {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: var(--blue-soft);
  color: var(--navy);
  font-size: .95rem;
  font-weight: 800;
}

.step h3 {
  margin: 0 0 6px;
  color: var(--navy-dark);
  font-size: 1rem;
}

.step p {
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.55;
}

.blue-cta-band {
  padding: 0 0 clamp(56px, 8vw, 96px);
  background: var(--white);
}

.blue-cta-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: clamp(18px, 3vw, 32px);
  overflow: hidden;
  padding: clamp(26px, 4vw, 38px) clamp(22px, 4vw, 44px);
  border-radius: 28px;
  background: radial-gradient(circle at 0% 50%, rgba(255, 255, 255, .12) 0%, transparent 45%), linear-gradient(125deg, var(--navy-dark) 0%, var(--navy) 48%, #252f4a 100%);
  color: #fff;
  box-shadow: 0 24px 50px rgba(22, 37, 77, .28);
}

.blue-cta-text {
  position: relative;
  z-index: 1;
  flex: 1;
  min-width: 0;
}

.blue-cta-text h2 {
  margin: 0 0 8px;
  color: #fff;
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  line-height: 1.2;
}

.blue-cta-text p {
  max-width: 520px;
  margin: 0;
  color: rgba(255, 255, 255, .86);
  font-size: 1rem;
}

.cta-icon {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .15);
  color: #fff;
}

.blue-cta-card .btn-light {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

.guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.guide-card {
  display: flex;
  flex-direction: column;
  min-height: 330px;
  padding: 30px;
  border: 1px solid var(--border);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(29, 41, 57, .07);
}

.guide-category {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 18px;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--blue-soft);
  color: var(--blue);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.guide-link {
  margin-top: auto;
  color: var(--blue);
  font-weight: 900;
}

@media (max-width: 1024px) {
  .service-grid-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 42px;
  }
}

@media (max-width: 980px) {
  .split-section,
  .guide-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .blue-cta-card {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .blue-cta-card .btn-light,
  .cta-row .btn {
    width: 100%;
  }
}

@media (max-width: 600px) {
  .service-grid-four {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }

  .service-box h3 {
    min-height: 0;
  }
}
