:root {
  --page-bg: #f3f0e8;
  --surface: #fffdf8;
  --surface-soft: #eae6dc;
  --ink: #20262d;
  --muted: #687079;
  --navy: #173b50;
  --navy-deep: #102b3b;
  --terracotta: #a64b3c;
  --bronze: #c39a54;
  --border: #d8d2c5;
  --border-strong: #b8b0a1;
  --white: #fff;
  --danger: #9d3434;
  --success: #486a52;
  --shadow-soft: 0 12px 35px rgba(23, 59, 80, .08);
  --shadow-hover: 0 18px 45px rgba(23, 59, 80, .14);
  --radius-sm: 7px;
  --radius-md: 13px;
  --radius-lg: 21px;
  --font-heading: Georgia, "Times New Roman", serif;
  --font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--page-bg);
  color: var(--ink);
  font: 17px/1.65 var(--font-ui);
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; }
a { color: var(--navy); text-decoration-thickness: .08em; text-underline-offset: .16em; }
a:hover { color: var(--terracotta); }
button, input, select { font: inherit; }
button, .btn, .nav-link, .calendar-cell a { min-height: 44px; }
:focus-visible { outline: 3px solid var(--terracotta); outline-offset: 3px; }

.skip-link {
  position: fixed; left: 12px; top: 12px; z-index: 1000;
  transform: translateY(-160%); background: var(--white); color: var(--ink);
  padding: 10px 14px; border-radius: var(--radius-sm); box-shadow: var(--shadow-soft);
}
.skip-link:focus { transform: translateY(0); }

.container { width: min(1320px, calc(100% - 64px)); margin-inline: auto; }
.content-width { width: min(1180px, 100%); margin-inline: auto; }
.section { padding: 82px 0; }
.section-sm { padding: 52px 0; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.eyebrow { margin: 0 0 8px; color: var(--terracotta); font-size: .77rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
h1, h2, h3, .brand, .event-year, .calendar-number { font-family: var(--font-heading); }
h1, h2, h3 { margin: 0; color: var(--navy-deep); line-height: 1.12; }
h1 { font-size: clamp(2.45rem, 5vw, 4.25rem); }
h2 { font-size: clamp(2rem, 3.5vw, 3rem); }
h3 { font-size: clamp(1.35rem, 2vw, 1.8rem); }
p { margin: 0 0 1em; }
.lead { max-width: 760px; color: var(--muted); font-size: 1.08rem; }
.muted { color: var(--muted); }

.site-header { position: relative; z-index: 20; background: rgba(255,253,248,.96); border-bottom: 1px solid var(--border); }
.header-row { min-height: 90px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand-wrap { display: inline-flex; flex-direction: column; color: inherit; text-decoration: none; }
.brand { color: var(--navy-deep); font-size: 1.66rem; font-weight: 700; letter-spacing: .08em; line-height: 1; }
.brand .dotcom { color: var(--terracotta); font-size: .63em; letter-spacing: .02em; }
.brand-subtitle { margin-top: 7px; color: var(--muted); font-size: .73rem; letter-spacing: .06em; }
.site-nav { display: flex; align-items: center; gap: 26px; }
.nav-link { display: inline-flex; align-items: center; color: var(--ink); text-decoration: none; border-bottom: 3px solid transparent; }
.nav-link[aria-current="page"] { color: var(--navy); border-color: var(--terracotta); }
.menu-toggle { display: none; border: 1px solid var(--border-strong); background: var(--surface); color: var(--navy); border-radius: var(--radius-sm); padding: 8px 12px; }

.home-hero { background: var(--navy); color: var(--white); padding: 78px 0 74px; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.14fr) minmax(340px, .86fr); gap: 72px; align-items: center; }
.home-hero h1 { color: var(--white); max-width: 760px; }
.home-hero .lead { color: rgba(255,255,255,.78); margin-top: 22px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 30px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 17px; border: 1px solid var(--navy); border-radius: var(--radius-sm); background: var(--navy); color: var(--white); text-decoration: none; font-weight: 750; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
.btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-soft); color: var(--white); background: var(--navy-deep); }
.btn-light { background: var(--surface); color: var(--navy-deep); border-color: var(--surface); }
.btn-light:hover { background: var(--white); color: var(--navy-deep); }
.btn-outline-light { background: transparent; color: var(--white); border-color: rgba(255,255,255,.56); }
.btn-outline-light:hover { background: rgba(255,255,255,.1); }
.btn-quiet { background: transparent; color: var(--navy); border-color: var(--border-strong); }
.btn-quiet:hover { background: var(--surface-soft); color: var(--navy); }

.hero-date-panel { position: relative; padding: 26px 30px 24px; border: 1px solid rgba(255,255,255,.19); border-radius: var(--radius-lg); background: rgba(255,255,255,.07); box-shadow: 0 24px 70px rgba(0,0,0,.13); }
.hero-date { display: grid; grid-template-columns: auto 1fr; gap: 17px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.18); padding-bottom: 21px; margin-bottom: 18px; }
.hero-day { color: #e8be79; font: 700 clamp(5rem, 10vw, 8.1rem)/.82 var(--font-heading); letter-spacing: -.07em; }
.hero-month { font-size: 1.52rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.hero-year { margin-top: 3px; color: rgba(255,255,255,.64); font-size: .85rem; letter-spacing: .08em; }
.hero-events { display: grid; gap: 12px; }
.hero-event { display: grid; grid-template-columns: 58px 1fr; gap: 12px; color: rgba(255,255,255,.89); font-size: .93rem; }
.hero-event-year { color: #e8be79; font-family: var(--font-heading); font-size: 1.12rem; }

.timeline-layout { display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 54px; align-items: start; }
.date-rail { position: sticky; top: 28px; }
.date-rail-number { color: var(--terracotta); font: 700 clamp(4.5rem, 8vw, 6.4rem)/.84 var(--font-heading); letter-spacing: -.06em; }
.date-rail-month { margin-top: 10px; color: var(--navy-deep); font: 700 1.65rem/1.1 var(--font-heading); }
.timeline { position: relative; display: grid; gap: 22px; padding-left: 32px; }
.timeline::before { content: ""; position: absolute; left: 8px; top: 15px; bottom: 15px; width: 2px; background: linear-gradient(var(--bronze), var(--border)); }
.timeline-item { position: relative; }
.timeline-item::before { content: ""; position: absolute; left: -31px; top: 28px; width: 14px; height: 14px; border: 3px solid var(--page-bg); border-radius: 50%; background: var(--terracotta); box-shadow: 0 0 0 1px var(--bronze); }

.event-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 25px 27px; box-shadow: 0 1px 0 rgba(23,59,80,.02); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.event-card:hover { transform: translateY(-2px); border-color: var(--border-strong); box-shadow: var(--shadow-hover); }
.event-top { display: flex; justify-content: space-between; align-items: start; gap: 20px; margin-bottom: 13px; }
.event-year { color: var(--terracotta); font-size: 1.75rem; font-weight: 700; line-height: 1; }
.category-badge { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 9px; border: 1px solid var(--border); border-radius: 999px; color: var(--navy); background: var(--surface-soft); font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.event-title { color: var(--navy-deep); font: 700 clamp(1.33rem, 2.4vw, 1.75rem)/1.2 var(--font-heading); }
.event-meta { margin-top: 9px; color: var(--muted); font-size: .88rem; }
.event-description { margin-top: 15px; max-width: 78ch; }
.event-tags { margin-top: 16px; color: var(--muted); font-size: .82rem; }
.event-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 19px; }
.event-links a { min-height: auto; padding: 7px 11px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: transparent; color: var(--navy); text-decoration: none; font-size: .82rem; font-weight: 750; }
.event-links a:hover { border-color: var(--terracotta); color: var(--terracotta); }

.search-panel, .filters-panel, .info-panel, .empty-state, .error-state { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 25px; }
.search-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.search-tab { border: 1px solid var(--border); background: transparent; color: var(--navy); border-radius: var(--radius-sm); padding: 8px 12px; cursor: pointer; font-weight: 800; }
.search-tab[aria-selected="true"] { background: var(--navy); border-color: var(--navy); color: var(--white); }
.search-pane[hidden] { display: none; }
.form-row { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.field { display: grid; gap: 6px; min-width: 130px; }
.field label { color: var(--muted); font-size: .8rem; font-weight: 800; }
input, select { min-height: 46px; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); background: var(--white); color: var(--ink); padding: 9px 11px; }
input:focus, select:focus { border-color: var(--terracotta); }

.month-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.month-card { position: relative; min-height: 126px; display: flex; flex-direction: column; justify-content: space-between; padding: 19px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); color: var(--navy-deep); text-decoration: none; overflow: hidden; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.month-card::after { content: attr(data-number); position: absolute; right: 10px; bottom: -19px; color: rgba(23,59,80,.07); font: 700 5rem/1 var(--font-heading); }
.month-card:hover { transform: translateY(-3px); border-color: var(--terracotta); box-shadow: var(--shadow-soft); }
.month-name { font: 700 1.32rem/1.1 var(--font-heading); }
.month-count { color: var(--muted); font-size: .8rem; }

.periods { display: grid; gap: 22px; }
.century-block { position: relative; overflow: hidden; padding: 24px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
.century-title { color: var(--navy-deep); font: 700 2rem/1 var(--font-heading); }
.century-watermark { position: absolute; right: 12px; top: -16px; color: rgba(166,75,60,.07); font: 700 7rem/1 var(--font-heading); }
.decade-list { position: relative; display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.decade-link { display: inline-flex; align-items: center; min-height: 40px; padding: 7px 11px; border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--navy); background: var(--page-bg); text-decoration: none; }
.decade-link:hover { border-color: var(--terracotta); }

.page-hero { padding: 60px 0 48px; background: linear-gradient(135deg, var(--navy-deep), var(--navy)); color: var(--white); }
.page-hero h1 { color: var(--white); }
.page-hero .lead { margin-top: 15px; color: rgba(255,255,255,.73); }
.page-meta { margin-top: 17px; display: flex; flex-wrap: wrap; gap: 10px 18px; color: rgba(255,255,255,.72); font-size: .9rem; }

.content-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 42px; align-items: start; }
.site-sidebar { display: grid; gap: 28px; }
.sidebar-section { padding-top: 20px; border-top: 1px solid var(--border-strong); }
.sidebar-section:first-child { padding-top: 0; border-top: 0; }
.sidebar-title { margin-bottom: 13px; color: var(--navy-deep); font: 700 1.25rem/1.2 var(--font-heading); }
.sidebar-links { display: grid; gap: 8px; }
.sidebar-links a { color: var(--navy); }

.pager { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 9px; margin-bottom: 19px; }
.pager a, .pager span { display: flex; align-items: center; justify-content: center; min-height: 46px; padding: 8px 11px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--navy); text-align: center; text-decoration: none; font-size: .83rem; }
.pager span { color: var(--muted); background: rgba(255,255,255,.36); }
.cross-links { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 26px; }
.cross-links a { display: inline-flex; padding: 8px 11px; border-bottom: 2px solid var(--terracotta); color: var(--navy); text-decoration: none; font-weight: 750; }

.filters-panel { margin-bottom: 24px; }
.filters-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; align-items: end; }
.results-meta { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 16px 0; color: var(--muted); font-size: .86rem; }
.entries-list { display: grid; gap: 19px; }
.load-more-wrap { display: flex; justify-content: center; margin-top: 25px; }

.calendar { border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); overflow: hidden; }
.calendar-weekdays { display: grid; grid-template-columns: repeat(7, 1fr); border-bottom: 1px solid var(--border); background: var(--surface-soft); }
.calendar-weekdays div { padding: 11px 6px; color: var(--muted); text-align: center; font-size: .72rem; font-weight: 850; letter-spacing: .06em; }
.calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); }
.calendar-grid.no-weekdays { grid-template-columns: repeat(7, 1fr); }
.calendar-cell { min-height: 92px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--surface); }
.calendar-cell:nth-child(7n) { border-right: 0; }
.calendar-cell a, .calendar-cell .inactive-day { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 7px; padding: 12px; text-decoration: none; }
.calendar-cell a:hover { background: rgba(166,75,60,.06); }
.calendar-cell.empty { background: rgba(255,255,255,.34); }
.calendar-cell.future { background: rgba(104,112,121,.05); }
.calendar-number { color: var(--navy-deep); font-size: 1.45rem; }
.calendar-cell.inactive .calendar-number, .calendar-cell.future .calendar-number { color: #a9a49a; }
.calendar-count { color: var(--muted); font-size: .74rem; }
.calendar-cell.today { box-shadow: inset 0 0 0 2px var(--terracotta); }

.year-hero-grid { display: grid; grid-template-columns: 1fr auto; gap: 34px; align-items: end; }
.big-year { color: var(--white); font: 700 clamp(5.4rem, 13vw, 9.2rem)/.78 var(--font-heading); letter-spacing: -.07em; }
.stats-grid { display: grid; grid-template-columns: repeat(2, minmax(110px,1fr)); gap: 10px; }
.stat { padding: 13px 15px; border: 1px solid rgba(255,255,255,.2); border-radius: var(--radius-sm); background: rgba(255,255,255,.07); }
.stat strong { display: block; color: #e8be79; font: 700 1.55rem/1 var(--font-heading); }
.stat span { color: rgba(255,255,255,.7); font-size: .75rem; }
.month-jump { display: flex; gap: 7px; overflow-x: auto; padding: 4px 0 12px; margin-bottom: 22px; }
.month-jump a { flex: 0 0 auto; display: inline-flex; min-height: 40px; align-items: center; padding: 7px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--navy); background: var(--surface); text-decoration: none; font-size: .75rem; font-weight: 850; }
.year-month-section { scroll-margin-top: 20px; margin-top: 44px; }
.year-month-heading { display: flex; justify-content: space-between; gap: 18px; align-items: end; padding-bottom: 12px; margin-bottom: 19px; border-bottom: 1px solid var(--border-strong); }
.year-month-heading strong { color: var(--terracotta); font: 700 2.3rem/1 var(--font-heading); }
.day-group { margin-top: 26px; }
.day-group-title { margin-bottom: 10px; color: var(--navy); font: 700 1.1rem/1.2 var(--font-heading); }

.decade-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px; }
.year-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 108px; padding: 19px 21px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); color: var(--navy); text-decoration: none; }
.year-card:hover { border-color: var(--terracotta); box-shadow: var(--shadow-soft); }
.year-card-year { font: 700 2.55rem/1 var(--font-heading); color: var(--navy-deep); }
.year-card-count { color: var(--muted); font-size: .85rem; }
.year-card.empty { opacity: .55; pointer-events: none; }

.prose { max-width: 820px; }
.prose h2 { margin-top: 42px; margin-bottom: 15px; font-size: 1.7rem; }
.prose ul { padding-left: 1.2em; }
.prose li { margin-bottom: 8px; }
.contact-email { font: 700 1.35rem/1.2 var(--font-heading); }
.empty-state, .error-state { text-align: center; padding: 40px 28px; }
.error-state { border-color: rgba(157,52,52,.35); }
.empty-state h2, .error-state h2 { margin-bottom: 11px; font-size: 1.65rem; }

.site-footer { margin-top: 70px; padding: 54px 0 28px; background: var(--navy-deep); color: rgba(255,255,255,.76); }
.footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 38px; }
.site-footer .brand { color: var(--white); }
.site-footer a { color: rgba(255,255,255,.88); }
.footer-links { display: grid; gap: 7px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 27px; margin-top: 34px; border-top: 1px solid rgba(255,255,255,.15); font-size: .8rem; }

@media (max-width: 1040px) {
  .hero-grid { grid-template-columns: 1fr; gap: 42px; }
  .hero-date-panel { max-width: 660px; }
  .content-layout { grid-template-columns: 1fr; }
  .site-sidebar { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .month-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 780px) {
  .container { width: min(100% - 36px, 1320px); }
  .header-row { min-height: 74px; }
  .brand-subtitle { display: none; }
  .menu-toggle { display: inline-flex; }
  .site-nav { display: none; position: absolute; left: 18px; right: 18px; top: calc(100% + 8px); flex-direction: column; align-items: stretch; gap: 0; padding: 10px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-soft); }
  .site-nav.open { display: flex; }
  .nav-link { padding: 10px 8px; border-bottom-width: 1px; }
  .home-hero { padding: 56px 0; }
  .section { padding: 58px 0; }
  .timeline-layout { grid-template-columns: 1fr; gap: 28px; }
  .date-rail { position: static; }
  .date-rail-number { font-size: 4.7rem; }
  .month-grid { grid-template-columns: repeat(2, 1fr); }
  .filters-grid { grid-template-columns: 1fr; }
  .pager { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .year-hero-grid { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .site-sidebar { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > :first-child { grid-column: 1 / -1; }
}

@media (max-width: 540px) {
  body { font-size: 16px; }
  .container { width: min(100% - 30px, 1320px); }
  .section-heading { align-items: start; flex-direction: column; }
  .hero-date { grid-template-columns: 1fr; }
  .hero-day { font-size: 5.8rem; }
  .hero-actions .btn { width: 100%; }
  .event-top { align-items: start; flex-direction: column; gap: 9px; }
  .event-card { padding: 21px 19px; }
  .month-grid { grid-template-columns: 1fr; }
  .calendar-grid.no-weekdays { grid-template-columns: repeat(4, 1fr); }
  .calendar-cell { min-height: 78px; }
  .calendar-cell a, .calendar-cell .inactive-day { padding: 9px; }
  .calendar-number { font-size: 1.2rem; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .decade-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > :first-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
  .results-meta { align-items: start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* DATOVED.com — основная визуальная система */
.site-shell{min-height:100vh;display:flex;flex-direction:column}
.topbar{width:min(1320px,calc(100% - 40px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:88px}
.brand{display:inline-flex;flex-direction:column;gap:2px;color:var(--navy-deep);text-decoration:none;font-family:var(--font-ui)}
.brand strong{font-size:1.18rem;letter-spacing:.12em}.brand strong span{font-size:.72em;color:var(--terracotta);letter-spacing:0}.brand small{color:var(--muted);font-size:.72rem;letter-spacing:.035em}
.main-nav{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.main-nav a{position:relative;color:var(--navy-deep);font-size:.83rem;font-weight:800;letter-spacing:.03em;text-decoration:none;padding:31px 0 27px}.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:19px;height:2px;background:var(--terracotta);transform:scaleX(0);transition:transform .18s ease}.main-nav a:hover::after,.main-nav a.active::after{transform:scaleX(1)}
.site-main{width:min(1320px,calc(100% - 40px));margin:0 auto;padding:44px 0 86px;flex:1}.home-main{display:grid;gap:34px}
.home-hero.hero-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:0;padding:0;overflow:hidden;border-radius:var(--radius-lg);background:var(--navy);color:#fff;box-shadow:var(--shadow-soft)}
.hero-copy{padding:72px 62px;background:radial-gradient(circle at 12% 110%,rgba(195,154,84,.2),transparent 38%),linear-gradient(135deg,var(--navy-deep),var(--navy));display:flex;flex-direction:column;justify-content:center}.hero-copy h1{max-width:790px;margin:.12em 0 .3em;color:#fff;font-size:clamp(3rem,6vw,6.25rem);line-height:.94;letter-spacing:-.045em}.hero-copy .lead{max-width:650px;color:rgba(255,255,255,.77);font-size:1.13rem}.hero-copy .eyebrow{color:#e8be79}
.hero-highlights{padding:24px;background:#efe9dc;display:grid;gap:16px;color:var(--ink)}.highlight-card{padding:24px;border:1px solid rgba(23,59,80,.14);border-radius:var(--radius-md);background:rgba(255,253,248,.91)}.highlight-card-accent{background:var(--surface)}.highlight-card h2{margin:8px 0;color:var(--navy-deep);font-size:2rem}.hero-date-number{color:var(--terracotta);font:700 5rem/1 var(--font-heading)}
.mini-kicker,.route-label{display:inline-flex;color:var(--terracotta);font-size:.69rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.feature-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:9px}.feature-list li{position:relative;padding-left:18px}.feature-list li::before{content:"";position:absolute;left:0;top:.65em;width:7px;height:7px;border-radius:50%;background:var(--bronze)}
.panel,.today-card,.mini-search-card,.sidebar-card,.entry,.month-link,.decade-card,.year-card,.century-card{border:1px solid var(--border);background:var(--surface)}.panel{padding:30px;border-radius:var(--radius-md)}.panel-flat{background:rgba(255,253,248,.78)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-heading h2{margin:4px 0 0}.section-note{max-width:530px;margin:0;color:var(--muted)}.text-link{font-weight:800}
.today-card{padding:0;border:0;background:transparent}.today-mini-list{display:grid;gap:0}.today-mini-entry{display:grid;grid-template-columns:90px minmax(0,1fr);gap:22px;padding:22px 0;border-bottom:1px solid var(--border)}.today-mini-entry:first-child{padding-top:0}.today-mini-entry:last-child{border-bottom:0;padding-bottom:0}.today-mini-year a{color:var(--terracotta);font:700 1.9rem/1 var(--font-heading)}.today-mini-title a{color:var(--navy-deep);font:700 1.22rem/1.25 var(--font-heading)}.today-mini-meta,.entry-date,.badge,.stat-line{color:var(--muted);font-size:.82rem}.today-mini-entry p{margin:.45rem 0 0;color:var(--muted)}
.grid{display:grid;gap:18px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-search-card{padding:23px;border-radius:var(--radius-md)}.mini-search-card h3{margin:5px 0 7px}.mini-search-card p{min-height:58px;color:var(--muted)}
.action-row,.cross-links,.pager,.filters,.form-row,.entry-links,.mini-actions,.pager-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.action-row{margin-top:28px}
.btn,button,input[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:9px 15px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--navy);font:800 .78rem/1.2 var(--font-ui);cursor:pointer;text-decoration:none}.btn.primary,button{background:var(--navy);border-color:var(--navy);color:#fff}.btn.soft{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}.btn.secondary{background:var(--surface-soft)}.btn.current.disabled,.disabled{pointer-events:none;opacity:.62}
.form-stack{display:grid;gap:10px}.form-stack label{font-size:.73rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.form-row{align-items:stretch}.form-row.compact>*{min-width:0}.form-row select,.form-row input{flex:1;min-width:110px}input,select{min-height:44px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;padding:9px 11px;color:var(--ink);font:inherit}
.month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.month-link{position:relative;min-height:110px;padding:20px;border-radius:var(--radius-md);display:flex;flex-direction:column;justify-content:space-between;color:var(--navy-deep);text-decoration:none;overflow:hidden}.month-link::after{content:attr(data-number);position:absolute;right:9px;bottom:-17px;color:rgba(23,59,80,.07);font:700 4.7rem/1 var(--font-heading)}.month-link span{font:700 1.34rem/1.1 var(--font-heading)}.month-link em{font-style:normal;color:var(--muted);font-size:.75rem}.month-link:hover{border-color:var(--terracotta);transform:translateY(-2px)}
.century-list{display:grid;gap:14px}.century-card{border-radius:var(--radius-md);overflow:hidden}.century-card summary{list-style:none;cursor:pointer;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;background:var(--surface-soft);color:var(--navy-deep);font:700 1.25rem/1.2 var(--font-heading)}.century-card summary::-webkit-details-marker{display:none}.century-card summary em{font:500 .78rem/1 var(--font-ui);color:var(--muted)}.century-card .decade-grid{padding:15px}
.decade-grid,.year-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.decade-card,.year-card{padding:16px;border-radius:var(--radius-sm);color:var(--navy);text-decoration:none}.decade-card strong,.year-card strong{font:700 1.15rem/1.2 var(--font-heading)}.decade-card:hover,.year-card:hover{border-color:var(--terracotta)}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:46px;align-items:start}.content-main{min-width:0}.site-sidebar{position:sticky;top:112px;display:grid;gap:25px}.sidebar-card{padding:22px;border-radius:var(--radius-md)}.sidebar-card-accent{background:var(--surface-soft)}.sidebar-card .form-stack+.form-stack{margin-top:19px;padding-top:19px;border-top:1px solid var(--border)}.side-links{display:grid;gap:8px}.side-links a{padding:9px 0;border-bottom:1px solid var(--border);color:var(--navy);font-weight:700}.side-links a:last-child{border-bottom:0}
.page-title{padding:30px 0 25px;border-bottom:1px solid var(--border-strong);margin-bottom:24px}.page-title h1{margin:.16em 0;color:var(--navy-deep);font-size:clamp(2.5rem,5vw,5.3rem);line-height:1}.page-title .seo-copy{max-width:860px;margin:0;color:var(--muted)}.pager,.cross-links{margin:15px 0}.nav-stack{width:100%;display:grid;gap:9px}.year-strip{display:flex;gap:7px;overflow:auto;padding-bottom:4px}.year-chip{display:inline-flex;min-width:48px;min-height:39px;align-items:center;justify-content:center;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--navy);text-decoration:none}.year-chip.current{border-color:var(--terracotta);color:var(--terracotta)}
.filter-panel{margin:24px 0}.filter-box{display:grid;gap:13px}.filter-chip{min-height:37px;padding:7px 11px;background:var(--surface);color:var(--navy);border:1px solid var(--border);border-radius:var(--radius-sm)}.filter-chip.active{background:var(--navy);border-color:var(--navy);color:#fff}.tag-filter-details,.timeline-filter-details{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);padding:11px 13px}.tag-filter-details summary,.timeline-filter-details summary{cursor:pointer;color:var(--navy-deep);font-weight:800}.sort-row{margin-top:2px}.year-filter-row select{max-width:330px}
.list{display:grid;gap:18px;margin-top:20px}.entry{position:relative;padding:25px 27px;border-radius:var(--radius-md);transition:.2s ease}.entry:hover{transform:translateY(-2px);border-color:var(--terracotta);box-shadow:var(--shadow-soft)}.entry-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:13px}.entry-year{color:var(--terracotta);font:700 2rem/1 var(--font-heading)}.entry-title{color:var(--navy-deep);font:700 1.45rem/1.2 var(--font-heading);margin-bottom:8px}.entry-date{margin-bottom:12px}.badge{padding:6px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.entry-desc{max-width:780px;margin:0;color:var(--ink)}.entry-tags{margin-top:13px;color:var(--muted);font-size:.78rem}.entry-links{margin-top:16px}.entry-links .btn{min-height:36px;padding:7px 10px;font-size:.7rem}
body[data-page=events-date] [data-list]>.list{position:relative;padding-left:30px}body[data-page=events-date] [data-list]>.list::before{content:"";position:absolute;left:8px;top:22px;bottom:22px;width:2px;background:linear-gradient(var(--bronze),var(--border))}body[data-page=events-date] [data-list] .entry::before{content:"";position:absolute;left:-30px;top:34px;width:13px;height:13px;border:3px solid var(--page-bg);border-radius:50%;background:var(--terracotta);box-shadow:0 0 0 1px var(--bronze)}
.calendar-panel{margin:24px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekday{padding:9px;text-align:center;color:var(--muted);font-size:.72rem;font-weight:850}.calendar-day{min-height:92px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);display:flex;flex-direction:column;justify-content:space-between;color:var(--navy);text-decoration:none}.calendar-day.has-data:hover{border-color:var(--terracotta);background:#fff9f0}.calendar-day.no-data{opacity:.48}.calendar-day.empty-cell{visibility:hidden}.calendar-day .num{font:700 1.45rem/1 var(--font-heading)}.calendar-day .hint{font-size:.68rem;color:var(--muted)}.calendar-day .mark{width:7px;height:7px;border-radius:50%;background:var(--terracotta)}
.year-tools{display:grid;gap:22px;margin:24px 0}.year-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.year-summary-grid div{padding:15px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft)}.year-summary-grid strong{display:block;color:var(--terracotta);font:700 2rem/1 var(--font-heading)}.year-summary-grid span{color:var(--muted);font-size:.75rem}.year-month-jump-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.year-month-card{padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--navy);text-decoration:none}.year-month-card.missing{opacity:.47}.year-month-name{display:block;font-weight:850}.year-month-stats{font-size:.7rem;color:var(--muted)}
.month-details{margin:26px 0;border-top:1px solid var(--border-strong)}.month-details>summary{padding:18px 0;display:flex;justify-content:space-between;cursor:pointer;list-style:none}.month-details>summary::-webkit-details-marker{display:none}.month-details>summary span{color:var(--navy-deep);font:700 1.7rem/1.2 var(--font-heading)}.month-details>summary em{font-style:normal;color:var(--muted)}.day-block{margin:22px 0}.day-block h3{margin:0 0 12px}.day-count{display:inline-flex;margin-left:7px;color:var(--muted);font-size:.75rem}
.empty{padding:30px;border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-soft);color:var(--muted)}.small-empty{padding:16px}.load-more-row{display:flex;align-items:center;gap:12px;margin-top:18px}.small-note{color:var(--muted);font-size:.76rem}
.reading-page{max-width:860px;margin:0 auto;padding:36px 0}.reading-page h1{font-size:clamp(3rem,7vw,6rem);line-height:.95}.reading-page h2{margin-top:2.4rem}.reading-page p{font-size:1.06rem}.contact-card{margin:28px 0;padding:24px;border-left:4px solid var(--terracotta);background:var(--surface);font-size:1.35rem;font-weight:800}
.footer-copy{width:min(1320px,calc(100% - 40px));margin:0 auto;padding:14px 0;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.55);font-size:.73rem}
@media(max-width:1040px){.content-layout{grid-template-columns:1fr}.site-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero.hero-split{grid-template-columns:1fr}.hero-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.decade-grid,.year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.topbar{min-height:auto;padding:18px 0;align-items:flex-start;flex-direction:column}.main-nav{gap:14px}.main-nav a{padding:4px 0 9px}.main-nav a::after{bottom:3px}.site-main{padding-top:25px}.hero-copy{padding:48px 26px}.hero-highlights{grid-template-columns:1fr}.grid.three,.month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-sidebar{grid-template-columns:1fr}.year-summary-grid,.year-month-jump-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.decade-grid,.year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-grid:not(.month-without-year){grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-day{min-height:76px;padding:8px}.today-mini-entry{grid-template-columns:66px minmax(0,1fr)}.entry-links .btn{flex:1}.content-layout{gap:28px}}
@media(max-width:480px){.site-main,.topbar,.footer-copy{width:min(100% - 28px,1320px)}.grid.three,.month-grid,.decade-grid,.year-grid{grid-template-columns:1fr}.calendar-grid.month-without-year{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-grid:not(.month-without-year){font-size:.72rem}.calendar-day{min-height:66px}.page-title h1{font-size:2.45rem}.today-mini-entry{grid-template-columns:1fr}.today-mini-year a{font-size:1.4rem}.year-summary-grid,.year-month-jump-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}}
