/* Site-wide visual refinement, 2026-10-28. */
:root { --zn-text:#354e5d; }
body { -webkit-font-smoothing:antialiased; }
.zn-header { border-top-width:4px; }
.zn-brand-row { min-height:96px; padding-block:12px; }
.zn-logo img { max-height:68px; }
.zn-breadcrumb { padding-block:12px; }
.zn-page-heading,.zn-list-heading { padding-block:36px 28px; }
.zn-page-heading h1,.zn-list-heading h1 { font-size:clamp(29px,3vw,42px); letter-spacing:-.025em; }
.zn-page-content { padding-top:20px; }
.zn-migrated-content .web_th .title,.zn-migrated-content .web_th_sub .title { font-size:clamp(25px,2.2vw,32px); line-height:1.45; }
.zn-migrated-content .appl { background:#f3f8fb; border:1px solid #dce7ee; border-radius:8px; padding:16px; align-self:start; }
.zn-migrated-content .appl ul { list-style:none; margin:0; padding:0; }
.zn-migrated-content .appl li { border-bottom:1px solid #dce7ee; padding:12px 4px; }
.zn-migrated-content .appl li:last-child { border:0; }
.zn-migrated-content .appl h2 { font-size:16px; line-height:1.6; margin:0; border:0; padding:0; }
.zn-migrated-content .side-about { display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0 0 32px; }
.zn-migrated-content .side-about li { margin:0; }
.zn-migrated-content .side-about a { display:block; padding:10px 19px; border:1px solid #d5e3eb; border-radius:5px; font-size:15px; background:#fff; }
.zn-migrated-content .side-about .nav-current a,.zn-migrated-content .side-about a:hover { background:#07527c; color:white; border-color:#07527c; }
.zn-category-links { gap:9px; }
.zn-category-links a { min-height:44px; display:inline-flex; align-items:center; justify-content:center; font-size:15px; border-radius:5px; }
.zn-news-card { border-radius:9px; overflow:hidden; border-color:#e0e9ee; box-shadow:0 4px 18px #153c5408; transition:box-shadow .2s,border-color .2s; }
.zn-news-card:hover { border-color:#8bbbd0; box-shadow:0 9px 25px #153c5412; }
.zn-news-card-body { padding:24px; }
.zn-news-card h2 { font-size:21px; line-height:1.5; }
.zn-news-card p { font-size:15px; color:#526875; }
.zn-read-more { font-size:14px; padding-top:20px; }
.zn-article-heading { padding-bottom:28px; }
.zn-article-heading h1 { font-size:clamp(29px,3.1vw,42px); }
.zn-article-body { line-height:1.95; }
.zn-article-body h2 { font-size:28px; }
.zn-article-body h3 { font-size:22px; }
.zn-inquiry { gap:0; padding:0; border:1px solid #dae6ed; border-radius:12px; overflow:hidden; background:#f5f9fc; box-shadow:0 10px 36px #143d550c; grid-template-columns:.8fr 1.2fr; }
.zn-inquiry-intro { padding:40px 32px 150px; background:#083e5c url('../images/zn-modular-brand-20261028.png') right bottom/cover no-repeat; color:#fff; }
.zn-inquiry-intro h2,.zn-inquiry-intro .zn-eyebrow { color:#fff; }
.zn-inquiry-intro h2 { font-size:30px; margin:14px 0 20px; }
.zn-inquiry-form { padding:36px; }
.zn-form-grid input,.zn-form-grid textarea { border-radius:5px; border-color:#b6cad7; min-height:48px; }
.zn-form-grid label { font-size:14px; }
.zn-button { border-radius:5px; min-height:48px; font-size:16px; }
.zn-migrated-content .form_div .zn-inquiry { display:block; padding:0; }
.zn-migrated-content .form_div .zn-inquiry-intro { padding:26px 28px; background-position:right center; }
.zn-migrated-content .form_div .zn-inquiry-intro h2 { font-size:25px; margin:8px 0 12px; }
.zn-migrated-content .form_div .zn-inquiry-form { padding:28px; }
.zn-migrated-content .contact_ul { border:1px solid #dce7ee; border-radius:8px; background:#f5f9fc; padding:28px; }
.zn-footer-top { padding-block:48px; }
.zn-footer-column h3 { font-size:16px; }
.zn-footer-column li,.zn-footer-company p { font-size:14px; line-height:1.8; }
.zn-footer-bottom { font-size:13px; }
.zn-home-intro { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-block:34px; }
.zn-home-intro .zn-eyebrow { letter-spacing:.12em; margin-bottom:8px; }
.zn-home-intro-title { font-size:clamp(28px,3vw,42px); line-height:1.3; color:#173b50; font-weight:700; margin:0 0 12px; letter-spacing:-.025em; text-wrap:balance; }
.zn-home-intro-text { font-size:17px; max-width:760px; margin:0; color:#526875; }
.zn-home-actions { display:flex; flex:none; gap:12px; }
.zn-home-actions a { display:flex; align-items:center; justify-content:center; min-height:48px; padding:12px 21px; border:1px solid #07527c; border-radius:5px; color:#07527c; font-weight:700; }
.zn-home-actions a:first-child { background:#07527c; color:#fff; }
.zn-home-actions a:hover { background:#087ba7; border-color:#087ba7; color:white; }
.zn-page-home .zn-hero { width:min(1240px,calc(100% - 48px)); margin:0 auto 20px; border-radius:10px; overflow:hidden; }
.zn-page-home .zn-hero-slide>img { max-height:none; object-fit:contain; }
.zn-home-content .pad_tb { padding-block:52px; }
@media(max-width:1100px) { .zn-home-intro { flex-direction:column; align-items:flex-start; gap:20px; } }
@media(max-width:760px) {
 .zn-brand-row { min-height:82px; }.zn-logo img { max-height:52px; }
 .zn-page-heading,.zn-list-heading { padding-block:26px 22px; }
 .zn-page-content { padding-top:16px; }
 .zn-home-intro { padding-block:26px; }.zn-home-intro-title { font-size:29px; }.zn-home-intro-text { font-size:16px; }
 .zn-home-actions { width:100%; }.zn-home-actions a { flex:1; padding-inline:10px; font-size:15px; }
 .zn-page-home .zn-hero { width:calc(100% - 32px); border-radius:7px; }
 .zn-migrated-content .appl { padding:10px 16px; }.zn-migrated-content .appl li { padding-block:9px; }
 .zn-migrated-content .appl ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }
 .zn-migrated-content .appl h2 { font-size:15px; }
 .zn-migrated-content h2,.zn-migrated-content .web_th .title { text-wrap:balance; }
 .zn-inquiry-intro { background-image:linear-gradient(90deg,#073c60cc,#073c6055),url('../images/zn-modular-brand-20261028.png'); }
 .zn-inquiry { display:block; }.zn-inquiry-intro { padding:28px 24px 65px; }.zn-inquiry-intro h2 { font-size:26px; }
 .zn-inquiry-form,.zn-migrated-content .form_div .zn-inquiry-form { padding:24px 18px; }
 .zn-news-card-body { padding:20px; }.zn-news-card h2 { font-size:20px; }
 .zn-migrated-content .side-about { gap:8px; }.zn-migrated-content .side-about a { padding:9px 13px; }
 .zn-article-body h2 { font-size:25px; }.zn-footer-top { padding-block:34px; }
}
@media(prefers-reduced-motion:reduce) { .zn-news-card { transition:none; } }
