/* Light follows the pointer without moving clickable targets. */
.craft-card,.contact-card,.hero-art{position:relative;isolation:isolate}
.craft-card::before,.contact-card::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:radial-gradient(350px circle at var(--pointer-x,50%) var(--pointer-y,50%),#004E7245,transparent 70%);opacity:0;transition:opacity .35s ease}
.hero-art::before{content:'';position:absolute;inset:-1px;z-index:4;pointer-events:none;border-radius:inherit;border:1px solid transparent;background:radial-gradient(240px circle at var(--pointer-x,50%) var(--pointer-y,50%),#b2d5e580,transparent 75%) border-box;mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:0;transition:opacity .35s ease}
@media(hover:hover) and (pointer:fine){.craft-card:hover::before,.contact-card:hover::before,.hero-art:hover::before{opacity:1}}
.contact-card-arrow,.contact-action>span,.original-about-link span{transition:transform .3s cubic-bezier(.22,1,.36,1)}
.contact-card:hover .contact-card-arrow,.contact-card:focus-visible .contact-card-arrow{transform:translate(3px,-3px)}
.contact-card:hover .contact-action>span,.original-about-link:hover span{transform:translateX(3px)}
.header nav a{position:relative;padding-block:7px}.header nav a::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:#FF6E42;box-shadow:0 0 9px #FF6E4280;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.header nav a:hover::after,.header nav a:focus-visible::after{transform:scaleX(1)}
.reading-progress{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#004E72,#FF6E42);box-shadow:0 0 10px #FF6E4240;transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}
.craft-card{display:flex;flex-direction:column}.craft-visual{flex-shrink:0}.craft-copy{flex:1}.waveform i{transform-origin:center}
@media(prefers-reduced-motion:reduce){.craft-card::before,.contact-card::before,.hero-art::before{display:none}.contact-card-arrow,.contact-action>span,.original-about-link span,.header nav a::after{transition:none;transform:none!important}.reading-progress{display:none}}
/* Accordion light and icon follow the requested state, including while closing. */
.animated-detail{position:relative;isolation:isolate;box-sizing:border-box}
.animated-detail summary{position:relative;z-index:1}
.animated-detail summary::after{display:none!important}
.accordion-icon{display:block;position:relative;flex:0 0 22px;width:22px;height:22px;margin-left:auto;color:#FF6E42}
.accordion-icon::before,.accordion-icon::after{content:'';position:absolute;left:3px;top:10px;width:16px;height:2px;background:currentColor;border-radius:2px;box-shadow:0 0 9px #FF6E424d;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.accordion-icon::after{transform:rotate(90deg)}
.animated-detail[data-expanded="true"] .accordion-icon::after{transform:rotate(0)}
.animated-detail::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(100deg,#004E7238,transparent 75%);opacity:0;transition:opacity .4s ease}
.animated-detail[data-expanded="true"]::before{opacity:1}
.animated-detail::after{content:'';position:absolute;left:0;top:15%;bottom:15%;width:2px;pointer-events:none;background:#FF6E42;box-shadow:0 0 13px #FF6E4280;transform:scaleY(0);transform-origin:center;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.animated-detail[data-expanded="true"]::after{transform:scaleY(1)}
.workflow .animated-detail,.workflow .animated-detail[open],.questions .animated-detail,.questions .animated-detail[open]{background:transparent}
.workflow .animated-detail .stage-number{transition:filter .4s ease;transform:none}
.workflow .animated-detail[data-expanded="true"] .stage-number{filter:drop-shadow(0 0 16px #004E72)}
.workflow .animated-detail .stage-title{transition:color .3s ease}
.workflow .animated-detail[data-expanded="true"] .stage-title{color:#F9F9F9}
.workflow .animated-detail[data-expanded="false"] .stage-title{color:#ccd7dc}
.workflow .animated-detail[data-expanded="false"] .stage-tag{color:#9eafb8;text-shadow:none}
.questions .animated-detail summary,.questions .animated-detail>p{padding-left:16px;padding-right:16px}
@media(hover:hover){.animated-detail:hover::before{opacity:1}.workflow .animated-detail:hover .stage-number{filter:drop-shadow(0 0 18px #004E7299)}}
@media(prefers-reduced-motion:reduce){.animated-detail::before,.animated-detail::after,.accordion-icon::before,.accordion-icon::after,.workflow .animated-detail .stage-number,.workflow .animated-detail .stage-title{transition:none}}
