
/* Our Services — page-specific styles only. Shared theme remains in global/common files. */
.services-page main { overflow: hidden; }
.page-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.services-hero {
  min-height: 72vh; display: grid; grid-template-columns: 1.05fr .95fr;
  gap: clamp(34px, 6vw, 82px); align-items: center;
  padding-top: clamp(110px, 13vw, 160px); padding-bottom: 72px;
}
.services-hero-copy h1 { max-width: 760px; margin: 14px 0 20px; font-size: clamp(3rem, 6vw, 6.4rem); line-height: .96; letter-spacing: -.055em; }
.services-hero-copy > p { max-width: 670px; color: var(--text-secondary, #aeb7b4); font-size: clamp(1rem, 1.5vw, 1.18rem); line-height: 1.75; }
.eyebrow { color: var(--primary, #79e3c4); font-size: .76rem; letter-spacing: .18em; font-weight: 800; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }

.services-hero-panel {
  position:relative; padding: clamp(26px, 4vw, 46px); border-radius: 28px;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  border: 1px solid rgba(174,255,231,.15); box-shadow: 0 28px 80px rgba(0,0,0,.32);
}
.services-hero-panel::before { content:""; position:absolute; inset:-1px; border-radius:inherit; pointer-events:none; background: radial-gradient(circle at 80% 10%, rgba(121,227,196,.12), transparent 36%); }
.panel-kicker { color:#8de8cd; font-size:.72rem; letter-spacing:.15em; font-weight:800; }
.services-hero-panel h2 { position:relative; margin:13px 0; font-size:clamp(1.65rem,3vw,2.6rem); line-height:1.08; }
.services-hero-panel p { position:relative; color:var(--text-secondary,#aeb7b4); line-height:1.72; }
.professional-types { position:relative; display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.professional-types span, .concerns-strip span {
  border:1px solid rgba(137,235,205,.18); background:rgba(121,227,196,.055);
  border-radius:999px; color:#dfeae7;
}
.professional-types span { padding:9px 12px; font-size:.82rem; }

.concerns-strip { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; padding:22px 0 72px; }
.concerns-strip span { padding:10px 16px; transition: transform .25s ease, border-color .25s ease, background .25s ease; }
.concerns-strip span:hover { transform:translateY(-3px) scale(1.035); border-color:rgba(137,235,205,.48); background:rgba(121,227,196,.10); }

.services-section { padding: 50px 0 110px; }
.section-heading { max-width:780px; margin-bottom:42px; }
.section-heading h2 { font-size:clamp(2rem,4vw,4.2rem); line-height:1.02; letter-spacing:-.04em; margin:12px 0 16px; }
.section-heading p { color:var(--text-secondary,#aeb7b4); line-height:1.7; max-width:720px; }
.services-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.service-card {
  display:grid; grid-template-columns:auto 1fr; gap:20px; min-height:240px; padding:28px;
  border-radius:24px; background:rgba(255,255,255,.028); border:1px solid rgba(255,255,255,.075);
  transition:transform .28s ease,border-color .28s ease,background .28s ease;
}
.service-card:hover { transform:translateY(-5px); border-color:rgba(121,227,196,.28); background:rgba(121,227,196,.045); }
.service-number { color:#78dfc1; font-size:.75rem; font-weight:800; letter-spacing:.1em; padding-top:5px; }
.service-card h3 { margin:0 0 12px; font-size:clamp(1.25rem,2vw,1.7rem); }
.service-card p { color:var(--text-secondary,#aeb7b4); line-height:1.68; margin:0; }
.service-tags { margin-top:24px; color:#88ddc4; font-size:.78rem; letter-spacing:.025em; }

.service-guidance, .services-cta {
  display:flex; justify-content:space-between; align-items:center; gap:30px;
  border:1px solid rgba(121,227,196,.15); background:linear-gradient(120deg,rgba(121,227,196,.055),rgba(255,255,255,.018));
  border-radius:28px; padding:clamp(28px,5vw,54px);
}
.service-guidance { margin-bottom:28px; }
.services-cta { margin-bottom:100px; }
.service-guidance > div, .services-cta > div { max-width:760px; }
.service-guidance h2, .services-cta h2 { margin:10px 0; font-size:clamp(1.8rem,3.5vw,3.5rem); line-height:1.05; letter-spacing:-.035em; }
.service-guidance p, .services-cta p { color:var(--text-secondary,#aeb7b4); line-height:1.68; margin:0; }

@media (max-width: 860px) {
  .page-shell { width:min(100% - 28px, 720px); }
  .services-hero { grid-template-columns:1fr; min-height:auto; padding-top:112px; gap:34px; }
  .services-hero-copy h1 { font-size:clamp(3rem,13vw,5rem); }
  .services-grid { grid-template-columns:1fr; }
  .service-guidance,.services-cta { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 520px) {
  .page-shell { width:calc(100% - 24px); }
  .services-hero { padding-top:94px; padding-bottom:48px; }
  .services-hero-panel,.service-card { border-radius:20px; }
  .service-card { grid-template-columns:1fr; min-height:0; gap:10px; padding:22px; }
  .concerns-strip { justify-content:flex-start; padding-bottom:54px; }
  .concerns-strip span { padding:8px 12px; font-size:.82rem; }
  .services-section { padding-top:30px; padding-bottom:72px; }
  .services-cta { margin-bottom:72px; }
}
