/* All rules are scoped to the column feature. */
/* The legacy footer overlaps the preceding section by 175px. Keep its
   transparent padding from intercepting column links and pagination. */
.nd-columns + .contact_section { margin-top:0; }
.nd-columns .nd-columns__search { margin:24px 0 36px; padding:24px; border:1px solid #e6d5be; border-radius:16px; background:white; }
.nd-columns .nd-columns__search label { display:block; font-weight:bold; margin-bottom:12px; }
.nd-columns .nd-columns__search-controls { display:flex; gap:12px; }
.nd-columns .nd-columns__search input[type=search] { flex:1; min-width:0; width:100%; padding:12px; border:1px solid #8c6c47; border-radius:8px; font:inherit; font-size:16px; box-sizing:border-box; background:white; color:#5c4c2c; }
.nd-columns .nd-columns__search button { min-height:48px; padding:12px 24px; border:0; border-radius:8px; background:#80613f; color:white; font:inherit; cursor:pointer; }
.nd-columns .nd-columns__search p { margin:10px 0 0; font-size:13px; }
.nd-columns .nd-columns__search :focus-visible { outline:3px solid #8c6c47; outline-offset:3px; }
@media(max-width:600px) { .nd-columns .nd-columns__search { padding:18px; } .nd-columns .nd-columns__search-controls { flex-direction:column; } }
.nd-columns .nd-columns__welcome { display:grid; grid-template-columns:1fr 1.2fr; align-items:center; gap:24px; margin:0 0 48px; padding:32px; background:#fff6e7; border-radius:24px; border:1px solid #e6d5be; }
.nd-columns .nd-columns__welcome-copy h2 { font-size:30px; line-height:1.65; margin:16px 0; }
.nd-columns .nd-columns__welcome-image { display:block; width:100%; height:auto; border-radius:16px; }
.nd-columns .nd-columns__eyebrow { color:#80613f; font-size:14px; letter-spacing:.05em; margin:0; }
.nd-columns .nd-columns__signature { font-size:14px; margin-top:24px; }
.nd-columns .nd-columns__signature strong { display:inline-block; font-size:20px; margin-left:8px; }
.nd-columns .nd-columns__author { display:flex; align-items:center; gap:24px; margin-top:40px; padding:24px; border:1px solid #e6d5be; border-radius:16px; background:#fff; }
.nd-columns .nd-columns__author img { width:140px; height:auto; flex-shrink:0; }
.nd-columns .nd-columns__author h2 { margin:8px 0 12px; }
.nd-columns .nd-columns__author h2 span { display:block; font-size:14px; font-weight:normal; }
.nd-columns .nd-columns__author p { margin-bottom:0; }
.nd-columns .nd-columns__entry-image { display:block; width:150px; height:auto; margin:0 auto 16px; }
@media(max-width:600px) { .nd-columns .nd-columns__welcome { grid-template-columns:1fr; padding:24px 18px; gap:16px; } .nd-columns .nd-columns__welcome-copy h2 { font-size:26px; } .nd-columns .nd-columns__author { flex-direction:column; align-items:flex-start; gap:12px; padding:20px; } .nd-columns .nd-columns__author img { width:110px; } }
.nd-columns .nd-columns__contact { margin-top:40px; padding:32px 24px; border:1px solid #e6d5be; border-radius:16px; background:#fdeacf; text-align:center; }
.nd-columns .nd-columns__contact h2 { margin:0 0 12px; font-size:24px; }
.nd-columns .nd-columns__contact-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:24px; }
.nd-columns .nd-columns__contact-link { display:flex; flex-direction:column; justify-content:center; gap:8px; padding:20px 12px; border-radius:12px; color:#fff; text-decoration:none; min-height:120px; box-sizing:border-box; }
.nd-columns .nd-columns__contact-link strong { font-size:18px; line-height:1.5; }
.nd-columns .nd-columns__contact-link span { font-size:14px; line-height:1.5; }
.nd-columns .nd-columns__contact-link small { font-size:12px; line-height:1.5; }
.nd-columns .nd-columns__contact-link--form { background:#9c4355; }
.nd-columns .nd-columns__contact-link--phone { background:#80613f; }
.nd-columns .nd-columns__contact-link--line { background:#177c42; }
.nd-columns .nd-columns__contact-link:hover { filter:brightness(.92); }
@media(max-width:600px) { .nd-columns .nd-columns__contact { padding:24px 16px; } .nd-columns .nd-columns__contact-links { grid-template-columns:1fr; } .nd-columns .nd-columns__contact-link { min-height:96px; } .nd-columns .nd-columns__contact h2 { font-size:21px; } }
.nd-columns .nd-columns__tags { display:flex; flex-wrap:wrap; gap:8px; padding:16px 24px; }
.nd-columns .nd-columns__tags a { display:inline-block; border:1px solid #c5a06b; border-radius:24px; padding:10px 14px; font-size:14px; text-decoration:none; background:#fff8ec; }
.nd-columns .nd-columns__filter { margin-bottom:28px; }
.nd-columns .nd-columns__card { display:flex; flex-direction:column; }
.nd-columns .nd-columns__card > a { flex:1; }
.nd-columns { background:#fffbf5; color:#5c4c2c; padding:36px 20px 72px; }
.nd-columns .nd-columns__wrap { max-width:1100px; margin:0 auto; }
.nd-columns .nd-columns__wrap--article { max-width:820px; }
.nd-columns .nd-columns__crumb { font-size:14px; margin-bottom:32px; overflow-wrap:anywhere; }
.nd-columns a { color:inherit; }
.nd-columns a:focus-visible { outline:3px solid #8c6c47; outline-offset:5px; }
.nd-columns .nd-columns__heading { text-align:center; margin:0 0 40px; }
.nd-columns h1 { font-size:36px; line-height:1.5; margin:12px 0 20px; overflow-wrap:anywhere; }
.nd-columns p { line-height:1.9; }
.nd-columns .nd-columns__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.nd-columns .nd-columns__card { background:#fff; border:1px solid #e6d5be; border-radius:16px; overflow:hidden; }
.nd-columns .nd-columns__card > a { display:block; text-decoration:none; }
.nd-columns .nd-columns__card > a:hover { background:#fdf6ed; }
.nd-columns .nd-columns__image { display:block; width:100%; height:190px; object-fit:cover; }
.nd-columns .nd-columns__placeholder { height:190px; background:#fdeacf; display:flex; flex-direction:column; align-items:center; justify-content:center; font-size:24px; }
.nd-columns .nd-columns__placeholder span { font-size:16px; margin-top:10px; }
.nd-columns .nd-columns__card-body { padding:24px; }
.nd-columns .nd-columns__card-body > p {
 display:-webkit-box;
 -webkit-box-orient:vertical;
 -webkit-line-clamp:4;
 overflow:hidden;
 line-height:1.9;
 height:7.6em;
}
.nd-columns time { font-size:14px; color:#75634f; }
.nd-columns h2 { font-size:22px; line-height:1.6; margin:12px 0; }
.nd-columns .nd-columns__read { display:block; margin-top:20px; font-weight:bold; color:#8c6c47; }
.nd-columns .nd-columns__button { display:inline-block; padding:14px 30px; background:#8c6c47; color:#fff; border-radius:30px; text-decoration:none; line-height:1.5; }
.nd-columns .nd-columns__empty { text-align:center; padding:48px 16px; background:white; border-radius:16px; }
.nd-columns .nd-columns__hero { display:block; max-width:100%; height:auto; margin:0 auto 32px; }
.nd-columns .nd-columns__content { background:#fff; padding:32px; border-radius:16px; line-height:1.9; overflow-wrap:anywhere; }
.nd-columns .nd-columns__content p { margin:0 0 1.5em; }
.nd-columns .nd-columns__content h2 { border-left:4px solid #c5a06b; padding-left:16px; margin:2em 0 1em; }
.nd-columns .nd-columns__content img { max-width:100%; height:auto; }
.nd-columns .nd-columns__content .aligncenter { display:block; float:none; margin-left:auto; margin-right:auto; }
.nd-columns .nd-columns__content .aligncenter img { display:block; margin-left:auto; margin-right:auto; }
.nd-columns .nd-columns__content ul,.nd-columns .nd-columns__content ol { padding-left:1.5em; margin-bottom:1.5em; }
.nd-columns .nd-columns__content ul { list-style:disc; }
.nd-columns .nd-columns__content ol { list-style:decimal; }
.nd-columns .nd-columns__content a { text-decoration:underline; }
.nd-columns .nd-columns__back,.nd-columns .navigation { text-align:center; margin-top:36px; }
.nd-columns .page-numbers { display:inline-block; padding:10px 14px; }
.nd-columns .page-numbers.current { background:#fdeacf; }
.nd-columns--entry { text-align:center; padding:48px 20px; }
.nd-columns--entry p { margin:16px 0 24px; }
@media(max-width:900px) { .nd-columns .nd-columns__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .nd-columns { padding:24px 16px 48px; } .nd-columns .nd-columns__grid { grid-template-columns:1fr; } .nd-columns h1 { font-size:28px; } .nd-columns .nd-columns__content { padding:24px 18px; } }

/* Homepage entry is nested in main, unlike the column archive. */
.home #primary + .contact_section { margin-top:0; }
.nd-columns a.nd-columns__button,
.nd-columns a.nd-columns__button:visited,
.nd-columns a.nd-columns__button:hover,
.nd-columns a.nd-columns__button:focus { color:#fff !important; -webkit-text-fill-color:#fff; background:#80613f; }
@media(min-width:1200px) {
 .nd-column-navigation ul { display:flex; flex-wrap:nowrap; justify-content:center; }
 .nd-column-navigation ul li { margin:0; min-width:0; padding:0 8px; flex:0 0 auto; }
 .nd-column-navigation ul li a { white-space:nowrap; }
 .nd-column-navigation ul li:before { left:0; }
 .nd-column-navigation ul li:last-child:after { right:0; }
}

.sp_menu_wrap { overflow-y:auto; overscroll-behavior:contain; }

/* Keep short phrases together without forcing overflow on narrow screens. */
.nd-columns__welcome-copy .nd-copy-unit, .contact_txt .nd-copy-unit { display:inline-block; max-width:100%; }

.nd-columns--entry .nd-entry-phrase { display:inline-block; max-width:100%; }
@media(max-width:600px) {
 .nd-columns--entry .nd-entry-name, .nd-columns--entry .nd-entry-message { display:block; }
 .nd-columns--entry .nd-columns__signature strong { white-space:nowrap; font-size:18px; margin-left:6px; }
 .nd-columns--entry .nd-entry-message { margin-top:4px; }
}
