.rajasthan-announcement {
  box-sizing: border-box;
  width: min(400px, calc(100% - 32px));
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #e7d8c5;
  border-radius: 28px;
  background: #fff8ee;
  color: #253b33;
  color-scheme: light;
  text-align: center;
  box-shadow: 0 24px 80px #152e2840;
}
.rajasthan-announcement:not([open]) { display: none; }
.rajasthan-announcement::backdrop {
  background: #102a235c;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
body.rajasthan-announcement-open { overflow: hidden; }
.rajasthan-announcement__close {
  position: absolute;
  top: 10px;
  right: 10px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #716c60;
  cursor: pointer;
}
.rajasthan-announcement__close:hover { background: #f0e6d8; }
.rajasthan-announcement__art { padding: 30px 32px 0; }
.rajasthan-announcement__art svg {
  display: block;
  width: min(240px, 100%);
  height: auto;
  margin: auto;
}
.rajasthan-announcement__content { padding: 14px 28px 28px; }
.rajasthan-announcement__greeting {
  margin: 0 0 8px;
  color: #a76844;
  font-size: 23px;
  font-weight: 600;
  line-height: 1.5;
}
.rajasthan-announcement h2 {
  max-width: 15ch;
  margin: 0 auto 14px;
  color: #163c30;
  font-size: clamp(26px, 7vw, 32px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.18;
  text-wrap: balance;
}
.rajasthan-announcement__badge {
  display: inline-block;
  padding: 6px 13px;
  border: 1px solid #e6cfaa;
  border-radius: 100px;
  background: #f8ecd6;
  color: #8c5b26;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.rajasthan-announcement #rajasthan-description {
  max-width: 29ch;
  margin: 16px auto 22px;
  color: #687367;
  font-size: 15px;
  line-height: 1.6;
  text-wrap: balance;
}
.rajasthan-announcement__button {
  width: 100%;
  min-height: 48px;
  padding: 12px 20px;
  border: 0;
  border-radius: 14px;
  background: #008568;
  color: #fff;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
.rajasthan-announcement__button:hover { background: #006d55; }
.rajasthan-announcement button:focus-visible {
  outline: 3px solid #b87943;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: no-preference) {
  .rajasthan-announcement[open] { animation: rajasthan-welcome 220ms ease-out; }
  @keyframes rajasthan-welcome {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
@media (max-height: 700px) {
  .rajasthan-announcement__art { padding-top: 20px; }
  .rajasthan-announcement__art svg { width: 160px; }
  .rajasthan-announcement__content { padding-top: 6px; padding-bottom: 20px; }
}
