/* Resposta curta para controles; chegada mais lenta para a composição editorial. */
:root{--ease-arrive:cubic-bezier(.16,1,.3,1);--motion-feedback:160ms;--motion-control:220ms;--motion-state:260ms}
.button{transition:background-color var(--motion-feedback),color var(--motion-feedback),box-shadow var(--motion-control) var(--ease-arrive),transform var(--motion-control) var(--ease-arrive);box-shadow:0 0 0 transparent}
.button svg{transition:transform var(--motion-control) var(--ease-arrive)}
.main-nav .nav-cta{transition:background-color var(--motion-feedback),color var(--motion-feedback),transform var(--motion-control) var(--ease-arrive)}
.main-nav>a:not(.nav-cta){position:relative;text-decoration:none}
.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-control) var(--ease-arrive)}
.text-link,.back-button{transition:color var(--motion-feedback),text-decoration-color var(--motion-feedback),text-underline-offset var(--motion-control) var(--ease-arrive)}
.journey-tabs button{transition:color var(--motion-feedback),background-color var(--motion-feedback);border-radius:6px 6px 0 0}
.journey-tabs button::after{background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-state) var(--ease-arrive),opacity var(--motion-feedback);opacity:.55}
.journey-tabs button[aria-selected=true]::after{transform:scaleX(1);opacity:1}
.step-number{transition:color var(--motion-feedback),transform var(--motion-control) var(--ease-arrive)}
.choice-grid label{transition:background-color var(--motion-feedback),border-color var(--motion-feedback),box-shadow var(--motion-feedback);box-shadow:inset 0 0 0 transparent}
.choice-grid label:has(input:checked){box-shadow:inset 0 0 0 1px var(--ink)}
.choice-grid input{transition:transform var(--motion-feedback) var(--ease-arrive)}
.choice-grid label:has(input:checked) input{transform:scale(1.08)}
.assessment-progress span{position:relative;background:var(--line);overflow:hidden}
.assessment-progress span.is-current{background:var(--line)}
.assessment-progress span::after{content:"";position:absolute;inset:0;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-state) var(--ease-arrive)}
.assessment-progress span.is-current::after{transform:scaleX(1)}
#contact-form>input{transition:border-color var(--motion-feedback),background-color var(--motion-feedback)}
#contact-form>input:focus{border-color:var(--ink);background-color:#fffcf7}
.faq-list summary,.answer-details summary{transition:color var(--motion-feedback),background-color var(--motion-feedback)}
.faq-list summary::marker{content:"+  ";font-size:15px;font-weight:400}
.faq-list details[open] summary::marker{content:"−  "}
.faq-list details[open] summary{color:#67436b}
.menu-toggle{border-radius:6px;transition:background-color var(--motion-feedback),color var(--motion-feedback)}
.menu-toggle[aria-expanded=true]{background:var(--ink);color:var(--cream)}
.button:focus-visible svg{transform:translateY(3px)}
.main-nav>a:not(.nav-cta):focus-visible::after,.journey-tabs button:focus-visible::after{transform:scaleX(1)}
.choice-grid label:has(input:focus-visible){background:#fff0e5;border-color:var(--ink)}
.text-link:focus-visible,.back-button:focus-visible{text-underline-offset:7px}
@media(hover:hover) and (pointer:fine){
  .button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 7px 14px #19131916}
  .button:not(:disabled):active{transform:translateY(1px);box-shadow:0 2px 5px #19131912;transition-duration:100ms}
  .button:hover svg{transform:translateY(3px)}
  .main-nav .nav-cta:hover{transform:translateY(-1px)}
  .main-nav>a:not(.nav-cta):hover::after{transform:scaleX(1)}
  .text-link:hover,.back-button:hover{text-underline-offset:7px}
  .journey-tabs button:hover{background:#f7eedf08}
  .journey-tabs button:hover::after{transform:scaleX(1)}
  .journey-tabs button:hover .step-number{transform:translateY(-2px);color:#f4773e}
  .choice-grid label:hover{background:#fbf2e6;border-color:var(--ink);box-shadow:inset 0 0 0 1px #19131933}
  .choice-grid label:has(input:checked):hover{background:#ffe7d8;box-shadow:inset 0 0 0 1px var(--ink)}
  .faq-list summary:hover,.answer-details summary:hover{color:#67436b}
  .menu-toggle:hover{background:#eee1e9;color:var(--ink)}
}
@media(prefers-reduced-motion:reduce){
  .button,.main-nav .nav-cta,.journey-tabs button,.step-number,.choice-grid label,#contact-form>input,.faq-list summary,.answer-details summary,.menu-toggle,.text-link,.back-button{transition:background-color 120ms linear,color 120ms linear,border-color 120ms linear,text-decoration-color 120ms linear!important}
  .button,.button svg,.main-nav .nav-cta,.step-number,.choice-grid input{transform:none!important}
  .main-nav>a::after,.journey-tabs button::after,.assessment-progress span::after{transition:none!important}
}
