/* Pointer layer and entrance helpers on top of the final v2 layout. */

/* Cursor glow (desktop with a mouse only; created by interact.js). */
.cursor-glow{position:fixed;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;background:radial-gradient(circle,#ff006726 0%,#ff006710 35%,transparent 70%);pointer-events:none;z-index:5;mix-blend-mode:screen;opacity:0;transition:opacity .4s}
.pointer-in .cursor-glow{opacity:1}.pointer-in 
/* Tilted cards get a light spot that follows the pointer. */
.fx-tilt{transform-style:preserve-3d;will-change:transform}
.has-pointer-fx .fx-tilt{position:relative}
.has-pointer-fx .fx-tilt::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(320px circle at var(--fx-x,50%) var(--fx-y,50%),#ff00672e,transparent 62%);opacity:0;transition:opacity .35s;pointer-events:none}

/* Responsive hover states across the page. */
.agenda-plain li{transition:background .3s}
.agenda-plain li>span{display:inline-block;transition:transform .35s cubic-bezier(.2,.8,.2,1),color .3s}
.agenda-plain li::before{transition:transform .35s cubic-bezier(.2,.8,.2,1),text-shadow .3s}
.speaker .portrait{transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.speaker h3{transition:color .3s}
.resource-list li{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.resource-list li .icon{transition:transform .4s cubic-bezier(.2,.8,.2,1),color .3s}
.date-pill{transition:border-color .3s,color .3s}
.wt-tile .wt-icon{transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.wt-tile h3{transition:transform .4s cubic-bezier(.2,.8,.2,1)}

/* Entrance helpers (created by wow-reveal.js). */
.wow-bg .wow-scan{position:absolute;left:0;right:0;top:0;height:120px;background:linear-gradient(180deg,transparent,#ff006733 45%,#ff76ad66 50%,#ff006733 55%,transparent);pointer-events:none;opacity:0}
.wow-copy .wow-case{position:relative}
.wow-case-line{position:absolute;left:0;top:-1px;width:100%;height:2px;background:linear-gradient(90deg,#ff0067,#ff76ad 40%,transparent);transform-origin:left;pointer-events:none}
.loss-accent{position:relative}
.wow-entering{transition:none!important;will-change:transform,opacity}
.process-section .process-gift .diagnostic-card::before{transition:opacity .6s}
.process-section .process-gift .diagnostic-card.wow-entering::before{opacity:0;animation-play-state:paused}
.loss-line{position:absolute;left:0;right:0;bottom:-.06em;height:.09em;border-radius:3px;background:#ff0067;box-shadow:0 0 14px #ff0067;transform-origin:left;transform:scaleX(0)}
.wow-shine{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:2}
.wow-shine-bar{position:absolute;top:-20%;bottom:-20%;left:0;width:30%;background:linear-gradient(100deg,transparent,#ff76ad33 45%,#ffffff40 50%,#ff76ad33 55%,transparent);transform:skewX(-20deg) translateX(-170%)}
.wow-spark{position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4px 0 0 -4px;border-radius:50%;background:#ff9cc3;box-shadow:0 0 12px 2px #ff0067;pointer-events:none;z-index:3}
.wow-spark:nth-child(3n){width:6px;height:6px;background:#fff}
.process-section .process-gift .diagnostic-card .gift-symbol{transform:translate(calc(var(--icon-x,0)*1px),calc(var(--icon-y,0)*1px)) rotate(calc(var(--icon-r,0)*1deg)) scale(var(--icon-s,1))!important}
.diagnostic-value strong{display:inline-block;min-width:1ch}
.wow-topics .wt-center{position:relative}
.wt-aura{position:absolute;left:50%;top:55%;width:300px;height:300px;margin:-150px 0 0 -150px;border-radius:50%;background:radial-gradient(circle,#ff006755 0%,#ff006722 38%,transparent 70%);pointer-events:none;z-index:0}
.wow-topics .wt-buyer{position:relative;z-index:1}
@media(max-width:760px){.wt-aura{width:200px;height:200px;margin:-100px 0 0 -100px}}

/* Hover states only where a real hover exists, so taps on phones do not leave them stuck. */
@media(hover:hover){
.has-pointer-fx .fx-tilt:hover::after{opacity:1}
.agenda-plain li:hover{background:linear-gradient(90deg,#ff006714,transparent 70%)}
.agenda-plain li:hover>span{transform:translateX(10px);color:#fff}
.agenda-plain li:hover::before{transform:scale(1.35);text-shadow:0 0 14px #ff0067}
.speaker:hover .portrait{transform:scale(1.06);box-shadow:0 0 0 3px #ff0067,0 14px 40px -10px #ff0067aa}
.speaker:hover h3{color:#ff76ad}
.resource-list li:hover{transform:translateX(8px)}
.resource-list li:hover .icon{transform:scale(1.25) rotate(-8deg);color:#ff0067}
.date-pill:hover{border-color:#ff0067;color:#ff76ad}
.wt-tile:hover .wt-icon{transform:translateZ(30px) scale(1.15) rotate(-6deg)}
.wt-tile:hover h3{transform:translateZ(20px)}
}

/* Header: no scroll effects — the current section's link is simply brand pink. */
.reading-progress{display:none!important}
header nav a.is-current,header nav a:hover{color:#ff0067}

/* Until their entrance takes over (wow-reveal.js sets inline opacity), these start hidden. */
.wow-js .wow-hero .wow-copy,.wow-js .wow-hero .wow-case,.wow-js .process-gift .diagnostic-card{opacity:0}
