/* All content stays readable without scripts or motion support. */
.fade-in,.slide-up{animation:none!important}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:#a27738;transform-origin:left;transform:scaleX(0);z-index:200;pointer-events:none}
@media(prefers-reduced-motion:no-preference){
  .hero h1 em,.section h2 em,.service-hero h1,.journal-intro h1 em{position:relative}
  .hero h1 em::after,.section h2 em::after,.service-hero h1::after,.journal-intro h1 em::after{content:"";position:absolute;pointer-events:none;left:0;right:0;bottom:0;height:5px;background:#cfa88188;transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.16,1,.3,1) .25s}
  .hero h1.motion-arrived em::after,.section h2.motion-arrived em::after,.service-hero h1.motion-arrived::after,.journal-intro h1.motion-arrived em::after{transform:scaleX(1)}
  .hero-portrait.motion-arrived .portrait-note{animation:note-settle .9s .3s both}
  .hero-portrait.motion-arrived figcaption img{animation:signature-arrive 1s .6s both}
  .portrait-frame::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:6px 90px 6px 6px;box-shadow:10px 12px 0 #d9c6ae55;opacity:0}
  @media(max-width:420px){.portrait-frame::after{border-top-right-radius:65px}}
  .hero-portrait.motion-arrived .portrait-frame::after{animation:portrait-frame-settle 1.2s cubic-bezier(.16,1,.3,1) both}
  .motion-section{position:relative}
  .clarity-board.is-drawn .clarity-connection path{stroke-dasharray:70;stroke-dashoffset:70;animation:connection-draw 1s .45s ease forwards}
  .clarity-board.is-drawn .clarity-note{animation:clarity-arrive .7s .95s both}
  .button .link-icon{transition:translate .25s ease}
  .button:hover .link-icon,.button:focus-visible .link-icon{translate:2px -2px}
  .clarity-board.is-drawn .clarity-inputs span{animation:clarity-arrive .6s both}
  .clarity-board.is-drawn .clarity-inputs span:nth-child(2){animation-delay:.12s}
  .clarity-board.is-drawn .clarity-inputs span:nth-child(3){animation-delay:.24s}
  .clarity-board.is-drawn .clarity-lines{animation:clarity-connect .65s .3s both;transform-origin:top}
  .clarity-board.is-drawn .clarity-result{animation-delay:.65s}
  .services article,.steps article,.service-faq details{transition:translate .3s ease,box-shadow .3s ease,border-color .3s ease}
  .text-link,.services article>a,.article-services a{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left bottom;background-size:0 1px;transition:background-size .3s ease}
  .text-link:hover,.services article>a:hover,.article-services a:hover{background-size:100% 1px}
  .button,.resource,.service-directory a,.related-services a,.journal-list main article,.article-tags a{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,border-color .25s ease}
  .button:active{transform:translateY(1px)}
  @media(hover:hover) and (pointer:fine){
    .services article:hover,.steps article:hover{translate:0 -6px}
    .services article:hover{box-shadow:0 14px 28px #234d3c12}
    .portrait-frame picture img,.resource-cover,.journal-list main article img{transition:scale .8s cubic-bezier(.16,1,.3,1)}
    .portrait-frame:hover picture img{scale:1.025}
    .resource:hover .resource-cover,.journal-list main article:hover img{scale:1.035}
    .button:hover{transform:translateY(-3px);box-shadow:0 8px 18px #234d3c1a}
    .resource:hover,.journal-list main article:hover{transform:translateY(-5px);box-shadow:0 14px 28px #234d3c0d}
    .service-directory a:hover,.related-services a:hover,.article-tags a:hover{transform:translateY(-3px)}
    .expertise-list article{transition:translate .25s ease}.expertise-list article:hover{translate:6px 0}
  }
}
@keyframes note-settle{from{opacity:0;translate:0 20px;rotate:5deg}to{opacity:1;translate:0 0;rotate:0deg}}
@keyframes signature-arrive{from{opacity:0;transform:translate3d(-12px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes clarity-arrive{from{opacity:0;translate:0 -10px}to{opacity:1;translate:0 0}}
@keyframes clarity-connect{from{opacity:0;scale:1 0}to{opacity:1;scale:1 1}}
@keyframes portrait-frame-settle{from{opacity:0}to{opacity:1}}
@keyframes connection-draw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.reading-progress{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
