/* Behavior layers are separate from the editorial layout. */
.home-experience .slide-dot { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; background: transparent; }
.home-experience .slide-dot::after { width: 8px; height: 8px; border: 1px solid #aab8c9; border-radius: 50%; content: ""; }
.home-experience .slide-dot[aria-pressed="true"] { background: transparent; }
.home-experience .slide-dot[aria-pressed="true"]::after { border-color: #f7cb4d; background: #f7cb4d; }
.motion-ready [data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.65,.3,1); }
.motion-ready [data-reveal].is-revealed { opacity: 1; transform: translateY(0); }
[data-book-tilt] { transform: perspective(1000px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)); transition: transform .22s ease-out; }
.preview-open { overflow: hidden; }
.book-preview { position: fixed; width: min(850px, calc(100% - 32px)); max-height: calc(100dvh - 36px); padding: 0; overflow: auto; border: 0; border-radius: 14px; background: #fffdf6; color: #101e34; box-shadow: 0 24px 100px #0005; }
.book-preview[open] { display: grid; grid-template-columns: 1fr 1fr; }
.book-preview-header { position: sticky; z-index: 4; top: 0; grid-column: 1 / -1; display: flex; justify-content: end; padding: 10px 13px; background: #fffdf6; border-bottom: 1px solid #dce1d3; }
.book-preview-body { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; min-width: 0; }
.book-preview-header .preview-close { position: static; width: 44px; height: 44px; }
.preview-metadata { color: #57694f; line-height: 1.65; }
.book-preview::backdrop { background: #0a1726d9; backdrop-filter: blur(8px); }
.preview-art { display: grid; place-items: center; min-height: 480px; padding: 45px; background: #e4e9da; }
.preview-art img { max-height: 470px; max-width: 100%; width: auto; filter: drop-shadow(13px 15px 9px #17233635); }
.preview-copy { align-self: center; padding: 50px 35px; }
.preview-copy h2 { font-size: clamp(30px, 4vw, 42px); letter-spacing: -1px; }
.preview-copy > p:not(.eyebrow) { margin-top: 22px; font-size: 14px; }
.preview-copy .button { margin-top: 24px; }
.preview-copy .preview-note { font-size: 11px !important; }
.preview-close { position: absolute; z-index: 1; top: 13px; right: 13px; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #ccd2ca; border-radius: 50%; background: #fffdf6; color: #101e34; font-size: 18px; }
.floating-consultation { position: fixed; z-index: 15; right: 25px; bottom: 24px; display: flex; align-items: center; gap: 18px; padding: 12px 12px 12px 22px; border: 1px solid #31425a; border-radius: 100px; background: #101e34f5; box-shadow: 0 12px 40px #0b172d30; color: white; }
.floating-consultation > span { font-size: 13px; }
.floating-consultation .button { min-height: 44px; padding: 10px 18px; border-radius: 100px; }
@media (max-width: 600px) {
  .book-preview[open] { grid-template-columns: 1fr; }
  .book-preview-body { grid-template-columns: 1fr; }
  .preview-art { min-height: 0; padding: 28px 65px; }
  .preview-art img { max-height: 270px; }
  .preview-copy { padding: 27px; }
  .preview-copy > p:not(.eyebrow) { font-size: 13px; margin-top: 15px; }
  .preview-copy .button { margin-top: 20px; }
  .floating-consultation { right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); padding: 6px; border-radius: 50px; }
  .floating-consultation > span { display: none; }
  .floating-consultation .button { min-height: 46px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .motion-ready [data-reveal] { opacity: 1; transform: none; transition: none; }
  [data-book-tilt] { transform: none; transition: none; }
}
