/* Local editorial refinements shared by the homepage and Insights. */
.site-header .nav-links .nav-link.is-active,
.insights-navigation a[aria-current="page"] { color: #fff !important; opacity: 1; font-weight: 500; }
.site-header .nav-links .nav-link::after { bottom: 5px; }
.insights-navigation a::after { bottom: 6px; }
.insights-navigation a[aria-current="page"]::after { width: 100%; }
.section-content-reveal { transition-duration: 1200ms, 1400ms; }

#locations.locations-section { padding-top: 54px; }
#locations .locations-map-wrap { top: 110px; }
@media (max-width: 767.98px) { #locations .locations-map-wrap { top: auto; } }

/* A full-width, more generous Insights invitation. */
.insights-promo-link { min-height: 360px; padding-block: 72px; align-items: center; gap: 8%; }
.insights-promo .section-title { flex: 1 1 50%; margin: 0 0 24px; font-size: 3rem; line-height: 1.1; }
.insights-promo-copy { flex: 1 1 60%; max-width: 640px; }
.insights-promo-copy p { font-size: .98rem; line-height: 1.85; margin: 0 0 28px; max-width: 52ch; }

.insights-promo-link::before { top: -30%; height: 620px; width: 500px; right: 26%; opacity: .15; }
.insights-promo a, .insights-promo a:hover { text-decoration: none; }
#services-cta .cta-split-link, :is(.insights-promo, .article-consultation) .cta-split-link {
  position: relative; display: inline-flex; align-items: center; justify-content: space-between; gap: 18px;
  min-height: 64px; padding: 12px 16px 12px 22px; border: 1px solid #ffffff70; border-radius: 999px;
  font: 300 .98rem/1.4 var(--font-sans); color: #fff; background: transparent; opacity: 1;
  transform: none; transition: border-color 500ms ease, background-color 500ms ease;
}
#services-cta .cta-split-text, :is(.insights-promo, .article-consultation) .cta-split-text { transform: translateX(24px); transition: transform 650ms cubic-bezier(.2,.65,.3,1); }
#services-cta .cta-split-icon, :is(.insights-promo, .article-consultation) .cta-split-icon {
  display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center;
  border-radius: 50%; background: #ffffff24; opacity: 0; transform: translateX(-9px);
  transition: opacity 650ms ease, transform 650ms cubic-bezier(.2,.65,.3,1);
}
#services-cta .cta-split-link:is(:hover,:focus-visible), :is(.insights-promo, .article-consultation) .cta-split-link:is(:hover,:focus-visible) { transform: none; border-color: #fff; background: #ffffff08; }
#services-cta .cta-split-link:is(:hover,:focus-visible) .cta-split-text, :is(.insights-promo, .article-consultation) .cta-split-link:is(:hover,:focus-visible) .cta-split-text { transform: none; }
#services-cta .cta-split-link:is(:hover,:focus-visible) .cta-split-icon, :is(.insights-promo, .article-consultation) .cta-split-link:is(:hover,:focus-visible) .cta-split-icon { opacity: 1; transform: none; }

/* Tags can describe a region, topic or audience. */
.insights-filters { align-items: center; gap: 10px 18px; }
#insights-filter-label { font-size: .76rem; color: #4f6273; }
#insights-tag-options { display: flex; flex-wrap: wrap; gap: 8px; }
.insight-tag, .insight-filter-tag { display: inline-block; border: 1px solid #d8dfdf; border-radius: 999px; padding: 5px 12px; background: #f1f4f3; color: #486b79; font: 400 .78rem/1.5 var(--font-sans); cursor: pointer; transition: color 350ms, background-color 350ms; text-decoration: none; }
.insight-tag:is(:hover,[aria-pressed="true"]), .insight-filter-tag:is(:hover,[aria-pressed="true"]) { color: #fff; background: #486b79; border-color: #486b79; }
.insight-filter-tag[aria-pressed="true"] { font-weight: 600; }
.insight-tags { gap: 6px; }
.scroll-reveal { transition-duration: 1200ms, 1400ms; transition-delay: var(--editorial-delay, 0ms); translate: 0 16px; }
.scroll-reveal.is-revealed { translate: 0 0; }

/* A sticky cover with a white reading surface passing above it. */
.insight-article-page { padding-top: var(--nav-height); }
.insight-article-page .article-cover { position: sticky; top: 0; height: clamp(460px, 72vh, 760px); z-index: 0; }
.insight-article-page .article-hero { width: 100%; max-width: none; height: 100%; padding: 0; margin: 0; }
.insight-article-page .article-hero img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: center 48%; }
.insight-article-page .article-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(#0c192966, transparent 50%); pointer-events: none; }
.article-paper { position: relative; z-index: 1; margin-top: -120px; }
.insight-article-page .article-heading { margin-top: 0; padding: 48px 40px 30px; }
.article-heading .article-actions { justify-content: center; margin-top: 16px; }
.article-meta { gap: 9px; }
.article-reading-surface { background: #fff; padding-top: 1px; }
.article-stats { margin-top: 56px; margin-bottom: 64px; }
.article-stat { transition-duration: 1100ms, 1300ms; }
.article-end { align-items: center; border-top: 1px solid #ded8cf; padding-top: 20px; }
.article-tags { margin-top: 28px; margin-bottom: 24px; }
.article-share-panel { z-index: 5; }
[data-share-status] { font-size: .7rem; line-height: 1.6; margin: 6px 10px 0; }
[data-share-status]:empty { display: none; }
.article-heading .article-share-panel { left: 0; right: auto; text-align: left; }
.article-end .article-share-panel { top: auto; bottom: calc(100% + 8px); }
.insight-article-page .insights-subscribe { position: relative; z-index: 2; }
.insight-article-page .insights-subscribe .insights-container { width: 100%; max-width: 1600px; padding-inline: var(--side-padding); }
@media (max-width: 991px) {
  .services-intro { margin-bottom: 32px; }
  .insights-promo-link { gap: 32px; }
}
@media (max-width: 767.98px) {
  .insights-promo-link { min-height: 400px; padding-block: 48px; align-items: stretch; }
  .insights-promo .section-title { flex: none; font-size: 3rem; }
  .insights-promo-copy { flex: none; }
  .insights-promo-copy .cta-split-link { float: none; }
  .insights-promo-link::before { top: 15%; right: -150px; }
}
@media (max-width: 600px) {
  .insight-article-page .article-cover { height: 430px; }
  .article-paper { margin-top: -64px; }
  .insight-article-page .article-heading { padding: 30px 20px 24px; }
  .insight-article-page .article-return { top: calc(var(--nav-height) + 16px); }
  .article-heading .article-actions { gap: 24px; }
  .article-end { gap: 12px; }
  .article-end .article-actions { gap: 20px; }
  .article-meta { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .insight-article-page .article-cover { position: relative; }
  .section-content-reveal, .scroll-reveal, .cta-split-link, .cta-split-link * { transition: none !important; }
}
@media print {
  .insight-article-page .article-cover { position: relative; height: 220px; }
  .article-paper { margin-top: 0; }
  .insights-subscribe { display: none; }
}

.article-consultation { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: center; padding-block: 20px 32px; }
.article-consultation h2 { color: var(--accent); font-size: clamp(1.8rem, 2.4vw, 2.2rem); line-height: 1.2; margin: 0 0 16px; }
.article-consultation p { font-size: .94rem; margin: 0; }
.article-consultation .cta-split-link { background: #2f4050; border-color: #2f4050; }
.article-consultation .cta-split-link:is(:hover,:focus-visible) { background: #203242; border-color: #203242; }
@media(max-width: 600px) { .article-consultation { grid-template-columns: 1fr; gap: 24px; } .article-consultation .cta-split-link { justify-self: start; } }
.article-end { position: relative; }
.article-end .article-share { position: static; }
.article-end .article-share-panel { left: auto; right: 0; }

/* Restore hierarchy and spacing without changing section content. */
.section-kicker, #services-cta .cta-kicker { letter-spacing: .11em; }
#announcements .section-title { font-size: 3rem; line-height: 1.1; }
.insights-promo-link > .cta-split-link { flex-shrink: 0; }
#contact .section-col-main { min-width: min(100%, 430px); }
@media(min-width: 992px) { #contact .section-col-main { width: 40%; } #contact .section-col-body { width: 56%; } }
@media(max-width: 767.98px) { #announcements .section-title { font-size: 3rem; } .insights-promo-link > .cta-split-link { align-self: flex-start; } }
.insight-article-page .article-return { position: relative; z-index: 2; width: calc(100% - var(--side-padding) * 2); max-width: none; margin-inline: auto; padding: 16px 0; }
.article-return .article-actions { margin-left: auto; }
.article-return .article-share-panel { right: 0; left: auto; }
.article-paper { transform: translate3d(0, var(--paper-offset, 0px), 0); margin-bottom: 64px; }
.article-hero img { transform: translate3d(0, var(--cover-offset, 0px), 0) scale(1.12); }
.article-ending { margin-top: 16px; }
.article-consultation { margin-top: 44px; padding-block: 36px 20px; }
.article-consultation .hero-cta-btn { font-size: .85rem; color: var(--accent); white-space: nowrap; text-decoration: none; }
.article-consultation .hero-cta-label::after { background: currentColor; }
.article-end .article-subscribe-link { color: var(--accent); font-size: .76rem; text-decoration: none; }
.article-end .article-subscribe-link:hover { text-decoration: underline; text-underline-offset: 5px; }
@media(max-width: 600px) {
  .insight-article-page .article-return { top: auto; right: auto; gap: 10px; }
  .article-return .article-actions { gap: 14px; }
  .article-stats { margin-top: 40px; }
  .article-consultation .hero-cta-btn { justify-self: end; }
  #contact .section-title { font-size: clamp(1.9rem, 8.5vw, 3rem); }
}
@media(prefers-reduced-motion:reduce) { .article-paper { transform: none; margin-bottom: 0; } .article-hero img { transform: none; } }
/* Prepare reveals before the first paint, rather than fading visible content back out. */
@media(prefers-reduced-motion:no-preference) {
  .editorial-motion .article-heading > :not(.is-revealed),
  .editorial-motion :is(.article-section > h2,.article-section > p,.article-points > li,.article-takeaway,.article-tags,.article-end,.article-offers-heading,.article-offers-grid,.article-consultation):not(.is-revealed),
  .editorial-motion .insights-intro-copy > :is(h1,p):not(.is-revealed),
  .editorial-motion .insight-card:not(.is-revealed) { opacity: 0; }
  .editorial-motion .article-stat:not(.is-stat-visible) { opacity: 0; translate: 0 12px; transition: none; }
}
.article-heading .section-kicker { letter-spacing: .11em; }
.article-section.scroll-reveal, .article-takeaway.scroll-reveal, .article-tags.scroll-reveal, .article-end.scroll-reveal, .article-consultation.scroll-reveal { transition-duration: 900ms; transition-delay: var(--editorial-delay, 0ms); }
.insights-filterbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 0 24px; position: relative; z-index: 4; }
.insights-filterbar[hidden], #insights-filter-panel[hidden] { display: none; }
#insights-results { margin: 0; font-size: .76rem; color: #4f6273; }
.insights-filter-control { position: relative; margin-left: auto; }
#insights-filter-toggle { display: inline-flex; align-items: center; gap: 12px; border: 0; border-bottom: 1px solid #b7aa91; background: transparent; padding: 10px 0; font: 400 .82rem var(--font-sans); color: var(--accent); cursor: pointer; }
#insights-filter-panel { position: absolute; right: 0; top: calc(100% + 10px); width: 310px; max-width: calc(100vw - 40px); padding: 24px; background: #f8f6f1; border: 1px solid #ded8cf; box-shadow: 0 12px 30px #0c192912; }
#insights-filter-panel label { display: block; color: var(--accent); font-size: .75rem; margin-bottom: 20px; }
#insights-filter-panel select { display: block; width: 100%; margin-top: 8px; padding: 10px 26px 10px 0; color: #2f4050; border: 0; border-bottom: 1px solid #b7aa91; border-radius: 0; font: 300 .84rem var(--font-sans); background: transparent; }
#insights-filter-clear { padding: 0; background: none; border: 0; color: var(--accent); font: 400 .75rem var(--font-sans); cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
@media(max-width:600px) { .insights-filterbar { align-items: start; } #insights-results { max-width: 65%; } .article-return .article-actions { gap: 12px; } }

/* Softer cards, compact actions and a dedicated advisory footer. */
#announcements .news-card { border-radius: 4px; }
.insights-promo .insights-promo-link > .cta-split-link { align-self: flex-end; min-height: 44px; padding: 8px 0 8px 24px; border: 0; border-radius: 0; background: transparent; font-size: .86rem; }
.insights-promo .insights-promo-link > .cta-split-link:hover { border: 0; background: transparent; }
.insights-promo .cta-split-text { transform: none; }
.insights-promo .cta-split-icon { width: 20px; height: 20px; background: transparent; }
.insights-promo .cta-split-link:is(:hover,:focus-visible) .cta-split-text { transform: translateX(-6px); }
.insight-category { color: #4f6273; font-size: .63rem; letter-spacing: .11em; text-transform: uppercase; margin-bottom: 10px; }
.insight-body .insight-summary time { display: inline; margin: 0; color: inherit; font: inherit; letter-spacing: inherit; }
.insight-body .insight-tags { margin-bottom: 2px; }
.article-meta { font-size: .88rem; }
.article-heading h1 { position: relative; }
.article-title-ghost { display: block; visibility: hidden; }
.article-title-written { position: absolute; inset: 0; }
.article-heading h1.scroll-reveal { transition: opacity 250ms ease; translate: none; }
.article-section > .scroll-reveal, .article-points > .scroll-reveal { transition-duration: 900ms; transition-delay: var(--editorial-delay, 0ms); }
.article-stats { position: relative; border-color: transparent; }
.article-stats::before { content: ''; position: absolute; inset: -1px 0; border-block: 1px solid #cec5b5; pointer-events: none; transition: opacity 1100ms ease; }
.editorial-motion .article-stats:not(.are-lines-visible)::before { opacity: 0; }
.article-subscribe-link { display: inline-flex; align-items: center; gap: 7px; }
.article-consultation-banner { position: relative; z-index: 2; overflow: hidden; background: var(--cta-steel-blue); }
.article-consultation-banner::before { content: ''; position: absolute; top: 50%; right: -2%; width: clamp(380px, 38vw, 600px); aspect-ratio: 14 / 17; transform: translateY(-50%); background: url('../assets/logo-icon.svg') center / contain no-repeat; opacity: .055; pointer-events: none; }
.article-consultation-banner .article-consultation { position: relative; }
.insight-article-page .article-consultation-banner .article-consultation { width: 100%; max-width: 1600px; padding: 64px var(--side-padding); margin: 0 auto; min-height: 300px; gap: 8%; }
.article-consultation-banner h2 { color: #fff; font-size: clamp(2.5rem, 3.6vw, 3.6rem); max-width: 700px; }
.article-consultation-banner p { max-width: 650px; font-size: .94rem; line-height: 1.85; }
.article-consultation-banner .hero-cta-btn { align-self: end; margin-bottom: 8px; }
@media(min-width:992px) {
  #team .team-layout .section-col-main { width: min(100%, 760px); }
  #team .section-body-text { max-width: 650px; }
  #services .services-left { width: 42%; }
  #services .services-right { width: 48%; margin-left: auto; }
  #services .services-left .section-body-text { max-width: 56ch; }
}
@media(max-width:767.98px) { .insights-promo .insights-promo-link > .cta-split-link { align-self: flex-end; margin-top: 12px; } }
/* Lightweight filter surface and keyboard-accessible custom dropdowns. */
#insights-filter-toggle { border-bottom: 0; position: relative; }
#insights-filter-toggle::after { content: ''; position: absolute; bottom: 4px; left: 0; width: 0; height: 1px; background: currentColor; transition: width 350ms ease; }
#insights-filter-toggle:is(:hover,:focus-visible)::after { width: 100%; }
#insights-filter-panel { border: 0; border-radius: 12px; background: #faf9f6; padding: 26px; box-shadow: 0 12px 44px #0c19291c; }
#insights-filter-panel select[hidden] { display: none; }
.filter-select { position: relative; margin-top: 8px; }
.filter-select-trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; border: 0; border-radius: 7px; padding: 12px 14px; background: #eeece5; color: #2f4050; font: 300 .83rem var(--font-sans); cursor: pointer; text-align: left; }
.filter-select-trigger::after { content: ''; width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); margin: -4px 2px 0 14px; }
.filter-select-options { position: absolute; top: calc(100% + 5px); left: 0; right: 0; z-index: 5; padding: 6px; border-radius: 8px; background: #fff; box-shadow: 0 8px 28px #0c19291c; max-height: 240px; overflow: auto; }
.filter-select-options[hidden] { display: none; }
.filter-select-options button { display: block; width: 100%; border: 0; border-radius: 5px; background: transparent; padding: 11px 10px; color: #4f6273; font: 300 .81rem var(--font-sans); text-align: left; cursor: pointer; }
.filter-select-options button:is(:hover,:focus-visible,[aria-selected="true"]) { color: #7d6c4d; background: #f4f2eb; }
#insights-filter-clear { text-decoration: none; }
#insights-filter-clear:hover { text-decoration: underline; }
@media(prefers-reduced-motion:reduce) { .article-stats::before { opacity: 1 !important; transition: none; } }
@media(prefers-reduced-motion:no-preference) { .editorial-motion .insights-filterbar:not(.is-revealed) { opacity: 0; } }
.article-consultation-banner h2 { text-wrap: balance; }

/* Consistent text-only hover rules for the article's utility actions. */
.insight-article-page .article-actions :is(.article-pdf,.article-subscribe-link,[data-share-toggle]) { text-decoration: none; }
.insight-article-page .article-actions :is(.article-pdf,.article-subscribe-link,[data-share-toggle])::after { content: none; }
.article-action-label { position: relative; display: inline-block; }
.article-action-label::after { content: ''; position: absolute; left: 0; right: 0; bottom: -3px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform 350ms ease; }
.article-actions :is(a,button):is(:hover,:focus-visible) > .article-action-label::after { transform: scaleX(1); }
/* Overlap the two white surfaces to avoid a fractional-pixel seam during parallax. */
.article-reading-surface { margin-top: -1px; padding-top: 2px; }
#insights-filter-panel, .filter-select-trigger, .filter-select-options { background: #fff; }
#insights-filter-panel label, #insights-filter-toggle, #insights-filter-clear, .filter-select-trigger, .filter-select-options button { color: #2f4050; }
.filter-select-trigger { box-shadow: inset 0 0 0 1px #e5eaee; }
.filter-select-options button:is(:hover,:focus-visible,[aria-selected="true"]) { color: #2f4050; background: #eef3f6; }
@media(prefers-reduced-motion:reduce) { .article-action-label::after { transition: none; } }

/* Native horizontal cards: Evolve typography and a restrained tonal palette. */
.article-offers-banner { position: relative; z-index: 2; background: #fff; color: #4f6273; }
.insight-article-page .article-offers { display: block; width: 100%; max-width: 1600px; padding: 64px var(--side-padding) 72px; margin: 0 auto; }
.article-offers-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 32px; }
.article-offers h2 { color: var(--accent); font-family: var(--font-serif); font-weight: 400; font-size: 3rem; line-height: 1.05; margin: 0; scroll-margin-top: 100px; }
.article-offers-controls { display: flex; gap: 10px; flex: 0 0 auto; }
.article-offers-controls[hidden] { display: none; }
.article-offers-controls button { width: 42px; height: 42px; border: 1px solid #7d6c4d60; border-radius: 50%; background: transparent; color: #7d6c4d; font: 300 1.35rem var(--font-sans); cursor: pointer; transition: background 300ms ease, color 300ms ease, opacity 300ms ease; }
.article-offers-controls button:hover:not(:disabled) { background: #7d6c4d; color: #fff; }
.article-offers-controls button:disabled { opacity: .3; cursor: default; }
.article-offers-controls button:focus-visible, .article-offers-grid:focus-visible { outline: 2px solid #7d6c4d; outline-offset: 5px; }
/* Match the team's controls to the circular arrows used by the services carousel. */
#team .team-control {
  top: auto; width: 42px; height: 42px; padding: 0;
  border: 1px solid #7d6c4d60; border-radius: 50%;
  background: transparent !important; color: #7d6c4d;
  font: 300 1.35rem/1 var(--font-sans); cursor: pointer;
  transition: background 300ms ease, color 300ms ease, opacity 300ms ease;
}
#team .team-control:hover { transform: none; background: #7d6c4d !important; color: #fff; }
#team .team-control:focus-visible { outline: 2px solid #7d6c4d; outline-offset: 5px; }
@media (max-width:600px) {
  #team .team-control { width: 36px; height: 36px; }
  #team .team-control-prev { right: 46px; }
}
@media (prefers-reduced-motion:reduce) { #team .team-control { transition: none; } }
.article-offers-grid { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 40px) / 3.15); gap: 20px; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.article-offers-grid::-webkit-scrollbar { display: none; }
.article-offer { display: flex; flex-direction: column; min-width: 0; background: #f7f6f3; border-radius: 4px; overflow: hidden; scroll-snap-align: start; }
.article-offer-visual { position: relative; height: 132px; flex: 0 0 132px; overflow: hidden; background: radial-gradient(ellipse at 82% 14%, var(--offer-glow), transparent 68%), linear-gradient(120deg,var(--offer-dark),var(--offer-light)); }
.article-offer-visual::after { content: ''; position: absolute; width: 116px; height: 116px; right: 8px; bottom: -28px; opacity: .16; background: url('../assets/logo-icon.svg') center / contain no-repeat; transform: rotate(-8deg); }
.article-offer-visual span { position: absolute; left: 24px; top: 20px; color: #fff; opacity: .8; font: 300 .7rem var(--font-sans); letter-spacing: .08em; }
.offer-tone-1 { --offer-dark:#2f4050; --offer-light:#4f6273; --offer-glow:#a2afc4; }
.offer-tone-2 { --offer-dark:#7c5c68; --offer-light:#ba929e; --offer-glow:#e4c9cf; }
.offer-tone-3 { --offer-dark:#6f624a; --offer-light:#c2b18d; --offer-glow:#e6d9b7; }
.offer-tone-4 { --offer-dark:#24474b; --offer-light:#739a97; --offer-glow:#bdd0b8; }
.offer-tone-5 { --offer-dark:#69564d; --offer-light:#b19685; --offer-glow:#dbc9b2; }
.offer-tone-6 { --offer-dark:#384f46; --offer-light:#8eaa94; --offer-glow:#ced3b2; }
.offer-tone-7 { --offer-dark:#0c1929; --offer-light:#4f6273; --offer-glow:#2f4050; }
.article-offer-copy { padding: 26px 24px 30px; }
.article-offer h3 { color: #7d6c4d; font-family: var(--font-serif); font-size: clamp(1.45rem,1.8vw,1.8rem); line-height: 1.15; font-weight: 400; margin: 0; }
.article-offer p { color: #4f6273; font-size: .9rem; font-weight: 300; line-height: 1.75; margin: 14px 0 0; }
.offers-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 991px) { .article-offers-grid { grid-auto-columns: calc((100% - 20px) / 2.15); } }
@media (max-width: 600px) {
 .article-offers-heading { align-items: start; gap: 18px; margin-bottom: 24px; }
 .article-offers-controls { gap: 7px; padding-top: 4px; }
 .article-offers-controls button { width: 36px; height: 36px; }
 .article-offers-grid { grid-auto-columns: 88%; gap: 14px; }
 .article-offer-visual { height: 116px; flex-basis: 116px; }
 .article-offer-copy { padding: 24px 22px 28px; }
}
.article-meta .article-published { display: inline; }
.article-published time { display: inline; }
.insight-article-page .article-consultation { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.article-consultation-banner .consultation-invitation { font-family: var(--font-sans); font-size: .94rem; line-height: 1.85; color: #f5f7fb; margin: 0; max-width: 590px; }
.consultation-team-line { white-space: nowrap; }
.consultation-invitation a { white-space: nowrap; }
.consultation-invitation a { color: inherit; text-decoration: none; background: linear-gradient(currentColor,currentColor) left bottom / 0 1px no-repeat; transition: background-size 400ms ease; }
.consultation-invitation a:is(:hover,:focus-visible) { background-size: 100% 1px; }
.article-consultation .insights-subscribe-form h2 { font-family: var(--font-serif); font-size: 1.25rem; line-height: 1.25; margin: 0 0 24px; }
@media (max-width: 767px) {
  .insight-article-page .article-offers { grid-template-columns: 1fr; gap: 36px; padding-block: 44px 56px; }
  .article-offers h2 { font-size: 2.6rem; max-width: none; }
  .insight-article-page .article-consultation { grid-template-columns: 1fr; gap: 36px; }
  .article-consultation .insights-subscribe-form { max-width: none; }
}

/* Native rails retain browser swipe/momentum; transformed carousels handle x gestures in JS. */
.article-offers-grid { touch-action: pan-x pan-y pinch-zoom; -webkit-overflow-scrolling: touch; }
#team .team-viewport, #annCarouselMobile { touch-action: pan-y pinch-zoom; }

/* A brisk introduction, followed by a deliberate heading-to-card sequence. */
.article-heading :is(.section-kicker,.article-deck,.article-meta-row).scroll-reveal,
.insights-intro h1.scroll-reveal, .insights-intro-copy > p.scroll-reveal { transition-duration: 650ms, 750ms; }
.article-offers-heading.scroll-reveal { transition-duration: 750ms, 800ms; }
.article-offers-grid.scroll-reveal { opacity: 1; translate: none; transition: none; }
.article-offer { transition: opacity 800ms ease, translate 950ms cubic-bezier(.22,.61,.36,1); }
@media (prefers-reduced-motion:no-preference) {
 .editorial-motion .article-offers-grid:not(.is-revealed) { opacity: 1; }
 .editorial-motion .article-offers-grid:not(.is-revealed) .article-offer { opacity: 0; translate: 0 16px; }
 .editorial-motion .article-offers-grid.is-revealed .article-offer { opacity: 1; translate: 0 0; transition-delay: var(--offer-delay,0ms); }
}
.article-offers-grid.is-arrow-moving { scroll-snap-type: none; }
@media (prefers-reduced-motion:reduce) { .article-offer { opacity: 1; translate: none; transition: none; } }

/* Subscribe focus follows the field's baseline instead of adding a rectangular box. */
.insights-page .insights-email-row input:is(:focus,:focus-visible) { outline: none; box-shadow: none; }
.insights-email-row { transition: border-color 250ms ease, box-shadow 250ms ease; }
.insights-email-row:focus-within { border-bottom-color: #7d6c4d; box-shadow: 0 1px 0 #7d6c4d; }
.insight-coming-soon { color: #657381; font-size: .74rem; }
/* Restore the approved gold Insights invitation. */
.insights-promo { scroll-margin-top: var(--nav-height); background: #7d6c4d; }
.insights-promo-link { background: #7d6c4d; }
.insights-promo-link::before { background: #cdbb93; right: 26%; opacity: .15; }
@media (max-width: 767px) { .insights-promo-link::before { right: -100px; opacity: .18; } }

/* Give the globe a dedicated, centred space instead of overlaying the heading. */
#locations.locations-section { min-height: auto !important; padding-block: 64px 64px; }
#locations.locations-section .section-inner { height: auto !important; min-height: 0; gap: 0; padding-bottom: 0; }
#locations .locations-header { max-width: 620px; }
#locations .locations-map-wrap { position: relative; inset: auto; top: auto; width: 100%; height: auto; max-width: 900px; margin: -20px auto 0; pointer-events: none; }
#locations .locations-map-wrap::after { content: none; }
#locations .locations-globe { display: block; width: 100%; }
#locations .locations-globe img { display: block; width: 100%; height: auto; }
#locations .office-locations { margin-top: 0; padding: 12px 0 0; }
#locations .office-grid { width: 100%; max-width: 1400px; transform: none; column-gap: 30px; }
#locations .office-city { margin-bottom: 16px; }
#locations .office-address { margin-top: 0; }
@media (max-width: 767px) {
 #locations.locations-section { padding-block: 44px; }
 #locations .locations-map-wrap { margin-top: 16px; }
 #locations .office-locations { padding-top: 24px; }
 #locations .office-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 16px; }
 #locations .office-col { padding-inline: 14px 0; }
 #locations .office-city { font-size: 1.4rem; }
 #locations .office-address { font-size: .85rem; line-height: 1.65; }
}
@media (max-width: 359px) { #locations .office-grid { grid-template-columns: 1fr; } }

/* Fade the globe's dots while keeping office pins clear on a separate layer. */
#locations .locations-map-wrap { max-width: 1000px; margin-top: -16px; pointer-events: auto; }
#locations .locations-globe { position: relative; width: 100%; aspect-ratio: 700 / 420; overflow: hidden; }
#locations .office-globe-canvas, #locations .globe-fallback { mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 72%, transparent); }
#locations .locations-globe .globe-fallback { object-fit: cover; transform: scale(1.25); }
#locations .locations-globe .globe-fallback, #locations .office-globe-canvas { display: block; width: 100%; height: 100%; }
#locations .office-globe-canvas { position: absolute; inset: 0; cursor: grab; touch-action: pan-y pinch-zoom; user-select: none; }
#locations .office-globe-pins { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
#locations .is-dragging .office-globe-canvas { cursor: grabbing; }
#locations .office-globe-canvas[hidden], #locations .office-globe-pins[hidden], #locations .globe-fallback[hidden] { display: none; }
.office-select { position: relative; padding: 0 0 7px; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.office-select { transition: color 250ms ease; }
.office-select:hover { color: #2f4050; }
.office-select:focus-visible { outline: 2px solid #7d6c4d; outline-offset: 5px; }
@media (max-width:767px) { #locations .locations-map-wrap { margin-top: 10px; } }
@media (prefers-reduced-motion:reduce) { .office-select { transition: none; } }

/* Match the homepage invitation action, with copy above the action baseline. */
.insight-article-page .article-consultation-banner .article-consultation {
  min-height: 360px; padding-block: 48px 56px; align-items: start;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
}
.article-consultation .article-contact-link {
  justify-self: end; align-self: end; margin-top: 40px;
  min-height: 48px; padding: 12px 48px 12px 24px; border: 0; border-radius: 999px;
  background: #fff; color: #4f6273; font-size: .86rem; font-weight: 400;
  box-shadow: 0 5px 18px #0c192912, 0 1px 4px #0c192908;
}
.article-consultation .article-contact-link:is(:hover,:focus-visible) { background: #fff; border: 0; }
.article-consultation .article-contact-link .cta-split-text { transform: translateX(12px); }
.article-consultation .article-contact-link .cta-split-icon { position: absolute; right: 18px; width: 20px; height: 20px; background: transparent; }
.article-consultation .article-contact-link:is(:hover,:focus-visible) .cta-split-text { transform: translateX(-2px); }
.article-consultation .article-contact-link:focus-visible { outline: 2px solid #fff; outline-offset: 6px; }
@media (max-width: 767.98px) {
  .article-consultation-banner::before { width: 380px; right: -130px; top: 58%; }
  .insight-article-page .article-consultation-banner .article-consultation { min-height: 0; grid-template-columns: 1fr; gap: 32px; padding-block: 48px; }
  .article-consultation .article-contact-link { margin-top: 0; }
}
