.ulu-blog-page .ulu-blog-body .ulu-blog-toc { margin: 2.5em 0; padding: clamp(22px, 3vw, 32px); border: 1px solid #c8e4eb; border-radius: 24px; background: #f1f9fb; }
.ulu-blog-page .ulu-blog-toc-title { display: block; margin-bottom: 18px; font-size: 20px; font-weight: 600; }
.ulu-blog-page .ulu-blog-body .ulu-blog-toc ul { margin: 0; padding-left: 1.25em; list-style: disc; }
.ulu-blog-page .ulu-blog-body .ulu-blog-toc ul ul { margin-top: .4em; font-size: .95em; }
.ulu-blog-page .ulu-blog-body .ulu-blog-toc li { margin: 0 0 .55em; line-height: 1.75; }
.ulu-blog-page .ulu-blog-body .ulu-blog-toc li:last-child { margin-bottom: 0; }
.ulu-blog-page .ulu-blog-toc li::marker { color: #63b7c9; }
.ulu-blog-page .ulu-blog-body .ulu-blog-toc a { color: #343b3b; text-decoration: none; overflow-wrap: anywhere; }
.ulu-blog-page .ulu-blog-body .ulu-blog-toc a:hover { color: #2671bc; text-decoration: underline; }
.ulu-blog-page .ulu-blog-body :is(h2,h3,h4,h5)[id] { scroll-margin-top: 140px; }
/* Blog-only layout. Posts stay editable with the WordPress block editor. */
.ulu-blog-page.ulu-site { background: #d1edf4; }
.ulu-blog-page .ulu-blog-article { padding-bottom: clamp(60px, 6vw, 100px); }
.ulu-blog-page .ulu-blog-container,
.ulu-blog-page .ulu-page-title,
.ulu-blog-page .ulu-blog-index { width: min(1280px, calc(100% - 96px)); margin-inline: auto; }
.ulu-blog-page .ulu-breadcrumb { width: min(1280px, calc(100% - 96px)); max-width: none; margin: 55px auto 0; padding: 0; flex-wrap: wrap; font-size: 14px; line-height: 1.8; }
.ulu-blog-page .ulu-content .ulu-blog-heading { padding-block: 72px 66px; }
.ulu-blog-page .ulu-blog-heading-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-bottom: 26px; }
.ulu-blog-page .ulu-blog-heading-meta .ulu-blog-category { background: #397ecd; font-size: 14px; font-weight: 600; margin: 0; padding: 8px 20px; }
.ulu-blog-page .ulu-blog-heading-meta time { color: #596b75; font-size: 14px; }
.ulu-blog-page .ulu-content .ulu-blog-heading h1 { max-width: 1160px; margin: 0; font-size: clamp(28px, 2.8vw, 42px); font-weight: 600; line-height: 1.65; letter-spacing: .015em; }
.ulu-blog-page .ulu-blog-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; align-items: start; }
.ulu-blog-page .ulu-blog-paper { min-width: 0; background: #fff; border-radius: 56px; padding: 64px; }
.ulu-blog-page .ulu-content .ulu-blog-cover { margin: 0 0 46px; }
.ulu-blog-page .ulu-blog-cover img { display: block; width: 100%; height: auto; border-radius: 24px; }
.ulu-blog-page .ulu-blog-body { font-size: 16px; line-height: 2.05; }
.ulu-blog-page .ulu-content .ulu-blog-body p { margin-block: 0 1.8em; line-height: 2.05; }
.ulu-blog-page .ulu-content .ulu-blog-body h2 { margin: 2.8em 0 1.2em; padding: 0 0 20px; border-bottom: 3px solid #d1edf4; font-size: 26px; line-height: 1.7; letter-spacing: 0; font-weight: 600; }
.ulu-blog-page .ulu-content .ulu-blog-body h3 { margin: 2.2em 0 1em; font-size: 21px; line-height: 1.75; letter-spacing: 0; font-weight: 600; }
.ulu-blog-page .ulu-blog-body > :first-child { margin-top: 0; }
.ulu-blog-page .ulu-blog-body ul,
.ulu-blog-page .ulu-blog-body ol { margin: 0 0 2em; padding-left: 1.5em; }
.ulu-blog-page .ulu-blog-body li { margin-bottom: .6em; }
.ulu-blog-page .ulu-blog-body strong { font-weight: 600; }
.ulu-blog-page .ulu-blog-body a { color: #2671bc; text-decoration: underline; text-underline-offset: .2em; }
.ulu-blog-page .ulu-content .ulu-blog-body blockquote { margin: 2em 0; padding: 28px 30px; border: 0; border-left: 4px solid #63b7c9; border-radius: 0 24px 24px 0; background: #f1f9fb; box-shadow: none; }
.ulu-blog-page .ulu-blog-body blockquote::before,
.ulu-blog-page .ulu-blog-body blockquote::after { content: none; }
.ulu-blog-page .ulu-blog-body blockquote p:last-child { margin-bottom: 0; }
.ulu-blog-page .ulu-blog-body cite,
.ulu-blog-page .ulu-blog-body figcaption { font-size: 14px; color: #66717b; }
.ulu-blog-page .ulu-content .ulu-blog-body .wp-block-image { margin: 36px 0; }
.ulu-blog-page .ulu-blog-body img { max-width: 100%; height: auto; border-radius: 20px; }
.ulu-blog-page .ulu-blog-body .alignwide,
.ulu-blog-page .ulu-blog-body .alignfull { width: 100%; max-width: 100%; margin-inline: 0; }
.ulu-blog-page .ulu-blog-body pre,
.ulu-blog-page .ulu-blog-body .wp-block-table { max-width: 100%; overflow-x: auto; }
.ulu-blog-page .ulu-blog-body iframe,
.ulu-blog-page .ulu-blog-body video { max-width: 100%; }
.ulu-blog-page .ulu-blog-back { margin-top: 56px; padding-top: 38px; border-top: 1px solid #e2e9ec; text-align: center; }
.ulu-blog-page .ulu-blog-part-pages { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 32px; }
.ulu-blog-page .ulu-blog-sidebar { position: relative; min-width: 0; margin-top: 96px; }
.ulu-blog-page .ulu-blog-side-ulu { position: absolute; width: 88px; height: auto; top: -96px; right: 29px; pointer-events: none; }
.ulu-blog-page .ulu-blog-side-paper { position: relative; background: #fff; border-radius: 40px; padding: 36px 28px; }
.ulu-blog-page .ulu-content .ulu-blog-side-heading { display: flex; align-items: center; gap: 12px; margin: 0 0 28px; font-size: 22px; font-weight: 600; line-height: 1.5; letter-spacing: 0; }
.ulu-blog-page .ulu-blog-side-heading svg { width: 28px; height: 28px; flex: none; color: #27b3dc; }
.ulu-blog-page .ulu-content .ulu-blog-side-empty { font-size: 14px; line-height: 1.9; color: #66717b; margin: 0; }
.ulu-blog-page .ulu-blog-related + .ulu-blog-categories { margin-top: 48px; }
.ulu-blog-page .ulu-blog-related-card { display: block; text-decoration: none; border-bottom: 1px solid #e0e5e7; padding: 22px 0; }
.ulu-blog-page .ulu-blog-related-card:first-of-type { padding-top: 0; }
.ulu-blog-page .ulu-blog-related-meta { display: flex; gap: 16px; align-items: center; margin-bottom: 16px; }
.ulu-blog-page .ulu-content .ulu-blog-related-meta figure { margin: 0; width: 80px; height: 80px; flex: none; border-radius: 22px; overflow: hidden; background: #f5f4ef; }
.ulu-blog-page .ulu-blog-related-meta img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.ulu-blog-page .ulu-blog-related-placeholder { height: 100%; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 300; line-height: 1.4; color: #7c898b; }
.ulu-blog-page .ulu-blog-related-meta > div { min-width: 0; }
.ulu-blog-page .ulu-blog-related-meta .ulu-blog-category { margin-bottom: 8px; padding: 4px 12px; background: #84979c; font-size: 12px; font-weight: 600; }
.ulu-blog-page .ulu-blog-related-meta time { display: block; color: #77848a; font-size: 12px; }
.ulu-blog-page .ulu-content .ulu-blog-related-card h3 { position: relative; padding-right: 25px; margin: 0; font-size: 16px; font-weight: 600; line-height: 1.8; letter-spacing: 0; }
.ulu-blog-page .ulu-blog-related-card h3 span { position: absolute; right: 0; top: 0; color: #f44f94; transition: transform .25s ease; }
.ulu-blog-page .ulu-blog-related-card:hover h3 { color: #2671bc; }
.ulu-blog-page .ulu-blog-related-card:hover h3 span { transform: translateX(3px); }
.ulu-blog-page .ulu-blog-related-card:hover img { transform: scale(1.04); }
.ulu-blog-page .ulu-blog-categories ul { list-style: none; padding: 0; margin: 0; }
.ulu-blog-page .ulu-blog-categories li { margin: 0; padding: 0; border-bottom: 1px solid #e0e5e7; }
.ulu-blog-page .ulu-blog-category-link { display: flex; gap: 11px; align-items: center; min-height: 52px; padding: 12px 4px; font-size: 16px; font-weight: 600; line-height: 1.7; text-decoration: none; transition: color .25s, background .25s; }
.ulu-blog-page .ulu-blog-category-dot { width: 9px; height: 9px; border-radius: 50%; flex: none; background: #f44f94; }
.ulu-blog-page .ulu-blog-category-color-1 .ulu-blog-category-dot { background: #33b880; }
.ulu-blog-page .ulu-blog-category-color-2 .ulu-blog-category-dot { background: #ef9400; }
.ulu-blog-page .ulu-blog-category-color-3 .ulu-blog-category-dot { background: #397ecd; }
.ulu-blog-page .ulu-blog-category-color-4 .ulu-blog-category-dot { background: #a07bc6; }
.ulu-blog-page .ulu-blog-category-arrow { margin-left: auto; color: #f44f94; opacity: 0; transition: opacity .25s; }
.ulu-blog-page .ulu-blog-category-link:hover,
.ulu-blog-page .ulu-blog-category-link.is-current { color: #2671bc; background: #f2fafc; }
.ulu-blog-page .ulu-blog-category-link:hover .ulu-blog-category-arrow,
.ulu-blog-page .ulu-blog-category-link.is-current .ulu-blog-category-arrow { opacity: 1; }
.ulu-blog-page .ulu-blog-sidebar a:focus-visible,
.ulu-blog-page .ulu-blog-body a:focus-visible { outline: 2px solid #397ecd; outline-offset: 4px; }
.ulu-blog-page .ulu-content .ulu-page-title { padding-block: 62px 55px; }
.ulu-blog-page .ulu-page-title .ulu-motion-title-shapes,
.ulu-blog-page .ulu-content .ulu-page-title h1::after { display: none; }
.ulu-blog-page .ulu-content .ulu-page-title h1 { font-weight: 600; font-size: 42px; letter-spacing: .02em; margin-bottom: 22px; }
.ulu-blog-page .ulu-content .ulu-page-title .ulu-lead { font-size: 16px; }
.ulu-blog-page .ulu-blog-list-paper { padding: 45px; }
.ulu-blog-page .ulu-content #ulu-blog-list-heading { font-size: 24px; font-weight: 600; letter-spacing: 0; margin-bottom: 36px; }
.ulu-blog-page .ulu-blog-list-paper .ulu-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 45px 30px; }
.ulu-blog-page .ulu-blog-list-paper .ulu-blog-card figure { border-radius: 22px; margin-bottom: 22px; }
.ulu-blog-page .ulu-blog-list-paper .ulu-blog-card .ulu-round-arrow { color: #f44f94; background: #fff1f6; }
.ulu-blog-page .ulu-blog-index { margin-bottom: 130px; }
.ulu-blog-page .ulu-footer { margin-top: 100px; }
@media (max-width: 1100px) {
  .ulu-blog-page .ulu-blog-layout { grid-template-columns: minmax(0, 1fr) 270px; gap: 28px; }
  .ulu-blog-page .ulu-blog-paper { padding: 40px; border-radius: 42px; }
  .ulu-blog-page .ulu-blog-side-paper { padding: 30px 22px; }
  .ulu-blog-page .ulu-blog-list-paper .ulu-blog-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .ulu-blog-page .ulu-blog-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .ulu-blog-page .ulu-blog-sidebar { margin-top: 130px; }
  .ulu-blog-page .ulu-blog-side-paper { padding: 40px; }
  .ulu-blog-page .ulu-blog-related-card { padding-block: 26px; }
  .ulu-blog-page .ulu-blog-related-meta figure { width: 90px; height: 90px; }
  .ulu-blog-page .ulu-blog-list-paper .ulu-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .ulu-blog-page .ulu-blog-container,
  .ulu-blog-page .ulu-page-title,
  .ulu-blog-page .ulu-blog-index { width: calc(100% - 32px); }
  .ulu-blog-page .ulu-breadcrumb { width: calc(100% - 48px); margin-top: 30px; font-size: 12px; gap: 8px; }
  .ulu-blog-page .ulu-content .ulu-blog-heading { padding: 42px 8px 38px; }
  .ulu-blog-page .ulu-blog-heading-meta { gap: 14px; margin-bottom: 22px; }
  .ulu-blog-page .ulu-blog-heading-meta .ulu-blog-category { padding: 6px 16px; }
  .ulu-blog-page .ulu-content .ulu-blog-heading h1 { font-size: 25px; line-height: 1.65; letter-spacing: 0; }
  .ulu-blog-page .ulu-blog-paper { border-radius: 30px; padding: 30px 22px; }
  .ulu-blog-page .ulu-content .ulu-blog-cover { margin-bottom: 30px; }
  .ulu-blog-page .ulu-blog-cover img,
  .ulu-blog-page .ulu-blog-body img { border-radius: 16px; }
  .ulu-blog-page .ulu-content .ulu-blog-body h2 { font-size: 22px; margin-top: 2.5em; padding-bottom: 16px; }
  .ulu-blog-page .ulu-content .ulu-blog-body h3 { font-size: 20px; }
  .ulu-blog-page .ulu-content .ulu-blog-body blockquote { padding: 22px 20px; border-radius: 0 20px 20px 0; }
  .ulu-blog-page .ulu-blog-back { margin-top: 40px; padding-top: 28px; }
  .ulu-blog-page .ulu-blog-side-paper { padding: 32px 26px; border-radius: 32px; }
  .ulu-blog-page .ulu-content .ulu-page-title { padding: 42px 8px 36px; }
  .ulu-blog-page .ulu-content .ulu-page-title h1 { font-size: 34px; }
  .ulu-blog-page .ulu-blog-list-paper .ulu-blog-grid { grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .ulu-blog-page .ulu-blog-index { margin-bottom: 85px; }
}
@media (prefers-reduced-motion: reduce) {
  .ulu-blog-page .ulu-blog-related-card img,
  .ulu-blog-page .ulu-blog-related-card h3 span,
  .ulu-blog-page .ulu-blog-category-link,
  .ulu-blog-page .ulu-blog-category-arrow { transition: none; }
}

/* The archive shares the homepage's broader COLUMN introduction. */
.ulu-blog-page .ulu-content .ulu-column-title h1{font-size:clamp(34px,3.2vw,48px);line-height:1.55;letter-spacing:0;margin-bottom:28px}
.ulu-blog-page .ulu-column-title h1 span{display:inline-block}
.ulu-blog-page .ulu-content .ulu-column-title .ulu-label{font-weight:600}
.ulu-blog-page .ulu-content .ulu-column-title .ulu-lead{font-weight:600;line-height:1.9}
@media(max-width:600px){
 .ulu-blog-page .ulu-content .ulu-column-title h1{font-size:28px;margin-bottom:24px}
 .ulu-blog-page .ulu-content .ulu-column-title .ulu-lead{font-size:14px}
 .ulu-blog-page .ulu-column-title .ulu-lead br{display:none}
}
