/* Artwork, motion, and the visitor's skill constellation. */
:root{--art-tone:brightness(1)}
.hero:before{background:linear-gradient(180deg,#eff9ffd9 0%,#eff9ff30 20%,transparent 42%,transparent 56%,#ffffffa8 79%,#fff 100%);z-index:-1;pointer-events:none}
.hero-backdrop,.games-backdrop img,.section-backdrop img,.atlas-art{filter:var(--art-tone);transition:filter 1.2s ease}
.section-backdrop{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden;mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 84%,transparent 100%)}
.section-backdrop img{width:100%;height:100%;object-fit:cover;object-position:center;animation:sky-pan 38s ease-in-out infinite}
.skills,.approach,.community{position:relative;isolation:isolate;overflow:clip;background:#f7fbff}
.skills:before,.approach:before,.community:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#ffffffde 0%,#ffffff65 32%,#ffffff24 62%,#ffffffe0 100%)}
.skills{padding-block:78px}.skills-backdrop img{object-position:center 58%}.skills .section-head{margin-bottom:28px}
.approach{padding-bottom:150px}.creation-backdrop img{object-position:center 82%}.approach:before{background:linear-gradient(180deg,#ffffffe0,#ffffff8a 40%,#ffffff66 74%,#ffffff50)}
.community{min-height:480px;padding-bottom:120px}.community-backdrop img{object-position:right 75%}.community:before{background:linear-gradient(110deg,#ffffffe0 5%,#ffffffa6 56%,#ffffff40 100%)}
/* More compact game cards; float and pointer tilt act on separate elements. */
.projects{padding-block:72px}.projects .section-head{margin-bottom:30px}.projects .section-head h2{font-size:clamp(38px,4.3vw,64px)}
.project-grid{max-width:1000px;margin-inline:auto;gap:30px;padding:12px 12px 20px}
.project-float{display:flex;flex:1;min-width:0;animation:card-drift 7.8s ease-in-out infinite;transform-origin:center 55%}
.project-entry:nth-child(2) .project-float{animation-name:card-drift-alt;animation-duration:9.2s;animation-delay:-3.6s}
.project-entry .project{animation:none;transform:perspective(950px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .65s cubic-bezier(.22,1,.36,1),translate .65s cubic-bezier(.22,1,.36,1),scale .65s cubic-bezier(.22,1,.36,1),box-shadow .5s,border-color .5s;will-change:transform}
.project-body{padding:22px}.project-label{margin-bottom:10px}.project h3{font-size:clamp(23px,2.2vw,29px);margin-bottom:12px}.project .drtt-title{font-size:clamp(21px,1.9vw,26px)}
.project p{font-size:14px;line-height:1.55;margin-bottom:18px}.project-links{gap:10px}.project-links a{padding:12px 13px;font-size:9px;gap:12px}.project-subtitle{font-size:clamp(19px,2vw,26px);margin-bottom:20px}
.project:hover,.project:focus-within{border-color:#fff;box-shadow:0 0 0 3px #fff,0 16px 34px #47759d30;translate:0 -3px;scale:1.015}
.project-links a:hover,.project-links a:focus-visible,.cta:hover,.community-links a:hover,.community-links a:focus-visible{box-shadow:0 0 0 2px #fff,0 8px 22px #628daf30}
.project-float:has(.project:hover),.project-float:has(.project:focus-within){animation-play-state:paused}
.trait{transition:transform .3s,background .3s,box-shadow .3s;border-radius:12px}.trait:hover{transform:translateY(-5px) rotate(.35deg);background:#ffffff70;box-shadow:0 0 0 2px #fff,0 12px 25px #5688a212}
.community-links a{animation:link-float 9s ease-in-out infinite}.community-links a:nth-child(2){animation-delay:-4.3s}.community-links a:hover,.community-links a:focus-visible{animation-play-state:paused}
.cloud-tilt{display:block;transform:translate(var(--cloud-x,0px),var(--cloud-y,0px)) rotate(var(--cloud-angle,0deg)) scale(var(--cloud-size,1));transition:none;will-change:transform}.hero-cloud-button{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;transition:filter .65s ease}.hero-cloud-button:hover{filter:drop-shadow(1px 0 #fff) drop-shadow(-1px 0 #fff) drop-shadow(0 1px #fff) drop-shadow(0 -1px #fff)}
.tag{transition:filter .2s,box-shadow .2s}.tag:hover{box-shadow:0 0 0 2px #fff,4px 5px 0 #ac7c2426}.stat strong{transition:translate .3s,text-shadow .3s}.stat:hover strong{translate:0 -4px;text-shadow:1px 1px #fff,-1px -1px #fff}
/* Skill atlas: six floating illustrations, one quiet central reading surface. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skill-atlas-intro{text-align:center;margin:8px 0 20px}.atlas-kicker{font:9px/1.6 var(--technical);letter-spacing:1px;color:#946a20}.skill-atlas-intro p{font:16px/1.5 var(--copy);color:#59798e;margin:7px 0}
.skill-atlas{position:relative;display:grid;grid-template-columns:1fr 1.75fr 1fr;gap:0 22px;max-width:1120px;margin:auto;isolation:isolate;--light-x:50%;--light-y:50%}
.skill-atlas:before{content:'';position:absolute;inset:-30px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 25% 28% at var(--light-x) var(--light-y),#ffffff80,transparent 80%)}
.atlas-connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.atlas-connections path{opacity:.18;stroke-dasharray:3 8;transition:opacity .3s,stroke-width .3s}.atlas-connections path.is-preview{opacity:.5}.atlas-connections path.is-active{opacity:.95;stroke-width:2.5;stroke-dasharray:8 7;filter:drop-shadow(0 0 2px #fff);animation:atlas-flow 11s linear infinite}
.atlas-nav{grid-area:1/1/2/4;display:grid;grid-template-columns:1fr 1.75fr 1fr;grid-template-rows:repeat(3,minmax(160px,1fr));gap:12px 22px;pointer-events:none;z-index:1}
.atlas-node{position:relative;isolation:isolate;pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;justify-self:center;align-self:center;padding:8px 4px;max-width:205px;width:100%;min-height:166px;border:0;border-radius:26px;background:none;color:var(--ink);cursor:pointer;user-select:none;touch-action:manipulation;transition:translate .65s cubic-bezier(.22,1,.36,1)}
.atlas-node[data-skill="programming"]{grid-area:1/1}.atlas-node[data-skill="vfx"]{grid-area:1/3}.atlas-node[data-skill="animation"]{grid-area:2/1}.atlas-node[data-skill="ui"]{grid-area:2/3}.atlas-node[data-skill="building"]{grid-area:3/1}.atlas-node[data-skill="modeling"]{grid-area:3/3}
.atlas-node:before{content:'';position:absolute;inset:10px 0;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#fff3bd80,#ffffff40 45%,transparent 75%);opacity:0;transition:opacity .4s}
.atlas-node[aria-selected="true"]:before,.atlas-node:hover:before{opacity:1}.atlas-node[aria-selected="true"]{translate:0 -4px}.atlas-node:hover{translate:0 -5px}
.atlas-art{display:block;background-image:url('assets/skill-islands-v3.webp');background-size:300% 200%;background-repeat:no-repeat;filter:var(--art-tone);transition:filter .6s ease,scale .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);transform:perspective(700px) rotateX(var(--node-tilt-x,0deg)) rotateY(var(--node-tilt-y,0deg))}
.atlas-art[data-island="0"]{background-position:0% 0%}.atlas-art[data-island="1"]{background-position:50% 0%}.atlas-art[data-island="2"]{background-position:100% 0%}.atlas-art[data-island="3"]{background-position:0% 100%}.atlas-art[data-island="4"]{background-position:50% 100%}.atlas-art[data-island="5"]{background-position:100% 100%}
.atlas-node .atlas-art{width:145px;height:145px;animation:atlas-float 7.5s ease-in-out infinite}.atlas-node:nth-child(2) .atlas-art{animation-delay:-1.8s}.atlas-node:nth-child(3) .atlas-art{animation-delay:-3.7s}.atlas-node:nth-child(4) .atlas-art{animation-delay:-5.3s}.atlas-node:nth-child(5) .atlas-art{animation-delay:-2.7s}.atlas-node:nth-child(6) .atlas-art{animation-delay:-6.2s}
.atlas-node[aria-selected="true"] .atlas-art,.atlas-node:hover .atlas-art,.atlas-node:focus-visible .atlas-art{scale:1.05;filter:var(--art-tone) drop-shadow(1.5px 0 0 #fff) drop-shadow(-1.5px 0 0 #fff) drop-shadow(0 1.5px 0 #fff) drop-shadow(0 -1.5px 0 #fff) drop-shadow(0 8px 9px #8cc5df40)}
.atlas-node[aria-selected="true"] .atlas-art{scale:1.1}.atlas-node:active .atlas-art{scale:1.025}
.atlas-node-name{font:400 18px/1.25 var(--heading);margin-top:0;text-shadow:0 2px #ffffffc0}.atlas-node-label{font:6.5px/1.5 var(--technical);letter-spacing:.3px;color:#6e8491;margin-top:7px}.atlas-node[aria-selected="true"] .atlas-node-name,.atlas-node[aria-selected="true"] .atlas-node-label{color:#9b752b}
.atlas-feature{grid-area:1/2/2/3;position:relative;z-index:2;border:1px solid #ffffffeb;border-radius:26px;background:linear-gradient(155deg,#ffffffea,#f8fcffe6);box-shadow:0 18px 54px #6b99b520,0 0 0 7px #ffffff26;backdrop-filter:blur(6px);padding:24px 27px 18px;display:flex;flex-direction:column;min-width:0;align-self:stretch;text-align:center}
.atlas-feature-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.atlas-position{font:8px var(--technical);letter-spacing:.6px;color:#87a0ae}.atlas-feature-body{flex:1}.atlas-portrait-wrap{width:190px;height:180px;margin:6px auto 2px;position:relative;display:grid;place-items:center;isolation:isolate;transition:scale .65s cubic-bezier(.22,1,.36,1)}.atlas-portrait{width:184px;height:184px;position:relative;z-index:1;animation:atlas-portrait-float 7s ease-in-out infinite;filter:var(--art-tone) drop-shadow(0 8px 10px #8abbdc22)}
.atlas-orbit{position:absolute;left:-12px;right:-12px;top:58px;height:90px;border:1px solid #e2bf5a80;border-radius:50%;rotate:-17deg;z-index:0}.atlas-glint{position:absolute;color:#dfb548;font:20px Arial,sans-serif;text-shadow:0 2px #fff;animation:atlas-glint 6s ease-in-out infinite}.atlas-glint-one{right:-7px;top:24px}.atlas-glint-two{left:-7px;bottom:22px;font-size:12px;animation-delay:-3s}
.atlas-feature h3{font:400 clamp(27px,2.6vw,35px)/1.15 var(--heading);margin:14px 0 16px;color:#274e68}.atlas-description{font:17px/1.65 var(--copy);color:#4f6f85;min-height:126px;margin:0;max-width:390px;margin-inline:auto;text-wrap:pretty}.atlas-experience{margin:18px 0 16px;padding-top:14px;border-top:1px solid #d5e5ed90}.atlas-experience strong{font-size:27px}.atlas-experience .detail{font-size:8px;line-height:1.7}
.atlas-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.atlas-controls>span{font:7px/1.5 var(--technical);letter-spacing:.7px;color:#7794a5}.atlas-arrow{border:1px solid #d7e6ef;background:#fffdf7;color:#8b6b31;border-radius:50%;width:40px;height:40px;font:20px Arial,sans-serif;cursor:pointer;transition:background .4s,box-shadow .4s,transform .55s cubic-bezier(.22,1,.36,1),scale .55s cubic-bezier(.22,1,.36,1)}.atlas-arrow:hover,.atlas-arrow:focus-visible{background:#fff3cf;box-shadow:0 0 0 2px #fff,0 5px 16px #cfb66526;transform:translateY(-2px);scale:1.08}
.atlas-feature.is-switching .atlas-portrait-wrap{scale:1.055}.atlas-arrow:active{scale:.96}
.atlas-portrait-wrap:hover .atlas-portrait{scale:1.04;filter:var(--art-tone) drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff)}
.skills .timer-note{max-width:1120px;margin:25px auto 0}
body.overdrive{--art-tone:sepia(.96) saturate(1.15) hue-rotate(-8deg) brightness(1.025)}body.overdrive .hero-backdrop{filter:var(--art-tone)}body.overdrive .skills,body.overdrive .approach,body.overdrive .community{background:#fffcf1}body.overdrive .skills:before,body.overdrive .approach:before{background:linear-gradient(180deg,#fffdf3de,#fff9e057 45%,#fff8d624 70%,#fffdf3df)}body.overdrive .community:before{background:linear-gradient(110deg,#fffdf3e8,#fff8dc7d 68%,#fff6d233)}body.overdrive .atlas-feature{background:linear-gradient(155deg,#fffcf1ee,#fff8e2e8);border-color:#fff8d9}body.overdrive .outline,body.overdrive .skill-atlas-intro p{color:#9d8853}body.overdrive .atlas-description{color:#7c725c}body.overdrive .project{background:linear-gradient(145deg,#fffdf5,#fff9e9)}
@keyframes card-drift{0%,100%{transform:translateY(0) rotate(-.65deg)}50%{transform:translateY(-8px) rotate(.65deg)}}@keyframes card-drift-alt{0%,100%{transform:translateY(-4px) rotate(.7deg)}50%{transform:translateY(4px) rotate(-.7deg)}}@keyframes link-float{0%,100%{translate:0 0;rotate:-.2deg}50%{translate:0 -4px;rotate:.2deg}}@keyframes atlas-flow{to{stroke-dashoffset:-120}}@keyframes atlas-float{0%,100%{translate:0 0;rotate:-.75deg}50%{translate:0 -6px;rotate:.75deg}}@keyframes atlas-portrait-float{0%,100%{translate:0 0;rotate:-.5deg}50%{translate:0 -5px;rotate:.5deg}}@keyframes atlas-glint{50%{opacity:.5;scale:.82}}
@media(max-width:900px){.skill-atlas,.atlas-nav{grid-template-columns:1fr 1.9fr 1fr;column-gap:10px}.atlas-node .atlas-art{width:125px;height:125px}.atlas-node{min-height:152px}.atlas-node-name{font-size:15px}.atlas-node-label{font-size:6px}.atlas-feature{padding:20px 20px 16px}.atlas-portrait-wrap{width:160px;height:150px}.atlas-portrait{width:158px;height:158px}.atlas-description{font-size:16px;min-height:145px}.atlas-experience strong{font-size:24px}.atlas-experience .detail{font-size:7px}.atlas-feature h3{font-size:28px}.atlas-kicker{font-size:8px}.atlas-controls>span{font-size:6.5px;letter-spacing:.3px}.project-body{padding:20px}.project h3{font-size:26px}.project .drtt-title{font-size:23px}.project p{font-size:13.5px}.project-grid{gap:22px;max-width:920px}}
@media(max-width:620px){.projects,.skills{padding-block:55px}.project-grid{max-width:440px;gap:32px;padding:5px 5px 15px}.project-body{padding:21px}.project h3{font-size:25px}.project .drtt-title{font-size:23px}.project p{font-size:14px}.projects .section-head h2{font-size:42px}.project-subtitle{font-size:23px;margin-bottom:18px}.project-links a{min-height:42px}.skill-atlas{display:flex;flex-direction:column;gap:24px}.atlas-connections{display:none}.atlas-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,auto);gap:12px 4px}.atlas-node[data-skill]{grid-area:auto}.atlas-node{min-height:132px;padding:3px 0;width:100%;max-width:150px}.atlas-node .atlas-art{width:108px;height:auto;aspect-ratio:1;max-width:100%}.atlas-node-name{font-size:12px;min-height:16px;margin-top:2px}.atlas-node-label{font-size:5.5px;letter-spacing:0;min-height:16px;max-width:92px;text-align:center}.atlas-node[aria-selected="true"]{translate:0 -2px}.atlas-feature{width:100%;max-width:440px;align-self:center;padding:22px}.atlas-portrait-wrap{width:190px;height:175px}.atlas-portrait{width:184px;height:184px}.atlas-feature h3{font-size:31px}.atlas-description{font-size:17px;min-height:100px}.atlas-experience strong{font-size:26px}.atlas-experience .detail{font-size:8px}.atlas-controls>span{font-size:7px}.atlas-arrow{width:44px;height:44px}.skill-atlas-intro p{font-size:15px}.atlas-kicker{font-size:8px}.approach{padding-bottom:120px}.community{min-height:650px;padding-bottom:170px}.community-backdrop img{object-position:76% bottom}.section-backdrop{mask-image:linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent)}.creation-backdrop img{object-position:center bottom}}
@media(max-width:360px){.atlas-node .atlas-art{width:92px;height:auto;aspect-ratio:1}.atlas-node-name{font-size:11px}.atlas-node{min-height:126px}.atlas-node-label{font-size:5px}.atlas-feature{padding:19px}.atlas-feature h3{font-size:29px}.atlas-description{font-size:16px}.project .drtt-title{font-size:21px}}
@media(prefers-reduced-motion:reduce){.project-float,.atlas-art,.atlas-glint,.atlas-feature-body,.community-links a{animation:none!important;transform:none!important;translate:none!important;rotate:none!important}.project-entry .project{transform:none!important;translate:none!important}.atlas-node:hover,.atlas-node[aria-selected="true"]{translate:none}.trait:hover{transform:none}.cloud-tilt{transform:none!important}.atlas-feature.is-switching .atlas-portrait-wrap,.atlas-node .atlas-art,.atlas-arrow{scale:1!important}.atlas-connections path{animation:none!important}}

/* Size feedback stays on independent transform properties, preserving float phase. */
.mode,.cta,.project-links a,.community-links a,.tag{transition:transform .65s cubic-bezier(.22,1,.36,1),scale .65s cubic-bezier(.22,1,.36,1),box-shadow .5s,filter .5s}
.mode:hover,.cta:hover,.project-links a:hover,.community-links a:hover,.tag:hover{scale:1.025}
.mode:active,.cta:active,.project-links a:active,.community-links a:active{scale:.98}
@media(prefers-reduced-motion:reduce){.mode,.cta,.project-links a,.community-links a,.tag,.project{scale:1!important}}

/* Light sky celebrations and a compact sound/effects dock. */
#sky-confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:12;mask-image:linear-gradient(#000 0%,#000 75%,transparent 100%)}
.ambience-dock{position:fixed;right:22px;bottom:22px;z-index:20;display:flex;flex-wrap:wrap;gap:3px;max-width:270px;padding:5px;border:1px solid #fff;border-radius:18px;background:#f8fcfff0;backdrop-filter:blur(12px);box-shadow:0 6px 25px #436d8b20}
.ambience-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 12px;border:1px solid transparent;border-radius:13px;background:transparent;color:#4c6e83;font:7px/1.6 var(--technical);text-transform:uppercase;transition:background .4s,scale .6s cubic-bezier(.22,1,.36,1),box-shadow .4s}
.ambience-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ambience-button>.symbol{font-size:19px;color:#bd9644}
.ambience-button[aria-pressed="true"]{background:#fff6df;color:#87662b;border-color:#ead29470}.ambience-button:hover{scale:1.035;background:#fff;box-shadow:0 0 0 1px #fff}.ambience-button:active{scale:.97}.ambience-button:disabled{opacity:.5;cursor:default}
.music-volume-control{display:flex;align-items:center;gap:10px;flex-basis:100%;padding:6px 12px 7px;color:#7891a0;font:6.5px var(--technical);text-transform:uppercase}.music-volume-control[hidden]{display:none}.music-volume-control input{width:100%;min-width:0;accent-color:#c2a154;cursor:pointer;min-height:24px}
body.overdrive .ambience-dock{background:#fffbedf0}.toast{bottom:105px}
@media(max-width:620px){.ambience-dock{right:12px;bottom:12px;max-width:247px}.ambience-button{font-size:6.5px;padding-inline:10px}footer{padding-bottom:96px}}
@media(prefers-reduced-motion:reduce){#sky-confetti{display:none}.ambience-button{scale:1!important}}

/* Ethereal's 1.2s cue drives the reveal; these layers never take pointer input. */
/* The black-screen prologue precedes the existing audio-clock reveal. */
.gold-intro{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:#050505;isolation:isolate;overflow:hidden;overscroll-behavior:none}
.gold-intro[hidden]{display:none}body.gold-intro-active{overflow:hidden}
.gold-intro-word{grid-area:1/1;text-align:center;max-width:94vw;opacity:0;font:400 clamp(68px,16vw,240px)/1 var(--heading);letter-spacing:-.035em;color:#fffdf5;transform-origin:center;white-space:nowrap;user-select:none}
.gold-intro-word.is-visible{animation:intro-word var(--word-duration) cubic-bezier(.16,1,.3,1) both}
.gold-intro-word.is-intense{font-size:clamp(74px,19vw,290px);background:linear-gradient(170deg,#fff 8%,#fff8d8 32%,#f2d072 58%,#fffbea 76%,#c99831 100%);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #684512) drop-shadow(0 0 22px #c8973045);animation-name:intro-word-impact}
.gold-intro-skip{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));border:1px solid #ffffff30;border-radius:99px;padding:12px 17px;background:#ffffff08;color:#e6dcbf;font:9px/1.5 var(--technical);cursor:pointer;transition:background .2s,border-color .2s}
.gold-intro-skip:hover,.gold-intro-skip:focus-visible{background:#ffffff18;border-color:#f2d072;outline:2px solid #f2d072;outline-offset:4px}
@keyframes intro-word{0%{opacity:0;transform:scale(1.6) translateY(12px);filter:blur(9px)}15%{opacity:1;transform:scale(.97) translateY(0);filter:blur(0)}32%,68%{opacity:1;transform:scale(1.02);filter:blur(0)}100%{opacity:0;transform:scale(.92);filter:blur(3px)}}
@keyframes intro-word-impact{0%{opacity:0;transform:scale(calc(2 * var(--word-power))) rotate(-4deg);filter:blur(14px)}13%{opacity:1;transform:scale(.9) translate(5px,-3px) rotate(1deg);filter:blur(0) drop-shadow(0 0 30px #e8b85180)}25%{opacity:1;transform:scale(1.06) translate(-3px,2px) rotate(-.5deg)}42%,66%{opacity:1;transform:scale(1);filter:blur(0) drop-shadow(0 0 22px #c8973045)}100%{opacity:0;transform:scale(1.14);filter:blur(4px)}}
@media(prefers-reduced-motion:reduce){.gold-intro-word{animation:none!important;transform:none!important;filter:none!important}}
body{overflow-x:clip}.site-scene{transform-origin:50% var(--cinema-origin,50vh);transition:transform 1.1s cubic-bezier(.22,.75,.25,1),filter .6s ease}
body.gold-preparing .site-scene{transform:scale(1.1);filter:blur(1px);will-change:transform,filter}
body.gold-preparing.gold-surge .site-scene{transform:scale(var(--surge-scale,1.1));transition:filter .1s;filter:blur(1.5px)}
body.gold-impact .site-scene{animation:gold-slam 1.1s cubic-bezier(.16,1,.3,1);will-change:transform,filter}
#cinema-flash{position:fixed;inset:0;z-index:30;pointer-events:none;background:#fffdf1;opacity:0}
#cinema-flash.flash-prep{animation:gold-preflash .9s ease-out}#cinema-flash.flash-impact{animation:gold-impact-flash 1.05s ease-out}
body.gold-impact .hero-backdrop,body.gold-impact .games-backdrop img,body.gold-impact .section-backdrop img,body.gold-impact .atlas-art{transition-duration:.12s}
@keyframes gold-preflash{0%,12%{opacity:.98}40%{opacity:.4}100%{opacity:0}}
@keyframes gold-impact-flash{0%,9%{opacity:1}30%{opacity:.62}65%{opacity:.12}100%{opacity:0}}
@keyframes gold-slam{0%{transform:scale(1) translate(-9px,5px) rotate(-.2deg);filter:blur(10px)}8%{transform:scale(1) translate(8px,-5px) rotate(.17deg);filter:blur(7px)}17%{transform:scale(1) translate(-6px,4px) rotate(-.12deg)}28%{transform:scale(1) translate(4px,-3px) rotate(.08deg);filter:blur(3px)}42%{transform:scale(1) translate(-2px,1px)}65%,100%{transform:scale(1) translate(0,0) rotate(0);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.site-scene{transform:none!important;filter:none!important}#cinema-flash{display:none}}

/* The mascot's explosion belongs behind its opaque SVG, within the hero. */
#cloud-confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
@media(prefers-reduced-motion:reduce){#cloud-confetti{display:none}}

/* Custom idea, craft, and growth artwork replaces the typographic placeholders. */
.trait-icon{top:20px;width:68px;height:68px;display:grid;place-items:center;animation:trait-icon-float 7s ease-in-out infinite}.trait:nth-child(2) .trait-icon{animation-delay:-2.3s}.trait:nth-child(3) .trait-icon{animation-delay:-4.6s}
.trait-icon img{display:block;width:100%;height:100%;object-fit:contain;filter:var(--art-tone);transition:scale .65s cubic-bezier(.22,1,.36,1),filter .6s}
.trait:hover .trait-icon img{scale:1.1;filter:var(--art-tone) drop-shadow(1px 0 #fff) drop-shadow(-1px 0 #fff) drop-shadow(0 1px #fff) drop-shadow(0 -1px #fff)}
@keyframes trait-icon-float{0%,100%{translate:0 0;rotate:-1deg}50%{translate:0 -4px;rotate:1deg}}
@media(max-width:620px){.trait h3{margin-top:60px}.trait-icon{top:18px;right:16px}}
@media(prefers-reduced-motion:reduce){.trait-icon{animation:none!important}.trait-icon img{scale:1!important}}
