.reading-progress{position:fixed;top:0;left:0;height:3px;width:100%;background:var(--green);transform-origin:left;z-index:20;pointer-events:none}
.hero-photo{isolation:isolate}.hero-photo::before{content:'';position:absolute;inset:6% -5% 13% 8%;background:radial-gradient(ellipse at 75% 30%,#ffd97755,transparent 66%);z-index:-1;border-radius:45%}
.button{transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.button:hover{transform:translateY(-3px);box-shadow:0 8px 22px #38571a20}.button span{transition:transform .25s ease,background .25s ease}.button:hover span{transform:rotate(7deg);background:#ffffff2b}.text-link{transition:gap .25s ease}.text-link:hover{gap:32px}.path{transition:transform .3s ease,box-shadow .3s ease,background .3s ease}.path:hover{transform:translateY(-6px);box-shadow:0 15px 35px #38571a0d}.path-icon{transition:transform .4s ease}.path:hover .path-icon{transform:rotate(-10deg)}.path-link b{transition:background .25s,color .25s,transform .25s}.path:hover .path-link b{background:var(--green);color:white;transform:rotate(5deg)}.story-image img{transition:transform .65s cubic-bezier(.2,.7,.3,1)}.story:hover img{transform:scale(1.06)}.story-note{transition:background .3s ease}.story-note:hover{background:#e3e9cd}.story-note .note-star{transition:transform .7s ease}.story-note:hover .note-star{transform:rotate(45deg)}nav>a{position:relative}nav>a::after{content:'';position:absolute;bottom:-5px;left:0;height:1px;width:100%;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .25s}nav>a:hover{text-decoration:none}nav>a:hover::after{transform:scaleX(1)}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:hero-enter .85s ease both}.hero-photo{animation:hero-enter 1s .12s ease both}.photo-stamp{animation:gentle-float 6s 1s ease-in-out infinite}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease var(--reveal-delay,0ms),transform .7s cubic-bezier(.2,.7,.3,1) var(--reveal-delay,0ms)}.reveal.in-view{opacity:1;transform:translateY(0)}.path.in-view:hover{transform:translateY(-6px)}dialog[open]{animation:dialog-enter .22s ease both}@keyframes hero-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes gentle-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes dialog-enter{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.button:hover,.path:hover,.path.in-view:hover,.story:hover img{transform:none}}
