/*
 * MYAJO service decision experience
 * Archive + corporate/recruit details. Kept separate from page.css so the
 * original templates remain reversible and unrelated pages are unaffected.
 */

.service-experience {
  --service-paper: #f7f5f0;
  --service-paper-deep: #eeeae2;
  --service-ink: #151515;
  --service-muted: #686661;
  --service-line: rgba(21, 21, 21, 0.16);
  --service-line-light: rgba(255, 255, 255, 0.2);
  --service-red: #e9424f;
  --service-red-deep: #c8303c;
  --service-dark: #262523;
  --service-dark-soft: #302e2b;
  --service-serif: "Crimson Text", "Times New Roman", serif;
  color: var(--service-ink);
  background: var(--service-paper);
  overflow: clip;
}

.service-experience a { color: inherit; }
.service-experience h1,
.service-experience h2,
.service-experience h3,
.service-experience h4,
.service-experience p,
.service-experience ul,
.service-experience ol,
.service-experience dl,
.service-experience blockquote { margin-top: 0; }

.service-experience__eyebrow {
  margin-bottom: 24px;
  color: var(--service-red);
  font-family: var(--service-serif);
  font-size: 13px;
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1.4;
  text-transform: uppercase;
}

.service-experience__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 28px;
}

.service-experience__button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 0 22px;
  border: 1px solid transparent;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: color 0.35s ease, background-color 0.35s ease, border-color 0.35s ease, transform 0.35s ease;
}

.service-experience__button--primary {
  min-width: 190px;
  color: #fff !important;
  background: var(--service-ink);
}

.service-experience__button--primary:hover,
.service-experience__button--primary:focus-visible {
  background: var(--service-red-deep);
  transform: translateY(-2px);
}

.service-experience__button--text {
  min-width: 184px;
  padding-right: 4px;
  padding-left: 0;
  border-bottom-color: var(--service-ink);
}

.service-experience__button--text:hover,
.service-experience__button--text:focus-visible {
  color: var(--service-red);
  border-bottom-color: var(--service-red);
}

.service-experience__section-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(290px, 0.7fr);
  gap: clamp(48px, 8vw, 140px);
  align-items: end;
  margin-bottom: clamp(48px, 6vw, 88px);
}

.service-experience__section-head h2 {
  max-width: 780px;
  margin-bottom: 0;
  font-size: clamp(30px, 3.6vw, 58px);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 1.34;
  text-wrap: pretty;
}

.service-experience__section-head > p {
  max-width: 540px;
  margin-bottom: 2px;
  color: var(--service-muted);
  font-size: 15px;
  letter-spacing: 0.03em;
  line-height: 2;
}

.service-experience__section-head--light h2 { color: #fff; }
.service-experience__section-head--light > p { color: rgba(255, 255, 255, 0.62); }
.service-heading__line { display: block; }
.service-heading__keep { white-space: nowrap; }
.service-heading__break--mobile { display: none; }

/* Archive hero */
.service-overview-hero {
  position: relative;
  min-height: min(900px, calc(100vh - 64px));
  padding: clamp(136px, 13vw, 210px) 0 0;
  background:
    radial-gradient(circle at 77% 36%, rgba(194, 183, 147, 0.2), transparent 34%),
    linear-gradient(135deg, #fbfaf7 0%, var(--service-paper) 62%, #f0ede6 100%);
}

.service-overview-hero::before {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(21,21,21,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(21,21,21,.035) 1px, transparent 1px);
  background-size: 64px 64px;
  content: "";
  mask-image: linear-gradient(to right, transparent, #000 56%, #000);
  pointer-events: none;
}

.service-overview-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.94fr) minmax(420px, 0.86fr);
  gap: clamp(48px, 7vw, 130px);
  align-items: center;
  min-height: 540px;
}

.service-overview-hero__copy { position: relative; z-index: 2; }
.service-overview-hero__title {
  margin-bottom: 34px;
  font-size: clamp(42px, 4.4vw, 70px);
  font-weight: 600;
  letter-spacing: -0.065em;
  line-height: 1.2;
}
.service-overview-hero__title span { position: relative; z-index: 0; }
.service-overview-hero__title span::after {
  position: absolute;
  z-index: -1;
  right: -0.08em;
  bottom: 0.08em;
  left: -0.06em;
  height: 0.18em;
  background: rgba(233, 66, 79, 0.18);
  content: "";
}
.service-overview-hero__lead {
  max-width: 690px;
  margin-bottom: 38px;
  color: #474642;
  font-size: clamp(15px, 1.15vw, 18px);
  letter-spacing: 0.035em;
  line-height: 2.05;
}
.service-overview-hero__mobile-break { display: none; }
.service-overview-hero .breadcrumb { margin-top: 52px; }

.service-overview-hero__visual {
  position: relative;
  width: min(100%, 630px);
  aspect-ratio: 1 / 0.93;
  justify-self: end;
}
.service-overview-hero__orbit,
.service-overview-hero__line,
.service-overview-hero__center,
.service-overview-hero__node { position: absolute; }
.service-overview-hero__orbit {
  border: 1px solid rgba(21,21,21,.2);
  border-radius: 50%;
}
.service-overview-hero__orbit--one { inset: 17% 14% 14% 17%; animation: serviceOrbit 20s linear infinite; }
.service-overview-hero__orbit--two { inset: 29% 27% 27% 29%; border-color: rgba(233,66,79,.38); animation: serviceOrbitReverse 16s linear infinite; }
.service-overview-hero__orbit::before,
.service-overview-hero__orbit::after {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--service-red);
  content: "";
}
.service-overview-hero__orbit::before { top: 8%; left: 23%; }
.service-overview-hero__orbit::after { right: 7%; bottom: 26%; background: var(--service-ink); }
.service-overview-hero__line { top: 50%; left: 50%; width: 42%; height: 1px; background: rgba(21,21,21,.25); transform-origin: 0 0; }
.service-overview-hero__line--one { transform: rotate(-37deg); }
.service-overview-hero__line--two { transform: rotate(37deg); }
.service-overview-hero__line--three { transform: rotate(90deg); }
.service-overview-hero__center {
  top: 50%; left: 50%; display: grid; width: 150px; height: 150px; place-content: center; border: 1px solid rgba(21,21,21,.42); border-radius: 50%; background: rgba(247,245,240,.82); text-align: center; transform: translate(-50%,-50%); backdrop-filter: blur(4px);
}
.service-overview-hero__center small { font-family: var(--service-serif); font-size: 10px; font-style: italic; letter-spacing: .14em; text-transform: uppercase; }
.service-overview-hero__center strong { margin-top: 4px; font-family: var(--service-serif); font-size: 34px; font-weight: 400; letter-spacing: .06em; }
.service-overview-hero__node { display: flex; align-items: center; gap: 9px; padding: 8px 12px; border: 1px solid rgba(21,21,21,.12); background: rgba(247,245,240,.88); font-size: 12px; font-weight: 700; letter-spacing: .05em; backdrop-filter: blur(5px); }
.service-overview-hero__node i { width: 7px; height: 7px; border-radius: 50%; background: var(--service-red); }
.service-overview-hero__node--one { top: 11%; left: 7%; }
.service-overview-hero__node--two { top: 16%; right: 2%; }
.service-overview-hero__node--three { right: 0; bottom: 14%; }
.service-overview-hero__node--four { bottom: 8%; left: 2%; }

.service-overview-proof {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(260px, 1.3fr);
  margin-top: clamp(56px, 7vw, 100px);
  border-top: 1px solid var(--service-line);
  border-bottom: 1px solid var(--service-line);
}
.service-overview-proof > div { min-height: 132px; padding: 26px 30px; border-right: 1px solid var(--service-line); }
.service-overview-proof > div:last-child { border-right: 0; }
.service-overview-proof dt { margin-bottom: 10px; color: var(--service-muted); font-size: 11px; font-weight: 600; letter-spacing: .12em; }
.service-overview-proof dd { display: flex; align-items: baseline; gap: 8px; margin: 0; }
.service-overview-proof dd strong { font-family: var(--service-serif); font-size: 38px; font-weight: 400; line-height: 1; }
.service-overview-proof dd span { color: var(--service-muted); font-size: 11px; }
.service-overview-proof__note dd { color: #4c4a46; font-size: 13px; line-height: 1.8; }

/* Archive content */
.service-problems { padding: clamp(100px, 11vw, 180px) 0; background: #fbfaf7; }
.service-problems__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--service-line); }
.service-problem-card { position: relative; display: grid; grid-template-columns: 54px minmax(0,1fr) 24px; gap: 20px; min-height: 220px; padding: 34px 26px 34px 0; border-bottom: 1px solid var(--service-line); text-decoration: none; transition: background-color .35s ease, padding .35s ease; }
.service-problem-card:nth-child(odd) { border-right: 1px solid var(--service-line); }
.service-problem-card:nth-child(even) { padding-left: 34px; }
.service-problem-card:hover, .service-problem-card:focus-visible { padding-right: 32px; background: rgba(194,183,147,.13); }
.service-problem-card__number { color: var(--service-red); font-family: var(--service-serif); font-size: 13px; font-style: italic; }
.service-problem-card h3 { max-width: 560px; margin-bottom: 18px; font-size: clamp(19px,1.55vw,25px); font-weight: 700; letter-spacing: -.02em; line-height: 1.55; text-wrap: balance; }
.service-problem-card__title-line { display: inline; }
.service-problem-card p { max-width: 560px; margin-bottom: 0; color: var(--service-muted); font-size: 13px; letter-spacing: .025em; line-height: 1.9; }
.service-problem-card__arrow { align-self: start; font-size: 18px; transition: transform .35s ease; }
.service-problem-card:hover .service-problem-card__arrow { transform: translate(4px,-4px); }

.service-map { position: relative; isolation: isolate; overflow: hidden; padding: clamp(100px, 11vw, 180px) 0; color: var(--service-ink); background: linear-gradient(145deg,#ddd8cf 0%,#e9e4da 48%,#d8d2c8 100%); }
.service-map > .container { position: relative; z-index: 2; }
.service-map .service-experience__section-head--light h2 { color: var(--service-ink); }
.service-map .service-experience__section-head--light > p { color: #5e5a54; }
.service-map__ambient { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
.service-map__ambient::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(36,33,29,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(36,33,29,.035) 1px,transparent 1px); background-size: 72px 72px; content: ""; mask-image: linear-gradient(120deg,transparent 4%,#000 42%,transparent 92%); }
.service-map__orbit { position: absolute; display: block; border: 1px solid rgba(217,52,66,.18); border-radius: 50%; }
.service-map__orbit i { position: absolute; top: 50%; left: -5px; display: block; width: 10px; height: 10px; border: 2px solid #ddd8cf; border-radius: 50%; background: rgba(217,52,66,.72); }
.service-map__orbit--one { top: -360px; right: -210px; width: 820px; height: 820px; animation: serviceMapOrbit 34s linear infinite; animation-play-state: paused; }
.service-map__orbit--two { bottom: -260px; left: -180px; width: 590px; height: 590px; border-color: rgba(74,69,61,.13); animation: serviceMapOrbitReverse 42s linear infinite; animation-play-state: paused; }
.service-map__orbit--two i { width: 8px; height: 8px; background: rgba(102,94,82,.52); }
.service-map__trace { position: absolute; top: 20%; left: 12%; width: 46%; height: 1px; background: linear-gradient(90deg,transparent,rgba(217,52,66,.34),transparent); transform: rotate(-14deg); transform-origin: center; animation: serviceMapTrace 12s ease-in-out infinite alternate; animation-play-state: paused; }
.service-map.is-service-map-active .service-map__orbit, .service-map.is-service-map-active .service-map__trace { animation-play-state: running; }
.service-map__stages { border-top: 1px solid rgba(36,33,29,.18); }
.service-stage { display: grid; grid-template-columns: minmax(245px,.36fr) minmax(0,1fr); gap: clamp(40px,7vw,110px); padding: clamp(58px,7vw,96px) 0; border-bottom: 1px solid var(--service-line-light); }
.service-stage__head { position: relative; align-self: start; }
.service-stage__number { position: absolute; top: 0; right: 0; color: var(--service-red); font-family: var(--service-serif); font-size: 14px; font-style: italic; }
.service-stage__label { margin-bottom: 18px; color: rgba(36,33,29,.46); font-family: var(--service-serif); font-size: 13px; font-style: italic; letter-spacing: .18em; text-transform: uppercase; }
.service-stage__head h3 { margin-bottom: 24px; font-size: clamp(27px,2.6vw,42px); font-weight: 600; letter-spacing: -.04em; line-height: 1.4; }
.service-stage__head h3 span { display: block; white-space: nowrap; }
.service-stage__head > p:last-child { margin-bottom: 0; color: rgba(36,33,29,.64); font-size: 14px; line-height: 1.95; }
.service-stage__items { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.service-stage { border-bottom-color: rgba(36,33,29,.18); }
.service-stage-card { position: relative; display: grid; grid-template-columns: minmax(140px,.36fr) minmax(0,1fr); min-height: 270px; border: 1px solid rgba(36,33,29,.2); overflow: hidden; background: rgba(249,247,242,.66); color: var(--service-ink) !important; text-decoration: none; transition: border-color .4s ease, background-color .4s ease, transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease; }
.service-stage-card:hover, .service-stage-card:focus-visible { border-color: rgba(217,52,66,.56); background: rgba(255,255,255,.76); box-shadow: 0 18px 36px rgba(54,48,42,.1); transform: translateY(-5px); }
.service-stage-card__media { position: relative; min-height: 100%; overflow: hidden; background: #bcb5aa; }
.service-stage-card__media::after { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 35%,rgba(0,0,0,.52)); content: ""; }
.service-stage-card__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.68) contrast(.9) brightness(1.03); transition: filter .5s ease, transform .6s cubic-bezier(.2,.8,.2,1); }
.service-stage-card:hover .service-stage-card__media img { filter: saturate(.86) contrast(.94) brightness(1.04); transform: scale(1.035); }
.service-stage-card__index { position: absolute; z-index: 2; bottom: 14px; left: 15px; color: rgba(255,255,255,.74); font-family: var(--service-serif); font-size: 10px; font-style: italic; letter-spacing: .13em; }
.service-stage-card__body { display: flex; min-width: 0; flex-direction: column; padding: 28px 24px 22px; }
.service-stage-card h4 { margin-bottom: 16px; font-size: clamp(17px,1.25vw,21px); font-weight: 700; letter-spacing: -.02em; line-height: 1.55; text-wrap: pretty; }
.service-title__line { display: block; white-space: nowrap; }
.service-stage-card__body > p { margin-bottom: 18px; color: rgba(36,33,29,.62); font-size: 12px; line-height: 1.85; }
.service-stage-card ul { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 18px; padding: 0; list-style: none; }
.service-stage-card li { padding: 4px 7px; border: 1px solid rgba(36,33,29,.16); color: rgba(36,33,29,.68); font-size: 9px; letter-spacing: .04em; }
.service-stage-card__link { display: flex; justify-content: space-between; margin-top: auto; padding-top: 13px; border-top: 1px solid rgba(36,33,29,.16); font-size: 11px; font-weight: 700; }
.service-stage-card__link i { font-style: normal; transition: transform .35s ease; }
.service-stage-card:hover .service-stage-card__link i { transform: translate(3px,-3px); }

/* Archive proof: show concrete work before asking users to trust claims. */
.service-overview-evidence { padding: clamp(100px,11vw,175px) 0; background: #f8f6f1; }
.service-overview-evidence__layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.55fr); gap: 24px; align-items: stretch; }
.service-overview-works { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.service-overview-work { display: flex; min-width: 0; flex-direction: column; border: 1px solid var(--service-line); background: rgba(255,255,255,.42); text-decoration: none; transition: border-color .35s ease, background-color .35s ease, transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease; }
.service-overview-work:hover, .service-overview-work:focus-visible { border-color: rgba(217,52,66,.5); background: rgba(255,255,255,.76); box-shadow: 0 16px 34px rgba(54,48,42,.08); transform: translateY(-5px); }
.service-overview-work__media { position: relative; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; background: #ddd7cd; }
.service-overview-work__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(.94); transition: filter .45s ease, transform .65s cubic-bezier(.2,.8,.2,1); }
.service-overview-work:hover .service-overview-work__media img { filter: saturate(.96) contrast(.98); transform: scale(1.035); }
.service-overview-work__number { position: absolute; right: 12px; bottom: 10px; display: flex; width: 34px; height: 34px; align-items: center; justify-content: center; border-radius: 50%; background: rgba(247,245,240,.9); color: var(--service-red); font-size: 10px; font-style: italic; backdrop-filter: blur(6px); }
.service-overview-work__body { display: flex; min-height: 310px; flex: 1; flex-direction: column; padding: 24px 22px 20px; }
.service-overview-work__meta { display: flex; flex-wrap: wrap; gap: 7px 12px; margin: 0 0 18px; color: var(--service-red); font-family: var(--service-serif); font-size: 9px; font-style: italic; letter-spacing: .1em; text-transform: uppercase; }
.service-overview-work__meta span { color: var(--service-muted); }
.service-overview-work h3 { margin: 0 0 16px; font-size: clamp(17px,1.4vw,22px); line-height: 1.6; }
.service-overview-work__summary { margin: 0 0 22px; color: var(--service-muted); font-size: 12px; line-height: 1.9; }
.service-overview-work__link { display: flex; justify-content: space-between; gap: 20px; margin-top: auto; padding-top: 13px; border-top: 1px solid var(--service-line); font-size: 11px; font-weight: 700; }
.service-overview-work__link i { font-style: normal; transition: transform .3s ease; }
.service-overview-work:hover .service-overview-work__link i { transform: translate(3px,-3px); }
.service-overview-voice { min-width: 0; }
.service-overview-voice > a { position: relative; display: flex; min-height: 100%; flex-direction: column; padding: clamp(34px,4vw,56px); border: 1px solid rgba(67,57,51,.22); overflow: hidden; background: linear-gradient(150deg,#d8cfc5,#c9beb2); text-decoration: none; }
.service-overview-voice > a::before { position: absolute; top: -120px; right: -120px; width: 300px; height: 300px; border: 1px solid rgba(217,52,66,.22); border-radius: 50%; content: ""; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.service-overview-voice > a:hover::before { transform: translate(-18px,22px) scale(1.06); }
.service-overview-voice h3 { position: relative; margin: 0 0 36px; font-size: clamp(22px,2.1vw,32px); line-height: 1.5; }
.service-overview-voice blockquote { position: relative; margin: 0 0 34px; color: rgba(36,33,29,.74); font-size: clamp(14px,1.25vw,18px); line-height: 2; }
.service-overview-voice__source { position: relative; display: block; margin-top: auto; padding-top: 20px; border-top: 1px solid rgba(36,33,29,.18); font-size: 12px; font-weight: 700; }
.service-overview-voice__link { position: relative; display: flex; justify-content: space-between; gap: 20px; margin-top: 20px; font-size: 11px; font-weight: 700; }
.service-overview-voice__link i { font-style: normal; transition: transform .3s ease; }
.service-overview-voice > a:hover .service-overview-voice__link i { transform: translate(3px,-3px); }
.service-overview-evidence__actions { display: flex; justify-content: flex-end; gap: 34px; margin-top: 30px; }
.service-overview-evidence__actions a { display: flex; min-width: 180px; justify-content: space-between; gap: 24px; padding: 12px 0 9px; border-bottom: 1px solid var(--service-ink); font-size: 12px; font-weight: 700; }

.service-partners { padding: clamp(90px,10vw,150px) 0; background: #ece8e0; }
.service-partners__grid { display: grid; grid-template-columns: minmax(260px,.42fr) minmax(0,1fr); gap: clamp(52px,8vw,140px); }
.service-partners__intro h2 { max-width: 440px; margin-bottom: 26px; font-size: clamp(28px,3vw,48px); font-weight: 600; letter-spacing: -.04em; line-height: 1.45; }
.service-partners__intro > p:last-child { max-width: 490px; margin-bottom: 0; color: var(--service-muted); font-size: 14px; line-height: 2; }
.service-partners__links { border-top: 1px solid var(--service-line); }
.service-partners__links > a { position: relative; display: grid; grid-template-columns: minmax(150px,.34fr) minmax(210px,.56fr) minmax(0,1fr) 24px; gap: 24px; align-items: center; min-height: 162px; padding: 28px 4px; border-bottom: 1px solid var(--service-line); text-decoration: none; transition: padding .35s ease, background-color .35s ease; }
.service-partners__links > a:hover { padding-right: 12px; padding-left: 12px; background: rgba(255,255,255,.33); }
.service-partners__links > a > span { color: var(--service-red); font-family: var(--service-serif); font-size: 11px; font-style: italic; letter-spacing: .12em; text-transform: uppercase; }
.service-partners__links h3 { margin-bottom: 0; font-size: clamp(19px,1.7vw,26px); line-height: 1.45; }
.service-partners__links p { margin-bottom: 0; color: var(--service-muted); font-size: 12px; line-height: 1.85; }
.service-partners__links i { font-style: normal; font-size: 18px; }

.service-why { padding: clamp(100px,11vw,180px) 0; background: #f9f7f2; }
.service-why__grid { display: grid; grid-template-columns: minmax(290px,.8fr) minmax(0,1.2fr); gap: clamp(60px,10vw,170px); align-items: start; }
.service-why__copy { position: sticky; top: 120px; }
.service-why__copy h2 { max-width: 630px; margin-bottom: 30px; font-size: clamp(34px,3.7vw,58px); font-weight: 600; letter-spacing: -.05em; line-height: 1.4; }
.service-why__copy > p:not(.service-experience__eyebrow) { max-width: 580px; margin-bottom: 34px; color: var(--service-muted); font-size: 15px; line-height: 2; }
.service-why__steps { margin: 0; padding: 0; border-top: 1px solid var(--service-line); list-style: none; }
.service-why__steps li { display: grid; grid-template-columns: 110px minmax(170px,.6fr) minmax(0,1fr); gap: 28px; align-items: baseline; min-height: 146px; padding: 30px 0; border-bottom: 1px solid var(--service-line); }
.service-why__steps span { color: var(--service-red); font-family: var(--service-serif); font-size: 11px; font-style: italic; letter-spacing: .11em; }
.service-why__steps strong { font-size: clamp(18px,1.6vw,24px); }
.service-why__steps p { margin-bottom: 0; color: var(--service-muted); font-size: 13px; line-height: 1.9; }

/* Shared CTA */
.service-consultation { padding: clamp(72px,8vw,120px) 0; color: #fff; background: var(--service-dark-soft); }
.service-consultation__link { position: relative; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(280px,.64fr) auto; gap: clamp(36px,6vw,96px); align-items: end; min-height: 310px; padding-top: 50px !important; padding-bottom: 50px !important; border-top: 1px solid rgba(255,255,255,.32); border-bottom: 1px solid rgba(255,255,255,.32); color: #fff !important; text-decoration: none; }
.service-consultation__link::before { position: absolute; top: -1px; left: 0; width: 100px; height: 2px; background: var(--service-red); content: ""; transition: width .6s cubic-bezier(.2,.8,.2,1); }
.service-consultation__link:hover::before { width: 44%; }
.service-consultation h2 { max-width: 760px; margin-bottom: 0; font-size: clamp(30px,3.35vw,53px); font-weight: 600; letter-spacing: -.045em; line-height: 1.42; }
.service-consultation__link > p { margin-bottom: 0; color: rgba(255,255,255,.62); font-size: 14px; line-height: 2; }
.service-consultation__button { display: inline-flex; min-width: 148px; min-height: 52px; align-items: center; justify-content: space-between; gap: 24px; padding: 0 18px; border: 1px solid rgba(255,255,255,.45); font-size: 12px; font-weight: 700; }
.service-consultation__button i { font-style: normal; transition: transform .35s ease; }
.service-consultation__link:hover .service-consultation__button i { transform: translate(4px,-4px); }
.service-experience--archive .service-consultation { position: relative; overflow: hidden; color: var(--service-ink); background: linear-gradient(135deg,#e5ded5 0%,#d6ccc1 100%); }
.service-experience--archive .service-consultation::before { position: absolute; right: -220px; bottom: -340px; width: 680px; height: 680px; border: 1px solid rgba(217,52,66,.2); border-radius: 50%; content: ""; }
.service-experience--archive .service-consultation__link { color: var(--service-ink) !important; border-color: rgba(36,33,29,.34); }
.service-experience--archive .service-consultation__link > p { color: rgba(36,33,29,.64); }
.service-experience--archive .service-consultation__button { border-color: rgba(36,33,29,.42); }
.service-experience--archive .service-consultation__link:hover .service-consultation__button { background: var(--service-ink); color: #fff; }

/* Detail hero */
.service-detail-hero { padding: clamp(132px,12vw,190px) 0 0; background: linear-gradient(140deg,#fbfaf7 0%,#f4f1eb 65%,#ece7dc 100%); }
.service-detail-hero__grid { display: grid; grid-template-columns: minmax(0,.98fr) minmax(400px,.8fr); gap: clamp(52px,8vw,130px); align-items: center; }
.service-detail-hero__copy h1 { max-width: 880px; margin-bottom: 32px; font-size: clamp(42px,4.9vw,76px); font-weight: 600; letter-spacing: -.06em; line-height: 1.28; text-wrap: pretty; }
.service-detail-hero__lead { max-width: 750px; margin-bottom: 24px; color: #45443f; font-size: clamp(15px,1.15vw,18px); letter-spacing: .035em; line-height: 2.05; }
.service-detail-hero__note { display: flex; max-width: 690px; gap: 12px; margin-bottom: 36px; padding: 15px 18px; border-left: 1px solid var(--service-red); background: rgba(255,255,255,.45); color: var(--service-muted); font-size: 12px; line-height: 1.75; }
.service-detail-hero__note span { color: var(--service-red); font-size: 7px; transform: translateY(4px); }
.service-detail-hero .breadcrumb { margin-top: 44px; }
.service-detail-hero__visual { position: relative; min-width: 0; }
.service-detail-hero__image { position: relative; aspect-ratio: 4 / 4.7; overflow: hidden; background: #ddd8cf; }
.service-detail-hero__image::after { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 55%,rgba(21,21,21,.18)); content: ""; }
.service-detail-hero__image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.76) contrast(.94); }
.service-detail-hero__diagram { position: absolute; right: -24px; bottom: 34px; left: -52px; display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid rgba(21,21,21,.25); background: rgba(247,245,240,.91); backdrop-filter: blur(8px); }
.service-detail-hero__diagram span { position: relative; display: flex; min-height: 78px; flex-direction: column; justify-content: center; gap: 4px; padding: 12px 15px; border-right: 1px solid var(--service-line); font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.service-detail-hero__diagram span:last-child { border-right: 0; }
.service-detail-hero__diagram i { color: var(--service-red); font-family: var(--service-serif); font-size: 10px; font-weight: 400; }
.service-detail-nav { display: grid; grid-template-columns: repeat(5,1fr); margin-top: clamp(68px,8vw,120px); border-top: 1px solid var(--service-line); border-bottom: 1px solid var(--service-line); }
.service-detail-nav a { padding: 20px 18px; border-right: 1px solid var(--service-line); font-size: 11px; font-weight: 700; letter-spacing: .05em; text-align: center; text-decoration: none; transition: color .3s ease, background-color .3s ease; }
.service-detail-nav a:last-child { border-right: 0; }
.service-detail-nav a:hover, .service-detail-nav a:focus-visible { color: var(--service-red); background: rgba(255,255,255,.48); }

/* Detail sections */
.service-detail-issues { padding: clamp(100px,11vw,175px) 0; background: #fbfaf7; }
.service-detail-issues__grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--service-line); border-bottom: 1px solid var(--service-line); }
.service-detail-issues__grid article { min-height: 310px; padding: 36px 34px 32px; border-right: 1px solid var(--service-line); }
.service-detail-issues__grid article:last-child { border-right: 0; }
.service-detail-issues__grid article > span { display: block; margin-bottom: 60px; color: var(--service-red); font-family: var(--service-serif); font-size: 12px; font-style: italic; }
.service-detail-issues__grid h3 { margin-bottom: 22px; font-size: clamp(19px,1.55vw,25px); line-height: 1.65; text-wrap: pretty; }
.service-detail-issues__grid p { margin-bottom: 0; color: var(--service-muted); font-size: 13px; line-height: 1.95; }

.service-detail-change { padding: clamp(100px,11vw,175px) 0; color: #fff; background: var(--service-dark); }
.service-change-board { display: grid; grid-template-columns: minmax(0,1fr) 48px minmax(0,1fr) 48px minmax(0,1fr); align-items: center; }
.service-change-board__item { min-height: 350px; padding: 42px 36px; border: 1px solid var(--service-line-light); }
.service-change-board__item--2 { border-color: rgba(233,66,79,.72); background: rgba(233,66,79,.055); }
.service-change-board__item > p { margin-bottom: 52px; color: rgba(255,255,255,.43); font-family: var(--service-serif); font-size: 12px; font-style: italic; letter-spacing: .16em; text-transform: uppercase; }
.service-change-board__item--2 > p { color: var(--service-red); }
.service-change-board__item h3 { margin-bottom: 28px; font-size: clamp(21px,1.8vw,28px); }
.service-change-board__item ul { margin-bottom: 0; padding: 0; list-style: none; }
.service-change-board__item li { position: relative; padding: 13px 0 13px 18px; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.67); font-size: 12px; line-height: 1.6; }
.service-change-board__item li::before { position: absolute; top: 20px; left: 0; width: 6px; height: 1px; background: var(--service-red); content: ""; }
.service-change-board__arrow { color: var(--service-red); font-size: 24px; text-align: center; }

.service-detail-audiences { position: relative; padding: clamp(100px,11vw,175px) 0; background: #f7f4ee; }
.service-detail-audiences::before { position: absolute; top: 0; right: clamp(20px,7vw,110px); width: min(24vw,330px); height: min(24vw,330px); border: 1px solid rgba(233,66,79,.13); border-radius: 50%; content: ""; transform: translateY(-50%); }
.service-audience-map { position: relative; display: grid; grid-template-columns: minmax(250px,1fr) minmax(210px,.72fr) minmax(250px,1fr); grid-template-rows: repeat(2,minmax(230px,auto)); border-top: 1px solid var(--service-line); border-bottom: 1px solid var(--service-line); }
.service-audience-map::before, .service-audience-map::after { position: absolute; z-index: 0; top: 50%; left: 50%; background: rgba(21,21,21,.16); content: ""; pointer-events: none; }
.service-audience-map::before { width: 62%; height: 1px; transform: translate(-50%,-50%); }
.service-audience-map::after { width: 1px; height: 54%; transform: translate(-50%,-50%); }
.service-audience-map__center { position: relative; z-index: 2; grid-column: 2; grid-row: 1 / span 2; display: flex; width: 190px; height: 190px; flex-direction: column; align-self: center; justify-self: center; align-items: center; justify-content: center; border: 1px solid rgba(233,66,79,.56); border-radius: 50%; background: rgba(247,244,238,.94); text-align: center; }
.service-audience-map__center::before { position: absolute; inset: -16px; border: 1px solid rgba(21,21,21,.16); border-radius: 50%; content: ""; }
.service-audience-map__center span { margin-bottom: 12px; color: var(--service-red); font-family: var(--service-serif); font-size: 10px; font-style: italic; letter-spacing: .14em; text-transform: uppercase; }
.service-audience-map__center strong { font-size: 18px; letter-spacing: .04em; line-height: 1.65; }
.service-audience-map__center i { position: absolute; top: -17px; left: 50%; width: 7px; height: 7px; border-radius: 50%; background: var(--service-red); box-shadow: 0 0 0 6px rgba(233,66,79,.1); animation: serviceAudiencePulse 3.2s ease-in-out infinite; }
.service-audience-map__card { position: relative; z-index: 1; min-height: 230px; padding: 34px 38px; background: rgba(255,255,255,.28); }
.service-audience-map__card--1, .service-audience-map__card--3 { border-right: 1px solid var(--service-line); }
.service-audience-map__card--2, .service-audience-map__card--4 { grid-column: 3; border-left: 1px solid var(--service-line); }
.service-audience-map__card--1, .service-audience-map__card--2 { grid-row: 1; border-bottom: 1px solid var(--service-line); }
.service-audience-map__card--3, .service-audience-map__card--4 { grid-row: 2; }
.service-audience-map__card > p { margin-bottom: 24px; color: var(--service-red); font-family: var(--service-serif); font-size: 10px; font-style: italic; letter-spacing: .16em; text-transform: uppercase; }
.service-audience-map__card h3 { margin-bottom: 20px; font-size: clamp(19px,1.65vw,25px); line-height: 1.5; }
.service-audience-map__card ul { margin: 0; padding: 0; list-style: none; }
.service-audience-map__card li { position: relative; padding: 8px 0 8px 14px; border-top: 1px solid var(--service-line); color: var(--service-muted); font-size: 12px; line-height: 1.6; }
.service-audience-map__card li::before { position: absolute; top: 16px; left: 0; width: 5px; height: 1px; background: var(--service-red); content: ""; }
.service-detail-audiences__note { display: flex; gap: 20px; align-items: center; margin: 22px 0 0; color: var(--service-muted); font-size: 12px; line-height: 1.8; }
.service-detail-audiences__note span { color: var(--service-red); font-family: var(--service-serif); font-size: 10px; font-style: italic; letter-spacing: .16em; }

.service-detail-strength { padding: clamp(100px,11vw,175px) 0; background: #eeeae2; }
.service-detail-strength__grid { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(60px,10vw,170px); }
.service-detail-strength__intro { position: sticky; top: 120px; align-self: start; }
.service-detail-strength__intro h2 { max-width: 590px; margin-bottom: 24px; font-size: clamp(32px,3.5vw,54px); font-weight: 600; letter-spacing: -.045em; line-height: 1.45; }
.service-detail-strength__intro > p:not(.service-experience__eyebrow) { color: var(--service-muted); font-size: 14px; line-height: 2; }
.service-detail-strength__list { border-top: 1px solid var(--service-line); }
.service-detail-strength__list-head { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; min-height: 58px; padding: 0 4px; border-bottom: 1px solid var(--service-line); color: var(--service-muted); font-size: 10px; letter-spacing: .08em; }
.service-detail-strength__list-head span:first-child { color: var(--service-red); font-family: var(--service-serif); font-style: italic; letter-spacing: .16em; text-transform: uppercase; }
.service-detail-strength__list article { display: grid; grid-template-columns: 66px minmax(0,1fr); gap: 26px; min-height: 220px; padding: 42px 0; border-bottom: 1px solid var(--service-line); }
.service-detail-strength__list span { color: var(--service-red); font-family: var(--service-serif); font-size: 13px; font-style: italic; }
.service-detail-strength__list h3 { margin-bottom: 20px; font-size: clamp(20px,1.8vw,28px); line-height: 1.55; text-wrap: balance; }
.service-detail-strength__list p { margin-bottom: 0; color: var(--service-muted); font-size: 13px; line-height: 2; }
.service-strength-blueprint { position: relative; width: min(100%,520px); margin-top: clamp(34px,5vw,64px); overflow: hidden; aspect-ratio: 1.44 / 1; border-top: 1px solid var(--service-line); border-bottom: 1px solid var(--service-line); background-image: linear-gradient(rgba(21,21,21,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(21,21,21,.055) 1px,transparent 1px); background-size: 26px 26px; }
.service-strength-blueprint svg { display: block; width: 100%; height: 100%; }
.service-strength-blueprint__frame, .service-strength-blueprint__panel { fill: rgba(255,255,255,.3); stroke: rgba(21,21,21,.26); stroke-width: 1; }
.service-strength-blueprint__accent { fill: rgba(233,66,79,.08); stroke: rgba(233,66,79,.7); stroke-width: 1; }
.service-strength-blueprint__line { fill: none; stroke: rgba(21,21,21,.28); stroke-width: 1; }
.service-strength-blueprint__dot { fill: var(--service-red); opacity: .55; }
.service-strength-blueprint__route { fill: none; stroke: rgba(233,66,79,.74); stroke-width: 1; stroke-dasharray: 4 7; animation: serviceStrengthRoute 11s linear infinite; }
.service-strength-blueprint__node { position: absolute; display: inline-flex; min-width: 94px; min-height: 44px; align-items: center; gap: 11px; padding: 7px 12px; border: 1px solid rgba(21,21,21,.2); background: rgba(238,234,226,.94); box-shadow: 0 10px 28px rgba(63,51,42,.08); font-size: 11px; animation: serviceStrengthFloat 4.6s ease-in-out infinite; }
.service-strength-blueprint__node i { color: var(--service-red); font-family: var(--service-serif); font-size: 9px; font-style: italic; }
.service-strength-blueprint__node b { font-weight: 700; white-space: nowrap; }
.service-strength-blueprint__node--one { top: 43%; left: 1%; }
.service-strength-blueprint__node--two { top: 37%; right: 0; animation-delay: -1.5s; }
.service-strength-blueprint__node--three { right: 31%; bottom: 2%; animation-delay: -3s; }

.service-detail-scope { padding: clamp(100px,11vw,175px) 0; background: #fbfaf7; }
.service-scope-table { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--service-line); border-bottom: 1px solid var(--service-line); }
.service-scope-table article { min-height: 360px; padding: 32px 28px; border-right: 1px solid var(--service-line); }
.service-scope-table article:last-child { border-right: 0; }
.service-scope-table__number { display: block; margin-bottom: 70px; color: var(--service-red); font-family: var(--service-serif); font-size: 12px; font-style: italic; }
.service-scope-table h3 { margin-bottom: 24px; font-size: clamp(20px,1.7vw,26px); }
.service-scope-table ul { margin-bottom: 0; padding: 0; list-style: none; }
.service-scope-table li { position: relative; padding: 11px 0 11px 14px; border-top: 1px solid var(--service-line); color: var(--service-muted); font-size: 12px; line-height: 1.6; }
.service-scope-table li::before { position: absolute; top: 19px; left: 0; width: 5px; height: 1px; background: var(--service-red); content: ""; }
.service-detail-scope__note { margin: 20px 0 0; color: var(--service-muted); font-size: 11px; line-height: 1.8; }

.service-detail-fit { padding: clamp(90px,10vw,150px) 0; background: #f4f1eb; }
.service-detail-fit__grid { display: grid; grid-template-columns: repeat(2,1fr); border: 1px solid var(--service-line); }
.service-detail-fit__card { min-height: 500px; padding: clamp(38px,5vw,72px); background: rgba(255,255,255,.28); }
.service-detail-fit__card + .service-detail-fit__card { border-left: 1px solid var(--service-line); }
.service-detail-fit__card--fit { background: var(--service-dark-soft); color: #fff; }
.service-detail-fit__card h2 { max-width: 470px; margin-bottom: 42px; font-size: clamp(26px,2.6vw,41px); font-weight: 600; letter-spacing: -.035em; line-height: 1.5; }
.service-detail-fit__card ul { margin-bottom: 30px; padding: 0; list-style: none; }
.service-detail-fit__card li { position: relative; padding: 17px 0 17px 28px; border-top: 1px solid var(--service-line); font-size: 13px; line-height: 1.75; }
.service-detail-fit__card--fit li { border-color: rgba(255,255,255,.16); }
.service-detail-fit__card li::before { position: absolute; top: 25px; left: 2px; width: 8px; height: 8px; border: 1px solid var(--service-red); border-radius: 50%; content: ""; }
.service-detail-fit__card > p:last-child { color: var(--service-muted); font-size: 12px; line-height: 1.85; }

.service-detail-process { padding: clamp(100px,11vw,175px) 0; color: #fff; background: var(--service-dark); }
.service-process-line { display: grid; grid-template-columns: repeat(5,1fr); margin: 0 0 72px; padding: 0; border-top: 1px solid var(--service-line-light); border-bottom: 1px solid var(--service-line-light); list-style: none; }
.service-process-line li { position: relative; min-height: 300px; padding: 34px 24px; border-right: 1px solid var(--service-line-light); }
.service-process-line li:last-child { border-right: 0; }
.service-process-line li:not(:last-child)::after { position: absolute; z-index: 2; top: 50%; right: -10px; width: 19px; height: 19px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: var(--service-dark); color: var(--service-red); content: "›"; font-size: 14px; line-height: 16px; text-align: center; }
.service-process-line span { display: block; margin-bottom: 72px; color: var(--service-red); font-family: var(--service-serif); font-size: 12px; font-style: italic; }
.service-process-line h3 { margin-bottom: 18px; font-size: clamp(17px,1.4vw,22px); line-height: 1.55; text-wrap: balance; }
.service-process-line p { margin-bottom: 0; color: rgba(255,255,255,.58); font-size: 12px; line-height: 1.85; }
.service-price-note { display: grid; grid-template-columns: 160px minmax(260px,.75fr) minmax(300px,1fr) auto; gap: clamp(28px,5vw,70px); align-items: center; padding: 36px 0; border-top: 1px solid var(--service-line-light); border-bottom: 1px solid var(--service-line-light); }
.service-price-note .service-experience__eyebrow { margin-bottom: 0; }
.service-price-note h3 { margin-bottom: 0; font-size: clamp(19px,1.8vw,27px); line-height: 1.55; }
.service-price-note > p:not(.service-experience__eyebrow) { margin-bottom: 0; color: rgba(255,255,255,.58); font-size: 12px; line-height: 1.9; }
.service-price-note a { padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,.5); font-size: 12px; font-weight: 700; text-decoration: none; white-space: nowrap; }

.service-detail-related { padding-top: clamp(100px,10vw,150px) !important; padding-bottom: clamp(100px,10vw,150px) !important; background: #fbfaf7; }
.service-detail-related .single-specialty-related__title { font-size: clamp(30px,3.4vw,52px); letter-spacing: -.04em; }

.service-evidence { padding: clamp(90px,10vw,150px) 0; background: #ece8e0; }
.service-evidence__grid { display: grid; grid-template-columns: minmax(300px,.7fr) minmax(0,1.3fr); gap: 26px; }
.service-evidence__voice { display: flex; min-height: 430px; flex-direction: column; padding: clamp(34px,4vw,58px); border: 1px solid var(--service-line); background: var(--service-dark-soft); color: #fff !important; text-decoration: none; transition: transform .4s ease; }
.service-evidence__voice:hover { transform: translateY(-4px); }
.service-evidence__voice h2, .service-evidence__columns h2 { margin-bottom: 34px; font-size: clamp(25px,2.4vw,38px); letter-spacing: -.035em; }
.service-evidence__voice blockquote { margin-bottom: 38px; color: rgba(255,255,255,.73); font-size: clamp(16px,1.4vw,21px); line-height: 2; }
.service-evidence__voice > span { display: flex; justify-content: space-between; margin-top: auto; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.2); font-size: 12px; font-weight: 700; }
.service-evidence__voice i { font-style: normal; }
.service-evidence__columns { padding: clamp(34px,4vw,58px); border: 1px solid var(--service-line); background: rgba(255,255,255,.42); }
.service-evidence__columns-head { display: flex; justify-content: space-between; gap: 30px; align-items: start; }
.service-evidence__columns-head > a { padding-bottom: 6px; border-bottom: 1px solid var(--service-ink); font-size: 11px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.service-evidence__column-list { border-top: 1px solid var(--service-line); }
.service-evidence__column-list > a { display: grid; grid-template-columns: 92px minmax(0,1fr) 20px; gap: 22px; align-items: center; min-height: 96px; border-bottom: 1px solid var(--service-line); text-decoration: none; }
.service-evidence__column-list time { color: var(--service-muted); font-family: var(--service-serif); font-size: 11px; font-style: italic; }
.service-evidence__column-list strong { font-size: 13px; line-height: 1.75; }
.service-evidence__column-list i { font-style: normal; transition: transform .35s ease; }
.service-evidence__column-list > a:hover i { transform: translate(3px,-3px); }

/* Detail pages share one quiet design language, with a small tonal identity per service. */
.service-experience--detail { --service-tone-a:#ddd5cc; --service-tone-b:#e8e1d9; --service-tone-fit:#dcd2ca; --service-tone-process-a:#d7d0c7; --service-tone-process-b:#e4ddd5; --service-tone-voice:#d9cfca; --service-tone-consult-a:#e5ded5; --service-tone-consult-b:#d7ccc1; }
.service-experience--recruit { --service-tone-a:#e0d5d2; --service-tone-b:#ebe2dd; --service-tone-fit:#dfd2ce; --service-tone-process-a:#d9ceca; --service-tone-process-b:#e9e0da; --service-tone-voice:#ded1ce; --service-tone-consult-a:#e9dfd9; --service-tone-consult-b:#d9cbc5; }
.service-experience--ec { --service-tone-a:#ddd7c8; --service-tone-b:#ebe6d9; --service-tone-fit:#ded6c5; --service-tone-process-a:#d5cebd; --service-tone-process-b:#e8e2d4; --service-tone-voice:#dcd3c3; --service-tone-consult-a:#ebe5d8; --service-tone-consult-b:#d9cfbd; }
.service-experience--lp { --service-tone-a:#e0d2cf; --service-tone-b:#eee2de; --service-tone-fit:#e1d2ce; --service-tone-process-a:#d9cbc7; --service-tone-process-b:#eaded9; --service-tone-voice:#dfd0cc; --service-tone-consult-a:#ede1dc; --service-tone-consult-b:#dbcac5; }
.service-experience--seo { --service-tone-a:#d5d9cd; --service-tone-b:#e5e8df; --service-tone-fit:#d7dbcf; --service-tone-process-a:#ced3c6; --service-tone-process-b:#e2e6dc; --service-tone-voice:#d2d8cc; --service-tone-consult-a:#e6e9e0; --service-tone-consult-b:#cfd5c8; }
.service-experience--attract { --service-tone-a:#ded4c8; --service-tone-b:#ece3d9; --service-tone-fit:#e0d4c6; --service-tone-process-a:#d7cdbf; --service-tone-process-b:#e9dfd3; --service-tone-voice:#dcd1c4; --service-tone-consult-a:#ece2d6; --service-tone-consult-b:#d8ccbd; }
.service-experience--maintenance { --service-tone-a:#d4d5d2; --service-tone-b:#e4e5e1; --service-tone-fit:#d6d7d3; --service-tone-process-a:#cdcfcb; --service-tone-process-b:#e1e2de; --service-tone-voice:#d2d4d0; --service-tone-consult-a:#e5e6e2; --service-tone-consult-b:#ced1cc; }
.service-experience--multidevice { --service-tone-a:#d2d8d8; --service-tone-b:#e3e8e7; --service-tone-fit:#d3dada; --service-tone-process-a:#cbd2d2; --service-tone-process-b:#e0e6e5; --service-tone-voice:#cfd7d6; --service-tone-consult-a:#e4e9e8; --service-tone-consult-b:#ccd4d3; }
.service-experience--detail .service-detail-change { color: var(--service-ink); background: linear-gradient(135deg,var(--service-tone-a) 0%,var(--service-tone-b) 100%); }
.service-experience--detail .service-experience__section-head--light h2 { color: var(--service-ink); }
.service-experience--detail .service-experience__section-head--light > p { color: rgba(36,33,29,.65); }
.service-experience--detail .service-change-board__item { border-color: rgba(36,33,29,.22); background: rgba(255,255,255,.15); }
.service-experience--detail .service-change-board__item--2 { border-color: rgba(217,52,66,.5); background: rgba(255,255,255,.42); box-shadow: 0 18px 60px rgba(73,58,47,.08); }
.service-experience--detail .service-change-board__item > p { color: rgba(36,33,29,.48); }
.service-experience--detail .service-change-board__item--2 > p { color: var(--service-red-deep); }
.service-experience--detail .service-change-board__item li { border-color: rgba(36,33,29,.14); color: rgba(36,33,29,.68); }
.service-experience--detail .service-detail-strength__intro h2 { font-size: clamp(32px,3vw,46px); letter-spacing: -.055em; }
.service-experience--detail .service-detail-fit { background: #eee8e1; }
.service-experience--detail .service-detail-fit__card--fit { color: var(--service-ink); background: var(--service-tone-fit); }
.service-experience--detail .service-detail-fit__card--fit li { border-color: rgba(36,33,29,.16); }
.service-experience--detail .service-detail-process { color: var(--service-ink); background: linear-gradient(145deg,var(--service-tone-process-a) 0%,var(--service-tone-process-b) 100%); }
.service-experience--detail .service-process-line { border-color: rgba(36,33,29,.2); }
.service-experience--detail .service-process-line li { border-color: rgba(36,33,29,.18); }
.service-experience--detail .service-process-line li:not(:last-child)::after { border-color: rgba(36,33,29,.24); background: var(--service-tone-a); }
.service-experience--detail .service-process-line p { color: rgba(36,33,29,.64); }
.service-experience--detail .service-price-note { border-color: rgba(36,33,29,.2); }
.service-experience--detail .service-price-note > p:not(.service-experience__eyebrow) { color: rgba(36,33,29,.64); }
.service-experience--detail .service-price-note a { border-color: rgba(36,33,29,.48); }
.service-experience--detail .service-evidence__voice { color: var(--service-ink) !important; background: var(--service-tone-voice); }
.service-experience--detail .service-evidence__voice blockquote { color: rgba(36,33,29,.72); }
.service-experience--detail .service-evidence__voice > span { border-color: rgba(36,33,29,.2); }
.service-experience--detail .service-consultation { position: relative; overflow: hidden; color: var(--service-ink); background: linear-gradient(135deg,var(--service-tone-consult-a) 0%,var(--service-tone-consult-b) 100%); }
.service-experience--detail .service-consultation::before { position: absolute; right: -220px; bottom: -340px; width: 680px; height: 680px; border: 1px solid rgba(217,52,66,.2); border-radius: 50%; content: ""; }
.service-experience--detail .service-consultation__link { color: var(--service-ink) !important; border-color: rgba(36,33,29,.34); }
.service-experience--detail .service-consultation__link > p { color: rgba(36,33,29,.64); }
.service-experience--detail .service-consultation__button { border-color: rgba(36,33,29,.42); }
.service-experience--detail .service-consultation__link:hover .service-consultation__button { color: #fff; background: var(--service-ink); }

.service-detail-faq { padding: clamp(100px,11vw,170px) 0; background: #f9f7f2; }
.service-detail-faq__grid { display: grid; grid-template-columns: minmax(260px,.52fr) minmax(0,1.2fr); gap: clamp(60px,10vw,170px); }
.service-detail-faq header { position: sticky; top: 120px; align-self: start; }
.service-detail-faq header h2 { margin-bottom: 24px; font-size: clamp(32px,3.4vw,52px); letter-spacing: -.045em; }
.service-detail-faq header > p:last-child { color: var(--service-muted); font-size: 13px; line-height: 2; }
.service-faq-list { border-top: 1px solid var(--service-line); }
.service-faq-list details { border-bottom: 1px solid var(--service-line); }
.service-faq-list summary { position: relative; display: grid; grid-template-columns: 38px minmax(0,1fr) 22px; gap: 18px; align-items: center; min-height: 106px; padding: 24px 0; cursor: pointer; font-size: 15px; font-weight: 700; line-height: 1.7; list-style: none; }
.service-faq-list summary::-webkit-details-marker { display: none; }
.service-faq-list summary span, .service-faq-list details > div > span { color: var(--service-red); font-family: var(--service-serif); font-size: 16px; font-style: italic; }
.service-faq-list summary i { position: relative; width: 18px; height: 18px; }
.service-faq-list summary i::before, .service-faq-list summary i::after { position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background: var(--service-ink); content: ""; transition: transform .3s ease; }
.service-faq-list summary i::after { transform: rotate(90deg); }
.service-faq-list details[open] summary i::after { transform: rotate(0); }
.service-faq-list details > div { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 18px; padding: 0 40px 30px 0; }
.service-faq-list details > div p { margin-bottom: 0; color: var(--service-muted); font-size: 13px; line-height: 2; }

/* Motion is progressive enhancement: content stays visible without JS. */
.service-motion-ready .service-experience [data-service-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .75s cubic-bezier(.2,.8,.2,1), transform .75s cubic-bezier(.2,.8,.2,1); }
.service-motion-ready .service-experience [data-service-reveal].is-service-visible { opacity: 1; transform: none; }

@keyframes serviceOrbit { to { transform: rotate(360deg); } }
@keyframes serviceOrbitReverse { to { transform: rotate(-360deg); } }
@keyframes serviceMapOrbit { to { transform: rotate(360deg); } }
@keyframes serviceMapOrbitReverse { to { transform: rotate(-360deg); } }
@keyframes serviceMapTrace { from { opacity: .25; transform: translate3d(-6%,10px,0) rotate(-14deg); } to { opacity: .75; transform: translate3d(12%,-18px,0) rotate(-10deg); } }
@keyframes serviceAudiencePulse { 0%,100% { transform: translateX(-50%) scale(.82); opacity: .65; } 50% { transform: translateX(-50%) scale(1.2); opacity: 1; } }
@keyframes serviceStrengthRoute { to { stroke-dashoffset: -110; } }
@keyframes serviceStrengthFloat { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,-5px,0); } }

@media (max-width: 1180px) {
  .service-overview-hero__grid, .service-detail-hero__grid { grid-template-columns: minmax(0,1fr) minmax(350px,.78fr); gap: 54px; }
  .service-overview-hero__title { font-size: clamp(40px,4.2vw,54px); }
  .service-detail-hero__copy h1 { font-size: clamp(40px,4.35vw,52px); }
  .service-stage-card { grid-template-columns: 1fr; }
  .service-stage-card__media { min-height: 190px; }
  .service-partners__links > a { grid-template-columns: 130px minmax(180px,.55fr) minmax(0,1fr) 20px; }
  .service-process-line { grid-template-columns: repeat(3,1fr); }
  .service-process-line li:nth-child(3) { border-right: 0; }
  .service-process-line li:nth-child(-n+3) { border-bottom: 1px solid var(--service-line-light); }
  .service-process-line li:nth-child(3)::after { content: none; }
  .service-price-note { grid-template-columns: 130px minmax(240px,.7fr) minmax(0,1fr); }
  .service-price-note a { grid-column: 2 / -1; justify-self: start; }
}

@media (max-width: 1120px) {
  .service-problem-card__title-line { display: block; white-space: nowrap; }
}

@media (max-width: 960px) {
  .service-experience__section-head { grid-template-columns: 1fr; gap: 28px; align-items: start; }
  .service-overview-hero { min-height: auto; }
  .service-overview-hero__grid { grid-template-columns: 1fr; }
  .service-overview-hero__visual { width: min(100%,580px); justify-self: center; }
  .service-overview-proof { grid-template-columns: repeat(2,1fr); }
  .service-overview-proof > div:nth-child(2) { border-right: 0; }
  .service-overview-proof > div:nth-child(-n+2) { border-bottom: 1px solid var(--service-line); }
  .service-problem-card { min-height: 250px; }
  .service-stage { grid-template-columns: 1fr; gap: 38px; }
  .service-stage__head { display: grid; grid-template-columns: 90px minmax(180px,.6fr) minmax(0,1fr); gap: 20px; align-items: start; }
  .service-stage__number { position: static; grid-row: 1 / span 2; }
  .service-stage__label { grid-column: 2 / -1; }
  .service-stage__head h3 { grid-column: 2; }
  .service-stage__head > p:last-child { grid-column: 3; }
  .service-partners__grid, .service-why__grid, .service-detail-strength__grid, .service-detail-faq__grid { grid-template-columns: 1fr; }
  .service-why__copy, .service-detail-strength__intro, .service-detail-faq header { position: static; }
  .service-consultation__link { grid-template-columns: 1fr auto; }
  .service-consultation__link > p { grid-row: 2; }
  .service-consultation__button { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .service-detail-hero__grid { grid-template-columns: 1fr; }
  .service-detail-hero__visual { width: min(100%,640px); justify-self: end; }
  .service-detail-hero__image { aspect-ratio: 16 / 10; }
  .service-detail-hero__diagram { left: 28px; }
  .service-detail-nav { overflow: visible; grid-template-columns: repeat(5,minmax(0,1fr)); }
  .service-detail-nav a { min-width: 0; padding-right: 8px; padding-left: 8px; }
  .service-detail-issues__grid { grid-template-columns: 1fr; }
  .service-detail-issues__grid article { display: grid; grid-template-columns: 60px minmax(220px,.6fr) minmax(0,1fr); gap: 26px; align-items: start; min-height: 0; border-right: 0; border-bottom: 1px solid var(--service-line); }
  .service-detail-issues__grid article:last-child { border-bottom: 0; }
  .service-detail-issues__grid article > span, .service-detail-issues__grid h3 { margin-bottom: 0; }
  .service-audience-map { grid-template-columns: repeat(2,1fr); grid-template-rows: auto repeat(2,auto); }
  .service-audience-map::before, .service-audience-map::after { content: none; }
  .service-audience-map__center { grid-column: 1 / -1; grid-row: 1; margin: 52px auto; }
  .service-audience-map__card { min-height: 230px; }
  .service-audience-map__card--1, .service-audience-map__card--2 { grid-row: 2; }
  .service-audience-map__card--3, .service-audience-map__card--4 { grid-row: 3; }
  .service-audience-map__card--1, .service-audience-map__card--3 { grid-column: 1; }
  .service-audience-map__card--2, .service-audience-map__card--4 { grid-column: 2; }
  .service-audience-map__card--1, .service-audience-map__card--3 { border-left: 0; }
  .service-audience-map__card--2, .service-audience-map__card--4 { border-left: 1px solid var(--service-line); }
  .service-scope-table { grid-template-columns: repeat(2,1fr); }
  .service-scope-table article { min-height: 320px; }
  .service-scope-table article:nth-child(2) { border-right: 0; }
  .service-scope-table article:nth-child(-n+2) { border-bottom: 1px solid var(--service-line); }
  .service-evidence__grid { grid-template-columns: 1fr; }
  .service-overview-evidence__layout { grid-template-columns: 1fr; }
  .service-overview-voice > a { min-height: 430px; }
}

@media (max-width: 720px) {
  .service-experience__eyebrow { margin-bottom: 17px; font-size: 11px; }
  .service-experience__section-head { margin-bottom: 38px; }
  .service-experience__section-head h2 { font-size: clamp(27px,8vw,38px); line-height: 1.45; }
  .service-heading__break--mobile { display: block; }
  .service-experience__section-head > p { font-size: 13px; line-height: 1.9; }
  .service-experience__actions { align-items: stretch; flex-direction: column; gap: 12px; }
  .service-experience__button { width: 100%; }
  .service-overview-hero, .service-detail-hero { padding-top: 112px; }
  .service-overview-hero__grid { min-height: 0; gap: 30px; }
  .service-overview-hero__title { margin-bottom: 24px; font-size: clamp(35px,9.5vw,42px); line-height: 1.3; }
  .service-overview-hero__mobile-break { display: block; }
  .service-overview-hero__lead, .service-detail-hero__lead { margin-bottom: 28px; font-size: 14px; line-height: 1.95; }
  .service-overview-hero .breadcrumb, .service-detail-hero .breadcrumb { margin-top: 32px; }
  .service-overview-hero__visual { aspect-ratio: 1 / 1.03; }
  .service-overview-hero__center { width: 112px; height: 112px; }
  .service-overview-hero__center strong { font-size: 26px; }
  .service-overview-hero__node { padding: 6px 8px; font-size: 9px; }
  .service-overview-proof { margin-top: 44px; }
  .service-overview-proof > div { min-height: 105px; padding: 20px 15px; }
  .service-overview-proof dd strong { font-size: 30px; }
  .service-overview-proof__note dd { font-size: 10px; }
  .service-problems__grid { grid-template-columns: 1fr; }
  .service-problem-card, .service-problem-card:nth-child(even) { grid-template-columns: 40px minmax(0,1fr) 18px; min-height: 0; padding: 28px 4px 28px 0; border-right: 0; }
  .service-problem-card h3 { font-size: clamp(17px,4.6vw,18px); line-height: 1.65; }
  .service-problem-card__title-line { display: block; white-space: nowrap; }
  .service-problem-card p { font-size: 12px; }
  .service-stage { padding: 52px 0; }
  .service-stage__head { display: block; }
  .service-stage__number { float: right; }
  .service-stage__items { grid-template-columns: 1fr; }
  .service-stage-card { grid-template-columns: 42% 58%; min-height: 260px; }
  .service-stage-card__media { min-height: 100%; }
  .service-stage-card__body { padding: 22px 18px 18px; }
  .service-stage-card__body > p { font-size: 11px; }
  .service-stage-card ul { display: none; }
  .service-overview-works { grid-template-columns: 1fr; }
  .service-overview-work { display: grid; grid-template-columns: 38% minmax(0,1fr); }
  .service-overview-work__media { height: 100%; min-height: 250px; aspect-ratio: auto; }
  .service-overview-work__body { min-height: 250px; }
  .service-overview-evidence__actions { flex-direction: column; gap: 12px; }
  .service-overview-evidence__actions a { width: 100%; }
  .service-partners__links > a { grid-template-columns: 1fr 20px; gap: 12px; min-height: 0; padding: 28px 4px; }
  .service-partners__links > a > span, .service-partners__links h3, .service-partners__links p { grid-column: 1; }
  .service-partners__links i { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
  .service-why__steps li { grid-template-columns: 74px minmax(0,1fr); gap: 18px; }
  .service-why__steps p { grid-column: 2; }
  .service-consultation__link { display: flex; min-height: 0; flex-direction: column; align-items: stretch; padding-top: 36px !important; padding-bottom: 36px !important; }
  .service-consultation h2 { font-size: clamp(27px,8vw,38px); }
  .service-consultation__button { width: 100%; margin-top: 6px; }
  .service-detail-hero__copy h1 { font-size: clamp(36px,10.5vw,50px); line-height: 1.35; }
  .service-detail-hero__note { padding: 13px; }
  .service-detail-hero__image { aspect-ratio: 4 / 3.25; }
  .service-detail-hero__diagram { position: relative; right: auto; bottom: auto; left: auto; grid-template-columns: repeat(2,1fr); }
  .service-detail-hero__diagram span:nth-child(2) { border-right: 0; }
  .service-detail-hero__diagram span:nth-child(-n+2) { border-bottom: 1px solid var(--service-line); }
  .service-detail-nav { margin-top: 48px; }
  .service-detail-nav { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service-detail-nav a { border-bottom: 1px solid var(--service-line); }
  .service-detail-nav a:nth-child(2n) { border-right: 0; }
  .service-detail-nav a:last-child { grid-column: 1 / -1; border-right: 0; border-bottom: 0; }
  .service-detail-issues__grid article { display: block; padding: 28px 4px; }
  .service-detail-issues__grid article > span { margin-bottom: 22px; }
  .service-detail-issues__grid h3 { margin-bottom: 16px; }
  .service-audience-map { display: block; border-bottom: 0; }
  .service-audience-map__center { width: 164px; height: 164px; margin: 44px auto 52px; }
  .service-audience-map__card { min-height: 0; padding: 30px 22px; border-right: 0; border-bottom: 1px solid var(--service-line); border-left: 0; }
  .service-detail-audiences__note { align-items: flex-start; flex-direction: column; gap: 8px; }
  .service-change-board { grid-template-columns: 1fr; gap: 0; }
  .service-change-board__item { min-height: 0; padding: 32px 26px; }
  .service-change-board__item > p { margin-bottom: 30px; }
  .service-change-board__arrow { padding: 10px 0; transform: rotate(90deg); }
  .service-detail-strength__list article { grid-template-columns: 48px minmax(0,1fr); padding: 32px 0; }
  .service-detail-strength__list-head { grid-template-columns: 1fr; gap: 4px; align-content: center; min-height: 68px; }
  .service-strength-blueprint { margin-top: 34px; aspect-ratio: 1.28 / 1; }
  .service-strength-blueprint__node { min-width: 82px; min-height: 38px; gap: 8px; padding: 5px 8px; font-size: 10px; }
  .service-scope-table { grid-template-columns: 1fr; }
  .service-scope-table article { min-height: 0; padding: 28px 20px; border-right: 0; border-bottom: 1px solid var(--service-line); }
  .service-scope-table article:last-child { border-bottom: 0; }
  .service-scope-table__number { margin-bottom: 30px; }
  .service-detail-fit__grid { grid-template-columns: 1fr; }
  .service-detail-fit__card { min-height: 0; padding: 36px 24px; }
  .service-detail-fit__card + .service-detail-fit__card { border-top: 1px solid var(--service-line); border-left: 0; }
  .service-process-line { grid-template-columns: 1fr; }
  .service-process-line li { min-height: 0; padding: 28px 16px; border-right: 0; border-bottom: 1px solid var(--service-line-light); }
  .service-process-line li:last-child { border-bottom: 0; }
  .service-process-line li:not(:last-child)::after { top: auto; right: 15px; bottom: -10px; transform: rotate(90deg); }
  .service-process-line span { margin-bottom: 28px; }
  .service-price-note { grid-template-columns: 1fr; gap: 18px; }
  .service-price-note a { grid-column: auto; }
  .service-evidence__voice { min-height: 360px; }
  .service-evidence__columns-head { align-items: end; }
  .service-evidence__column-list > a { grid-template-columns: 68px minmax(0,1fr) 16px; gap: 12px; }
  .service-detail-faq header { margin-bottom: 38px; }
  .service-faq-list summary { grid-template-columns: 28px minmax(0,1fr) 18px; gap: 12px; font-size: 14px; }
  .service-faq-list details > div { grid-template-columns: 28px minmax(0,1fr); gap: 12px; padding-right: 0; }
}

@media (max-width: 480px) {
  .service-stage-card { grid-template-columns: 1fr; }
  .service-stage-card__media { min-height: 190px; aspect-ratio: 16 / 9; }
  .service-overview-work { display: flex; }
  .service-overview-work__media { min-height: 0; aspect-ratio: 4 / 3; }
  .service-overview-work__body { min-height: 280px; }
  .service-overview-voice > a { min-height: 480px; padding: 34px 26px; }
  .service-stage-card__body { min-height: 230px; }
  .service-overview-hero__node--two { right: -3%; }
  .service-overview-hero__node--three { right: -2%; }
}

@media (prefers-reduced-motion: reduce) {
  .service-overview-hero__orbit { animation: none !important; }
  .service-map__orbit, .service-map__trace { animation: none !important; }
  .service-audience-map__center i { animation: none !important; }
  .service-strength-blueprint__route, .service-strength-blueprint__node { animation: none !important; }
  .service-motion-ready .service-experience [data-service-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
  .service-experience *, .service-experience *::before, .service-experience *::after { scroll-behavior: auto !important; }
}
