/* Brew & Banter first anniversary feature */
.anniversary-section {
  position: relative;
  overflow: hidden;
  padding: 6.25rem 1.5rem 5rem;
  color: var(--cream);
  background:
    radial-gradient(ellipse at 78% 12%, rgba(214,201,140,.24), transparent 28%),
    radial-gradient(ellipse at 8% 88%, rgba(106,171,135,.18), transparent 32%),
    linear-gradient(135deg, #304a2d 0%, #17291d 52%, #0f2016 100%);
  border-top: 1px solid rgba(245,245,220,.16);
  border-bottom: 1px solid rgba(245,245,220,.14);
}
.anniversary-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(245,245,220,.6) 1px, transparent 1px);
  background-size: 42px 42px;
  opacity: .09;
  pointer-events: none;
}
.anniversary-section::after {
  content: "";
  position: absolute;
  width: 42rem;
  height: 42rem;
  right: -22rem;
  top: -24rem;
  border: 1px solid rgba(214,201,140,.2);
  border-radius: 50%;
  box-shadow: 0 0 0 2rem rgba(214,201,140,.025), 0 0 0 5rem rgba(214,201,140,.02);
  pointer-events: none;
}
.anniversary-story-container { position: relative; z-index: 1; max-width: 72rem; }
.anniversary-story-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr) 17rem;
  align-items: center;
  gap: 3rem;
  max-width: 66rem;
  margin: 0 auto 3.5rem;
}
.anniversary-badge {
  display: inline-flex;
  margin-bottom: 1.25rem;
  animation: anniversaryGlow 2.8s ease-in-out infinite;
}
.anniversary-story-intro h2 {
  max-width: 42rem;
  margin-bottom: .65rem;
  color: var(--cream);
  font-size: clamp(3.1rem,7vw,6.25rem);
  font-weight: 700;
  line-height: .87;
  letter-spacing: -.025em;
}
.anniversary-story-intro h2 em { color: #d6c98c; font-weight: 600; }
.anniversary-story-intro h2 > span {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: .48em;
  letter-spacing: 0;
  transform: translateY(-.2em) rotate(8deg);
}
.anniversary-lede {
  color: rgba(245,245,220,.8);
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.4rem,2.5vw,1.8rem);
  font-style: italic;
}
.anniversary-year-mark {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 15.5rem;
  height: 15.5rem;
  margin-left: auto;
  border: 1px solid rgba(245,245,220,.75);
  border-radius: 50%;
  color: #253b28;
  background: linear-gradient(145deg,#ebd98b 0%,#b99b53 72%,#95793b 100%);
  box-shadow: 0 0 0 .55rem rgba(214,201,140,.13), 0 0 0 1rem rgba(214,201,140,.06), 0 22px 46px rgba(0,0,0,.34);
  transform: rotate(5deg);
  animation: anniversaryFloat 4s ease-in-out infinite;
}
.anniversary-year-mark::before {
  content: "";
  position: absolute;
  inset: .6rem;
  border: 1px solid rgba(37,59,40,.38);
  border-radius: 50%;
}
.anniversary-year-number {
  position: relative;
  font-family: 'Cormorant Garamond', serif;
  font-size: 5.8rem;
  font-weight: 700;
  line-height: .78;
  letter-spacing: -.08em;
}
.anniversary-year-label,
.anniversary-year-est {
  position: relative;
  font-family: 'Inter', sans-serif;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .2em;
}
.anniversary-year-label { margin: .85rem 0 .35rem; }
.anniversary-year-est { opacity: .7; font-size: .5rem; }
.anniversary-story-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(16rem,21rem);
  gap: 2rem;
  max-width: 66rem;
  margin: 0 auto;
}
.anniversary-letter {
  padding: 2rem 2.25rem 2.1rem;
  border: 1px solid rgba(245,245,220,.19);
  border-radius: 1rem;
  background: rgba(15,32,22,.42);
  box-shadow: 0 20px 45px rgba(0,0,0,.12);
}
.anniversary-letter p {
  margin-bottom: 1rem;
  color: rgba(245,245,220,.82);
  font-size: .98rem;
  line-height: 1.75;
}
.anniversary-letter p:first-child {
  color: var(--cream);
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.65rem;
  line-height: 1.2;
}
.anniversary-letter p:last-child { margin-bottom: 0; }
.anniversary-signoff {
  display: inline-block;
  margin-top: .3rem;
  padding-top: .85rem;
  border-top: 1px solid rgba(214,201,140,.38);
  color: #d6c98c !important;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem !important;
  font-style: italic;
}
.anniversary-year-two {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2rem 1.75rem;
  border: 1px solid rgba(214,201,140,.58);
  border-radius: 1rem;
  background: linear-gradient(155deg,rgba(214,201,140,.2),transparent 45%), rgba(245,245,220,.07);
  box-shadow: inset 0 0 0 1px rgba(15,32,22,.2), 0 20px 45px rgba(0,0,0,.18);
}
.anniversary-aside-label {
  color: var(--sage);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.anniversary-year-two h3 {
  margin: .65rem 0 1rem;
  color: var(--cream);
  font-size: clamp(2.3rem,4vw,3.3rem);
  line-height: .9;
}
.anniversary-year-two h3 em { color: #d6c98c; }
.anniversary-year-two h3 span {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: .42em;
  transform: translateY(-.15em) rotate(-8deg);
}
.anniversary-year-two > p { color: rgba(245,245,220,.82); font-size: .98rem; line-height: 1.65; }
.anniversary-banter-line {
  margin-top: 1.35rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(245,245,220,.2);
  color: #d6c98c;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.3rem;
  font-style: italic;
}
.anniversary-story-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  max-width: 66rem;
  margin: 2.2rem auto 0;
  color: #d6c98c;
  text-align: center;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.35rem;
}
.anniversary-story-footer span { font-size: .85rem; }
.anniversary-weekend-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1.25rem;
  max-width: 66rem;
  margin: 2.5rem auto 0;
}
.anniversary-weekend-grid-single { max-width: 32rem; }
.anniversary-day-card {
  padding: 1.65rem 1.6rem 1.5rem;
  border: 1px solid rgba(245,245,220,.22);
  border-radius: 1rem;
  background: rgba(245,245,220,.085);
  box-shadow: 0 18px 38px rgba(0,0,0,.2);
  transition: transform .25s ease, background .25s ease;
}
.anniversary-day-card:hover { transform: translateY(-5px); background: rgba(245,245,220,.13); }
.anniversary-day-card-saturday { border-top: 3px solid #b99b53; }
.anniversary-day-card-sunday { border-top: 3px solid #d6c98c; }
.anniversary-day-heading { display: flex; align-items: center; gap: .85rem; margin-bottom: 1rem; }
.anniversary-day-icon { display: flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: 50%; background: rgba(181,153,76,.28); font-size: 1.45rem; }
.anniversary-day-label { margin-bottom: .15rem; color: var(--sage); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.anniversary-day-card h3 { color: var(--cream); font-size: 1.8rem; line-height: 1.05; }
.anniversary-day-card > p { color: rgba(245,245,220,.82); font-size: .97rem; line-height: 1.65; }
.anniversary-day-card strong { color: var(--cream); }
.anniversary-highlight { display: flex; align-items: baseline; gap: .55rem; flex-wrap: wrap; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid rgba(245,245,220,.16); color: var(--sage); font-family: 'Cormorant Garamond', serif; }
.anniversary-highlight strong { color: #d6c98c; font-size: 1.35rem; }
.anniversary-highlight span { font-size: 1rem; font-style: italic; }
.anniversary-memory-note { display: flex; align-items: center; gap: 1rem; max-width: 66rem; margin: 1.5rem auto 0; padding: 1.1rem 1.35rem; border: 1px solid rgba(245,245,220,.14); border-radius: .85rem; background: rgba(15,32,22,.42); }
.anniversary-camera { display: flex; align-items: center; justify-content: center; flex: none; width: 2.6rem; height: 2.6rem; border: 1px solid #b99b53; border-radius: .65rem; color: #d6c98c; font-size: 1.7rem; }
.anniversary-memory-note h3 { margin-bottom: .1rem; color: var(--cream); font-size: 1.45rem; }
.anniversary-memory-note p { color: rgba(245,245,220,.7); font-size: .9rem; line-height: 1.5; }
.anniversary-confetti { position: absolute; color: #d6c98c; font-family: 'Cormorant Garamond', serif; animation: anniversaryFloat 4s ease-in-out infinite; opacity: .7; }
.anniversary-confetti-one { top: 15%; left: 11%; font-size: 2rem; animation-delay: -1s; }
.anniversary-confetti-two { top: 25%; right: 12%; font-size: 2.5rem; animation-delay: -2.2s; }
.anniversary-confetti-three { bottom: 19%; left: 8%; font-size: 3rem; animation-delay: -.5s; }
.anniversary-orbit { position: absolute; border: 1px solid rgba(214,201,140,.18); border-radius: 50%; pointer-events: none; }
.anniversary-orbit-one { width: 28rem; height: 28rem; left: -17rem; top: 15rem; }
.anniversary-orbit-two { width: 32rem; height: 32rem; right: -20rem; bottom: -13rem; }
@keyframes anniversaryFloat { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-8px) rotate(2deg); } }
@keyframes anniversaryGlow { 0%,100% { box-shadow: 0 0 0 rgba(214,201,140,0); } 50% { box-shadow: 0 0 24px rgba(214,201,140,.22); } }
@media (max-width: 800px) {
  .anniversary-story-hero { grid-template-columns: 1fr; gap: 2.5rem; }
  .anniversary-year-mark { margin: 0 auto; }
  .anniversary-story-layout { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .anniversary-section { padding-top: 4.5rem; }
  .anniversary-story-intro h2 { font-size: clamp(3.1rem,15vw,5rem); }
  .anniversary-letter { padding: 1.5rem 1.35rem; }
  .anniversary-weekend-grid { grid-template-columns: 1fr; }
  .anniversary-day-card { padding: 1.35rem; }
  .anniversary-story-footer { gap: .65rem; font-size: 1.18rem; }
  .anniversary-confetti-one { left: 4%; }
  .anniversary-confetti-two { right: 4%; }
  .anniversary-orbit { opacity: .5; }
}
@media (prefers-reduced-motion: reduce) {
  .anniversary-badge,
  .anniversary-year-mark,
  .anniversary-confetti { animation: none; }
}