/* Shared motion: progressive enhancement; all content remains visible without JS. */
html{scroll-behavior:smooth;scroll-padding-top:120px}
@view-transition{navigation:auto}
::view-transition-old(root){animation:dw-page-out .14s ease-out both}
::view-transition-new(root){animation:dw-page-in .26s cubic-bezier(.22,1,.36,1) both}
@keyframes dw-page-out{to{opacity:0}}
@keyframes dw-page-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.cta,.guide-card,.dw-path-card,.dw-choice-card,.dw-media-card,.dw-social-card,.dw-event-photo-card,.dw-search-grid>a{transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,border-color .25s ease,background-color .25s ease,color .25s ease}
@media(hover:hover) and (pointer:fine){.cta:hover{transform:translateY(-2px)}.guide-card:hover,.dw-path-card:hover,.dw-choice-card:hover,.dw-media-card:hover,.dw-social-card:hover,.dw-event-photo-card:hover,.dw-search-grid>a:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(65,38,57,.10)}.dw-event-photo img{transition:transform .5s cubic-bezier(.22,1,.36,1)}}
.cta:active{transform:translateY(0)}
@media(max-width:600px){html{scroll-padding-top:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}::view-transition-old(root),::view-transition-new(root){animation:none!important}.cta,.guide-card,.dw-path-card,.dw-choice-card,.dw-media-card,.dw-social-card,.dw-event-photo-card,.dw-search-grid>a,.dw-event-photo img{transition:none!important;transform:none!important}}

/* Secondary accents and back-to-top, with keyboard and reduced-motion support. */
nav[aria-label="Primary"] a{position:relative}
nav[aria-label="Primary"] a::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
nav[aria-label="Primary"] a:hover::after,nav[aria-label="Primary"] a:focus-visible::after{transform:scaleX(1)}
.dw-choice-photo{overflow:hidden}.dw-choice-photo img,.dw-media-card img,.dw-media-home-grid img{transition:transform .6s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){.dw-choice-photo:hover img,.dw-media-card:hover img,.dw-media-home-grid>a:hover img{transform:scale(1.035)}}
.dw-back-top{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:58px;height:58px;border:1px solid #a8829b;border-radius:50%;background:#7a305f;color:#fff;box-shadow:0 5px 20px #39203425;font:700 11px/1.2 sans-serif;cursor:pointer;transition:background-color .25s,transform .25s,box-shadow .25s}
.dw-back-top[hidden]{display:none!important}.dw-back-top svg{width:20px;height:20px}.dw-back-top:hover{background:#5d2148;transform:translateY(-3px)}.dw-back-top:focus-visible{outline:3px solid #cba65d;outline-offset:4px}
@media(max-width:600px){.dw-back-top{width:52px;height:52px;right:16px;bottom:max(18px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){nav[aria-label="Primary"] a::after,.dw-choice-photo img,.dw-media-card img,.dw-media-home-grid img,.dw-back-top{transition:none!important}.dw-back-top:hover,.dw-choice-photo:hover img,.dw-media-card:hover img,.dw-media-home-grid>a:hover img{transform:none!important}}
