/* News layout only; no page scrolling, navigation or content rewriting. */
.nn-news { padding: clamp(36px, 5vw, 72px) 0; background: var(--bg-default, #f6f6f6); color: #272520; }
.nn-news__heading { margin-bottom: 36px; }
.nn-news__heading h2 { margin-bottom: 0; }
.nn-news__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; align-items: stretch; }
.nn-news .nn-news__card { position: relative; min-width: 0; display: flex; flex-direction: column; margin: 0; border: 1px solid #e7dfd5; border-radius: 16px; background: #fff; }
.nn-news__card:hover { border-color: #caa05c; }
.nn-news__admin { position: relative; z-index: 2; }
.nn-news__image { display: block; aspect-ratio: 8 / 5; overflow: hidden; border-radius: 15px 15px 0 0; background: #eeeae3; }
.nn-news__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.nn-news__card:hover .nn-news__image img { transform: scale(1.035); }
.nn-news__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 14px; padding: 26px; }
.nn-news__date { display: block; color: #98733b; font-size: 13px; font-weight: 500; line-height: 1.5; }
.nn-news .nn-news__title { margin: 0; color: #272520; font-size: 23px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.nn-news__title a { position: static; color: inherit; text-decoration: none; }
.nn-news__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 16px; }
.nn-news__title a:focus-visible::after { outline: 2px solid #98733b; outline-offset: 3px; }
.nn-news__card:hover .nn-news__title a { color: #98733b; }
.nn-news .nn-news__announce { margin: 0 0 8px; color: #66645f; font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
.nn-news__announce p { margin: 0 0 10px; font-size: inherit; line-height: inherit; color: inherit; }
.nn-news__announce > :last-child { margin-bottom: 0; }
.nn-news__announce img { max-width: 100%; height: auto; }
.nn-news__announce :is(a, button, input, select, textarea) { position: relative; z-index: 2; }
.nn-news a:focus-visible { outline: 2px solid #98733b; outline-offset: 4px; border-radius: 3px; }
.nn-news__empty { margin: 0; padding: 28px; border: 1px solid #e7dfd5; border-radius: 14px; background: #fff; }
.nn-news__pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px 28px; margin-top: 40px; font-size: 14px; }
.nn-news__pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.nn-news__pages a, .nn-news__pages span { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; padding: 8px; border: 1px solid #e7dfd5; border-radius: 8px; background: #fff; color: #272520; line-height: 1.5; text-decoration: none; }
.nn-news__pages [aria-current="page"] { border-color: #caa05c; background: #caa05c; font-weight: 600; }
.nn-news__pages a:hover { border-color: #caa05c; }
.nn-news__page-direction { color: #66645f; text-decoration: none; }
.nn-news__page-direction:hover { color: #98733b; }
.nn-news .nn-article { max-width: 940px; margin: 0 auto; padding: clamp(24px, 4vw, 56px); border: 1px solid #e7dfd5; border-radius: 18px; background: #fff; }
.nn-article__back { display: inline-flex; align-items: center; min-height: 44px; color: #806236; font-size: 14px; line-height: 1.5; text-decoration: none; }
.nn-article__back:hover { color: #272520; }
.nn-news .nn-article__heading { position: static; margin: 26px 0 32px; padding: 0 0 30px; border: 0; border-bottom: 1px solid #eee8df; background: none; box-shadow: none; }
.nn-article__heading h1 { margin: 14px 0 0; color: #272520; font-size: clamp(28px, 3.4vw, 44px); font-weight: 500; line-height: 1.15; letter-spacing: -.025em; overflow-wrap: anywhere; }
.nn-article__content { display: flow-root; color: #585858; font-size: 17px; line-height: 1.75; overflow-wrap: anywhere; }
.nn-article__content p, .nn-article__content li { font-size: inherit; line-height: inherit; color: inherit; }
.nn-article__content p { margin: 0 0 20px; }
.nn-article__content h2, .nn-article__content h3, .nn-article__content h4 { margin: 32px 0 16px; color: #272520; line-height: 1.3; }
.nn-article__content h2 { font-size: 28px; }
.nn-article__content h3 { font-size: 23px; }
.nn-article__content h4 { font-size: 20px; }
.nn-article__content ul, .nn-article__content ol { padding-left: 24px; margin: 0 0 20px; }
.nn-article__content li + li { margin-top: 6px; }
.nn-article__content a { color: #806236; text-decoration: underline; text-underline-offset: 3px; }
.nn-article__content img { max-width: 100%; height: auto; border-radius: 10px; }
.nn-article__content iframe, .nn-article__content video { max-width: 100%; }
.nn-article__content figure { margin: 24px 0; }
.nn-article__content figcaption { margin-top: 10px; color: #78736c; font-size: 13px; line-height: 1.6; }
.nn-article__content table { display: block; max-width: 100%; overflow-x: auto; margin: 20px 0; }
.nn-article__content pre { max-width: 100%; overflow-x: auto; }
.nn-article__content blockquote { margin: 24px 0; padding: 16px 24px; border-left: 3px solid #caa05c; background: #f7f4ee; color: #585858; font-size: inherit; font-style: normal; }
.nn-article__content > :first-child { margin-top: 0; }
.nn-article__content > :last-child { margin-bottom: 0; }
.nn-article__bottom { margin-top: 36px; padding-top: 22px; border-top: 1px solid #eee8df; }
@media (max-width: 1199px) {
    .nn-news__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
}
@media (max-width: 767px) {
    .nn-news__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .nn-news__body { padding: 22px; }
    .nn-news .nn-news__title { font-size: 22px; }
    .nn-article__content { font-size: 16px; }
    .nn-news .nn-article__heading { margin: 20px 0 24px; padding-bottom: 24px; }
    .nn-news__pages { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .nn-news__image img { transition: none; }
    .nn-news__card:hover .nn-news__image img { transform: none; }
}
