:root { --brand-primary-rgb: 198, 40, 40; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; }
.lo-skip-link { position: fixed; top: .5rem; left: .5rem; z-index: 11000; transform: translateY(-160%); border-radius: .5rem; background: #fff; color: var(--brand-dark, #14203a); padding: .75rem 1rem; box-shadow: 0 5px 20px rgba(0,0,0,.2); }
.lo-skip-link:focus { transform: translateY(0); outline: 3px solid var(--brand-accent, #f4a91f); }
.post-feature-image { display: block; aspect-ratio: 16 / 9; background: #f1f5f9; }
.post-feature-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.content-body { width: min(760px, calc(100% - 2rem)); margin: 0 auto; font-family: Lora, serif; font-size: 1.08rem; line-height: 1.8; }
.content-body img, .content-body video, .content-body iframe { max-width: 100%; height: auto; }
.lo-pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 2.5rem; }
.lo-pagination a { display: grid; place-items: center; min-width: 44px; min-height: 44px; border-radius: 999px; background: var(--brand-primary); color: #fff; }
.lo-contact-pending { border: 2px solid var(--brand-primary); border-radius: 1rem; background: #fff; padding: 1.5rem; color: var(--brand-dark); }
.lo-contact-pending h3 { margin: 0 0 .75rem; }
.lo-contact-pending p { margin: 0 0 1.25rem; }
.lo-error { min-height: 68vh; display: grid; place-items: center; padding: 7rem 1.25rem 4rem; background: radial-gradient(circle at top, var(--brand-light, #fff3f3), #fff 65%); text-align: center; }
.lo-error__inner { width: min(680px, 100%); }
.lo-error__code { margin: 0; color: var(--brand-primary); font-weight: 800; letter-spacing: .18em; }
.lo-error h1 { margin: .75rem 0 1rem; color: var(--brand-dark); font-size: clamp(2.25rem, 7vw, 4.5rem); line-height: 1.05; }
.lo-error__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 2rem; }
.lo-error__button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border: 2px solid var(--brand-primary); border-radius: .75rem; background: var(--brand-primary); color: #fff; padding: .7rem 1.2rem; font-weight: 700; }
.lo-error__button--secondary { background: #fff; color: var(--brand-primary); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--brand-accent, #f4a91f); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
