/*
 * service.css — service detail page (service.html)
 * Reuses about.css helpers (.about-eyebrow, .about-section-head, .about-cta).
 * Navy + gold tokens only. Section rhythm: dark hero → white → subtle → white.
 */

/* ═══ HERO (dark — keeps the transparent nav legible) ═══════════════════ */
.svc-hero {
  position: relative;
  margin-top: calc(-1 * var(--navbar-height));
  padding-top: calc(var(--navbar-height) + var(--space-14));
  padding-bottom: var(--space-20);
  background: linear-gradient(165deg, #071322 0%, #0b1c30 55%, #0c1f35 100%);
  overflow: hidden;
}
.svc-hero__bg { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.svc-hero__orb { position: absolute; border-radius: 50%; filter: blur(90px); will-change: transform; }
.svc-hero__orb--1 { width: 500px; height: 500px; background: var(--color-brand-500); opacity: 0.22; top: -160px; right: -120px; }
.svc-hero__orb--2 { width: 400px; height: 400px; background: var(--color-violet-500); opacity: 0.14; bottom: -170px; left: -90px; }
.svc-hero__grid {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 34px 34px; opacity: 0.5;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 35%, #000 0%, transparent 80%);
          mask-image: radial-gradient(ellipse 70% 60% at 50% 35%, #000 0%, transparent 80%);
}
/* Slow-breathing aurora for depth */
.svc-hero__aurora {
  position: absolute; top: 6%; left: 50%; width: min(820px, 92%); height: 60%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, rgba(61, 107, 160, 0.26) 0%, rgba(21, 67, 120, 0.10) 45%, transparent 72%);
  filter: blur(50px);
  animation: svcAurora 10s var(--ease-in-out) infinite;
}
@keyframes svcAurora {
  0%, 100% { opacity: 0.6; transform: translateX(-50%) scale(1);    }
  50%      { opacity: 1;   transform: translateX(-50%) scale(1.12); }
}

.svc-hero__container { position: relative; z-index: 1; }

/* Two-column hero: statement on the left, at-a-glance panel on the right */
.svc-hero__layout {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: var(--space-12);
  align-items: start;
}
.svc-hero__main { min-width: 0; }

/* Category pill (icon + label in one) */
.svc-hero__badge {
  display: inline-flex; align-items: center; gap: var(--space-2);
  padding: var(--space-2) var(--space-4) var(--space-2) var(--space-2);
  border-radius: var(--radius-full);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  font-size: var(--text-sm); font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-wide); text-transform: uppercase;
  color: rgba(255, 255, 255, 0.86);
  margin-bottom: var(--space-6);
}
.svc-hero__badge-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%;
  background: rgba(255, 255, 255, 0.10); color: #fff;
}

/* Italic-serif lead — the character line, matching the homepage language */
.svc-hero__lead {
  font-family: 'Instrument Serif', Georgia, 'Times New Roman', serif;
  font-style: italic; font-weight: 400;
  font-size: clamp(1.5rem, 2.6vw, 2.15rem);
  line-height: 1.2; letter-spacing: normal;
  color: rgba(255, 255, 255, 0.90);
  margin: 0 0 var(--space-5); max-width: 24ch;
}

/* At-a-glance panel */
.svc-hero__panel {
  position: relative;
  padding: var(--space-7);
  border-radius: var(--radius-2xl);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 30px 70px rgba(3, 10, 20, 0.35);
}
.svc-hero__panel-label {
  display: block; font-size: var(--text-sm); font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-ultra); text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5); margin-bottom: var(--space-5);
}
.svc-hero__facts { margin: 0; display: grid; gap: var(--space-5); }
.svc-hero__fact { display: grid; gap: var(--space-2); }
.svc-hero__fact dt {
  font-size: var(--text-sm); color: rgba(255, 255, 255, 0.55);
}
.svc-hero__fact dd {
  margin: 0; font-size: var(--text-body); color: #fff; font-weight: var(--weight-medium);
}
.svc-hero__fact-price {
  font-family: var(--font-display);
  font-size: var(--text-h3) !important;
  font-weight: var(--weight-extrabold) !important;
  letter-spacing: var(--tracking-tight);
  line-height: 1.1;
}
.svc-hero__fact-chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.svc-hero__fact-chips span {
  padding: 4px var(--space-3); border-radius: var(--radius-full);
  background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.14);
  font-size: var(--text-body-sm); font-weight: var(--weight-medium);
  color: rgba(255, 255, 255, 0.85);
}
.svc-hero__panel-cta {
  display: inline-flex; align-items: center; gap: var(--space-2);
  margin-top: var(--space-6); padding-top: var(--space-5);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  width: 100%;
  font-size: var(--text-body-sm); font-weight: var(--weight-semibold);
  color: #fff; text-decoration: none;
  transition: gap 220ms var(--ease-out);
}
.svc-hero__panel-cta:hover { gap: var(--space-3); }

@media (max-width: 1024px) {
  .svc-hero__layout { grid-template-columns: 1fr; gap: var(--space-10); }
  .svc-hero__panel { max-width: 520px; }
}

.svc-breadcrumb { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); margin-bottom: var(--space-6); flex-wrap: wrap; }
.svc-breadcrumb a { color: rgba(255,255,255,0.6); text-decoration: none; transition: color 180ms ease; }
.svc-breadcrumb a:hover { color: #fff; }
.svc-breadcrumb span[aria-hidden] { color: rgba(255,255,255,0.3); }
.svc-breadcrumb span[aria-current] { color: var(--color-violet-400); font-weight: 600; }

.svc-hero__icon {
  width: 56px; height: 56px; border-radius: var(--radius-xl);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: var(--space-5);
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.14);
  color: var(--color-violet-400);
}
.svc-hero__eyebrow-wrap { margin-bottom: var(--space-3); }
.svc-hero__eyebrow-wrap .eyebrow { color: rgba(255,255,255,0.7); }
.svc-hero__headline {
  font-family: var(--font-display);
  font-size: clamp(2.25rem, 4.6vw, 3.75rem); font-weight: 800; line-height: 1.02;
  letter-spacing: var(--tracking-tightest); color: #fff; margin: 0 0 var(--space-4); max-width: 14ch;
}
.svc-hero__sub { font-size: var(--text-body-lg); color: rgba(255,255,255,0.68); line-height: 1.7; max-width: 48ch; margin: 0 0 var(--space-8); }
.svc-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }

/* Hero trust strip */
.svc-hl-list { list-style: none; margin: var(--space-8) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-6); }
.svc-hl { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); font-weight: 500; color: rgba(255,255,255,0.82); }
.svc-hl__icon { display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(61, 107, 160,0.14); border: 1px solid rgba(61, 107, 160,0.28); color: var(--color-violet-400); }

/* ═══ OVERVIEW (white) — copy + capabilities ════════════════════════════ */
.svc-overview { background: var(--color-bg); padding: var(--space-24) 0; }
.svc-overview__inner { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-12); align-items: start; }
.svc-overview__title { font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 800; line-height: 1.2; letter-spacing: -0.02em; color: var(--color-text-primary); margin: 0 0 var(--space-4); }
.svc-overview__text { font-size: var(--text-body); color: var(--color-text-tertiary); line-height: 1.8; margin: 0 0 var(--space-6); max-width: 52ch; }
.svc-overview__ideal-label { display: block; font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--color-text-tertiary); margin-bottom: var(--space-3); }
.svc-chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.svc-chip { font-size: var(--text-xs); font-weight: 600; color: var(--color-brand-600); background: var(--color-brand-50); border: 1px solid rgba(21, 67, 120,0.16); border-radius: var(--radius-full); padding: 4px var(--space-3); }

.svc-caps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.svc-cap {
  display: flex; gap: var(--space-4); align-items: flex-start;
  background: var(--color-bg-subtle); border: 1px solid var(--color-border);
  border-radius: var(--radius-xl); padding: var(--space-5);
  transition: transform 280ms var(--ease-out), box-shadow 280ms ease, border-color 280ms ease;
}
.svc-cap:hover { transform: translateX(4px); border-color: rgba(21, 67, 120,0.22); box-shadow: 0 12px 28px rgba(21, 67, 120,0.08); }
.svc-cap__icon {
  flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%; margin-top: 1px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(21, 67, 120,0.10); color: var(--color-brand-500);
}
.svc-cap__title { font-size: var(--text-body-sm); font-weight: 700; color: var(--color-text-primary); margin: 0 0 2px; }
.svc-cap__desc { font-size: var(--text-xs); color: var(--color-text-tertiary); line-height: 1.55; margin: 0; }

/* ═══ PACKAGES (subtle) ═════════════════════════════════════════════════ */
.svc-packages { background: var(--color-bg); padding: var(--space-24) 0; }
.svc-pkgs { list-style: none; margin: 0 0 var(--space-6); padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); align-items: stretch; }
.svc-pkg {
  position: relative; display: flex; flex-direction: column;
  background: var(--color-bg-subtle); border: 1px solid var(--color-border);
  border-radius: var(--radius-2xl); padding: var(--space-8);
  transition: transform 300ms var(--ease-out), box-shadow 300ms ease, border-color 300ms ease;
}
.svc-pkg:hover { transform: translateY(-5px); box-shadow: 0 18px 44px rgba(21, 67, 120,0.10); }
.svc-pkg--featured {
  background: var(--color-bg);
  border-color: var(--color-brand-500);
  box-shadow: 0 0 0 1px var(--color-brand-500), 0 20px 50px rgba(21, 67, 120,0.16);
}
.svc-pkg__badge {
  position: absolute; top: 0; right: var(--space-6); transform: translateY(-50%);
  font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
  color: #fff; background: var(--color-brand-600); border-radius: var(--radius-full);
  padding: 4px var(--space-3); box-shadow: 0 4px 12px rgba(21,67,120,0.35);
}
.svc-pkg__name { font-size: var(--text-h6); font-weight: 700; color: var(--color-text-primary); }
.svc-pkg__note { font-size: var(--text-xs); color: var(--color-text-tertiary); margin-top: 2px; }
.svc-pkg__price { font-family: var(--font-display); font-size: var(--text-h4); font-weight: 800; letter-spacing: -0.02em; color: var(--color-brand-500); margin: var(--space-4) 0 var(--space-5); }
.svc-pkg--featured .svc-pkg__price { color: var(--color-brand-600); }
.svc-pkg__features { list-style: none; margin: 0 0 var(--space-6); padding: 0; display: flex; flex-direction: column; gap: var(--space-3); flex: 1; }
.svc-pkg__features li { display: flex; align-items: flex-start; gap: var(--space-2); font-size: var(--text-body-sm); color: var(--color-text-secondary); line-height: 1.4; }
.svc-pkg__features svg { flex-shrink: 0; margin-top: 2px; color: var(--color-violet-500); }
.svc-pkg__cta { width: 100%; }
.svc-pkgs__note { text-align: center; font-size: var(--text-sm); color: var(--color-text-tertiary); margin: 0; }
.svc-pkgs__note a { color: var(--color-brand-600); font-weight: 600; text-decoration: none; }
.svc-pkgs__note a:hover { text-decoration: underline; }

/* ═══ PROBLEMS WE SOLVE (white) ═════════════════════════════════════════ */
.svc-problems { background: var(--color-bg-subtle); padding: var(--space-24) 0; }
.svc-problems__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
.svc-problem {
  position: relative; background: var(--color-bg); border: 1px solid var(--color-border);
  /* card sits on subtle section bg */
  border-radius: var(--radius-2xl); padding: var(--space-8) var(--space-7) var(--space-7);
  overflow: hidden;
  transition: transform 300ms var(--ease-out), box-shadow 300ms ease, border-color 300ms ease;
}
.svc-problem::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, var(--color-brand-500), var(--color-violet-500)); transform: scaleX(0); transform-origin: left; transition: transform 380ms var(--ease-out); }
.svc-problem:hover { transform: translateY(-5px); border-color: rgba(21, 67, 120,0.22); box-shadow: 0 18px 44px rgba(21, 67, 120,0.10); }
.svc-problem:hover::before { transform: scaleX(1); }
.svc-problem__mark { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: var(--radius-lg); margin-bottom: var(--space-5); color: var(--color-brand-500); background: linear-gradient(145deg, rgba(21, 67, 120,0.12), rgba(21, 67, 120,0.12)); transition: transform 300ms var(--ease-spring); }
.svc-problem:hover .svc-problem__mark { transform: rotate(45deg); }
.svc-problem__title { font-size: var(--text-h6); font-weight: 700; color: var(--color-text-primary); margin: 0 0 var(--space-2); line-height: 1.3; }
.svc-problem__desc { font-size: var(--text-body-sm); color: var(--color-text-tertiary); line-height: 1.65; margin: 0; }

/* ═══ PROCESS (subtle) ══════════════════════════════════════════════════ */
.svc-process { background: var(--color-bg); padding: var(--space-24) 0; }
.svc-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-5); counter-reset: step; }
.svc-step { position: relative; text-align: left; }
/* connector line between steps */
.svc-step:not(:last-child)::after { content: ''; position: absolute; top: 26px; left: calc(52px + var(--space-2)); right: calc(-1 * var(--space-5)); height: 2px; background: linear-gradient(90deg, var(--color-brand-300), transparent); opacity: 0.6; }
.svc-step__num { position: relative; z-index: 1; width: 52px; height: 52px; border-radius: var(--radius-xl); display: flex; align-items: center; justify-content: center; margin-bottom: var(--space-4); background: var(--color-bg); border: 1px solid var(--color-border); font-family: var(--font-display); font-weight: 800; font-size: var(--text-body); color: var(--color-brand-500); box-shadow: 0 6px 16px rgba(21, 67, 120,0.08); transition: transform 300ms var(--ease-spring), box-shadow 300ms ease; }
.svc-step:hover .svc-step__num { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(21, 67, 120,0.16); }
.svc-step__icon { display: inline-flex; align-items: center; justify-content: center; color: var(--color-violet-500); margin-bottom: var(--space-3); }
.svc-step__title { font-size: var(--text-body); font-weight: 700; color: var(--color-text-primary); margin: 0 0 var(--space-2); }
.svc-step__desc { font-size: var(--text-xs); color: var(--color-text-tertiary); line-height: 1.6; margin: 0; }

/* ═══ DELIVERABLES (white) ══════════════════════════════════════════════ */
.svc-deliver { background: var(--color-bg-subtle); padding: var(--space-24) 0; }
.svc-deliver__inner { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: var(--space-12); align-items: start; }
.svc-deliver__title { font-size: clamp(1.5rem, 2.6vw, 2.125rem); font-weight: 800; line-height: 1.15; letter-spacing: -0.02em; color: var(--color-text-primary); margin: 0 0 var(--space-4); }
.svc-deliver__text { font-size: var(--text-body); color: var(--color-text-tertiary); line-height: 1.8; margin: 0 0 var(--space-7); max-width: 46ch; }
.svc-deliver__cta { align-self: flex-start; }
.svc-deliver__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
.svc-deliver__item { display: flex; align-items: flex-start; gap: var(--space-3); background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-xl); padding: var(--space-5); font-size: var(--text-body-sm); font-weight: 500; color: var(--color-text-secondary); line-height: 1.5; transition: transform 260ms var(--ease-out), border-color 260ms ease, box-shadow 260ms ease; }
.svc-deliver__item:hover { transform: translateY(-3px); border-color: rgba(21, 67, 120,0.22); box-shadow: 0 12px 28px rgba(21, 67, 120,0.08); }
.svc-deliver__check { flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(21, 67, 120,0.10); color: var(--color-brand-500); margin-top: 1px; }

/* ═══ TECH (white) ══════════════════════════════════════════════════════ */
.svc-tech { background: var(--color-bg-subtle); padding: var(--space-16) 0; }
.svc-tech__tag { background: var(--color-bg) !important; }
.svc-tech__inner { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: var(--space-4); }
.svc-tech__label { font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--color-text-tertiary); }
.svc-tech__tags { display: flex; flex-wrap: wrap; gap: var(--space-2); justify-content: center; }
.svc-tech__tag { font-size: var(--text-sm); font-weight: 500; color: var(--color-text-secondary); background: var(--color-bg-subtle); border: 1px solid var(--color-border); border-radius: var(--radius-full); padding: 6px var(--space-4); }

/* ═══ FAQ (white) ═══════════════════════════════════════════════════════ */
.svc-faqs { background: var(--color-bg); padding: var(--space-24) 0; }
.svc-faqs__inner { max-width: 820px; margin-inline: auto; }
.svc-faqs__inner .about-section-head { margin-bottom: var(--space-10); }
.svc-faqs__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--space-3); }
.svc-faq { background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-xl); overflow: hidden; transition: border-color 240ms ease, box-shadow 240ms ease; }
.svc-faq--open { border-color: rgba(21, 67, 120,0.28); box-shadow: 0 14px 34px rgba(21, 67, 120,0.08); }
.svc-faq__q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); text-align: left; background: none; border: none; cursor: pointer; padding: var(--space-5) var(--space-6); font-family: inherit; font-size: var(--text-body); font-weight: 600; color: var(--color-text-primary); line-height: 1.4; }
.svc-faq__toggle { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--color-bg-subtle); color: var(--color-brand-500); transition: transform 300ms var(--ease-spring), background 240ms ease, color 240ms ease; }
.svc-faq--open .svc-faq__toggle { transform: rotate(135deg); background: var(--color-brand-500); color: #fff; }
.svc-faq__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 320ms var(--ease-out); }
.svc-faq--open .svc-faq__a { grid-template-rows: 1fr; }
.svc-faq__a-inner { overflow: hidden; }
.svc-faq__a-inner p { margin: 0; padding: 0 var(--space-6) var(--space-6); font-size: var(--text-body-sm); color: var(--color-text-tertiary); line-height: 1.75; max-width: 62ch; }

/* ═══ RELATED (subtle) ══════════════════════════════════════════════════ */
.svc-related { background: var(--color-bg-subtle); padding: var(--space-20) 0; }
.svc-related__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-4); max-width: 820px; margin-inline: auto; }
.svc-related__card {
  display: flex; align-items: center; gap: var(--space-3);
  background: var(--color-bg); border: 1px solid var(--color-border);
  border-radius: var(--radius-xl); padding: var(--space-4) var(--space-5);
  text-decoration: none; color: var(--color-text-primary); font-weight: 600; font-size: var(--text-body-sm);
  transition: transform 260ms var(--ease-out), box-shadow 260ms ease, border-color 260ms ease;
}
.svc-related__card:hover { transform: translateY(-3px); border-color: rgba(21, 67, 120,0.24); box-shadow: 0 12px 30px rgba(21, 67, 120,0.10); }
.svc-related__card > span:nth-child(2) { flex: 1; }
.svc-related__icon { width: 34px; height: 34px; flex-shrink: 0; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; background: linear-gradient(145deg, rgba(21, 67, 120,0.10), rgba(21, 67, 120,0.10)); color: var(--color-brand-500); }
.svc-related__card svg:last-child { color: var(--color-text-tertiary); flex-shrink: 0; }

/* ═══ Responsive ════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .svc-overview__inner { grid-template-columns: 1fr; gap: var(--space-10); }
  .svc-pkgs { grid-template-columns: 1fr; max-width: 480px; margin-inline: auto; margin-bottom: var(--space-6); }
  .svc-problems__grid { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; }
  .svc-steps { grid-template-columns: repeat(3, 1fr); gap: var(--space-8) var(--space-5); }
  .svc-step:nth-child(3)::after { display: none; }
  .svc-deliver__inner { grid-template-columns: 1fr; gap: var(--space-8); }
}
@media (max-width: 767px) {
  .svc-hero { padding-bottom: var(--space-14); }
  .svc-overview, .svc-problems, .svc-process, .svc-deliver, .svc-packages, .svc-faqs { padding: var(--space-16) 0; }
  .svc-related__grid { grid-template-columns: 1fr; }
  .svc-hero__actions .btn { width: 100%; }
  .svc-steps { grid-template-columns: 1fr; gap: var(--space-6); max-width: 420px; margin-inline: auto; }
  .svc-step { display: grid; grid-template-columns: auto 1fr; grid-template-areas: 'num title' 'num desc'; column-gap: var(--space-4); row-gap: var(--space-1); align-items: start; }
  .svc-step__num { grid-area: num; margin-bottom: 0; }
  .svc-step__icon { display: none; }
  .svc-step__title { grid-area: title; margin-top: var(--space-2); }
  .svc-step__desc { grid-area: desc; }
  .svc-step::after { display: none !important; }
  .svc-deliver__list { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════════
   SERVICE CATALOGUE + HIGHLIGHTED ADD-ON
   Page-specific section rendered only for services that define `catalog`
   (currently Graphic Design). Spells out exactly what can be ordered.
═══════════════════════════════════════════════════════════════════════ */

.svc-catalog {
  position: relative;
  background: var(--color-bg-subtle);
  padding: var(--space-24) 0;
  overflow: hidden;
}
/* Subtle dot-grid texture so the section doesn't read as a plain list */
.svc-catalog::before {
  content: ''; position: absolute; inset: 0; z-index: 0;
  background-image: radial-gradient(circle, rgba(21, 67, 120, 0.07) 1px, transparent 1px);
  background-size: 26px 26px;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 20%, transparent 100%);
          mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 20%, transparent 100%);
  pointer-events: none;
}
.svc-catalog > .container { position: relative; z-index: 1; }

.svc-catalog__grid {
  list-style: none; margin: var(--space-12) 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-4);
  counter-reset: catalog;
}

.svc-catalog__item {
  position: relative; display: flex; gap: var(--space-5); align-items: flex-start;
  background: var(--color-bg); border: 1px solid var(--color-border);
  border-radius: var(--radius-xl); padding: var(--space-6);
  overflow: hidden;
  transition: transform 300ms var(--ease-out), border-color 300ms ease, box-shadow 300ms ease;
}
.svc-catalog__item:hover {
  transform: translateY(-4px);
  border-color: rgba(21, 67, 120, 0.32);
  box-shadow: 0 22px 48px rgba(21, 67, 120, 0.12);
}

/* Icon tile — the visual anchor for each item */
.svc-catalog__icon {
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px;
  border-radius: var(--radius-lg);
  background: linear-gradient(145deg, rgba(21, 67, 120, 0.10), rgba(21, 67, 120, 0.04));
  border: 1px solid rgba(21, 67, 120, 0.14);
  color: var(--color-brand-600);
  transition: background 320ms ease, color 320ms ease, transform 420ms var(--ease-spring), border-color 320ms ease;
}
.svc-catalog__item:hover .svc-catalog__icon {
  background: var(--color-brand-500);
  border-color: var(--color-brand-500);
  color: #fff;
  transform: translateY(-2px) rotate(-5deg);
}

.svc-catalog__body { min-width: 0; }

/* Index number — a large ghost figure in the corner */
.svc-catalog__num {
  position: absolute; top: var(--space-3); right: var(--space-4);
  font-family: var(--font-display);
  font-size: 2.25rem;
  font-weight: var(--weight-extrabold);
  line-height: 1;
  color: var(--color-brand-500);
  opacity: 0.10;
  transition: opacity 320ms ease, transform 320ms var(--ease-out);
  pointer-events: none;
}
.svc-catalog__item:hover .svc-catalog__num { opacity: 0.2; transform: translateY(-2px); }

.svc-catalog__title {
  font-family: var(--font-display); font-size: var(--text-h5);
  font-weight: var(--weight-bold); color: var(--color-text-primary);
  margin: 0 0 var(--space-2); letter-spacing: var(--tracking-tight);
  padding-right: var(--space-10);   /* clear of the corner index number */
}
.svc-catalog__desc {
  margin: 0; font-size: var(--text-body-sm);
  line-height: var(--leading-relaxed); color: var(--color-text-secondary);
}

/* Highlighted add-on (trademark) */
.svc-addon {
  display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--space-8);
  align-items: center;
  margin-top: var(--space-8);
  padding: var(--space-8);
  border-radius: var(--radius-2xl);
  background: linear-gradient(135deg, var(--color-brand-800), var(--color-brand-600));
  color: #fff;
}
.svc-addon__label {
  display: inline-block; font-size: var(--text-body-sm);
  letter-spacing: var(--tracking-ultra); text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62); margin-bottom: var(--space-3);
}
.svc-addon__title {
  display: flex; align-items: center; gap: var(--space-3);
  font-family: var(--font-display); font-size: var(--text-h3);
  font-weight: var(--weight-bold); letter-spacing: var(--tracking-tight);
  margin: 0 0 var(--space-3); color: #fff;
}
.svc-addon__text {
  margin: 0; color: rgba(255, 255, 255, 0.78);
  line-height: var(--leading-relaxed); max-width: 46ch;
}
.svc-addon__points { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); }
.svc-addon__points li {
  display: flex; align-items: flex-start; gap: var(--space-3);
  font-size: var(--text-body-sm); color: rgba(255, 255, 255, 0.92);
}
.svc-addon__points svg { flex-shrink: 0; margin-top: 3px; color: #fff; opacity: 0.85; }

/* Closing helper + CTAs */
.svc-catalog__cta {
  margin-top: var(--space-10); text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: var(--space-5);
}
.svc-catalog__cta-text {
  margin: 0; font-size: var(--text-body-lg); color: var(--color-text-secondary);
}
.svc-catalog__cta-actions { display: flex; flex-wrap: wrap; gap: var(--space-4); justify-content: center; }

@media (max-width: 900px) {
  .svc-catalog__grid { grid-template-columns: 1fr; }
  .svc-addon { grid-template-columns: 1fr; gap: var(--space-6); }
}

/* ═══════════════════════════════════════════════════════════════════════
   RELATED CASE STUDIES — real work that used this service
═══════════════════════════════════════════════════════════════════════ */
.svc-work { background: var(--color-bg); padding: var(--space-24) 0; }

.svc-work__grid {
  margin-top: var(--space-12);
  display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5);
}

.svc-work__card {
  display: flex; flex-direction: column;
  background: var(--color-bg); border: 1px solid var(--color-border);
  border-radius: var(--radius-2xl); overflow: hidden; text-decoration: none;
  transition: transform 320ms var(--ease-out), box-shadow 340ms ease, border-color 340ms ease;
}
.svc-work__card:hover, .svc-work__card:focus-visible {
  transform: translateY(-6px);
  border-color: rgba(21, 67, 120, 0.30);
  box-shadow: 0 28px 60px rgba(21, 67, 120, 0.15);
  outline: none;
}

.svc-work__media {
  position: relative; display: block; overflow: hidden;
  aspect-ratio: 3 / 2; background: var(--color-bg-subtle);
}
.svc-work__img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 620ms var(--ease-out);
}
.svc-work__card:hover .svc-work__img { transform: scale(1.05); }

.svc-work__cat {
  position: absolute; top: var(--space-3); left: var(--space-3);
  padding: 4px var(--space-3); border-radius: var(--radius-full);
  background: rgba(7, 19, 34, 0.72); backdrop-filter: blur(6px);
  font-size: var(--text-body-sm); font-weight: var(--weight-medium); color: #fff;
}

.svc-work__body { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-6); }
.svc-work__name {
  font-family: var(--font-display); font-size: var(--text-h5);
  font-weight: var(--weight-bold); color: var(--color-text-primary);
  letter-spacing: var(--tracking-tight);
}
.svc-work__tag {
  font-size: var(--text-body-sm); line-height: var(--leading-relaxed);
  color: var(--color-text-secondary);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.svc-work__cta {
  display: inline-flex; align-items: center; gap: var(--space-2);
  margin-top: var(--space-2); font-size: var(--text-body-sm);
  font-weight: var(--weight-semibold); color: var(--color-brand-600);
}
.svc-work__cta svg { transition: transform 240ms var(--ease-out); }
.svc-work__card:hover .svc-work__cta svg { transform: translateX(4px); }

.svc-work__more { margin-top: var(--space-10); text-align: center; }

@media (max-width: 1024px) { .svc-work__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .svc-work__grid { grid-template-columns: 1fr; } }

/* Industry/category line above the project name on work previews */
.svc-work__meta {
  font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--color-brand-500);
}

/* ═══════════════════════════════════════════════════════════════════════
   LIGHT HERO — clean, low-chrome treatment
   Replaces the heavy navy hero. `.hero--light` is also on the section, which
   flips the navbar to dark UI via body:has(.hero--light) in components.css.
   Navy is now an ACCENT here, not the canvas.
═══════════════════════════════════════════════════════════════════════ */
.svc-hero {
  background: linear-gradient(180deg, #ffffff 0%, #eef1f8 100%);
  padding-bottom: var(--space-16);
}

/* Background decor → barely-there tints instead of glowing navy orbs */
.svc-hero .svc-hero__orb--1 { background: rgba(21, 67, 120, 0.10); opacity: 1; }
.svc-hero .svc-hero__orb--2 { background: rgba(21, 67, 120, 0.07); opacity: 1; }
/* Blueprint grid — a fine drafting-paper rule (major + minor lines), masked so
   it dissolves toward the edges. Carries the "engineered" tone without colour. */
.svc-hero .svc-hero__grid {
  background-image:
    linear-gradient(to right,  rgba(21, 67, 120, 0.085) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(21, 67, 120, 0.085) 1px, transparent 1px),
    linear-gradient(to right,  rgba(21, 67, 120, 0.038) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(21, 67, 120, 0.038) 1px, transparent 1px);
  background-size: 96px 96px, 96px 96px, 24px 24px, 24px 24px;
  background-position: 0 0;
  opacity: 1;
  -webkit-mask-image: radial-gradient(ellipse 88% 78% at 50% 34%, #000 22%, transparent 100%);
          mask-image: radial-gradient(ellipse 88% 78% at 50% 34%, #000 22%, transparent 100%);
}

/* Two softly-filled cells snapped to the 96px grid — a small drafting detail
   that stops the pattern reading as a plain texture. */
.svc-hero .svc-hero__grid::after {
  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(21, 67, 120, 0.055), rgba(21, 67, 120, 0.055)),
    linear-gradient(rgba(21, 67, 120, 0.035), rgba(21, 67, 120, 0.035));
  background-size: 96px 96px, 96px 96px;
  background-position: 288px 192px, 480px 384px;
  background-repeat: no-repeat;
  -webkit-mask-image: radial-gradient(ellipse 88% 78% at 50% 34%, #000 22%, transparent 100%);
          mask-image: radial-gradient(ellipse 88% 78% at 50% 34%, #000 22%, transparent 100%);
}
.svc-hero .svc-hero__aurora {
  background: radial-gradient(ellipse at center, rgba(21, 67, 120, 0.10) 0%, transparent 70%);
}

/* Type → dark on light */
.svc-hero .svc-breadcrumb a            { color: rgba(21, 34, 66, 0.62); }
.svc-hero .svc-breadcrumb a:hover      { color: var(--color-brand-900, #0b2543); }
.svc-hero .svc-breadcrumb span[aria-hidden]  { color: rgba(21, 34, 66, 0.30); }
.svc-hero .svc-breadcrumb span[aria-current] { color: var(--color-brand-600); }

.svc-hero .svc-hero__badge {
  background: rgba(21, 34, 66, 0.04);
  border-color: rgba(21, 34, 66, 0.12);
  color: rgba(21, 34, 66, 0.75);
}
.svc-hero .svc-hero__badge-icon {
  background: var(--color-brand-500); color: #fff;
}

.svc-hero .svc-hero__headline { color: var(--color-brand-900, #0b2543); }
.svc-hero .svc-hero__lead     { color: var(--color-brand-600); }
.svc-hero .svc-hero__sub      { color: rgba(21, 34, 66, 0.66); }

/* Trust strip */
.svc-hero .svc-hl        { color: rgba(21, 34, 66, 0.72); }
.svc-hero .svc-hl__icon  {
  background: rgba(21, 67, 120, 0.07);
  border-color: rgba(21, 67, 120, 0.16);
  color: var(--color-brand-600);
}

/* At-a-glance panel → clean white card, not dark glass */
.svc-hero .svc-hero__panel {
  background: #fff;
  border-color: var(--color-border);
  box-shadow: 0 20px 48px rgba(21, 67, 120, 0.10);
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
.svc-hero .svc-hero__panel-label   { color: var(--color-text-tertiary); }
.svc-hero .svc-hero__fact dt       { color: var(--color-text-tertiary); }
.svc-hero .svc-hero__fact dd       { color: var(--color-text-primary); }
.svc-hero .svc-hero__fact-price    { color: var(--color-brand-600); }
.svc-hero .svc-hero__fact-chips span {
  background: rgba(21, 67, 120, 0.06);
  border-color: rgba(21, 67, 120, 0.14);
  color: var(--color-brand-700);
}
.svc-hero .svc-hero__panel-cta {
  color: var(--color-brand-600);
  border-top-color: var(--color-border);
}

/* ── Add-on panel → clean card with a navy accent rule, not a solid blue slab ── */
.svc-addon {
  background: #fff;
  color: var(--color-text-primary);
  border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-brand-500);
  box-shadow: 0 18px 44px rgba(21, 67, 120, 0.08);
}
.svc-addon__label      { color: var(--color-text-tertiary); }
.svc-addon__title      { color: var(--color-brand-900, #0b2543); }
.svc-addon__title svg  { color: var(--color-brand-500); }
.svc-addon__text       { color: var(--color-text-secondary); }
.svc-addon__points li  { color: var(--color-text-secondary); }
.svc-addon__points svg { color: var(--color-brand-500); opacity: 1; }
