/* Progressive enhancement: content and navigation never depend on animation. */
.desktop-nav.has-nav-glide{position:relative;isolation:isolate}
.desktop-nav.has-nav-glide>a{position:relative;z-index:1;border-color:transparent}
.nav-glide{position:absolute;left:0;pointer-events:none;z-index:0;border-radius:5px;background:rgba(122,20,24,.055);border-bottom:2px solid var(--gold);opacity:0}
.desktop-nav a:focus-visible,.chip:focus-visible,.category-circle:focus-visible{outline:2px solid var(--wine);outline-offset:5px}
.offer-card:focus-within,.consult-card:focus-within{border-color:var(--gold)}
.consult-choices label,.consult-consent label,.consult-checkbox{flex-direction:row}
.consult-choices input,.consult-consent input,.consult-checkbox input{min-height:20px}
.consult-choices input{margin:0}
.consult-choices label:has(input:checked){background:#f0e4d3;border-color:var(--consult-gold);color:var(--wine)}
.consult-choices label:has(input:focus-visible){outline:2px solid var(--wine);outline-offset:3px}
.consult-schedule{padding:.9rem 1rem;border-left:3px solid var(--consult-gold);background:#f6ecda;font:400 1rem/1.6 var(--sans);color:var(--ink);margin:1rem 0 1.5rem}
@media(prefers-reduced-motion:no-preference){
 .nav-glide{transition:transform .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),opacity .18s}
 .desktop-nav a,.chip,.mobile-menu nav a,.button,.icon-button,.text-link,.consult-choices label{transition:color .2s,background-color .2s,border-color .2s,box-shadow .25s,transform .25s}
 .offer-card,.consult-card,.paths>a{transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s}
 .category-circle>span{transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s}
 .button svg,.text-link svg,.paths>a>svg{transition:transform .25s cubic-bezier(.22,1,.36,1)}
 @media(hover:hover) and (pointer:fine){
  .desktop-nav a:hover,.chip:hover{transform:translateY(-2px)}
  .offer-card:hover,.consult-card:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 12px 26px -14px rgba(71,31,22,.28)}
  .paths>a:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 10px 24px -18px rgba(71,31,22,.3)}
  .category-circle:hover>span{transform:translateY(-5px);box-shadow:0 8px 18px -10px rgba(71,31,22,.35);border-color:var(--gold)}
  .button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 7px 16px -10px rgba(71,31,22,.4)}
  .button:not(:disabled):hover svg,.text-link:hover svg,.paths>a:hover>svg{transform:translateX(3px)}
  .icon-button:not(:disabled):hover{transform:translateY(-2px)}
 }
 .button:not(:disabled):active,.icon-button:not(:disabled):active,.chip:active{transform:translateY(0)}
}
/* Touch and reduced-motion users get the same content without moving targets. */
@media(hover:none),(prefers-reduced-motion:reduce){
 .category-circle:hover>span{transform:none}
}
