.news-page { scroll-margin-top: 110px; }
.news-page-backplane { position: relative; isolation: isolate; background: #fff; }
.news-paper-motion { position: absolute; inset: 0; overflow: hidden; z-index: -1; pointer-events: none; }
.news-paper-glow { position: absolute; inset: -15% -65%; background: linear-gradient(116deg, transparent 38%, rgba(231,242,246,.78) 46%, rgba(245,248,251,.85) 52%, transparent 61%); filter: blur(38px); animation: news-paper-light 18s ease-in-out infinite alternate; }
.news-paper-glow-secondary { inset: 20% -70% -15%; background: radial-gradient(ellipse at 50% 55%, rgba(232,239,229,.65), transparent 43%); animation-delay: -9s; animation-direction: alternate-reverse; }
.news-paper-sheet { position: absolute; top: 12%; right: -12%; width: 50%; height: 72%; background: linear-gradient(110deg, transparent 45%, rgba(231,237,241,.4) 49%, rgba(255,255,255,.9) 52%, transparent 61%); transform: rotate(-14deg); animation: news-paper-sheet 20s ease-in-out infinite alternate; }
.news-paper-ribbon { position: absolute; inset: 0; background: repeating-linear-gradient(112deg, transparent 0, transparent 150px, rgba(140,170,185,.075) 151px, transparent 152px, transparent 380px); -webkit-mask-image: linear-gradient(90deg, #000, transparent 35%, transparent 72%, #000); mask-image: linear-gradient(90deg, #000, transparent 35%, transparent 72%, #000); animation: news-paper-lines 26s linear infinite; }
@keyframes news-paper-light { from { transform: translateX(-22%) translateY(-3%); } to { transform: translateX(24%) translateY(3%); } }
@keyframes news-paper-sheet { from { transform: rotate(-14deg) translate(-18%,-2%); opacity: .55; } to { transform: rotate(-9deg) translate(12%,5%); opacity: 1; } }
@keyframes news-paper-lines { from { transform: translateX(-40px); } to { transform: translateX(40px); } }
@media (prefers-reduced-motion: reduce) { .news-paper-motion > div { animation: none; } }
.news-page-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 30%); gap: 56px; align-items: center; min-height: 210px; padding: 20px 0; border-bottom: 1px solid #e4e7e4; }
.news-page-row:first-child { padding-top: 0; }
.news-page-row[hidden], .news-page-pagination[hidden] { display: none; }
.news-page.news-list-reveal-ready .news-page-row { opacity: 0; transform: translate3d(0, 42px, 0); transition: opacity .72s ease, transform .72s cubic-bezier(.16, .72, .2, 1); transition-delay: var(--news-row-reveal-delay, 0ms); }
.news-page.news-list-reveal-ready .news-page-row.news-row-reveal-visible { opacity: 1; transform: translate3d(0, 0, 0); }
.news-page-copy time, .news-page-detail time { display: block; color: #747c75; font-size: 16px; line-height: 1.4; }
.news-page-copy h2 { margin: 12px 0 20px; color: #142119; font-size: clamp(18px, 1.7vw, 26px); font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
.news-page-more { display: inline-flex; align-items: center; justify-content: center; gap: 30px; min-height: 52px; padding: 12px 30px; border: 1px solid #afd7bb; border-radius: 40px; color: #009643; background: #fff; font: inherit; font-size: 16px; cursor: pointer; transition: background .2s, color .2s; }
.news-page-more:hover { color: #fff; background: #009643; border-color: #009643; }
.news-page-more span { font-size: 23px; line-height: 1; }
.news-page-cover { display: block; width: 100%; padding: 0; aspect-ratio: 2.1; background: #eef2e9; border: 0; overflow: hidden; border-radius: 2px; cursor: pointer; }
.news-page-cover img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .5s; }
.news-page-cover:hover img { transform: scale(1.04); }
.news-page-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 48px; }
.news-page-pagination button { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border: 1px solid #d9ded9; background: #fff; color: #203025; font: inherit; font-size: 18px; cursor: pointer; }
.news-page-pagination button[aria-current="page"] { background: #009643; border-color: #009643; color: #fff; }
.news-page-pagination button:disabled { opacity: .38; cursor: default; }
.news-page-pagination button:hover:not(:disabled):not([aria-current="page"]) { background: #f0f7f1; border-color: #9acdab; }
.news-page-pagination .news-page-ellipsis { display: inline-flex; align-items: center; justify-content: center; width: 30px; }
.news-page-status { text-align: center; color: #7b827d; font-size: 12px; margin: 18px 0 0; }
.news-page-detail { width: min(980px, calc(100% - 32px)); max-height: calc(100% - 32px); padding: 48px; border: 0; border-radius: 10px; color: #142119; background: #fff; box-shadow: 0 20px 80px rgba(10,30,20,.25); }
.news-page-detail::backdrop { background: rgba(9,28,18,.6); }
.news-detail-close { display: block; margin: 0 0 24px auto; min-height: 44px; padding: 8px 20px; border: 1px solid #c6d9cb; border-radius: 30px; background: #fff; color: #207342; font: inherit; cursor: pointer; }
.news-page-detail h2 { font-size: 27px; line-height: 1.5; margin: 16px 0 24px; }
.news-page-detail > img { width: 100%; height: auto; max-height: 330px; object-fit: cover; }
.news-page-detail > p { font-size: 16px; line-height: 2; color: #53655a; white-space: pre-line; }
.news-page-empty { color: #657269; padding: 60px 0; }
.careers-page-row { display: block; min-height: 0; padding: 0; }
.careers-page-open { display: block; width: 100%; padding: 34px 0; border: 0; border-bottom: 1px solid #e4e7e4; color: inherit; background: transparent; font: inherit; text-align: left; cursor: pointer; transition: background .2s, padding .2s; }
.careers-page-open:hover { padding-left: 20px; padding-right: 20px; background: rgba(240, 247, 241, .68); }
.careers-page-open h2 { margin: 0 0 22px; color: #142119; font-size: clamp(22px, 2vw, 30px); font-weight: 600; line-height: 1.4; }
.careers-page-open dl, .career-detail-meta { display: flex; flex-wrap: wrap; gap: 12px 34px; margin: 0; color: #647168; font-size: 15px; line-height: 1.6; }
.careers-page-open dl > div, .career-detail-meta > div { display: flex; gap: 2px; }
.careers-page-open dt, .careers-page-open dd, .career-detail-meta dt, .career-detail-meta dd { margin: 0; }
.careers-page-open dt, .career-detail-meta dt { color: #8a948d; }
.career-detail-meta { margin: 0 0 30px; padding: 20px 0; border-top: 1px solid #e2e8e2; border-bottom: 1px solid #e2e8e2; font-size: 16px; }
.career-detail-meta > div { gap: 9px; }
.career-detail-meta dd { color: #31493b; }
@media (max-width: 720px) {
    .news-page-row { grid-template-columns: minmax(0, 1fr) 34%; gap: 20px; min-height: 180px; padding: 16px 0; }
    .news-page-copy time { font-size: 13px; }
    .news-page-copy h2 { font-size: 17px; margin: 10px 0 16px; }
    .news-page-cover { aspect-ratio: 1.2; }
    .news-page-more { font-size: 13px; padding: 9px 17px; gap: 16px; min-height: 44px; }
    .news-page-pagination { gap: 6px; }
    .news-page-pagination button { width: 44px; height: 44px; font-size: 15px; }
    .news-page-detail { width: calc(100% - 24px); max-height: calc(100% - 24px); padding: 28px 24px; }
    .careers-page-open { padding: 26px 0; }
    .careers-page-open:hover { padding-left: 12px; padding-right: 12px; }
    .careers-page-open h2 { margin-bottom: 17px; font-size: 22px; }
    .careers-page-open dl, .career-detail-meta { display: grid; grid-template-columns: 1fr; gap: 7px; font-size: 14px; }
    .career-detail-meta { margin-bottom: 24px; padding: 16px 0; }
}
@media (prefers-reduced-motion: reduce) { .news-page-more, .news-page-cover img, .news-page.news-list-reveal-ready .news-page-row { transition: none; transform: none; } .news-page.news-list-reveal-ready .news-page-row { opacity: 1; } }
