/* About, Contact and Privacy refinements on the original theme.
   Load after norke-responsive.css. Keep its rem scale and existing palette. */
.norke-pages-polish :is(h1, h2, h3, p, article, dt, dd) {
  overflow-wrap: break-word;
}
.norke-pages-polish :is(.ab_text, .ab_logo, .ab_list > dt, .choose_list > dt,
  .enterprise_list > li, .enterprise_list .txt, .faq_list > dt, .c_list > dt, .c_list > dd) {
  min-width: 0;
}

/* Existing section titles keep their original blue rule and alignment. */
.norke-about-polish .i_tit > h1 {
  font-size: clamp(28px, 2.3vw, 40px);
  line-height: 1.25;
  font-weight: 700;
  color: var(--i_color2);
}
.norke-about-polish .i_tit > h1 + p {
  margin-top: 10px;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  color: #666;
}
.norke-about-polish .ab_text article {
  font-size: 16px;
  line-height: 1.8;
  color: #444;
}
.norke-about-polish .ab_text article p + p {
  margin-top: 1em;
}
.norke-about-polish .ab_list .norke-feature-title {
  margin-bottom: 0.2rem;
  font-size: clamp(20px, 2vw, 36px);
  font-weight: 900;
  line-height: 1.3;
}
.norke-about-polish .ab_list .norke-feature-copy {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  color: #666;
}
.norke-about-polish .ab_adv_t > h2 {
  margin: 0.2rem 0 0.3rem;
  font-size: clamp(26px, 2.4vw, 38px);
  font-weight: 900;
  line-height: 1.3;
  color: #fff;
}
.norke-about-polish .ab_adv_t > .norke-feature-copy {
  margin: 0;
  padding: 0 16%;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  color: #fff;
}
.norke-about-polish .enterprise_list h3 {
  margin-bottom: 0.14rem;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 600;
  color: var(--i_color2);
}
.norke-about-polish .enterprise_list p {
  font-size: 16px;
  line-height: 1.75;
  color: #666;
}
.norke-about-polish .choose_list .norke-feature-title {
  margin: 0.2rem 0;
  font-size: 18px;
  line-height: 1.4;
  color: var(--i_color2);
  font-weight: 900;
}
.norke-about-polish .choose_list .norke-feature-copy {
  margin: 0;
  font-size: 16px;
  line-height: 1.75;
  color: #666;
  font-weight: 400;
}
.norke-about-polish .choose_list dt:hover .norke-feature-title {
  color: var(--i_color);
}
.norke-about-polish .faq_list h3 {
  position: relative;
  margin: 0.2rem 0;
  padding-bottom: 0.2rem;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
.norke-about-polish .faq_list h3::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0.8rem;
  height: 3px;
  background: var(--i_color);
}
.norke-about-polish .faq_list .fz16,
.norke-about-polish .faq_list .fz16 :is(p, li, span) {
  font-size: 16px;
  line-height: 1.75;
  color: #666;
}
.norke-about-polish .adv_video {
  max-width: 100%;
}
.norke-about-polish .adv_video span {
  flex-wrap: nowrap;
}
.norke-about-polish .adv_video p {
  min-width: 0;
  font-size: 16px;
  line-height: 1.5;
}
.norke-about-polish .adv_video i {
  flex-shrink: 0;
}

/* Contact headings retain the former large-title / small-kicker arrangement. */
.norke-contact-polish .i_tit > .norke-page-heading {
  margin: 0;
  font-size: clamp(28px, 2.65vw, 46px);
  line-height: 1.3;
  color: var(--i_color2);
  font-weight: 900;
}
.norke-contact-polish .i_tit > .norke-page-kicker {
  margin: 0 0 10px;
  font-size: 16px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.6;
  color: #666;
}
.norke-contact-polish .c_list .norke-contact-label {
  position: relative;
  margin: 0.14rem 0;
  padding-bottom: 0.14rem;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  color: #666;
}
.norke-contact-polish .c_list .norke-contact-label::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0.6rem;
  height: 2px;
  background: var(--i_color);
}
.norke-contact-polish .c_list a {
  display: block;
  width: fit-content;
  max-width: 100%;
  padding: 5px 0;
  overflow-wrap: anywhere;
}
.norke-contact-polish .c_list :is(a, p) {
  font-size: clamp(16px, 1.2vw, 20px);
  line-height: 1.6;
}
.norke-contact-polish .c_map iframe {
  border: 0;
}

/* Long-form policy content: readable text, real heading hierarchy, local overflow. */
.norke-privacy-polish .privacy_cont .tit h1 {
  font-size: clamp(26px, 2vw, 32px);
  line-height: 1.3;
  text-align: center;
  font-weight: 700;
}
.norke-privacy-polish .privacy_cont article {
  overflow-x: auto;
  font-size: 16px;
  line-height: 1.8;
  color: #666;
}
.norke-privacy-polish .privacy_cont article * {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}
.norke-privacy-polish .privacy_cont article :is(p, ul, ol, blockquote, table) {
  margin: 0 0 1em;
}
.norke-privacy-polish .privacy_cont article :is(ul, ol) {
  padding-left: 1.5em;
}
.norke-privacy-polish .privacy_cont article li + li {
  margin-top: 0.4em;
}
.norke-privacy-polish .privacy_cont article :is(h2, h3, h4) {
  margin: 1.4em 0 0.6em;
  font-weight: 700;
  line-height: 1.4;
  color: #333;
}
.norke-privacy-polish .privacy_cont article h2 { font-size: 24px; }
.norke-privacy-polish .privacy_cont article h3 { font-size: 20px; }
.norke-privacy-polish .privacy_cont article h4 { font-size: 18px; }
.norke-privacy-polish .privacy_cont article a {
  color: var(--i_color);
  text-decoration: underline;
  text-underline-offset: 2px;
  overflow-wrap: anywhere;
}
.norke-privacy-polish .privacy_cont article img {
  max-width: 100%;
  height: auto;
}
.norke-privacy-polish .privacy_cont article pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

@media (max-width: 1024px) {
  .norke-about-polish .ab_adv_t > .norke-feature-copy { padding: 0 6%; }
  .norke-about-polish .enterprise_list .ico { flex-shrink: 0; }
  .norke-about-polish .ab_pic { height: auto; }
  .norke-about-polish .ab_pic img { height: auto; }
}
@media (max-width: 768px) {
  .norke-about-polish .ab_list .norke-feature-title { margin-bottom: 10px; }
  .norke-about-polish .faq_list h3 {
    margin: 14px 0;
    padding-bottom: 14px;
    font-size: 18px;
  }
  .norke-contact-polish .c_list a { min-height: 36px; }
  .norke-contact-polish .c_map { min-height: 260px; }
  .norke-privacy-polish .privacy_cont { margin-bottom: 60px; }
}
@media (max-width: 560px) {
  .norke-about-polish .ab_adv_t > .norke-feature-copy { padding: 0 3%; }
  .norke-about-polish .faq_list h3::before { width: 0.6rem; height: 2px; }
  .norke-contact-polish .c_list a { min-height: 40px; }
}
