@font-face{font-family:Poppins;src:url(assets/poppins-semibold.ttf);font-weight:600;font-display:swap}@font-face{font-family:Nunito;src:url(assets/nunito-sans.ttf);font-display:swap}*{box-sizing:border-box}body{margin:0;color:white;background:#fff;font-family:Nunito,sans-serif}header{position:absolute;z-index:10;top:30px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center}a{color:inherit;text-decoration:none}header>a:first-child{font:italic 32px cursive}.compare{font-size:14px;border:1px solid #ffffff66;border-radius:30px;padding:10px 16px}.journey{height:170svh}.sky{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;isolation:isolate;background:linear-gradient(#2468f5 0%,#6485ff 40%,#b49bf3 70%,#ffd1df 100%)}.intro{position:absolute;top:13%;left:8%;right:8%;text-align:center;z-index:5;transform:translateY(calc(var(--progress,0)*-45px));opacity:calc(1 - var(--progress,0)*.7)}.intro p{margin:0;font-size:clamp(14px,1.5vw,20px);letter-spacing:.03em}.intro p:first-child{font-size:12px;text-transform:uppercase;letter-spacing:.2em;margin-bottom:8px}h1{font:600 clamp(36px,5.2vw,76px)/1.15 Poppins,sans-serif;letter-spacing:-.055em;margin:0 0 14px}.composition{position:absolute;width:min(110vw,1480px);aspect-ratio:1586/992;left:50%;bottom:1%;transform:translateX(-50%) translateY(calc(var(--progress,0)*-70px));z-index:3;pointer-events:none}.props{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.pig-wrap{position:absolute;left:22%;top:39%;width:28%;height:48%;transform:translate(calc(var(--mx,0)*9px),calc(var(--my,0)*6px + var(--progress,0)*-25px));filter:drop-shadow(0 12px 10px #6c368722)}.pig{width:100%;height:100%;object-fit:contain;animation:breathe 5s ease-in-out infinite}.glass{position:absolute;left:45%;top:29%;width:34%;height:31%;padding:22px;border-radius:32px;border:1px solid #fff9;background:linear-gradient(135deg,#ffffff21,#e7adff12);box-shadow:inset 0 0 22px #f5b6ff55,0 0 18px #e8baff33;transform:perspective(800px) rotateY(-12deg) rotateX(5deg) translateY(calc(var(--progress,0)*-24px + var(--my,0)*-5px));backdrop-filter:blur(1px);animation:glow 5s ease-in-out infinite}.glass-bar{height:9%;width:45%;border-radius:20px;background:#fff5;margin-bottom:8%}.glass-content{display:flex;height:65%;gap:8%}.wireframe{width:43%;border:1px solid #fff8;border-radius:12px;background:linear-gradient(35deg,transparent 49.5%,#fff5 50%,transparent 50.5%),linear-gradient(-35deg,transparent 49.5%,#fff5 50%,transparent 50.5%)}.glass-cards{flex:1;display:flex;flex-wrap:wrap;gap:10%}.glass-cards i{width:44%;height:36%;background:#ffffff2b;border-radius:9px}.glass-cards b{font:40px/1 sans-serif;color:#ffc1e7;text-align:center;width:100%}.beam{position:absolute;left:49%;top:53%;width:27%;height:20%;background:linear-gradient(#b7ffff00,#90ffff77);clip-path:polygon(0 0,100% 0,58% 100%,44% 100%);mix-blend-mode:screen}.marquee{position:absolute;top:43%;left:0;width:100%;overflow:hidden;z-index:1;transform:translateY(calc(var(--progress,0)*-35px))}.marquee div{width:max-content;font:600 clamp(100px,15vw,230px)/1.1 Poppins,sans-serif;letter-spacing:-.05em;color:#ffffff24;animation:marquee 65s linear infinite}.cloud{position:absolute;z-index:2;width:42%;transform:translateY(calc(var(--progress,0)*-100px));pointer-events:none}.cloud img{width:100%;animation:drift 22s ease-in-out infinite alternate}.cloud-a{left:-16%;top:35%;opacity:.85}.cloud-b{right:-18%;top:48%;width:48%}.cloud-b img{animation-duration:29s;animation-delay:-12s}.cloud-c{left:8%;bottom:-14%;width:65%;z-index:4;opacity:.45;transform:translateY(calc(var(--progress,0)*-160px))}.cloud-c img{animation-duration:35s;animation-delay:-20s}.explore{position:absolute;z-index:6;bottom:24px;left:50%;transform:translateX(-50%);border:1px solid #fff8;border-radius:50%;background:#ffffff18;color:white;width:54px;height:54px;font-size:27px;cursor:pointer}.explore span{position:absolute;top:-20px;left:50%;transform:translateX(-50%);white-space:nowrap;font:9px Nunito;letter-spacing:.16em}.sound{position:absolute;right:5%;bottom:30px;z-index:6;background:none;border:0;color:inherit;font:12px Nunito;cursor:pointer;padding:12px}button:focus-visible,a:focus-visible{outline:2px solid #fff;outline-offset:5px}#note{min-height:65svh;display:flex;flex-direction:column;justify-content:center;padding:10vw;color:#343044;background:#fff8fc}#note p{color:#b8497c}h2{font:600 clamp(32px,5vw,68px)/1.2 Poppins;letter-spacing:-.04em;margin:15px 0 30px}#note a{color:#b82467}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes drift{to{transform:translateX(45px) translateY(-12px)}}@keyframes breathe{50%{transform:translateY(-5px) rotate(-.5deg)}}@keyframes glow{50%{box-shadow:inset 0 0 30px #f5b6ff77,0 0 24px #b1ffff44}}@media(max-width:600px){header{top:22px}.compare{font-size:11px;padding:8px 11px}.intro{top:18%}.intro p{font-size:14px}.composition{width:155vw;bottom:14%}.pig-wrap{left:23%;width:29%}.glass{padding:12px;border-radius:20px}.glass-cards b{font-size:24px}.cloud-a{width:85%;left:-40%;top:40%}.cloud-b{width:90%;right:-45%;top:53%}.cloud-c{width:100%;bottom:0;left:-30%}.marquee{top:47%}.sound{right:4%;bottom:28px}.explore{bottom:35px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}.composition,.intro,.cloud,.glass,.pig-wrap,.marquee{transform:none}.composition{transform:translateX(-50%)}.intro{opacity:1}}

header .handwritten-wordmark{width:110px;height:auto;display:block}.cloud-c{bottom:-28%;opacity:.25}@media(max-width:600px){header .handwritten-wordmark{width:90px}.cloud-c{bottom:-22%;opacity:.22}}

/* Reference typography: Meadowbell display only; no CTA imported. */
@font-face{font-family:Grandstander;src:url(assets/grandstander-black.ttf) format('truetype');font-weight:900;font-display:swap}
.intro{top:11%;left:6%;right:6%}
.intro p:first-child{font:900 clamp(14px,2.1vw,30px)/1.2 Grandstander,sans-serif;letter-spacing:.01em;margin-bottom:16px;text-shadow:0 4px 18px #1c467848}
h1{font-family:Grandstander,sans-serif;font-weight:900;line-height:.88;letter-spacing:-.025em;margin-bottom:23px;text-shadow:0 4px 18px #1c467848}
h1 span{display:block}.hello-line{font-size:clamp(52px,7.3vw,105px)}.name-line{font-size:clamp(100px,15.5vw,223px);margin-top:4px}
.intro p:last-child{font-size:clamp(14px,1.48vw,21.2px);line-height:1.28;max-width:480px;margin:auto}
/* Keep illustration below the enlarged display on wide landscape screens. */
@media(min-width:601px){.composition{width:min(89vw,1240px);bottom:-7%}.marquee{top:52%}}
@media(max-width:600px){.intro{top:15%;left:6%;right:6%}.intro p:first-child{font-size:14px;margin-bottom:15px}.hello-line{font-size:49px}.name-line{font-size:clamp(78px,22vw,120px)}h1{margin-bottom:20px}.intro p:last-child{max-width:275px;font-size:15px}.composition{bottom:9%}}
@media(max-height:650px) and (min-width:601px){.intro{top:12%}.hello-line{font-size:7vh}.name-line{font-size:17vh}.intro p:first-child{font-size:16px;margin-bottom:8px}.intro p:last-child{font-size:15px}.composition{width:75vw;bottom:-12%}}
/* Continuous sky beneath the hero, sharing its exact bottom colour. */
#note{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(#ffd1df 0%,#edc7f3 50%,#d8d3ff 100%);color:#4c345f;padding-top:14vw;padding-bottom:14vw;min-height:90svh}#note:before,#note:after{content:"";position:absolute;z-index:-1;background:url(assets/sky-studio/cloud.png) center/contain no-repeat;width:55vw;height:40vw;pointer-events:none;opacity:.55;animation:drift 30s ease-in-out infinite alternate}#note:before{right:-20%;top:-8%}#note:after{left:-25%;bottom:-10%;animation-delay:-15s}#note p{color:#8b3f6c}#note h2{max-width:900px}#note a{color:#813961}
@media(min-width:601px){.composition{bottom:0;width:min(82vw,1180px)}}

.world-section{min-height:100svh;position:relative;isolation:isolate;overflow:hidden;padding:12vw 10vw;display:flex;align-items:center;color:#4c345f}.world-copy{position:relative;z-index:2}.world-copy p{font-size:13px;letter-spacing:.16em;color:#86517e}.world-copy h2{font-size:clamp(40px,6vw,86px)}.about-world{background:linear-gradient(#d8d3ff,#c6dcfc)}.craft-world{background:linear-gradient(#c6dcfc,#d5e8f8)}.work-world{background:linear-gradient(#d5e8f8,#f5edf8);display:block}.world-pig{position:absolute;right:9%;width:33%;max-height:65%;object-fit:contain;filter:drop-shadow(0 25px 25px #9152b522);animation:breathe 6s ease-in-out infinite}.world-cloud{position:absolute;width:65%;right:-25%;bottom:-12%;opacity:.6;z-index:-1;animation:drift 36s ease-in-out infinite alternate}.craft-world .world-cloud{right:auto;left:-24%;bottom:-7%}.orbit{margin-left:auto;display:grid;grid-template-columns:1fr 1fr;gap:30px;transform:rotate(-12deg)}.orbit span{display:grid;place-items:center;width:130px;height:130px;border:1px solid #fff9;border-radius:35px;background:linear-gradient(135deg,#ffffff88,#e7b9ff44);box-shadow:inset 0 0 25px #fff5,0 20px 45px #8171b520;font-size:64px;color:#a28ce1;animation:breathe 7s ease-in-out infinite}.orbit span:last-child{grid-column:2;animation-delay:-3s}.work-samples{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1000px;margin-top:45px}.work-samples img{width:100%;border-radius:25px}.work-samples>div{border-radius:25px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#ffffff55;min-height:200px;font:600 24px Poppins;text-align:center}.work-samples small{font:14px Nunito;opacity:.6;margin-top:12px}.work-world a{color:#854277}@media(max-width:600px){.world-section{padding:20vw 8vw;min-height:90svh;align-items:flex-start}.world-pig{width:65%;right:5%;bottom:8%}.world-cloud{width:110%;right:-40%}.orbit{position:absolute;right:10%;bottom:10%;gap:16px}.orbit span{width:90px;height:90px;font-size:45px}.work-samples{grid-template-columns:1fr}.work-samples>div{min-height:160px}}
/* Continuous wind: reset only while the whole cloud is beyond the viewport. */
.sky .cloud-a{left:0;right:auto;width:42%;animation:cloud-cross 42s linear infinite;animation-delay:-12s}.sky .cloud-b{left:0;right:auto;width:48%;top:48%;animation:cloud-cross 59s linear infinite;animation-delay:-41s;opacity:.8}.sky .cloud-a img,.sky .cloud-b img{animation:cloud-bob 7s ease-in-out infinite alternate}.sky .cloud-b img{animation-delay:-4s}.sky .cloud-c{animation:cloud-cross 75s linear infinite;animation-delay:-23s;left:0;bottom:-26%;width:65%;opacity:.2}.sky .cloud-c img{animation:cloud-bob 11s ease-in-out infinite alternate}@keyframes cloud-cross{from{translate:-110% 0}to{translate:calc(100vw + 10%) 0}}@keyframes cloud-bob{to{transform:translateY(-12px)}}@media(max-width:600px){.sky .cloud-a{width:80%;animation-duration:37s;animation-delay:-10s;top:41%}.sky .cloud-b{width:95%;animation-duration:49s;animation-delay:-32s;top:56%}.sky .cloud-c{width:110%;animation-duration:65s;bottom:-25%}}@media(prefers-reduced-motion:reduce){.sky .cloud-a{translate:-30% 0}.sky .cloud-b{translate:145% 0}.sky .cloud-c{translate:0 0}}
/* Daylight to saturated twilight: every boundary shares its endpoint. */
#note{background:linear-gradient(#ffd1df 0%,#e6a7e8 48%,#b088ed 100%);color:#42285b}#note p{color:#763b70}
.about-world{background:linear-gradient(#b088ed 0%,#9068dc 52%,#7454cc 100%);color:#fff6ff}
.craft-world{background:linear-gradient(#7454cc 0%,#5145b3 55%,#323e91 100%);color:#fff6ff}
.work-world{background:radial-gradient(ellipse at 82% 75%,#61449866,transparent 55%),linear-gradient(#323e91 0%,#252c6d 50%,#171c48 100%);color:#fff6ff}
.about-world .world-copy p,.craft-world .world-copy p,.work-world .world-copy p{color:#e5cbfa}.work-world a{color:#ffc6e6}.work-samples>div{background:linear-gradient(135deg,#bfa2ff24,#ffffff0a);border:1px solid #e1caff33;box-shadow:0 18px 50px #10163825}.work-samples small{color:#d4c7f0;opacity:1}
.about-world .world-cloud{opacity:.7;filter:saturate(1.15)}.craft-world .world-cloud{opacity:.55;filter:hue-rotate(12deg) saturate(1.3) brightness(.85)}.work-world .world-cloud{opacity:.5;filter:hue-rotate(18deg) saturate(1.2) brightness(.7)}.orbit span{background:linear-gradient(135deg,#cfb2ff55,#8e7aef22);border-color:#e9d9ff66;color:#f8daff;box-shadow:inset 0 0 25px #edd4ff22,0 20px 45px #23184f35}
.sky>.cloud{display:none}.cloud-field{position:absolute;inset:0;z-index:2;pointer-events:none;transform:translateY(calc(var(--progress,0)*-65px))}.wind-cloud{position:absolute;left:0;will-change:transform}.wind-cloud img{display:block;width:100%;height:auto}@media(prefers-reduced-motion:reduce){.cloud-field{transform:none}}
/* Larger hero character, feet anchored to the same platform baseline. */
.pig-wrap{left:17%;top:26%;width:37%;height:61%}@media(max-width:600px){.pig-wrap{left:19%;top:27%;width:37%;height:60%}}
.motion-ready #note h2,.motion-ready .world-copy,.motion-ready .work-samples{opacity:0;transform:translateY(36px);transition:opacity .8s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.motion-ready .world-pig{opacity:0;translate:0 50px;transition:opacity 1s ease .16s,translate 1.2s cubic-bezier(.2,.7,.2,1) .16s}.motion-ready .in-view h2,.motion-ready .in-view .world-copy,.motion-ready .in-view .work-samples{opacity:1;transform:translateY(0)}.motion-ready .in-view .world-pig{opacity:1;translate:0 0}.motion-ready .in-view .work-samples{transition-delay:.18s}.intro{opacity:calc(1 - var(--progress,0)*.25)}.world-section .world-cloud{translate:0 calc(var(--section-depth,0)*-45px)}
@media(prefers-reduced-motion:reduce){.motion-ready #note h2,.motion-ready .world-copy,.motion-ready .work-samples,.motion-ready .world-pig{opacity:1;transform:none;translate:none;transition:none}.world-section .world-cloud{translate:none}}
.motion-ready #note.in-view h2{opacity:1;transform:translateY(0)}
.explore{width:100px;height:100px;bottom:12px;border:0;background:transparent;padding:0;transition:scale .22s ease}.explore svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 4px 8px #7a489622)}.explore circle{fill:#ffe1f0;stroke:#fff7;stroke-width:1}.explore text{font:600 9.5px Nunito,sans-serif;letter-spacing:1px;fill:#664584}.scroll-ring{transform-origin:60px 60px;animation:scroll-ring-turn 24s linear infinite}.scroll-arrow{fill:none;stroke:#8d4f9e;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.explore:hover{scale:1.07}.explore:active{scale:.96}.explore:hover circle{fill:#ffeef6}@keyframes scroll-ring-turn{to{transform:rotate(360deg)}}@media(max-width:600px){.explore{width:86px;height:86px;bottom:12px}}@media(prefers-reduced-motion:reduce){.scroll-ring{animation:none}.explore{transition:none}}
/* Tighten display metrics before giving the scene more room. */
.intro{top:10%}.intro p:first-child{margin-bottom:10px}h1{margin-bottom:0}.hello-line{line-height:.86}.name-line{line-height:.76;margin-top:4px}.intro p:last-child{margin:8px auto 0}
@media(min-width:601px){.composition{width:min(91vw,1300px);bottom:0}}
@media(max-width:600px){.intro{top:14%}.intro p:first-child{margin-bottom:10px}h1{margin-bottom:0}.intro p:last-child{margin-top:10px}.composition{bottom:8%}}
@media(min-width:601px){.intro{top:clamp(28px,4.5vh,48px)}}
@media(max-width:600px){.intro{top:88px}}
@media(min-width:601px){.intro{top:calc(clamp(28px,4.5vh,48px) + 16px)}.composition{bottom:24px}}
@media(max-width:600px){.intro{top:100px}.composition{bottom:calc(8% + 16px)}}
.explore,.explore:hover,.explore:active{border:0;box-shadow:none}.explore:focus:not(:focus-visible){outline:none}.explore:focus-visible{outline:2px dashed #82539f;outline-offset:3px}.explore circle{stroke:none}.explore svg{filter:none}
.sound{position:fixed;right:14px;bottom:32px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;font-weight:700;line-height:1.3;letter-spacing:.035em;min-width:44px;min-height:90px;z-index:20;padding:10px;color:#fff4fa;text-shadow:0 1px 6px #45346d44}.sound:focus-visible{outline:2px dashed #82539f;outline-offset:0}@media(max-width:600px){.sound{right:4px;bottom:24px;font-size:11px}}
/* Bright chromatic progression; depth comes from saturated hue, not grey/black. */
#note{background:linear-gradient(#ffd1df 0%,#eea8ee 48%,#ba99ff 100%);color:#503071}
.about-world{background:linear-gradient(#ba99ff 0%,#a08bff 52%,#8294ff 100%);color:#fffaff}
.craft-world{background:linear-gradient(#8294ff 0%,#6d91ff 50%,#597efa 100%);color:#fffaff}
.work-world{background:radial-gradient(ellipse at 85% 85%,#da9af777,transparent 60%),linear-gradient(#597efa 0%,#676def 52%,#7554da 100%);color:#fffaff}
.about-world .world-cloud,.craft-world .world-cloud,.work-world .world-cloud{filter:none;opacity:.8}.world-copy p{color:#fff0fc!important}.work-world a{color:#ffe0f3}.work-samples>div{background:linear-gradient(135deg,#e8caff38,#ffffff14);border-color:#f2deff55;box-shadow:0 18px 50px #473bc51c}.work-samples small{color:#f3e9ff}
.section-menu{position:fixed;z-index:25;left:28px;bottom:40px;color:#fff8ff}.section-menu summary{display:none}.section-menu nav{display:flex;flex-direction:column;gap:6px}.section-menu a{font:500 14px/1.3 Nunito,sans-serif;padding:6px 10px;opacity:.7;transition:opacity .2s,translate .2s;text-shadow:0 1px 8px #5f32844d}.section-menu a:hover{opacity:1;translate:3px 0}.section-menu a[aria-current]{font-weight:800;opacity:1}.section-menu a[aria-current]:before{content:'✦';position:absolute;margin-left:-15px;font-size:11px;margin-top:3px}.section-menu a:focus-visible{outline:2px dashed #fff;outline-offset:0;border-radius:5px}.awards-world{display:block;background:linear-gradient(#7554da,#8761e7 50%,#6587f2);color:#fff8ff}.certificate-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1000px;margin-top:40px}.certificate-grid a{display:block;align-self:start;border-radius:16px;overflow:hidden;box-shadow:0 14px 35px #41349a22}.certificate-grid img{display:block;width:100%;height:auto}.awards-world .world-cloud{opacity:.65}
@media(min-width:601px) and (max-width:1200px){#note,.world-section{padding-left:180px}}@media(max-width:600px){.section-menu{left:14px;bottom:22px;max-width:170px;border-radius:20px;background:#714ec6e8;box-shadow:0 8px 24px #49307722}.section-menu summary{display:flex;align-items:center;gap:20px;padding:12px 17px;font-size:12px;cursor:pointer;list-style:none}.section-menu summary::-webkit-details-marker{display:none}.section-menu[open] summary{border-bottom:1px solid #fff2}.section-menu nav{padding:8px 18px 12px;gap:2px}.section-menu a{font-size:12px;padding:7px 10px}.certificate-grid{grid-template-columns:1fr;gap:18px}}
/* One continuous artboard: gradients and light never restart at chapter edges. */
.continuous-world{position:relative;isolation:isolate;overflow:clip;background:radial-gradient(ellipse at 100% 65%,#f2aff533 0%,transparent 43%),linear-gradient(180deg,#ffd1df 0%,#e7b4f4 13%,#b99cfb 28%,#8b9cff 45%,#7096ff 60%,#657ff7 74%,#8179ef 88%,#a18af4 100%)}
.continuous-world #note,.continuous-world .world-section{background:none;overflow:visible}.continuous-world #note{isolation:auto}.continuous-world .world-cloud{z-index:0}.continuous-world .world-copy,.continuous-world .certificate-grid,.continuous-world .work-samples{position:relative;z-index:2}.continuous-world #note:before,.continuous-world #note:after{z-index:0}.continuous-world #note>*{position:relative;z-index:2}.continuous-world .world-cloud{opacity:.68}.continuous-world .work-world .world-cloud{bottom:-18%}
/* Active chapter grows from the same left baseline; previous chapter contracts. */
.section-menu nav{gap:3px;min-width:170px}.section-menu a{font-size:14px;line-height:1.35;min-height:32px;transform-origin:left center;opacity:.68;transition:font-size .38s cubic-bezier(.22,.75,.2,1),font-weight .3s,opacity .3s,padding .38s;translate:none}.section-menu a[aria-current]{font-size:23px;font-weight:800;line-height:1.35;padding-top:8px;padding-bottom:8px;opacity:1}.section-menu a[aria-current]:before{content:none}.section-menu a:hover{translate:none;opacity:1}@media(max-width:600px){.section-menu nav{min-width:145px}.section-menu a{font-size:12px;min-height:30px}.section-menu a[aria-current]{font-size:17px;padding-top:7px;padding-bottom:7px}}@media(prefers-reduced-motion:reduce){.section-menu a{transition:none}}
/* Final navigation scale: quiet default, modest active emphasis. */
.section-menu a{font-size:14px;font-weight:400}.section-menu a[aria-current]{font-size:18px;font-weight:500;padding-top:7px;padding-bottom:7px}
@media(max-width:600px){.section-menu nav{min-width:142px;gap:0}.section-menu a{font-size:12px;font-weight:400;min-height:44px;display:flex;align-items:center;padding:10px 8px}.section-menu a[aria-current]{font-size:15px;font-weight:500;padding:10px 8px}.section-menu summary{min-height:44px}}
.section-menu a{position:relative;transition:font-size .38s cubic-bezier(.22,.75,.2,1),opacity .22s,translate .25s cubic-bezier(.2,.7,.2,1),padding .38s}.section-menu a::after{content:'';position:absolute;left:-5px;top:50%;width:8px;height:2px;border-radius:2px;background:#ffe0f3;transform:translateY(-50%) scaleX(0);transform-origin:left;opacity:0;transition:transform .25s,opacity .2s}
@media(hover:hover) and (pointer:fine){.section-menu a:hover{opacity:1;translate:4px 0}.section-menu a:hover::after{transform:translateY(-50%) scaleX(1);opacity:1}}
.section-menu a:active{opacity:1;translate:2px 0}.section-menu a:focus-visible::after{transform:translateY(-50%) scaleX(1);opacity:1}@media(prefers-reduced-motion:reduce){.section-menu a,.section-menu a::after{transition:none}.section-menu a:hover{translate:none}}
@media(min-width:601px) and (min-aspect-ratio:3/2){.hello-line{font-size:min(7.3vw,11vh,105px)}.name-line{font-size:min(15.5vw,24vh,223px)}}
.section-menu{animation:menu-entry .8s cubic-bezier(.18,.75,.25,1) .08s both}.sound{animation:sound-entry .8s cubic-bezier(.18,.75,.25,1) .18s both}@keyframes menu-entry{from{translate:-240px 0;opacity:0}to{translate:0 0;opacity:1}}@keyframes sound-entry{from{translate:100px 0;opacity:0}to{translate:0 0;opacity:1}}@media(prefers-reduced-motion:reduce){.section-menu,.sound{animation:none}}
.resume-download{display:inline-flex;align-items:center;gap:9px;min-height:44px;transition:background .2s,translate .2s}.resume-download:hover{background:#ffffff20;translate:0 -2px}.resume-download:active{translate:0 0}.resume-download svg{flex:none}@media(max-width:600px){.resume-download{gap:6px;font-size:11px;padding:8px 12px}}@media(prefers-reduced-motion:reduce){.resume-download{transition:none}.resume-download:hover{translate:none}}
.chapter-heading{margin-bottom:32px}.chapter-heading .chapter-lead{font:900 clamp(19px,2.4vw,32px)/1.15 Grandstander,sans-serif!important;letter-spacing:0;color:inherit!important;margin:0 0 12px;opacity:.9}.chapter-heading h2.chapter-pill{display:inline-flex;align-items:center;gap:12px;width:auto;max-width:100%;padding:12px 24px 9px;border-radius:999px;margin:0;font:900 clamp(28px,4.2vw,56px)/1.1 Grandstander,sans-serif;letter-spacing:-.02em;background:#ffe3f2;color:#a33171;box-shadow:0 8px 25px #8052b410;text-shadow:none}.chapter-pill svg{width:.7em;height:.7em;flex:none}.craft-world .chapter-pill{background:#e2eeff;color:#2d5ec6}.work-world .chapter-pill{background:#e8e1ff;color:#6645b4}.awards-world .chapter-pill{background:#fff0d6;color:#946036}.chapter-heading~h2,.world-copy>.chapter-heading~h2{font-family:Grandstander,sans-serif;font-weight:900;font-size:clamp(32px,4.4vw,60px);line-height:1.15;letter-spacing:-.015em;margin-top:26px}.world-copy:has(.chapter-heading){max-width:100%}@media(max-width:600px){.chapter-heading{margin-bottom:24px}.chapter-heading .chapter-lead{font-size:19px}.chapter-heading h2.chapter-pill{font-size:29px;padding:11px 17px 8px;gap:9px}.chapter-heading~h2,.world-copy>.chapter-heading~h2{font-size:34px}}
@font-face{font-family:Nunito;src:url(assets/nunito-sans.ttf);font-style:normal;font-weight:200 900;font-display:swap}
.continuous-world .world-section{display:block;padding-inline:10vw;padding-top:90px}.continuous-world #note{padding-inline:10vw;justify-content:flex-start;padding-top:110px}.world-copy{width:100%}.chapter-heading{width:100%;text-align:center;margin:0 auto 60px;position:relative;z-index:3}.chapter-heading h2.chapter-sentence{font:700 clamp(30px,4vw,54px)/1.3 Nunito,sans-serif;letter-spacing:-.025em;margin:0 auto;max-width:1000px;color:inherit;text-shadow:none}.sentence-row{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.sentence-tail{display:block;margin-top:22px}.chapter-heading .chapter-pill{display:inline-flex;align-items:center;gap:12px;padding:10px 23px;border-radius:999px;background:#ffe3f2;color:#a33171;font:inherit;letter-spacing:inherit;box-shadow:none;max-width:100%}.chapter-pill svg{width:.72em;height:.72em}.about-world .world-pig{top:43%;bottom:auto;width:30%;max-height:49%}.craft-world .orbit{position:relative;width:max-content;margin:55px auto 0}.work-world .world-copy,.awards-world .world-copy{text-align:center}.work-samples,.certificate-grid{margin-inline:auto}#note .chapter-heading{margin-top:35px}.work-world .chapter-pill{background:#eee5ff;color:#6943b7}.awards-world .chapter-pill{background:#fff0d6;color:#946036}.craft-world .chapter-pill{background:#e2eeff;color:#2d5ec6}
@media(max-width:600px){.continuous-world .world-section,.continuous-world #note{padding:80px 7vw}.chapter-heading{margin-bottom:40px}.chapter-heading h2.chapter-sentence{font-size:29px;line-height:1.3}.sentence-row{gap:10px}.sentence-tail{margin-top:16px}.chapter-heading .chapter-pill{padding:8px 16px;gap:8px}.about-world .world-pig{width:65%;top:auto;bottom:10%}}
/* Display-font study: one compact sentence, with restrained capsule emphasis. */
.chapter-heading h2.chapter-sentence{font-family:Grandstander,sans-serif;font-weight:900;font-size:clamp(29px,3.45vw,48px);line-height:1.2;letter-spacing:-.018em}.chapter-heading .chapter-pill{padding:10px 20px 6px;gap:10px}.sentence-row{gap:14px}.sentence-tail{margin-top:17px;font-size:.88em;line-height:1.25}.chapter-heading{max-width:1000px}.chapter-pill svg{width:.66em;height:.66em}@media(max-width:600px){.chapter-heading h2.chapter-sentence{font-size:27px;line-height:1.22}.chapter-heading .chapter-pill{padding:9px 14px 6px;gap:8px}.sentence-row{gap:9px}.sentence-tail{font-size:.88em;margin-top:16px}}
@font-face{font-family:Grandstander;src:url(assets/grandstander-regular.ttf) format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Grandstander;src:url(assets/grandstander-medium.ttf) format('truetype');font-weight:500;font-display:swap}
.chapter-heading h2.chapter-sentence{font-weight:500;font-size:clamp(40px,4.8vw,56px);line-height:1.25;letter-spacing:-.015em}.sentence-tail{font-weight:400;font-size:.88em}.chapter-heading .chapter-pill{padding:8px 20px 5px}.section-menu a{font-family:Grandstander,sans-serif;font-weight:400;font-size:14px}.section-menu a[aria-current]{font-weight:500;font-size:18px}@media(max-width:600px){.chapter-heading h2.chapter-sentence{font-size:32px}.chapter-heading .chapter-pill{padding:8px 14px 5px}.section-menu a{font-size:12px;font-weight:400}.section-menu a[aria-current]{font-size:15px;font-weight:500}}
.chapter-heading .sentence-tail{font-weight:500;font-size:1em;line-height:1.25}

/* Unified chapter title rhythm and translucent emphasis. */
@font-face{font-family:Grandstander;src:url(assets/grandstander-semibold.ttf) format('truetype');font-weight:600;font-display:swap}
.chapter-heading h2.chapter-sentence,.chapter-heading .sentence-tail{font-weight:600;line-height:1.12}
.chapter-heading .sentence-tail{margin-top:8px}
.chapter-heading .sentence-row{gap:12px}
.chapter-heading .chapter-pill{background:rgb(255 239 249 / .48);padding:8px 19px 5px;gap:10px;backdrop-filter:blur(8px)}
.chapter-heading .chapter-pill svg{width:.78em;height:.78em;stroke-width:2.8;flex-shrink:0}
.motion-ready #note h2,.motion-ready .world-copy,.motion-ready .in-view .world-copy{opacity:1;transform:none;transition:none}
.motion-ready .chapter-heading .sentence-row,.motion-ready .chapter-heading .sentence-tail{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.motion-ready .chapter-heading .sentence-tail{transition-delay:.1s}
.motion-ready .chapter-heading.heading-visible .sentence-row,.motion-ready .chapter-heading.heading-visible .sentence-tail{opacity:1;transform:none}
@media(max-width:600px){.chapter-heading .sentence-row{gap:8px}.chapter-heading .sentence-tail{margin-top:7px}.chapter-heading .chapter-pill{padding:7px 13px 4px}}
@media(prefers-reduced-motion:reduce){.motion-ready .chapter-heading .sentence-row,.motion-ready .chapter-heading .sentence-tail{opacity:1;transform:none;transition:none}}

/* Glass capsules and a shared soft miniature illustration set. */
.chapter-heading .chapter-pill{background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,224,247,.10));border:1px solid rgba(255,246,255,.48);box-shadow:inset 0 1px 1px #ffffff45,0 8px 22px #65479410;color:inherit;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.chapter-heading .chapter-pill .chapter-art-icon{width:.87em;height:.92em;stroke:none;overflow:visible;filter:drop-shadow(0 2px 2px #674b8d28)}

/* A bounded, seamless certificate ribbon. Natural image proportions are preserved. */
.certificate-carousel{position:relative;z-index:3;width:100%;margin:36px auto 0}
.certificate-grid{display:flex;gap:26px;max-width:none;margin:0;padding:22px 8px 32px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:grab;touch-action:pan-y;overscroll-behavior-x:contain;mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}
.certificate-grid::-webkit-scrollbar{display:none}
.certificate-grid a{flex:0 0 39%;align-self:center;border-radius:15px;transform:rotate(-1.5deg);user-select:none;transition:transform .25s;box-shadow:0 12px 25px #49329c24}
.certificate-grid a:nth-child(even){transform:rotate(1.5deg)}
.certificate-grid a:hover,.certificate-grid a:focus-visible{transform:rotate(0deg) translateY(-4px)}
.certificate-grid img{width:100%;height:auto;pointer-events:none;user-select:none}
.certificate-grid.dragging{cursor:grabbing}
.certificate-pause{display:block;margin:10px auto 0;padding:10px 18px;border:1px solid #fff6;border-radius:99px;background:#ffffff16;color:#fff;font:500 14px Grandstander,sans-serif;cursor:pointer;backdrop-filter:blur(8px)}
.certificate-pause:hover{background:#ffffff30}.certificate-pause:focus-visible,.certificate-grid:focus-visible{outline:2px dashed #fff;outline-offset:4px}
@media(max-width:600px){.certificate-grid{gap:18px;padding-block:18px 26px}.certificate-grid a{flex-basis:85%}.certificate-carousel{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.certificate-grid a{transition:none;transform:none}}
.certificate-grid img{max-height:360px;max-height:min(42svh,360px);object-fit:contain}.certificate-grid a{overflow:visible;box-shadow:none}.certificate-grid img{border-radius:14px;filter:drop-shadow(0 10px 16px #49329c24)}

/* Direction-aware header, detached from the scrolling scene. */
body>header{position:fixed;z-index:40;transition:transform .36s cubic-bezier(.22,1,.36,1),opacity .25s;pointer-events:none}body>header>a{pointer-events:auto}body>header.header-hidden{transform:translateY(calc(-100% - 40px));opacity:0;pointer-events:none}body>header.header-hidden>a{pointer-events:none}body>header:focus-within{transform:none;opacity:1}
.sky-bento{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start;margin:32px auto 0;max-width:1200px}
.sky-bento .work-card{position:relative;min-width:0;margin:0;border-radius:24px;overflow:hidden;background:#ffffff15;border:1px solid #ffffff30}
.sky-bento [data-work-size="feature"]{grid-column:span 2}
.sky-bento .work-media{display:block;overflow:hidden}.sky-bento picture{display:block}.sky-bento img{display:block;width:100%;height:auto;object-fit:contain}
.sky-bento figcaption{padding:15px 18px 17px;color:#fff}.sky-bento h3{font:600 20px/1.2 Grandstander,sans-serif;letter-spacing:0;margin:5px 0 0}.sky-bento .work-kind{font:400 12px Nunito,sans-serif;opacity:.8}.sky-bento .work-open{position:absolute;inset:0;border-radius:inherit}.sky-bento .work-card:has(.work-open){transition:translate .25s,box-shadow .25s}.sky-bento .work-card:has(.work-open):hover{translate:0 -5px;box-shadow:0 14px 30px #48378624}.sky-bento .work-open:focus-visible{outline:3px dashed #fff;outline-offset:-5px}
@media(max-width:1100px){.sky-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.sky-bento [data-work-size="feature"]{grid-column:auto}}
@media(max-width:600px){.sky-bento{grid-template-columns:1fr;gap:18px}.sky-bento .work-card{border-radius:18px}}
@media(prefers-reduced-motion:reduce){body>header,.sky-bento .work-card:has(.work-open){transition:none}}

#note .dream-statement{max-width:950px;margin:40px auto 0;font:500 clamp(25px,3.2vw,43px)/1.35 Grandstander,sans-serif;letter-spacing:-.015em;color:#53316e;text-align:left}#note .dream-statement em{font-style:normal;color:#a33171}@media(max-width:600px){#note .dream-statement{font-size:25px;margin-top:30px}}

.cert-lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:54px 5vw;border:0;background:transparent;overflow:hidden;place-items:center}.cert-lightbox[open]{display:grid}.cert-lightbox::backdrop{background:#21193db8;backdrop-filter:blur(6px)}.cert-lightbox>img{display:block;max-width:90vw;max-height:84svh;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 22px 90px #160e3b66}.cert-close{position:absolute;right:24px;top:18px;width:44px;height:44px;border:1px solid #fff6;border-radius:50%;background:#ffffff20;color:white;font:30px/1 sans-serif;cursor:pointer}.cert-close:hover{background:#ffffff40}body.cert-open{overflow:hidden}
.sky-bento{grid-auto-rows:1px;row-gap:0;align-items:start}.sky-bento .work-card{margin-bottom:22px}@media(max-width:600px){.sky-bento .work-card{margin-bottom:18px}}
.certificate-grid{mask-image:linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%)}

.sky-bento [data-work-id="little-moments"] .work-media{position:relative}.sky-bento .music-showcase{position:absolute;inset:0;overflow:hidden;pointer-events:none}.sky-bento .music-showcase img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sky-bento .music-showcase img[hidden]{display:none}

/* Dream is a narrative scene, without an additional chapter title. */
.continuous-world #note{position:relative;min-height:100svh;padding-top:clamp(190px,25vh,280px);padding-bottom:100px;overflow:hidden}
#note .dream-statement{position:relative;z-index:2;max-width:1100px;margin:0 auto;font-size:clamp(30px,4.4vw,62px);line-height:1.2;font-weight:600}
#note .dream-flight{position:absolute;z-index:1;top:35px;left:0;width:100%;height:165px;pointer-events:none;animation:dream-flight-drift 12s ease-in-out infinite alternate}
.dream-flight img{position:absolute;width:clamp(140px,18vw,230px);height:165px;object-fit:contain;left:65%;top:0}
.dream-flight-trail{position:absolute;inset:0;width:78%;height:100%}
@keyframes dream-flight-drift{from{transform:translateX(-4%) translateY(5px)}to{transform:translateX(5%) translateY(-8px)}}
@media(max-width:600px){.continuous-world #note{padding-top:190px;padding-bottom:80px;min-height:90svh}#note .dream-statement{font-size:30px;line-height:1.2}#note .dream-flight{top:30px;height:135px}.dream-flight img{left:55%;width:155px;height:135px}}
@media(prefers-reduced-motion:reduce){#note .dream-flight{animation:none}}
.dream-flight-trail{width:90%}
@media(max-width:600px){.dream-flight-trail{width:80%}}
/* Flight is driven by one trajectory, including its broom-tip trail. */
#note .dream-flight{animation:none;left:0;width:100%;height:170px;top:20px;overflow:visible}
#note .dream-flight img{left:0;top:0;width:200px;height:160px;object-fit:contain;will-change:transform;transform-origin:50% 50%}
#note .dream-flight-trail{inset:0;width:100%;height:100%;overflow:visible}
@media(max-width:600px){#note .dream-flight img{width:155px;height:135px}#note .dream-flight{height:150px;top:20px}}
.illustration-world{min-height:75svh;padding-block:100px;background:transparent}
.illustration-strip{display:flex;gap:24px;overflow-x:auto;align-items:center;margin-top:55px;padding:12px 0 30px;scroll-snap-type:x mandatory}
.illustration-strip .work-card{flex:0 0 auto;width:auto;max-width:none;scroll-snap-align:center;margin:0;border:0;background:none}
.illustration-strip .work-media{height:260px;width:auto;overflow:hidden;border-radius:24px}
.illustration-strip img{height:260px;width:auto;max-width:none;object-fit:contain;display:block}
.illustration-strip figcaption{display:none}
@media(max-width:600px){.illustration-world{padding-block:70px}.illustration-strip{gap:16px;margin-top:30px}.illustration-strip .work-media,.illustration-strip img{height:210px}}
.sky-about-description{position:relative;z-index:3;width:min(50%,560px);margin-top:40px;font-family:Nunito,sans-serif;font-size:20px;line-height:1.65;color:#493260}
.sky-about-description .resume-cta{display:inline-flex;align-items:center;gap:14px;background:#fff3fa;color:#983366;border:1px solid #ffffff80;border-radius:999px;padding:14px 24px;margin-top:18px;text-decoration:none;font-weight:700}
.sky-services{position:relative;z-index:3;max-width:100%;margin-top:45px}
.sky-service{border-bottom:1px solid #ffffff55;padding:16px 0;color:#fff}
.sky-service summary{font-family:Grandstander,sans-serif;font-size:clamp(24px,3vw,42px);font-weight:600;cursor:pointer;list-style:none}
.sky-service summary::after{content:'+';float:right;font-family:Nunito,sans-serif;font-weight:400}
.sky-service[open] summary::after{content:'−'}
.sky-service p{font:400 19px/1.6 Nunito,sans-serif;max-width:600px;margin:14px 0 0}
#services .orbit{display:none}
@media(max-width:600px){.sky-about-description{width:100%;font-size:18px;margin-top:28px}.about-world .world-pig{position:relative;width:60%;display:block;inset:auto;margin:35px auto 0}.sky-service p{font-size:17px}}

/* Ambient clouds belong to the scene, below every reading and interaction layer. */
.chapter-cloud-field{position:absolute!important;inset:0;z-index:0!important;pointer-events:none;overflow:clip;contain:paint}
.chapter-cloud{position:absolute;left:0;will-change:transform}.chapter-cloud img{display:block;width:100%;height:auto}
.continuous-world .world-section,.continuous-world #note{position:relative;isolation:isolate}
.world-cloud[hidden]{display:none!important}
#note .dream-flight{z-index:1;height:210px;top:8px}
#note .dream-flight img{width:220px;height:190px}
#note .dream-statement{z-index:2}
#note .dream-next{position:relative;display:block;align-self:center;flex:none;width:104px;height:104px;margin:45px auto 0;padding:0;border:0;background:none;cursor:pointer;z-index:3}
.dream-next svg{display:block;width:100%;height:100%;overflow:visible}.dream-next text{font:500 9px Nunito,sans-serif;letter-spacing:1.1px;fill:#71418f}.dream-next circle{fill:#ffe1f0;stroke:none}.dream-next:hover{scale:1.06}.dream-next:active{scale:.96}.dream-next{transition:scale .2s}
@media(max-width:600px){#note .dream-flight img{width:170px;height:155px}#note .dream-flight{height:175px}.dream-next{width:88px!important;height:88px!important;margin-top:30px!important}}
@media(prefers-reduced-motion:reduce){.dream-next{transition:none}}

/* Large service rows retain a stable rhythm while their explanations appear. */
@media(min-width:901px){
 .sky-services{width:100%;margin-inline:auto;border-top:1px solid #ffffff55}
 .sky-service{position:relative;padding:22px 0;min-height:112px;box-sizing:border-box;transition:background .25s}
 .sky-service summary{width:68%;font-size:clamp(40px,5.4vw,82px);line-height:1.13;letter-spacing:-.035em;font-weight:600}
 .sky-service summary::after{display:none}
 .sky-service p{position:absolute;right:0;top:50%;width:28%;margin:0;font-size:17px;line-height:1.5;transform:translateY(-45%);animation:service-description .28s ease both}
 .sky-service[open]{background:rgba(255,255,255,.08)}
 .sky-service summary::-webkit-details-marker{display:none}
}
@keyframes service-description{from{opacity:0;transform:translateY(-35%)}to{opacity:1;transform:translateY(-50%)}}
.page-scroll-cue{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:25;width:44px;height:44px;border:0;border-radius:22px;background:rgba(255,238,250,.7);color:#805094;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px)}
.page-scroll-cue[hidden],body.cert-open .page-scroll-cue{display:none}
.page-scroll-cue svg{width:21px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cue-dot{fill:currentColor;stroke:none;animation:cue-scroll 1.8s ease-in-out infinite}
.cue-up{display:none}.is-end .cue-up{display:block}.is-end rect,.is-end .cue-dot{display:none}
.page-scroll-cue:focus-visible{outline:2px solid #fff;outline-offset:4px}
@keyframes cue-scroll{0%,100%{transform:translateY(0);opacity:.9}65%{transform:translateY(6px);opacity:.25}}
@media(prefers-reduced-motion:reduce){.cue-dot{animation:none}.sky-service p{animation:none}}

.illustration-strip{scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none}.illustration-strip::-webkit-scrollbar{display:none}

@media(min-width:901px){
 .sky-service{padding:14px 0;min-height:112px}
 .sky-service summary{width:100%;font-size:clamp(54px,7.3vw,110px);line-height:1.08;letter-spacing:-.045em;transition:color .3s ease,opacity .3s ease}
 .sky-service p{animation:none;opacity:0;transform:translateY(-50%) translateX(10px);transition:opacity .3s ease,transform .3s ease;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(164,139,235,.95) 12%);padding:14px 0 14px 24px;box-sizing:border-box}
 .sky-service[open]{background:transparent}
 .sky-service:hover,.sky-service:focus-within{background:rgba(255,220,240,.18)}
 .sky-service:hover summary,.sky-service:focus-within summary{color:#ffe1ef}
 .sky-service:hover p,.sky-service:focus-within p{opacity:1;transform:translateY(-50%) translateX(0)}
}

/* Keep service lettering close to its dividers and clear of the side navigation. */
@media(min-width:901px){
 .continuous-world #services{padding-left:max(210px,10vw)}
 .sky-service{min-height:0;padding:5px 0 3px}
 .sky-service summary{font-size:clamp(54px,7.3vw,110px);line-height:1;letter-spacing:-.045em}
}

/* The shared cue rises into view after Hero instead of appearing abruptly. */
.page-scroll-cue{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,22px);transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .4s,visibility .4s}
.page-scroll-cue.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
@media(prefers-reduced-motion:reduce){.page-scroll-cue{transition:none}}

.cert-close{display:grid;place-items:center;padding:0}.cert-close svg{display:block;width:20px;height:20px}.illustration-strip .work-card{cursor:zoom-in}.illustration-strip .work-card:focus-visible{outline:2px solid white;outline-offset:4px}

/* Continuing sky and playful closing scene. */
.sky-finale{position:relative;z-index:2;padding:80px 0 24px;background:transparent;min-height:500px}
.finale-top{display:block;width:110px;height:110px;margin:0 auto 90px;padding:0;border:0;background:transparent;cursor:pointer;transition:scale .22s}
.finale-top svg{display:block;width:100%;height:100%;overflow:visible}
.finale-top circle{fill:#ffe1f0;stroke:none}
.finale-top text{font:600 9.5px Nunito,sans-serif;letter-spacing:1px;fill:#553b82}
.finale-top:hover{scale:1.07}.finale-top:active{scale:.96}
.sky-finale .sushi-play{position:relative;padding:0 max(72px,6vw) 20px max(170px,12vw);overflow:hidden;background:transparent}
.sky-finale .sushi-original-scene{display:block;width:100%;height:auto;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 3%,#000);-webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000)}
.sky-finale .sushi-play[role=button]{cursor:pointer}
.sky-finale .sushi-play:focus-visible,.finale-top:focus-visible{outline:2px solid #fff;outline-offset:5px}
@media(max-width:767px){.sky-finale{padding-top:55px;min-height:400px}.finale-top{width:90px;height:90px;margin-bottom:45px}.sky-finale .sushi-play{padding:0 28px 64px 40px}}
@media(prefers-reduced-motion:reduce){.finale-top{transition:none}}

/* Shared viewport gutters and readable sky typography. */
:root{--sky-edge:clamp(24px,3.5vw,64px)}
body header{left:var(--sky-edge);right:var(--sky-edge)}
.section-menu{left:var(--sky-edge)}
.sound-toggle{right:var(--sky-edge)}
#note .dream-statement{color:#fff;line-height:1.2}
.sky-about-description{color:#fff}
.sky-about-description .resume-cta{color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.5);box-shadow:none}
.sky-about-description .resume-cta:hover{background:rgba(255,255,255,.23)}
@media(max-width:600px){:root{--sky-edge:18px}.section-menu{left:var(--sky-edge)}}

/* Keep portfolio artwork above atmospheric layers. */
.continuous-world .illustration-strip{position:relative;z-index:3}
.sound{right:var(--sky-edge)}

/* Keep atmospheric layers behind readable and interactive content. */
.continuous-world .world-section > :not(.world-cloud):not(.chapter-cloud-field){position:relative;z-index:2}
.continuous-world .world-section > .world-pig{position:absolute;z-index:2}
.continuous-world .illustration-strip{position:relative;z-index:3;cursor:grab}
.continuous-world .illustration-strip:active{cursor:grabbing}

/* Shared visible chrome gutters, desktop and mobile. */
body > header{left:var(--sky-edge);right:var(--sky-edge)}
body > header .handwritten-wordmark{overflow:visible}
@media(min-width:601px){
  .section-menu a{padding-left:0;padding-right:10px}
  .sound{right:calc(var(--sky-edge) - 10px)}
}
