/* Expertise / Services hub — extends the shared production design system. */
.expertise-hub-page .service-hero{
  background:
    radial-gradient(circle at 84% 8%,rgba(56,199,239,.18),transparent 30rem),
    radial-gradient(circle at 14% 108%,rgba(245,198,75,.1),transparent 34rem),
    linear-gradient(135deg,#06131d,#0b2b3e 62%,#123b50);
}
.expertise-hub-page .service-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(32rem,1.1fr)}
.expertise-hub-page .service-hero-copy h1{max-width:13ch}
.hub-method-visual{margin:0}
.hub-method-frame{position:relative;overflow:hidden;padding:1rem;background:#071b28;border:1px solid rgba(155,225,252,.27);border-radius:1.35rem;box-shadow:0 34px 82px rgba(0,0,0,.34)}
.hub-method-frame::before{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(88,205,242,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(88,205,242,.07) 1px,transparent 1px);background-size:2.8rem 2.8rem;content:""}
.hub-method-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem}
.hub-method-step{min-height:8.4rem;padding:1rem;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035));border:1px solid rgba(185,229,246,.16);border-radius:.95rem}
.hub-method-step span{display:block;margin-bottom:.62rem;color:var(--brand-400);font-size:.68rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.hub-method-step strong{display:block;margin-bottom:.38rem;color:#fff;font-size:1rem;line-height:1.2}
.hub-method-step p{margin:0;color:#c8dce5;font-size:.82rem;line-height:1.48}
.hub-method-visual figcaption{margin-top:.72rem;color:#b9d1dc;font-size:.74rem;line-height:1.45}
.hub-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.hub-service-card{position:relative;display:flex;min-height:23rem;flex-direction:column;padding:1.6rem;overflow:hidden;color:inherit;background:#fff;border:1px solid var(--line);border-radius:1.25rem;box-shadow:0 10px 32px rgba(5,31,47,.055);text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.hub-service-card::before{position:absolute;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,var(--brand-500),transparent 82%);content:""}
.hub-service-card:hover,.hub-service-card:focus-visible{transform:translateY(-4px);border-color:#91d7ee;box-shadow:0 18px 44px rgba(5,31,47,.11)}
.hub-service-card:focus-visible{outline:3px solid var(--brand-500);outline-offset:3px}
.hub-service-number{display:grid;place-items:center;width:2.7rem;height:2.7rem;margin-bottom:1.35rem;color:var(--brand-700);background:var(--brand-100);border-radius:.78rem;font-size:.72rem;font-weight:850}
.hub-service-card h3{margin-bottom:.62rem;font-size:1.3rem}
.hub-service-card>p{margin-bottom:1rem;font-size:.93rem;line-height:1.58}
.hub-service-question{margin-top:auto;padding-top:1rem;border-top:1px solid var(--line);color:var(--ink-800);font-size:.86rem;font-weight:720;line-height:1.45}
.hub-service-link{display:inline-flex;align-items:center;gap:.42rem;margin-top:1rem;color:var(--brand-700);font-size:.86rem;font-weight:800}
.hub-service-link::after{content:"\2192";transition:transform .18s ease}
.hub-service-card:hover .hub-service-link::after,.hub-service-card:focus-visible .hub-service-link::after{transform:translateX(.22rem)}
.hub-methodology-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.hub-methodology-card{min-height:17rem;padding:1.45rem;background:rgba(255,255,255,.055);border:1px solid rgba(197,232,245,.15);border-radius:1.05rem}
.hub-methodology-card span{display:block;margin-bottom:1.35rem;color:var(--brand-400);font-size:.7rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.hub-methodology-card h3,.hub-methodology-card p{color:#fff}
.hub-methodology-card p{margin-bottom:0;color:#c6dbe4;font-size:.91rem;line-height:1.58}
.hub-level-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.hub-level-card{padding:1.45rem;background:#fff;border:1px solid var(--line);border-radius:1.05rem}
.hub-level-card span{display:block;margin-bottom:1.15rem;color:var(--brand-700);font-size:.7rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.hub-level-card h3{font-size:1.13rem}
.hub-level-card p{margin-bottom:0;font-size:.9rem;line-height:1.57}
.hub-deliverable-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.hub-deliverable{padding:1.35rem;background:#fff;border:1px solid #d3e2e9;border-radius:1rem}
.hub-deliverable h3{font-size:1.08rem}.hub-deliverable p{margin-bottom:0;font-size:.89rem}
.hub-choice-note{margin-top:1.5rem;padding:1rem 1.15rem;color:#315365;background:#eef8fc;border-left:4px solid var(--brand-500);border-radius:.35rem .8rem .8rem .35rem;font-size:.91rem}
.expertise-hub-cta{display:flex;justify-content:center;margin-top:2rem}
.expertise-hub-cta .button{min-width:min(100%,18rem)}
@media(max-width:1120px){
  .expertise-hub-page .service-hero-grid{grid-template-columns:minmax(0,.9fr) minmax(27rem,1.1fr)}
  .hub-service-grid,.hub-methodology-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hub-level-grid,.hub-deliverable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:979px){
  .expertise-hub-page .service-hero-grid{grid-template-columns:1fr}
  .hub-method-visual{width:min(100%,48rem)}
}
@media(max-width:700px){
  .hub-method-grid,.hub-service-grid,.hub-methodology-grid,.hub-level-grid,.hub-deliverable-grid{grid-template-columns:1fr}
  .hub-service-card,.hub-methodology-card{min-height:0}
}
@media(max-width:520px){
  .expertise-hub-page .service-breadcrumb li[aria-current="page"]{display:inline-flex}
}
@media(max-width:430px){
  .expertise-hub-page .service-hero-copy h1{max-width:100%;font-size:clamp(1.9rem,9vw,2.5rem)}
  .hub-method-frame{padding:.72rem;border-radius:1rem}
  .hub-method-step{min-height:0;padding:.88rem}
}
@media(prefers-reduced-motion:reduce){
  .hub-service-card,.hub-service-link::after{transition:none}
}

/* Outcome-first visual refinement. */
.expertise-hub-page .service-hero-grid{
  grid-template-columns:minmax(0,.94fr) minmax(30rem,1.06fr);
  gap:clamp(2.4rem,4.5vw,4.6rem);
}
.expertise-hub-page .service-hero-copy h1{
  max-width:15ch;
  font-size:clamp(2.85rem,4.15vw,4.55rem);
  text-wrap:balance;
}
.hub-method-step{
  min-height:7.45rem;
  padding:.92rem 1rem;
}
.hub-method-step strong{font-size:.98rem}
.hub-method-step p{font-size:.79rem;line-height:1.43}
.hub-service-card{min-height:21.5rem}
.hub-service-question{font-size:.84rem;line-height:1.42;text-wrap:pretty}
@media(max-width:1120px){
  .expertise-hub-page .service-hero-grid{grid-template-columns:minmax(0,.92fr) minmax(26rem,1.08fr)}
}
@media(max-width:979px){
  .expertise-hub-page .service-hero-grid{grid-template-columns:1fr;gap:1.7rem}
}
@media(max-width:760px){
  .expertise-hub-page .service-hero-grid{padding-block:2.75rem 2.45rem}
  .expertise-hub-page .service-hero-copy h1{font-size:clamp(2rem,8.7vw,2.65rem);line-height:1.04}
  .hub-method-step{min-height:0}
}
@media(max-width:430px){
  .expertise-hub-page .service-hero-copy h1{font-size:clamp(1.9rem,8.4vw,2.38rem)}
}

/* Compact outcome labels in service cards. */
.hub-service-question{font-weight:620}
.hub-service-question strong{
  display:block;
  margin-bottom:.28rem;
  color:var(--brand-700);
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.08em;
  line-height:1.2;
  text-transform:uppercase;
}
