/* Bancompadre: deliberate movement, native scrolling, fully visible static fallback. */
:root { --motion-ease: cubic-bezier(.22,1,.36,1); }
.motion-enabled .motion-pending { opacity: 0; }
.motion-enabled .header { transition: background .35s ease, box-shadow .35s ease; }
.motion-enabled .header.is-scrolled { background: #f8f7f2f5; box-shadow: 0 4px 24px #112e2808; }
.motion-enabled .header::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 2px; background: #718862; transform: scaleX(var(--reading-progress, 0)); transform-origin: left; pointer-events: none; }
@media (prefers-reduced-motion: no-preference) {
  .button { transition: background .25s ease, transform .4s var(--motion-ease), box-shadow .4s ease; }
  .button > span, .text-link > span, .card-link > span { display: inline-block; transition: transform .45s var(--motion-ease); }
  .button:hover > span, .text-link:hover > span, .audience-card:hover .card-link > span { transform: translate(3px,-3px); }
  .button:active { transform: translateY(0) scale(.985); }
  .audience-card { transition: background .3s ease, box-shadow .5s ease, translate .6s var(--motion-ease); }
  .audience-card:hover { translate: 0 -6px; box-shadow: 0 20px 40px -25px #183e3540; }
  .audience-card h3 { transition: transform .65s var(--motion-ease); }
  .audience-card:hover h3 { transform: translateX(5px); }
  .process-list details, .process-list summary, .process-number { transition: background .4s ease, color .4s ease; }
  details[open] > p { animation: answer-enter .38s var(--motion-ease); }
  dialog[open] { animation: dialog-enter .4s var(--motion-ease); }
  dialog[open]::backdrop { animation: backdrop-enter .3s ease; }
  .field input, .field select, .field textarea { transition: border-color .2s ease, background .2s ease; }
  .field input:focus, .field select:focus, .field textarea:focus { background: #f8faf4; }
  @keyframes answer-enter { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes dialog-enter { from { opacity: 0; transform: translateY(15px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
  @keyframes backdrop-enter { from { opacity: 0; } to { opacity: 1; } }
}
@media (min-width:1000px) and (min-height:650px) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .motion-enabled .hero-visual img, .motion-enabled .profile-photo img { transform: translate3d(0,var(--photo-y,0px),0) scale(1.14); }
  .motion-enabled .process-intro { position: sticky; top: 132px; align-self: start; }
  .motion-enabled .process-list { position: relative; }
  .motion-enabled .process-list::before { content:''; position:absolute; top:0; bottom:0; left:-20px; width:2px; background:#718862; transform:scaleY(var(--chapter-progress,0)); transform-origin:top; pointer-events:none; }
  .motion-enabled .process-list details.is-reading { background:#e9eee47a; }
  .motion-enabled .process-list details.is-reading .process-number { color:var(--green); }
  .motion-enabled .transparency-grid::after { content:''; position:absolute; top:19px; left:0; right:0; height:1px; background:var(--green); transform:scaleX(var(--chapter-progress,0)); transform-origin:left; pointer-events:none; }
  .motion-enabled .transparency-grid article { z-index:1; }
}
@media (hover:none) {
  .audience-card:hover { translate:none; box-shadow:none; }
  .audience-card:hover h3 { transform:none; }
}
@media (prefers-reduced-motion:reduce) {
  .motion-pending { opacity:1!important; }
  .hero-visual img, .profile-photo img { transform:none!important; }
  .header::after, .process-list::before, .transparency-grid::after { display:none!important; }
  .process-intro { position:static!important; }
  .audience-card { translate:none!important; }
  html { scroll-behavior:auto!important; }
}
@media print {
  .motion-pending { opacity:1!important; }
  .process-intro { position:static!important; }
  .hero-visual img, .profile-photo img { transform:none!important; }
  .header::after, .process-list::before, .transparency-grid::after { display:none!important; }
}
