/* Shared responsive navigation behavior for the public site. */
a[href*="facebook.com"] { display: none !important; }

/* Keep accent links stable during the first paint and while route scripts hydrate. */
a[data-accent-bg] {
  background-color: #A4453E !important;
  color: #E7E3D9 !important;
  -webkit-text-fill-color: #E7E3D9;
  text-decoration: none !important;
}

@media (prefers-reduced-motion: no-preference) {
  [data-banner] {
    animation: aangan-banner-in .7s cubic-bezier(.16, 1, .3, 1) both;
    transform-origin: top center;
  }

  [data-header] {
    animation: aangan-header-in .8s .08s cubic-bezier(.16, 1, .3, 1) both;
  }

  @keyframes aangan-banner-in {
    from { opacity: 0; transform: translateY(-100%); }
    to { opacity: 1; transform: translateY(0); }
  }

  @keyframes aangan-header-in {
    from { opacity: 0; transform: translateY(-14px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

a[data-nav="book"] span {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  line-height: 1;
  min-width: 1em;
}
@media (max-width: 940px) {
  /* Scroll-reveal sections wait 56px off to the side before they animate in,
     which made the page wider than the phone screen. Clip (not hidden, so no
     scroll container is created) the page content only; the header is a
     sibling of <main>, so its sticky behaviour is unaffected. */
  [data-main] { overflow-x: clip; }

  [data-header] {
    display: block !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 10000 !important;
    align-items: stretch !important;
    width: 100%;
    overflow: visible !important;
  }

  [data-mobilenav] {
    display: flex !important;
    width: 100%;
    max-height: 0;
    min-height: 0;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-top-color: transparent !important;
    border-bottom-color: transparent !important;
    transition: max-height .38s ease, opacity .22s ease, padding .38s ease, visibility 0s linear .38s;
  }

  [data-header].menu-open [data-mobilenav] {
    max-height: 620px;
    visibility: visible;
    opacity: 1;
    padding-top: 14px !important;
    padding-bottom: 30px !important;
    border-top-color: rgba(56, 78, 57, .11) !important;
    border-bottom-color: rgba(56, 78, 57, .11) !important;
    transition: max-height .42s ease, opacity .24s ease, padding .42s ease;
    position: relative;
    z-index: 1;
  }

  [data-mobilenav] a {
    display: block;
    font-family: 'CS Boris', Georgia, serif !important;
    line-height: 1.2 !important;
    padding: 9px 0;
  }

  [data-header].menu-open [data-burger] svg {
    display: none;
  }

  [data-header].menu-open [data-burger]::after {
    content: '×';
    font: 300 28px/1 Arial, sans-serif;
  }
}

@media (min-width: 941px) {
  [data-mobilenav] {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-mobilenav] {
    transition: none !important;
  }
}
