/* Motion enhances the page; content remains visible without JavaScript. */
@keyframes holbina-arrive {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes holbina-landscape {
  from { transform: scale(1.025); }
  to { transform: scale(1); }
}
@keyframes holbina-scroll-cue {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(4px); }
}
@media screen {
  .hero > img, .hero > picture > img { animation: holbina-landscape 18s cubic-bezier(.2,.5,.4,1) both; }
  .hero.motion-paused > img, .hero.motion-paused > picture > img { animation-play-state: paused; }
  .hero-content > * { animation: holbina-arrive 1.15s cubic-bezier(.16,1,.3,1) both; }
  .hero-content > .eyebrow { animation-delay: .12s; }
  .hero-content > h1 { animation-delay: .26s; }
  .hero-content > p { animation-delay: .46s; }
  .hero-content > .btn { animation-delay: .66s; }
  .hero-content > .hero-copy-row { animation-delay: .52s; }
  .hero-bottom { animation: holbina-arrive 1s .9s both; }
  .hero-bottom a span { animation: holbina-scroll-cue 2.8s 2s 4 ease-in-out; }
  .cards img { transition: transform 1.1s cubic-bezier(.2,.65,.3,1); }
  .cards a:hover img, .cards a:focus-visible img { transform: scale(1.055); }
  .cards .label > span { transition: transform .4s, background .4s, color .4s; }
  .cards a:hover .label > span, .cards a:focus-visible .label > span {
    transform: rotate(45deg); background: var(--ink); color: var(--cream);
  }
  .btn > span { transition: transform .35s cubic-bezier(.16,1,.3,1); }
  .btn:hover > span, .btn:focus-visible > span { transform: translate(3px,-3px); }
  .text-link { transition: color .25s, border-color .25s; }
  .nav-links.open { animation: holbina-arrive .35s cubic-bezier(.16,1,.3,1) both; }
}
.reading-progress { position: fixed; left: 0; top: 0; width: 100%; height: 2px;
  background: var(--gold); transform: scaleX(0); transform-origin: left;
  z-index: 20; pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  html:not([data-motion="enabled"]) *, html:not([data-motion="enabled"]) *::before, html:not([data-motion="enabled"]) *::after { animation: none !important; transition: none !important; }
}

html[data-motion="disabled"] *, html[data-motion="disabled"] *::before, html[data-motion="disabled"] *::after { animation: none !important; transition: none !important; }

.whatsapp-float{position:fixed;right:20px;bottom:max(20px,env(safe-area-inset-bottom));z-index:110;display:inline-flex;align-items:center;gap:10px;padding:14px 19px;border-radius:999px;background:#176c45;color:#fff;text-decoration:none;font:600 14px/1.2 Arial,sans-serif;box-shadow:0 5px 24px #0003;border:1px solid #ffffff5c;min-height:52px;transition:background .2s,transform .2s}
.whatsapp-float:hover{background:#105333;transform:translateY(-2px)}
.whatsapp-float:focus-visible{outline:3px solid #d4a843;outline-offset:4px}
.whatsapp-float svg{flex-shrink:0}
@media(max-width:600px){.whatsapp-float{right:14px;padding:13px 16px;gap:8px}}
@media print{.whatsapp-float{display:none}}