/* Japanese phrase boundaries are defined in typography-phrases.js after reading the copy. */
html {scrollbar-gutter:stable}
.jp-typeset {
  word-break:keep-all;
  overflow-wrap:normal;
  line-break:strict;
  white-space:normal;
  text-wrap:wrap;
}
jp-run {display:inline;min-width:0;flex-shrink:1;white-space:normal;word-break:keep-all;overflow-wrap:normal;line-break:strict}
jp-unit {display:inline;white-space:nowrap;word-break:normal;overflow-wrap:normal}
/* These are optional typographic refinements; they do not decide phrase boundaries. */
@supports (text-wrap:pretty) {
  p.jp-typeset,li.jp-typeset,td.jp-typeset,dd.jp-typeset {text-wrap:pretty}
}
/* URLs and customer-supplied file names may be wider than the available column. */
a[href^="mailto:"],.contact-photo-list {overflow-wrap:anywhere;word-break:normal}
.atelier-frame-copy {flex:1;min-width:0}
.jp-typeset .jp-typeset {word-break:keep-all;overflow-wrap:normal}
/* Separate complete statements without pinning other copy to a fixed line. */
.jp-typeset br[data-sentence-break] {display:initial!important}
.jp-linked-phrase {display:inline-block;white-space:nowrap}
.jp-linked-phrase a,.jp-linked-phrase jp-run {white-space:nowrap}
.section .split-content>h2 {font-size:clamp(28px,2.6vw,34px)}
.section .split-content>.knowledge-summary-heading {font-size:clamp(23px,2.1vw,28px)}
@media(max-width:360px){.atelier-ai-grid h3{font-size:19px}.atelier-ai-grid>a{padding-inline:20px}}
@media(max-width:360px){.cta-band h2{font-size:21px}}
@media(max-width:360px){
  .project-card {padding-inline:18px}
  .explain-figure {padding-inline:14px}
  .system-panels>section {padding-inline:14px}
  .agent-usage {padding-inline:12px}
  .contact-line-panel {padding-inline:12px}
}

/* The mobile card inherits align-items:start from the wider grid layout. */
@media (max-width:850px) {
  .service-card {align-items:stretch}
}
