/* TOKEN technology: PC flow only; keep STRIVE mobile defaults. */
@media screen and (min-width: 1025px) {
 body.page-id-6 #technology-flow .skrb-flow-list.pattern2 > li { width: calc((100% - 156px) / 4); }
}

/* TOKEN business: Figma specification cards are text-only. Native column and mobile styles are unchanged. */
#business-specs .skrb-cb003-col3-media-contents-v .skrb-media-content { display: none; }

/* TOKEN native media responsive: STRIVE 1.0.0 inline PC widths override its mobile defaults. */
@media screen and (max-width: 1024px) {
  body:is(.page-id-6, .page-id-16, .page-id-23, .page-id-25, .page-id-27, .page-id-29, .page-id-33) div.skrb-cb002-col2-media-contents-h > .skrb-media-content,
  body:is(.page-id-6, .page-id-16, .page-id-23, .page-id-25, .page-id-27, .page-id-29, .page-id-33) div.skrb-cb002-col2-media-contents-h > .skrb-text-contents {
    width: 100%;
  }
}
/* TOKEN company maps: embed in native media-caption; hide only the two replaced sample images. */
#company-map-headquarters > .skrb-media-content > .skrb-media-image,
#company-map-tokyo > .skrb-media-content > .skrb-media-image { display: none; }
#company-locations :is(#company-map-headquarters, #company-map-tokyo) .skrb-media-caption { margin-top: 0; }
#company-locations :is(#company-map-headquarters, #company-map-tokyo) iframe { display: block; width: 100%; height: 420px; border: 0; }
@media screen and (max-width: 1024px) {
  #company-locations :is(#company-map-headquarters, #company-map-tokyo) iframe { height: 300px; }
}

/* TOKEN production examples: shared opt-in card rules; currently applied only to page 23 cases. */
div.token-production-examples.skrb-cb005-gallery-a .skrb-gallery-wrap .skrb-tiles { justify-content: flex-start; }
div.token-production-examples.skrb-cb005-gallery-a .skrb-gallery-wrap .skrb-tiles .skrb-media-wrap .skrb-media.skrb-image { padding-top: 100%; }
div.token-production-examples.skrb-cb005-gallery-a .skrb-gallery-wrap .skrb-tiles .skrb-media-wrap .skrb-media > div img { object-fit: contain; }
div.token-production-examples.skrb-cb005-gallery-a .skrb-gallery-wrap .skrb-tiles .skrb-media-wrap .skrb-caption { min-height: 4.5em; line-height: 1.5; text-align: center; }
div.token-production-examples.skrb-cb005-gallery-a .skrb-gallery-wrap .skrb-tiles .skrb-media-wrap .skrb-caption p { margin: 0; }
/* TOKEN catchcopy: opening bold paragraph below native content titles; not inline emphasis or signatures. */
body.page :is(div.skrb-cb001-title-text-btn-v, div.skrb-cb002-col2-media-contents-h, div.skrb-cb003-col3-media-contents-v) .skrb-block-caption > p:first-child:has(> strong:only-child) {
  font-size: 24px;
  line-height: 1.65;
}
body.page :is(div.skrb-cb001-title-text-btn-v, div.skrb-cb002-col2-media-contents-h, div.skrb-cb003-col3-media-contents-v) .skrb-block-caption > p:first-child > strong:only-child {
  font-size: inherit;
  line-height: inherit;
  font-weight: 700;
}
body.page div.skrb-cb003-col3-media-contents-v .skrb-block-caption > p:first-child:has(> strong:only-child) {
  font-size: 20px;
}
@media screen and (max-width: 1024px) {
  body.page :is(div.skrb-cb001-title-text-btn-v, div.skrb-cb002-col2-media-contents-h) .skrb-block-caption > p:first-child:has(> strong:only-child) {
    font-size: 20px;
  }
  body.page div.skrb-cb003-col3-media-contents-v .skrb-block-caption > p:first-child:has(> strong:only-child) {
    font-size: 18px;
  }
}

/* TOKEN spacing: section gaps >=180px, title/catch >=60px, catch/lead >=40px, hero top 90px. */
/* Two adjacent sections provide 90px + 90px. Preserve horizontal widths and card gaps. */
body.page .skrb-block-contents > div.skrb-layout-block {
  padding-top: 90px;
  padding-bottom: 90px;
}
body.page :is(div.skrb-cb001-title-text-btn-v, div.skrb-cb002-col2-media-contents-h, div.skrb-cb003-col3-media-contents-v) .skrb-block-title-wrap:has(+ .skrb-block-caption > p:first-child > strong:only-child) {
  margin-bottom: 60px;
}
body.page :is(div.skrb-cb001-title-text-btn-v, div.skrb-cb002-col2-media-contents-h, div.skrb-cb003-col3-media-contents-v) .skrb-block-caption > p:first-child:has(> strong:only-child) {
  margin-top: 0;
  margin-bottom: 40px;
}
body.page :is(div.skrb-cb001-title-text-btn-v, div.skrb-cb002-col2-media-contents-h, div.skrb-cb003-col3-media-contents-v) .skrb-block-caption > p:first-child:has(> strong:only-child) + p {
  margin-top: 0;
}
/* Inner-page hero: after the introductory copy. Home hero already has the section's 90px top padding. */
body.page :is(#business-intro, #technology-intro, #company-intro) > .skrb-block-width-default > figure.wp-block-image {
  margin-top: 90px;
}
body.page #home-main > .skrb-block-width-default > figure.wp-block-image {
  margin-top: 0;
}

/* TOKEN header/footer: Local common navigation, 2026-09-10. */
@media (min-width: 1025px) {
  /* Keep the outer header in normal flow, including the native page-top anchor. */
  header#skrb-header { height: 164px; }
  header#skrb-header .skrb-header-inner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    background: #fff;
  }
  body.admin-bar header#skrb-header .skrb-header-inner { top: 32px; }
  html { scroll-padding-top: 164px; }
  html:has(body.admin-bar) { scroll-padding-top: 196px; }
  .skrb-footer .skrb-footer-navi ul { row-gap: 16px; }
  .skrb-footer .skrb-footer-navi ul li { padding-right: 24px; }
  .skrb-footer .skrb-footer-navi ul li a { display: block; line-height: 1.8; }
}
/* Mobile retains STRIVE's fixed header, hamburger and body-height adjustment. */
@media (max-width: 1024px) {
  body.admin-bar header#skrb-header { top: var(--wp-admin--admin-bar--height, 32px); }
}
@media (max-width: 600px) {
  body.admin-bar #wpadminbar { position: fixed; }
}
body.admin-bar header#skrb-header .contact-navi { top: var(--wp-admin--admin-bar--height, 32px); }
.skrb-footer-banners .skrb-btn a { color: #fff; }
/* END TOKEN header/footer */

/* TOKEN home hero: native STRIVE demo layout, 2026-09-11. */
/* The native hero replaces the old page heading on the front page only. */
body.home.page-id-16 .skrb-main-container > .page-heading { display: none; }
body.home.page-id-16 .skrb-top-main-visual {
  color: #000;
  background: #fff;
  margin-bottom: 90px;
}
body.home.page-id-16 .skrb-top-mv-text h1.token-home-catch {
  margin: 0;
  padding: 0;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(48px, 5.73vw, 88px);
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.035em;
  text-align: left;
}
@media (max-width: 1024px) {
  body.home.page-id-16 .skrb-top-mv-text h1.token-home-catch {
    font-size: clamp(26px, 6.65vw, 56px);
    line-height: 1.35;
  }
}
/* END TOKEN home hero */

/* Native legacy lists may use STRIVE's fixed 1400px content width.
   Cap only the uncustomized archive; keep the column/news layouts intact. */
div.skrb-archive-contents:not(.token-editorial-archive) {
  max-width: calc(100% - 48px);
}
