.scroll-progress{position:fixed;z-index:1200;top:0;left:0;right:0;height:3px;background:#b8965a;transform:scaleX(0);transform-origin:left center;pointer-events:none}
.panel-lines span{transform-origin:center top}
@media (prefers-reduced-motion: no-preference) {
  .portrait-spark{animation:spark-arrive .75s cubic-bezier(.2,.75,.2,1) .65s both, spark-breathe 4s ease-in-out 1.5s infinite}
  .hero .eyebrow-line{transform-origin:left;animation:line-arrive .75s ease-out .65s both}
  .scroll-cue span{display:inline-block;animation:cue-drift 2.4s ease-in-out infinite}
  .action-card{position:relative;overflow:hidden}
  .action-card::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,rgba(184,150,90,.11) 50%,transparent 75%);transform:translateX(-130%);transition:transform .7s ease}
  .action-card:hover::after{transform:translateX(130%)}
  .action-arrow,.action-icon{transition:transform .3s cubic-bezier(.2,.75,.2,1)}
  .action-card:hover .action-arrow{transform:translate(4px,-4px)}
  .action-card:hover .action-icon{transform:scale(1.08)}
  .text-link span{display:inline-block;transition:transform .25s ease}
  .text-link:hover span{transform:translate(4px,-4px)}
  .faq-list details[open] p{animation:faq-open .35s ease-out both}
  @keyframes spark-arrive{from{opacity:0;transform:scale(.45) rotate(-50deg)}to{opacity:1;transform:scale(1) rotate(0)}}
  @keyframes spark-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.11)}}
  @keyframes line-arrive{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes cue-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
  @keyframes faq-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
}
@media (prefers-reduced-motion: reduce){.scroll-progress{display:none}}
