/* NORKE responsive typography repair — 2026-09-08.
   Keep the theme's rem scale and existing brand palette. */
:root { --norke-ink: #001224; --norke-copy: #334155; --norke-muted: #526174; }
body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline: 3px solid #1477d7; outline-offset: 3px;
}
.banner .swiper-slide { height: auto; min-height: 700px; padding-bottom: 0; align-items: center; }
/* Desktop banner fills the first viewport; mobile/tablet heights stay unchanged. */
@media (min-width: 1025px) {
  .norke-home-banner .swiper-slide {
    min-height: max(700px, calc(100vh - var(--top1_height)));
    min-height: max(700px, calc(100dvh - var(--top1_height)));
  }
}
.banner .swiper-slide::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(0,18,36,.82), rgba(0,18,36,.56) 58%, rgba(0,18,36,.15));
}
.banner_text { position: relative; top: auto; transform: none; z-index: 1; padding: 128px 0 88px; }
.banner_t { display: block; width: 54%; max-width: 780px; }
.banner_t .home-h1 { margin: 0 0 22px; font-size: clamp(32px,3.2vw,54px); line-height: 1.16; font-weight: 700; color: #fff; }
.banner_t > p { margin: 0 0 18px; font-size: clamp(17px,1.25vw,21px); line-height: 1.65; font-weight: 400; color: #fff; text-shadow: none; }
.banner_t > i { font-size: 16px; line-height: 1.6; color: #edf4fb; font-style: normal; }
.banner_t:not(:has(.home-h1)) > p { font-size: clamp(26px,2.4vw,40px); line-height: 1.35; font-weight: 700; }
.banner_t .i_more { margin-top: 28px; }
.banner > .b_form { width: min(340px,29%); right: 6%; }
.b_form_slogan h2 { color: #fff; font-size: 20px; font-weight: 700; line-height: 1.3; padding: 12px 6px; }
.b_form_slogan dd p { color: #fff; font-size: 14px; line-height: 1.5; padding: 8px 12px; }
.b_form_tit h2 { font-size: 15px; line-height: 1.5; color: var(--norke-muted); margin-bottom: 6px; }
.b_form_tit p { font-size: 26px; line-height: 1.25; }
.b_form_contact { padding: 0 18px 24px; }
.b_form_contact p { font-size: 14px; line-height: 1.65; color: var(--norke-copy); }
.i_tit:has(> h2) > h2 { font-size: clamp(26px,2.3vw,40px); line-height: 1.25; font-weight: 700; color: var(--norke-ink); }
.i_tit:has(> h2) > p { font-size: 15px; font-weight: 400; line-height: 1.55; color: var(--norke-muted); margin-top: 10px; }
.i_tit.white > h2 { color: #fff; }
.i_tit.white > p { color: #e2e8f0; }
.cat_list .swiper-slide, .ip_list .swiper-slide { height: auto; }
.cat_list .swiper-slide > a, .ip_list .swiper-slide > a { height: 100%; display: flex; flex-direction: column; }
.cat_list .txt { flex: 1; padding: 28px 22px 24px; }
.cat_list .txt h3 { display: block; height: auto; max-height: none; -webkit-line-clamp: unset; font-size: 20px; line-height: 1.35; font-weight: 700; color: var(--norke-ink); margin: 8px 0 14px; overflow: visible; }
.cat_list .txt > p { font-size: 16px; line-height: 1.65; color: var(--norke-copy); margin-bottom: 20px; }
.cat_list .txt .list_more { margin-top: 18px; }
.ip_list .txt { flex: 1; }
.ip_list .txt h3 { font-size: 18px; line-height: 1.4; font-weight: 700; color: var(--norke-ink); margin: 0 0 14px; }
.ip_list .txt dt { font-size: 14px; line-height: 1.6; color: var(--norke-muted); height: auto; }
.news_list .txt h3 { font-size: 20px; line-height: 1.35; font-weight: 700; color: var(--norke-ink); margin: 12px 0; }
.news_list .txt > p { font-size: 16px; line-height: 1.65; font-weight: 400; color: var(--norke-copy); height: auto; }
.i_more b { font-size: 16px; line-height: 1.4; padding: 14px 20px; white-space: normal; }
.i_more i { min-width: 44px; }
.p_name h1 { font-size: clamp(24px,2.2vw,36px); line-height: 1.25; overflow-wrap: break-word; }
.p_short_describe article, .det_content_list article, .ab_text article, .news_content article {
  font-size: 16px; line-height: 1.75; color: var(--norke-copy); overflow-wrap: break-word;
}
.p_short_describe article :is(p,li,td,th,span,strong), .det_content_list article :is(p,li,td,th,span,strong) { color: inherit; }
.p_short_describe article p, .det_content_list article p { margin: 0 0 16px; }
.det_content_list article h2, .ab_text article h2 { font-size: clamp(22px,1.8vw,28px); line-height: 1.3; color: var(--norke-ink); margin: 28px 0 12px; }
.det_content_list article h3 { font-size: 20px; line-height: 1.4; color: var(--norke-ink); margin: 24px 0 12px; }
.det_content_list article ul, .det_content_list article ol { padding-left: 24px; margin-bottom: 20px; }
.det_content_list article li { margin: 6px 0; }
.det_content_list article a, .p_short_describe article a { color: #0056b3; text-decoration: underline; }
.det_nav li { background: #e8eef5; }
/* Keep the animated overlay in sync with the tab background in every state. */
.det_nav li::before { background: inherit; pointer-events: none; transition-property: width; }
.det_nav p, .det_nav a { color: #001224; font-size: 16px; line-height: 1.5; }
.det_nav .active, .det_nav li:hover { background: #0056b3; }
.det_nav .active p, .det_nav .active a, .det_nav li:hover p, .det_nav li:hover a { color: #fff; }
.f_nav li a, .f_cr p, .f_cr a { color: #cbd5e1; font-size: 14px; line-height: 1.6; }
.f_nav li a:hover, .f_cr a:hover { color: #fff; }
.f_contact a, .f_contact p { overflow-wrap: anywhere; }
div.wpforms-container-full .wpforms-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
div.wpforms-container-full .wpforms-form textarea { font-size: 16px !important; line-height: 1.5; color: #243244; }
div.wpforms-container-full .wpforms-form input::placeholder,
div.wpforms-container-full .wpforms-form textarea::placeholder { color: #526174 !important; opacity: 1; }
#wpforms-8 .wpforms-field-container input, #wpforms-82 .wpforms-field-container input { min-height: 46px; }
#wpforms-8 .wpforms-submit-container button, #wpforms-82 .wpforms-submit-container button { min-height: 46px; font-size: 16px; }
@media (max-width: 1200px) and (min-width: 1025px) {
  .banner_t { width: 56%; }
  .banner > .b_form { right: 3%; width: 32%; }
}
@media (max-width: 1024px) {
  .banner .swiper-slide { min-height: 560px; }
  .banner_text { padding: 64px 0 72px; }
  .banner_t { width: 86%; max-width: 680px; }
  .banner_t .home-h1 { font-size: clamp(30px,4.8vw,46px); }
  .banner .swiper-slide::after { background: rgba(0,18,36,.68); }
}
@media (max-width: 767px) {
  .wrap { width: calc(100% - 40px); }
  .banner .swiper-slide { min-height: 570px; }
  .banner_text { padding: 44px 0 64px; }
  .banner_t { width: 100%; }
  .banner_t .home-h1 { font-size: clamp(30px,7.7vw,40px); line-height: 1.18; margin-bottom: 20px; }
  .banner_t > p { font-size: 17px; line-height: 1.6; }
  .banner_t > i { font-size: 15px; line-height: 1.65; }
  .banner_t:not(:has(.home-h1)) > p { font-size: 28px; }
  .banner-pagination { bottom: 22px; }
  .cat_list .txt { padding: 24px 20px; }
  .cat_list .txt h3 { font-size: 20px; }
  .cat_list .txt > p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
  .ip_list .txt h3 { font-size: 18px; }
  .ip_list .txt dt { font-size: 14px; }
  .p_short_describe dt, .p_name { padding: 20px; }
  .p_short_describe dt > h5 { font-size: 20px; line-height: 1.35; margin-bottom: 14px; }
  .det_content_list article { overflow-x: auto; }
  .det_content_list article table { max-width: 100%; font-size: 15px; }
  .det_contact ul { display: flex; flex-wrap: wrap; gap: 12px; }
  .det_contact li { margin: 0; max-width: 100%; }
  .det_contact li a, .det_contact li p { font-size: 16px; overflow-wrap: anywhere; }
  .in_position { font-size: 14px; line-height: 1.6; }
  .f_cr .wrap { padding-bottom: 76px; }
}
@media (prefers-reduced-motion: reduce) {
  .i_more, .cat_list *, .ip_list * { transition-duration: .01ms !important; }
}
/* Persistent navigation contrast and mobile contact access. */
.top2 { background: #001224; }
@media (max-width: 767px) {
  .aside_menu { top: auto; bottom: 12px; left: 12px; right: auto; transform: none; }
  .aside_menu ul { display: flex; gap: 6px; }
  .aside_menu li { width: 44px; height: 44px; margin: 0; }
  .aside_menu li a { width: 44px; height: 44px; }
  .aside_menu .aside_up { display: none; }
  .trp-floating-switcher { right: 12px !important; }
}
@media (max-width: 767px) { .aside_menu ul { flex-direction: row; } }
