/* Slow, subtle animation; all content remains visible without JavaScript. */
body{isolation:isolate}.star-glimmer{position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 14% 23%,#c8efed88 0 .7px,transparent 1.8px),radial-gradient(circle at 74% 47%,#fff8 0 .65px,transparent 1.8px),radial-gradient(circle at 43% 82%,#efdbaa66 0 .8px,transparent 2px),radial-gradient(circle at 87% 13%,#d3e6ef77 0 .6px,transparent 1.6px);background-size:470px 530px,710px 630px,810px 790px,930px 670px;opacity:.25;animation:star-breathe 8s ease-in-out infinite alternate}.reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s ease var(--reveal-delay,0ms)}.reveal.revealed{opacity:1;transform:none}.button,.outline,.social-links a{transition:box-shadow .25s ease,border-color .25s ease,background .25s ease,transform .25s ease}.button:hover,.button:focus-visible{box-shadow:0 0 22px #edc26026;transform:translateY(-2px)}.outline:hover,.social-links a:hover{box-shadow:0 0 18px #20d5d21f}.service-photo,.detail-photo{transition:transform .5s ease}.service-category{transition:border-color .3s ease,box-shadow .3s ease}.service-category:focus-visible{box-shadow:0 0 22px #20d5d222}.hero-copy{animation:hero-appear .7s ease both}.hero-photo{animation:hero-appear .85s ease .1s both}@media(hover:hover) and (pointer:fine){.service-category:hover .service-photo{transform:scale(1.025)}.service-category:hover{box-shadow:0 8px 30px #20d5d214}.service-detail .detail-photo:hover{transform:scale(1.018)}}@media(hover:none){.service-category:active .service-photo{transform:scale(1.012)}.button:active{transform:scale(.98)}}@keyframes star-breathe{from{opacity:.18}to{opacity:.48}}@keyframes hero-appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.star-glimmer{display:none}.reveal{opacity:1;transform:none;transition:none}.hero-copy,.hero-photo{animation:none}.button,.outline,.social-links a,.service-photo,.detail-photo,.service-category{transition:none;transform:none!important}html{scroll-behavior:auto}}
/* Keep photos at their original size on every device and interaction. */
.service-category .service-photo,.service-category:hover .service-photo,.service-category:active .service-photo,.service-detail .detail-photo,.service-detail .detail-photo:hover{transform:none!important;transition:none}
/* Paint star glow above the page background, behind the content. */
.star-glimmer{z-index:0}body>main,body>footer{position:relative;z-index:1}
