/* Service and sector pages share the homepage edges and editorial rhythm. */
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) {
  --service-width: min(1632px, calc(100% - 48px));
  --service-gap: clamp(24px, 3vw, 48px);
}
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) :is(.tr-container, .sx-shell) {
  width: var(--service-width);
  inline-size: var(--service-width);
  max-width: none;
  max-inline-size: none;
  margin-inline: auto;
  padding-inline: 0;
}
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-phero {
  padding-block: 140px 56px;
  border: 0;
  background: radial-gradient(ellipse at 10% 10%, #e9dff9 0, transparent 55%), var(--jf-paper);
}
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-phero::after { display: none; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-crumbs { margin-bottom: 32px; }
.jf-service-intro { display: grid; gap: var(--service-gap); align-items: center; }
.jf-service-intro--with-photo { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
.jf-service-intro__copy { min-width: 0; max-width: 720px; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-phero h1 {
  font-size: clamp(30px, 3.1vw, 46px);
  line-height: 1.65;
  max-inline-size: 24ch;
  text-wrap: balance;
}
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-phero__lead {
  font-size: clamp(16px, 1.3vw, 18px);
  line-height: 1.95;
  margin-block: 20px 0;
  max-inline-size: 55ch;
}
.jf-service-intro__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 24px; margin-top: 28px; }
.jf-service-intro__actions .sj-button { min-height: 50px; font-size: 14px; padding: 12px 22px; }
.jf-service-intro__details { display: inline-flex; align-items: center; gap: 12px; color: var(--jf-purple); font-size: 14px; min-height: 44px; }
.jf-service-intro__details svg { width: 20px; height: 20px; }
.jf-service-intro__details:focus-visible { outline: 3px solid var(--jf-purple); outline-offset: 6px; border-radius: 4px; }
.jf-service-intro__photo { width: 100%; margin: 0; border: 1px solid var(--jf-line); border-radius: 24px; box-shadow: 0 18px 48px #1c142910; }
#service-content { scroll-margin-top: 112px; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-block { padding-block: 52px; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-block + .tr-block { border: 0; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-block__head { margin-bottom: 28px; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-block__head .t-label { margin-bottom: 12px; color: var(--jf-purple); font-size: 13px; opacity: 1; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-block__head h2 { font-size: clamp(24px, 2.2vw, 32px); line-height: 1.75; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .jf-service-context { padding-top: 0; }
.jf-service-context__panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--service-gap); padding: clamp(24px, 3vw, 40px); background: var(--jf-white); border: 1px solid var(--jf-line); border-radius: 24px; }
.jf-service-context__panel > :only-child { grid-column: 1 / -1; }
.jf-service-context__panel > div + div { border-inline-start: 1px solid var(--jf-line); padding-inline-start: var(--service-gap); }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .jf-service-context__panel .t-label { display: block; color: var(--jf-purple); font-size: 13px; margin-bottom: 14px; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .jf-service-context__panel h2 { font-size: clamp(21px, 1.8vw, 27px); line-height: 1.8; margin: 0; color: var(--jf-ink); }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .jf-service-context__panel p { font-size: 16px; line-height: 2; margin: 0; color: var(--jf-muted); }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) :is(.tr-cards, .tr-steps) { gap: 20px; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) :is(.tr-tile, .tr-step) { border-radius: 20px; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-tile { transition: border-color .2s, box-shadow .2s; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) a.tr-tile:hover { background: #fff; border-color: #b89ae8; box-shadow: 0 12px 28px #1c14290b; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .jf-service-card-copy { padding: 24px; gap: 12px; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) :is(.tr-tile__desc, .tr-index__desc, .tr-faq__a p) { opacity: 1; font-size: 15px; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-index__go { opacity: 1; color: var(--jf-purple); translate: none; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .jf-service-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; border: 0; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .jf-service-features .tr-index__row { grid-template-columns: 36px minmax(0, 1fr); gap: 18px; align-items: start; padding: 22px; border: 1px solid var(--jf-line); border-radius: 16px; background: var(--jf-white); }
.jf-service-features .tr-index__row > span:last-child { display: none; }
.jf-service-features .tr-index__num { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: #f0e9fa; color: var(--jf-purple); }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .jf-service-features .tr-index__title { font-size: 17px !important; line-height: 1.9; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-tag { padding: 10px 16px; border-radius: 10px; background: var(--jf-white); border-color: var(--jf-line); color: var(--jf-ink); }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-step { padding: 24px; gap: 18px; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-step__t { line-height: 1.9; }
.jf-service-faq-layout { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: var(--service-gap); align-items: start; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-faq { border: 1px solid var(--jf-line); border-radius: 20px; padding-inline: 24px; background: var(--jf-white); }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-faq__item { border-color: var(--jf-line); }
:is(.jf-service-page, .jf-sector-page) .tr-faq__item:last-child { border-bottom: 0; }
:is(.jf-service-page, .jf-sector-page) .tr-faq__q { padding-block: 24px; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-faq__label { font-size: 16px; line-height: 1.85; }
:is(.jf-service-page, .jf-sector-page) .pc-table-wrap { border-radius: 20px; }
:is(.jf-service-page, .jf-sector-page) .pc-table { text-align: start; }
:is(.jf-service-page, .jf-sector-page) .pc-help { border-radius: 16px; padding: 24px; }
body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .sx-tool-section { padding: 52px 0; margin: 0; border: 0; background: var(--jf-paper); }
:is(.jf-service-page, .jf-sector-page) .sx-tool-shell { border-radius: 24px; padding: clamp(24px, 3vw, 40px); gap: var(--service-gap); grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); box-shadow: none; }
:is(.jf-service-page, .jf-sector-page) .sx-tool-shell > * { min-width: 0; }
/* A compact two-column catalog keeps each customer need beside its photograph. */
body.jf-brand-2026.tr-sui :is(.jf-service-page--catalog, .jf-sector-page--catalog) .tr-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; border: 0; }
body.jf-brand-2026.tr-sui :is(.jf-service-page--catalog, .jf-sector-page--catalog) .tr-index__row { grid-template-columns: minmax(0, 1fr) 20px; gap: 20px; padding: 24px; border: 1px solid var(--jf-line); border-radius: 20px; background: var(--jf-white); transition: border-color .2s, box-shadow .2s; }
body.jf-brand-2026.tr-sui :is(.jf-service-page--catalog, .jf-sector-page--catalog) .tr-index__row[data-service-photo-row] { grid-template-columns: 128px minmax(0, 1fr) 20px; }
:is(.jf-service-page--catalog, .jf-sector-page--catalog) .tr-index__num { display: none; }
:is(.jf-service-page--catalog, .jf-sector-page--catalog) [data-service-photo-row] .jf-service-photo { width: 128px; border-radius: 12px; }
body.jf-brand-2026.tr-sui :is(.jf-service-page--catalog, .jf-sector-page--catalog) .tr-index__row:hover { padding: 24px; background: #fff; border-color: #b89ae8; box-shadow: 0 12px 28px #1c14290b; }
body.jf-brand-2026.tr-sui :is(.jf-service-page--catalog, .jf-sector-page--catalog) .tr-index__title { font-size: 18px !important; line-height: 1.8; font-weight: 700; }
body.jf-brand-2026.tr-sui :is(.jf-service-page--catalog, .jf-sector-page--catalog) .tr-index__desc { font-size: 14px; line-height: 1.9; margin-top: 10px; }
@media (min-width: 1100px) {
  :is(.jf-service-page--catalog, .jf-sector-page--catalog) .tr-phero__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--service-gap); align-items: end; }
  :is(.jf-service-page--catalog, .jf-sector-page--catalog) .tr-phero__inner > :is(nav, .tr-phero__eyebrow) { grid-column: 1 / -1; }
}
@media (max-width: 1099px) {
  body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) { --service-width: calc(100% - 44px); }
  body.jf-brand-2026.tr-sui :is(.jf-service-page--catalog, .jf-sector-page--catalog) .tr-index { grid-template-columns: minmax(0, 1fr); }
  body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
  body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-phero { padding-block: 124px 36px; }
  .jf-service-intro--with-photo, .jf-service-faq-layout, :is(.jf-service-page, .jf-sector-page) .sx-tool-shell { grid-template-columns: minmax(0, 1fr); }
  .jf-service-intro__copy { max-width: none; }
  .jf-service-intro__photo { max-height: 480px; }
}
@media (max-width: 600px) {
  body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) { --service-width: calc(100% - 32px); --service-gap: 24px; }
  body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-phero { padding-block: 112px 32px; }
  body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-crumbs { font-size: 11px; margin-bottom: 24px; }
  body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-phero h1 { font-size: 28px; }
  .jf-service-intro__actions { gap: 12px; margin-top: 24px; }
  .jf-service-intro__actions .sj-button { padding-inline: 16px; font-size: 13px; }
  .jf-service-intro__details { font-size: 13px; }
  .jf-service-intro__photo, .jf-service-context__panel { border-radius: 18px; }
  body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-block { padding-block: 32px; }
  body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .jf-service-context { padding-top: 0; }
  .jf-service-context__panel { grid-template-columns: minmax(0, 1fr); padding: 24px; }
  .jf-service-context__panel > div + div { padding: 24px 0 0; border-inline-start: 0; border-top: 1px solid var(--jf-line); }
  body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) :is(.tr-cards, .jf-service-features) { grid-template-columns: minmax(0, 1fr); }
  body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .jf-service-features .tr-index__row { padding: 18px; gap: 12px; }
  body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-faq { padding-inline: 18px; }
  body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) .tr-faq__label { font-size: 15px; }
  body.jf-brand-2026.tr-sui :is(.jf-service-page--catalog, .jf-sector-page--catalog) .tr-index__row,
  body.jf-brand-2026.tr-sui :is(.jf-service-page--catalog, .jf-sector-page--catalog) .tr-index__row:hover { padding: 18px; gap: 14px; }
  body.jf-brand-2026.tr-sui :is(.jf-service-page--catalog, .jf-sector-page--catalog) .tr-index__row[data-service-photo-row] { grid-template-columns: 88px minmax(0, 1fr); }
  :is(.jf-service-page--catalog, .jf-sector-page--catalog) [data-service-photo-row] .jf-service-photo { width: 88px; }
  :is(.jf-service-page--catalog, .jf-sector-page--catalog) [data-service-photo-row] .tr-index__go { display: none; }
  body.jf-brand-2026.tr-sui :is(.jf-service-page--catalog, .jf-sector-page--catalog) .tr-index__title { font-size: 16px !important; }
  body.jf-brand-2026.tr-sui :is(.jf-service-page--catalog, .jf-sector-page--catalog) .tr-index__desc { font-size: 13px; }
  :is(.jf-service-page, .jf-sector-page) .sx-tool-shell { padding: 18px; border-radius: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  body.jf-brand-2026.tr-sui :is(.jf-service-page, .jf-sector-page) :is(.tr-tile, .tr-index__row) { transition: none; }
}
