/* 全站主視覺一致化：統一外框、文字階層與圖片比例。 */
:root {
  --nisc-hero-desktop-height: 600px;
  --nisc-hero-mobile-height: 720px;
  --nisc-hero-media-height: 350px;
  --nisc-hero-media-mobile-height: 210px;
  --nisc-hero-title-size: clamp(44px, 4.25vw, 58px);
  --nisc-hero-copy-size: 16px;
}

.home-hero, .page-hero, .production-hero, .ai-hero, .company-hero, .index-hero {
  box-sizing: border-box;
  height: var(--nisc-hero-desktop-height);
  min-height: var(--nisc-hero-desktop-height);
  max-height: var(--nisc-hero-desktop-height);
}

.page-hero-inner, .production-hero-inner, .ai-hero-inner {
  box-sizing: border-box;
  width: min(1240px, calc(100% - 48px));
  height: 100%;
  min-height: 0 !important;
  padding-top: 44px;
  padding-bottom: 44px;
}

.home-hero .hero-inner, .company-hero-content {
  box-sizing: border-box;
  width: min(1240px, calc(100% - 48px));
  height: 100%;
  min-height: 0;
}

.home-hero .hero-inner { padding-top: 58px; }
.company-hero-content { padding-top: 68px; padding-bottom: 58px; }

.page-products .page-hero-inner,
.page-esg .page-hero-inner,
.page-news .news-hero .page-hero-inner,
.production-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 48px;
}

.product-center-hero-visual,
.production-hero-media,
.esg-eco-stage,
.news-hero-visual,
.print-anytime-hero-image {
  box-sizing: border-box;
  width: 100%;
  height: var(--nisc-hero-media-height);
  min-height: var(--nisc-hero-media-height);
  max-height: var(--nisc-hero-media-height);
  aspect-ratio: 16 / 9;
  margin: 0;
  overflow: hidden;
}

.product-center-hero-visual img,
.production-hero-media img,
.esg-eco-stage > img,
.news-hero-visual img,
.print-anytime-hero-image img {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
}

.product-center-hero-visual img, .production-hero-media img { object-fit: contain; }
.esg-eco-stage > img, .news-hero-visual img, .print-anytime-hero-image img { object-fit: cover; }

.home-hero .hero-copy h1,
.page-hero h1,
.production-hero-copy h1,
.ai-hero h1,
.company-hero h1,
.campaign-copy h1 {
  font-size: var(--nisc-hero-title-size);
  line-height: 1.1;
}

.home-hero .hero-lead,
.page-hero p,
.production-hero-copy > p,
.ai-hero-copy > p,
.company-hero-lead,
.campaign-copy p {
  font-size: var(--nisc-hero-copy-size);
  line-height: 1.8;
}

.page-products .page-hero h1,
.page-services .page-hero h1,
.page-esg .page-hero h1,
.page-news .news-hero h1 { font-size: var(--nisc-hero-title-size); }

.page-news .news-hero h1 em { font-size: .56em; }

.index-hero { padding: 32px 24px; }
.index-hero .campaign-visual { box-sizing: border-box; height: 496px; }
.production-hero-media figcaption { display: none; }

.article-page-print-anytime .print-anytime-integrated-hero {
  box-sizing: border-box;
  height: var(--nisc-hero-desktop-height);
  min-height: var(--nisc-hero-desktop-height);
  max-height: var(--nisc-hero-desktop-height);
  padding-top: 44px;
  padding-bottom: 44px;
}

.article-page-print-anytime .print-anytime-integrated-hero > div {
  height: 100%;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px;
}

.article-page-print-anytime .print-anytime-hero-copy h1 {
  font-size: var(--nisc-hero-title-size);
  line-height: 1.1;
}

@media (max-width: 980px) {
  :root { --nisc-hero-title-size: clamp(39px, 7vw, 52px); }
  .page-products .page-hero-inner,
  .page-esg .page-hero-inner,
  .page-news .news-hero .page-hero-inner,
  .production-hero-inner,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 30px;
  }
}

@media (max-width: 700px) {
  :root {
    --nisc-hero-title-size: clamp(32px, 9.2vw, 42px);
    --nisc-hero-copy-size: 14px;
  }

  .home-hero, .page-hero, .production-hero, .ai-hero, .company-hero, .index-hero,
  .article-page-print-anytime .print-anytime-integrated-hero {
    height: var(--nisc-hero-mobile-height);
    min-height: var(--nisc-hero-mobile-height);
    max-height: var(--nisc-hero-mobile-height);
  }

  .home-hero {
    display: block;
    height: var(--nisc-hero-mobile-height) !important;
    min-height: var(--nisc-hero-mobile-height) !important;
    max-height: var(--nisc-hero-mobile-height) !important;
  }

  .home-hero .hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: 64% center;
  }

  .home-hero .hero-overlay {
    display: block;
    background: linear-gradient(180deg, rgba(250,253,255,.98) 0%, rgba(250,253,255,.92) 56%, rgba(250,253,255,.40) 78%, rgba(250,253,255,.10) 100%);
  }

  .page-hero-inner, .production-hero-inner, .ai-hero-inner, .home-hero .hero-inner,
  .company-hero-content, .article-page-print-anytime .print-anytime-integrated-hero > div {
    width: min(100% - 32px, 1240px);
  }

  .page-products .page-hero-inner,
  .page-esg .page-hero-inner,
  .page-news .news-hero .page-hero-inner,
  .production-hero-inner,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    height: 100%;
    grid-template-columns: 1fr;
    align-content: center;
    gap: 22px;
    padding-top: 28px;
    padding-bottom: 28px;
  }

  .page-hero-inner, .ai-hero-inner { height: 100%; padding-top: 34px; padding-bottom: 34px; }
  .home-hero .hero-inner { height: 100%; padding: 52px 0 0; }
  .company-hero-content { padding-top: 58px; padding-bottom: 42px; }

  .product-center-hero-visual, .production-hero-media, .esg-eco-stage,
  .news-hero-visual, .print-anytime-hero-image {
    width: 100%;
    height: var(--nisc-hero-media-mobile-height);
    min-height: var(--nisc-hero-media-mobile-height);
    max-height: var(--nisc-hero-media-mobile-height);
    aspect-ratio: 16 / 9;
  }

  .production-hero-media { padding: 8px; }
  .production-hero-media figcaption { display: none; }
  .page-services .page-hero-inner, .ai-hero-inner { display: flex; align-items: center; }
  .page-news .news-hero h1 em { font-size: .58em; }
  .page-products .page-hero h1 { white-space: normal; text-wrap: balance; }
  .index-hero { padding: 8px; }
  .index-hero .campaign-visual { height: 704px; }
  .article-page-print-anytime .print-anytime-integrated-hero { padding: 0; }
}

/* 關於我們 V3：明亮銀白科技主視覺。 */
.company-v21 .company-hero {
  background: #edf7f5;
  color: #123b3a;
}

.company-v21 .company-hero::after {
  background: linear-gradient(90deg, rgba(248, 252, 252, .98) 0%, rgba(246, 252, 250, .93) 40%, rgba(239, 249, 247, .50) 63%, rgba(239, 249, 247, .08) 100%);
}

.company-v21 .company-hero-grid {
  opacity: .18;
}

.company-v21 .company-eyebrow {
  color: #168471;
}

.company-v21 .company-hero h1 {
  color: #123a3b;
  text-shadow: 0 3px 24px rgba(255, 255, 255, .72);
}

.company-v21 .company-hero h1 em {
  color: #0b9d79;
}

.company-v21 .company-hero-lead {
  color: #486b6a;
}

.company-v21 .company-text-button {
  color: #176b62;
}

.company-v21 .company-hero-highlights > span {
  border-color: rgba(18, 133, 107, .16);
  background: rgba(255, 255, 255, .66);
  box-shadow: 0 9px 26px rgba(31, 105, 90, .07), inset 0 1px rgba(255, 255, 255, .84);
}

.company-v21 .company-hero-highlights strong {
  color: #137662;
}

.company-v21 .company-hero-highlights small {
  color: #66807c;
}

.company-v21 .company-hero-index {
  color: rgba(16, 104, 87, .54);
}

@media (max-width: 700px) {
  .company-v21 .company-hero-image {
    object-position: 68% center;
  }

  .company-v21 .company-hero::after {
    background: linear-gradient(180deg, rgba(248, 252, 252, .97) 0%, rgba(246, 252, 250, .92) 54%, rgba(239, 249, 247, .62) 77%, rgba(239, 249, 247, .22) 100%);
  }
}

/* V10：全站手機主視覺滿版、雙欄資訊框與清楚漢堡選單。 */
@media (max-width: 820px) {
  :root {
    --nisc-hero-mobile-height: clamp(590px, calc(100svh - 64px), 660px);
  }

  .home-hero,
  .page-hero,
  .production-hero,
  .ai-hero,
  .company-hero,
  .index-hero,
  .index-hero .campaign-visual,
  .article-page-print-anytime .print-anytime-integrated-hero {
    width: 100% !important;
    height: var(--nisc-hero-mobile-height) !important;
    min-height: var(--nisc-hero-mobile-height) !important;
    max-height: var(--nisc-hero-mobile-height) !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  .home-hero .hero-inner,
  .page-hero-inner,
  .production-hero-inner,
  .ai-hero-inner,
  .company-hero-content,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    box-sizing: border-box;
    width: calc(100% - 28px) !important;
    height: 100% !important;
    margin: 0 auto !important;
    padding: clamp(26px, 7vw, 38px) 0 24px !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }

  .home-hero .hero-copy,
  .page-products .page-hero-inner > div:first-of-type,
  .page-services .page-hero-inner > div:first-of-type,
  .page-esg .page-hero-inner > div:first-of-type,
  .page-news .page-hero-inner > div:first-of-type,
  .production-hero-copy,
  .ai-hero-copy,
  .company-hero-copy,
  .article-page-print-anytime .print-anytime-hero-copy {
    width: 100% !important;
    max-width: 100% !important;
  }

  .index-hero .campaign-copy {
    top: clamp(26px, 7vw, 38px) !important;
    left: 14px !important;
    width: calc(100% - 28px) !important;
    max-width: none !important;
  }

  .home-hero h1,
  .page-hero h1,
  .production-hero h1,
  .ai-hero h1,
  .company-hero h1,
  .index-hero .campaign-copy h1,
  .article-page-print-anytime .print-anytime-hero-copy h1 {
    margin-top: 8px !important;
    margin-bottom: 12px !important;
    font-size: clamp(30px, 9.2vw, 42px) !important;
    line-height: 1.14 !important;
    text-wrap: balance;
  }

  .home-hero .hero-lead,
  .page-hero p,
  .production-hero-copy > p,
  .ai-hero-copy > p,
  .company-hero-lead,
  .index-hero .campaign-copy > p,
  .article-page-print-anytime .print-anytime-hero-copy > p {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    font-size: 13.5px !important;
    line-height: 1.65 !important;
    text-wrap: pretty;
  }

  .home-hero .hero-lead br { display: none; }
  .home-hero .hero-actions,
  .services-hero-actions,
  .esg-hero-actions,
  .production-actions,
  .ai-hero-actions,
  .company-hero-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
  }

  .home-hero .hero-actions > *,
  .services-hero-actions > *,
  .esg-hero-actions > *,
  .production-actions > *,
  .ai-hero-actions > *,
  .company-hero-actions > * {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 10px 9px !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .home-hero .hero-tags,
  .brand-hero-points,
  .services-hero-points,
  .esg-hero-metrics,
  .news-hero-points,
  .production-hero-tags,
  .ai-hero-proof,
  .company-hero-highlights,
  .index-hero .campaign-features,
  .article-page-print-anytime .print-anytime-hero-points {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 16px 0 0 !important;
  }

  .home-hero .hero-tags > *,
  .brand-hero-points > *,
  .services-hero-points > *,
  .esg-hero-metrics > *,
  .news-hero-points > *,
  .production-hero-tags > *,
  .ai-hero-proof > *,
  .company-hero-highlights > *,
  .index-hero .campaign-features > *,
  .article-page-print-anytime .print-anytime-hero-points > * {
    box-sizing: border-box;
    min-width: 0 !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 8px 9px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    border-radius: 10px !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
  }

  .brand-hero-points > :last-child:nth-child(odd),
  .services-hero-points > :last-child:nth-child(odd),
  .esg-hero-metrics > :last-child:nth-child(odd),
  .news-hero-points > :last-child:nth-child(odd),
  .production-hero-tags > :last-child:nth-child(odd),
  .ai-hero-proof > :last-child:nth-child(odd),
  .company-hero-highlights > :last-child:nth-child(odd),
  .article-page-print-anytime .print-anytime-hero-points > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .brand-hero-points strong,
  .brand-hero-points span,
  .ai-hero-proof strong,
  .ai-hero-proof span,
  .company-hero-highlights strong,
  .company-hero-highlights small {
    display: block;
    font-size: 9px !important;
    line-height: 1.3 !important;
  }

  .dual-brands {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 16px !important;
  }
  .dual-brand { min-width: 0; justify-content: center; }
  .dual-line { display: none !important; }

  .home-hero .hero-image,
  .ai-hero-visual,
  .ai-hero-visual img,
  .company-hero-image {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 68% center !important;
  }

  .home-hero .scroll-hint,
  .ai-scroll-cue,
  .ai-signal,
  .company-hero-index { display: none !important; }

  .menu-toggle,
  .nisc-menu-button {
    position: relative !important;
    flex: 0 0 42px !important;
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    margin-left: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #173f36 !important;
    font-size: 0 !important;
    box-shadow: none !important;
  }

  .menu-toggle svg { display: none !important; }
  .menu-toggle::before,
  .nisc-menu-button::before {
    content: "";
    width: 24px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    box-shadow: 0 -7px currentColor, 0 7px currentColor;
    transition: transform .2s ease, box-shadow .2s ease;
  }

  .menu-toggle::after,
  .nisc-menu-button::after {
    content: "";
    position: absolute;
    width: 24px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0;
    transition: transform .2s ease, opacity .2s ease;
  }

  .menu-toggle[aria-expanded="true"]::before,
  .nisc-menu-button[aria-expanded="true"]::before {
    box-shadow: none;
    transform: rotate(45deg);
  }
  .menu-toggle[aria-expanded="true"]::after,
  .nisc-menu-button[aria-expanded="true"]::after {
    opacity: 1;
    transform: rotate(-45deg);
  }
}

@media (max-width: 380px) {
  :root { --nisc-hero-mobile-height: 620px; }
  .home-hero .hero-inner,
  .page-hero-inner,
  .production-hero-inner,
  .ai-hero-inner,
  .company-hero-content,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    width: calc(100% - 24px) !important;
    padding-top: 22px !important;
  }
  .index-hero .campaign-copy { top: 22px !important; left: 12px !important; width: calc(100% - 24px) !important; }
}

/* V6：最終優先層－全站明亮、高科技、全幅背景。 */
.page-products:not(.page-products-epson) .page-hero {
  background: linear-gradient(90deg, rgba(249,253,253,.98) 0%, rgba(247,253,251,.93) 40%, rgba(240,250,248,.46) 64%, rgba(240,250,248,.05) 100%), url("../images/hero-bright-products-v2.webp") center / cover no-repeat;
}
.page-products-epson .page-hero {
  background: linear-gradient(90deg, rgba(249,252,255,.98) 0%, rgba(246,251,255,.93) 40%, rgba(238,248,253,.46) 64%, rgba(238,248,253,.05) 100%), url("../images/hero-bright-epson-v2.webp") center / cover no-repeat;
}
.production-hero {
  background: linear-gradient(90deg, rgba(250,252,253,.98) 0%, rgba(248,251,252,.93) 40%, rgba(241,248,250,.46) 64%, rgba(241,248,250,.05) 100%), url("../images/hero-bright-digital-print-v2.webp") center / cover no-repeat;
}
.page-services .page-hero {
  background: linear-gradient(90deg, rgba(249,253,252,.98) 0%, rgba(246,252,249,.93) 40%, rgba(237,249,244,.46) 64%, rgba(237,249,244,.05) 100%), url("../images/hero-bright-services-v2.webp") center / cover no-repeat;
}
.page-esg .page-hero {
  background: linear-gradient(90deg, rgba(250,253,253,.98) 0%, rgba(247,253,251,.93) 40%, rgba(237,250,247,.44) 64%, rgba(237,250,247,.05) 100%), url("../images/hero-bright-esg-v2.webp") center / cover no-repeat;
}
.page-news .news-hero {
  background: linear-gradient(90deg, rgba(251,253,255,.98) 0%, rgba(248,252,255,.93) 40%, rgba(240,248,252,.44) 64%, rgba(240,248,252,.05) 100%), url("../images/hero-bright-news-v2.webp") center / cover no-repeat;
}
.article-page-print-anytime .print-anytime-integrated-hero {
  background: linear-gradient(90deg, rgba(250,253,255,.98) 0%, rgba(247,252,255,.93) 40%, rgba(239,249,252,.44) 64%, rgba(239,249,252,.05) 100%), url("../images/hero-bright-print-anywhere-v2.webp") center / cover no-repeat;
}

.page-products .page-hero h1,
.page-services .page-hero h1,
.page-esg .page-hero h1,
.page-news .news-hero h1,
.production-hero-copy h1,
.article-page-print-anytime .print-anytime-hero-copy h1 {
  color: #153b3d;
  text-shadow: 0 3px 24px rgba(255,255,255,.72);
}
.page-products .page-hero p,
.page-services .page-hero p,
.page-esg .page-hero p,
.page-news .news-hero p,
.production-hero-copy > p,
.article-page-print-anytime .print-anytime-hero-copy > p { color: #536f70; }
.page-products .page-hero .eyebrow,
.page-services .page-hero .eyebrow,
.page-esg .page-hero .eyebrow,
.page-news .news-hero .eyebrow,
.production-hero .eyebrow,
.article-page-print-anytime .print-anytime-hero-copy > span { color: #14806b; }
.brand-hero-slogan,
.esg-hero-slogan,
.page-news .news-hero h1 em,
.production-hero-copy h1 em {
  color: #0c9875;
  -webkit-text-fill-color: currentColor;
}
.brand-hero-points > div,
.services-hero-points span,
.esg-hero-metrics span,
.news-hero-points span,
.print-anytime-hero-points strong {
  border-color: rgba(18,132,107,.16);
  background: rgba(255,255,255,.72);
  color: #486b67;
  box-shadow: 0 9px 25px rgba(38,111,94,.07), inset 0 1px rgba(255,255,255,.88);
}
.brand-hero-points strong { color: #14735f; }
.brand-hero-points span { color: #66817d; }
.esg-hero-actions a,
.services-hero-actions a,
.article-page-print-anytime .print-anytime-hero-copy > a { border-color: rgba(13,111,88,.20); color: #176e5c; }

.home-hero .hero-image { content: url("../images/hero-bright-home-v2.webp"); }
.home-hero .hero-overlay { display: block; background: linear-gradient(90deg, rgba(250,253,254,.98) 0%, rgba(247,252,253,.93) 40%, rgba(239,249,250,.44) 64%, rgba(239,249,250,.05) 100%); }
.home-hero .eyebrow { color: #168271; }
.home-hero .hero-copy h1 { color: #153b43; text-shadow: 0 3px 24px rgba(255,255,255,.72); }
.home-hero .hero-copy h1 em { color: #0b8e78; }
.home-hero .hero-lead { color: #526d76; }
.home-hero .hero-tags span { border-color: rgba(20,120,100,.16); background: rgba(255,255,255,.72); color: #466e69; }
.home-hero .secondary { border-color: rgba(17,105,91,.24); background: rgba(255,255,255,.74); color: #176457; }

.ai-hero-visual img { content: url("../images/hero-bright-ai-v2.webp"); }
.ai-hero::before { background: linear-gradient(90deg, rgba(251,250,255,.98) 0%, rgba(249,248,255,.93) 40%, rgba(242,243,252,.44) 64%, rgba(242,243,252,.05) 100%); }
.ai-hero::after { height: 60px; background: linear-gradient(transparent, rgba(247,249,255,.44)); }
.ai-hero-eyebrow { color: #20817d; }
.ai-hero h1 { color: #233d5b; text-shadow: 0 3px 24px rgba(255,255,255,.75); }
.ai-hero h1 em { color: #0d947a; }
.ai-hero-copy > p { color: #596e7c; }
.ai-hero-proof div { border-color: rgba(24,108,96,.16); }
.ai-hero-proof strong { color: #14705f; }
.ai-hero-proof span { color: #6b7f85; }
.ai-hero .button-secondary { border-color: rgba(18,105,93,.22); background: rgba(255,255,255,.74); color: #176457; }

.index-hero .campaign-visual {
  background: linear-gradient(90deg, rgba(251,252,253,.98) 0%, rgba(249,251,252,.93) 40%, rgba(242,248,249,.44) 64%, rgba(242,248,249,.05) 100%), url("../images/hero-bright-kyocera-v2.webp") center / cover no-repeat;
}
.index-hero .campaign-copy { color: #263f48; }
.index-hero .campaign-copy small { color: #177a70; }
.index-hero .campaign-copy h1 { color: #263e46; }
.index-hero .campaign-copy p { color: #61757b; }
.index-hero .campaign-features span { border-color: rgba(24,111,99,.15); background: rgba(255,255,255,.72); color: #466a66; }

@media (max-width: 700px) {
  .page-products .page-hero::after,
  .production-hero::after,
  .page-services .page-hero::after,
  .page-esg .page-hero::after,
  .page-news .news-hero::after,
  .article-page-print-anytime .print-anytime-integrated-hero::after {
    background: linear-gradient(180deg, rgba(250,253,253,.97) 0%, rgba(247,252,251,.92) 54%, rgba(239,249,247,.62) 77%, rgba(239,249,247,.20) 100%);
  }
  .home-hero .hero-overlay { background: linear-gradient(180deg, rgba(250,253,254,.97) 0%, rgba(247,252,253,.92) 54%, rgba(239,249,250,.62) 77%, rgba(239,249,250,.20) 100%); }
  .ai-hero::before { background: linear-gradient(180deg, rgba(251,250,255,.97) 0%, rgba(249,248,255,.92) 54%, rgba(242,243,252,.62) 77%, rgba(242,243,252,.20) 100%); }
  .index-hero .campaign-visual::after { background: linear-gradient(180deg, rgba(251,252,253,.97) 0%, rgba(249,251,252,.92) 54%, rgba(242,248,249,.60) 77%, rgba(242,248,249,.18) 100%); }
}

/* V5：全站明亮高科技全幅背景。 */
.page-products:not(.page-products-epson) .page-hero {
  background: linear-gradient(90deg, rgba(249, 253, 253, .98) 0%, rgba(247, 253, 251, .93) 40%, rgba(240, 250, 248, .46) 64%, rgba(240, 250, 248, .05) 100%), url("../images/hero-bright-products-v2.webp") center / cover no-repeat;
}

.page-products-epson .page-hero {
  background: linear-gradient(90deg, rgba(249, 252, 255, .98) 0%, rgba(246, 251, 255, .93) 40%, rgba(238, 248, 253, .46) 64%, rgba(238, 248, 253, .05) 100%), url("../images/hero-bright-epson-v2.webp") center / cover no-repeat;
}

.production-hero {
  background: linear-gradient(90deg, rgba(250, 252, 253, .98) 0%, rgba(248, 251, 252, .93) 40%, rgba(241, 248, 250, .46) 64%, rgba(241, 248, 250, .05) 100%), url("../images/hero-bright-digital-print-v2.webp") center / cover no-repeat;
}

.page-services .page-hero {
  background: linear-gradient(90deg, rgba(249, 253, 252, .98) 0%, rgba(246, 252, 249, .93) 40%, rgba(237, 249, 244, .46) 64%, rgba(237, 249, 244, .05) 100%), url("../images/hero-bright-services-v2.webp") center / cover no-repeat;
}

.page-esg .page-hero {
  background: linear-gradient(90deg, rgba(250, 253, 253, .98) 0%, rgba(247, 253, 251, .93) 40%, rgba(237, 250, 247, .44) 64%, rgba(237, 250, 247, .05) 100%), url("../images/hero-bright-esg-v2.webp") center / cover no-repeat;
}

.page-news .news-hero {
  background: linear-gradient(90deg, rgba(251, 253, 255, .98) 0%, rgba(248, 252, 255, .93) 40%, rgba(240, 248, 252, .44) 64%, rgba(240, 248, 252, .05) 100%), url("../images/hero-bright-news-v2.webp") center / cover no-repeat;
}

.article-page-print-anytime .print-anytime-integrated-hero {
  background: linear-gradient(90deg, rgba(250, 253, 255, .98) 0%, rgba(247, 252, 255, .93) 40%, rgba(239, 249, 252, .44) 64%, rgba(239, 249, 252, .05) 100%), url("../images/hero-bright-print-anywhere-v2.webp") center / cover no-repeat;
}

.page-products .page-hero h1,
.page-services .page-hero h1,
.page-esg .page-hero h1,
.page-news .news-hero h1,
.production-hero-copy h1,
.article-page-print-anytime .print-anytime-hero-copy h1 {
  color: #153b3d;
  text-shadow: 0 3px 24px rgba(255, 255, 255, .72);
}

.page-products .page-hero p,
.page-services .page-hero p,
.page-esg .page-hero p,
.page-news .news-hero p,
.production-hero-copy > p,
.article-page-print-anytime .print-anytime-hero-copy > p {
  color: #536f70;
}

.page-products .page-hero .eyebrow,
.page-services .page-hero .eyebrow,
.page-esg .page-hero .eyebrow,
.page-news .news-hero .eyebrow,
.production-hero .eyebrow,
.article-page-print-anytime .print-anytime-hero-copy > span {
  color: #14806b;
}

.brand-hero-slogan,
.esg-hero-slogan,
.page-news .news-hero h1 em,
.production-hero-copy h1 em {
  color: #0c9875;
}

.brand-hero-points > div,
.services-hero-points span,
.esg-hero-metrics span,
.news-hero-points span,
.print-anytime-hero-points strong {
  border-color: rgba(18, 132, 107, .16);
  background: rgba(255, 255, 255, .68);
  color: #486b67;
  box-shadow: 0 9px 25px rgba(38, 111, 94, .07), inset 0 1px rgba(255, 255, 255, .88);
}

.brand-hero-points strong { color: #14735f; }
.brand-hero-points span { color: #66817d; }
.esg-hero-actions a, .services-hero-actions a, .article-page-print-anytime .print-anytime-hero-copy > a { border-color: rgba(13, 111, 88, .20); color: #176e5c; }

.home-hero .hero-image { content: url("../images/hero-bright-home-v2.webp"); }
.home-hero .hero-overlay { background: linear-gradient(90deg, rgba(250, 253, 254, .98) 0%, rgba(247, 252, 253, .93) 40%, rgba(239, 249, 250, .44) 64%, rgba(239, 249, 250, .05) 100%); }
.home-hero .eyebrow { color: #168271; }
.home-hero .hero-copy h1 { color: #153b43; text-shadow: 0 3px 24px rgba(255,255,255,.72); }
.home-hero .hero-copy h1 em { color: #0b8e78; }
.home-hero .hero-lead { color: #526d76; }
.home-hero .hero-tags span { border-color: rgba(20, 120, 100, .16); background: rgba(255,255,255,.68); color: #466e69; }
.home-hero .secondary { border-color: rgba(17, 105, 91, .24); background: rgba(255,255,255,.70); color: #176457; }

.ai-hero-visual img { content: url("../images/hero-bright-ai-v2.webp"); }
.ai-hero::before { background: linear-gradient(90deg, rgba(251, 250, 255, .98) 0%, rgba(249, 248, 255, .93) 40%, rgba(242, 243, 252, .44) 64%, rgba(242, 243, 252, .05) 100%); }
.ai-hero::after { height: 60px; background: linear-gradient(transparent, rgba(247, 249, 255, .44)); }
.ai-hero-eyebrow { color: #20817d; }
.ai-hero h1 { color: #233d5b; text-shadow: 0 3px 24px rgba(255,255,255,.75); }
.ai-hero h1 em { color: #0d947a; }
.ai-hero-copy > p { color: #596e7c; }
.ai-hero-proof div { border-color: rgba(24, 108, 96, .16); }
.ai-hero-proof strong { color: #14705f; }
.ai-hero-proof span { color: #6b7f85; }
.ai-hero .button-secondary { border-color: rgba(18,105,93,.22); background: rgba(255,255,255,.70); color: #176457; }

.index-hero .campaign-visual {
  background: linear-gradient(90deg, rgba(251, 252, 253, .98) 0%, rgba(249, 251, 252, .93) 40%, rgba(242, 248, 249, .44) 64%, rgba(242, 248, 249, .05) 100%), url("../images/hero-bright-kyocera-v2.webp") center / cover no-repeat;
}
.index-hero .campaign-copy { color: #263f48; }
.index-hero .campaign-copy small { color: #177a70; }
.index-hero .campaign-copy h1 { color: #263e46; }
.index-hero .campaign-copy p { color: #61757b; }
.index-hero .campaign-features span { border-color: rgba(24, 111, 99, .15); background: rgba(255,255,255,.68); color: #466a66; }

@media (max-width: 700px) {
  .page-products .page-hero::after,
  .production-hero::after,
  .page-services .page-hero::after,
  .page-esg .page-hero::after,
  .page-news .news-hero::after,
  .article-page-print-anytime .print-anytime-integrated-hero::after {
    background: linear-gradient(180deg, rgba(250, 253, 253, .97) 0%, rgba(247, 252, 251, .92) 54%, rgba(239, 249, 247, .62) 77%, rgba(239, 249, 247, .20) 100%);
  }

  .home-hero .hero-overlay { background: linear-gradient(180deg, rgba(250,253,254,.97) 0%, rgba(247,252,253,.92) 54%, rgba(239,249,250,.62) 77%, rgba(239,249,250,.20) 100%); }
  .ai-hero::before { background: linear-gradient(180deg, rgba(251,250,255,.97) 0%, rgba(249,248,255,.92) 54%, rgba(242,243,252,.62) 77%, rgba(242,243,252,.20) 100%); }
  .index-hero .campaign-visual::after { background: linear-gradient(180deg, rgba(251,252,253,.97) 0%, rgba(249,251,252,.92) 54%, rgba(242,248,249,.60) 77%, rgba(242,248,249,.18) 100%); }
}

@media (max-width: 380px) {
  :root { --nisc-hero-title-size: clamp(29px, 8.8vw, 36px); }
  .home-hero .hero-actions, .company-hero-actions, .ai-hero-actions { margin-top: 20px; }
}

/* V2：全站全幅科技背景主視覺。 */
.page-products:not(.page-products-epson) .page-hero {
  background: linear-gradient(90deg, rgba(4, 15, 27, .98) 0%, rgba(4, 18, 30, .91) 37%, rgba(4, 18, 30, .38) 64%, rgba(4, 18, 30, .08) 100%), url("../images/hero-full-products-v1.webp") center / cover no-repeat;
}

.page-products-epson .page-hero {
  background: linear-gradient(90deg, rgba(4, 16, 35, .98) 0%, rgba(4, 20, 42, .90) 38%, rgba(4, 20, 42, .34) 65%, rgba(4, 20, 42, .06) 100%), url("../images/hero-full-epson-v1.webp") center / cover no-repeat;
}

.production-hero {
  background: linear-gradient(90deg, rgba(5, 14, 28, .98) 0%, rgba(5, 17, 32, .90) 38%, rgba(5, 17, 32, .34) 66%, rgba(5, 17, 32, .06) 100%), url("../images/hero-full-digital-print-v1.webp") center / cover no-repeat;
}

.page-services .page-hero {
  background: linear-gradient(90deg, rgba(3, 21, 27, .98) 0%, rgba(3, 27, 32, .91) 38%, rgba(3, 27, 32, .36) 66%, rgba(3, 27, 32, .07) 100%), url("../images/hero-full-services-v1.webp") center / cover no-repeat;
}

.page-esg .page-hero {
  background: linear-gradient(90deg, rgba(3, 22, 31, .98) 0%, rgba(3, 28, 36, .90) 38%, rgba(3, 28, 36, .34) 66%, rgba(3, 28, 36, .06) 100%), url("../images/hero-full-esg-v1.webp") center / cover no-repeat;
}

.page-news .news-hero {
  background: linear-gradient(90deg, rgba(3, 15, 31, .98) 0%, rgba(3, 19, 37, .90) 38%, rgba(3, 19, 37, .34) 66%, rgba(3, 19, 37, .06) 100%), url("../images/hero-full-news-v1.webp") center / cover no-repeat;
}

.article-page-print-anytime .print-anytime-integrated-hero {
  background: linear-gradient(90deg, rgba(4, 18, 39, .98) 0%, rgba(4, 22, 47, .90) 38%, rgba(4, 22, 47, .33) 66%, rgba(4, 22, 47, .05) 100%), url("../images/hero-full-print-anywhere-v1.webp") center / cover no-repeat;
}

.page-products .page-hero::after,
.page-services .page-hero::after,
.page-esg .page-hero::after,
.page-news .news-hero::after {
  content: none;
}

.page-products .page-hero-grid,
.page-services .page-hero-grid,
.page-esg .page-hero-grid,
.page-news .page-hero-grid {
  opacity: .16;
  mask-image: linear-gradient(90deg, #000, transparent 58%);
}

.page-products .page-hero-inner,
.page-esg .page-hero-inner,
.page-news .news-hero .page-hero-inner,
.production-hero-inner,
.article-page-print-anytime .print-anytime-integrated-hero > div {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.page-products .page-hero-inner > div,
.page-services .page-hero-inner > div,
.page-esg .page-hero-inner > div,
.page-news .news-hero .page-hero-inner > div,
.production-hero-copy,
.article-page-print-anytime .print-anytime-hero-copy {
  position: relative;
  z-index: 3;
  width: min(650px, 54%);
  max-width: 650px;
}

.page-products .product-center-hero-visual,
.page-esg .esg-eco-stage,
.page-news .news-hero-visual,
.production-hero-media,
.article-page-print-anytime .print-anytime-hero-image {
  display: none;
}

.page-products .page-hero h1,
.page-services .page-hero h1,
.page-esg .page-hero h1,
.page-news .news-hero h1,
.production-hero-copy h1,
.article-page-print-anytime .print-anytime-hero-copy h1 {
  color: #fff;
  text-shadow: 0 3px 24px rgba(0, 0, 0, .24);
}

.page-products .page-hero p,
.page-services .page-hero p,
.page-esg .page-hero p,
.page-news .news-hero p,
.production-hero-copy > p,
.article-page-print-anytime .print-anytime-hero-copy > p {
  color: rgba(238, 248, 249, .78);
}

.page-products .page-hero .eyebrow,
.page-services .page-hero .eyebrow,
.page-esg .page-hero .eyebrow,
.page-news .news-hero .eyebrow,
.production-hero .eyebrow,
.article-page-print-anytime .print-anytime-hero-copy > span {
  color: #8ff3d3;
}

.brand-hero-slogan,
.esg-hero-slogan,
.page-news .news-hero h1 em,
.production-hero-copy h1 em {
  color: #77e9c7;
  background: none;
  -webkit-text-fill-color: currentColor;
}

.brand-hero-points > div,
.services-hero-points span,
.esg-hero-metrics span,
.news-hero-points span,
.print-anytime-hero-points strong {
  border-color: rgba(185, 245, 227, .20);
  background: rgba(5, 30, 39, .50);
  color: rgba(238, 252, 248, .82);
  box-shadow: inset 0 1px rgba(255, 255, 255, .05);
  backdrop-filter: blur(10px);
}

.brand-hero-points strong { color: #b6f7e3; }
.brand-hero-points span { color: rgba(233, 247, 244, .70); }
.esg-hero-actions a, .services-hero-actions a, .article-page-print-anytime .print-anytime-hero-copy > a {
  border-color: rgba(255, 255, 255, .24);
  color: #fff;
}

.home-hero .hero-image { content: url("../images/hero-full-home-v1.webp"); }
.home-hero .hero-overlay { display: block; background: linear-gradient(90deg, rgba(3, 14, 28, .97) 0%, rgba(3, 18, 31, .88) 38%, rgba(3, 18, 31, .30) 64%, rgba(3, 18, 31, .04) 100%); }
.home-hero .eyebrow { color: #8ff3d3; }
.home-hero .hero-copy h1 { color: #fff; text-shadow: 0 3px 24px rgba(0, 0, 0, .22); }
.home-hero .hero-copy h1 em { color: #6fe7c3; }
.home-hero .hero-lead { color: rgba(238, 248, 249, .80); }
.home-hero .hero-tags span { border-color: rgba(185, 245, 227, .20); background: rgba(5, 30, 39, .48); color: #e5f9f3; }
.home-hero .secondary { border-color: rgba(255,255,255,.34); background: rgba(5, 25, 39, .45); color: #fff; }

.ai-hero-visual img { content: url("../images/hero-full-ai-v1.webp"); }
.ai-hero::before { background: linear-gradient(90deg, rgba(4, 10, 35, .98) 0%, rgba(4, 14, 42, .89) 38%, rgba(4, 14, 42, .30) 66%, rgba(4, 14, 42, .04) 100%); }
.ai-hero::after { height: 70px; background: linear-gradient(transparent, rgba(5, 11, 30, .46)); }
.ai-hero-grid { opacity: .18; }
.ai-hero-eyebrow { color: #8debe7; }
.ai-hero h1 { color: #fff; text-shadow: 0 3px 24px rgba(0,0,0,.24); }
.ai-hero h1 em { color: #77e9c7; }
.ai-hero-copy > p { color: rgba(239, 245, 255, .80); }
.ai-hero-proof div { border-color: rgba(255,255,255,.18); }
.ai-hero-proof strong { color: #b6f7e3; }
.ai-hero-proof span { color: rgba(238,247,255,.66); }
.ai-hero .button-secondary { border-color: rgba(255,255,255,.30); background: rgba(7,18,48,.45); color: #fff; }

.index-hero .campaign-visual {
  background: linear-gradient(90deg, rgba(9, 12, 18, .98) 0%, rgba(10, 14, 20, .90) 38%, rgba(10, 14, 20, .30) 66%, rgba(10, 14, 20, .04) 100%), url("../images/hero-full-kyocera-v1.webp") center / cover no-repeat;
}
.index-hero .campaign-visual::before, .index-hero .campaign-visual::after { content: none; }
.index-hero .campaign-art, .index-hero .campaign-grid, .index-hero .campaign-line,
.index-hero .campaign-product, .index-hero .campaign-glow { display: none; }
.index-hero .campaign-copy { width: min(540px, 43%); color: #fff; }
.index-hero .campaign-copy small { color: #85e8e0; }
.index-hero .campaign-copy h1 { color: #fff; }
.index-hero .campaign-copy p { color: rgba(239,247,249,.76); }
.index-hero .campaign-features span { border-color: rgba(255,255,255,.18); background: rgba(9,18,24,.52); color: #e6f7f4; }

@media (max-width: 700px) {
  .page-products:not(.page-products-epson) .page-hero,
  .page-products-epson .page-hero,
  .production-hero,
  .page-services .page-hero,
  .page-esg .page-hero,
  .page-news .news-hero,
  .article-page-print-anytime .print-anytime-integrated-hero {
    background-position: 62% center;
    background-size: cover;
  }

  .page-products:not(.page-products-epson) .page-hero,
  .page-products-epson .page-hero,
  .production-hero,
  .page-services .page-hero,
  .page-esg .page-hero,
  .page-news .news-hero,
  .article-page-print-anytime .print-anytime-integrated-hero {
    background-blend-mode: normal;
  }

  .page-products .page-hero-inner,
  .page-esg .page-hero-inner,
  .page-news .news-hero .page-hero-inner,
  .production-hero-inner,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 54px;
    padding-bottom: 40px;
  }

  .page-products .page-hero-inner > div,
  .page-services .page-hero-inner > div,
  .page-esg .page-hero-inner > div,
  .page-news .news-hero .page-hero-inner > div,
  .production-hero-copy,
  .article-page-print-anytime .print-anytime-hero-copy {
    width: 100%;
    max-width: 100%;
  }

  .home-hero .hero-image, .ai-hero-visual img, .company-hero-image { object-position: 64% center; }
  .home-hero .hero-overlay { background: linear-gradient(180deg, rgba(3,14,28,.98) 0%, rgba(3,18,31,.90) 56%, rgba(3,18,31,.45) 78%, rgba(3,18,31,.12) 100%); }
  .ai-hero::before { background: linear-gradient(180deg, rgba(4,10,35,.98) 0%, rgba(4,14,42,.90) 56%, rgba(4,14,42,.42) 78%, rgba(4,14,42,.10) 100%); }
  .index-hero .campaign-visual { background-position: 61% center; }
  .index-hero .campaign-copy { width: 88%; }
}

/* V3：手機版強制使用全幅背景，不呈現獨立圖片卡。 */
@media (max-width: 700px) {
  .home-hero,
  .page-hero,
  .production-hero,
  .ai-hero,
  .company-hero,
  .index-hero .campaign-visual,
  .article-page-print-anytime .print-anytime-integrated-hero {
    position: relative;
    overflow: hidden;
    background-size: cover !important;
    background-repeat: no-repeat !important;
  }

  .page-products .page-hero,
  .production-hero,
  .page-services .page-hero,
  .page-esg .page-hero,
  .page-news .news-hero,
  .article-page-print-anytime .print-anytime-integrated-hero {
    background-position: 68% center !important;
  }

  .home-hero .hero-image,
  .ai-hero-visual,
  .ai-hero-visual img,
  .company-hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: 68% center;
  }

  .page-products .product-center-hero-visual,
  .production-hero-media,
  .page-esg .esg-eco-stage,
  .page-news .news-hero-visual,
  .article-page-print-anytime .print-anytime-hero-image {
    display: none !important;
  }

  .page-products .page-hero::after,
  .production-hero::after,
  .page-services .page-hero::after,
  .page-esg .page-hero::after,
  .page-news .news-hero::after,
  .article-page-print-anytime .print-anytime-integrated-hero::after {
    content: "" !important;
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(180deg, rgba(3, 15, 29, .96) 0%, rgba(3, 17, 31, .86) 52%, rgba(3, 17, 31, .42) 76%, rgba(3, 17, 31, .16) 100%);
    pointer-events: none;
  }

  .page-hero-inner,
  .production-hero-inner,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    position: relative;
    z-index: 2;
  }

  .home-hero .hero-overlay {
    z-index: 1;
    background: linear-gradient(180deg, rgba(3, 14, 28, .97) 0%, rgba(3, 18, 31, .86) 52%, rgba(3, 18, 31, .42) 76%, rgba(3, 18, 31, .14) 100%);
  }

  .home-hero .hero-inner,
  .ai-hero-inner,
  .company-hero-content {
    position: relative;
    z-index: 3;
  }

  .ai-hero::before {
    z-index: 1;
    background: linear-gradient(180deg, rgba(4, 10, 35, .97) 0%, rgba(4, 14, 42, .86) 52%, rgba(4, 14, 42, .42) 76%, rgba(4, 14, 42, .12) 100%);
  }

  .company-hero::after {
    background: linear-gradient(180deg, rgba(4, 18, 29, .97) 0%, rgba(4, 22, 32, .86) 52%, rgba(4, 22, 32, .44) 76%, rgba(4, 22, 32, .16) 100%);
  }

  .index-hero .campaign-visual {
    background-position: 68% center !important;
  }

  .index-hero .campaign-visual::after {
    content: "" !important;
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 10, 15, .96) 0%, rgba(8, 12, 18, .86) 52%, rgba(8, 12, 18, .40) 77%, rgba(8, 12, 18, .12) 100%);
    pointer-events: none;
  }

  .index-hero .campaign-copy {
    z-index: 3;
  }
}

/* V11：七類手機主視覺統一 600px，縮小圖片高度並平衡文字比例。 */
@media (max-width: 820px) {
  :root { --nisc-hero-mobile-height: 600px; }

  .home-hero,
  .page-hero,
  .production-hero,
  .ai-hero,
  .company-hero,
  .index-hero,
  .index-hero .campaign-visual,
  .article-page-print-anytime .print-anytime-integrated-hero {
    height: 600px !important;
    min-height: 600px !important;
    max-height: 600px !important;
  }

  .home-hero .hero-inner,
  .page-hero-inner,
  .production-hero-inner,
  .ai-hero-inner,
  .company-hero-content,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    padding-top: 24px !important;
    padding-bottom: 20px !important;
  }

  .index-hero .campaign-copy { top: 24px !important; }

  .home-hero h1,
  .page-hero h1,
  .production-hero h1,
  .ai-hero h1,
  .company-hero h1,
  .index-hero .campaign-copy h1,
  .article-page-print-anytime .print-anytime-hero-copy h1 {
    margin-top: 6px !important;
    margin-bottom: 10px !important;
    font-size: clamp(29px, 8.8vw, 39px) !important;
    line-height: 1.12 !important;
  }

  .home-hero .hero-lead,
  .page-hero p,
  .production-hero-copy > p,
  .ai-hero-copy > p,
  .company-hero-lead,
  .index-hero .campaign-copy > p,
  .article-page-print-anytime .print-anytime-hero-copy > p {
    margin-bottom: 11px !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  .home-hero .hero-actions,
  .services-hero-actions,
  .esg-hero-actions,
  .production-actions,
  .ai-hero-actions,
  .company-hero-actions {
    margin-top: 11px !important;
  }

  .home-hero .hero-actions > *,
  .services-hero-actions > *,
  .esg-hero-actions > *,
  .production-actions > *,
  .ai-hero-actions > *,
  .company-hero-actions > * {
    min-height: 39px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .home-hero .hero-tags,
  .brand-hero-points,
  .services-hero-points,
  .esg-hero-metrics,
  .news-hero-points,
  .production-hero-tags,
  .ai-hero-proof,
  .company-hero-highlights,
  .index-hero .campaign-features,
  .article-page-print-anytime .print-anytime-hero-points {
    margin-top: 12px !important;
  }

  .home-hero .hero-tags > *,
  .brand-hero-points > *,
  .services-hero-points > *,
  .esg-hero-metrics > *,
  .news-hero-points > *,
  .production-hero-tags > *,
  .ai-hero-proof > *,
  .company-hero-highlights > *,
  .index-hero .campaign-features > *,
  .article-page-print-anytime .print-anytime-hero-points > * {
    min-height: 38px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }
}

@media (max-width: 380px) {
  :root { --nisc-hero-mobile-height: 600px; }
  .home-hero,
  .page-hero,
  .production-hero,
  .ai-hero,
  .company-hero,
  .index-hero,
  .index-hero .campaign-visual,
  .article-page-print-anytime .print-anytime-integrated-hero {
    height: 600px !important;
    min-height: 600px !important;
    max-height: 600px !important;
  }
}

/* V12：七類主視覺於電腦、平板與手機統一固定為 400px。 */
:root {
  --nisc-hero-desktop-height: 600px;
  --nisc-hero-mobile-height: 400px;
}

.home-hero,
.page-hero,
.production-hero,
.ai-hero,
.company-hero,
.index-hero,
.index-hero .campaign-visual,
.article-page-print-anytime .print-anytime-integrated-hero {
  height: 600px !important;
  min-height: 600px !important;
  max-height: 600px !important;
}

.home-hero .hero-inner,
.page-hero-inner,
.production-hero-inner,
.ai-hero-inner,
.company-hero-content,
.article-page-print-anytime .print-anytime-integrated-hero > div {
  height: 100% !important;
  min-height: 0 !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.home-hero .hero-copy h1,
.page-hero h1,
.production-hero-copy h1,
.ai-hero h1,
.company-hero h1,
.index-hero .campaign-copy h1,
.article-page-print-anytime .print-anytime-hero-copy h1 {
  margin-top: 8px !important;
  margin-bottom: 10px !important;
  font-size: clamp(34px,3.7vw,50px) !important;
  line-height: 1.08 !important;
}

.home-hero .hero-lead,
.page-hero p,
.production-hero-copy > p,
.ai-hero-copy > p,
.company-hero-lead,
.index-hero .campaign-copy > p,
.article-page-print-anytime .print-anytime-hero-copy > p {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  font-size: 14px !important;
  line-height: 1.58 !important;
}

.home-hero .hero-actions,
.services-hero-actions,
.esg-hero-actions,
.production-actions,
.ai-hero-actions,
.company-hero-actions,
.home-hero .hero-tags,
.brand-hero-points,
.services-hero-points,
.esg-hero-metrics,
.news-hero-points,
.production-hero-tags,
.ai-hero-proof,
.company-hero-highlights,
.index-hero .campaign-features,
.article-page-print-anytime .print-anytime-hero-points {
  margin-top: 14px !important;
}

.index-hero .campaign-copy {
  top: 50% !important;
  transform: translateY(-50%) !important;
}

@media (max-width: 820px) {
  :root { --nisc-hero-mobile-height: 400px; }

  .home-hero,
  .page-hero,
  .production-hero,
  .ai-hero,
  .company-hero,
  .index-hero,
  .index-hero .campaign-visual,
  .article-page-print-anytime .print-anytime-integrated-hero {
    height: 400px !important;
    min-height: 400px !important;
    max-height: 400px !important;
  }

  .home-hero .hero-inner,
  .page-hero-inner,
  .production-hero-inner,
  .ai-hero-inner,
  .company-hero-content,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    width: calc(100% - 28px) !important;
    height: 100% !important;
    padding-top: 16px !important;
    padding-bottom: 14px !important;
  }

  .home-hero .hero-copy h1,
  .page-hero h1,
  .production-hero-copy h1,
  .ai-hero h1,
  .company-hero h1,
  .index-hero .campaign-copy h1,
  .article-page-print-anytime .print-anytime-hero-copy h1 {
    margin-top: 5px !important;
    margin-bottom: 7px !important;
    font-size: clamp(26px,7.4vw,34px) !important;
    line-height: 1.08 !important;
  }

  .home-hero .hero-lead,
  .page-hero p,
  .production-hero-copy > p,
  .ai-hero-copy > p,
  .company-hero-lead,
  .index-hero .campaign-copy > p,
  .article-page-print-anytime .print-anytime-hero-copy > p {
    margin-bottom: 7px !important;
    font-size: 12.5px !important;
    line-height: 1.48 !important;
  }

  .home-hero .hero-actions,
  .services-hero-actions,
  .esg-hero-actions,
  .production-actions,
  .ai-hero-actions,
  .company-hero-actions {
    gap: 7px !important;
    margin-top: 8px !important;
  }

  .home-hero .hero-actions > *,
  .services-hero-actions > *,
  .esg-hero-actions > *,
  .production-actions > *,
  .ai-hero-actions > *,
  .company-hero-actions > * {
    min-height: 34px !important;
    padding: 7px 8px !important;
    font-size: 11px !important;
  }

  .home-hero .hero-tags,
  .brand-hero-points,
  .services-hero-points,
  .esg-hero-metrics,
  .news-hero-points,
  .production-hero-tags,
  .ai-hero-proof,
  .company-hero-highlights,
  .index-hero .campaign-features,
  .article-page-print-anytime .print-anytime-hero-points {
    gap: 5px !important;
    margin-top: 8px !important;
  }

  .home-hero .hero-tags > *,
  .brand-hero-points > *,
  .services-hero-points > *,
  .esg-hero-metrics > *,
  .news-hero-points > *,
  .production-hero-tags > *,
  .ai-hero-proof > *,
  .company-hero-highlights > *,
  .index-hero .campaign-features > *,
  .article-page-print-anytime .print-anytime-hero-points > * {
    min-height: 30px !important;
    padding: 5px 7px !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
  }

  .index-hero .campaign-copy {
    top: 16px !important;
    left: 14px !important;
    width: calc(100% - 28px) !important;
    transform: none !important;
  }

  .home-hero .scroll-hint,
  .ai-scroll-cue,
  .ai-signal,
  .company-hero-index { display:none !important; }
}

@media (max-width: 380px) {
  :root { --nisc-hero-mobile-height: 400px; }
  .home-hero,
  .page-hero,
  .production-hero,
  .ai-hero,
  .company-hero,
  .index-hero,
  .index-hero .campaign-visual,
  .article-page-print-anytime .print-anytime-integrated-hero {
    height: 400px !important;
    min-height: 400px !important;
    max-height: 400px !important;
  }
}

/* V13：手機版主視覺固定 300px；平板與電腦維持 400px。 */
@media (max-width: 600px) {
  :root { --nisc-hero-mobile-height: 300px; }

  .home-hero,
  .page-hero,
  .production-hero,
  .ai-hero,
  .company-hero,
  .index-hero,
  .index-hero .campaign-visual,
  .article-page-print-anytime .print-anytime-integrated-hero {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
  }

  .home-hero .hero-inner,
  .page-hero-inner,
  .production-hero-inner,
  .ai-hero-inner,
  .company-hero-content,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    width: calc(100% - 24px) !important;
    height: 100% !important;
    padding-top: 9px !important;
    padding-bottom: 8px !important;
  }

  .home-hero .eyebrow,
  .page-hero .eyebrow,
  .production-hero .eyebrow,
  .ai-hero-eyebrow,
  .company-eyebrow,
  .index-hero .campaign-copy small {
    font-size: 8.5px !important;
    line-height: 1.2 !important;
    letter-spacing: .12em !important;
  }

  .home-hero .hero-copy h1,
  .page-hero h1,
  .production-hero-copy h1,
  .ai-hero h1,
  .company-hero h1,
  .index-hero .campaign-copy h1,
  .article-page-print-anytime .print-anytime-hero-copy h1 {
    margin-top: 3px !important;
    margin-bottom: 4px !important;
    font-size: clamp(23px,6.8vw,29px) !important;
    line-height: 1.04 !important;
  }

  .home-hero .hero-lead,
  .page-hero p,
  .production-hero-copy > p,
  .ai-hero-copy > p,
  .company-hero-lead,
  .index-hero .campaign-copy > p,
  .article-page-print-anytime .print-anytime-hero-copy > p {
    margin-top: 0 !important;
    margin-bottom: 4px !important;
    font-size: 11.5px !important;
    line-height: 1.34 !important;
  }

  .home-hero .hero-actions,
  .services-hero-actions,
  .esg-hero-actions,
  .production-actions,
  .ai-hero-actions,
  .company-hero-actions {
    gap: 5px !important;
    margin-top: 5px !important;
  }

  .home-hero .hero-actions > *,
  .services-hero-actions > *,
  .esg-hero-actions > *,
  .production-actions > *,
  .ai-hero-actions > *,
  .company-hero-actions > * {
    min-height: 28px !important;
    padding: 5px 6px !important;
    font-size: 9.5px !important;
    line-height: 1.15 !important;
  }

  .home-hero .hero-tags,
  .brand-hero-points,
  .services-hero-points,
  .esg-hero-metrics,
  .news-hero-points,
  .production-hero-tags,
  .ai-hero-proof,
  .company-hero-highlights,
  .index-hero .campaign-features,
  .article-page-print-anytime .print-anytime-hero-points {
    gap: 4px !important;
    margin-top: 5px !important;
  }

  .home-hero .hero-tags > *,
  .brand-hero-points > *,
  .services-hero-points > *,
  .esg-hero-metrics > *,
  .news-hero-points > *,
  .production-hero-tags > *,
  .ai-hero-proof > *,
  .company-hero-highlights > *,
  .index-hero .campaign-features > *,
  .article-page-print-anytime .print-anytime-hero-points > * {
    min-height: 24px !important;
    padding: 3px 5px !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
    border-radius: 7px !important;
  }

  .brand-hero-points strong,
  .brand-hero-points span,
  .ai-hero-proof strong,
  .ai-hero-proof span,
  .company-hero-highlights strong,
  .company-hero-highlights small {
    font-size: 7.5px !important;
    line-height: 1.1 !important;
  }

  .dual-brands {
    gap: 5px !important;
    margin: 0 0 6px !important;
  }

  .index-hero .campaign-copy {
    top: 9px !important;
    left: 12px !important;
    width: calc(100% - 24px) !important;
  }
}

/* V16：手機七類全幅主視覺重新編排－縮短畫面、垂直置中、適中字級。 */
@media (max-width: 600px) {
  :root { --nisc-hero-mobile-height: 300px; }

  .home-hero,
  .page-hero,
  .production-hero,
  .ai-hero,
  .company-hero,
  .index-hero,
  .index-hero .campaign-visual,
  .article-page-print-anytime .print-anytime-integrated-hero {
    position: relative !important;
    width: 100% !important;
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .home-hero .hero-image,
  .ai-hero-visual,
  .ai-hero-visual img,
  .company-hero-image,
  .index-hero .campaign-art,
  .index-hero .campaign-art img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
  }

  .home-hero .hero-inner,
  .page-hero-inner,
  .production-hero-inner,
  .ai-hero-inner,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: calc(100% - 28px) !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 8px 0 !important;
  }

  .company-hero-content {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    width: calc(100% - 28px) !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 8px 0 !important;
  }

  .home-hero .hero-copy,
  .page-products .page-hero-inner > div:first-of-type,
  .page-services .page-hero-inner > div:first-of-type,
  .page-esg .page-hero-inner > div:first-of-type,
  .page-news .page-hero-inner > div:first-of-type,
  .production-hero-copy,
  .ai-hero-copy,
  .company-hero-copy,
  .article-page-print-anytime .print-anytime-hero-copy {
    display: grid !important;
    align-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .company-hero-content > * {
    width: 100% !important;
    max-width: 100% !important;
  }

  .home-hero .eyebrow,
  .page-hero .eyebrow,
  .production-hero .eyebrow,
  .ai-hero-eyebrow,
  .company-eyebrow,
  .index-hero .campaign-copy small {
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    letter-spacing: .12em !important;
  }

  .home-hero .hero-copy h1,
  .page-hero h1,
  .production-hero-copy h1,
  .ai-hero h1,
  .company-hero h1,
  .index-hero .campaign-copy h1,
  .article-page-print-anytime .print-anytime-hero-copy h1 {
    margin: 0 !important;
    font-size: clamp(27px,7.2vw,32px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    text-wrap: balance;
  }

  .home-hero .hero-lead,
  .page-hero p,
  .production-hero-copy > p,
  .ai-hero-copy > p,
  .company-hero-lead,
  .index-hero .campaign-copy > p,
  .article-page-print-anytime .print-anytime-hero-copy > p {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    text-wrap: pretty;
  }

  .brand-hero-slogan,
  .esg-hero-slogan {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .page-news .news-hero h1 em,
  .production-hero-copy h1 > span,
  .production-hero-copy h1 > em {
    line-height: 1.08 !important;
  }

  .home-hero .hero-actions,
  .services-hero-actions,
  .esg-hero-actions,
  .production-actions,
  .ai-hero-actions,
  .company-hero-actions {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
  }

  .home-hero .hero-actions > *,
  .services-hero-actions > *,
  .esg-hero-actions > *,
  .production-actions > *,
  .ai-hero-actions > *,
  .company-hero-actions > * {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 6px 8px !important;
    justify-content: center !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  .home-hero .hero-tags,
  .brand-hero-points,
  .services-hero-points,
  .esg-hero-metrics,
  .news-hero-points,
  .production-hero-tags,
  .ai-hero-proof,
  .company-hero-highlights,
  .index-hero .campaign-features,
  .article-page-print-anytime .print-anytime-hero-points {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 5px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 2px 0 0 !important;
  }

  .home-hero .hero-tags > *,
  .brand-hero-points > *,
  .services-hero-points > *,
  .esg-hero-metrics > *,
  .news-hero-points > *,
  .production-hero-tags > *,
  .ai-hero-proof > *,
  .company-hero-highlights > *,
  .index-hero .campaign-features > *,
  .article-page-print-anytime .print-anytime-hero-points > * {
    box-sizing: border-box !important;
    min-height: 27px !important;
    margin: 0 !important;
    padding: 4px 7px !important;
    justify-content: center !important;
    border-radius: 8px !important;
    font-size: 9.5px !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  .brand-hero-points strong,
  .brand-hero-points span,
  .ai-hero-proof strong,
  .ai-hero-proof span,
  .company-hero-highlights strong,
  .company-hero-highlights small {
    font-size: 9px !important;
    line-height: 1.15 !important;
  }

  .brand-hero-points > :last-child:nth-child(odd),
  .services-hero-points > :last-child:nth-child(odd),
  .esg-hero-metrics > :last-child:nth-child(odd),
  .news-hero-points > :last-child:nth-child(odd),
  .production-hero-tags > :last-child:nth-child(odd),
  .ai-hero-proof > :last-child:nth-child(odd),
  .company-hero-highlights > :last-child:nth-child(odd),
  .article-page-print-anytime .print-anytime-hero-points > :last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
  }

  .dual-brands {
    gap: 6px !important;
    margin: 0 0 4px !important;
  }

  .index-hero .campaign-copy {
    top: 50% !important;
    left: 14px !important;
    width: calc(100% - 28px) !important;
    max-width: none !important;
    transform: translateY(-50%) !important;
  }

  .home-hero .scroll-hint,
  .ai-scroll-cue,
  .ai-signal,
  .company-hero-index { display:none !important; }
}

@media (max-width: 380px) {
  :root { --nisc-hero-mobile-height: 300px; }
  .home-hero,
  .page-hero,
  .production-hero,
  .ai-hero,
  .company-hero,
  .index-hero,
  .index-hero .campaign-visual,
  .article-page-print-anytime .print-anytime-integrated-hero {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
  }
}

/* V14：永續發展 ESG 主視覺主要按鈕提高文字與箭頭對比。 */
.page-services .services-hero-actions .services-primary-cta,
.page-services .services-hero-actions .services-primary-cta:link,
.page-services .services-hero-actions .services-primary-cta:visited {
  border-color: #13845f !important;
  background: #13845f !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 12px 28px rgba(19,132,95,.24) !important;
}

.page-services .services-hero-actions .services-primary-cta:hover,
.page-services .services-hero-actions .services-primary-cta:focus-visible {
  border-color: #0f7654 !important;
  background: #0f7654 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.page-services .services-hero-actions .services-primary-cta svg,
.page-services .services-hero-actions .services-primary-cta use {
  display: block;
  flex: 0 0 auto;
  color: #fff !important;
  stroke: #fff !important;
}

/* V15：手機維持 300px，以正常易讀字級與緊湊編排取代縮小內容。 */
@media (max-width: 600px) {
  :root { --nisc-hero-mobile-height: 300px; }

  .home-hero,
  .page-hero,
  .production-hero,
  .ai-hero,
  .company-hero,
  .index-hero,
  .index-hero .campaign-visual,
  .article-page-print-anytime .print-anytime-integrated-hero {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
  }

  .home-hero .hero-inner,
  .page-hero-inner,
  .production-hero-inner,
  .ai-hero-inner,
  .company-hero-content,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    width: calc(100% - 24px) !important;
    height: 100% !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
  }

  .home-hero .hero-copy,
  .page-products .page-hero-inner > div:first-of-type,
  .page-services .page-hero-inner > div:first-of-type,
  .page-esg .page-hero-inner > div:first-of-type,
  .page-news .page-hero-inner > div:first-of-type,
  .production-hero-copy,
  .ai-hero-copy,
  .company-hero-copy,
  .article-page-print-anytime .print-anytime-hero-copy {
    width: 100% !important;
    max-width: 100% !important;
  }

  .home-hero .eyebrow,
  .page-hero .eyebrow,
  .production-hero .eyebrow,
  .ai-hero-eyebrow,
  .company-eyebrow,
  .index-hero .campaign-copy small {
    font-size: 10px !important;
    line-height: 1.25 !important;
    letter-spacing: .14em !important;
  }

  .home-hero .hero-copy h1,
  .page-hero h1,
  .production-hero-copy h1,
  .ai-hero h1,
  .company-hero h1,
  .index-hero .campaign-copy h1,
  .article-page-print-anytime .print-anytime-hero-copy h1 {
    margin-top: 3px !important;
    margin-bottom: 4px !important;
    font-size: clamp(28px,7.8vw,34px) !important;
    line-height: 1.06 !important;
  }

  .home-hero .hero-lead,
  .page-hero p,
  .production-hero-copy > p,
  .ai-hero-copy > p,
  .company-hero-lead,
  .index-hero .campaign-copy > p,
  .article-page-print-anytime .print-anytime-hero-copy > p {
    margin-top: 0 !important;
    margin-bottom: 3px !important;
    font-size: 13px !important;
    line-height: 1.38 !important;
  }

  .home-hero .hero-actions,
  .services-hero-actions,
  .esg-hero-actions,
  .production-actions,
  .ai-hero-actions,
  .company-hero-actions {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 5px !important;
    width: 100% !important;
    margin-top: 5px !important;
  }

  .home-hero .hero-actions > *,
  .services-hero-actions > *,
  .esg-hero-actions > *,
  .production-actions > *,
  .ai-hero-actions > *,
  .company-hero-actions > * {
    min-height: 32px !important;
    padding: 6px 7px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  .home-hero .hero-tags,
  .brand-hero-points,
  .services-hero-points,
  .esg-hero-metrics,
  .news-hero-points,
  .production-hero-tags,
  .ai-hero-proof,
  .company-hero-highlights,
  .index-hero .campaign-features,
  .article-page-print-anytime .print-anytime-hero-points {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 4px !important;
    width: 100% !important;
    margin-top: 5px !important;
  }

  .home-hero .hero-tags > *,
  .brand-hero-points > *,
  .services-hero-points > *,
  .esg-hero-metrics > *,
  .news-hero-points > *,
  .production-hero-tags > *,
  .ai-hero-proof > *,
  .company-hero-highlights > *,
  .index-hero .campaign-features > *,
  .article-page-print-anytime .print-anytime-hero-points > * {
    min-height: 27px !important;
    padding: 4px 6px !important;
    border-radius: 8px !important;
    font-size: 9.5px !important;
    line-height: 1.2 !important;
  }

  .brand-hero-points strong,
  .brand-hero-points span,
  .ai-hero-proof strong,
  .ai-hero-proof span,
  .company-hero-highlights strong,
  .company-hero-highlights small {
    font-size: 9px !important;
    line-height: 1.15 !important;
  }

  .dual-brands {
    gap: 6px !important;
    margin: 0 0 5px !important;
  }

  .index-hero .campaign-copy {
    top: 9px !important;
    left: 12px !important;
    width: calc(100% - 24px) !important;
  }
}

@media (max-width: 700px) {
  .company-v21 .company-hero-image {
    object-position: 68% center;
  }

  .company-v21 .company-hero::after {
    background: linear-gradient(180deg, rgba(248, 252, 252, .97) 0%, rgba(246, 252, 250, .92) 54%, rgba(239, 249, 247, .62) 77%, rgba(239, 249, 247, .22) 100%);
  }
}

/* V7：明亮主視覺最終覆寫（須保持在檔案最末端）。 */
.page-products:not(.page-products-epson) .page-hero { background: linear-gradient(90deg,rgba(249,253,253,.98),rgba(247,253,251,.93) 40%,rgba(240,250,248,.46) 64%,rgba(240,250,248,.05)),url("../images/hero-bright-products-v2.webp") center/cover no-repeat; }
.page-products-epson .page-hero { background: linear-gradient(90deg,rgba(249,252,255,.98),rgba(246,251,255,.93) 40%,rgba(238,248,253,.46) 64%,rgba(238,248,253,.05)),url("../images/hero-bright-epson-v2.webp") center/cover no-repeat; }
.production-hero { background: linear-gradient(90deg,rgba(250,252,253,.98),rgba(248,251,252,.93) 40%,rgba(241,248,250,.46) 64%,rgba(241,248,250,.05)),url("../images/hero-bright-digital-print-v2.webp") center/cover no-repeat; }
.page-services .page-hero { background: linear-gradient(90deg,rgba(249,253,252,.98),rgba(246,252,249,.93) 40%,rgba(237,249,244,.46) 64%,rgba(237,249,244,.05)),url("../images/hero-bright-services-v2.webp") center/cover no-repeat; }
.page-esg .page-hero { background: linear-gradient(90deg,rgba(250,253,253,.98),rgba(247,253,251,.93) 40%,rgba(237,250,247,.44) 64%,rgba(237,250,247,.05)),url("../images/hero-bright-esg-v2.webp") center/cover no-repeat; }
.page-news .news-hero { background: linear-gradient(90deg,rgba(251,253,255,.98),rgba(248,252,255,.93) 40%,rgba(240,248,252,.44) 64%,rgba(240,248,252,.05)),url("../images/hero-bright-news-v2.webp") center/cover no-repeat; }
.article-page-print-anytime .print-anytime-integrated-hero { background: linear-gradient(90deg,rgba(250,253,255,.98),rgba(247,252,255,.93) 40%,rgba(239,249,252,.44) 64%,rgba(239,249,252,.05)),url("../images/hero-bright-print-anywhere-v2.webp") center/cover no-repeat; }

.page-products .page-hero h1,.page-services .page-hero h1,.page-esg .page-hero h1,.page-news .news-hero h1,.production-hero-copy h1,.article-page-print-anytime .print-anytime-hero-copy h1 { color:#153b3d; text-shadow:0 3px 24px rgba(255,255,255,.72); }
.page-products .page-hero p,.page-services .page-hero p,.page-esg .page-hero p,.page-news .news-hero p,.production-hero-copy>p,.article-page-print-anytime .print-anytime-hero-copy>p { color:#536f70; }
.page-products .page-hero .eyebrow,.page-services .page-hero .eyebrow,.page-esg .page-hero .eyebrow,.page-news .news-hero .eyebrow,.production-hero .eyebrow,.article-page-print-anytime .print-anytime-hero-copy>span { color:#14806b; }
.brand-hero-slogan,.esg-hero-slogan,.page-news .news-hero h1 em,.production-hero-copy h1 em { color:#0c9875; -webkit-text-fill-color:currentColor; }
.brand-hero-points>div,.services-hero-points span,.esg-hero-metrics span,.news-hero-points span,.print-anytime-hero-points strong { border-color:rgba(18,132,107,.16); background:rgba(255,255,255,.72); color:#486b67; box-shadow:0 9px 25px rgba(38,111,94,.07),inset 0 1px rgba(255,255,255,.88); }
.brand-hero-points strong { color:#14735f; }
.brand-hero-points span { color:#66817d; }
.esg-hero-actions a,.services-hero-actions a,.article-page-print-anytime .print-anytime-hero-copy>a { border-color:rgba(13,111,88,.20); color:#176e5c; }

.home-hero .hero-image { content:url("../images/hero-bright-home-v2.webp"); }
.home-hero .hero-overlay { display:block; background:linear-gradient(90deg,rgba(250,253,254,.98),rgba(247,252,253,.93) 40%,rgba(239,249,250,.44) 64%,rgba(239,249,250,.05)); }
.home-hero .eyebrow { color:#168271; }
.home-hero .hero-copy h1 { color:#153b43; text-shadow:0 3px 24px rgba(255,255,255,.72); }
.home-hero .hero-copy h1 em { color:#0b8e78; }
.home-hero .hero-lead { color:#526d76; }
.home-hero .hero-tags span { border-color:rgba(20,120,100,.16); background:rgba(255,255,255,.72); color:#466e69; }
.home-hero .secondary { border-color:rgba(17,105,91,.24); background:rgba(255,255,255,.74); color:#176457; }

.ai-hero-visual img { content:url("../images/hero-bright-ai-v2.webp"); }
.ai-hero::before { background:linear-gradient(90deg,rgba(251,250,255,.98),rgba(249,248,255,.93) 40%,rgba(242,243,252,.44) 64%,rgba(242,243,252,.05)); }
.ai-hero-eyebrow { color:#20817d; }
.ai-hero h1 { color:#233d5b; text-shadow:0 3px 24px rgba(255,255,255,.75); }
.ai-hero h1 em { color:#0d947a; }
.ai-hero-copy>p { color:#596e7c; }
.ai-hero-proof strong { color:#14705f; }
.ai-hero-proof span { color:#6b7f85; }
.ai-hero .button-secondary { border-color:rgba(18,105,93,.22); background:rgba(255,255,255,.74); color:#176457; }

.index-hero .campaign-visual { background:linear-gradient(90deg,rgba(251,252,253,.98),rgba(249,251,252,.93) 40%,rgba(242,248,249,.44) 64%,rgba(242,248,249,.05)),url("../images/hero-bright-kyocera-v2.webp") center/cover no-repeat; }
.index-hero .campaign-copy,.index-hero .campaign-copy h1 { color:#263f48; }
.index-hero .campaign-copy small { color:#177a70; }
.index-hero .campaign-copy p { color:#61757b; }
.index-hero .campaign-features span { border-color:rgba(24,111,99,.15); background:rgba(255,255,255,.72); color:#466a66; }

@media (max-width:700px) {
  .page-products .page-hero::after,.production-hero::after,.page-services .page-hero::after,.page-esg .page-hero::after,.page-news .news-hero::after,.article-page-print-anytime .print-anytime-integrated-hero::after { background:linear-gradient(180deg,rgba(250,253,253,.97),rgba(247,252,251,.92) 54%,rgba(239,249,247,.62) 77%,rgba(239,249,247,.20)); }
  .home-hero .hero-overlay { background:linear-gradient(180deg,rgba(250,253,254,.97),rgba(247,252,253,.92) 54%,rgba(239,249,250,.62) 77%,rgba(239,249,250,.20)); }
  .ai-hero::before { background:linear-gradient(180deg,rgba(251,250,255,.97),rgba(249,248,255,.92) 54%,rgba(242,243,252,.62) 77%,rgba(242,243,252,.20)); }
  .index-hero .campaign-visual::after { background:linear-gradient(180deg,rgba(251,252,253,.97),rgba(249,251,252,.92) 54%,rgba(242,248,249,.60) 77%,rgba(242,248,249,.18)); }
}

/* V8：主視覺版型定稿－全幅背景、左側文宣、全站等高。 */
:root {
  --nisc-hero-desktop-height: 560px;
  --nisc-hero-mobile-height: 720px;
  --nisc-hero-content-width: 1240px;
  --nisc-hero-copy-width: 610px;
}

.home-hero,
.page-hero,
.production-hero,
.ai-hero,
.company-hero,
.index-hero,
.index-hero .campaign-visual,
.article-page-print-anytime .print-anytime-integrated-hero {
  box-sizing: border-box;
  width: 100%;
  height: var(--nisc-hero-desktop-height) !important;
  min-height: var(--nisc-hero-desktop-height) !important;
  max-height: var(--nisc-hero-desktop-height) !important;
  margin: 0;
  border: 0;
  border-radius: 0;
  overflow: hidden;
}

.index-hero { padding: 0 !important; }
.index-hero .campaign-visual { max-width: none; box-shadow: none; }

.home-hero .hero-inner,
.page-hero-inner,
.production-hero-inner,
.ai-hero-inner,
.company-hero-content,
.article-page-print-anytime .print-anytime-integrated-hero > div {
  box-sizing: border-box;
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: min(var(--nisc-hero-content-width), calc(100% - 48px));
  height: 100% !important;
  min-height: 0 !important;
  margin-right: auto;
  margin-left: auto;
  padding: 44px 0 !important;
}

.home-hero .hero-copy,
.page-products .page-hero-inner > div:first-of-type,
.page-services .page-hero-inner > div:first-of-type,
.page-esg .page-hero-inner > div:first-of-type,
.page-news .page-hero-inner > div:first-of-type,
.production-hero-copy,
.ai-hero-copy,
.company-hero-copy,
.article-page-print-anytime .print-anytime-hero-copy {
  box-sizing: border-box;
  width: min(var(--nisc-hero-copy-width), 52%) !important;
  max-width: var(--nisc-hero-copy-width) !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left;
}

.index-hero .campaign-copy {
  top: 50% !important;
  left: max(24px, calc((100% - var(--nisc-hero-content-width)) / 2)) !important;
  width: min(var(--nisc-hero-copy-width), 48%) !important;
  max-width: var(--nisc-hero-copy-width);
  transform: translateY(-50%);
  text-align: left;
}

.company-hero-content {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.company-hero-content > * {
  width: min(var(--nisc-hero-copy-width), 52%);
  max-width: var(--nisc-hero-copy-width);
}

.home-hero .hero-image,
.company-hero-image,
.ai-hero-visual,
.ai-hero-visual img,
.index-hero .campaign-art,
.index-hero .campaign-art img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  border-radius: 0 !important;
  object-fit: cover !important;
}

@media (max-width: 700px) {
  .home-hero,
  .page-hero,
  .production-hero,
  .ai-hero,
  .company-hero,
  .index-hero,
  .index-hero .campaign-visual,
  .article-page-print-anytime .print-anytime-integrated-hero {
    height: var(--nisc-hero-mobile-height) !important;
    min-height: var(--nisc-hero-mobile-height) !important;
    max-height: var(--nisc-hero-mobile-height) !important;
  }

  .home-hero .hero-inner,
  .page-hero-inner,
  .production-hero-inner,
  .ai-hero-inner,
  .company-hero-content,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: calc(100% - 32px);
    padding: 54px 0 42px !important;
  }

  .home-hero .hero-copy,
  .page-products .page-hero-inner > div:first-of-type,
  .page-services .page-hero-inner > div:first-of-type,
  .page-esg .page-hero-inner > div:first-of-type,
  .page-news .page-hero-inner > div:first-of-type,
  .production-hero-copy,
  .ai-hero-copy,
  .company-hero-copy,
  .article-page-print-anytime .print-anytime-hero-copy {
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  .index-hero .campaign-copy {
    top: 54px !important;
    left: 16px !important;
    width: calc(100% - 32px) !important;
    max-width: none !important;
    transform: none;
    text-align: left !important;
  }

  .company-hero-content > * {
    width: 100%;
    max-width: 100%;
  }
}

/* V9：產品中心三頁沿用原圖，統一全幅背景與左側文宣。 */
.page-products-epson .page-hero {
  background:
    linear-gradient(90deg, rgba(250,253,253,.98) 0%, rgba(248,252,251,.94) 37%, rgba(245,251,249,.60) 54%, rgba(245,251,249,.08) 76%),
    url("../images/epson-brand-hero-v7.webp") 62% center / cover no-repeat;
}

.production-hero {
  background:
    linear-gradient(90deg, rgba(252,252,252,.98) 0%, rgba(250,250,249,.94) 37%, rgba(248,247,245,.62) 54%, rgba(248,247,245,.08) 76%),
    url("../images/digital-printing-hero-v2.png") 62% center / cover no-repeat;
}

.article-page-print-anytime .print-anytime-integrated-hero {
  background:
    linear-gradient(90deg, rgba(250,253,252,.99) 0%, rgba(247,252,250,.96) 38%, rgba(241,249,246,.68) 55%, rgba(241,249,246,.10) 78%),
    url("../images/print-anytime-hero-v3.webp") 64% center / cover no-repeat;
}

.page-products-epson .product-center-hero-visual,
.production-hero .production-hero-media,
.article-page-print-anytime .print-anytime-hero-image {
  display: none !important;
}

.page-products-epson .page-hero-inner,
.production-hero .production-hero-inner,
.article-page-print-anytime .print-anytime-integrated-hero > div {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

@media (max-width: 700px) {
  .page-products-epson .page-hero {
    background:
      linear-gradient(180deg, rgba(250,253,253,.98) 0%, rgba(248,252,251,.94) 48%, rgba(244,250,248,.58) 70%, rgba(244,250,248,.10) 100%),
      url("../images/epson-brand-hero-v7.webp") 68% center / cover no-repeat;
  }

  .production-hero {
    background:
      linear-gradient(180deg, rgba(252,252,252,.98) 0%, rgba(250,250,249,.94) 48%, rgba(248,247,245,.58) 70%, rgba(248,247,245,.10) 100%),
      url("../images/digital-printing-hero-v2.png") 68% center / cover no-repeat;
  }

  .article-page-print-anytime .print-anytime-integrated-hero {
    background:
      linear-gradient(180deg, rgba(250,253,252,.99) 0%, rgba(247,252,250,.95) 48%, rgba(241,249,246,.60) 70%, rgba(241,249,246,.10) 100%),
      url("../images/print-anytime-hero-v3.webp") 72% center / cover no-repeat;
  }

  .page-products-epson .page-hero-inner,
  .production-hero .production-hero-inner,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }
}

/* V10.1：置於檔案最末，確保手機高度與緊湊間距不被舊版規則覆蓋。 */
@media (max-width: 820px) {
  :root { --nisc-hero-mobile-height: clamp(590px, calc(100svh - 64px), 660px); }

  .home-hero,
  .page-hero,
  .production-hero,
  .ai-hero,
  .company-hero,
  .index-hero,
  .index-hero .campaign-visual,
  .article-page-print-anytime .print-anytime-integrated-hero {
    height: var(--nisc-hero-mobile-height) !important;
    min-height: var(--nisc-hero-mobile-height) !important;
    max-height: var(--nisc-hero-mobile-height) !important;
  }

  .home-hero .hero-inner,
  .page-hero-inner,
  .production-hero-inner,
  .ai-hero-inner,
  .company-hero-content,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    width: calc(100% - 28px) !important;
    padding: clamp(26px, 7vw, 38px) 0 24px !important;
  }

  .index-hero .campaign-copy {
    top: clamp(26px, 7vw, 38px) !important;
    left: 14px !important;
    width: calc(100% - 28px) !important;
  }
}

@media (max-width: 380px) {
  :root { --nisc-hero-mobile-height: 620px; }
  .home-hero .hero-inner,
  .page-hero-inner,
  .production-hero-inner,
  .ai-hero-inner,
  .company-hero-content,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    width: calc(100% - 24px) !important;
    padding-top: 22px !important;
  }
  .index-hero .campaign-copy {
    top: 22px !important;
    left: 12px !important;
    width: calc(100% - 24px) !important;
  }
}

/* V11.1：最終手機等高覆寫，所有主視覺維持相同 600px。 */
@media (max-width: 820px) {
  :root { --nisc-hero-mobile-height: 600px; }
  .home-hero,
  .page-hero,
  .production-hero,
  .ai-hero,
  .company-hero,
  .index-hero,
  .index-hero .campaign-visual,
  .article-page-print-anytime .print-anytime-integrated-hero {
    height: 600px !important;
    min-height: 600px !important;
    max-height: 600px !important;
  }
  .home-hero .hero-inner,
  .page-hero-inner,
  .production-hero-inner,
  .ai-hero-inner,
  .company-hero-content,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    padding-top: 24px !important;
    padding-bottom: 20px !important;
  }
  .index-hero .campaign-copy { top: 24px !important; }
}

@media (max-width: 380px) {
  :root { --nisc-hero-mobile-height: 600px; }
  .home-hero,
  .page-hero,
  .production-hero,
  .ai-hero,
  .company-hero,
  .index-hero,
  .index-hero .campaign-visual,
  .article-page-print-anytime .print-anytime-integrated-hero {
    height: 600px !important;
    min-height: 600px !important;
    max-height: 600px !important;
  }
}

/* V17 FINAL：七類全幅主視覺最終尺寸與手機易讀編排。 */
:root {
  --nisc-hero-desktop-height: 400px;
  --nisc-hero-mobile-height: 400px;
}

.home-hero,
.page-hero,
.production-hero,
.ai-hero,
.company-hero,
.index-hero,
.index-hero .campaign-visual,
.article-page-print-anytime .print-anytime-integrated-hero {
  height: 400px !important;
  min-height: 400px !important;
  max-height: 400px !important;
}

@media (max-width: 600px) {
  :root { --nisc-hero-mobile-height: 300px; }

  .home-hero,
  .page-hero,
  .production-hero,
  .ai-hero,
  .company-hero,
  .index-hero,
  .index-hero .campaign-visual,
  .article-page-print-anytime .print-anytime-integrated-hero {
    position: relative !important;
    width: 100% !important;
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .home-hero .hero-image,
  .ai-hero-visual,
  .ai-hero-visual img,
  .company-hero-image,
  .index-hero .campaign-art,
  .index-hero .campaign-art img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
  }

  .home-hero .hero-inner,
  .page-hero-inner,
  .production-hero-inner,
  .ai-hero-inner,
  .article-page-print-anytime .print-anytime-integrated-hero > div {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: calc(100% - 28px) !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 8px 0 !important;
  }

  .company-hero-content {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    width: calc(100% - 28px) !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 8px 0 !important;
  }

  .home-hero .hero-copy,
  .page-products .page-hero-inner > div:first-of-type,
  .page-services .page-hero-inner > div:first-of-type,
  .page-esg .page-hero-inner > div:first-of-type,
  .page-news .page-hero-inner > div:first-of-type,
  .production-hero-copy,
  .ai-hero-copy,
  .company-hero-copy,
  .article-page-print-anytime .print-anytime-hero-copy {
    display: grid !important;
    align-content: center !important;
    gap: 4px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .company-hero-content > * {
    width: 100% !important;
    max-width: 100% !important;
  }

  .home-hero .eyebrow,
  .page-hero .eyebrow,
  .production-hero .eyebrow,
  .ai-hero-eyebrow,
  .company-eyebrow,
  .index-hero .campaign-copy small {
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    letter-spacing: .12em !important;
  }

  .home-hero .hero-copy h1,
  .page-hero h1,
  .production-hero-copy h1,
  .ai-hero h1,
  .company-hero h1,
  .index-hero .campaign-copy h1,
  .article-page-print-anytime .print-anytime-hero-copy h1 {
    margin: 0 !important;
    font-size: clamp(27px,7.2vw,32px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    text-wrap: balance;
  }

  .home-hero .hero-lead,
  .page-hero p,
  .production-hero-copy > p,
  .ai-hero-copy > p,
  .company-hero-lead,
  .index-hero .campaign-copy > p,
  .article-page-print-anytime .print-anytime-hero-copy > p {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    text-wrap: pretty;
  }

  .brand-hero-slogan,
  .esg-hero-slogan {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .home-hero .hero-actions,
  .services-hero-actions,
  .esg-hero-actions,
  .production-actions,
  .ai-hero-actions,
  .company-hero-actions {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
  }

  .home-hero .hero-actions > *,
  .services-hero-actions > *,
  .esg-hero-actions > *,
  .production-actions > *,
  .ai-hero-actions > *,
  .company-hero-actions > * {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 6px 8px !important;
    justify-content: center !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  .home-hero .hero-tags,
  .brand-hero-points,
  .services-hero-points,
  .esg-hero-metrics,
  .news-hero-points,
  .production-hero-tags,
  .ai-hero-proof,
  .company-hero-highlights,
  .index-hero .campaign-features,
  .article-page-print-anytime .print-anytime-hero-points {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 5px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 2px 0 0 !important;
  }

  .home-hero .hero-tags > *,
  .brand-hero-points > *,
  .services-hero-points > *,
  .esg-hero-metrics > *,
  .news-hero-points > *,
  .production-hero-tags > *,
  .ai-hero-proof > *,
  .company-hero-highlights > *,
  .index-hero .campaign-features > *,
  .article-page-print-anytime .print-anytime-hero-points > * {
    box-sizing: border-box !important;
    min-height: 27px !important;
    margin: 0 !important;
    padding: 4px 7px !important;
    justify-content: center !important;
    border-radius: 8px !important;
    font-size: 9.5px !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  .brand-hero-points strong,
  .brand-hero-points span,
  .ai-hero-proof strong,
  .ai-hero-proof span,
  .company-hero-highlights strong,
  .company-hero-highlights small {
    font-size: 9px !important;
    line-height: 1.15 !important;
  }

  .brand-hero-points > :last-child:nth-child(odd),
  .services-hero-points > :last-child:nth-child(odd),
  .esg-hero-metrics > :last-child:nth-child(odd),
  .news-hero-points > :last-child:nth-child(odd),
  .production-hero-tags > :last-child:nth-child(odd),
  .ai-hero-proof > :last-child:nth-child(odd),
  .company-hero-highlights > :last-child:nth-child(odd),
  .article-page-print-anytime .print-anytime-hero-points > :last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
  }

  .dual-brands {
    gap: 6px !important;
    margin: 0 0 4px !important;
  }

  .index-hero .campaign-copy {
    top: 50% !important;
    left: 14px !important;
    width: calc(100% - 28px) !important;
    max-width: none !important;
    transform: translateY(-50%) !important;
  }

  .home-hero .scroll-hint,
  .ai-scroll-cue,
  .ai-signal,
  .company-hero-index { display:none !important; }
}

.page-services .services-hero-actions .services-primary-cta,
.page-services .services-hero-actions .services-primary-cta:link,
.page-services .services-hero-actions .services-primary-cta:visited,
.page-services .services-hero-actions .services-primary-cta:hover,
.page-services .services-hero-actions .services-primary-cta:focus-visible {
  border-color: #13845f !important;
  background: #13845f !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.page-services .services-hero-actions .services-primary-cta svg,
.page-services .services-hero-actions .services-primary-cta use {
  color: #fff !important;
  stroke: #fff !important;
}



/* NISC mobile layout refinement — 2026-08 */
@media (max-width: 760px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  main { width: 100%; }
  main p { font-size: 15px; line-height: 1.85; }
  main h1 { font-size: clamp(30px, 8.8vw, 38px); line-height: 1.22; letter-spacing: -.035em; }
  main h2 { font-size: clamp(24px, 7vw, 30px); line-height: 1.35; letter-spacing: -.025em; }
  main h3 { font-size: 18px; line-height: 1.45; }
  .home-hero, .philosophy, .solutions, .printing, .advantages, .insights, .cta,
  .article-page, .article-body, .feature-hero, .feature-gallery, .eco-panel,
  .company-hero, .company-discover, .company-card, .company-contact-band {
    max-width: 100%;
    box-sizing: border-box;
  }
  .philosophy, .solutions, .advantages, .insights, .cta { padding-left: 16px; padding-right: 16px; }
  .solution-card, .advantages article, .insights article { width: 100%; margin-left: 0; margin-right: 0; padding: 20px 18px; box-sizing: border-box; }
  .article-body { width: min(100% - 32px, 760px); margin-left: auto; margin-right: auto; }
  .article-body p, .article-copy p, .article-section p { font-size: 15px; line-height: 1.9; }
  .article-body h1, .article-header h1 { font-size: clamp(29px, 8vw, 36px); line-height: 1.28; }
  .article-body h2, .article-copy .article-section-title { margin-top: 28px; margin-bottom: 12px; font-size: 22px; line-height: 1.45; }
  .article-body h3 { margin-top: 20px; font-size: 18px; line-height: 1.5; }
  .article-body img, .article-body video, .article-body iframe { max-width: 100%; height: auto; }
  .production-hero-inner, .production-section, .production-pagination { width: calc(100% - 32px); }
  .production-section { padding-top: 36px; padding-bottom: 36px; }
  .production-heading h2, .service-panel h2, .feature-story h2, .eco-panel h2 { font-size: clamp(25px, 7.2vw, 31px); line-height: 1.4; }
  .production-heading p, .feature-story p, .eco-panel p { font-size: 15px; line-height: 1.85; }
  .service-panel, .eco-panel { width: calc(100% - 32px); padding: 28px 20px; border-radius: 20px; }
  .production-hero-media, .product-feature-grid figure, .technology-visual-grid figure { border-radius: 18px; }
  .product-feature-grid figcaption { padding: 13px 15px 15px; }
  .company-discover, .company-card { width: calc(100% - 32px); }
  .company-discover { padding-top: 52px; padding-bottom: 58px; }
  .company-contact-band { padding-left: 20px; padding-right: 20px; }
  .footer-grid { width: calc(100% - 32px); }
  .site-footer p, .site-footer address { line-height: 1.8; }
  .site-nav { max-width: 100vw; }
}
@media (max-width: 420px) {
  .philosophy, .solutions, .advantages, .insights, .cta { padding-left: 14px; padding-right: 14px; }
  .article-body { width: calc(100% - 28px); }
  main h2 { font-size: 24px; }
  .solution-card, .advantages article, .insights article { padding: 18px 16px; }
  .service-panel, .eco-panel { width: calc(100% - 28px); padding: 24px 17px; }
  .production-hero-inner, .production-section, .production-pagination { width: calc(100% - 28px); }
}



/* NISC mobile layout refinement — specificity pass */
@media (max-width: 760px) {
  main .solution-card, main .advantages article, main .insights article { padding: 18px 16px !important; }
  main .solution-card p, main .advantages article p, main .insights article p { font-size: 15px !important; line-height: 1.8 !important; }
  main .solution-card h3, main .advantages article h3, main .insights article h3 { font-size: 18px !important; line-height: 1.45 !important; }
  main .article-body, main .article-copy { width: calc(100% - 28px) !important; max-width: none !important; }
  main .article-body p, main .article-copy p { font-size: 15px !important; line-height: 1.9 !important; }
  main .article-body h1, main .article-header h1 { font-size: clamp(29px, 8vw, 36px) !important; line-height: 1.28 !important; }
  main .article-body h2, main .article-copy .article-section-title { font-size: 22px !important; line-height: 1.45 !important; }
  main .production-heading h2, main .service-panel h2, main .feature-story h2, main .eco-panel h2 { font-size: clamp(25px, 7.2vw, 31px) !important; line-height: 1.4 !important; }
  main .production-heading p, main .feature-story p, main .eco-panel p { font-size: 15px !important; line-height: 1.85 !important; }
}



/* NISC article alignment and line-break refinement — 2026 */
:where(main h1, main h2, main h3, .page-hero h1, .page-hero h2, .listing-section h2, .article-section-title) {
  text-wrap: balance;
  line-break: strict;
  overflow-wrap: anywhere;
}
:where(main p, main li, .article-body, .article-body p, .article-copy p, .page-hero p, .listing-section p) {
  text-wrap: pretty;
  line-break: strict;
  overflow-wrap: anywhere;
}
.article-layout .article-body {
  width: min(100%, 920px) !important;
  max-width: 920px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
.article-layout .article-body > h1,
.article-layout .article-body > h2,
.article-layout .article-body > h3,
.article-layout .article-body > p,
.article-layout .article-body > ul,
.article-layout .article-body > ol,
.article-layout .article-body > figure,
.article-layout .article-body > blockquote {
  width: 100% !important;
  max-width: none !important;
}
.article-layout .article-body .article-section-title,
.article-layout .article-body .article-subheading {
  width: 100% !important;
  max-width: none !important;
}
@media (max-width: 760px) {
  .article-layout {
    width: calc(100% - 32px) !important;
    margin-inline: auto !important;
    padding-block: 32px !important;
  }
  .article-layout .article-body {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }
  .article-layout .article-body > * {
    width: 100% !important;
    max-width: none !important;
  }
  .article-layout .article-body p,
  .article-layout .article-body li {
    font-size: 15px !important;
    line-height: 1.9 !important;
  }
  .article-layout .article-body h1 {
    font-size: clamp(29px, 8vw, 36px) !important;
    line-height: 1.28 !important;
  }
  .article-layout .article-body h2,
  .article-layout .article-body .article-section-title {
    font-size: 22px !important;
    line-height: 1.45 !important;
    margin-top: 26px !important;
  }
  .article-layout .article-body h3,
  .article-layout .article-body .article-subheading {
    font-size: 18px !important;
    line-height: 1.5 !important;
  }
  .article-layout .article-body img,
  .article-layout .article-body video,
  .article-layout .article-body iframe {
    display: block;
    max-width: 100% !important;
    height: auto;
  }
}
@media (min-width: 761px) {
  .article-layout .article-body p,
  .article-layout .article-body li {
    line-height: 1.85;
  }
}



/* NISC thematic cards alignment refinement — 2026 */
.listing-section .content-grid {
  align-items: stretch;
}
.listing-section .content-card {
  min-width: 0;
}
.listing-section .content-card h2,
.listing-section .content-card h3,
.listing-section .content-card p,
.listing-section .content-card a {
  max-width: 100%;
  text-wrap: pretty;
  line-break: strict;
}
.company-discover .company-card {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}
.company-discover .company-card > * {
  max-width: 100%;
}
@media (max-width: 760px) {
  .listing-section {
    width: calc(100% - 32px) !important;
    margin-inline: auto !important;
  }
  .listing-section .content-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    width: 100% !important;
  }
  .listing-section .content-card,
  .listing-section .service-card,
  .listing-section .esg-editorial-card,
  .listing-section .news-editorial-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box;
  }
  .listing-section .content-card > *,
  .listing-section .content-card h2,
  .listing-section .content-card h3,
  .listing-section .content-card p,
  .listing-section .content-card a {
    width: 100%;
    max-width: none !important;
    box-sizing: border-box;
  }
  .listing-section .content-card h2,
  .listing-section .content-card h3 {
    line-height: 1.42 !important;
    text-wrap: balance;
  }
  .listing-section .content-card p {
    font-size: 15px !important;
    line-height: 1.85 !important;
  }
  .company-discover,
  .company-contact-band {
    width: calc(100% - 32px) !important;
    margin-inline: auto !important;
  }
  .company-discover .company-card {
    width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: 20px !important;
    box-sizing: border-box;
  }
  .company-discover .company-card h3,
  .company-discover .company-card p,
  .company-discover .company-card a {
    width: 100% !important;
    max-width: none !important;
  }
}
@media (min-width: 761px) {
  .listing-section .content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}



/* NISC thematic pages and detail articles final mobile/desktop pass — 2026 */
:where(.environmental-article-layout, .article-layout) {
  width: min(100% - 48px, 920px) !important;
  margin-inline: auto !important;
  box-sizing: border-box;
}
:where(.environmental-article-layout, .article-layout) > * {
  max-width: 100% !important;
  box-sizing: border-box;
}
:where(.environmental-article-layout h1, .environmental-article-layout h2, .article-layout h1, .article-layout h2, .article-layout h3) {
  text-wrap: balance;
  line-break: strict;
}
:where(.environmental-article-layout p, .environmental-article-layout li, .article-layout p, .article-layout li) {
  text-wrap: pretty;
  line-break: strict;
  overflow-wrap: anywhere;
}
@media (min-width: 761px) {
  .environmental-article-layout,
  .article-layout {
    padding-block: 58px 76px !important;
  }
  .environmental-article-layout p,
  .environmental-article-layout li,
  .article-layout p,
  .article-layout li {
    font-size: 16px !important;
    line-height: 1.95 !important;
  }
  .environmental-article-layout h2,
  .article-layout h2 {
    font-size: clamp(26px, 2.4vw, 34px) !important;
    line-height: 1.4 !important;
    margin-top: 34px !important;
    margin-bottom: 14px !important;
  }
}
@media (max-width: 760px) {
  .environmental-article-header {
    padding: 30px 16px 28px !important;
  }
  .environmental-article-header > * {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }
  .environmental-article-header h1 {
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 1.28 !important;
    text-wrap: balance;
  }
  .environmental-article-header p {
    font-size: 15px !important;
    line-height: 1.85 !important;
    text-wrap: pretty;
  }
  .environmental-article-layout,
  .article-layout {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding-block: 30px 48px !important;
  }
  .environmental-article-layout h2,
  .article-layout h2,
  .article-layout .article-section-title {
    font-size: 22px !important;
    line-height: 1.42 !important;
    margin-top: 28px !important;
    margin-bottom: 12px !important;
    text-wrap: balance;
  }
  .environmental-article-layout h3,
  .article-layout h3,
  .article-layout .article-subheading {
    font-size: 18px !important;
    line-height: 1.5 !important;
    text-wrap: balance;
  }
  .environmental-article-layout p,
  .environmental-article-layout li,
  .article-layout p,
  .article-layout li,
  .article-layout .article-bullet {
    font-size: 15px !important;
    line-height: 1.9 !important;
    margin-bottom: 14px !important;
    text-wrap: pretty;
  }
  .environmental-article-layout ul,
  .environmental-article-layout ol,
  .article-layout ul,
  .article-layout ol {
    padding-left: 1.35em !important;
    margin-left: 0 !important;
  }
  .environmental-article-layout img,
  .article-layout img,
  .article-layout figure {
    max-width: 100% !important;
    height: auto !important;
  }
  .article-page .article-header,
  .article-page .article-intro,
  .article-page .article-layout {
    width: calc(100% - 32px) !important;
    margin-inline: auto !important;
  }
}



/* NISC CJK article justification pass — 2026 */
:where(
  .environmental-article-copy p,
  .environmental-article-copy li,
  .environmental-article-layout > p,
  .environmental-article-layout > li,
  .article-body p,
  .article-body li,
  .article-copy p,
  .article-copy li,
  .article-bullet
) {
  text-align: justify !important;
  text-justify: inter-ideograph;
  text-align-last: left;
  line-break: strict;
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  :where(
    .environmental-article-copy p,
    .environmental-article-copy li,
    .article-body p,
    .article-body li,
    .article-copy p,
    .article-copy li,
    .article-bullet
  ) {
    font-size: 15px !important;
    line-height: 1.9 !important;
  }
}
/* AI mobile stack fallback for mobile browsers using desktop layout viewport */@media (max-width:1200px){html body section.ai-hero{display:flex!important;flex-direction:column!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;background-image:none!important}html body section.ai-hero .ai-hero-inner{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;gap:0!important}html body section.ai-hero .ai-hero-copy{display:flex!important;flex-direction:column!important;order:1!important;position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;padding:36px 20px 30px!important;background:#f7fbfa!important;z-index:999!important;text-align:center!important;align-items:center!important}html body section.ai-hero .ai-hero-copy>*{text-align:center!important;margin-left:auto!important;margin-right:auto!important}html body section.ai-hero .ai-hero-visual{display:block!important;order:2!important;position:relative!important;inset:auto!important;width:100%!important;height:260px!important;min-height:260px!important;max-height:260px!important;margin:0!important;overflow:hidden!important;background:#edf5f4!important}html body section.ai-hero .ai-hero-visual img{display:block!important;position:static!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:contain!important;object-position:center!important}html body section.ai-hero .ai-hero-grid,html body section.ai-hero .ai-hero-glow,html body section.ai-hero .ai-signal,html body section.ai-hero .ai-scroll-cue{display:none!important}}
/* Restore the digital-printing mobile hero without affecting other pages. */
@media (max-width: 600px) {
  .production-page .production-hero {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    background: #f7fbfa !important;
  }

  .production-page .production-hero-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  .production-page .production-hero-copy {
    order: 1 !important;
    width: 100% !important;
    padding: 34px 20px 26px !important;
    text-align: center !important;
  }

  .production-page .production-hero .production-hero-media {
    display: block !important;
    order: 2 !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 14px 24px !important;
  }

  .production-page .production-hero .production-hero-media img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}
