:root {
  --wine: #7d1e2b;
  --red: #a52a38;
  --cream: #f6f1e8;
  --sand: #e7ddce;
  --ink: #25211e;
  --muted: #716962;
  --paper: #fff;
  --line: #ded7cf;
  --green: #315c52
}
* {
  box-sizing: border-box
}
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font: 15px/1.62 Georgia,"Times New Roman",serif
}
.dk-shell {
  width: min(1140px,calc(100% - 40px));
  margin: auto
}
.dk-skip {
  position: absolute;
  left: -9999px
}
.dk-top {
  background: #fff;
  border-bottom: 1px solid var(--line)
}
.dk-top__row {
  min-height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between
}
.dk-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ink);
  text-decoration: none
}
.dk-logo__mark {
  width: 46px;
  height: 52px;
  background: var(--wine);
  display: grid;
  place-items: center;
  color: #fff;
  position: relative
}
.dk-logo__mark i {
  position: absolute;
  left: 0;
  right: 0;
  top: 14px;
  height: 4px;
  background: #fff
}
.dk-logo__mark b {
  margin-top: 16px;
  font: 800 15px system-ui
}
.dk-logo strong,.dk-logo small {
  display: block
}
.dk-logo strong {
  font-size: 21px
}
.dk-logo small {
  font: 11px system-ui;
  color: var(--muted);
  letter-spacing: .05em
}
.dk-nav {
  display: flex;
  gap: 23px
}
.dk-nav a {
  color: var(--ink);
  text-decoration: none;
  font: 700 14px system-ui;
  border-bottom: 2px solid transparent;
  padding: 30px 0
}
.dk-nav a:hover {
  border-color: var(--wine)
}
.dk-navbtn {
  display: none
}
.dk-hero {
  background: var(--cream);
  border-bottom: 1px solid var(--sand)
}
.dk-hero__grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 70px;
  padding: 62px 0
}
.dk-hero__text>span,.dk-sectionhead small {
  font: 800 10px system-ui;
  letter-spacing: .18em;
  color: var(--wine)
}
.dk-hero h1 {
  font-size: clamp(48px,6vw,75px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.045em;
  margin: 10px 0 19px
}
.dk-hero p {
  font-size: 20px;
  color: var(--muted);
  max-width: 650px
}
.dk-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 28px
}
.dk-actions a {
  font: 800 14px system-ui;
  color: var(--wine)
}
.dk-actions a:first-child {
  background: var(--wine);
  color: #fff;
  text-decoration: none;
  padding: 13px 18px
}
.dk-now {
  background: #fff;
  padding: 29px;
  border-left: 8px solid var(--wine);
  box-shadow: 0 14px 35px #5a332113;
  align-self: center
}
.dk-now>small {
  font: 800 10px system-ui;
  letter-spacing: .18em;
  color: var(--muted)
}
.dk-now>strong {
  display: block;
  font-size: 34px;
  font-weight: 500;
  margin-top: 5px
}
.dk-now>span {
  color: var(--wine);
  font-size: 18px
}
.dk-now>div {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  border-top: 1px solid var(--line);
  margin-top: 20px;
  padding-top: 14px
}
.dk-now b {
  font: 800 14px system-ui
}
.dk-now em {
  font-style: normal;
  color: var(--muted)
}
.dk-quick {
  border-bottom: 1px solid var(--line)
}
.dk-quick>.dk-shell {
  display: grid;
  grid-template-columns: repeat(3,1fr)
}
.dk-quick article {
  padding: 17px 24px;
  border-right: 1px solid var(--line)
}
.dk-quick article:first-child {
  padding-left: 0
}
.dk-quick small {
  font: 800 9px system-ui;
  letter-spacing: .15em;
  color: var(--muted);
  display: block
}
.dk-quick b {
  font-size: 16px;
  color: var(--green)
}
.dk-calendar,.dk-next,.dk-content,.dk-faq,.dk-body,.dk-table {
  padding: 48px 0
}
.dk-sectionhead {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 20px
}
.dk-sectionhead h2 {
  font-size: 31px;
  font-weight: 500;
  margin: 2px 0
}
.dk-sectionhead a {
  color: var(--wine);
  font: 800 13px system-ui
}
.dk-year {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 20px
}
.dk-month {
  border: 1px solid var(--line);
  background: #fff
}
.dk-month header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 15px;
  background: #fbfaf8;
  border-bottom: 1px solid var(--line)
}
.dk-month header small {
  font: 800 8px system-ui;
  letter-spacing: .15em;
  color: var(--muted)
}
.dk-month h3 {
  margin: 0;
  font-size: 22px;
  font-weight: 500
}
.dk-month header>b {
  font: 800 12px system-ui;
  color: var(--wine)
}
.dk-days,.dk-week {
  display: grid;
  grid-template-columns: 38px repeat(7,minmax(0,1fr))
}
.dk-days span {
  padding: 7px 1px;
  text-align: center;
  background: var(--wine);
  color: #fff;
  font: 700 9px system-ui;
  text-transform: uppercase
}
.dk-week>* {
  min-height: 43px;
  display: grid;
  place-items: center;
  border: 0;
  border-right: 1px solid #eee9e2;
  border-bottom: 1px solid #eee9e2;
  background: #fff
}
.dk-week button {
  font: inherit;
  cursor: pointer;
  position: relative
}
.dk-w {
  background: #f6f2ec;
  color: #8d8176;
  font: 700 10px system-ui
}
.dk-week .is-sun {
  color: var(--red);
  background: #fff8f7
}
.dk-week .is-holiday {
  color: #fff;
  background: var(--wine)
}
.dk-week .is-holiday i {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #fff;
  bottom: 5px
}
.dk-week .is-today {
  outline: 3px solid #d7aa4c;
  outline-offset: -3px
}
.dk-next {
  background: #faf8f4;
  border-block: 1px solid var(--line)
}
.dk-next__list {
  border-top: 1px solid var(--line)
}
.dk-next article {
  display: grid;
  grid-template-columns: 160px 1fr 160px;
  gap: 20px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  align-items: center
}
.dk-next time {
  font: 800 12px system-ui;
  color: var(--wine)
}
.dk-next strong {
  font-size: 17px
}
.dk-next small {
  color: var(--muted);
  text-align: right
}
.dk-reading {
  max-width: 850px
}
.dk-reading h2 {
  font-size: 27px;
  font-weight: 500;
  margin: 32px 0 8px
}
.dk-reading p {
  color: #554e48
}
.dk-reading a {
  color: var(--wine)
}
.dk-faq__grid {
  max-width: 900px
}
.dk-faq details,.dk-side details {
  border-top: 1px solid var(--line);
  padding: 13px 0
}
.dk-faq summary,.dk-side summary {
  cursor: pointer;
  font: 800 14px system-ui;
  color: var(--wine)
}
.dk-faq p,.dk-side p {
  color: var(--muted)
}
.dk-pagehero {
  background: var(--wine);
  color: #fff;
  padding: 43px 0
}
.dk-pagehero nav {
  display: flex;
  gap: 7px;
  font: 12px system-ui;
  color: #e8cbd0
}
.dk-pagehero nav a {
  color: #fff
}
.dk-pagehero h1 {
  font-size: clamp(38px,5vw,57px);
  font-weight: 500;
  letter-spacing: -.035em;
  margin: 12px 0
}
.dk-pagehero p {
  max-width: 850px;
  color: #f0dfe2;
  font-size: 18px
}
.dk-body__grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) 310px;
  gap: 60px
}
.dk-side {
  border-top: 6px solid var(--wine)
}
.dk-side h2 {
  font-size: 20px
}
.dk-monthnav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  margin-top: 16px
}
.dk-monthnav a {
  font: 800 13px system-ui;
  color: var(--wine)
}
.dk-monthnav a:last-child {
  text-align: right
}
.dk-table h2 {
  font-size: 28px;
  font-weight: 500
}
.dk-table>div>div {
  overflow: auto
}
.dk-table table {
  width: 100%;
  border-collapse: collapse
}
.dk-table th,.dk-table td {
  text-align: left;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line)
}
.dk-table th {
  background: #f2ece4;
  font: 800 11px system-ui;
  text-transform: uppercase;
  letter-spacing: .08em
}
.dk-form {
  display: grid;
  gap: 13px
}
.dk-form input,.dk-form textarea {
  width: 100%;
  display: block;
  border: 1px solid var(--line);
  padding: 11px;
  margin-top: 5px;
  font: 14px system-ui
}
.dk-form button {
  justify-self: start;
  border: 0;
  background: var(--wine);
  color: #fff;
  padding: 12px 18px;
  font-weight: 800
}
.dk-hp {
  position: absolute;
  left: -9999px
}
.dk-dialog {
  width: min(410px,calc(100% - 30px));
  border: 0;
  border-left: 8px solid var(--wine);
  padding: 22px;
  box-shadow: 0 25px 70px #30151a55
}
.dk-dialog::backdrop {
  background: #281c1bbb
}
.dk-dialog button {
  float: right
}
.dk-dialog small {
  font: 800 9px system-ui;
  letter-spacing: .15em;
  color: var(--muted)
}
.dk-dialog strong {
  display: block;
  font-size: 24px;
  margin: 7px 0
}
.dk-footer {
  background: #2a2421;
  color: #fff;
  margin-top: 30px
}
.dk-footer__grid {
  display: flex;
  justify-content: space-between;
  padding: 36px 0;
  gap: 30px
}
.dk-footer p {
  color: #c9c0b9
}
.dk-footer nav {
  display: flex;
  gap: 18px;
  flex-wrap: wrap
}
.dk-footer a {
  color: #fff
}
.dk-footer__bottom {
  border-top: 1px solid #ffffff1f;
  padding: 12px 0;
  color: #a99e96;
  font: 11px system-ui
}
@media(max-width:900px) {
  .dk-shell {
    width: min(100% - 24px,1140px)
  }
  .dk-navbtn {
    display: block;
    border: 1px solid var(--line);
    background: #fff;
    padding: 9px 12px;
    font-weight: 800
  }
  .dk-nav {
    display: none;
    position: absolute;
    top: 84px;
    left: 12px;
    right: 12px;
    z-index: 20;
    background: #fff;
    border: 1px solid var(--line);
    flex-direction: column;
    padding: 8px
  }
  .dk-nav.open {
    display: flex
  }
  .dk-nav a {
    padding: 11px
  }
  .dk-hero__grid {
    grid-template-columns: 1fr;
    gap: 25px;
    padding: 38px 0
  }
  .dk-year {
    grid-template-columns: 1fr 1fr
  }
  .dk-body__grid {
    grid-template-columns: 1fr
  }
  .dk-footer__grid {
    flex-direction: column
  }
  
}
@media(max-width:580px) {
  .dk-logo small {
    display: none
  }
  .dk-quick>.dk-shell {
    grid-template-columns: 1fr
  }
  .dk-quick article,.dk-quick article:first-child {
    padding: 12px 0;
    border-right: 0;
    border-bottom: 1px solid var(--line)
  }
  .dk-year {
    grid-template-columns: 1fr
  }
  .dk-next article {
    grid-template-columns: 1fr;
    gap: 3px
  }
  .dk-next small {
    text-align: left
  }
  .dk-days,.dk-week {
    grid-template-columns: 31px repeat(7,minmax(0,1fr))
  }
  .dk-week>* {
    min-height: 40px
  }
  .dk-monthnav {
    grid-template-columns: 1fr 1fr
  }
  .dk-monthnav a:nth-child(2) {
    grid-column: 1/-1;
    grid-row: 1;
    text-align: center
  }
  
}
/* Direct links from yearly month cards to their month landing pages */ .calendar-month-card-link {
   color: inherit !important;
  text-decoration: none;
  transition: color .18s ease, opacity .18s ease;
}
.calendar-month-card-link:hover, .calendar-month-card-link:focus-visible {
   color: #ffe08a !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.calendar-month-card-link__arrow {
   display: inline-block;
  margin-left: .3em;
  font-size: .72em;
  opacity: .72;
  transition: transform .18s ease, opacity .18s ease;
}
.calendar-month-card-link:hover .calendar-month-card-link__arrow, .calendar-month-card-link:focus-visible .calendar-month-card-link__arrow {
   opacity: 1;
  transform: translate(2px, -2px);
}

/* Calendar PSEO components; colors follow this theme's palette. */
:root {
  --calendar-pseo-accent: #7d1e2b;
  --calendar-pseo-border: #e2ced0;
  --calendar-pseo-surface: #faf7f8;
  --calendar-pseo-hover: #f3ebec;
}

.calendar-pseo-month-links,
.calendar-pseo-overview,
.calendar-pseo-month-nav {
  margin: 28px 0;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--calendar-pseo-border);
  border-radius: 18px;
}

.calendar-pseo-month-links h2,
.calendar-pseo-overview h2 {
  margin: 0 0 14px;
}

.calendar-pseo-month-links ul {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.calendar-pseo-month-links li {
  margin: 0;
}

.calendar-pseo-month-links a,
.calendar-pseo-month-nav a {
  display: block;
  padding: 11px 14px;
  border: 1px solid var(--calendar-pseo-border);
  border-radius: 11px;
  background: var(--calendar-pseo-surface);
  color: var(--calendar-pseo-accent);
  font-weight: 750;
  text-decoration: none;
}

.calendar-pseo-month-links a:hover,
.calendar-pseo-month-nav a:hover {
  border-color: var(--calendar-pseo-accent);
  background: var(--calendar-pseo-hover);
}

.calendar-pseo-month-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.calendar-pseo-month-prev {
  justify-self: start;
}

.calendar-pseo-month-full {
  justify-self: center;
}

.calendar-pseo-month-next {
  justify-self: end;
}

.calendar-pseo-month-spacer {
  min-width: 0;
}

.calendar-pseo-overview p {
  color: var(--calendar-pseo-accent);
}

@media (max-width: 700px) {
  .calendar-pseo-month-links ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .calendar-pseo-month-links,
  .calendar-pseo-overview,
  .calendar-pseo-month-nav {
    padding: 16px;
  }
}
