/* Seasonal accents are scoped to the homepage banner and portal hero. */
.nxs-gratitude[hidden],html:not(.nxs-thanksgiving) .nxs-gratitude{display:none!important}
.nxs-gratitude{position:relative;isolation:isolate;overflow:hidden;max-width:1440px;width:calc(100% - 48px);margin:24px auto 0;border:1px solid #8e6d38;border-radius:18px;color:#f5eedf;background:radial-gradient(ellipse at 95% 5%,#ba632c70,transparent 48%),radial-gradient(ellipse at 0 100%,#ac7b283d,transparent 55%),#141311}
.nxs-gratitude-copy{position:relative;z-index:1;max-width:810px;padding:clamp(28px,6vw,80px)}
.nxs-gratitude .eyebrow{color:#e6bd74;letter-spacing:.18em;font-size:.76rem;line-height:1.8}
.nxs-gratitude h2{font-size:clamp(2.8rem,7vw,6rem);line-height:1.04;letter-spacing:-.04em;margin:22px 0;color:#f7edda}
.nxs-gratitude h2 em{font-family:Georgia,serif;font-weight:400;color:#e6bd74}
.nxs-gratitude-family{font-size:clamp(1.15rem,2.5vw,1.6rem);color:#eed2a0;margin:0 0 20px}
.nxs-gratitude-message{max-width:560px;font-size:1rem;line-height:1.85;color:#dcd3c3;margin:0 0 28px}
.nxs-gratitude .button{display:inline-flex;gap:18px;align-items:center;min-height:48px;border-color:#b2894c;color:#f6e8cb;max-width:100%;box-sizing:border-box}
.nxs-gratitude-signoff{font-size:.74rem;letter-spacing:.06em;color:#c5ad88;margin:30px 0 0;line-height:1.7}
.nxs-gratitude-leaves{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.nxs-gratitude-leaves span{position:absolute;right:15px;top:25px;width:240px;height:280px;font-size:0;background:url('/assets/autumn-leaf.svg?v=3') center/contain no-repeat;opacity:.85;transform:rotate(24deg);filter:drop-shadow(0 8px 18px #bb672c22)}
.nxs-gratitude-leaves span:nth-child(2){top:255px;right:135px;width:170px;height:200px;transform:rotate(-36deg);background-image:url('/assets/autumn-leaf-copper.svg?v=3');opacity:.8}
.nxs-gratitude-leaves span:nth-child(3){top:410px;right:-25px;width:145px;height:170px;transform:rotate(48deg);background-image:url('/assets/autumn-leaf-gold.svg?v=3');opacity:.85}
.nxs-milestone{max-width:1440px;width:calc(100% - 48px);margin:18px auto;color:#d6c8ae}
.nxs-milestone summary{cursor:pointer;padding:16px 0;min-height:44px;box-sizing:border-box;color:#e3c68c;font-weight:600;border-bottom:1px solid #68532c}
.nxs-milestone summary span{font-size:.83rem;font-weight:400;color:#bcb2a1;margin-left:16px}
.nxs-milestone summary:focus-visible{outline:2px solid #e6bd74;outline-offset:4px}
.nxs-milestone-content{max-width:850px;margin:24px auto;line-height:1.7}.nxs-milestone img{display:block;width:100%;height:auto;border-radius:12px}.nxs-milestone h2{color:#e6bd74;font-size:1.5rem}
html.nxs-thanksgiving .portal-hero{border-bottom:1px solid #a4773d;background-image:radial-gradient(ellipse at 100% 0,rgba(169,93,37,.16),transparent 65%)}
html.nxs-thanksgiving .portal-hero small::after{content:" \00b7 Season of Gratitude";color:#e1b978}
@media(max-width:760px){.nxs-gratitude,.nxs-milestone{width:calc(100% - 24px)}.nxs-gratitude{margin-top:16px;border-radius:12px}.nxs-gratitude-copy{padding:32px 24px}.nxs-gratitude-leaves{opacity:.22}.nxs-gratitude .button{font-size:.9rem}.nxs-milestone summary span{display:block;margin:8px 0 0}.nxs-gratitude-signoff{max-width:230px}}

/* A short decorative fall stays inside the welcome header and cannot intercept clicks. */
html.nxs-thanksgiving .portal-hero{position:relative;isolation:isolate}
html.nxs-thanksgiving .portal-hero::before{content:"";position:absolute;z-index:-1;inset:-50px 0 0;pointer-events:none;background:url('/assets/autumn-leaf.svg?v=3') 65% 0/18px 22px no-repeat,url('/assets/autumn-leaf.svg?v=3') 82% 55px/14px 17px no-repeat,url('/assets/autumn-leaf.svg?v=3') 95% 15px/20px 24px no-repeat;opacity:0;animation:nxs-autumn-drift 4.8s ease-out 1}
@keyframes nxs-autumn-drift{0%{transform:translate(-12px,-30px) rotate(-5deg);opacity:0}15%{opacity:.45}75%{opacity:.35}100%{transform:translate(15px,170px) rotate(12deg);opacity:0}}
@media(prefers-reduced-motion:reduce){html.nxs-thanksgiving .portal-hero::before{animation:none}}

/* v4 (Nov 2): continuous falling leaves. Decorative only; never intercepts clicks. */
html.nxs-thanksgiving .nxs-gratitude{position:relative;overflow:hidden}
.nxs-fall-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
html:not(.nxs-thanksgiving) .nxs-fall-layer{display:none}
.nxs-fall{position:absolute;top:-60px;width:34px;height:40px;background:url('/assets/autumn-leaf.svg?v=3') center/contain no-repeat;opacity:.9;will-change:transform;animation:nxs-fall 11s linear infinite;pointer-events:none}
.nxs-fall:nth-child(3n+2){background-image:url('/assets/autumn-leaf-copper.svg?v=3')}
.nxs-fall:nth-child(3n){background-image:url('/assets/autumn-leaf-gold.svg?v=3')}
.nxs-fall:nth-child(1){left:6%;animation-duration:12s;animation-delay:-1s}
.nxs-fall:nth-child(2){left:18%;width:26px;height:30px;animation-duration:14s;animation-delay:-6s}
.nxs-fall:nth-child(3){left:31%;animation-duration:10s;animation-delay:-3s}
.nxs-fall:nth-child(4){left:44%;width:28px;height:33px;animation-duration:13s;animation-delay:-9s}
.nxs-fall:nth-child(5){left:57%;animation-duration:11s;animation-delay:-5s}
.nxs-fall:nth-child(6){left:69%;width:24px;height:28px;animation-duration:15s;animation-delay:-11s}
.nxs-fall:nth-child(7){left:80%;animation-duration:12s;animation-delay:-7s}
.nxs-fall:nth-child(8){left:92%;width:28px;height:33px;animation-duration:10s;animation-delay:-2s}
@keyframes nxs-fall{0%{transform:translate3d(0,0,0) rotate(0deg)}25%{transform:translate3d(22px,25vh,0) rotate(70deg)}50%{transform:translate3d(-14px,50vh,0) rotate(150deg)}75%{transform:translate3d(18px,75vh,0) rotate(230deg)}100%{transform:translate3d(-6px,105vh,0) rotate(320deg)}}
.nxs-gratitude-copy{position:relative;z-index:1}

/* Portal Welcome header: bigger, brighter, looping. Overrides the one-time v3 fall. */
html.nxs-thanksgiving .portal-hero{overflow:hidden}
html.nxs-thanksgiving .portal-hero::before,html.nxs-thanksgiving .portal-hero::after{content:"";position:absolute;z-index:-1;top:-60px;left:0;right:0;height:60px;pointer-events:none;opacity:.95;will-change:transform;animation:nxs-hero-fall 7s linear infinite}
html.nxs-thanksgiving .portal-hero::before{background:url('/assets/autumn-leaf.svg?v=3') 60% 0/34px 40px no-repeat,url('/assets/autumn-leaf-gold.svg?v=3') 88% 10px/28px 33px no-repeat}
html.nxs-thanksgiving .portal-hero::after{background:url('/assets/autumn-leaf-copper.svg?v=3') 74% 0/30px 36px no-repeat,url('/assets/autumn-leaf.svg?v=3') 96% 20px/24px 28px no-repeat;animation-duration:9s;animation-delay:-4s}
@keyframes nxs-hero-fall{0%{transform:translate3d(0,0,0) rotate(0deg)}50%{transform:translate3d(18px,140px,0) rotate(25deg)}100%{transform:translate3d(-8px,300px,0) rotate(-10deg)}}

/* Reduced motion: no movement, leaves stay visible as still images. */
@media (prefers-reduced-motion:reduce){
 .nxs-fall{animation:none}
 .nxs-fall:nth-child(odd){top:20%}.nxs-fall:nth-child(even){top:60%}
 .nxs-fall:nth-child(n+5){display:none}
 html.nxs-thanksgiving .portal-hero::before,html.nxs-thanksgiving .portal-hero::after{animation:none;transform:translate3d(0,80px,0)}
}
