/* AIDER owns the shell. No legacy theme or block layout rules. */
:root {
  --info-space-1: 8px;
  --info-space-2: 16px;
  --info-space-3: 24px;
  --info-space-4: 32px;
  --info-space-6: 48px;
  --info-space-8: 64px;
  --info-accent: #e37526;
  --info-link: #9c4911;
  --tcd-text-link-color: var(--info-link);
  --info-ink: #232323;
  --info-muted: #595959;
  --info-rule: #ddd;
  --tcd-font-sans-serif: inherit;
  --tcd-font-serif: inherit;
}
body { font-family: initial; }
.info-copy.info-service-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.info-copy.info-service-facts > section { margin: 0; padding: 32px; border: 1px solid var(--info-rule); min-width: 0; }
.info-copy.info-service-facts > section > h3 { margin: 0 0 24px; padding-bottom: 20px; border-bottom: 1px solid var(--info-rule); color: var(--info-accent); }
.info-copy.info-service-facts p { overflow-wrap: anywhere; }
.info-copy.info-service-facts p:last-child { margin-bottom: 0; }
.info-service-facts .info-environment-list { margin: 0; padding-left: 1.2em; list-style: disc; line-height: 1.9; }
.info-service-facts .info-environment-list li { margin: 0 0 12px; overflow-wrap: anywhere; }
.info-service-facts .info-environment-list li:last-child { margin-bottom: 0; }
/* Fit the portrait training photo inside the standard landscape frame. */
:is(.p-cd-service_item_img, .p-service-cards-item__image, .p-single-header__image_service):has(> img[src*="inforise-training-materials"]) {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  aspect-ratio: 5 / 3;
}
:is(.p-cd-service_item_img, .p-service-cards-item__image, .p-single-header__image_service):has(> img[src*="inforise-training-materials"])::before {
  content: "";
  position: absolute;
  inset: -24px;
  background: url("../../uploads/2026/10/inforise-training-materials.jpg") center / cover no-repeat;
  filter: blur(20px);
  z-index: -1;
}
:is(.p-cd-service_item_img, .p-service-cards-item__image, .p-single-header__image_service) > img[src*="inforise-training-materials"] {
  display: block;
  position: absolute;
  inset: 0 auto 0 50%;
  width: auto;
  max-width: 100%;
  height: 100%;
  object-fit: contain;
  transform: translateX(-50%);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);
}
@media (max-width: 767px) {
  .info-copy.info-service-facts { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .info-copy.info-service-facts > section { padding: 24px; }
}
/* Keep AIDER's footer components, with balanced company and navigation columns. */
.l-footer .p-footer-main {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: 48px 64px;
  align-items: start;
  padding-block: 56px;
  border-top: 1px solid var(--info-rule);
}
.l-footer .p-footer-info {
  min-width: 0;
  row-gap: 20px;
  justify-content: start;
  justify-items: start;
  text-align: left;
}
.l-footer .p-footer-info .c-logo { font-size: 22px; line-height: 1.6; }
.l-footer .p-footer-info__desc { margin: 0; color: var(--info-muted); font-size: 13px; line-height: 2; }
.l-footer .p-footer-nav {
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.l-footer .p-footer-nav > li { min-width: 0; margin: 0; }
.l-footer .p-footer-nav > li > a {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding-block: 12px;
  border-bottom: 1px solid var(--info-rule);
  color: var(--info-ink);
  line-height: 1.6;
  text-decoration: none;
  overflow-wrap: anywhere;
}
@media (any-hover: hover) {
  .l-footer .p-footer-nav > li > a:hover { color: #9c4911; opacity: 1; }
}
@media (max-width: 991px) {
  .l-footer .p-footer-main { grid-template-columns: minmax(0, 1fr); gap: 32px; padding-block: 40px; }
}
@media (max-width: 767px) {
  .l-footer .p-footer-info .c-logo { font-size: 20px; }
  .l-footer .p-footer-nav { column-gap: 24px; }
  .l-footer .p-footer-main:not(:has(.p-footer-nav--sp)) .p-footer-nav--pc { display: grid; }
}
.p-header-button_color { background-color: var(--default-bg-color, var(--info-accent)); }
.c-archive-header__overlay { background: rgba(0, 0, 0, .3); }
.c-date, .c-pagination :where(.nav-links), .p-pr__name { font-family: inherit; }
html { scroll-padding-top: 144px; }
::selection { background: #f9e4d5; color: var(--info-ink); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid var(--info-accent); outline-offset: 4px; }
.p-header-logo .c-logo { font-size: clamp(16px, 1.6vw, 24px); line-height: 1.5; }
.p-header-logo .c-logo__image,
.l-footer .p-footer-info .c-logo__image { max-width: 100%; object-fit: contain; }
.l-footer .p-footer-info .c-logo__image { width: 240px; height: auto; }
@media (max-width: 767px) {
  .l-footer .p-footer-info .c-logo__image { width: 210px; }
}
.info-static-hero { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.info-static-hero .p-mv2_catch_content { width: 100%; height: auto; }
.info-static-hero .main_catch,
.info-static-hero .sub_catch {
  opacity: 1;
  visibility: visible;
  animation: none;
  transform: none;
}
.info-static-hero-image { min-width: 0; min-height: 0; overflow: hidden; background: #c4c4c4; }
.info-static-hero-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* The demo placeholder contains a one-pixel frame; hide only that asset's edge. */
.info-static-hero-image img[src*="aider-placeholder-870x960"] { clip-path: inset(calc(100% / 960) calc(100% / 870)); }
@media (max-width: 800px) {
  .info-static-hero { display: grid; grid-template-columns: minmax(0, 1fr); height: auto; aspect-ratio: auto; }
  .info-static-hero .p-mv2_catch_content { display: flex; min-height: 240px; padding: 40px 24px; }
  .info-static-hero-image img { height: auto; }
}
.p-page-header { margin-bottom: var(--info-space-6); }
.p-page-header-image { margin-top: var(--info-space-4); }
.p-page-header-image img { display: block; width: 100%; height: auto; }
.info-copy { color: var(--info-ink); font-size: 16px; line-height: 2.4; overflow-wrap: anywhere; }
.info-copy > :first-child { margin-top: 0; }
.info-copy p { margin: 0 0 1.5em; }
.info-copy h2 { font-size: 32px; font-weight: 600; line-height: 1.6; text-align: center; color: var(--info-accent); margin: 93px 0 var(--info-space-6); }
.info-copy h3 { font-size: 20px; font-weight: 600; line-height: 1.6; margin: 80px 0 20px; }
.info-copy h4, .info-copy h5 { font-size: 18px; font-weight: 600; line-height: 1.6; margin: var(--info-space-4) 0 var(--info-space-2); }
.info-copy section { margin-block: var(--info-space-6); }
.info-copy section section { margin-block: var(--info-space-4); }
.info-copy a { color: var(--info-link); text-decoration: underline; text-underline-offset: .25em; }
.info-copy ul, .info-copy ol { margin: var(--info-space-3) 0; padding-left: 1.5em; }
.info-copy ul { list-style: disc; }
.info-copy ol { list-style: decimal; }
.info-copy figure { margin: var(--info-space-4) 0; }
.info-copy figure img { display: block; max-width: 100%; width: 100%; height: auto; }
.info-copy .info-portrait { max-width: 330px; }
.info-copy figcaption { margin-top: var(--info-space-1); color: var(--info-muted); font-size: 14px; }
.info-copy .info-source-label { color: var(--info-muted); font-size: 14px; margin-bottom: var(--info-space-1); }
.info-page-nav { display: flex; flex-wrap: wrap; gap: var(--info-space-2) var(--info-space-4); padding-block: var(--info-space-3); border-block: 1px solid var(--info-rule); margin-bottom: var(--info-space-6); }
.info-page-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.info-copy .info-table { width: 100%; border-collapse: collapse; margin-block: var(--info-space-4); table-layout: fixed; }
.info-table th, .info-table td { text-align: left; vertical-align: top; padding: var(--info-space-3); border-bottom: 1px solid var(--info-rule); overflow-wrap: anywhere; }
.info-table th { width: 26%; font-weight: 600; background: #f6f6f6; }
.info-table p:last-child { margin-bottom: 0; }
/* Benefits: a simple editorial table with emphasis on the existing labels. */
.info-copy .info-benefits-table {
  max-width: 960px;
  margin: 0 auto;
  border-top: 3px solid var(--info-accent);
}
.info-benefits-table th,
.info-benefits-table td { padding: 28px 32px; line-height: 1.9; vertical-align: middle; }
.info-benefits-table th {
  width: 29%;
  background: #fff3e9;
  color: #783b13;
  font-size: 18px;
  font-weight: 600;
}
.info-benefits-table td { background: #fff; }
@media (max-width: 767px) {
  .info-copy .info-benefits-table th,
  .info-copy .info-benefits-table td { width: 100%; padding: 20px; }
  .info-benefits-table th { font-size: 16px; }
}
.info-panel { margin-bottom: var(--info-space-4); padding-bottom: var(--info-space-3); border-bottom: 1px solid var(--info-rule); }
.info-recruit .info-recruit-lead { max-width: 760px; margin-inline: auto; }
.info-recruit .info-recruit-lead h3 { margin: 24px 0; }
.info-recruit .info-recruit-requirements { max-width: 960px; margin-inline: auto; }
.info-recruit .info-recruit-requirements > section { margin-block: 48px; }
.info-recruit .info-recruit-requirements > section > h3 {
  margin: 0 0 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--info-accent);
  color: var(--info-ink);
  font-weight: 600;
  text-align: left;
}
/* Privacy policy: typography only, scoped away from the contact form. */
.info-copy .info-privacy {
  max-width: 900px;
  margin: 64px auto 0;
  max-height: 480px;
  overflow-y: auto;
  scrollbar-gutter: stable;
  scrollbar-width: auto;
  scrollbar-color: #888 #eee;
  padding: 32px;
  border: 1px solid var(--info-rule);
  background: #fafafa;
  line-height: 2;
  text-align: left;
}
.info-privacy:focus-visible { outline: 2px solid #9c4911; outline-offset: 4px; }
.info-privacy::-webkit-scrollbar { width: 10px; }
.info-privacy::-webkit-scrollbar-track { background: #eee; }
.info-privacy::-webkit-scrollbar-thumb { background: #888; border: 2px solid #eee; border-radius: 6px; }
.info-privacy > p { margin: 0 0 24px; }
.info-copy .info-privacy > h3 {
  margin: 48px 0 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--info-rule);
  font-size: 20px;
  line-height: 1.7;
  text-align: left;
}
.info-copy .info-privacy > h4 { margin: 32px 0 16px; font-size: 18px; }
.info-copy .info-privacy-list { list-style: none; padding: 0; margin: 16px 0 24px; }
.info-privacy-list > li { margin-bottom: 16px; }
.info-privacy-list p { margin: 0; }
.info-privacy-list .info-privacy-item-title { font-weight: 600; margin-bottom: 8px; }
.info-privacy-list .info-privacy-item-title + p { margin-left: 1em; }
@media (max-width: 767px) {
  .info-copy .info-privacy { margin-top: 40px; max-height: 360px; padding: 20px; }
  .info-copy .info-privacy > h3 { font-size: 18px; margin-top: 32px; }
  .info-copy .info-privacy > h4 { font-size: 16px; margin-top: 24px; }
}
.info-image-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--info-space-3); }
.info-image-grid figure { min-width: 0; }
.info-copy .wpcf7 { margin-block: var(--info-space-6); }
.info-copy .wpcf7 :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select) { max-width: 100%; width: 100%; border: 1px solid #aaa; padding: 12px; background: #fff; color: var(--info-ink); }
.info-copy .wpcf7 input[type=submit] { min-height: 48px; padding: 12px 40px; background: var(--info-accent); color: #fff; cursor: pointer; }
.info-copy .wpcf7 label { display: block; margin-bottom: var(--info-space-1); }
.info-copy .required { display: inline-block; padding-inline: 6px; margin-left: var(--info-space-1); background: #a92323; color: #fff; font-size: 12px; }
/* Contact directions are separate blocks, not a single paragraph of soft breaks. */
.info-contact-intro { max-width: 760px; margin-inline: auto; }
.info-contact > section { max-width: 760px; margin-inline: auto; }
.info-copy .info-contact-intro p { margin: 0 0 12px; }
.info-copy .info-contact-intro .info-contact-phone { margin-block: 8px 24px; }
.info-contact-phone a { display: inline-block; min-height: 44px; font-size: 32px; font-weight: 600; line-height: 1.5; text-decoration: none; }
.info-contact-hours { font-size: 14px; }
/* Show the complete company philosophy in ABOUT without native scroll clipping. */
#demo-about-layout .p-cb-split-content { height: auto; min-height: 700px; padding-block: 48px; }
#demo-about-layout .p-cb-split-catch_item { max-height: none; overflow: visible; mask-image: none; -webkit-mask-image: none; }
#demo-about-layout .p-cb-split-sub_catch { display: grid; gap: 20px; line-height: 1.9; }
#demo-about-layout .info-about-paragraph,
#demo-about-layout .info-about-principle { display: block; margin: 0; }
#demo-about-layout .info-about-principle > strong { display: block; margin-bottom: 8px; }
/* The workbook specifies an image-free news area. Use the native text-only
   archive setting; omit the homepage builder's mandatory image wrapper here. */
#demo-news .p-cb-post-item-thumbnail { display: none; }
@media (max-width: 991px) {
  #demo-about-layout .p-cb-split-content { min-height: 550px; padding-block: 32px; }
}
@media (max-width: 767px) {
  #demo-about-layout .p-cb-split-content { min-height: 0; padding: 32px 24px; }
  .info-contact-phone a { font-size: 28px; }
}
/* The official demo's LP page geometry; homepage uses unmodified native sizing. */
.info-demo-body { width: min(calc(100% - 40px), 1100px); margin-inline: auto; padding-bottom: 100px; }
/* Reversible layout trial: title-only image header and a readable introduction. */
.info-demo-header { margin-bottom: 64px; row-gap: 0; }
.info-demo-header .c-archive-header__content { aspect-ratio: auto; height: 340px; }
.info-demo-header .c-archive-header__title_use_img {
  inset: 0;
  height: 100%;
  background: transparent;
  backdrop-filter: none;
}
.info-demo-header .c-archive-header__title_use_img h1 {
  font-size: 32px;
  line-height: 1.6;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  opacity: 1;
  transition: none;
}
.info-page-intro,
.info-demo-body > .info-copy:not(.info-company):not(.info-contact):first-child > section:first-child {
  width: min(100%, 760px);
  margin-inline: auto;
}
.info-page-intro { margin-bottom: 64px; }
.info-page-intro p,
.info-demo-body > .info-copy:not(.info-company):not(.info-contact):first-child > section:first-child > p { text-align: left; }
.info-demo-body > .info-copy:not(.info-company):not(.info-contact):first-child > section:first-child > p br { display: none; }
@media (max-width: 767px) {
  .info-demo-header { margin-bottom: 40px; }
  .info-demo-header .c-archive-header__content { height: 220px; }
  .info-demo-header .c-archive-header__title_use_img h1 { font-size: 24px !important; }
  .info-page-intro { margin-bottom: 40px; }
}
.info-demo-body > .info-copy:first-child > section:first-child { margin-top: 0; }
.info-demo-body .info-page-nav { gap: 0; padding: 0; background: #f6f6f6; }
.info-demo-body .info-page-nav a { flex: 1; justify-content: center; min-height: 80px; padding: var(--info-space-2); color: var(--info-accent); text-decoration: none; border-right: 1px solid var(--info-rule); }
.info-demo-body .info-page-nav a:last-child { border-right: 0; }
.info-demo-body .info-page-nav a:hover { background: var(--info-accent); color: #fff; }
.info-demo-cards { margin-block: 70px 100px; }
.p-cd-service-cards.column_type2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--info-space-4);
  align-items: stretch;
}
.p-cd-service-cards.column_type2 .p-cd-service_item { border: 1px solid var(--info-rule); }
.p-cd-service-cards.column_type2 .p-cd-service_item_img { height: auto; aspect-ratio: 5 / 3; }
.p-cd-service-cards.column_type2 .p-cd-service_item_title,
.p-cd-service-cards.column_type2 .p-cd-service_item_desc { border-left: 0; border-right: 0; margin-right: 0; }
.p-cd-service-cards.column_type2 .p-cd-service_item_desc { padding: var(--info-space-4); line-height: 2; }
/* Let the grid measure complete summaries before placing the next row. */
.p-cd-service-cards .p-cd-service_item { min-width: 0; }
.p-cd-service-cards .p-cd-service_item > a {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
}
.p-cd-service_item_img { flex: 0 0 auto; }
.p-cd-service_item_contents { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.p-cd-service_item_title {
  height: auto;
  min-height: 70px;
  flex: 0 0 auto;
  padding-block: var(--info-space-2);
}
.p-cd-service_item_title_inner { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.p-cd-service_item_desc { flex: 1; height: auto; min-width: 0; }
.p-cd-service_item_desc .c-line-clamp,
.p-service-cards-item__desc .c-line-clamp {
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  height: auto;
  max-height: none;
  overflow: visible;
  white-space: normal;
  word-break: normal;
  overflow-wrap: anywhere;
}
/* AIDER service rows: let complete text determine height at every breakpoint. */
.p-archive--service .p-service-cards-item__link { display: block; min-width: 0; color: var(--info-ink); text-decoration: none; }
.p-archive--service .p-service-cards-item { aspect-ratio: auto; min-height: 290px; }
.p-archive--service .p-service-cards-item__image { min-width: 0; }
.p-archive--service .p-service-cards-item__image > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.p-archive--service .p-service-cards-item__content { display: flex; flex-direction: column; min-width: 0; }
.p-archive--service .p-service-cards-item__title {
  flex: 0 0 auto;
  height: auto;
  min-height: 80px;
  margin: 0;
  padding: 20px 50px;
  color: var(--info-ink);
  text-align: left;
}
.p-archive--service .p-service-cards-item__title > span { margin: 0; max-width: none; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.p-archive--service .p-service-cards-item__desc { flex: 1; height: auto; padding: 32px 50px; color: var(--info-ink); }
@media (any-hover: hover) {
  .p-archive--service .p-service-cards-item__link:hover .p-service-cards-item__title { color: var(--info-link); }
}
@media (max-width: 991px) {
  .p-archive--service .p-service-cards-item { min-height: 0; height: 100%; grid-template-rows: auto 1fr; }
  .p-archive--service .p-service-cards-item__image { height: auto; aspect-ratio: 5 / 3; }
  .p-archive--service .p-service-cards-item__content { border-left: 1px solid var(--info-rule); }
  .p-archive--service .p-service-cards-item__title { min-height: 70px; padding: 20px 24px; border-left: 0; justify-content: flex-start; }
  .p-archive--service .p-service-cards-item__desc { padding: 24px; border-left: 0; }
}
.p-single__content_service .info-copy, .p-single__content_voice .info-copy { width: min(100%, 1100px); margin-inline: auto; }
/* Detail examples have no assigned photos in the workbook yet. Retain their
   source markup, but omit gray placeholders until dedicated examples are ready. */
.p-single__content_service .info-copy figure:has(img[src*="aider-placeholder-"]) { display: none; }
/* Voice cards: keep native AIDER frames without relying on another editor's CSS. */
.p-archive--voice .p-voice-cards-item { min-width: 0; }
.p-archive--voice .p-voice-cards-item > a {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--info-ink);
  text-decoration: none;
}
.p-archive--voice .p-voice-cards-item__image { flex: 0 0 auto; }
.p-archive--voice .p-voice-cards-item__content { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.p-archive--voice .p-voice-cards-item__title {
  margin: 0;
  padding: 24px;
  min-height: 112px;
  height: auto;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.6;
  color: var(--info-ink);
  border: 1px solid var(--info-rule);
  border-top: 0;
  border-bottom: 0;
}
.p-archive--voice .p-voice-cards-item__title .c-line-clamp {
  display: block;
  height: auto;
  max-height: none;
  margin: 0;
  overflow: visible;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  white-space: normal;
  word-break: normal;
  overflow-wrap: anywhere;
}
.p-archive--voice .p-voice-caption_item { margin-top: auto; color: var(--info-ink); }
.p-archive--voice .p-voice-cards-item.no_info_contents .p-voice-cards-item__title { min-height: 0; }
.p-archive--voice .p-voice-caption_item span { white-space: normal; overflow: visible; text-overflow: clip; }
@media (any-hover: hover) {
  .p-archive--voice .p-voice-cards-item > a:hover .p-voice-cards-item__title { color: var(--info-accent); }
}
@media (max-width: 767px) {
  .p-archive--voice .p-voice-cards-item__title { min-height: 0; font-size: 18px; padding: 24px; }
}
/* Company: AIDER's wide header, simple section hierarchy and table-based details. */
.info-company { line-height: 2; }
/* AIDER supplies borders, sizing, hover colors and responsive menu behavior. */
.info-company .info-company-nav { inline-size: 100%; margin: 0 0 80px; }
.info-company-nav .category_terms_list { width: 100%; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.info-company .info-company-nav a { color: var(--info-ink); text-decoration: none; }
.info-company .info-company-nav a:hover { color: #fff; }
@media (max-width: 767px) {
  .info-company .info-company-nav { margin-bottom: 40px; padding-inline: 0; }
  .info-company .info-company-nav a { padding-inline: 8px; }
  .info-company-nav .category_terms_list::after { content: none; }
}
.info-company .info-company-section { margin: 0; padding-block: 0 96px; scroll-margin-top: 24px; }
.info-company .info-company-section + .info-company-section { padding-top: 80px; border-top: 1px solid var(--info-rule); }
.info-company .info-company-section > h2 { margin: 0 0 48px; }
.info-company-vision-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); align-items: start; gap: 64px; }
.info-company .info-company-vision-grid > figure { margin: 0; }
.info-company-vision-text { min-width: 0; }
.info-company .info-company-principle { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--info-rule); }
.info-company .info-company-principle h3 { margin: 0 0 16px; color: var(--info-accent); }
.info-company .info-company-principle p { margin: 0; }
.info-company-profile { max-width: 900px; margin-inline: auto; }
.info-company .info-table { margin: 0; }
.info-company .info-table th { width: 25%; background: #f6f6f6; }
.info-company .info-table th, .info-company .info-table td { padding: 24px; line-height: 1.9; }
.info-company .info-company-office { margin-top: 56px; }
.info-company .info-company-office:first-of-type { margin-top: 0; }
.info-company .info-company-office > h3 { margin: 0 0 24px; color: var(--info-accent); }
.info-company-office-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 40px; }
.info-company .info-company-office-grid > figure { margin: 0; }
.info-company-office-grid > div { min-width: 0; }
.info-company-map { min-width: 0; }
.info-company-map iframe { display: block; width: 100%; max-width: 100%; height: 360px; border: 0; }
@media (max-width: 991px) {
  .info-company-vision-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .info-company .info-company-vision-grid > figure { max-width: 420px; width: 100%; margin-inline: auto; }
  .info-company-office-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 767px) {
  html { scroll-padding-top: 96px; }
  .info-copy { line-height: 2.2; }
  .info-copy h2 { font-size: 20px; margin-top: 35px; margin-bottom: 25px; }
  .info-copy h3 { margin-top: 50px; margin-bottom: 15px; }
  .info-demo-body { padding-bottom: 40px; }
  .info-demo-body .info-page-nav a { min-height: 60px; padding: var(--info-space-1); font-size: 14px; }
  .info-copy .info-table, .info-table tbody, .info-table tr, .info-table th, .info-table td { display: block; width: 100%; }
  .info-table th, .info-table td { padding: var(--info-space-2); }
  .info-table th { border-bottom: 0; }
  .info-image-grid { grid-template-columns: minmax(0, 1fr); }
  .p-cd-service-cards.column_type2 { grid-template-columns: minmax(0, 1fr); gap: var(--info-space-3); }
  .p-cd-service-cards.column_type2 .p-cd-service_item_desc { padding: var(--info-space-3); }
  .info-company > .info-page-nav { margin-bottom: 40px; }
  .info-company .info-company-section { padding-bottom: 48px; }
  .info-company .info-company-section + .info-company-section { padding-top: 40px; }
  .info-company .info-company-section > h2 { margin-bottom: 32px; }
  .info-company .info-table th, .info-company .info-table td { width: 100%; padding: 16px; }
  .info-company .info-company-office { margin-top: 40px; }
  .info-company-map iframe { height: 300px; }
}
