header{min-height:64px;padding:10px 5%}.identity span{font-size:9px}.back-home{font-size:12px;color:var(--accent);margin-left:auto}.home .back-home{display:none}.icon-hotspots{display:block;position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;pointer-events:auto;width:18%;height:16%;border:0;padding:0;border-radius:5px}.hotspot:hover{background:#c6d3bc30;box-shadow:0 0 0 1px #a68c6a}.hotspot:focus-visible{outline:3px solid #714f35;outline-offset:2px}.hotspot span{position:absolute;bottom:0;left:0;right:0;display:block;text-align:center;background:#eee6d7;color:#543e30;font:15px/1.9 'SimSun',serif;box-shadow:0 3px 9px #d5c7b7}.content-link{left:7%;top:50%}.communication-link{left:28%;top:50%}.practice-link{left:7%;top:68%}.projects-link{left:28%;top:68%}.projects main{padding-top:25px;padding-bottom:30px}.projects .hero{min-height:270px;padding:24px 30px;gap:30px;position:relative;isolation:isolate;background:#ece8f0;border-top:1px solid #c0b4cc;border-bottom:1px solid #c0b4cc}.projects .hero:before{content:'❧';position:absolute;right:10px;bottom:-18px;font:180px Georgia;color:#7d97715c;z-index:-1;transform:rotate(-25deg)}.projects .hero:after{content:'✧';position:absolute;top:12px;right:40%;font:48px Georgia;color:#a68ca8}.projects .page-title{font-size:51px}.projects h1{font-size:27px;margin:8px 0 12px}.projects .hero p{margin-bottom:12px}.projects .project-cover{min-height:220px;width:235px;padding:20px 24px;transform:rotate(3deg);background:#f9f8f2;border:1px solid #c9c4bd;box-shadow:7px 8px 0 #a6b69c66}.projects .project-cover:before{content:'';position:absolute;top:-10px;left:60px;width:90px;height:23px;background:#bea9c480;transform:rotate(-7deg)}.projects .project-cover:after{content:'❦';position:absolute;right:-20px;bottom:-16px;font:70px Georgia;color:#7c946c}.projects .project-cover h2{font-size:23px}.projects .project-cover p{font-size:12px}.projects .section{margin-top:25px;padding-top:20px}.projects .columns{gap:45px}.projects h2{font-size:22px;margin-bottom:12px}.projects .contributions{margin:0}.projects .contributions li{padding:9px 0;font-size:14px}.projects .section:last-child{position:relative;padding-left:20px;border-left:3px solid #b8c5ac;background:#f7f5f8;padding-bottom:10px}.projects .section:last-child:after{content:'✧';position:absolute;right:15px;top:8px;color:#b69cb8;font-size:30px}.projects footer{padding:15px 0}@media(max-width:750px){header{flex-wrap:nowrap}.back-home{white-space:nowrap}.hotspot span{font-size:11px;line-height:1.6}.projects .hero{padding:20px;grid-template-columns:1fr;gap:25px}.projects .page-title{font-size:39px}.projects .project-cover{width:220px}.projects .hero:after{right:15px;font-size:32px}.projects .columns{gap:22px}.icon-hotspots{width:100%}}
/* Home controls stay within the supplied animation. */
.home header,.home footer{display:none}
.home main{padding:0;margin:0;max-width:none;min-height:100svh;display:grid;place-items:center;position:relative;background:#35271f}
.home .home-stage{width:min(100vw,133.333333svh);position:relative}
.home .home-stage video{display:block;width:100%;height:auto}
.home .motion{position:absolute;left:calc(50% + min(100vw,133.333333svh)*.278);top:calc(50% + min(75vw,100svh)*.357);width:clamp(20px,3vw,38px);height:clamp(20px,3vw,38px);padding:0;margin:0;border:0;border-radius:50%;background:#654b3d;color:#eee5d6;font-size:0;transform:translate(-50%,-50%)}
.home .motion:before{content:'Ⅱ';font-size:15px}.home .motion.is-paused:before{content:'▶';font-size:13px}
.home .motion:focus-visible{outline:2px solid #b8d5bf;outline-offset:3px}
.home .hotspot span{font-size:clamp(10px,1.35vw,17px)}
.projects .hero>div{min-width:0}.projects .page-title{overflow-wrap:anywhere}
@media(max-width:750px){.projects .page-title{font-size:36px}.projects .project-cover{max-width:calc(100% - 35px)}.projects .hero:before{right:10px;font-size:120px}.projects .project-cover:after{right:-12px}}
.content main{padding-top:28px;padding-bottom:30px;position:relative}
.content .hero{min-height:265px;gap:40px}
.content .page-title{font-size:55px;position:relative;display:inline-block}
.content .page-title:after{content:'✳';font:42px Georgia;color:#a34953;position:absolute;right:-56px;top:-16px;transform:rotate(12deg)}
.content h1{font-size:27px;margin:8px 0 12px}
.content .eyebrow{margin-bottom:12px}.content p{margin-bottom:12px}
.content .paper{padding:18px 22px;margin:10px 15px;background:#fffefa;max-width:340px;width:100%;transform:rotate(-4deg);border-bottom:8px solid #466b91}
.content .paper:before{background:#b5c7d39c;width:100px;height:24px;transform:rotate(9deg)}
.content .paper:after{content:'✦';position:absolute;bottom:-17px;right:-16px;color:#a34953;font:48px Georgia}
.content .paper img{max-height:190px}.content .paper small{margin-top:8px}
.content .section{margin-top:24px;padding-top:18px;position:relative}
.content .section-head h2{background:#365f87;color:#fffdf8;display:inline-block;padding:2px 15px;transform:rotate(-2deg);font-size:22px}
.content .stats{margin:14px 0 16px;gap:15px;padding:12px 0;border-bottom:1px dashed #879eb4}
.content .stats>div{padding-left:15px;border-left:2px solid #a44e5a}
.content .stats strong{font-size:39px}.content .stats span{font-size:12px}
.content h2{font-size:22px;margin-bottom:10px}.content .columns{gap:35px}
.content .columns>div:first-child{position:relative;padding-left:18px;border-left:3px solid #a24b57}
.content .columns>div:last-child{padding:15px 20px;background:#e5ebf1;border-top:1px dashed #71869b;position:relative}
.content .columns>div:last-child:before{content:'';position:absolute;top:-9px;right:20px;width:65px;height:18px;background:#ddc3b3aa;transform:rotate(7deg)}
.content .audience{margin-top:13px;height:11px}
.content .steps{gap:22px}.content .steps article{padding:12px 0 0}.content .steps h3:before{content:'✧';color:#a34953;margin-right:8px}
.content .note{font-size:11px;line-height:1.7}.content footer{padding:15px 0}
@media(max-width:750px){.content .hero{gap:20px}.content .page-title{font-size:40px}.content .page-title:after{font-size:28px;right:-35px;top:-9px}.content .paper{width:calc(100% - 30px);margin:10px auto}.content .stats strong{font-size:28px}.content .stats>div{padding-left:8px}.content .columns{gap:24px}.content .steps{gap:10px}}
.communication main,.practice main{padding-top:28px;padding-bottom:35px}
.communication .hero,.practice .hero{min-height:270px;gap:40px}
.communication .page-title,.practice .page-title{font-size:52px}
.communication h1,.practice h1{font-size:27px;margin:10px 0 14px}
.communication .section,.practice .section{margin-top:26px;padding-top:20px}
.communication .paper{position:relative;background:#edf1f9;border:1px solid #c7cedb;border-bottom:5px solid #d9bdc9;padding:25px 30px;animation:note-arrive .7s ease-out both;transition:transform .3s,box-shadow .3s}
.communication .paper:hover{transform:rotate(0deg) translateY(-5px);box-shadow:6px 14px 24px #76607820}
.communication .paper:before{width:95px;height:25px;background:#d9b4c27f;transform:rotate(-10deg)}
.communication .paper:after{content:'❦';position:absolute;bottom:-18px;right:10px;font:70px Georgia;color:#b09cab;pointer-events:none}
.communication .quote{font-size:25px;line-height:1.65;margin-bottom:12px}
.communication .journal{background:repeating-linear-gradient(transparent 0,transparent 31px,#cec2d515 31px,#cec2d515 32px);border-left:2px solid #cbb5c5;padding-left:24px}
.communication .case{padding:20px 0 14px;position:relative}
.communication .case:before{content:'✧';position:absolute;left:-34px;top:22px;background:#fcfafc;color:#a78aaa;font-size:22px}
.communication .case .label{display:inline-block;background:#e4eaf5;padding:2px 12px;transform:rotate(-2deg);margin-bottom:10px}
.communication .case:nth-child(2) .label{background:#efdee5;transform:rotate(1deg)}
.communication .case p{margin-bottom:12px}.communication .case h2{font-size:22px;margin-bottom:12px}
.practice .practice-art{min-height:265px;position:relative;background:#dfe7dd;border-radius:45% 45% 3px 3px}
.practice .practice-art:before{content:'❧';position:absolute;left:12px;bottom:-22px;font:140px Georgia;color:#748c6b;transform:rotate(-30deg);pointer-events:none}
.practice .practice-art:after{content:'';position:absolute;width:75px;height:25px;top:20px;right:20%;background:#c5ac837f;transform:rotate(8deg)}
.practice .sheet{position:relative;animation:sheet-arrive .75s ease-out both;transition:transform .3s,box-shadow .3s}
.practice .practice-art:hover .sheet{transform:rotate(2deg) translateY(-5px);box-shadow:15px 18px 0 #afbdad}
.practice .sheet:after{content:'✓';position:absolute;right:12px;bottom:8px;color:#9e6d52;font:30px Georgia;transform:rotate(-12deg)}
.practice .timeline{border-left:2px solid #a6b69a}
.practice .timeline article{padding-bottom:24px;padding-left:3px}
.practice .timeline article:before{width:11px;height:11px;left:-37px;background:#6c876d;box-shadow:0 0 0 5px #dce5d8}
.practice .timeline .eyebrow{display:inline-block;background:#e2e9dc;padding:3px 12px;transform:rotate(-1deg)}
.practice .timeline h2{font-size:23px}.practice .timeline p{margin-bottom:12px}.practice .timeline li{margin:5px 0}
.music-control{position:fixed;right:22px;bottom:18px;display:flex;align-items:center;gap:9px;padding:8px 13px;border:1px solid #b9adb8;background:#fffdf8f2;color:var(--accent);box-shadow:0 3px 12px #40344715;z-index:5;border-radius:5px;font-size:22px}
.music-control small{font-size:11px}.music-control:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.music-control[aria-pressed=true]{background:var(--tint)}
.home .music-control{left:calc(50% + min(100vw,133.333333svh)*.365);top:calc(50% + min(75vw,100svh)*.357);right:auto;bottom:auto;transform:translate(-50%,-50%);padding:1px 4px;font-size:15px;gap:3px;background:#e7ded0;border-color:#a88b70;box-shadow:none}
.home .music-control small{font-size:9px}
@keyframes note-arrive{from{opacity:0;transform:translateY(12px) rotate(0deg)}to{opacity:1;transform:translateY(0) rotate(3deg)}}
@keyframes sheet-arrive{from{opacity:0;transform:translateY(15px) rotate(2deg)}to{opacity:1;transform:translateY(0) rotate(8deg)}}
@media(max-width:750px){.communication .page-title,.practice .page-title{font-size:38px;overflow-wrap:anywhere}.communication .hero,.practice .hero{gap:25px}.communication .paper{width:calc(100% - 24px);margin:auto}.communication .journal{padding-left:17px}.communication .case:before{left:-28px}.practice .practice-art{min-height:260px}.music-control{right:12px;bottom:12px}.home .music-control{font-size:11px;padding:0 2px}.home .music-control small{font-size:8px}footer{padding-bottom:68px}}
@media(prefers-reduced-motion:reduce){.communication .paper,.practice .sheet{animation:none;transition:none}.communication .paper:hover{transform:rotate(3deg)}.practice .practice-art:hover .sheet{transform:rotate(8deg)}}
.home .hotspot span{display:none}
.home .hotspot{background:transparent;box-shadow:none;border:0}
.home .hotspot:hover{background:transparent;box-shadow:none}
.home .motion{left:79.2%;top:87.4%;width:3%;height:4%;min-width:18px;min-height:18px;background:#654b3d;transform:translate(-50%,-50%);border:0;box-shadow:none}
.home .motion:before{font-size:clamp(10px,1.5vw,18px)}
.music-control small{display:none}
.music-control{width:42px;height:42px;padding:0;justify-content:center;border-radius:50%}
.home .music-control{left:72.7%;top:87.4%;width:3%;height:4%;min-width:18px;min-height:18px;padding:0;background:transparent;border:0;box-shadow:none;transform:translate(-50%,-50%)}
.home .music-control>span{visibility:hidden}
.home .music-control:focus-visible{outline:2px solid #785b42}
.home .home-stage:after{content:'';position:absolute;left:55.2%;top:35%;width:6.5%;aspect-ratio:1;background:radial-gradient(circle,#536251 1px,transparent 1.2px) 0 0/5px 5px,#dcebd2;clip-path:polygon(50% 0,63% 31%,98% 35%,73% 58%,80% 94%,50% 76%,19% 94%,25% 58%,1% 35%,36% 30%);transform:rotate(-12deg);pointer-events:none}
.communication .paper .pearl-strand{position:absolute;top:-19px;right:-8px;display:flex;align-items:center;gap:2px;transform:rotate(14deg);pointer-events:none;filter:drop-shadow(1px 3px 2px #9a8d9d44)}
.pearl-strand i{display:block;width:18px;height:18px;border-radius:50%;border:1px solid #ded5d7;background:radial-gradient(circle at 32% 25%,#fff 0,#fffdfb 18%,#f4efee 35%,#d8cdd6 62%,#fffdf5 85%,#c8c6d2 100%);box-shadow:inset -2px -2px 4px #c5bcc455,inset 1px 1px 3px white}
.pearl-strand i:nth-child(2),.pearl-strand i:nth-child(8){transform:translateY(4px)}
.pearl-strand i:nth-child(3),.pearl-strand i:nth-child(7){transform:translateY(7px)}
.pearl-strand i:nth-child(4),.pearl-strand i:nth-child(6){transform:translateY(9px)}
.pearl-strand i:nth-child(5){transform:translateY(10px)}
.communication .journal:after{content:'';display:block;width:16px;height:16px;margin:5px 0 5px auto;border-radius:50%;background:radial-gradient(circle at 30% 25%,white,#f3edeb 40%,#cec4d1 75%,#fff);box-shadow:-20px 1px 0 -2px #e5dce5,-37px 3px 0 -3px #ece6ed}
@media(max-width:750px){.communication .paper .pearl-strand{right:0;gap:1px}.pearl-strand i{width:15px;height:15px}}
.hero{position:relative}.decor{position:absolute;pointer-events:none;user-select:none;object-fit:cover;z-index:1}
.content .hero{padding-right:12px}.content .hero>div:first-of-type{position:relative;z-index:2}
.content .blue-stars{width:105px;height:100px;left:42%;top:3px;transform:rotate(12deg);mix-blend-mode:multiply;opacity:.85;clip-path:polygon(4% 3%,96% 0,100% 95%,0 100%)}
.projects .hero>div{position:relative;z-index:2}.projects .project-cover{z-index:2}
.projects .flower-sticker{width:86px;height:88px;left:49%;bottom:12px;mix-blend-mode:multiply;transform:rotate(-18deg)}
.projects .fabric-swatch{right:14px;top:18px;width:155px;height:210px;opacity:.7;transform:rotate(-7deg);clip-path:polygon(3% 1%,100% 4%,95% 99%,0 96%);z-index:0}
.communication .hero>div{position:relative;z-index:2}.communication .lily-sticker{width:100px;height:100px;left:43%;top:0;mix-blend-mode:multiply;transform:rotate(-12deg);opacity:.85}
.communication .paper{padding-right:85px}.communication .lace-sticker{width:72px;height:70px;right:8px;top:52px;mix-blend-mode:multiply;transform:rotate(12deg);opacity:.85}
.communication .shell-sticker{width:66px;height:65px;right:-8px;bottom:-15px;mix-blend-mode:multiply;transform:rotate(-13deg)}
.communication .paper:after{display:none}.communication .pearl-strand{z-index:3}
.practice .woven-swatch{width:115px;height:195px;right:20px;top:20px;transform:rotate(11deg);box-shadow:2px 4px 8px #45534322}
.practice .water-swatch{width:110px;height:95px;left:12px;bottom:8px;transform:rotate(-10deg);clip-path:polygon(4% 3%,100% 0,96% 96%,0 100%)}
.practice .sheet{z-index:2}.practice .practice-art:before{z-index:3}
@media(max-width:750px){.content .blue-stars{left:auto;right:5px;top:2px;width:63px;height:65px;opacity:.45}.communication .lily-sticker{left:auto;right:0;top:0;width:65px;height:65px;opacity:.5}.projects .flower-sticker{left:auto;right:5px;bottom:20px;width:70px;height:70px}.projects .fabric-swatch{top:auto;bottom:40px;right:15px;height:160px;width:120px}.communication .paper{padding-right:65px}.communication .lace-sticker{width:55px;height:55px;right:4px}.communication .shell-sticker{width:52px;height:52px}}
.home .home-stage .motion{background:transparent;color:transparent;border:0;box-shadow:none;font-size:0;left:79.2%;top:87.4%}
.home .home-stage .motion:before,.home .home-stage .motion:after{display:none}
.collage{position:relative;height:135px;margin:26px 0 5px;border-top:1px dashed #b7acb8;border-bottom:1px dashed #b7acb8;isolation:isolate}
.collage:before,.collage:after{content:'';position:absolute;width:68px;height:20px;background:#d7c4ad8f;z-index:3;top:4px;left:14%;transform:rotate(-12deg)}
.collage:after{left:auto;right:15%;top:auto;bottom:2px;transform:rotate(10deg);background:#c4d0d59c}
.collage .decor{top:10px;height:115px;width:130px;object-fit:contain;filter:drop-shadow(2px 3px 2px #51444e18)}
.collage-left{left:9%;transform:rotate(-9deg)}.collage-center{left:calc(50% - 65px);transform:rotate(4deg)}.collage-right{right:9%;transform:rotate(9deg)}
.content-collage{background:repeating-linear-gradient(0deg,transparent,transparent 20px,#a5b4c229 21px,#a5b4c229 22px)}
.content-collage .decor{mix-blend-mode:multiply}.content-collage:before{background:#a94c5a6b}.content-collage:after{background:#92b2ce88}
.project-collage{background:#e9e5ee}.project-collage .collage-left{width:135px;height:125px;top:2px;object-fit:cover;clip-path:polygon(3% 2%,100% 0,96% 98%,0 100%)}
.project-collage .collage-center{width:170px;left:calc(50% - 85px);height:119px;top:5px;object-fit:cover;border:5px solid #faf8f1;box-shadow:3px 3px 6px #55503b26}
.project-collage .collage-right{mix-blend-mode:multiply}
.communication-collage{background:#f0edf5;border-color:#cfc0d0}.communication-collage .decor{mix-blend-mode:multiply}
.communication-collage .collage-left{width:95px}.communication-collage .collage-right{height:125px;top:3px}
.communication-collage:before{background:#d8bdcc9c}.communication-collage:after{background:#b7cbe083}
.practice-collage{background:#e7ebe3}.practice-collage .decor{object-fit:cover;height:115px;top:10px;width:135px;box-shadow:3px 4px 0 #83917835}
.practice-collage .collage-center{width:175px;left:calc(50% - 87px);border:5px solid #fffdf6}
@media(max-width:750px){.collage{height:105px;margin-top:20px}.collage .decor{width:80px;height:84px;top:10px}.collage-left{left:2%}.collage-center{left:calc(50% - 40px)}.collage-right{right:2%}.project-collage .collage-left{width:76px;height:88px;top:7px}.project-collage .collage-center{width:105px;left:calc(50% - 52px);height:85px;top:9px}.communication-collage .collage-left{width:64px}.communication-collage .collage-right{height:92px;top:5px}.practice-collage .decor{width:77px;height:83px}.practice-collage .collage-center{width:106px;left:calc(50% - 53px)}.collage:before,.collage:after{width:40px;height:13px}}
.music-credits{max-width:min(520px,90vw);padding:35px;color:#493c43;line-height:1.9}.music-credits a{text-decoration:underline}.music-credits p{font-size:13px}.music-credit-link{font-size:11px;text-decoration:underline;text-underline-offset:3px}
.home .music-control>span{visibility:visible;font-size:clamp(11px,1.6vw,20px);color:#624a3b}.home .music-control{background:#e5ddce}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-width:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.home main{min-height:100vh;min-height:100svh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
.home .home-stage{width:min(100%,133.333333svh);aspect-ratio:4/3;flex-shrink:0}
.home .home-stage video{width:100%;height:100%;object-fit:contain;max-height:none}
.music-control{bottom:max(18px,env(safe-area-inset-bottom,0px));right:max(18px,env(safe-area-inset-right,0px))}
.home .music-control{right:auto;bottom:auto}
dialog{max-height:85vh;max-height:85svh;overflow:auto}dialog img{max-width:100%;height:auto;object-fit:contain}
@media(max-width:750px){header{padding-left:max(5%,env(safe-area-inset-left,0px));padding-right:max(5%,env(safe-area-inset-right,0px))}main{padding-left:6%;padding-right:6%;min-width:0}.hero>div,.columns>div{min-width:0}.page-title{overflow-wrap:anywhere}.communication .paper .quote{font-size:22px}.home .hotspot{min-height:40px}.home .motion,.home .music-control{min-width:24px;min-height:24px}.music-control{min-width:44px;min-height:44px}.home .music-control{min-width:24px;min-height:24px}footer{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}}
@media(max-height:500px) and (orientation:landscape){.home .home-stage{width:min(100%,133.333333svh)}}
