/* SkiinOBS JP homepage typography refinement v577
   Scope: Japanese homepage only (linked only from /jp/).
   Intent: calmer Apple-like hierarchy without changing layout, colors, or component geometry. */

:root{
  --jp-ui-font:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic","Noto Sans JP",sans-serif;
}

html[lang="ja-JP"] body.lang-ja{
  font-family:var(--jp-ui-font);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

html[lang="ja-JP"] body.lang-ja :where(header,main,footer) :where(h1,h2,h3,h4,p,a,button,li,summary,label,strong){
  font-family:var(--jp-ui-font);
}

/* Hero: strong, but not heavy. */
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-hero-redesign .jp-hero-copy h1{
  font-size:clamp(50px,4.7vw,68px)!important;
  line-height:1.075!important;
  font-weight:700!important;
  letter-spacing:-.047em!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-hero-redesign .kr-hero-value{
  max-width:840px!important;
  margin-top:28px!important;
  font-size:18px!important;
  line-height:1.72!important;
  font-weight:400!important;
  letter-spacing:-.012em!important;
  color:#6e6e73!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .kr-hero-badges>span{
  font-size:12.5px!important;
  font-weight:500!important;
  letter-spacing:-.004em!important;
}

/* Primary section titles: quieter weight, cleaner rhythm. */
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top :is(
  .kr-plugin-ui-section h2.kr-unified-section-title,
  #jp-support-positioning-title,
  .multistream-guide h2.section-title,
  #core-technology h2.kr-unified-section-title,
  #pricing h2.kr-unified-section-title,
  .kr-faq-section h2.kr-unified-section-title,
  .jp-lighting-set-coming-soon-title
){
  font-family:var(--jp-ui-font)!important;
  font-size:38px!important;
  line-height:1.22!important;
  font-weight:600!important;
  letter-spacing:-.032em!important;
}

html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top :is(
  .kr-editorial-head>p,
  .kr-section-head>p,
  .core-tech-section-head>p,
  .multistream-guide .section-intro,
  .jp-lighting-set-coming-soon-lead
){
  font-size:16.5px!important;
  line-height:1.78!important;
  font-weight:400!important;
  letter-spacing:-.008em!important;
  color:#6e6e73!important;
}

/* Four positioning cards: product name first, status second, copy calm. */
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-support-value-card{
  -webkit-font-smoothing:antialiased;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-support-value-card p{
  font-size:15px!important;
  line-height:1.72!important;
  font-weight:400!important;
  letter-spacing:-.004em!important;
  color:#6e6e73!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-support-value-card p:first-child{
  color:#1d1d1f!important;
  font-size:15.5px!important;
  line-height:1.45!important;
  font-weight:500!important;
  letter-spacing:-.014em!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-support-value-card p:first-child strong{
  font-weight:600!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-support-value-card h3{
  margin-bottom:11px!important;
  color:#1d1d1f!important;
  font-size:17px!important;
  line-height:1.42!important;
  font-weight:600!important;
  letter-spacing:-.018em!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-support-value-card p strong{
  font-weight:600!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-support-value-card :is(.support-card-action,.js-scroll-plugin-ui){
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:600!important;
  letter-spacing:-.008em!important;
}

/* Standard content cards. */
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top :is(.ski-info-card,.v24-tool-card) h3{
  font-size:20px!important;
  line-height:1.4!important;
  font-weight:600!important;
  letter-spacing:-.022em!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top :is(.ski-info-card>p,.v24-tool-card>p){
  font-size:15.5px!important;
  line-height:1.78!important;
  font-weight:400!important;
  letter-spacing:-.006em!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .v24-tool-top strong{
  font-size:17px!important;
  font-weight:600!important;
  letter-spacing:-.012em!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .v24-stage{
  font-size:12.5px!important;
  font-weight:500!important;
}

/* Core technology: technical, but editorial rather than bold. */
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #core-technology .core-tech-note h3{
  font-size:17px!important;
  line-height:1.48!important;
  font-weight:600!important;
  letter-spacing:-.014em!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #core-technology .core-tech-note p{
  font-size:14.5px!important;
  line-height:1.86!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #core-technology :is(.core-tech-stack-label,.core-tech-tags span){
  font-weight:500!important;
}

/* Multistream cards and supporting copy. */
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .multistream-guide .compare-card :is(h3,strong){
  font-weight:600!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .multistream-guide .compare-card p{
  font-weight:400!important;
  line-height:1.76!important;
}

/* Pricing: let price carry emphasis; supporting copy stays restrained. */
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #pricing .pcv256-tab{
  font-weight:500!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #pricing .pcv256-price{
  font-weight:700!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #pricing :is(.pcv297-lead,.pcv297-note){
  font-weight:400!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #pricing .jp-offer-card strong{
  font-weight:600!important;
}

/* FAQ and lower-page editorial text. */
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .kr-faq-list summary{
  font-size:16px!important;
  line-height:1.55!important;
  font-weight:600!important;
  letter-spacing:-.012em!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .kr-faq-list details>p{
  font-size:14.5px!important;
  line-height:1.78!important;
  font-weight:400!important;
  letter-spacing:0!important;
}

/* Keep navigation and footer understated. */
html[lang="ja-JP"] body.lang-ja header :where(a,button),
html[lang="ja-JP"] body.lang-ja footer :where(a,p,li){
  font-weight:400;
  letter-spacing:-.004em;
}
html[lang="ja-JP"] body.lang-ja header strong,
html[lang="ja-JP"] body.lang-ja footer strong{
  font-weight:600;
}

@media(max-width:1024px){
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top :is(
    .kr-plugin-ui-section h2.kr-unified-section-title,
    #jp-support-positioning-title,
    .multistream-guide h2.section-title,
    #core-technology h2.kr-unified-section-title,
    #pricing h2.kr-unified-section-title,
    .kr-faq-section h2.kr-unified-section-title,
    .jp-lighting-set-coming-soon-title
  ){
    font-size:32px!important;
    line-height:1.27!important;
  }
}

@media(max-width:767px){
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-hero-redesign .jp-hero-copy h1{
    font-size:34px!important;
    line-height:1.12!important;
    letter-spacing:-.038em!important;
  }
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-hero-redesign .kr-hero-value{
    margin-top:22px!important;
    font-size:16px!important;
    line-height:1.72!important;
  }
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top :is(
    .kr-plugin-ui-section h2.kr-unified-section-title,
    #jp-support-positioning-title,
    .multistream-guide h2.section-title,
    #core-technology h2.kr-unified-section-title,
    #pricing h2.kr-unified-section-title,
    .kr-faq-section h2.kr-unified-section-title,
    .jp-lighting-set-coming-soon-title
  ){
    font-size:26px!important;
    line-height:1.3!important;
    letter-spacing:-.026em!important;
  }
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top :is(
    .kr-editorial-head>p,
    .kr-section-head>p,
    .core-tech-section-head>p,
    .multistream-guide .section-intro,
    .jp-lighting-set-coming-soon-lead
  ){
    font-size:14.5px!important;
    line-height:1.76!important;
  }
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-support-value-card p:first-child{
    font-size:15px!important;
  }
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-support-value-card h3{
    font-size:16px!important;
  }
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-support-value-card p{
    font-size:14px!important;
    line-height:1.72!important;
  }
}

/* Small editorial labels and lighting support copy. */
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .hero-solution-eyebrow{
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:600!important;
  letter-spacing:-.008em!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .camera-compat-note strong{
  font-weight:600!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top :is(.jp-lighting-set-coming-soon-status,.jp-lighting-set-coming-soon-note){
  font-weight:400!important;
  letter-spacing:-.004em!important;
  color:#6e6e73!important;
}


/* v584 — JP service overview alignment + responsive title safety
   Scope: Japanese homepage service overview only. */
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #jp-support-positioning-title{
  width:min(100%, 980px)!important;
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:20px!important;
  padding-right:20px!important;
  text-align:center!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-support-value-card,
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-support-value-card > div{
  text-align:center!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-support-value-card > div{
  align-items:center!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-support-value-card :is(p,h3){
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top .jp-support-value-card :is(.support-card-action,.js-scroll-plugin-ui){
  align-self:center!important;
  justify-content:center!important;
  text-align:center!important;
}

@media (max-width:1024px){
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #jp-support-positioning-title{
    width:min(100%, 820px)!important;
    max-width:820px!important;
    padding-left:28px!important;
    padding-right:28px!important;
    font-size:clamp(27px,3.6vw,32px)!important;
    line-height:1.30!important;
    letter-spacing:-.028em!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #jp-support-positioning-title :is(.jp-support-title-prefix,.jp-support-title-benefit,.jp-support-title-second){
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
}

@media (max-width:767px){
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #jp-support-positioning-title{
    width:100%!important;
    max-width:100%!important;
    padding-left:16px!important;
    padding-right:16px!important;
    font-size:clamp(22px,6.1vw,26px)!important;
    line-height:1.34!important;
    letter-spacing:-.024em!important;
  }
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #jp-support-positioning-title .jp-support-title-prefix,
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #jp-support-positioning-title .jp-support-title-benefit,
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #jp-support-positioning-title .jp-support-title-second{
    display:block!important;
  }
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #jp-support-positioning-title .jp-support-title-break{
    display:none!important;
  }
}

/* v585 — JP core technology editorial centering
   Scope: Japanese homepage core technology notes only. */
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #core-technology .core-tech-notes{
  text-align:center!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #core-technology .core-tech-note{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #core-technology .core-tech-note h3,
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #core-technology .core-tech-note p{
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #core-technology .core-tech-note p{
  max-width:38em!important;
}

@media (max-width:767px){
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #core-technology .core-tech-note{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  html.ski-home-v417[lang="ja-JP"] body.lang-ja main#top #core-technology .core-tech-note p{
    max-width:34em!important;
  }
}
