/* Category and individual service pages extend the selected Harmony design. */
.expertise-page { --expertise-gutter:clamp(28px,5vw,80px); }
.expertise-page .site-nav a[aria-current="location"] { color:var(--accent); }
.expertise-breadcrumbs { padding-block:24px; border-bottom:1px solid var(--line); }
.expertise-breadcrumbs ol { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin:0; padding:0; list-style:none; }
.expertise-breadcrumbs li { display:flex; align-items:center; gap:14px; min-width:0; color:var(--muted); font-size:13px; }
.expertise-breadcrumbs li+li::before { content:"/"; color:var(--muted); opacity:.65; }
.expertise-breadcrumbs a { display:inline-flex; align-items:center; min-height:32px; }
.expertise-breadcrumbs a:hover { color:var(--text); }
.expertise-breadcrumbs [aria-current="page"] { color:var(--text); overflow-wrap:anywhere; }
.expertise-page .detail-hero { padding:70px 0 76px!important; }
.detail-hero-grid { display:grid; grid-template-columns:minmax(0,2.1fr) minmax(230px,1fr); gap:var(--expertise-gutter); align-items:end; }
.expertise-page .detail-hero h1 { font-size:clamp(48px,5.7vw,88px); max-width:990px; line-height:1.07; letter-spacing:-.055em; overflow-wrap:anywhere; text-wrap:balance; }
.expertise-page .detail-hero .eyebrow { font-size:13px; margin-bottom:28px; color:var(--secondary); }
.expertise-page .detail-hero .detail-lead { font-size:17px; line-height:1.85; max-width:700px; margin-top:30px; }
.detail-hero .hero-cta-row { display:flex; flex-wrap:wrap; gap:18px 28px; align-items:center; margin-top:30px; }
.detail-hero .hero-cta-row .btn { min-height:52px; }
.expertise-page .btn::after { display:none; }
.detail-hero .hero-cta-row .text-link { min-height:44px; margin:0; }
.detail-fit { border-top:2px solid var(--orange); padding-top:25px; padding-bottom:8px; }
.detail-fit h2 { font-size:14px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; margin:0 0 24px; }
.detail-fit ul { list-style:none; margin:0; padding:0; }
.detail-fit li { padding:15px 0; border-top:1px solid var(--line); font-size:16px; color:var(--muted); line-height:1.65; }
.detail-fit li:first-child { border-top:0; padding-top:0; }
.expertise-page .detail-fit .category-count { font-size:clamp(65px,6vw,100px); line-height:1; font-weight:400; letter-spacing:-.08em; color:var(--text); margin:0; }
.detail-fit .category-count span { color:var(--orange); }
.expertise-page .detail-fit .category-count-label { font-size:14px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--text); margin:14px 0 24px; }
.category-hero .detail-fit { border-top:0; padding-top:0; }
.category-hero .detail-fit ul { border-top:2px solid var(--orange); padding-top:25px; }
.expertise-page .detail-fit>p { margin-top:0; }
.detail-jump { display:flex; flex-wrap:wrap; gap:8px 36px; align-items:center; padding-block:16px; border-bottom:1px solid var(--line); }
.detail-jump a { min-height:44px; display:inline-flex; align-items:center; font-size:14px; color:var(--muted); }
.detail-jump a:hover { color:var(--text); }
.detail-section { padding:90px 0; }
.detail-section+.detail-section { border-top:1px solid var(--line); }
.detail-section .section-kicker { margin-bottom:28px; }
.detail-section-title { font-size:clamp(34px,4vw,58px); letter-spacing:-.055em; line-height:1.12; font-weight:400; }
.detail-section-title em { font-family:Georgia,"Times New Roman",serif; font-weight:400; color:var(--headline-orange,var(--orange)); }
.detail-two-column { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr); gap:var(--expertise-gutter); }
.detail-section-intro { max-width:420px; margin-top:25px; color:var(--muted); font-size:16px; line-height:1.8; }
.scope-list { list-style:none; margin:0; padding:0; }
.scope-list li { display:grid; grid-template-columns:34px minmax(0,1fr); gap:22px; padding:30px 0; border-top:1px solid var(--line); }
.scope-list li:first-child { padding-top:0; border-top:0; }
.scope-list li:last-child { padding-bottom:0; }
.scope-list .scope-number { font-size:13px; color:var(--secondary); padding-top:6px; }
.scope-list h3 { font-size:clamp(24px,2.2vw,33px); font-weight:400; letter-spacing:-.04em; line-height:1.2; margin:0 0 15px; }
.scope-list p { color:var(--muted); font-size:16px; line-height:1.85; margin:0; }
.detail-outcomes { background:var(--surface); }
.detail-outcome-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin:45px 0 0; padding:0; list-style:none; }
.detail-outcome-grid li { border-top:1px solid var(--line); padding-top:25px; font-size:18px; line-height:1.65; }
.detail-outcome-grid span { display:block; font-size:13px; color:var(--secondary); margin-bottom:25px; }
.detail-considerations { margin-top:45px; padding-top:28px; border-top:1px solid var(--line); display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,2fr); gap:40px; }
.detail-considerations h3 { font-size:15px; line-height:1.6; font-weight:500; }
.detail-considerations p { font-size:16px; line-height:1.8; color:var(--muted); max-width:860px; margin:0; }
.category-services-heading { display:flex; align-items:end; justify-content:space-between; gap:35px; margin-bottom:40px; }
.category-services-heading>p { max-width:380px; color:var(--muted); font-size:16px; }
.offering-list { list-style:none; margin:0; padding:0; }
.offering-list li { border-top:1px solid var(--line); }
.offering-list li:last-child { border-bottom:1px solid var(--line); }
.offering-link { display:grid; grid-template-columns:36px minmax(0,1fr) minmax(0,.95fr) 46px; align-items:center; gap:28px; min-height:148px; padding:29px 0; transition:background .2s; }
.offering-link:hover { background:var(--surface); }
.offering-link:focus-visible { outline:2px solid var(--orange); outline-offset:6px; }
.offering-link .offering-number { color:var(--secondary); font-size:12px; align-self:start; padding-top:10px; white-space:nowrap; }
.offering-link h3 { font-size:clamp(23px,2.5vw,37px); font-weight:400; letter-spacing:-.045em; line-height:1.18; margin:0; overflow-wrap:anywhere; }
.offering-link p { font-size:16px; line-height:1.75; color:var(--muted); margin:0; }
.offering-link .circle-arrow { position:static; width:44px; height:44px; font-size:23px; grid-area:auto; }
.related-offerings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; margin-top:40px; }
.related-offering { display:flex; align-items:start; flex-direction:column; padding:30px 0; border-top:1px solid var(--line); min-width:0; }
.related-offering h3 { font-size:clamp(26px,2.6vw,37px); font-weight:400; line-height:1.2; letter-spacing:-.045em; margin:0 0 20px; }
.related-offering p { font-size:16px; color:var(--muted); margin:0 0 25px; line-height:1.8; }
.related-offering .text-link { min-height:44px; margin-top:auto; }
.detail-cta { padding:0 0 90px; }
.detail-cta-inner { background:var(--orange); color:var(--ink); padding:55px; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:center; gap:60px; }
.detail-cta h2 { font-size:clamp(38px,4.4vw,64px); line-height:1.08; letter-spacing:-.055em; font-weight:400; }
.detail-cta p { color:#253238; font-size:16px; margin-bottom:26px; line-height:1.8; }
.detail-cta .btn { background:var(--ink); border-color:var(--ink); color:#f2f3ef; min-height:52px; }
.detail-cta .btn:hover { background:#243e4c; border-color:#243e4c; }
.detail-cta .btn:focus-visible { outline:2px solid var(--ink); outline-offset:6px; }
.category-explore { padding-block:35px; border-top:1px solid var(--line); }
.category-explore .container { display:flex; flex-wrap:wrap; gap:10px 35px; align-items:center; }
.category-explore p { color:var(--muted); font-size:13px; margin:0 auto 0 0; }
.category-explore a { display:inline-flex; min-height:44px; align-items:center; font-size:14px; }
.category-explore a[aria-current="page"] { color:var(--secondary); }
.catalog-category-link { display:inline-flex; align-items:center; gap:25px; min-height:44px; margin-top:24px; color:var(--text); font-size:15px; border-bottom:1px solid var(--line); }
.catalog-category-link:hover { color:var(--secondary); }
.catalog-offering { display:flex; flex-direction:column; align-items:start; position:relative; }
.catalog-offering::after { content:""; position:absolute; inset:auto -1px -1px; width:auto; height:2px; border-radius:0; background:var(--orange); transform:scaleX(0); transform-origin:left; transition:transform .45s cubic-bezier(.22,1,.36,1); pointer-events:none; }
.catalog-offering .catalog-service-link { font-size:14px; color:var(--text); min-height:44px; display:inline-flex; align-items:center; gap:24px; margin-top:auto; padding-top:20px; }
.catalog-offering .catalog-service-link::after { content:""; position:absolute; inset:0; }
.catalog-offering .catalog-service-link>span { transition:transform .35s cubic-bezier(.22,1,.36,1); }
.catalog-offering:focus-within { outline:2px solid var(--orange); outline-offset:-2px; background:var(--surface); }
.catalog-offering:focus-within::after { transform:scaleX(1); }
.catalog-offering:focus-within .catalog-service-link { color:var(--secondary); }
.catalog-offering:focus-within .catalog-service-link>span { transform:translate(3px,-3px); }
.catalog-offering p { margin-bottom:15px; }
@media(hover:hover) and (pointer:fine) {
  .catalog-offering:hover::after { transform:scaleX(1); }
  .catalog-offering:hover .catalog-service-link { color:var(--secondary); }
  .catalog-offering:hover .catalog-service-link>span { transform:translate(3px,-3px); }
}
.category-ai-link { margin-top:38px; padding-top:25px; border-top:1px solid var(--line); }
.category-ai-link p { color:var(--muted); font-size:16px; max-width:670px; margin-bottom:18px; }
.category-ai-link .text-link { min-height:44px; }

@media(max-width:1080px) {
  .detail-hero-grid { grid-template-columns:minmax(0,1.7fr) minmax(220px,1fr); gap:40px; }
  .expertise-page .detail-hero h1 { font-size:clamp(44px,6.3vw,70px); }
  .offering-link { grid-template-columns:26px minmax(0,1fr) minmax(0,1fr) 44px; gap:22px; }
  .detail-cta-inner { padding:40px; gap:35px; }
}
@media(max-width:850px) {
  .expertise-page .detail-hero { padding:48px 0 55px!important; }
  .detail-hero-grid { grid-template-columns:minmax(0,1fr); gap:45px; }
  .expertise-page .detail-hero h1 { font-size:clamp(43px,8vw,68px); max-width:730px; }
  .detail-fit { padding-top:22px; }
  .detail-fit ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
  .detail-fit li,.detail-fit li:first-child { border-top:1px solid var(--line); padding-top:16px; }
  .category-hero .detail-fit { display:none; }
  .detail-section { padding-block:65px; }
  .detail-two-column { grid-template-columns:minmax(0,1fr); gap:40px; }
  .detail-section-intro { max-width:600px; }
  .detail-outcome-grid { gap:25px; }
  .offering-link { grid-template-columns:26px minmax(0,1fr) 44px; gap:16px 22px; padding-block:27px; }
  .offering-link h3 { font-size:30px; }
  .offering-link p { grid-column:2; grid-row:2; }
  .offering-link .circle-arrow { grid-column:3; grid-row:1 / 3; }
  .detail-cta-inner { grid-template-columns:minmax(0,1fr); gap:28px; }
  .detail-cta p { max-width:650px; }
  .detail-cta { padding-bottom:65px; }
}
@media(max-width:560px) {
  .expertise-breadcrumbs { padding-block:13px; }
  .expertise-breadcrumbs li { font-size:12px; gap:9px; }
  .expertise-breadcrumbs ol { gap:4px 9px; }
  .expertise-breadcrumbs a { min-height:44px; }
  .expertise-page .detail-hero .eyebrow { font-size:12px; margin-bottom:22px; line-height:1.7; }
  .expertise-page .detail-hero h1 { font-size:clamp(38px,10.5vw,56px); letter-spacing:-.055em; text-wrap:initial; }
  .expertise-page .detail-hero .detail-lead { font-size:16px; line-height:1.85; }
  .detail-hero .hero-cta-row { gap:15px 25px; }
  .detail-fit ul { grid-template-columns:minmax(0,1fr); gap:0; }
  .detail-fit li { padding-block:15px; }
  .detail-fit h2 { margin-bottom:20px; }
  .detail-jump { gap:0 25px; padding-block:12px; }
  .detail-jump a { font-size:13px; }
  .detail-section { padding-block:55px; }
  .detail-section-title { font-size:clamp(32px,8.5vw,44px); }
  .scope-list li { grid-template-columns:23px minmax(0,1fr); gap:16px; }
  .scope-list h3 { font-size:clamp(23px,6.6vw,26px); overflow-wrap:anywhere; }
  .detail-outcome-grid { grid-template-columns:minmax(0,1fr); gap:26px; margin-top:32px; }
  .detail-outcome-grid li { font-size:17px; }
  .detail-outcome-grid span { margin-bottom:15px; }
  .detail-considerations { grid-template-columns:minmax(0,1fr); gap:15px; }
  .category-services-heading { display:block; margin-bottom:30px; }
  .category-services-heading>p { margin-top:25px; }
  .offering-link { grid-template-columns:26px minmax(0,1fr) 36px; gap:14px 12px; }
  .offering-link h3 { font-size:clamp(22px,6.5vw,29px); }
  .offering-link p { font-size:16px; }
  .offering-link .circle-arrow { width:35px; height:35px; font-size:19px; }
  .related-offerings { grid-template-columns:minmax(0,1fr); gap:0; }
  .related-offering h3 { font-size:30px; }
  .detail-cta-inner { padding:28px; }
  .detail-cta h2 { font-size:clamp(32px,9vw,46px); }
  .detail-cta .btn { white-space:normal; text-align:left; }
  .category-explore .container { gap:2px 23px; }
  .category-explore p { flex-basis:100%; margin-bottom:10px; }
}
@media(prefers-reduced-motion:reduce) { .offering-link,.catalog-offering::after,.catalog-offering .catalog-service-link>span { transition:none; } }
