/* Motion is an enhancement: content is visible without JavaScript. */
.reading-progress{position:fixed;left:0;top:0;height:3px;width:100%;background:#b79532;transform:scaleX(0);transform-origin:left;z-index:40;pointer-events:none}
.site-header{transition:box-shadow .3s ease,background .3s ease}
.site-header.is-scrolled{box-shadow:0 4px 20px #3034250b;background:rgba(247,245,239,.98)}
.desktop-nav a{position:relative}
.desktop-nav a:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:#9f873a;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.desktop-nav a:hover{text-decoration:none}
.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform:scaleX(1)}
.button{transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.button:hover{box-shadow:0 6px 16px #282a2412}
.button:active{transform:translateY(0) scale(.98);box-shadow:none}
.button>span{transition:transform .2s ease}
.button:hover>span{transform:translate(2px,-2px)}
.text-link{transition:color .2s ease,border-color .2s ease}
.filter{transition:background .2s ease,box-shadow .2s ease}
.filter:active{box-shadow:inset 0 0 0 1px #282a2440}
.topic summary,.faq-list summary{transition:color .2s ease}
.topic summary:hover,.faq-list summary:hover{color:#857027}
.topic summary:hover .topic-plus{color:#857027}
.testimonial-card{transition:box-shadow .25s ease,border-color .25s ease,translate .25s ease}
.testimonial-initials{transition:background .25s ease}
.receipt{translate:0 var(--hero-drift,0px);rotate:var(--receipt-tilt,0deg);transition:rotate .45s ease-out}
.truth-stamp{transition:scale .4s ease,rotate .4s ease}
input[type=range]{transition:filter .2s ease}
input[type=range]:hover{filter:brightness(1.14)}
select,.rate-field{transition:border-color .2s ease,box-shadow .2s ease}
.rate-field:focus-within,select:focus-visible{border-color:#ebc955;box-shadow:0 0 0 3px #ebc95518}
.modal[open]{animation:dialog-enter .24s ease-out}
.modal[open]::backdrop{animation:backdrop-enter .2s ease-out}
.mobile-nav:not([hidden]){animation:menu-enter .2s ease-out}
@keyframes dialog-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes menu-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes underline-draw{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media(prefers-reduced-motion:no-preference){.motion-ready .keep-text svg{animation:underline-draw .75s cubic-bezier(.2,.7,.2,1) .35s both}}
@media(hover:hover) and (pointer:fine){.testimonial-card:hover{translate:0 -4px;box-shadow:0 12px 28px #282a240b;border-color:#c9cbb8}.testimonial-card:hover .testimonial-initials{background:#dedcc7}.hero-art:hover .truth-stamp{scale:1.035;rotate:-4deg}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reading-progress{display:none}.receipt{translate:none!important;rotate:none!important}.testimonial-card:hover{translate:none}.button:hover,.button:active,.button:hover>span{transform:none}.truth-stamp{scale:none!important;rotate:none!important}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Phone and touch ergonomics, scoped to the original design. */
@media(max-width:699px){
  .site-header{backdrop-filter:none;background:#f7f5ef}
  .site-header.is-scrolled{background:#f7f5ef}
  .menu-toggle{width:44px;height:44px;flex-shrink:0}
  .header-book{min-height:44px}
  .text-link{min-height:44px}
  .mobile-nav{max-height:calc(100svh - 76px);overflow-y:auto;overscroll-behavior:contain}
  .mobile-nav a,.mobile-nav>button{min-height:48px}
  .review-filters{display:grid;grid-template-columns:1fr;overflow:visible;gap:6px;margin:0;padding:0}
  .filter{width:100%;min-height:46px;font-size:13px;padding:12px 15px}
  .filter>span:last-child{font-size:10px}
  .calc-fields select,.rate-field input{font-size:16px}
  input[type=range]{height:44px}
  .range-labels{margin-top:0}
  .modal-close{width:44px;height:44px}
  .plain-button{min-height:44px;display:inline-flex;align-items:center}
  .receipt{translate:none!important;rotate:none!important}
}
@media(hover:none),(pointer:coarse){
  .button:hover{transform:none;box-shadow:none}
  .button:active{transform:scale(.98)}
  .button:hover>span{transform:none}
  .testimonial-card:hover{translate:none;box-shadow:none}
  .hero-art:hover .truth-stamp{scale:none;rotate:none}
  input[type=range]:hover{filter:none}
}
@media(prefers-reduced-motion:reduce){.button:active{transform:none}}
