/* ---- Entreprises / Business (recette Alain 2026-10-08), gabarit « KH — Page professionnelle » (page-templates/kh-b2b.php).
   Tout le texte est dans le contenu de la page, en blocs natifs (PC57) ; ces règles ne visent que des classes de blocs
   (éditeur : Avancé > Classe(s) CSS additionnelle(s)), jamais des positions :
   kh-b2b-hero (Média et texte de l'ouverture), kh-b2b-eyebrow (le H1), kh-b2b-title, kh-b2b-lead, kh-b2b-actions,
   kh-b2b-band et kh-b2b-facts (la bande des trois repères), kh-b2b-section, kh-b2b-offers et kh-b2b-offer (les deux
   offres, numérotées 一 二 par la feuille, avec le chiffre 1 2 en dessous), kh-b2b-note, kh-b2b-promise (la phrase sous le
   titre de « Comment ça se passe »), kh-b2b-path et kh-b2b-path-lead (l'intitulé d'un parcours et sa phrase, numérotés
   一 1, 二 2), kh-b2b-steps (quatre ou cinq étapes, 一 1 à 五 5 ; le repère de paiement en italique), kh-b2b-devis,
   kh-b2b-form, kh-b2b-form__grid, kh-b2b-form__aside, kh-b2b-more.
   Collectivités / Institutions (Alain, 2026-10-09, PC63) : même gabarit, l'image de l'ouverture à gauche, puis
   la mention « Mise en situation » sur la photo (inc/staged.php depuis le 2026-10-10), kh-b2b-publics (les quatre publics, cartes des offres) et kh-b2b-territory
   (« Et si votre territoire avait ses propres koinobori ? »), puis « Dans la presse » (PC77-PC78, Alain 2026-10-12) :
   kh-b2b-refs (la ligne sous le bouton de l'ouverture), kh-b2b-press, kh-b2b-press-eyebrow, kh-b2b-press-lead,
   kh-b2b-press-list, et par article kh-b2b-press-item, kh-b2b-press-place (la commune, titre de la carte),
   kh-b2b-press-what, kh-b2b-press-title, kh-b2b-press-source, kh-b2b-press-link.
   Formulaire : les champs à demi-largeur portent la classe kh-half (Fluent Forms, Classe du conteneur, PC58). ---- */
.kh-b2b {
  --kh-b2b-gutter: clamp(20px, 4vw, 48px);
  --kh-b2b-max: 1200px;
  color: var(--kh-sumi);
}
.kh-b2b > * { margin-block: 0; }
.kh-b2b :where(h1, h2, h3, p, ul, ol) { margin-block-start: 0; }

/* Ouverture : le texte à gauche, aligné sur la colonne de la page ; l'image à droite, à fond perdu, recadrée sur les koi. */
.kh-b2b-page .kh-b2b-hero.wp-block-media-text {
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  min-height: clamp(32rem, 44vw, 40rem);
  margin: 0;
  container-type: inline-size;
}
.kh-b2b-hero > .wp-block-media-text__content {
  align-self: center;
  padding: clamp(3rem, 6vw, 5rem) clamp(2rem, 4vw, 4rem) clamp(3rem, 6vw, 5rem) max(var(--kh-b2b-gutter), calc((100vw - var(--kh-b2b-max)) / 2));
  /* Same left edge as the sections below: half of what the hero's width leaves beyond the column (scrollbar excluded). */
  padding-left: max(var(--kh-b2b-gutter), calc((100cqw - var(--kh-b2b-max)) / 2));
}
.kh-b2b-hero > .wp-block-media-text__media { align-self: stretch; height: 100%; margin: 0; }
.kh-b2b-hero > .wp-block-media-text__media img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 72% 50%; }
/* Collectivités : l'image à gauche (pour ne pas confondre avec Entreprises, Alain 2026-10-09) ; le texte rejoint la
   colonne par la droite ; la ruelle recadrée sur les koi, au-dessus de la rue. */
.kh-b2b-page .kh-b2b-hero.wp-block-media-text.kh-b2b-hero--left { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.kh-b2b-hero--left > .wp-block-media-text__content {
  padding-left: clamp(2rem, 4vw, 4rem);
  padding-right: max(var(--kh-b2b-gutter), calc((100cqw - var(--kh-b2b-max)) / 2));
}
.kh-b2b-hero--left > .wp-block-media-text__media img { object-position: 50% 30%; }
.kh-b2b-eyebrow {
  margin: 0 0 1.1rem;
  color: var(--kh-vermillon);
  font: 400 .78rem/1.4 var(--kh-font-ui);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.kh-b2b-title {
  margin: 0 0 1.25rem;
  font: italic 400 clamp(2.6rem, 4.4vw, 3.8rem)/1.05 var(--kh-font-display);
}
.kh-b2b-title::after {
  content: "";
  display: block;
  width: min(12rem, 60%);
  height: 1rem;
  margin-top: .8rem;
  background: url('../images/trait-pinceau-vermillon.webp') left center / contain no-repeat;
}
.kh-b2b-lead { max-width: 32rem; margin: 0 0 2rem; font: 400 1.0625rem/1.75 var(--kh-font-body); }
.kh-b2b-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.kh-b2b-actions > * { margin: 0; }
.kh-b2b-actions .wp-block-button__link {
  display: inline-flex;
  min-height: 3.25rem;
  align-items: center;
  padding: .95rem 1.5rem;
  border-radius: 0;
  background: var(--kh-vermillon);
  color: var(--kh-white);
  font: 400 .875rem/1 var(--kh-font-ui);
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
}
.kh-b2b-actions .wp-block-button__link:hover { background: var(--kh-sumi); }
.kh-b2b a:not(.wp-block-button__link) { color: var(--kh-sumi); text-decoration-thickness: 1px; text-underline-offset: 5px; }
.kh-b2b a:not(.wp-block-button__link):hover { color: var(--kh-vermillon); }
.kh-b2b :is(a, button):focus-visible { outline: 2px solid var(--kh-vermillon); outline-offset: 3px; }

/* Les trois repères, sur une bande de papier. Titre et texte séparés par un retour à la ligne dans le bloc. */
.kh-b2b-band { border-block: 1px solid var(--kh-sumi-20); background: rgb(255 253 252 / .5); }
.kh-b2b .kh-b2b-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem clamp(2rem, 6vw, 6rem);
  box-sizing: border-box;
  max-width: calc(var(--kh-b2b-max) + 2 * var(--kh-b2b-gutter));
  margin: 0 auto;
  padding: 1.75rem var(--kh-b2b-gutter);
  list-style: none;
  color: var(--kh-sumi-70);
  font: 400 .95rem/1.5 var(--kh-font-body);
}
.kh-b2b-facts li { margin: 0; }
.kh-b2b-facts strong { color: var(--kh-sumi); font: 500 .78rem/1.3 var(--kh-font-ui); letter-spacing: .12em; text-transform: uppercase; }

/* Sections de la colonne. */
.kh-b2b .kh-b2b-section {
  box-sizing: border-box;
  max-width: calc(var(--kh-b2b-max) + 2 * var(--kh-b2b-gutter));
  margin: 0 auto;
  padding: clamp(3.5rem, 7vw, 5.5rem) var(--kh-b2b-gutter) 0;
}
.kh-b2b-section h2 {
  margin: 0 0 2rem;
  text-align: center;
  font: italic 400 clamp(2rem, 3.4vw, 2.8rem)/1.1 var(--kh-font-display);
}

/* Les deux offres, numérotées par la feuille (一, 二). */
.kh-b2b-offers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); counter-reset: kh-b2b-offer; }
.kh-b2b-offers > * { margin: 0; }
.kh-b2b-offer {
  position: relative;
  padding: 2rem 2rem 2rem 4.5rem;
  border: 1px solid var(--kh-sumi-20);
  background: rgb(255 253 252 / .55);
  counter-increment: kh-b2b-offer;
}
.kh-b2b-offer::before {
  content: counter(kh-b2b-offer, cjk-ideographic);
  position: absolute;
  top: 1.9rem;
  left: 1.5rem;
  color: var(--kh-vermillon);
  font: 400 1.8rem/1 var(--kh-font-kanji);
}
.kh-b2b-offer::after {
  content: counter(kh-b2b-offer);
  position: absolute;
  top: 4rem;
  left: 1.55rem;
  color: var(--kh-sumi-70);
  font: 400 .8rem/1 var(--kh-font-ui);
  letter-spacing: .08em;
}
.kh-b2b-offer h3 { margin: 0 0 .75rem; font: 500 .95rem/1.3 var(--kh-font-ui); letter-spacing: .12em; text-transform: uppercase; }
.kh-b2b-offer p { margin: 0 0 .9rem; font: 400 1.0625rem/1.7 var(--kh-font-body); }
.kh-b2b-offer > :last-child { margin-bottom: 0; }
.kh-b2b-offer .kh-b2b-note { color: var(--kh-vermillon); font: 500 .8rem/1.4 var(--kh-font-ui); letter-spacing: .08em; text-transform: uppercase; }

/* Les étapes (一 1 à 五 5, Alain 2026-10-12) : autant de colonnes que d'étapes, quatre ou cinq ; le chiffre japonais en
   vermillon et, à côté, le chiffre que tout le monde lit. Le repère de paiement d'une étape est son dernier texte en
   italique (<em>), en gras s'il s'agit d'argent (<em><strong>), tous deux des formats de l'éditeur. */
.kh-b2b .kh-b2b-steps {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: kh-b2b-step;
}
/* A plain block (no flex column: a link or a word in bold inside the text would break the sentence): the payment
   mark is pinned to the bottom of the step, which stretches to the height of its row, so the marks line up. */
.kh-b2b-steps li {
  position: relative;
  margin: 0;
  padding: 3rem 0 2.9rem;
  border-top: 1px solid var(--kh-sumi-20);
  font: 400 1rem/1.65 var(--kh-font-body);
  counter-increment: kh-b2b-step;
}
.kh-b2b-steps li::before {
  content: counter(kh-b2b-step, cjk-ideographic);
  position: absolute;
  top: .8rem;
  left: 0;
  color: var(--kh-vermillon);
  font: 400 1.5rem/1 var(--kh-font-kanji);
}
.kh-b2b-steps li::after {
  content: counter(kh-b2b-step);
  position: absolute;
  top: 1.05rem;
  left: 2.1rem;
  color: var(--kh-sumi-70);
  font: 400 .8rem/1 var(--kh-font-ui);
  letter-spacing: .08em;
}
.kh-b2b-steps strong { font: 500 .8rem/1.3 var(--kh-font-ui); letter-spacing: .12em; text-transform: uppercase; }
/* The mark is the last italic of the step only: a word put in italics in the text stays in the text. */
.kh-b2b-steps li > em:last-child {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  color: var(--kh-sumi-70);
  font: 400 .72rem/1.3 var(--kh-font-ui);
  font-style: normal;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.kh-b2b-steps li > em:last-child::before { content: ""; display: block; width: 1.5rem; margin-bottom: .55rem; border-top: 1px solid currentColor; }
.kh-b2b-steps li > em:last-child strong { color: var(--kh-sumi); font: inherit; font-weight: 500; letter-spacing: inherit; }

/* La promesse sous le titre (« Vous ne payez rien avant d'avoir validé votre dessin. »). */
.kh-b2b .kh-b2b-promise { max-width: 40rem; margin: -1rem auto 2.75rem; text-align: center; font: italic 400 clamp(1.3rem, 2.2vw, 1.6rem)/1.35 var(--kh-font-display); }
/* Deux parcours (Entreprises, Collectivités) : « 一 1 Nos créations… », « 二 2 Un dessin créé pour vous ». */
.kh-b2b-how { counter-reset: kh-b2b-path; }
.kh-b2b .kh-b2b-how > .kh-b2b-path {
  display: flex;
  align-items: baseline;
  margin: 3rem 0 .35rem;
  text-align: left;
  font: 500 .85rem/1.3 var(--kh-font-ui);
  letter-spacing: .14em;
  text-transform: uppercase;
  counter-increment: kh-b2b-path;
}
.kh-b2b-how > .kh-b2b-path::before { content: counter(kh-b2b-path, cjk-ideographic); order: -2; margin-right: .5rem; color: var(--kh-vermillon); font: 400 1.2rem/1 var(--kh-font-kanji); letter-spacing: 0; }
.kh-b2b-how > .kh-b2b-path::after { content: counter(kh-b2b-path); order: -1; margin-right: .75rem; color: var(--kh-sumi-70); font: 400 .8rem/1 var(--kh-font-ui); letter-spacing: .08em; }
.kh-b2b .kh-b2b-how > h2 + .kh-b2b-path, .kh-b2b .kh-b2b-promise + .kh-b2b-path { margin-top: 0; }
.kh-b2b .kh-b2b-path-lead { margin: 0 0 1.5rem; color: var(--kh-sumi-70); font: italic 400 1.2rem/1.4 var(--kh-font-display); }
.kh-b2b-devis { max-width: 46rem; margin: 2.5rem auto 0; text-align: center; color: var(--kh-sumi-70); font: 400 1rem/1.6 var(--kh-font-body); }
.kh-b2b-devis + .kh-b2b-devis { margin-top: 1rem; }

/* « Et si votre territoire avait ses propres koinobori ? » : un paragraphe centré et son lien. */
.kh-b2b-territory p { max-width: 42rem; margin: 0 auto 1rem; text-align: center; font: 400 1.125rem/1.75 var(--kh-font-body); }
.kh-b2b-territory p:last-child { margin-bottom: 0; }

/* Le formulaire : l'invitation à gauche (elle accompagne la lecture), le formulaire à droite, sur une carte de papier. */
.kh-b2b .kh-b2b-form {
  margin-top: clamp(3.5rem, 7vw, 5.5rem);
  border-top: 1px solid var(--kh-sumi-20);
  background: rgb(255 253 252 / .4);
  scroll-margin-top: 90px;
}
.kh-b2b-form__grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: start;
  box-sizing: border-box;
  max-width: calc(var(--kh-b2b-max) + 2 * var(--kh-b2b-gutter));
  margin: 0 auto;
  padding: clamp(3.5rem, 7vw, 5.5rem) var(--kh-b2b-gutter);
}
.kh-b2b-form__grid > * { margin: 0; }
.kh-b2b-form__aside { position: sticky; top: 120px; }
.kh-b2b-form__aside h2 { margin: 0 0 1.25rem; font: italic 400 clamp(2rem, 3.4vw, 2.8rem)/1.1 var(--kh-font-display); }
.kh-b2b-form__aside p { margin: 0 0 1rem; font: 400 1.0625rem/1.75 var(--kh-font-body); }
.kh-b2b-page .kh-b2b-form .fluentform {
  margin: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--kh-sumi-20);
  background: rgb(255 253 252 / .85);
}
.kh-b2b-page .kh-enquiry-form .ff-el-group { margin-bottom: 1.1rem; }
.kh-b2b-page .kh-enquiry-form .ff-el-input--label label { color: var(--kh-sumi-70); font: 400 .72rem/1.3 var(--kh-font-ui); letter-spacing: .12em; text-transform: uppercase; }
.kh-b2b-page .kh-enquiry-form .ff-el-help-message { margin-top: .35rem; font: 400 .85rem/1.4 var(--kh-font-body); }
.kh-b2b-page .kh-enquiry-form .kh-form-privacy { margin: 0; color: var(--kh-sumi-70); font: 400 .85rem/1.5 var(--kh-font-body); }
/* Réponse de la vérification du SIRET (kh-b2b.js) : « Entreprise reconnue » en encre, une erreur en vermillon. */
.kh-b2b-page .kh-siret-status { margin: .4rem 0 0; font: 400 .85rem/1.4 var(--kh-font-ui); }
.kh-b2b-page .kh-siret-status:empty { display: none; }
.kh-b2b-page .kh-siret-status.is-error { color: var(--kh-vermillon); }
@media (min-width: 768px) {
  .kh-b2b-page .kh-enquiry-form fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.25rem; }
  .kh-b2b-page .kh-enquiry-form fieldset > * { grid-column: 1 / -1; }
  .kh-b2b-page .kh-enquiry-form fieldset > .kh-half { grid-column: auto; }
}

.kh-b2b .kh-b2b-more { margin: 0; padding: 2.5rem var(--kh-b2b-gutter) 4rem; text-align: center; font: 400 1rem/1.6 var(--kh-font-body); }

/* Tablette : étapes sur deux colonnes, le formulaire sous son invitation ; mobile : tout en une colonne, l'image d'abord. */
@media (max-width: 1023px) {
  .kh-b2b .kh-b2b-steps { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kh-b2b-steps { row-gap: 2rem; }
  .kh-b2b-steps li:nth-child(5) { grid-column: 1 / -1; }
  /* The form under its invitation: beside it, two fields per row would be too narrow. */
  .kh-b2b-form__grid { grid-template-columns: minmax(0, 1fr); }
  .kh-b2b-form__aside { position: static; max-width: 40rem; }
}
@media (max-width: 767px) {
  .kh-b2b-page .kh-b2b-hero.wp-block-media-text { grid-template-columns: 100%; min-height: 0; }
  .kh-b2b-hero > .wp-block-media-text__media { grid-row: 1; grid-column: 1; aspect-ratio: 3 / 2; height: auto; }
  .kh-b2b-hero > .wp-block-media-text__content { grid-row: 2; grid-column: 1; padding: 2rem var(--kh-b2b-gutter) 2.5rem; }
  .kh-b2b-page .kh-b2b-hero.wp-block-media-text.kh-b2b-hero--left { grid-template-columns: 100%; }
  .kh-b2b-hero--left > .wp-block-media-text__content { padding: 2rem var(--kh-b2b-gutter) 2.5rem; }
  .kh-b2b .kh-b2b-facts, .kh-b2b-offers, .kh-b2b .kh-b2b-steps, .kh-b2b-form__grid { grid-template-columns: minmax(0, 1fr); }
  .kh-b2b-offer { padding: 1.75rem 1.5rem 1.75rem 4rem; }
  .kh-b2b-offer::before { left: 1.25rem; }
  .kh-b2b-offer::after { left: 1.3rem; top: 3.85rem; }
  .kh-b2b-steps li:nth-child(5) { grid-column: auto; }
  .kh-b2b-form__aside { position: static; }
  .kh-b2b-page .kh-enquiry-form .ff-btn-submit { width: 100%; }
}

/* « Bon à savoir » de Sur-mesure (PC69, Alain 2026-10-10) : intertitre centré au-dessus des lignes centrées. */
.kh-b2b .kh-b2b-how > h3 { margin: clamp(2.25rem, 4vw, 3rem) 0 1rem; text-align: center; color: var(--kh-sumi); font: italic 400 clamp(1.35rem, 2.2vw, 1.6rem)/1.3 var(--kh-font-display); }

/* Bouton qui reste à portée de main (Alain, 2026-10-10 ; kh-b2b.js, setupFloat) : les mots du bouton de l'ouverture,
   vers le formulaire ; en bas à droite sur ordinateur, en bande en bas de l'écran sur téléphone. */
.kh-b2b-float { position: fixed; right: clamp(1rem, 2.5vw, 2rem); bottom: clamp(1rem, 2.5vw, 2rem); z-index: 90; padding: .95rem 1.5rem; background: var(--kh-vermillon); color: var(--kh-white); font: 400 .78rem/1 var(--kh-font-ui); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; box-shadow: 0 4px 14px rgb(26 20 16 / .14); opacity: 0; visibility: hidden; transform: translateY(.75rem); transition: opacity 250ms ease, transform 250ms ease, visibility 0s linear 250ms; }
.kh-b2b-float.is-visible { opacity: 1; visibility: visible; transform: none; transition: opacity 250ms ease, transform 250ms ease; }
.kh-b2b-float:is(:hover, :focus-visible) { background: var(--kh-sumi); color: var(--kh-white); }
.kh-b2b-float:focus-visible { outline: 2px solid var(--kh-vermillon); outline-offset: 3px; }
@media (max-width: 767px) {
  .kh-b2b-float { left: 0; right: 0; bottom: 0; padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom)); text-align: center; box-shadow: 0 -1px 0 rgb(26 20 16 / .08); }
}
@media (prefers-reduced-motion: reduce) { .kh-b2b-float, .kh-b2b-float.is-visible { transition: none; transform: none; } }

/* « Dans la presse » de Collectivités (PC77, mise en avant PC78, Alain 2026-10-12) : juste après la bande des repères,
   annoncée sous le bouton de l'ouverture (kh-b2b-refs) ; « Dans la presse » en petit au-dessus du titre, trois cartes
   de papier comme les offres : la commune en grand (le titre de la carte), ce qu'elle a choisi, puis le titre de
   l'article, le journal et la date, le lien en bas. Pas de photo : celles des journaux ne sont pas à nous. */
.kh-b2b .kh-b2b-refs { max-width: 32rem; margin: 1.25rem 0 0; color: var(--kh-sumi-70); font: 400 .95rem/1.55 var(--kh-font-body); }
.kh-b2b-press { scroll-margin-top: 90px; }
.kh-b2b .kh-b2b-press-eyebrow { margin: 0 0 .75rem; text-align: center; color: var(--kh-sumi-70); font: 500 .75rem/1.3 var(--kh-font-ui); letter-spacing: .16em; text-transform: uppercase; }
.kh-b2b .kh-b2b-press-lead { max-width: 42rem; margin: -1rem auto 2.5rem; text-align: center; color: var(--kh-sumi-70); font: italic 400 clamp(1.15rem, 1.8vw, 1.3rem)/1.6 var(--kh-font-display); }
.kh-b2b-press-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2rem); }
.kh-b2b-press-list > * { margin: 0; }
.kh-b2b-press-item { display: flex; flex-direction: column; padding: 2rem 2rem 1.75rem; border: 1px solid var(--kh-sumi-20); background: rgb(255 253 252 / .55); }
.kh-b2b-press-item > * { margin: 0; }
.kh-b2b .kh-b2b-press-place { margin-bottom: .6rem; color: var(--kh-sumi); font: italic 400 clamp(1.7rem, 2.6vw, 2.1rem)/1.15 var(--kh-font-display); }
.kh-b2b .kh-b2b-press-what { margin-bottom: 1.25rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--kh-sumi-20); color: var(--kh-sumi); font: 400 1rem/1.6 var(--kh-font-body); }
.kh-b2b .kh-b2b-press-title { margin-bottom: .6rem; color: var(--kh-sumi); font: italic 400 1.1rem/1.45 var(--kh-font-display); }
.kh-b2b .kh-b2b-press-source { margin-bottom: 1.5rem; color: var(--kh-sumi-70); font: 400 .9rem/1.5 var(--kh-font-body); }
.kh-b2b .kh-b2b-press-link { margin-top: auto; font: 400 .9rem/1.4 var(--kh-font-ui); }
/* Two articles in one card (Treffiagat-Léchiagat, 2023 and again in 2024; PC88): the first ends with a thin line,
   only the last link goes to the bottom of the card. */
.kh-b2b .kh-b2b-press-link:not(:last-child) { margin-top: 0; margin-bottom: 1.25rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--kh-sumi-20); }
@media (max-width: 1023px) {
  .kh-b2b-press-list { grid-template-columns: minmax(0, 1fr); max-width: 40rem; margin-inline: auto; }
}
