/* Motion layer only. Load after the approved site's styles. */
:root {
  --dani-coffee: #3b261c;
  --dani-cream: #faf5ee;
  --dani-gold: #dbb57b;
  --dani-ease: cubic-bezier(.22, 1, .36, 1);
}

/* Created by JS only: a failed or disabled script cannot cover the page. */
.dani-preloader {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  background: var(--dani-coffee);
  color: var(--dani-cream);
  pointer-events: none;
  animation: dani-curtain 700ms cubic-bezier(.76, 0, .24, 1) 900ms both,
    dani-safety 1ms step-end 1799ms forwards;
}
.dani-preloader__brand {
  display: grid;
  justify-items: center;
  gap: 1.5rem;
  animation: dani-brand-in 450ms var(--dani-ease) both,
    dani-brand-out 200ms ease 700ms forwards;
}
.dani-preloader__name {
  margin: 0;
  color: var(--dani-gold);
  font-weight: 400;
  line-height: 1.2;
  font-family: inherit;
  font-size: clamp(.8rem, 4vw, 2rem);
  letter-spacing: .09em;
  white-space: nowrap;
}
.dani-preloader__logo { width: min(70vw, 360px); max-height: 120px; object-fit: contain; }
.dani-preloader__line {
  width: min(42vw, 180px);
  height: 1px;
  background: var(--dani-gold);
  transform-origin: left;
  animation: dani-line 650ms var(--dani-ease) 120ms both;
}
@keyframes dani-brand-in { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: scale(1); } }
@keyframes dani-brand-out { to { opacity: 0; } }
@keyframes dani-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes dani-curtain { from { transform: translateY(0); } to { transform: translateY(-100%); visibility: hidden; } }
@keyframes dani-safety { to { display: none; visibility: hidden; } }

/* No sizing/position changes: the approved pill and photo framing remain owned by the layout. */
[data-dani-navbar] {
  background: rgba(250, 245, 238, .82);
  border: 1px solid rgba(255, 255, 255, .7);
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, .85), inset 0 -1px 1px rgba(255, 255, 255, .35), 0 8px 28px rgba(59, 38, 28, .08);
  color: #372218;
}
@supports ((backdrop-filter: blur(24px)) or (-webkit-backdrop-filter: blur(24px))) {
  [data-dani-navbar] {
    background: linear-gradient(135deg, rgba(255, 252, 248, .88), rgba(250, 245, 238, .78) 45%, rgba(255, 252, 248, .86));
    -webkit-backdrop-filter: blur(24px) saturate(140%);
    backdrop-filter: blur(24px) saturate(140%);
  }
}
[data-dani-navbar].is-scrolled {
  box-shadow: inset 0 1px 2px rgba(255,255,255,.7), 0 8px 24px rgba(59,38,28,.12);
}
[data-dani-navbar] a { color: inherit; }
[data-dani-navbar] .nav-link.is-active { color: #704015; }
[data-dani-navbar] .button--nav { color: #704015 !important; }
[data-dani-brand] { white-space: nowrap; }
[data-dani-image-frame], [data-dani-line-mask] { overflow: hidden; }
[data-dani-line-mask] { display: block; padding-block: .08em; margin-block: -.08em; }
[data-dani-line] { display: block; }
[data-dani-image], [data-dani-hero-photo] { display: block; }
[data-dani-parallax] { --dani-parallax-y: 0px; transform: translate3d(0, var(--dani-parallax-y), 0); }
.dani-split-word { display: inline-block; white-space: nowrap; }
.dani-split-mask { display: inline-block; overflow: hidden; vertical-align: top; padding-block: .12em; margin-block: -.12em; }
.dani-split-char { display: inline-block; }

/* Put hover, reveal and parallax on different nested layers. */
[data-dani-card-photo] { transition: transform 450ms var(--dani-ease); }
@media (hover: hover) and (pointer: fine) {
  [data-dani-card]:hover [data-dani-card-photo] { transform: scale(1.03); }
}
[data-dani-cta] { transition: background-color 250ms ease, color 250ms ease, border-color 250ms ease; }
[data-dani-cta]:hover { background-color: var(--dani-cta-hover, #e6c9a2); color: var(--dani-cta-hover-color, #372218); }
.dani-cta-visual { display: inline-flex; align-items: center; white-space: pre; }
.dani-cta-letter { display: inline-block; position: relative; overflow: hidden; vertical-align: bottom; line-height: 1.35; }
.dani-cta-letter > span { display: block; transition: transform 300ms var(--dani-ease); transition-delay: calc(var(--dani-char) * 15ms); }
.dani-cta-letter > span + span { position: absolute; inset: 0; transform: translateY(100%); }
@media (hover: hover) and (pointer: fine) {
  [data-dani-cta]:hover .dani-cta-letter > span:first-child { transform: translateY(-100%); }
  [data-dani-cta]:hover .dani-cta-letter > span + span { transform: translateY(0); }
}
[data-dani-cta]:focus-visible .dani-cta-letter > span:first-child { transform: translateY(-100%); }
[data-dani-cta]:focus-visible .dani-cta-letter > span + span { transform: translateY(0); }
.dani-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
[data-dani-link] { text-decoration: none; background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat; background-size: 0 1px; background-position: left bottom; transition: background-size 300ms var(--dani-ease); }
[data-dani-link]:hover, [data-dani-link]:focus-visible { background-size: 100% 1px; }
[data-dani-cta]:focus-visible, [data-dani-link]:focus-visible, [data-dani-navbar] a:focus-visible, [data-dani-menu-toggle]:focus-visible {
  outline: 3px solid var(--dani-focus, #a96929);
  outline-offset: 5px;
}
[data-dani-divider] { height: 1px; background: var(--dani-gold); transform-origin: left; }
@media (max-width: 767px) { [data-dani-parallax] { transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .dani-preloader { display: none !important; }
  [data-dani-parallax], [data-dani-card-photo] { transform: none !important; }
  [data-dani-cta], [data-dani-link], [data-dani-card-photo], .dani-cta-letter > span { transition: none !important; }
  .dani-cta-letter > span:first-child { transform: none !important; }
  .dani-cta-letter > span + span { visibility: hidden; }
  .dani-split-char { opacity: 1 !important; transform: none !important; }
}
