@font-face{font-family:SinSinJP;src:url(../fonts/NotoSansJP_400Regular.ttf) format('truetype');font-weight:400;font-display:swap}@font-face{font-family:SinSinJP;src:url(../fonts/NotoSansJP_700Bold.ttf) format('truetype');font-weight:700;font-display:swap}@font-face{font-family:SinSinJP;src:url(../fonts/NotoSansJP_900Black.ttf) format('truetype');font-weight:900;font-display:swap}
:root{--cf-yellow:#f4b400;--cf-green:#26964c;--cf-blue:#0788c9;--cf-purple:#712989;--cf-red:#d92822;--cf-ink:#201513;--cf-cream:#fffaf0}.colorful-home{font-family:SinSinJP,sans-serif;color:var(--cf-ink);overflow:hidden;background:var(--cf-cream)}.colorful-home *{box-sizing:border-box}.colorful-home a{color:inherit;text-decoration:none}.colorful-home h1,.colorful-home h2,.colorful-home h3,.colorful-home p{margin-top:0}.section-label{font-size:11px;font-weight:700;letter-spacing:.28em}.cf-header{position:absolute;z-index:30;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:28px 4.5%;color:#fff}.cf-brand{display:flex;align-items:center;gap:14px}.cf-brand>b{display:grid;place-items:center;width:48px;aspect-ratio:1;border-radius:50%;background:#fff;color:#111}.cf-brand>span{font-size:11px;font-weight:900;letter-spacing:.18em}.cf-brand small{display:block;margin-top:4px;font-size:8px;font-weight:400;letter-spacing:.03em}.cf-menu{border:0;border-radius:30px;background:#fff;padding:13px 20px;font-weight:900;cursor:pointer}.cf-menu i{font-style:normal}.cf-header nav{position:absolute;right:4.5%;top:83px;display:flex;flex-direction:column;gap:1px;min-width:240px;transform:translateY(-15px);opacity:0;visibility:hidden;transition:.3s}.cf-header nav.is-open{transform:none;opacity:1;visibility:visible}.cf-header nav a{padding:14px 18px;background:#fff;color:var(--cf-ink);font-weight:700}.cf-header nav a:hover{background:var(--cf-yellow)}
.site-loader{position:fixed;z-index:10000;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;background:#050505;color:#fff;opacity:1;visibility:visible;transition:opacity .5s ease,visibility 0s .5s}
.site-loader img{width:clamp(92px,10vw,150px);height:auto;filter:drop-shadow(0 12px 22px #0008);animation:loader-logo 1.15s cubic-bezier(.16,1,.3,1) infinite alternate}
.site-loader p{display:flex;gap:.16em;margin:0;font-size:clamp(24px,3vw,42px);font-weight:900;letter-spacing:.14em}
.site-loader p span{display:block;opacity:.28;animation:loader-letter 1.1s ease-in-out infinite}
.site-loader p span:nth-child(2){animation-delay:.12s}.site-loader p span:nth-child(3){animation-delay:.24s}.site-loader p span:nth-child(4){animation-delay:.36s}
.site-loader.is-loaded{opacity:0;visibility:hidden;pointer-events:none}
@keyframes loader-logo{from{transform:scale(.92) rotate(-3deg);opacity:.72}to{transform:scale(1.04) rotate(2deg);opacity:1}}
@keyframes loader-letter{0%,100%{opacity:.28;transform:translateY(0)}45%{opacity:1;transform:translateY(-5px);color:#ffbd00}}
@media(prefers-reduced-motion:reduce){.site-loader img,.site-loader p span{animation:none}.site-loader p span{opacity:1}}

.cf-hero{position:relative;min-height:750px;height:100svh;max-height:1050px;background:#050505;color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.93;animation:photo-in 1.6s cubic-bezier(.16,1,.3,1) both}.cf-hero:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#050505f2 0,#050505a8 42%,#0505050d 85%)}.hero-copy{position:absolute;z-index:3;left:4.5%;top:17%;width:58%}.hero-copy h1{font-size:clamp(72px,8.8vw,146px);line-height:.95;letter-spacing:-.085em;font-weight:900}.hero-copy h1 span,.hero-copy h1 em{display:block;width:max-content;clip-path:inset(0 100% 0 0);animation:copy-open .85s forwards}.hero-copy h1 span:nth-child(2){margin-left:12%;animation-delay:.14s}.hero-copy h1 span:nth-child(3){animation-delay:.28s}.hero-copy h1 em{margin:-.04em 0 0 37%;color:var(--cf-yellow);font-size:.62em;font-style:normal;transform:rotate(-5deg);animation-delay:.42s}.hero-copy p{font-size:clamp(12px,1vw,17px);line-height:1.8}.hero-copy>small{font-size:9px;letter-spacing:.22em}.living-logo{position:absolute;z-index:4;right:2%;bottom:15%;width:min(40vw,530px);aspect-ratio:1;border:1px dashed #fff5;border-radius:50%;animation:logo-enter 1.3s .35s cubic-bezier(.16,1,.3,1) both}.living-logo:before{content:"";position:absolute;inset:18%;border-radius:50%;background:#fff}.living-logo b{position:absolute;z-index:3;inset:38% 15% auto;text-align:center;color:#111;font-size:clamp(30px,4vw,66px);line-height:.7;letter-spacing:-.08em}.living-logo b small{display:block;font-size:1.25em}.pm{position:absolute;z-index:2;width:22%;height:35%;color:var(--cf-yellow);animation:person-float 5s ease-in-out infinite}.pm:before{content:"";position:absolute;left:35%;top:0;width:30%;aspect-ratio:1;border-radius:50%;background:currentColor}.pm:after{content:"";position:absolute;left:12%;top:20%;width:76%;height:75%;border-radius:48% 52% 38% 62%;background:currentColor;transform:skew(-12deg) rotate(-12deg)}.p1{color:var(--cf-yellow);left:13%;top:7%;transform:rotate(-48deg)}.p2{color:var(--cf-green);right:13%;top:5%;transform:rotate(28deg);animation-delay:-1s}.p3{color:var(--cf-blue);right:2%;top:38%;transform:rotate(86deg);animation-delay:-2s}.p4{color:var(--cf-purple);right:30%;bottom:0;transform:rotate(160deg);animation-delay:-3s}.p5{color:var(--cf-red);left:3%;bottom:20%;transform:rotate(-105deg);animation-delay:-4s}.hero-scroll{position:absolute;z-index:5;right:15px;bottom:18%;font-size:8px;letter-spacing:.2em;writing-mode:vertical-rl}.hero-ticker{position:absolute;z-index:6;left:-2%;bottom:0;width:104%;display:flex;overflow:hidden;background:var(--cf-red);transform:rotate(-1deg);font-size:clamp(23px,3vw,50px);font-weight:900;white-space:nowrap}.hero-ticker span{padding:.16em 0;animation:ticker 15s linear infinite}
.cf-about{position:relative;min-height:900px;padding:100px 5%;background-color:var(--cf-yellow);background-image:radial-gradient(#2015132b 2px,transparent 2px);background-size:28px 28px}.cf-about .section-label{margin-bottom:55px}.about-copy h2{font-size:clamp(62px,8.5vw,125px);line-height:1.02;letter-spacing:-.08em}.about-copy h2 span,.about-copy h2 strong{display:block}.about-copy h2 strong{margin-top:40px;color:#fff;-webkit-text-stroke:3px var(--cf-ink);text-shadow:8px 9px 0 var(--cf-ink)}.about-copy p{margin-top:70px;max-width:610px;font-size:15px;line-height:2}.character-card{position:absolute;right:6%;top:24%;width:43%;aspect-ratio:1.05;border-radius:55px;background:#fff;box-shadow:12px 16px 0 var(--cf-ink);transform:rotate(2deg);transition:.4s}.character-card:hover{transform:rotate(0) translateY(-8px)}.character-card img{width:100%;height:100%;padding:8%;object-fit:contain}.character-card>a{position:absolute;right:5%;bottom:5%;display:grid;place-items:center;width:100px;aspect-ratio:1;border-radius:50%;background:var(--cf-red);color:#fff;text-align:center;font-size:10px}.character-card>a b{font-size:17px}.side-label{position:absolute;right:14px;top:70px;writing-mode:vertical-rl;font-size:9px;font-weight:700;letter-spacing:.2em}
.cf-ecosystem{position:relative;min-height:1250px;padding:100px 5%;background:var(--cf-purple);color:#fff;overflow:hidden}.cf-ecosystem>*:not(.wave){position:relative;z-index:2}.wave{position:absolute;left:-10%;width:120%;height:45%;border-radius:50%;will-change:transform}.wave-one{top:8%;background:var(--cf-blue);transform:rotate(-5deg)}.wave-two{bottom:-10%;background:var(--cf-red);transform:rotate(3deg)}.cf-ecosystem h2{margin:50px 0 20px;font-size:clamp(68px,10vw,145px);letter-spacing:-.09em}.cf-ecosystem>p{font-size:15px;line-height:1.9}.big-number{position:absolute!important;right:10%;top:0;font-size:280px;opacity:.18}.network{position:relative!important;width:min(80vw,780px);aspect-ratio:1;margin:40px auto 0}.network:before,.network:after{content:"";position:absolute;inset:12%;border:2px dashed #fff8;border-radius:50%}.network:after{inset:28%;border-style:solid;opacity:.35}.network-core{position:absolute;z-index:3;left:35%;top:35%;display:grid;place-items:center;width:30%;aspect-ratio:1;border:4px solid var(--cf-ink);border-radius:50%;background:#fff;color:var(--cf-ink);font-size:clamp(23px,3.3vw,48px);font-weight:900;text-align:center;line-height:.8}.network-core small{display:block;font-size:1.2em}.network i{--angle:calc(var(--n)*36deg - 90deg);position:absolute;z-index:2;left:calc(50% + cos(var(--angle))*40%);top:calc(50% + sin(var(--angle))*40%);display:grid;place-items:center;width:clamp(70px,10vw,120px);aspect-ratio:1;border-radius:50%;background:var(--cf-yellow);color:var(--cf-ink);font-size:11px;font-style:normal;font-weight:900;transform:translate(-50%,-50%);animation:node-float 4s calc(var(--n)*-.35s) ease-in-out infinite}.network i:nth-of-type(3n+2){background:var(--cf-green);color:#fff}.network i:nth-of-type(3n+3){background:var(--cf-blue);color:#fff}.network i:nth-of-type(3n+4){background:var(--cf-red);color:#fff}.ecosystem-foot{display:block;font-size:9px;letter-spacing:.2em}
.cf-directory{padding:90px 5% 130px;background:var(--cf-cream)}.cf-search{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;max-width:1300px;margin:0 auto 45px;padding:16px 20px;border:4px solid var(--cf-ink);border-radius:80px;background:#fff;box-shadow:9px 10px 0 var(--cf-ink);transition:.3s}.cf-search:focus-within{transform:scale(1.025);box-shadow:13px 14px 0 var(--cf-yellow)}.cf-search>b{display:grid;place-items:center;width:55px;aspect-ratio:1;border-radius:50%;background:var(--cf-yellow);font-size:24px}.cf-search label{font-weight:900}.cf-search label small{display:block;font-size:9px;font-weight:400}.cf-search input{position:absolute;inset:0;width:100%;opacity:0}.cf-search button{position:relative;z-index:2;border:0;border-radius:50px;background:var(--cf-ink);color:#fff;padding:20px 30px;font-weight:900}.category-chips{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.category-chips button{min-width:125px;border:2px solid var(--cf-ink);border-radius:30px;background:#fff;padding:10px 16px;font-weight:700}.category-chips button.active{background:var(--cf-yellow)}.directory-heading{margin:85px 0 55px}.directory-heading>span{font-size:10px;letter-spacing:.25em}.directory-heading h2{margin-top:28px;font-size:clamp(40px,6vw,82px);letter-spacing:-.07em}.directory-heading h2 em{color:var(--cf-red);font-style:normal}.cf-business-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 55px}.cf-business{height:440px;border-radius:36px;background:var(--cf-red);box-shadow:10px 12px 0 var(--cf-ink);overflow:hidden;transform:rotate(-1deg);transition:.35s}.cf-business:nth-child(even){transform:rotate(1.5deg)}.cf-business:hover{transform:rotate(0) translateY(-8px)}.cf-business>a{position:relative;display:block;height:100%;padding:275px 28px 25px;color:#fff}.cf-business img{position:absolute;inset:0 0 auto;width:100%;height:250px;object-fit:cover}.cf-business small{font-size:9px;letter-spacing:.2em}.cf-business h3{margin:15px 0;font-size:clamp(26px,3.1vw,48px);line-height:1.15}.cf-business i{position:absolute;right:25px;bottom:25px;display:grid;place-items:center;width:48px;aspect-ratio:1;border:2px solid var(--cf-ink);border-radius:50%;background:#fff;color:var(--cf-ink);font-style:normal}.cf-business.blue{background:var(--cf-blue)}.cf-business.green{background:var(--cf-green)}.cf-business.yellow{background:var(--cf-yellow);color:var(--cf-ink)}.cf-business.yellow a,.cf-business.white a{color:var(--cf-ink)}.cf-business.purple{background:var(--cf-purple)}.cf-business.white{background:#fff;border:6px solid var(--cf-red)}.cf-business.is-extra{display:none}.cf-business.is-extra.is-open{display:block;animation:card-open .6s both}.more-businesses{position:relative;width:100%;margin-top:70px;border:0;border-radius:48px;background:var(--cf-ink);color:#fff;padding:45px 55px;text-align:left;cursor:pointer}.more-businesses small{display:block;font-size:9px;letter-spacing:.2em}.more-businesses b{display:block;margin-top:25px;font-size:clamp(38px,6vw,78px)}.more-businesses i{position:absolute;right:7%;top:50%;display:grid;place-items:center;width:110px;aspect-ratio:1;border-radius:50%;background:var(--cf-yellow);color:var(--cf-ink);font-size:35px;font-style:normal;transform:translateY(-50%)}
.cf-philosophy{position:relative;min-height:780px;padding:100px 5%;background:var(--cf-blue);color:#fff;overflow:hidden}.cf-philosophy:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-35%;height:80%;border-radius:50%;background:#0875b0}.cf-philosophy>*{position:relative;z-index:2}.cf-philosophy h2{margin:60px 0;font-size:clamp(62px,8.5vw,125px);line-height:1.1;letter-spacing:-.08em}.cf-philosophy p{line-height:2}.heart{position:absolute;right:12%;top:25%;display:grid;place-items:center;width:260px;aspect-ratio:1;background:var(--cf-red);font-size:90px;font-weight:900;clip-path:path('M130 260 C100 235 0 165 0 80 C0 0 95 -20 130 45 C165 -20 260 0 260 80 C260 165 160 235 130 260Z')}.cf-philosophy>a{position:absolute;right:12%;bottom:12%;border-radius:40px;background:#fff;color:var(--cf-ink);padding:16px 30px;font-weight:900}
.cf-explore{padding:90px 3% 140px;background:var(--cf-cream)}.cf-explore h2{margin:50px 0 70px;font-size:clamp(48px,7vw,95px);letter-spacing:-.08em}.explore-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.explore-cards>a{position:relative;min-height:560px;padding:38px;border-radius:35px;background:var(--cf-yellow);box-shadow:9px 12px 0 var(--cf-ink);transform:rotate(-3deg);transition:.4s;overflow:hidden}.explore-cards>a:nth-child(2){background:var(--cf-green);color:#fff;transform:translateY(-35px) rotate(2deg)}.explore-cards>a:nth-child(3){background:var(--cf-purple);color:#fff;transform:rotate(-1deg)}.explore-cards>a:hover{transform:translateY(-12px) rotate(0)}.explore-cards small{font-size:10px;letter-spacing:.25em}.explore-cards b{display:block;margin-top:80px;font-size:clamp(38px,4vw,65px);line-height:1.2}.explore-cards em{position:absolute;right:8%;top:32%;font-size:200px;font-style:normal;font-weight:900;color:#fff8}.explore-cards span{position:absolute;left:38px;bottom:38px;font-weight:700}.cf-news{position:relative;display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;padding:90px 5%;background:#050505;color:#fff}.cf-news h2{font-size:clamp(50px,6vw,85px)}.news-list a{display:block;padding:20px 0;border-bottom:1px solid #fff4}.news-list small,.news-list b{display:block}.news-list b{margin-top:10px}.news-arrow{position:absolute;right:4%;bottom:10%;display:grid;place-items:center;width:70px;aspect-ratio:1;border-radius:50%;background:var(--cf-yellow);color:var(--cf-ink);font-size:28px}.cf-footer{position:relative;min-height:620px;padding:85px 5% 40px;background:linear-gradient(90deg,#f4b40022 0 20%,#26964c22 20% 40%,#0788c922 40% 60%,#71298922 60% 80%,#d9282222 80%)}.cf-footer h2{font-size:clamp(48px,6vw,82px);line-height:1.15}.cf-footer>div>a{display:inline-block;margin-top:45px;border-radius:50px;background:var(--cf-ink);color:#fff;padding:20px 55px;font-weight:900}.cf-footer>img{position:absolute;right:3%;top:8%;width:55%;height:72%;object-fit:contain}.cf-footer nav{position:absolute;left:5%;bottom:35px;display:flex;gap:24px;font-size:11px;font-weight:700}.cf-footer>small{position:absolute;right:4%;bottom:35px}
.cf-reveal{opacity:0;transform:translateY(70px);transition:opacity .8s,transform 1s cubic-bezier(.16,1,.3,1)}.cf-reveal.is-visible{opacity:1;transform:none}
@keyframes photo-in{from{opacity:0;transform:scale(1.13);filter:blur(8px)}to{opacity:.93;transform:none;filter:none}}@keyframes copy-open{to{clip-path:inset(0)}}@keyframes logo-enter{from{opacity:0;transform:scale(.3) rotate(-180deg)}to{opacity:1;transform:none}}@keyframes person-float{50%{translate:0 -12px}}@keyframes ticker{to{transform:translateX(-100%)}}@keyframes node-float{50%{margin-top:-12px}}@keyframes card-open{from{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1}} 
@media(max-width:900px){.cf-hero{min-height:780px}.hero-copy{top:15%;width:90%}.hero-copy h1{font-size:clamp(58px,11vw,90px)}.living-logo{right:-10%;bottom:12%;width:55vw;opacity:.85}.cf-about{padding-bottom:650px}.character-card{top:auto;bottom:100px;right:8%;width:84%}.cf-ecosystem{min-height:1100px}.cf-business-grid{gap:30px}.heart{width:210px;right:5%}.explore-cards>a{min-height:470px}.cf-footer>img{width:58%;opacity:.9}}
@media(max-width:640px){.cf-header{padding:18px}.cf-brand>span{display:none}.cf-brand>b{width:40px}.cf-menu{padding:10px 15px}.cf-hero{height:780px}.cf-hero:before{background:linear-gradient(180deg,#050505bb,#05050544 55%,#050505e8)}.hero-photo{object-position:58% center}.hero-copy{left:20px;right:20px;top:115px;width:auto}.hero-copy h1{font-size:54px;line-height:1.02}.hero-copy h1 span:nth-child(2){margin-left:10%}.hero-copy h1 em{margin-left:34%}.hero-copy p{position:absolute;top:455px;font-size:11px}.hero-copy>small{position:absolute;top:530px;font-size:7px}.living-logo{width:245px;right:-45px;bottom:155px}.hero-scroll{display:none}.hero-ticker{font-size:21px}.cf-about{min-height:1050px;padding:70px 20px 520px}.about-copy h2{font-size:54px}.about-copy h2 strong{font-size:50px;text-shadow:5px 6px var(--cf-ink)}.about-copy p{margin-top:45px;font-size:12px}.character-card{bottom:90px;right:7%;width:86%;border-radius:35px}.character-card>a{width:78px}.cf-ecosystem{min-height:900px;padding:70px 20px}.cf-ecosystem h2{font-size:58px}.big-number{font-size:170px;right:-5%}.network{width:110vw;margin-left:-10vw}.network i{width:67px;font-size:8px}.ecosystem-foot{position:absolute!important;bottom:30px}.cf-directory{padding:55px 16px 90px}.cf-search{grid-template-columns:auto 1fr;padding:10px;border-radius:35px;box-shadow:6px 7px var(--cf-ink)}.cf-search>b{width:42px}.cf-search label{font-size:11px}.cf-search button{grid-column:1/-1;padding:13px}.category-chips{justify-content:flex-start;flex-wrap:nowrap;overflow:auto;padding-bottom:8px}.category-chips button{min-width:110px}.directory-heading{margin:60px 0 35px}.directory-heading h2{font-size:40px}.cf-business-grid{grid-template-columns:1fr;gap:30px}.cf-business{height:350px}.cf-business>a{padding-top:225px}.cf-business img{height:205px}.cf-business h3{font-size:28px}.more-businesses{padding:32px 24px}.more-businesses b{font-size:35px}.more-businesses i{width:75px;right:5%}.cf-philosophy{min-height:750px;padding:70px 20px}.cf-philosophy h2{font-size:52px}.heart{width:170px;right:-20px;top:50%;font-size:60px}.cf-philosophy>a{right:20px}.cf-explore{padding:65px 20px 100px}.cf-explore h2{font-size:48px}.explore-cards{grid-template-columns:1fr}.explore-cards>a,.explore-cards>a:nth-child(2),.explore-cards>a:nth-child(3){min-height:350px;transform:rotate(-2deg)}.explore-cards b{margin-top:45px}.explore-cards em{font-size:150px}.cf-news{grid-template-columns:1fr;padding:70px 20px 110px}.news-arrow{bottom:25px}.cf-footer{min-height:760px;padding:65px 20px}.cf-footer>img{top:270px;right:0;width:100%;height:380px}.cf-footer nav{bottom:55px;left:20px;right:20px;flex-wrap:wrap}.cf-footer>small{bottom:20px}.cf-footer h2{font-size:48px}}
@media(prefers-reduced-motion:reduce){.colorful-home *{animation:none!important;transition:none!important}.cf-reveal{opacity:1;transform:none}}
.colorful-home .heart{clip-path:polygon(50% 18%,61% 4%,78% 0,94% 11%,100% 29%,98% 48%,86% 66%,50% 100%,14% 66%,2% 48%,0 29%,6% 11%,22% 0,39% 4%)}

/* MV corrections: preserve full Japanese glyph bounds and use the real logo. */
.colorful-home .hero-copy h1{line-height:1.06}.colorful-home .hero-copy h1 span,.colorful-home .hero-copy h1 em{clip-path:none;opacity:0;animation:hero-text-rise .85s cubic-bezier(.16,1,.3,1) forwards}.colorful-home .hero-copy h1 span:nth-child(2){animation-delay:.14s}.colorful-home .hero-copy h1 span:nth-child(3){animation-delay:.28s}.colorful-home .hero-copy h1 em{animation-name:hero-text-rise-tilt;animation-delay:.42s}.colorful-home .living-logo{display:grid;place-items:center;border:1px dashed #fff6;background:rgba(255,255,255,.8);border-radius:50%;padding:8%;box-shadow:0 0 0 18px #ffffff0d}.colorful-home .living-logo:before,.colorful-home .living-logo>b,.colorful-home .living-logo>.pm{display:none}.colorful-home .living-logo img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;animation:real-logo-breathe 5s ease-in-out infinite}.colorful-home .living-logo:after{content:"";position:absolute;inset:-7%;border:1px dashed #fff5;border-radius:50%;animation:real-logo-orbit 18s linear infinite}
@keyframes hero-text-rise{from{opacity:0;transform:translateY(.55em)}to{opacity:1;transform:translateY(0)}}@keyframes hero-text-rise-tilt{from{opacity:0;transform:translateY(.55em) rotate(-5deg)}to{opacity:1;transform:translateY(0) rotate(-5deg)}}@keyframes real-logo-breathe{0%,100%{transform:scale(.96) rotate(-2deg)}50%{transform:scale(1.035) rotate(2deg)}}@keyframes real-logo-orbit{to{transform:rotate(360deg)}}
@media(max-width:640px){.colorful-home .hero-copy h1{line-height:1.08}.colorful-home .living-logo{padding:10%;box-shadow:0 0 0 10px #ffffff0d}}

/* Interactive business finder in the hero logo. */
.colorful-home .cf-hero{z-index:2;overflow:visible}.colorful-home .hero-ticker{z-index:20;bottom:0;transform:translateY(58%) rotate(-1deg);box-shadow:0 7px 0 #201513}.colorful-home .hero-ticker span{padding:.3em 0}.colorful-home .cf-about{z-index:1;padding-top:185px}.colorful-home .living-logo{overflow:hidden;transition:transform .45s cubic-bezier(.16,1,.3,1),background .35s}.colorful-home .living-logo:hover,.colorful-home .living-logo:focus-within{transform:scale(1.025);background:var(--cf-yellow)}.colorful-home .living-logo:hover img,.colorful-home .living-logo:focus-within img{opacity:.07;transform:scale(1.08) rotate(7deg);filter:blur(2px)}.colorful-home .logo-finder{position:absolute;z-index:5;inset:13%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto auto;gap:12px;align-content:center;align-items:center;opacity:0;transform:scale(.84) rotate(-6deg);transition:.4s cubic-bezier(.16,1,.3,1);pointer-events:none}.colorful-home .living-logo:hover .logo-finder,.colorful-home .living-logo:focus-within .logo-finder{opacity:1;transform:none;pointer-events:auto}.colorful-home .logo-finder strong{grid-column:1/-1;padding:0 0 12px;text-align:center;font-size:clamp(25px,3vw,46px);line-height:1.02;color:var(--cf-ink)}.colorful-home .logo-finder a{display:grid;place-items:center;min-height:42px;border:2px solid var(--cf-ink);border-radius:40px;background:#fff;color:var(--cf-ink);font-size:clamp(9px,.75vw,12px);font-weight:900;transition:.2s}.colorful-home .logo-finder a:first-of-type{grid-column:1/-1;background:var(--cf-ink);color:#fff}.colorful-home .logo-finder a:hover,.colorful-home .logo-finder a:focus{background:var(--cf-red);color:#fff;transform:translateY(-3px)}
@media(max-width:640px){.colorful-home .cf-hero{height:900px;min-height:900px}.colorful-home .hero-photo{object-position:51% center}.colorful-home .hero-copy{left:20px;right:16px;top:auto;bottom:290px;width:auto;text-align:left}.colorful-home .hero-copy h1{font-size:clamp(58px,17vw,76px);line-height:.96}.colorful-home .hero-copy h1 span,.colorful-home .hero-copy h1 span:nth-child(2),.colorful-home .hero-copy h1 span:nth-child(3),.colorful-home .hero-copy h1 em{width:auto;margin-left:0}.colorful-home .hero-copy h1 em{margin-top:.06em;font-size:.6em}.colorful-home .hero-copy p{position:static;margin:30px 0 0;max-width:390px;font-size:14px;line-height:1.85;text-align:left}.colorful-home .hero-copy>small{position:static;display:block;margin-top:16px;font-size:8px;line-height:1.5;text-align:left}.colorful-home .living-logo{right:14px;bottom:52px;width:220px;overflow:visible;opacity:1}.colorful-home .hero-ticker{transform:translateY(56%) rotate(-1deg)}.colorful-home .hero-ticker span{padding:.36em 0}.colorful-home .cf-about{padding-top:130px}.colorful-home .logo-finder{display:none}}
.colorful-home .living-logo:focus{transform:scale(1.045);background:var(--cf-yellow);outline:4px solid #fff;outline-offset:5px}.colorful-home .living-logo:focus img{opacity:.08;transform:scale(1.3) rotate(12deg);filter:blur(3px)}.colorful-home .living-logo:focus .logo-finder{opacity:1;transform:none;pointer-events:auto}
.colorful-home .living-logo{overflow:visible}.colorful-home .logo-idle-copy{position:absolute;z-index:6;inset:0;pointer-events:none;transition:opacity .25s,transform .35s cubic-bezier(.16,1,.3,1)}.colorful-home .logo-idle-copy b,.colorful-home .logo-idle-copy em{position:absolute;display:block;width:max-content;font-style:normal;font-weight:900;line-height:1;letter-spacing:.04em;box-shadow:5px 6px 0 #201513;white-space:nowrap}.colorful-home .logo-idle-copy b{inset:4% auto auto -9%;padding:12px 20px;border:3px solid #201513;border-radius:999px;background:var(--cf-yellow);color:#201513;font-size:clamp(12px,1.1vw,18px);transform:rotate(-8deg)}.colorful-home .logo-idle-copy em{inset:auto 5% -5% auto;padding:14px 22px;border:3px solid #fff;border-radius:999px;background:#201513;color:#fff;font-size:clamp(12px,1.15vw,19px);transform:rotate(6deg)}.colorful-home .living-logo:hover .logo-idle-copy,.colorful-home .living-logo:focus .logo-idle-copy,.colorful-home .living-logo:focus-within .logo-idle-copy{opacity:0;transform:scale(.8) rotate(8deg)}
@media(max-width:640px){.colorful-home .living-logo{overflow:visible}.colorful-home .logo-idle-copy b{top:3%;left:-12%;padding:7px 10px;border-width:2px;font-size:9px;box-shadow:3px 4px 0 #201513}.colorful-home .logo-idle-copy em{right:7%;bottom:-6%;padding:8px 11px;border-width:2px;font-size:9px;box-shadow:3px 4px 0 #201513}.colorful-home .logo-finder{display:grid;inset:12%;grid-template-columns:repeat(2,1fr);grid-template-rows:auto auto auto;gap:4px;align-content:center}.colorful-home .logo-finder strong{padding-bottom:3px;font-size:19px}.colorful-home .logo-finder a{min-height:26px;font-size:8px}.colorful-home .logo-finder a:first-of-type{grid-column:1/-1}}

/* WHO WE ARE / heart and imagination */
.colorful-home .cf-about{min-height:1120px;overflow:hidden}.colorful-home .about-copy{position:relative;z-index:3;width:62%}.colorful-home .about-copy h2{font-size:clamp(72px,8.7vw,138px);font-weight:900;line-height:.94;letter-spacing:-.085em}.colorful-home .about-copy h2 span,.colorful-home .about-copy h2 strong{font-weight:900}.colorful-home .about-copy h2 strong{margin-top:24px}.colorful-home .about-lead{margin-top:55px;max-width:760px;font-size:clamp(14px,1.15vw,19px);font-weight:700;line-height:2}.power-orders{display:flex;gap:clamp(12px,1.6vw,28px);margin-top:45px}.power-orders>div{position:relative;display:grid;grid-template-rows:1fr 1fr;align-items:center;width:clamp(175px,14.2vw,245px);aspect-ratio:1;padding:12% 6% 8%;border-radius:50%;background:var(--cf-red);color:#fff;text-align:center;transform:rotate(-4deg);box-shadow:7px 9px 0 var(--cf-ink);transition:.35s cubic-bezier(.16,1,.3,1)}.power-orders>div:nth-child(2){transform:rotate(3deg) translateY(12px)}.power-orders>div:nth-child(3){transform:rotate(-2deg)}.power-orders>div:hover{transform:translateY(-12px) rotate(0)}.power-orders>div:after{content:"";position:absolute;left:7%;right:7%;top:52%;height:4px;background:#fff;transform:rotate(-11deg)}.power-orders small{align-self:center;font-size:clamp(21px,1.65vw,30px);font-weight:900;line-height:.95}.power-orders b{align-self:center;font-size:clamp(30px,2.55vw,45px);font-weight:900;line-height:.9;white-space:nowrap}.about-character-orbit{position:absolute;z-index:2;right:-5%;top:14%;width:48%;aspect-ratio:1.2;display:grid;place-items:center;border-radius:48% 52% 45% 55%;background:#fff;box-shadow:15px 20px 0 var(--cf-ink);transform:rotate(4deg);transition:.5s cubic-bezier(.16,1,.3,1)}.about-character-orbit:before,.about-character-orbit:after{content:"";position:absolute;border:2px solid var(--cf-red);border-radius:50%;animation:real-logo-orbit 16s linear infinite}.about-character-orbit:before{inset:-8%}.about-character-orbit:after{inset:-15%;border-style:dashed;animation-direction:reverse}.about-character-orbit:hover{transform:rotate(-2deg) scale(1.025)}.about-character-orbit img{width:88%;height:auto;filter:drop-shadow(0 15px 16px #20151322)}.about-character-orbit span{position:absolute;left:8%;top:8%;font-size:9px;font-weight:900;letter-spacing:.28em;color:var(--cf-red)}
@media(max-width:900px){.colorful-home .cf-about{min-height:1320px}.colorful-home .about-copy{width:100%}.about-character-orbit{top:auto;right:-8%;bottom:85px;width:70%}}
@media(max-width:640px){.colorful-home .cf-about{min-height:1320px;padding:100px 16px 500px}.colorful-home .about-copy h2{font-size:clamp(58px,18vw,78px);font-weight:900;line-height:.92}.colorful-home .about-copy h2 strong{margin-top:18px}.colorful-home .about-lead{margin-top:40px;font-size:13px;line-height:1.9}.colorful-home .about-lead br:nth-child(4){display:none}.power-orders{gap:7px;margin-top:36px}.power-orders>div{width:calc((100vw - 46px)/3);padding:12% 3% 8%;box-shadow:4px 6px 0 var(--cf-ink)}.power-orders small{font-size:clamp(14px,4vw,18px);line-height:.92}.power-orders b{font-size:clamp(20px,5.6vw,25px);line-height:.9}.power-orders>div:after{left:6%;right:6%;height:3px}.about-character-orbit{right:-12%;bottom:100px;width:105%;box-shadow:9px 12px 0 var(--cf-ink)}}

.colorful-home .about-copy h2 span,.colorful-home .about-copy h2 strong{position:relative;isolation:isolate;width:max-content;max-width:100%;color:var(--cf-ink);-webkit-text-stroke:0;text-shadow:none}.colorful-home .about-copy h2 span:after,.colorful-home .about-copy h2 strong:after{content:"";position:absolute;z-index:-1;left:-.08em;right:-.1em;bottom:.08em;height:.24em;background:#fff;transform:rotate(-1.5deg);box-shadow:.06em .07em 0 var(--cf-red)}.colorful-home .about-copy h2 strong:after{transform:rotate(1deg);background:#fff}

/* TOP MESSAGE teaser */
.cf-message-teaser{position:relative;min-height:920px;padding:105px 7% 115px;overflow:hidden;background:var(--cf-ink);color:#fff}.cf-message-teaser:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 20%,#e52620 0 2px,transparent 3px);background-size:25px 25px;opacity:.35}.message-copy{position:relative;z-index:2;max-width:1050px}.cf-message-teaser .section-label{color:var(--cf-yellow)}.cf-message-teaser h2{margin-top:65px;font-size:clamp(58px,7.7vw,124px);font-weight:900;line-height:.98;letter-spacing:-.07em}.cf-message-teaser h2 em{display:inline-block;padding:0 .08em .05em;color:var(--cf-yellow);font-style:normal;transform:rotate(-2deg);border-bottom:.12em solid var(--cf-red)}.cf-message-teaser p{margin-top:55px;font-size:clamp(14px,1.2vw,19px);font-weight:700;line-height:2}.message-cta{display:flex;align-items:center;justify-content:space-between;width:min(440px,100%);margin-top:50px;padding:12px 14px 12px 30px;border:2px solid #fff;border-radius:70px;background:#fff;color:var(--cf-ink);font-weight:900;transition:.3s}.message-cta b{display:grid;place-items:center;width:58px;aspect-ratio:1;border-radius:50%;background:var(--cf-yellow);font-size:25px;transition:.3s}.message-cta:hover{background:var(--cf-yellow);transform:translateY(-6px)}.message-cta:hover b{background:var(--cf-red);color:#fff;transform:rotate(45deg)}.message-number{position:absolute;right:-.04em;top:-.18em;color:#ffffff0a;font-size:clamp(150px,24vw,390px);font-weight:900;line-height:1;letter-spacing:-.08em;writing-mode:vertical-rl}.message-stamp{position:absolute;z-index:2;right:7%;top:50%;display:grid;place-items:center;width:clamp(260px,28vw,470px);aspect-ratio:1;border:3px solid var(--cf-yellow);border-radius:50%;color:var(--cf-yellow);text-align:center;transform:translateY(-50%) rotate(8deg);animation:person-float 5s ease-in-out infinite}.message-stamp:before{content:"";position:absolute;inset:7%;border:2px dashed #fff5;border-radius:50%}.message-stamp span{font-size:clamp(42px,5vw,84px);font-weight:900;line-height:.78;letter-spacing:-.06em}.message-stamp i{position:absolute;bottom:17%;font-size:11px;font-style:normal;letter-spacing:.3em}.message-stamp~*{position:relative}
@media(max-width:1100px){.message-copy{max-width:65%}.message-stamp{right:-8%}}
@media(max-width:640px){.cf-message-teaser{min-height:980px;padding:85px 20px 90px}.message-copy{max-width:none}.cf-message-teaser h2{margin-top:48px;font-size:clamp(47px,14vw,62px);line-height:1.02}.cf-message-teaser p{margin-top:42px;font-size:13px;line-height:1.85}.cf-message-teaser p br:nth-child(3),.cf-message-teaser p br:nth-child(5){display:none}.message-cta{margin-top:38px}.message-stamp{right:-45px;top:auto;bottom:35px;width:235px;transform:rotate(8deg)}.message-stamp span{font-size:45px}.message-number{font-size:180px}}

/* exact circles and TOP MESSAGE portrait */
.power-orders>div{flex:0 0 clamp(175px,14.2vw,245px);width:clamp(175px,14.2vw,245px);height:clamp(175px,14.2vw,245px);aspect-ratio:auto;padding:0 6%;box-sizing:border-box}.power-orders small,.power-orders b{position:relative;z-index:1}.message-copy{max-width:62%}.message-visual{position:absolute;z-index:2;right:2%;bottom:0;width:min(38vw,590px);height:94%;pointer-events:none}.message-visual:before{content:"";position:absolute;right:3%;bottom:5%;width:82%;aspect-ratio:1;border-radius:50%;background:var(--cf-yellow);filter:none}.message-visual img{position:absolute;z-index:2;right:0;bottom:0;width:auto;height:100%;object-fit:contain;object-position:right bottom;filter:drop-shadow(-18px 15px 0 #e52620)}.message-visual span{position:absolute;z-index:3;right:4%;top:12%;padding:8px 18px;background:#fff;color:var(--cf-ink);font-size:12px;font-weight:900;letter-spacing:.25em;transform:rotate(4deg)}.message-cta,.message-cta:link,.message-cta:visited{color:var(--cf-ink)!important}.message-cta span{display:block!important;color:var(--cf-ink)!important;opacity:1!important;visibility:visible!important}.message-cta:hover span{color:var(--cf-ink)!important}
@media(max-width:1100px){.message-copy{max-width:68%}.message-visual{right:-5%;width:42vw;opacity:.88}}
@media(max-width:640px){.power-orders>div{flex-basis:calc((100vw - 46px)/3);width:calc((100vw - 46px)/3);height:calc((100vw - 46px)/3);padding:0 3%}.cf-message-teaser{min-height:1180px;padding-bottom:390px}.message-copy{max-width:none}.message-visual{right:-4%;bottom:0;width:75vw;height:390px;opacity:1}.message-visual:before{width:75%}.message-visual span{top:15%;font-size:8px}.message-visual img{height:100%}}

.power-orders>div{grid-template-rows:1fr 1fr;padding:8% 9% 7%}.power-orders small{font-size:clamp(16px,1.35vw,24px);line-height:1;letter-spacing:-.06em;white-space:nowrap}.power-orders b{max-width:100%;font-size:clamp(25px,2.15vw,38px);line-height:1;letter-spacing:-.09em;white-space:nowrap}.power-orders>div:after{top:50%}
@media(max-width:640px){.power-orders>div{padding:7% 7% 6%}.power-orders small{font-size:clamp(10px,3.25vw,15px);letter-spacing:-.09em}.power-orders b{font-size:clamp(16px,4.8vw,22px);letter-spacing:-.12em}}

.power-orders>div{padding:9% 9% 8%}.power-orders small{align-self:center;transform:translateY(-22%);font-size:clamp(17px,1.45vw,25px);line-height:1.1;letter-spacing:-.025em}.power-orders b{align-self:center;transform:translateY(18%);font-size:clamp(27px,2.2vw,39px);line-height:1.05;letter-spacing:-.045em}.power-orders>div:after{top:50%;left:10%;right:10%;height:3px;transform:rotate(-3deg)}
@media(max-width:640px){.power-orders small{transform:translateY(-18%);font-size:clamp(10px,3.35vw,15px);letter-spacing:-.04em}.power-orders b{transform:translateY(15%);font-size:clamp(16px,4.75vw,22px);letter-spacing:-.06em}.power-orders>div:after{height:2px;transform:rotate(-2deg)}}

.power-orders>div,.power-orders>div:nth-child(2),.power-orders>div:nth-child(3){transform:none}.power-orders>div:after{left:10%;right:10%;transform:none}.power-orders small,.power-orders b{justify-self:center;width:100%;text-align:center}.power-orders>div:hover{transform:translateY(-10px)}
@media(max-width:640px){.power-orders>div:after{transform:none}}

.power-orders small,.power-orders b{position:absolute;z-index:2;left:50%;width:82%;margin:0;justify-self:auto;align-self:auto;transform:translate(-50%,-50%);text-align:center}.power-orders small{top:31%}.power-orders b{top:70%}.power-orders>div:after{top:50%}
@media(max-width:640px){.power-orders small,.power-orders b{transform:translate(-50%,-50%)}.power-orders small{top:30%}.power-orders b{top:70%}}

.cf-message-teaser .message-copy{z-index:6}.cf-message-teaser .message-visual{z-index:3}.cf-message-teaser .message-copy h2,.cf-message-teaser .message-copy p,.cf-message-teaser .message-cta{position:relative;z-index:7}
@media(max-width:640px){.cf-message-teaser{padding-bottom:340px}.message-visual{left:50%;right:auto;bottom:0;width:100%;height:330px;overflow:hidden;transform:translateX(-50%)}.message-visual:before{left:50%;right:auto;bottom:-18%;width:290px;transform:translateX(-50%)}.message-visual img{left:50%;right:auto;bottom:-140px;width:auto;height:430px;max-width:none;transform:translateX(-50%);object-position:center top}.message-visual span{right:50%;top:12%;transform:translateX(50%) rotate(3deg);white-space:nowrap}}

.cf-message-teaser .message-copy{max-width:92%}.cf-message-teaser h2 span{display:block;width:max-content;max-width:none;white-space:nowrap}.cf-message-teaser h2 span:nth-child(2){font-weight:900}.cf-message-teaser h2 span:nth-child(3){margin-top:.04em}.cf-message-teaser .message-copy>p{max-width:760px}
@media(max-width:640px){.cf-message-teaser h2{font-size:clamp(35px,10.2vw,46px);letter-spacing:-.075em}.cf-message-teaser h2 span{white-space:nowrap}.cf-message-teaser .message-copy{max-width:100%}}

@media(max-width:640px){.cf-message-teaser{min-height:auto;padding-bottom:0}.cf-message-teaser .message-cta{margin-bottom:0}.cf-message-teaser .message-visual{position:relative;left:auto;right:auto;bottom:auto;width:100%;height:520px;margin:-8px auto 0;overflow:visible;transform:none}.cf-message-teaser .message-visual:before{left:50%;right:auto;bottom:4%;width:310px;transform:translateX(-50%)}.cf-message-teaser .message-visual img{left:50%;right:auto;bottom:0;width:auto;height:100%;max-width:100%;transform:translateX(-50%);object-fit:contain;object-position:center bottom}.cf-message-teaser .message-visual span{right:50%;top:13%;transform:translateX(50%) rotate(3deg)}}

/* TOP MESSAGE: portrait swap */
.cf-message-teaser .message-visual-swap{
  right:-2%;
  width:min(58vw,920px);
  pointer-events:auto;
  cursor:pointer;
  isolation:isolate;
}
.cf-message-teaser .message-visual-swap .message-person-default{
  right:-3%;
}
.cf-message-teaser .message-visual-swap .message-person-hover{
  right:7%;
}
.cf-message-teaser .message-visual-swap .message-person{pointer-events:none}
.cf-message-teaser .message-copy h2{
  width:55%;
  min-width:650px;
}
@media(min-width:641px) and (max-width:1100px){
  .cf-message-teaser .message-copy h2{
    width:60%;
    min-width:0;
    font-size:clamp(54px,7.2vw,80px);
  }
}
.cf-message-teaser .message-visual-swap:before{
  transition:opacity .4s ease,background-color .45s ease,transform .55s cubic-bezier(.2,.8,.2,1);
}
.cf-message-teaser .message-visual-swap .message-person{
  transition:opacity .42s ease,transform .58s cubic-bezier(.16,1,.3,1),filter .5s ease;
  will-change:opacity,transform,filter;
}
.cf-message-teaser:not(.is-visible) .message-visual-swap .message-person-default{
  opacity:0;
  transform:translate(22%,14%) scale(.72) rotate(8deg);
}
.cf-message-teaser:not(.is-visible) .message-visual-swap:before{
  opacity:0;
  transform:scale(.25) rotate(-25deg);
}
.cf-message-teaser.is-visible .message-visual-swap:before{
  opacity:1;
  transform:none;
  transition-delay:.08s;
}
.cf-message-teaser.is-visible .message-visual-swap .message-person-default{
  opacity:1;
  transform:none;
  transition-delay:.22s;
}
.cf-message-teaser .message-visual-swap .message-person-default{
  z-index:2;
  filter:drop-shadow(-18px 15px 0 #e52620) drop-shadow(12px -7px 0 #ffbd00);
}
.cf-message-teaser .message-visual-swap .message-person-hover{
  z-index:3;
  opacity:0;
  height:92%;
  right:1%;
  transform:translate(-2%,5%) scale(.88) rotate(2deg);
  filter:drop-shadow(-16px 14px 0 #1397d4) drop-shadow(11px -7px 0 #e52620);
}
@media(hover:hover){
  .cf-message-teaser .message-visual-swap:hover:before{
    background:#ffbd00;
    transform:scale(1.06) rotate(-4deg);
  }
  .cf-message-teaser .message-visual-swap:hover .message-person-default{
    opacity:0;
    transform:translateX(-4%) scale(.94) rotate(-2deg);
    transition-delay:0s;
  }
  .cf-message-teaser .message-visual-swap:hover .message-person-hover{
    opacity:1;
    transform:translate(-2%,0) scale(1) rotate(0);
  }
  .cf-message-teaser .message-visual-swap:hover span{
    transform:rotate(-3deg) scale(1.08);
  }
}
@media(max-width:640px){
  .cf-message-teaser .message-visual-swap{
    right:auto;
    width:100%;
  }
  .cf-message-teaser .message-copy h2{
    width:100%;
    min-width:0;
  }
  .cf-message-teaser .message-visual-swap .message-person-default{
    height:100%;
    transform:translateX(-50%);
  }
  .cf-message-teaser:not(.is-visible) .message-visual-swap .message-person-default{
    transform:translate(-35%,14%) scale(.72) rotate(8deg);
  }
  .cf-message-teaser.is-visible .message-visual-swap .message-person-default{
    transform:translateX(-50%);
  }
  .cf-message-teaser .message-visual-swap .message-person-hover{
    left:50%;
    right:auto;
    bottom:0;
    width:auto;
    height:94%;
    max-width:100%;
    transform:translateX(-50%) scale(.92);
  }
}

/* 2026-07-29: smooth mobile orbit and keep 16:9 banner frames fully visible */
.colorful-home .network i{
  transition:opacity .12s linear,filter .12s linear;
}
.banner-viewport{
  padding:10px 0 28px;
}
.banner-track{
  padding-bottom:4px;
}
.external-banner{
  box-sizing:border-box;
}
@media(max-width:640px){
  .colorful-home .network{
    touch-action:pan-y;
    cursor:grab;
  }
  .colorful-home .network.is-dragging{cursor:grabbing}
  .colorful-home .network i{
    transition:opacity .1s linear,filter .1s linear;
  }
  .banner-viewport{
    padding-top:8px;
    padding-bottom:22px;
  }
}

/* TOP MESSAGE alternative: rub the magic lamp ten times. */
.cf-message-teaser-alt{background:#241448}
.cf-message-teaser-alt:before{background:radial-gradient(circle at 78% 20%,#ffbd00 0 2px,transparent 3px);background-size:25px 25px;opacity:.26}
.magic-lamp-stage{display:grid;place-items:center;pointer-events:auto;overflow:visible}
.magic-lamp-stage:before{background:#712989;box-shadow:0 0 0 18px #0c94d226,0 0 80px #ffbd0066}
.magic-lamp{position:relative;z-index:4;width:88%;border:0;background:transparent;cursor:default;touch-action:auto;user-select:none;opacity:0;transform:translateY(90px) scale(.35) rotate(-18deg);filter:drop-shadow(-16px 18px 0 #0c94d2);transition:opacity .6s,transform .9s cubic-bezier(.16,1,.3,1),filter .4s}
.cf-message-teaser-alt.is-visible .magic-lamp{opacity:1;transform:none}
.magic-rub-zone{
  position:absolute;
  z-index:30;
  left:34%;
  top:34%;
  width:34%;
  height:30%;
  border:2px dashed #fff9;
  border-radius:50%;
  background:#ffbd0012;
  cursor:grab;
  touch-action:none;
  transition:background .25s,border-color .25s,transform .25s;
}
.magic-rub-zone:after{
  content:"ここをこする";
  position:absolute;
  left:50%;
  top:50%;
  width:max-content;
  padding:6px 10px;
  border-radius:99px;
  background:#201513cc;
  color:#fff;
  font-style:normal;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  transform:translate(-50%,-50%);
}
.magic-rub-zone:hover{border-color:#fff;background:#ffbd0030;transform:scale(1.04)}
.magic-rub-zone:active{cursor:grabbing}
.magic-lamp svg{display:block;width:100%;height:auto;overflow:visible}
.lamp-body,.lamp-neck,.lamp-spout,.lamp-handle,.lamp-foot{fill:#ffbd00;stroke:#201513;stroke-width:12;stroke-linejoin:round}
.lamp-glow{fill:#fff2a8;stroke:#e52620;stroke-width:20;opacity:.9}
.lamp-gem{fill:#e52620;stroke:#201513;stroke-width:10}
.magic-lamp>span{position:absolute;left:50%;right:auto;top:auto;bottom:5%;width:max-content;height:auto;padding:9px 16px;border:3px solid #201513;border-radius:99px;background:#fff;color:#201513;font-size:12px;font-weight:900;line-height:1;transform:translateX(-50%) rotate(-3deg);box-shadow:5px 6px 0 #e52620}
.magic-progress{position:absolute;z-index:5;left:5%;right:auto;top:8%;bottom:auto;display:flex;align-items:baseline;gap:7px;padding:12px 18px;border:2px solid #fff;border-radius:99px;background:#201513cc;color:#fff;font-weight:900;letter-spacing:.08em;box-shadow:5px 6px 0 #0c94d2}
.magic-progress small{font-size:10px}
.magic-progress b{font-size:clamp(42px,5vw,74px);color:#ffbd00;line-height:1}
.magic-progress span{
  position:static;
  inset:auto;
  width:auto;
  height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  font-size:18px;
  line-height:1;
  letter-spacing:inherit;
  box-shadow:none;
  transform:none;
}
.magic-smoke{
  position:absolute;
  z-index:8;
  left:50%;
  top:43%;
  width:32%;
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle at 34% 36%,#fff 0 7%,#d9f8ffcc 8% 19%,transparent 42%),
    radial-gradient(circle at 68% 57%,#0c94d2dd 0 18%,transparent 49%),
    radial-gradient(circle at 42% 72%,#712989dd 0 20%,transparent 52%);
  opacity:0;
  filter:blur(7px);
  transform:translate(-50%,-50%) scale(.2);
  pointer-events:none;
}
.magic-smoke:before,.magic-smoke:after{
  content:"";
  position:absolute;
  inset:8%;
  border-radius:50%;
  background:
    radial-gradient(circle at 20% 50%,#fff 0 9%,#0c94d2aa 10% 27%,transparent 29%),
    radial-gradient(circle at 75% 28%,#fff8 0 8%,#712989bb 9% 25%,transparent 27%),
    radial-gradient(circle at 63% 78%,#0c94d2cc 0 22%,transparent 25%);
  filter:blur(5px);
}
.magic-smoke:after{inset:-18%;rotate:35deg;scale:.82;opacity:.78}
.magic-after-person{z-index:6!important;left:auto!important;right:5%!important;bottom:0!important;width:auto!important;height:94%!important;max-width:100%!important;opacity:0;transform:translateY(18%) scale(.55) rotate(8deg)!important;filter:drop-shadow(-18px 15px 0 #e52620) drop-shadow(12px -7px 0 #ffbd00)!important;pointer-events:none}
.magic-lamp-stage.is-rubbing .magic-lamp{animation:magic-rub .16s linear infinite alternate;filter:drop-shadow(-20px 18px 0 #e52620) drop-shadow(14px -8px 0 #0c94d2)}
.magic-lamp-stage.is-magic-revealed .magic-lamp,.magic-lamp-stage.is-magic-revealed .magic-progress{opacity:0;transform:scale(.3) rotate(20deg);pointer-events:none}
.magic-lamp-stage.is-magic-revealed .magic-smoke{animation:magic-smoke-pop 1.9s cubic-bezier(.16,1,.3,1) both}
.magic-lamp-stage.is-magic-revealed .magic-smoke:before{animation:magic-smoke-drift 1.65s .08s ease-out both}
.magic-lamp-stage.is-magic-revealed .magic-smoke:after{animation:magic-smoke-drift 1.8s .18s ease-out reverse both}
.magic-lamp-stage.is-magic-revealed .magic-after-person{opacity:1;transform:none!important;transition:opacity .55s .8s,transform 1s .7s cubic-bezier(.16,1,.3,1),filter .6s}
@keyframes magic-rub{from{translate:-8px 0;rotate:-2deg}to{translate:8px 0;rotate:2deg}}
@keyframes magic-smoke-pop{0%{opacity:0;transform:translate(-50%,-35%) scale(.15)}22%{opacity:.95;transform:translate(-50%,-48%) scale(1.7) rotate(8deg)}58%{opacity:.92;transform:translate(-50%,-72%) scale(4.2) rotate(42deg)}100%{opacity:0;transform:translate(-50%,-110%) scale(6.2) rotate(95deg)}}
@keyframes magic-smoke-drift{0%{opacity:0;translate:0 18%;scale:.35}35%{opacity:1}100%{opacity:0;translate:0 -85%;scale:2.7;rotate:80deg}}
@keyframes magic-bubble-in{from{opacity:0;transform:translate(-45px,35px) scale(.78) rotate(-4deg)}to{opacity:1;transform:rotate(-1deg)}}
@media(max-width:640px){
  .cf-message-teaser-alt .magic-lamp-stage{height:440px}
  .magic-lamp{width:105%}
  .magic-lamp>span{font-size:10px}
  .magic-progress{right:3%;bottom:4%}
  .magic-after-person{left:50%!important;right:auto!important;height:96%!important;transform:translate(-50%,18%) scale(.55) rotate(8deg)!important}
  .magic-lamp-stage.is-magic-revealed .magic-after-person{transform:translateX(-50%)!important}
}

/* Lamp-first composition: reveal the photograph and copy as a speech bubble. */
.cf-message-teaser-alt{min-height:920px}
.cf-message-teaser-alt .message-copy{
  display:none;
  position:absolute;
  z-index:9;
  left:5%;
  top:15%;
  width:min(53%,760px);
  max-width:none;
  padding:42px 46px;
  border:5px solid #201513;
  border-radius:52px;
  background:#fff;
  color:#201513;
  box-shadow:13px 15px 0 #ffbd00;
  opacity:0;
  visibility:hidden;
  transform:translate(-45px,35px) scale(.78) rotate(-4deg);
  transition:opacity .55s .45s,transform .85s .38s cubic-bezier(.16,1,.3,1),visibility 0s .4s;
}
.cf-message-teaser-alt .message-copy:after{
  content:"";
  position:absolute;
  z-index:1;
  right:-91px;
  bottom:20%;
  width:0;
  height:0;
  border-top:48px solid transparent;
  border-bottom:48px solid transparent;
  border-left:92px solid #201513;
  transform:rotate(-4deg);
  transform-origin:left center;
}
.cf-message-teaser-alt .message-copy:before{
  content:"";
  position:absolute;
  z-index:2;
  right:-78px;
  bottom:calc(20% + 8px);
  width:0;
  height:0;
  border-top:40px solid transparent;
  border-bottom:40px solid transparent;
  border-left:80px solid #fff;
  transform:rotate(-4deg);
  transform-origin:left center;
}
.cf-message-teaser-alt .message-copy .section-label{color:#712989}
.cf-message-teaser-alt .message-copy h2{
  width:auto;
  min-width:0;
  margin:22px 0 25px;
  font-size:clamp(48px,5.4vw,86px);
  line-height:.92;
}
.cf-message-teaser-alt .message-copy>p{margin:0;font-size:clamp(13px,1vw,16px);line-height:1.85}
.cf-message-teaser-alt .magic-message-quote{
  margin-bottom:16px;
  font-size:clamp(15px,1.2vw,19px);
  font-weight:900;
  line-height:1.7;
}
.cf-message-teaser-alt .magic-message-signature{
  margin-top:18px;
  text-align:right;
  font-weight:900;
}
.cf-message-teaser-alt.is-magic-revealed .message-copy{
  display:block;
  opacity:1;
  visibility:visible;
  transform:rotate(-1deg);
  animation:magic-bubble-in .85s .35s cubic-bezier(.16,1,.3,1) both;
}
.cf-message-teaser-alt .magic-lamp-stage{
  position:absolute!important;
  inset:0;
  right:auto;
  bottom:auto;
  width:100%;
  height:100%!important;
}
.cf-message-teaser-alt .magic-lamp-stage:before{display:none}
.cf-message-teaser-alt .magic-lamp{
  width:min(104vw,1600px);
  margin-left:10%;
  filter:drop-shadow(0 24px 30px #0006) drop-shadow(-6px 9px 0 #0c94d250) drop-shadow(6px -3px 0 #e5262045);
}
.cf-message-teaser-alt .magic-lamp img{
  position:static!important;
  display:block;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  object-fit:contain;
  opacity:1;
  transform:none!important;
  filter:none!important;
  pointer-events:none;
}
.cf-message-teaser-alt .magic-lamp svg,
.cf-message-teaser-alt .magic-lamp .lamp-glow{display:none!important}
.cf-message-teaser-alt:not(.is-magic-revealed) .message-copy{
  display:none!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.cf-message-teaser-alt .magic-lamp>span{
  z-index:20;
  top:clamp(480px,68vh,650px);
  bottom:auto;
  font-size:14px;
}
.cf-message-teaser-alt .magic-progress{
  z-index:20;
  left:5%;
  right:auto;
  top:clamp(84px,10vh,120px);
  bottom:auto;
}
.cf-message-teaser-alt .magic-after-person{
  left:auto!important;
  right:-2%!important;
  height:98%!important;
  will-change:transform,opacity;
}
.cf-message-teaser-alt.is-magic-revealed .magic-after-person{
  left:auto!important;
  right:-2%!important;
  filter:drop-shadow(-18px 12px 0 #712989) drop-shadow(14px -8px 0 #0c94d2) drop-shadow(0 0 34px #0c94d2aa)!important;
  animation:magic-genie-in 1.15s .15s cubic-bezier(.16,1,.3,1) both;
}
@keyframes magic-genie-in{
  0%{opacity:0;translate:0 24%;scale:.5;rotate:8deg}
  55%{opacity:.85;translate:0 -3%;scale:1.04;rotate:-2deg}
  100%{opacity:1;translate:0 0;scale:1;rotate:0deg}
}
.magic-lamp-stage.is-magic-revealed .magic-rub-zone{pointer-events:none}

.magic-wisdom-popup{
  position:absolute;
  z-index:14;
  left:5%;
  bottom:24px;
  width:min(54%,780px);
  padding:22px 24px 20px;
  border:4px solid #201513;
  border-radius:28px;
  background:#fff9e8;
  color:#201513;
  box-shadow:10px 12px 0 #0c94d2,18px 20px 0 #e52620;
  opacity:0;
  visibility:hidden;
  transform:translateY(42px) scale(.9) rotate(2deg);
  pointer-events:none;
  overflow:hidden;
}
.magic-wisdom-popup.is-open{
  opacity:1;
  visibility:visible;
  transform:none;
  pointer-events:auto;
  transition:opacity .45s,transform .7s cubic-bezier(.16,1,.3,1),visibility 0s;
}
.magic-wisdom-popup:not(.is-open){pointer-events:none!important}
.magic-wisdom-popup:not(.is-open) button{pointer-events:none!important}
.magic-wisdom-popup>small{color:#712989;font-weight:900;letter-spacing:.22em}
.magic-wisdom-popup h3{margin:5px 42px 15px 0;font-size:clamp(22px,2.1vw,34px);line-height:1.05}
.magic-wisdom-close{
  position:absolute;
  top:12px;
  right:12px;
  width:38px;
  aspect-ratio:1;
  border:2px solid #201513;
  border-radius:50%;
  background:#ffbd00;
  color:#201513;
  font-size:22px;
  font-weight:900;
  cursor:pointer;
}
.magic-wisdom-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.magic-wisdom-list button{
  min-width:0;
  padding:13px 12px;
  border:2px solid #201513;
  border-radius:16px;
  background:#fff;
  color:#201513;
  text-align:left;
  cursor:pointer;
  transition:transform .25s,background .25s,color .25s;
}
.magic-wisdom-list button:hover,.magic-wisdom-list button.is-selected{background:#ffbd00;transform:translateY(-4px) rotate(-1deg)}
.magic-wisdom-list b{display:block;margin-bottom:4px;font-size:10px;letter-spacing:.15em}
.magic-wisdom-list span{display:block;font-size:clamp(14px,1.15vw,18px);font-weight:900;line-height:1.25}
.magic-wisdom-list em{display:block;margin-top:5px;font-size:10px;font-style:normal;line-height:1.45}
.magic-wisdom-result{margin:12px 0 0;font-size:11px;font-weight:900;text-align:center}
.magic-wisdom-detail{
  position:absolute;
  z-index:5;
  inset:0;
  display:grid;
  grid-template-columns:minmax(180px,38%) 1fr;
  grid-template-rows:auto auto 1fr;
  column-gap:24px;
  align-items:center;
  padding:22px 26px;
  background:
    radial-gradient(circle at 18% 50%,#fff 0 14%,transparent 38%),
    linear-gradient(135deg,#dff7ff,#fff6cf 55%,#f4dfff);
  opacity:0;
  visibility:hidden;
  transform:translateY(28px) scale(.95);
  pointer-events:none;
}
.magic-wisdom-popup.is-detail .magic-wisdom-detail{
  opacity:1;
  visibility:visible;
  transform:none;
  pointer-events:auto;
  transition:opacity .35s,transform .6s cubic-bezier(.16,1,.3,1),visibility 0s;
}
.magic-wisdom-detail figure{grid-row:1/4;margin:0;align-self:stretch;display:grid;place-items:center}
.magic-wisdom-detail img{display:block;width:100%;height:100%;max-height:245px;object-fit:contain;filter:drop-shadow(8px 9px 0 #0c94d245)}
.magic-wisdom-detail>small{color:#712989;font-weight:900;letter-spacing:.2em}
.magic-wisdom-detail h4{margin:5px 0 10px;font-size:clamp(28px,3vw,46px);line-height:1}
.magic-wisdom-detail p{align-self:start;margin:0;font-size:clamp(12px,1vw,15px);font-weight:800;line-height:1.8}
.magic-wisdom-back{
  position:absolute;
  z-index:2;
  left:18px;
  bottom:14px;
  padding:9px 14px;
  border:2px solid #201513;
  border-radius:99px;
  background:#fff;
  color:#201513;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  transition:transform .2s,background .2s;
}
.magic-wisdom-back:hover{background:#ffbd00;transform:translateX(-3px)}
@media(max-width:640px){
  .cf-message-teaser-alt{
    min-height:1390px;
    padding:0;
    overflow:hidden;
  }
  .cf-message-teaser-alt .magic-lamp-stage{height:100%;margin:0}
  .cf-message-teaser-alt .magic-lamp{
    position:absolute;
    right:-5vw;
    top:32%;
    width:116vw;
    margin:0;
    opacity:0;
    transform:translateY(calc(-50% + 45px)) scale(.82) rotate(-5deg);
    filter:drop-shadow(0 17px 23px #0006) drop-shadow(-4px 6px 0 #0c94d248) drop-shadow(4px -2px 0 #e526203d);
    will-change:transform,opacity;
  }
  .cf-message-teaser-alt .magic-rub-zone{
    left:31%;
    top:32%;
    width:42%;
    height:34%;
  }
  .cf-message-teaser-alt .magic-rub-zone:after{font-size:9px}
  .cf-message-teaser-alt.is-visible .magic-lamp{
    opacity:1;
    transform:translateY(-50%) scale(1) rotate(0);
  }
  .cf-message-teaser-alt .magic-lamp>span{
    left:auto;
    right:16%;
    top:auto;
    bottom:7%;
    width:270px;
    max-width:70vw;
    padding:10px 14px;
    font-size:11px;
    text-align:center;
    white-space:nowrap;
    transform:rotate(-3deg);
  }
  .cf-message-teaser-alt .magic-progress{left:12px;right:auto;top:62px;bottom:auto;padding:8px 12px}
  .cf-message-teaser-alt .magic-progress small{font-size:8px}
  .cf-message-teaser-alt .magic-progress b{font-size:34px}
  .cf-message-teaser-alt .magic-progress span{font-size:14px}
  .cf-message-teaser-alt .message-copy{
    left:12px;
    right:12px;
    top:28px;
    width:auto;
    padding:24px 20px 30px;
    border-width:4px;
    border-radius:30px;
    box-shadow:8px 9px 0 #ffbd00;
  }
  .cf-message-teaser-alt .message-copy:after{
    right:14%;
    bottom:-83px;
    width:0;
    height:0;
    border-top:84px solid #201513;
    border-right:48px solid transparent;
    border-left:48px solid transparent;
    border-bottom:0;
    transform:none;
  }
  .cf-message-teaser-alt .message-copy:before{
    z-index:2;
    right:calc(14% + 8px);
    bottom:-68px;
    width:0;
    height:0;
    border-top:70px solid #fff;
    border-right:40px solid transparent;
    border-left:40px solid transparent;
    border-bottom:0;
    transform:none;
  }
  .cf-message-teaser-alt .message-copy h2{
    width:auto;
    margin:14px 0 20px;
    font-size:14vw;
    line-height:.9;
  }
  .cf-message-teaser-alt .message-copy>p{font-size:12px;line-height:1.75}
  .cf-message-teaser-alt .magic-message-quote{
    margin-bottom:15px;
    font-size:13px;
    line-height:1.65;
  }
  .cf-message-teaser-alt .magic-message-signature{
    margin-top:16px;
    font-size:11px;
  }
  .cf-message-teaser-alt .magic-after-person{
    display:block!important;
    left:auto!important;
    right:-7vw!important;
    top:405px!important;
    bottom:auto!important;
    width:auto!important;
    height:530px!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:right top!important;
    opacity:0!important;
    transform:translate(10%,14%) scale(.72) rotate(4deg)!important;
    filter:drop-shadow(-8px 9px 0 #e52620) drop-shadow(6px -4px 0 #ffbd00)!important;
  }
  .cf-message-teaser-alt.is-magic-revealed .magic-after-person{
    display:block!important;
    opacity:1!important;
    left:auto!important;
    right:-7vw!important;
    top:405px!important;
    bottom:auto!important;
    transform:none!important;
    filter:drop-shadow(-9px 8px 0 #712989) drop-shadow(7px -4px 0 #0c94d2) drop-shadow(0 0 20px #0c94d288)!important;
  }
  .cf-message-teaser-alt .magic-wisdom-popup{
    left:14px;
    right:14px;
    top:955px;
    bottom:auto;
    width:auto;
    padding:20px 16px 18px;
    border-width:3px;
    border-radius:23px;
    box-shadow:7px 8px 0 #0c94d2,13px 14px 0 #e52620;
  }
  .cf-message-teaser-alt .magic-wisdom-popup h3{margin:6px 36px 14px 0;font-size:25px}
  .cf-message-teaser-alt .magic-wisdom-list{grid-template-columns:1fr;gap:7px}
  .cf-message-teaser-alt .magic-wisdom-list button{display:grid;grid-template-columns:28px 1fr;align-items:center;padding:10px 11px}
  .cf-message-teaser-alt .magic-wisdom-list b{grid-row:1/3;margin:0}
  .cf-message-teaser-alt .magic-wisdom-list span{font-size:15px}
  .cf-message-teaser-alt .magic-wisdom-list em{margin:1px 0 0;font-size:9px}
  .cf-message-teaser-alt .magic-wisdom-result{font-size:10px;line-height:1.5}
  .cf-message-teaser-alt .magic-wisdom-detail{
    grid-template-columns:1fr;
    grid-template-rows:145px auto auto 1fr;
    gap:3px;
    padding:16px 17px 58px;
    text-align:center;
  }
  .cf-message-teaser-alt .magic-wisdom-detail figure{grid-row:1;margin:0}
  .cf-message-teaser-alt .magic-wisdom-detail img{width:100%;height:145px;max-height:none}
  .cf-message-teaser-alt .magic-wisdom-detail h4{margin:3px 0 6px;font-size:29px}
  .cf-message-teaser-alt .magic-wisdom-detail p{font-size:11px;line-height:1.65}
  .cf-message-teaser-alt .magic-wisdom-back{left:50%;bottom:14px;transform:translateX(-50%);white-space:nowrap}
  .cf-message-teaser-alt .magic-wisdom-back:hover{transform:translateX(-50%)}
}
@media(min-width:641px) and (max-width:1024px){
  .cf-message-teaser-alt{min-height:820px}
  .cf-message-teaser-alt .message-copy{
    left:4%;
    top:10%;
    width:58%;
    padding:32px 34px;
  }
  .cf-message-teaser-alt .message-copy h2{
    font-size:clamp(44px,6.7vw,66px);
  }
  .cf-message-teaser-alt .magic-after-person,
  .cf-message-teaser-alt.is-magic-revealed .magic-after-person{
    left:auto!important;
    right:-1%!important;
    bottom:0!important;
    width:auto!important;
    height:72%!important;
    max-width:47%!important;
    object-fit:contain!important;
    object-position:right bottom!important;
  }
}
body.is-magic-scroll-locked{overscroll-behavior:none}
.cf-message-teaser-alt.is-magic-locked:after{display:none}
@media(max-width:640px) and (hover:hover){
  .cf-message-teaser .message-visual-swap:hover .message-person-default{
    transform:translateX(-50%) scale(.94) rotate(-2deg);
  }
  .cf-message-teaser .message-visual-swap:hover .message-person-hover{
    transform:translateX(-50%) scale(1);
  }
}
@media(prefers-reduced-motion:reduce){
  .cf-message-teaser .message-visual-swap .message-person,
  .cf-message-teaser .message-visual-swap:before{transition:none}
}

/* TOP MESSAGE modal */
.message-modal{
  width:min(760px,calc(100vw - 36px));
  max-height:calc(100svh - 36px);
  margin:auto;
  padding:clamp(35px,5vw,70px);
  border:4px solid var(--cf-ink);
  border-radius:42px;
  background:var(--cf-cream);
  color:var(--cf-ink);
  box-shadow:14px 16px 0 var(--cf-yellow);
  overflow:auto;
}
.message-modal::backdrop{background:#090504d9;backdrop-filter:blur(6px)}
.message-modal[open]{animation:message-modal-in .45s cubic-bezier(.16,1,.3,1)}
.message-modal>small{font-weight:900;letter-spacing:.25em;color:var(--cf-red)}
.message-modal h2{margin:24px 0 35px;font-size:clamp(45px,7vw,82px);line-height:1.02;letter-spacing:-.07em}
.message-modal h2 em{color:var(--cf-yellow);font-style:normal;-webkit-text-stroke:2px var(--cf-ink);text-shadow:4px 5px 0 var(--cf-red)}
.message-modal-body{font-size:clamp(14px,1.4vw,18px);font-weight:700;line-height:2}
.message-modal-body p{margin:0 0 1.3em}
.message-modal-body .message-modal-signature{margin:2em 0 0;text-align:right;font-size:1.12em;font-weight:900;letter-spacing:.08em}
.message-modal-close{position:absolute;right:20px;top:20px;display:grid;place-items:center;width:52px;aspect-ratio:1;border:3px solid var(--cf-ink);border-radius:50%;background:var(--cf-yellow);color:var(--cf-ink);font-size:30px;font-weight:900;cursor:pointer;transition:.25s}
.message-modal-close:hover{transform:rotate(90deg) scale(1.08);background:var(--cf-red);color:#fff}
body:has(.message-modal[open]){overflow:hidden}
@keyframes message-modal-in{from{opacity:0;transform:translateY(50px) scale(.92) rotate(-2deg)}to{opacity:1;transform:none}}
@media(max-width:640px){
  .message-modal{padding:55px 24px 32px;border-radius:28px;box-shadow:8px 9px 0 var(--cf-yellow)}
  .message-modal h2{margin-top:12px}
}

/* TOP MESSAGE mobile: full-width copy and scroll-triggered portrait swap */
@media(max-width:640px){
  .cf-message-teaser{padding-left:8px;padding-right:8px}
  .cf-message-teaser .message-visual-swap{cursor:pointer;touch-action:manipulation}
  .cf-message-teaser .message-copy h2{
    width:calc(100vw - 16px);
    margin-left:0;
    font-size:15vw;
    line-height:.94;
    letter-spacing:-.09em;
  }
  .cf-message-teaser .message-copy h2 span{
    width:100%;
    max-width:100%;
  }
  .cf-message-teaser .message-visual-swap.is-scroll-swapped .message-person-default{
    opacity:0;
    transform:translateX(-58%) scale(.94) rotate(-2deg);
    transition-delay:0s;
  }
  .cf-message-teaser .message-visual-swap.is-scroll-swapped .message-person-hover{
    opacity:1;
    transform:translateX(-50%) scale(1);
  }
  .cf-message-teaser .message-visual-swap.is-scroll-swapped:before{
    background:#ffbd00;
    transform:translateX(-50%) scale(1.05) rotate(-3deg);
  }
}

@media(max-width:640px){.colorful-home .about-copy h2{width:100%;font-size:clamp(54px,16vw,80px);font-weight:900;line-height:1.02;letter-spacing:-.1em}.colorful-home .about-copy h2 span,.colorful-home .about-copy h2 strong{display:block;width:max-content;max-width:none;margin-left:0;font-size:inherit!important;font-weight:900!important;line-height:inherit;white-space:nowrap}.colorful-home .about-copy h2 strong{margin-top:.18em}}

.colorful-home .cf-ecosystem h2{position:relative;left:50%;width:100vw;margin:45px 0 28px;transform:translateX(-50%);font-size:17vw;line-height:.9;letter-spacing:-.085em;text-align:center;white-space:nowrap}.colorful-home .cf-ecosystem>p{max-width:760px;font-size:clamp(14px,1.3vw,20px);font-weight:700;line-height:1.9}.colorful-home .network i:nth-of-type(1){background:#ffbd00;color:#201513}.colorful-home .network i:nth-of-type(2){background:#16a05d;color:#fff}.colorful-home .network i:nth-of-type(3){background:#e52520;color:#fff}.colorful-home .network i:nth-of-type(4){background:#0c94d2;color:#fff}.colorful-home .network i:nth-of-type(5){background:#7b2d91;color:#fff}.colorful-home .network i:nth-of-type(6){background:#ff6b35;color:#201513}.colorful-home .network i:nth-of-type(7){background:#f06292;color:#201513}.colorful-home .network i:nth-of-type(8){background:#00a6a6;color:#fff}.colorful-home .network i:nth-of-type(9){background:#f5e642;color:#201513}.colorful-home .network i:nth-of-type(10){background:#3155a4;color:#fff}
@media(max-width:640px){.colorful-home .cf-ecosystem h2{margin-top:38px;font-size:17vw}.colorful-home .cf-ecosystem>p{font-size:13px;line-height:1.75}.colorful-home .cf-ecosystem>p br{display:none}}

.colorful-home .cf-ecosystem h2{font-size:20vw;line-height:.82;letter-spacing:-.105em}.colorful-home .network-core{padding:7%;overflow:hidden}.colorful-home .network-core img{display:block;width:100%;height:100%;object-fit:contain}.colorful-home .network-core small{display:none}.colorful-home .cf-directory{background:var(--cf-red)}.colorful-home .cf-ecosystem{padding-bottom:0}.colorful-home .cf-directory{padding-top:110px}.colorful-home .cf-ecosystem+.cf-directory{border-top:0}.colorful-home .cf-directory:before{content:"";position:absolute;z-index:0;left:0;right:0;top:-120px;height:125px;background:var(--cf-red)}.colorful-home .cf-directory>*{position:relative;z-index:1}
@media(max-width:640px){.colorful-home .cf-ecosystem h2{font-size:20vw;line-height:.84}.colorful-home .network-core{padding:8%}.colorful-home .cf-directory{padding-top:90px}.colorful-home .cf-directory:before{top:-80px;height:85px}}

.colorful-home .cf-ecosystem{padding-top:95px;background-color:#fbfaf6;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(5vw - 1px),#e5262038 calc(5vw - 1px),#e5262038 5vw);color:var(--cf-ink)}.colorful-home .cf-ecosystem .wave{display:none}.colorful-home .cf-ecosystem h2{margin-top:48px;color:var(--cf-red);font-size:19.5vw;font-weight:900;line-height:.76;letter-spacing:-.12em}.colorful-home .cf-ecosystem>p{max-width:none;margin-top:20px;color:var(--cf-red);font-size:clamp(12px,1vw,16px);text-align:center}.colorful-home .cf-ecosystem .big-number{color:var(--cf-red);opacity:.06}.colorful-home .network:before{border-color:#e5262070}.colorful-home .network:after{border-color:#0c94d270}.colorful-home .cf-directory,.colorful-home .cf-directory:before{background-color:#fbfaf6;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(5vw - 1px),#e5262038 calc(5vw - 1px),#e5262038 5vw)}
@media(max-width:640px){.colorful-home .cf-ecosystem{padding-top:75px;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(12.5vw - 1px),#e5262030 calc(12.5vw - 1px),#e5262030 12.5vw)}.colorful-home .cf-ecosystem h2{margin-top:38px;font-size:20.5vw;line-height:.78}.colorful-home .cf-ecosystem>p{margin:20px auto 0;max-width:92%;font-size:11px;text-align:left}.colorful-home .cf-directory,.colorful-home .cf-directory:before{background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(12.5vw - 1px),#e5262030 calc(12.5vw - 1px),#e5262030 12.5vw)}}

.colorful-home .cf-ecosystem h2{display:flex;align-items:center;justify-content:space-between;left:50%;width:100vw;padding:0 .5vw;font-size:19vw;letter-spacing:0;line-height:.78}.colorful-home .cf-ecosystem h2 span{display:block;flex:0 0 auto;line-height:1}.colorful-home .cf-ecosystem>p{margin-top:20px;text-align:center}.colorful-home .network i,.colorful-home .network-core{transition:transform .35s cubic-bezier(.16,1,.3,1),filter .35s;will-change:transform}.colorful-home .network i:hover{z-index:8;animation-play-state:paused;transform:translate(-50%,-50%) scale(1.22);filter:drop-shadow(0 12px 0 #20151355)}.colorful-home .network-core:hover{z-index:9;transform:scale(1.16) rotate(-4deg);filter:drop-shadow(0 15px 0 #e5262066)}.colorful-home .cf-search label{display:none}.colorful-home .cf-search input{position:relative;z-index:3;inset:auto;display:block;width:100%;min-width:0;opacity:1;border:0;outline:0;background:transparent;color:var(--cf-ink);font:inherit;font-size:16px;font-weight:700}.colorful-home .cf-search input::placeholder{color:#20151388}.colorful-home .cf-search input::-webkit-calendar-picker-indicator{opacity:.65}
@media(max-width:640px){.colorful-home .cf-ecosystem h2{width:100vw;padding:0 1vw;font-size:18.8vw}.colorful-home .cf-ecosystem>p{margin-top:20px;max-width:94%;text-align:center}.colorful-home .cf-search input{font-size:14px}}

/* CMS business cards / before -> after */
.colorful-home .cf-business{position:relative;background:#d7d7d7;color:var(--cf-ink)}.colorful-home .business-card-inner{position:relative;height:100%;padding:275px 28px 25px}.colorful-home .business-images{position:absolute;inset:0 0 auto;width:100%;height:250px;overflow:hidden;background:#ccc}.colorful-home .business-images img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1),filter .5s}.colorful-home .business-before{z-index:1;filter:grayscale(1) contrast(.9)}.colorful-home .business-after{z-index:2;opacity:0;transform:scale(1.06)}.colorful-home .cf-business:hover .business-before{opacity:0;transform:scale(1.08)}.colorful-home .cf-business:hover .business-after{opacity:1;transform:scale(1);filter:saturate(1.12)}.colorful-home .cf-business small{font-size:9px;letter-spacing:.2em}.colorful-home .cf-business h3{margin:15px 0;font-size:clamp(26px,3.1vw,48px);line-height:1.15}.colorful-home .business-site{position:absolute;z-index:4;left:28px;right:28px;bottom:22px;display:flex;align-items:center;justify-content:space-between;padding:10px 12px 10px 22px;border-radius:40px;background:#fff;color:var(--cf-ink);font-size:12px;font-weight:900;opacity:0;transform:translateY(15px);transition:.3s}.colorful-home .business-site i{display:grid;place-items:center;width:34px;aspect-ratio:1;border-radius:50%;background:var(--cf-yellow);font-style:normal}.colorful-home .cf-business:hover .business-site,.colorful-home .business-site:focus{opacity:1;transform:none}.colorful-home .cf-business:hover{color:#fff}.colorful-home .cf-business.red:hover{background:var(--cf-red)}.colorful-home .cf-business.blue:hover{background:var(--cf-blue)}.colorful-home .cf-business.green:hover{background:var(--cf-green)}.colorful-home .cf-business.yellow:hover{background:var(--cf-yellow);color:var(--cf-ink)}.colorful-home .cf-business.purple:hover{background:var(--cf-purple)}.colorful-home .cf-business.white:hover{background:#fff;color:var(--cf-ink)}
@media(max-width:640px){.colorful-home .business-card-inner{padding:225px 22px 22px}.colorful-home .business-images{height:205px}.colorful-home .business-site{left:22px;right:22px;bottom:18px;opacity:1;transform:none}.colorful-home .cf-business:has(.business-site) h3{padding-bottom:48px}}

.colorful-home .cf-business-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 30px}.colorful-home .cf-business{height:410px}.colorful-home .business-card-inner{padding:255px 22px 22px}.colorful-home .business-images{height:232px}.colorful-home .business-copy{position:relative;min-height:92px;margin-top:16px;font-size:clamp(25px,2.4vw,40px);font-weight:900;line-height:1.02;letter-spacing:-.06em}.colorful-home .business-copy span{display:block;transition:opacity .35s,transform .45s cubic-bezier(.16,1,.3,1)}.colorful-home .copy-before{color:var(--cf-ink)}.colorful-home .copy-after{position:absolute;inset:0;opacity:0;color:#fff;transform:translateY(18px)}.colorful-home .cf-business:hover .copy-before{opacity:0;transform:translateY(-15px)}.colorful-home .cf-business:hover .copy-after{opacity:1;transform:none}.colorful-home .cf-business.yellow:hover .copy-after,.colorful-home .cf-business.white:hover .copy-after{color:var(--cf-ink)}.colorful-home .business-site{left:22px;right:22px;bottom:18px}
@media(max-width:1100px){.colorful-home .cf-business-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}}
@media(max-width:640px){.colorful-home .cf-business-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.colorful-home .cf-business{height:300px;border-radius:22px;box-shadow:5px 7px 0 var(--cf-ink)}.colorful-home .business-card-inner{padding:170px 12px 12px}.colorful-home .business-images{height:155px}.colorful-home .cf-business small{font-size:6px;letter-spacing:.08em}.colorful-home .business-copy{min-height:68px;margin-top:10px;font-size:clamp(17px,5.2vw,23px)}.colorful-home .business-site{left:10px;right:10px;bottom:9px;padding:7px 8px 7px 12px;font-size:9px}.colorful-home .business-site i{width:26px}.colorful-home .cf-business:has(.business-site) .business-copy{padding-bottom:38px}}

.colorful-home .category-chips{margin-bottom:65px}
@media(max-width:640px){.colorful-home .category-chips{margin-bottom:38px}}

.colorful-home .cf-business small{display:flex;align-items:center;justify-content:space-between;gap:10px;letter-spacing:.08em}.colorful-home .cf-business small b{display:inline-block;padding:6px 10px;border:1px solid currentColor;border-radius:20px;font-size:10px;line-height:1}.colorful-home .cf-business small span{font-size:9px}.colorful-home .business-name{margin:18px 0 0;font-size:clamp(25px,2.35vw,39px);font-weight:900;line-height:1.05;letter-spacing:-.055em;color:inherit}.colorful-home .cf-business:has(.business-site) .business-name{padding-bottom:50px}
@media(max-width:640px){.colorful-home .cf-business small b{padding:4px 6px;font-size:7px}.colorful-home .cf-business small span{font-size:7px}.colorful-home .business-name{margin-top:10px;font-size:clamp(16px,4.8vw,22px)}.colorful-home .cf-business:has(.business-site) .business-name{padding-bottom:38px}}

.colorful-home .cf-business{height:470px}.colorful-home .business-card-inner{padding:278px 22px 20px}.colorful-home .business-images{height:255px}.colorful-home .business-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.colorful-home .business-meta>b{flex:0 0 auto;padding-top:7px;font-size:10px;letter-spacing:.16em}.colorful-home .business-features{display:flex;gap:6px;flex-wrap:wrap}.colorful-home .business-features span{display:inline-flex;align-items:center;min-height:26px;padding:5px 10px;border:1.5px solid currentColor;border-radius:20px;font-size:10px;font-weight:900;line-height:1}.colorful-home .business-category{margin-top:12px;font-size:9px;font-weight:700;letter-spacing:.14em;opacity:.72}.colorful-home .business-name{margin-top:6px}.colorful-home .business-site{min-height:54px;padding:8px 9px 8px 22px}.colorful-home .business-site>span{display:block;line-height:1;white-space:nowrap}.colorful-home .business-site>i{position:static!important;inset:auto!important;display:grid!important;flex:0 0 36px;width:36px!important;height:36px!important;transform:none!important;border:0!important;background:var(--cf-yellow)!important;color:var(--cf-ink)!important;font-size:16px!important}
@media(max-width:640px){.colorful-home .cf-business{height:340px}.colorful-home .business-card-inner{padding:180px 10px 10px}.colorful-home .business-images{height:165px}.colorful-home .business-meta{gap:5px}.colorful-home .business-features{gap:3px}.colorful-home .business-features span{min-height:18px;padding:3px 5px;font-size:6px}.colorful-home .business-meta>b{padding-top:4px;font-size:7px}.colorful-home .business-category{margin-top:7px;font-size:6px}.colorful-home .business-name{margin-top:4px}.colorful-home .business-site{min-height:38px;padding:5px 5px 5px 10px}.colorful-home .business-site>i{flex-basis:26px;width:26px!important;height:26px!important;font-size:12px!important}}

.colorful-home .cf-business{height:auto;min-height:590px}.colorful-home .business-card-inner{height:auto;min-height:590px;padding:calc(100% + 23px) 22px 82px}.colorful-home .business-images{height:auto;aspect-ratio:1/1}.colorful-home .business-site:hover,.colorful-home .business-site:focus-visible{background:var(--cf-yellow);color:var(--cf-ink)!important;box-shadow:0 7px 0 #201513;transform:translateY(-5px)}.colorful-home .business-site:hover>i,.colorful-home .business-site:focus-visible>i{background:var(--cf-red)!important;color:#fff!important;transform:rotate(45deg)!important}
@media(max-width:1100px){.colorful-home .cf-business{min-height:560px}.colorful-home .business-card-inner{min-height:560px}}
@media(max-width:640px){.colorful-home .cf-business{height:auto;min-height:355px}.colorful-home .business-card-inner{height:auto;min-height:355px;padding:calc(100% + 12px) 10px 58px}.colorful-home .business-images{height:auto;aspect-ratio:1/1}.colorful-home .business-site:hover,.colorful-home .business-site:focus-visible{box-shadow:0 4px 0 #201513;transform:translateY(-3px)}}

.colorful-home .cf-business{height:auto;min-height:0}.colorful-home .business-card-inner{display:flex;flex-direction:column;height:auto;min-height:0;padding:calc(100% + 22px) 22px 24px}.colorful-home .business-name{width:100%;margin:7px 0 0;padding:0!important;overflow:hidden;font-size:clamp(18px,1.55vw,29px);line-height:1.15;letter-spacing:-.06em;text-overflow:ellipsis;white-space:nowrap}.colorful-home .business-site{position:relative;left:auto;right:auto;bottom:auto;width:100%;min-height:52px;margin-top:18px;opacity:0;transform:translateY(10px)}.colorful-home .cf-business:hover .business-site,.colorful-home .business-site:focus{opacity:1;transform:none}
@media(max-width:640px){.colorful-home .cf-business{height:auto;min-height:0}.colorful-home .business-card-inner{height:auto;min-height:0;padding:calc(100% + 11px) 10px 12px}.colorful-home .business-name{margin-top:5px;font-size:clamp(12px,3.45vw,16px);line-height:1.1}.colorful-home .business-site{min-height:36px;margin-top:10px;opacity:1;transform:none}}

@media(hover:hover) and (pointer:fine){.colorful-home .business-site{height:0;min-height:0;max-height:0;margin-top:0;padding-top:0;padding-bottom:0;overflow:hidden;opacity:0;transform:translateY(8px);transition:height .38s cubic-bezier(.16,1,.3,1),max-height .38s cubic-bezier(.16,1,.3,1),min-height .38s cubic-bezier(.16,1,.3,1),margin .38s cubic-bezier(.16,1,.3,1),padding .38s cubic-bezier(.16,1,.3,1),opacity .2s,transform .38s cubic-bezier(.16,1,.3,1)}.colorful-home .cf-business:hover .business-site,.colorful-home .business-site:focus-visible{height:52px;min-height:52px;max-height:52px;margin-top:18px;padding:8px 9px 8px 22px;opacity:1;transform:none}.colorful-home .cf-business{transition:background .35s,transform .35s,box-shadow .35s}.colorful-home .business-card-inner{transition:padding-bottom .38s cubic-bezier(.16,1,.3,1)}}

.colorful-home .explore-cards>a{min-height:470px}.colorful-home .explore-cards>a>small,.colorful-home .explore-cards>a>b,.colorful-home .explore-cards>a>em,.colorful-home .explore-cards>a>span:not(.explore-character){z-index:3}.colorful-home .explore-character{--char-x:0%;position:absolute;z-index:2;left:auto;right:-4%;bottom:-1%;width:54%;height:78%;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(52%) scale(.78);transform-origin:center bottom;transition:opacity .25s,transform .7s cubic-bezier(.16,1,.3,1)}.colorful-home .explore-character img{position:absolute;left:0;bottom:0;width:auto;max-width:none;height:100%;transform:translateX(var(--char-x));filter:drop-shadow(0 12px 10px #20151335)}.colorful-home .explore-cards>a:nth-child(2) .explore-character{--char-x:-29%}.colorful-home .explore-cards>a:nth-child(3) .explore-character{--char-x:-57%}.colorful-home .explore-cards>a:hover .explore-character,.colorful-home .explore-cards>a:focus-visible .explore-character{opacity:1;transform:translateY(0) scale(1)}
@media(max-width:640px){.colorful-home .explore-cards>a,.colorful-home .explore-cards>a:nth-child(2),.colorful-home .explore-cards>a:nth-child(3){min-height:300px}.colorful-home .explore-character{right:-2%;width:52%;height:74%}.colorful-home .explore-cards>a:active .explore-character{opacity:1;transform:translateY(0) scale(1)}}

.colorful-home .explore-cards>a .explore-character{--char-x:0%;right:3%;bottom:4%;width:54%;height:72%;overflow:visible}.colorful-home .explore-cards>a .explore-character img{inset:0;width:100%;max-width:100%;height:100%;object-fit:contain;object-position:center bottom;transform:none}.colorful-home .explore-cards>a:nth-child(2) .explore-character,.colorful-home .explore-cards>a:nth-child(3) .explore-character{--char-x:0%}
@media(max-width:640px){.colorful-home .explore-cards>a .explore-character{right:2%;bottom:5%;width:50%;height:68%}}

.colorful-home .explore-cards>a .explore-character{right:-8%;bottom:-7%;width:70%;height:88%}.colorful-home .explore-cards small{display:flex;align-items:baseline;gap:2px;font-size:clamp(18px,1.6vw,25px);font-weight:800;letter-spacing:.02em;text-transform:none}.colorful-home .explore-cards small strong{font-size:1.75em;font-weight:900;line-height:.7}.colorful-home .explore-cards em{opacity:.18}.colorful-home .explore-cards>a>small{position:relative;z-index:4}
@media(max-width:640px){.colorful-home .explore-cards>a .explore-character{right:-9%;bottom:-8%;width:68%;height:86%}.colorful-home .explore-cards small{font-size:17px}.colorful-home .explore-cards small strong{font-size:1.6em}}

/* External banner carousel */
.external-banners{position:relative;padding:85px 0 100px;overflow:hidden;background:#050505;color:#fff}.external-banners>.section-label,.external-banners>h2{margin-left:5%;margin-right:5%}.external-banners h2{margin-top:35px;font-size:clamp(45px,6vw,88px);letter-spacing:-.07em}.banner-viewport{margin-top:55px;overflow:hidden}.banner-track{display:flex;width:max-content;gap:24px;padding:0 12px;animation:external-banner-loop 26s linear infinite}.banner-viewport:hover .banner-track{animation-play-state:paused}.external-banner{position:relative;display:flex;flex:0 0 430px;width:430px;height:auto;aspect-ratio:16/9;overflow:hidden;border:3px solid #fff;border-radius:24px;background:var(--cf-yellow);color:var(--cf-ink);box-shadow:8px 9px 0 var(--cf-red);transition:.3s}.external-banner:nth-child(3n+2){background:var(--cf-green);color:#fff}.external-banner:nth-child(3n+3){background:var(--cf-purple);color:#fff}.external-banner:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:12px 14px 0 var(--cf-yellow)}.external-banner img{width:100%;height:100%;object-fit:cover}.external-banner strong{align-self:center;padding-left:28px;font-size:32px;line-height:1}.external-banner span{position:absolute;left:30px;bottom:18px;font-size:9px;letter-spacing:.22em}.external-banner.is-placeholder{opacity:.8}@keyframes external-banner-loop{to{transform:translateX(calc(-50% - 12px))}}

/* Footer */
.colorful-home .cf-footer{position:relative;min-height:0;padding:95px 5% 30px;overflow:hidden;background-color:#fff8e8;background-image:linear-gradient(90deg,#ffbd0020 25%,transparent 25% 50%,#16a05d18 50% 75%,transparent 75%),repeating-linear-gradient(90deg,transparent 0,transparent calc(10vw - 1px),#e5262024 calc(10vw - 1px),#e5262024 10vw);background-size:100% 100%,auto;color:var(--cf-ink)}.footer-main{display:grid;grid-template-columns:.8fr 1.1fr 1fr;gap:45px;align-items:center}.colorful-home .cf-footer h2{font-size:clamp(48px,5.5vw,82px)}.footer-copy>small{font-size:10px;letter-spacing:.25em}.colorful-home .footer-copy>a{display:inline-block;margin-top:35px;border-radius:50px;background:var(--cf-ink);color:#fff;padding:18px 45px;font-weight:900}.footer-copy address{display:grid;gap:7px;margin-top:48px;font-style:normal}.footer-copy address b{font-size:18px}.footer-copy address span{font-size:13px}.footer-characters{position:relative;align-self:end}.footer-characters:before{content:"";position:absolute;inset:12% 3% 2%;border-radius:50%;background:var(--cf-yellow);transform:rotate(-5deg)}.footer-characters img{position:relative;z-index:1;width:100%;height:auto;filter:drop-shadow(0 15px 0 #e5262035)}.footer-map{position:relative;padding:12px;border:4px solid var(--cf-ink);border-radius:30px;background:var(--cf-blue);box-shadow:10px 12px 0 var(--cf-ink);transform:rotate(1.5deg)}.footer-map iframe{display:block;width:100%;height:330px;border:0;border-radius:18px}.footer-map>a{display:flex;justify-content:center;margin-top:10px;border-radius:25px;background:#fff;color:var(--cf-ink);padding:11px;font-size:11px;font-weight:900}.colorful-home .cf-footer nav{position:static;display:flex;gap:24px;margin-top:70px;padding-top:24px;border-top:2px solid var(--cf-ink);font-size:11px;font-weight:700}.colorful-home .cf-footer>small{position:static;display:block;margin-top:24px;text-align:right}
@media(max-width:900px){.footer-main{grid-template-columns:1fr 1fr}.footer-copy{grid-column:1/-1}.footer-characters{align-self:center}.footer-map iframe{height:300px}}
@media(max-width:640px){.external-banners{padding:65px 0 75px}.external-banners h2{font-size:44px}.banner-viewport{margin-top:38px}.banner-track{gap:14px;animation-duration:20s}.external-banner{flex-basis:285px;width:285px;height:auto;aspect-ratio:16/9;border-radius:17px}.external-banner strong{padding-left:18px;font-size:23px}.external-banner span{left:20px;bottom:12px}.colorful-home .cf-footer{padding:70px 20px 25px;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(20vw - 1px),#e5262024 calc(20vw - 1px),#e5262024 20vw)}.footer-main{grid-template-columns:1fr;gap:45px}.footer-copy{grid-column:auto}.footer-characters{order:2}.footer-map{order:3}.footer-map iframe{height:280px}.colorful-home .cf-footer nav{gap:14px;flex-wrap:wrap;margin-top:55px}.colorful-home .cf-footer>small{text-align:left}}

.colorful-home .footer-main{grid-template-columns:1.18fr .9fr 1fr}.colorful-home .footer-copy{min-width:0}.colorful-home .cf-footer h2{max-width:100%;font-size:clamp(38px,4vw,68px);line-height:1.08;letter-spacing:-.075em}.colorful-home .cf-footer h2 span{display:block;width:100%;white-space:nowrap}
@media(max-width:900px){.colorful-home .footer-main{grid-template-columns:1fr 1fr}.colorful-home .footer-copy{grid-column:1/-1}}
@media(max-width:640px){.colorful-home .footer-main{display:flex;flex-direction:column;align-items:stretch}.colorful-home .footer-copy{order:1}.colorful-home .footer-map{order:2;width:100%}.colorful-home .footer-characters{order:3;width:100%}.colorful-home .cf-footer h2{font-size:clamp(32px,9.5vw,44px)}}

.footer-navigation{display:grid;grid-template-columns:120px 1fr;gap:25px 45px;align-items:center;margin-top:75px;padding-top:30px;border-top:2px solid var(--cf-ink)}.footer-logo{display:grid;place-items:center;width:112px;aspect-ratio:1;border-radius:50%;background:#fff;transition:.35s}.footer-logo:hover{transform:rotate(-8deg) scale(1.07)}.footer-logo img{display:block;width:94%;height:94%;object-fit:contain}.colorful-home .footer-navigation nav{position:static;display:flex;justify-content:flex-end;gap:clamp(14px,2vw,32px);margin:0;padding:0;border:0;font-size:clamp(11px,1vw,15px)}.footer-navigation nav a{white-space:nowrap;transition:.2s}.footer-navigation nav a:hover{color:var(--cf-red);transform:translateY(-3px)}.footer-actions{grid-column:2;display:flex;align-items:center;gap:22px}.footer-actions>a{display:flex;align-items:center;justify-content:center;gap:14px;min-height:66px;border:3px solid var(--cf-ink);font-size:clamp(17px,1.7vw,27px);font-weight:900;transition:.25s}.footer-actions>a span{font-size:1.2em}.footer-contact{min-width:310px;background:var(--cf-blue);color:#fff}.footer-phone{min-width:360px;background:#fff;color:var(--cf-ink)}.footer-actions>a:hover{transform:translateY(-5px);box-shadow:7px 8px 0 var(--cf-ink)}
@media(max-width:900px){.footer-navigation{grid-template-columns:95px 1fr}.footer-logo{width:90px}.colorful-home .footer-navigation nav{justify-content:flex-start;flex-wrap:wrap}.footer-actions{grid-column:1/-1}}
@media(max-width:640px){.footer-navigation{display:flex;flex-direction:column;align-items:flex-start;gap:28px;margin-top:55px;padding-top:25px}.footer-logo{width:100px}.colorful-home .footer-navigation nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:16px 12px;font-size:13px}.footer-actions{display:grid;width:100%;gap:12px}.footer-actions>a{width:100%;min-width:0;min-height:58px;font-size:20px}.colorful-home .cf-footer>small{margin-top:30px}}

/* Hero subcopy anchor and title impact animation */
.colorful-home .hero-subcopy{position:absolute;z-index:7;left:4.5%;bottom:92px;max-width:620px;color:#fff;text-shadow:0 2px 12px #000}.colorful-home .hero-subcopy p{font-size:clamp(13px,1vw,18px);font-weight:700;line-height:1.8}.colorful-home .hero-subcopy small{display:block;margin-top:20px;font-size:9px;font-weight:700;letter-spacing:.22em}.colorful-home .hero-copy h1{perspective:900px}.colorful-home .hero-copy h1 span,.colorful-home .hero-copy h1 em{opacity:0;transform-origin:left center;animation:hero-title-impact 1.05s cubic-bezier(.12,.88,.2,1.18) forwards}.colorful-home .hero-copy h1 span:nth-child(1){animation-delay:.08s}.colorful-home .hero-copy h1 span:nth-child(2){animation-delay:.24s}.colorful-home .hero-copy h1 span:nth-child(3){animation-delay:.4s}.colorful-home .hero-copy h1 em{animation:hero-title-impact-yellow 1.2s .58s cubic-bezier(.12,.88,.2,1.18) forwards}.colorful-home .hero-copy h1:after{content:"";position:absolute;z-index:-1;left:-8%;top:42%;width:85%;height:18%;background:linear-gradient(90deg,transparent,var(--cf-red),var(--cf-yellow),transparent);filter:blur(18px);opacity:0;transform:skewX(-25deg);animation:hero-flash 1.1s .42s ease-out forwards}@keyframes hero-title-impact{0%{opacity:0;transform:translate3d(-1.2em,.45em,0) rotateY(-70deg) skewX(-18deg) scale(1.55);filter:blur(13px);color:var(--cf-yellow)}55%{opacity:1;transform:translate3d(.08em,-.03em,0) rotateY(5deg) skewX(3deg) scale(.96);filter:blur(0);text-shadow:12px 10px 0 var(--cf-red),-8px -6px 0 var(--cf-blue)}75%{transform:translate3d(-.03em,.02em,0) scale(1.03);text-shadow:-5px 4px 0 var(--cf-red),5px -4px 0 var(--cf-blue)}100%{opacity:1;transform:none;filter:none;text-shadow:5px 6px 0 #000}}@keyframes hero-title-impact-yellow{0%{opacity:0;transform:translate3d(1em,.7em,0) rotate(18deg) scale(2);filter:blur(12px)}55%{opacity:1;transform:translate3d(-.08em,-.05em,0) rotate(-9deg) scale(.9);filter:none;text-shadow:10px 8px 0 var(--cf-red)}100%{opacity:1;transform:rotate(-5deg);text-shadow:5px 6px 0 #000}}@keyframes hero-flash{0%{opacity:0;transform:translateX(-35%) skewX(-25deg) scaleX(.2)}35%{opacity:.9}100%{opacity:0;transform:translateX(75%) skewX(-25deg) scaleX(1.2)}}
@media(max-width:640px){.colorful-home .hero-subcopy{left:20px;right:auto;bottom:145px;width:72%;max-width:none}.colorful-home .hero-subcopy p{font-size:16.5px;line-height:1.65}.colorful-home .hero-subcopy small{margin-top:14px;font-size:9px;line-height:1.5;letter-spacing:.13em}}
@media(prefers-reduced-motion:reduce){.colorful-home .hero-copy h1 span,.colorful-home .hero-copy h1 em{opacity:1;animation:none}.colorful-home .hero-copy h1 em{transform:rotate(-5deg)}.colorful-home .hero-copy h1:after{display:none}}

.colorful-home .hero-copy h1 em{width:max-content;margin:-.12em 0 0 2em;font-size:1em;line-height:1}
@media(max-width:640px){.colorful-home .hero-copy{left:20px;right:16px;top:125px;bottom:auto;width:auto;text-align:left}.colorful-home .hero-copy h1{font-size:clamp(50px,14.5vw,64px);line-height:.94}.colorful-home .hero-copy h1 em{margin:-.1em 0 0 2em;font-size:1em}.colorful-home .hero-subcopy{left:20px;right:18px;top:390px;bottom:auto;width:auto;max-width:390px;text-align:left}.colorful-home .hero-subcopy p,.colorful-home .hero-subcopy small{text-align:left}}
@media(max-width:640px){.colorful-home .hero-copy h1{font-size:clamp(59px,17.5vw,78px);line-height:.91}.colorful-home .hero-subcopy{top:445px}}

/* TOP MESSAGE character-by-character reveal */
.colorful-home .cf-message-teaser h2 .message-char{display:inline-block;width:auto;max-width:none;font:inherit;font-style:inherit;line-height:inherit;white-space:pre;opacity:0;transform:translateY(.65em) rotate(8deg) scale(.55);filter:blur(6px);transform-origin:center bottom}.colorful-home .cf-message-teaser.is-visible h2 .message-char{animation:message-char-pop .58s calc(.08s + var(--char)*.045s) cubic-bezier(.16,1.35,.35,1) forwards}@keyframes message-char-pop{0%{opacity:0;transform:translateY(.65em) rotate(8deg) scale(.55);filter:blur(6px)}60%{opacity:1;transform:translateY(-.08em) rotate(-2deg) scale(1.08);filter:blur(0)}100%{opacity:1;transform:none;filter:none}}@media(prefers-reduced-motion:reduce){.colorful-home .cf-message-teaser h2 .message-char{opacity:1;transform:none;filter:none}.colorful-home .cf-message-teaser.is-visible h2 .message-char{animation:none}}

/* Ecosystem title: flipping vertical panels */
.colorful-home .cf-ecosystem h2{perspective:1200px}.colorful-home .cf-ecosystem h2 span{opacity:0;clip-path:inset(0 50%);transform:translateY(-.45em) rotateX(-92deg) scaleY(1.35);transform-origin:center top;filter:blur(5px)}.colorful-home .cf-ecosystem h2 span:nth-child(1){--eco-delay:0s}.colorful-home .cf-ecosystem h2 span:nth-child(2){--eco-delay:.1s}.colorful-home .cf-ecosystem h2 span:nth-child(3){--eco-delay:.2s}.colorful-home .cf-ecosystem h2 span:nth-child(4){--eco-delay:.3s}.colorful-home .cf-ecosystem h2 span:nth-child(5){--eco-delay:.4s}.colorful-home .cf-ecosystem h2 span:nth-child(6){--eco-delay:.5s}.colorful-home .cf-ecosystem.is-visible h2 span{animation:ecosystem-panel-in .82s calc(.08s + var(--eco-delay)) cubic-bezier(.16,1,.3,1) forwards}@keyframes ecosystem-panel-in{0%{opacity:0;clip-path:inset(0 50%);transform:translateY(-.45em) rotateX(-92deg) scaleY(1.35);filter:blur(5px)}55%{opacity:1;clip-path:inset(0);transform:translateY(.04em) rotateX(8deg) scaleY(.96);filter:blur(0)}100%{opacity:1;clip-path:inset(0);transform:none;filter:none}}.colorful-home .cf-ecosystem>p{font-size:clamp(14.4px,1.2vw,19.2px)}@media(max-width:640px){.colorful-home .cf-ecosystem>p{font-size:13.2px}}@media(prefers-reduced-motion:reduce){.colorful-home .cf-ecosystem h2 span{opacity:1;clip-path:none;transform:none;filter:none}.colorful-home .cf-ecosystem.is-visible h2 span{animation:none}}

/* EXPLORE MORE: cute heading then cards */
.colorful-home .cf-explore h2{position:relative;width:max-content;max-width:100%;opacity:0;transform:translateY(.35em) rotate(-4deg) scale(.72);transform-origin:left bottom}.colorful-home .cf-explore h2:after{content:"✦  ●  ✦";position:absolute;right:-1.7em;top:-.35em;color:var(--cf-red);font-size:.22em;letter-spacing:.25em;opacity:0}.colorful-home .cf-explore.is-visible h2{animation:explore-heading-cute .85s .05s cubic-bezier(.16,1.45,.3,1) forwards}.colorful-home .cf-explore.is-visible h2:after{animation:explore-sparkles .75s .58s ease-out forwards}.colorful-home .explore-cards>a{opacity:0;translate:0 80px;scale:.78}.colorful-home .cf-explore.is-visible .explore-cards>a:nth-child(1){animation:explore-card-cute .72s .82s cubic-bezier(.16,1.35,.3,1) forwards}.colorful-home .cf-explore.is-visible .explore-cards>a:nth-child(2){animation:explore-card-cute .72s .98s cubic-bezier(.16,1.35,.3,1) forwards}.colorful-home .cf-explore.is-visible .explore-cards>a:nth-child(3){animation:explore-card-cute .72s 1.14s cubic-bezier(.16,1.35,.3,1) forwards}@keyframes explore-heading-cute{0%{opacity:0;transform:translateY(.35em) rotate(-4deg) scale(.72)}58%{opacity:1;transform:translateY(-.05em) rotate(2deg) scale(1.06)}76%{transform:rotate(-1deg) scale(.98)}100%{opacity:1;transform:none}}@keyframes explore-sparkles{0%{opacity:0;transform:scale(.2) rotate(-25deg)}55%{opacity:1;transform:scale(1.25) rotate(8deg)}100%{opacity:.8;transform:none}}@keyframes explore-card-cute{0%{opacity:0;translate:0 80px;scale:.78}58%{opacity:1;translate:0 -12px;scale:1.035}76%{translate:0 5px;scale:.985}100%{opacity:1;translate:0 0;scale:1}}@media(prefers-reduced-motion:reduce){.colorful-home .cf-explore h2,.colorful-home .explore-cards>a{opacity:1;translate:0 0;scale:1;transform:none}.colorful-home .cf-explore h2:after{display:none}.colorful-home .cf-explore.is-visible h2,.colorful-home .cf-explore.is-visible .explore-cards>a{animation:none}}

/* NEWS: simple staged reveal */
.colorful-home .cf-news>div:first-child{opacity:0;transform:translateX(-45px)}.colorful-home .news-list a{opacity:0;transform:translateY(24px)}.colorful-home .cf-news.is-visible>div:first-child{animation:news-simple-in .7s .05s ease-out forwards}.colorful-home .cf-news.is-visible .news-list a:nth-child(1){animation:news-simple-up .55s .3s ease-out forwards}.colorful-home .cf-news.is-visible .news-list a:nth-child(2){animation:news-simple-up .55s .43s ease-out forwards}.colorful-home .cf-news.is-visible .news-list a:nth-child(3){animation:news-simple-up .55s .56s ease-out forwards}.colorful-home .news-arrow{position:static;grid-column:2;justify-self:end;margin-top:18px;opacity:0;transform:translateY(15px);transition:background .25s,transform .25s}.colorful-home .cf-news.is-visible .news-arrow{animation:news-simple-up .5s .72s ease-out forwards}.colorful-home .news-arrow:hover{background:var(--cf-red);color:#fff;transform:translateX(5px)}@keyframes news-simple-in{to{opacity:1;transform:none}}@keyframes news-simple-up{to{opacity:1;transform:none}}@media(max-width:640px){.colorful-home .news-arrow{grid-column:1;margin-top:5px}}@media(prefers-reduced-motion:reduce){.colorful-home .cf-news>div:first-child,.colorful-home .news-list a,.colorful-home .news-arrow{opacity:1;transform:none}.colorful-home .cf-news.is-visible>div:first-child,.colorful-home .cf-news.is-visible .news-list a,.colorful-home .cf-news.is-visible .news-arrow{animation:none}}

.colorful-home .cf-news{padding-top:68px;padding-bottom:68px}
@media(max-width:640px){.colorful-home .cf-news{padding-top:52px;padding-bottom:72px}}

/* Follow header */
.colorful-home .cf-header{position:fixed;z-index:100;padding:12px 4.5%;background:#050505dc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #ffffff1f;transition:transform .38s cubic-bezier(.16,1,.3,1),background .3s}.colorful-home .cf-header.is-hidden{transform:translateY(calc(-100% - 4px))}.colorful-home .cf-brand{height:58px;overflow:hidden}.header-logo{position:relative;display:block;width:125px;height:58px;overflow:visible}.header-logo img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:left center}.colorful-home .cf-header nav{top:88px}.colorful-home .cf-menu{display:flex;align-items:center;gap:5px}
@media(max-width:640px){.colorful-home .cf-header{position:fixed;padding:9px 15px;transform:none!important}.colorful-home .cf-brand{height:48px}.header-logo{width:92px;height:48px}.header-logo img{width:100%;height:100%}.colorful-home .cf-header nav{top:70px;left:15px;right:15px;min-width:0;max-height:calc(100svh - 85px);overflow:auto}.colorful-home .cf-header nav a{padding:15px 18px}.colorful-home .cf-menu{padding:10px 15px}}

/* About headline: band first, type follows */
.colorful-home .cf-brand>.header-logo{display:block!important}
.colorful-home .cf-brand>.header-brand-copy{display:block!important;margin-left:-20px;color:#fff;font-size:12px;font-weight:900;line-height:1.05;letter-spacing:.16em;white-space:nowrap}.colorful-home .header-brand-copy small{display:block;margin-top:6px;font-size:7px;font-weight:700;letter-spacing:.14em;opacity:.72}
@media(max-width:640px){.colorful-home .cf-brand{gap:0}.colorful-home .cf-brand>.header-brand-copy{margin-left:-10px;font-size:9px;letter-spacing:.1em}.colorful-home .header-brand-copy small{margin-top:4px;font-size:5px;letter-spacing:.08em}}
@media(max-width:370px){.colorful-home .header-brand-copy small{display:none}}

/* Keep the footer mark at a real pixel size inside the grid item. */
.colorful-home .footer-navigation .footer-logo{position:relative;width:112px;height:112px;min-height:112px;overflow:visible;border-radius:0;background:transparent!important}
.colorful-home .footer-navigation .footer-logo img{display:block;width:104px;height:104px;max-width:none;object-fit:contain;object-position:center;transform:translateY(-12px)}
@media(max-width:900px){.colorful-home .footer-navigation .footer-logo{width:90px;height:90px;min-height:90px}.colorful-home .footer-navigation .footer-logo img{width:84px;height:84px}}
@media(max-width:640px){.colorful-home .footer-navigation .footer-logo{width:100px;height:100px;min-height:100px}.colorful-home .footer-navigation .footer-logo img{width:94px;height:94px;transform:translateY(-11px)}}

/* About headline: band first, type follows */
.colorful-home .about-copy h2 span:after,.colorful-home .about-copy h2 strong:after{transform:rotate(-1.5deg) scaleX(0);transform-origin:left center}.colorful-home .about-copy h2 strong:after{transform:rotate(1deg) scaleX(0)}.colorful-home .about-copy h2 i{display:block;font:inherit;font-style:normal;color:inherit;opacity:0;transform:translateX(-.45em);filter:blur(7px)}.colorful-home .cf-about.is-visible .about-copy h2 span:after{animation:about-band-one .65s .05s cubic-bezier(.16,1,.3,1) forwards}.colorful-home .cf-about.is-visible .about-copy h2 strong:after{animation:about-band-two .65s .23s cubic-bezier(.16,1,.3,1) forwards}.colorful-home .cf-about.is-visible .about-copy h2 span i{animation:about-type-follow .65s .48s cubic-bezier(.16,1,.3,1) forwards}.colorful-home .cf-about.is-visible .about-copy h2 strong i{animation:about-type-follow .65s .68s cubic-bezier(.16,1,.3,1) forwards}@keyframes about-band-one{to{transform:rotate(-1.5deg) scaleX(1)}}@keyframes about-band-two{to{transform:rotate(1deg) scaleX(1)}}@keyframes about-type-follow{0%{opacity:0;transform:translateX(-.45em);filter:blur(7px)}65%{opacity:1;transform:translateX(.04em);filter:blur(0)}100%{opacity:1;transform:none;filter:none}}@media(prefers-reduced-motion:reduce){.colorful-home .about-copy h2 span:after{transform:rotate(-1.5deg) scaleX(1)}.colorful-home .about-copy h2 strong:after{transform:rotate(1deg) scaleX(1)}.colorful-home .about-copy h2 i{opacity:1;transform:none;filter:none}.colorful-home .cf-about.is-visible .about-copy h2 span:after,.colorful-home .cf-about.is-visible .about-copy h2 strong:after,.colorful-home .cf-about.is-visible .about-copy h2 i{animation:none}}

/* On narrow screens, pan across the full six-person MV composition. */
@media(max-width:640px){.colorful-home .hero-photo{animation:photo-in 1.6s both,mobile-hero-pan 16s 1.6s ease-in-out infinite alternate}}
@keyframes mobile-hero-pan{from{object-position:42% center}to{object-position:82% center}}
@media(max-width:640px) and (prefers-reduced-motion:reduce){.colorful-home .hero-photo{animation:none!important;object-position:67% center}}

/* Keep faces visible: reduce the interactive logo on desktop and tablet only. */
@media(min-width:901px){.colorful-home .living-logo{width:min(31vw,408px)}}
@media(min-width:641px) and (max-width:900px){.colorful-home .living-logo{width:42vw}}

/* Ramen metaphor label */
.colorful-home .power-orders-intro{margin:42px 0 -20px;font-size:clamp(20px,2vw,32px);font-weight:900;letter-spacing:-.04em}
@media(max-width:640px){.colorful-home .power-orders-intro{margin:30px 0 -18px;font-size:19px}}

/* Scroll-linked galaxy ecosystem */
.colorful-home .network{--galaxy-turn:0deg;position:relative!important;transform:perspective(1100px) rotateX(18deg) rotateZ(var(--galaxy-turn));transform-style:preserve-3d;transform-origin:center;filter:drop-shadow(0 35px 28px #3155a433);will-change:transform}
.colorful-home .network:before{inset:7%;border:2px solid #e5262066;box-shadow:0 0 55px #e5262038,0 0 120px #3155a42e}
.colorful-home .network:after{inset:24%;border:2px dashed #0c94d288;box-shadow:0 0 40px #0c94d23d}
.colorful-home .network i{--angle:calc(var(--n)*24deg - 90deg);--radius:43%;--node-scale:1;--z:45px;left:calc(50% + cos(var(--angle))*var(--radius));top:calc(50% + sin(var(--angle))*var(--radius));transform:translate(-50%,-50%) translateZ(var(--z)) scale(var(--node-scale));box-shadow:0 12px 20px #20151335;animation:galaxy-node-float 5s calc(var(--n)*-.24s) ease-in-out infinite}
.colorful-home .network i:nth-of-type(even){--radius:31%;--node-scale:.82;--z:-20px}
.colorful-home .network i:nth-of-type(3n){--node-scale:.92;--z:85px}
.colorful-home .network-core{z-index:7;transform:translateZ(110px);box-shadow:0 20px 45px #20151344}
.colorful-home .network-core:hover{transform:translateZ(110px) scale(1.12) rotate(-4deg)}
.colorful-home .network i:hover{transform:translate(-50%,-50%) translateZ(140px) scale(1.18)}
@keyframes galaxy-node-float{50%{margin-top:-10px;filter:brightness(1.08)}}
@media(max-width:640px){.colorful-home .network{width:104vw;margin-left:-7vw;transform:perspective(800px) rotateX(13deg) rotateZ(var(--galaxy-turn))}.colorful-home .network i{--radius:44%;width:62px;font-size:7px}.colorful-home .network i:nth-of-type(even){--radius:30%}}
@media(prefers-reduced-motion:reduce){.colorful-home .network{--galaxy-turn:8deg}.colorful-home .network i{animation:none}}

/* Readable solar-system orbit: every label stays face-on. */
.colorful-home .network{--orbit-turn:0deg;perspective:none;transform:none;filter:none;cursor:ew-resize;touch-action:pan-y;user-select:none}
.colorful-home .network:before,.colorful-home .network:after{left:3%;right:3%;top:31%;bottom:31%;inset:auto;border-radius:50%;transform:none;box-shadow:0 0 45px #e526202e}
.colorful-home .network:after{left:18%;right:18%;top:38%;bottom:38%;border-color:#0c94d278;box-shadow:0 0 35px #0c94d22e}
.colorful-home .network-core{left:36%;top:36%;z-index:10;transform:none;box-shadow:0 0 0 16px #ffbd0029,0 0 70px #ffbd0080,0 18px 35px #20151335;animation:solar-core-pulse 4.5s ease-in-out infinite}
.colorful-home .network-core:hover{transform:scale(1.08);filter:drop-shadow(0 14px 0 #e5262055)}
.colorful-home .network i{--angle:calc(var(--n)*24deg + var(--orbit-turn));--depth:calc((sin(var(--angle)) + 1)/2);left:calc(50% + cos(var(--angle))*43%);top:calc(50% + sin(var(--angle))*16%);z-index:calc(3 + var(--depth)*12);margin:0;opacity:calc(.48 + var(--depth)*.52);transform:translate(-50%,-50%) scale(calc(.56 + var(--depth)*.58));filter:blur(calc((1 - var(--depth))*1.2px)) drop-shadow(0 calc(5px + var(--depth)*10px) calc(5px + var(--depth)*10px) #20151340);animation:none;transition:left .08s linear,top .08s linear,transform .08s linear,opacity .08s linear,filter .08s linear}
.colorful-home .network i:nth-of-type(even),.colorful-home .network i:nth-of-type(3n){--radius:initial;--node-scale:initial;--z:initial}
.colorful-home .network i:hover{z-index:30;opacity:1;transform:translate(-50%,-50%) scale(calc(.68 + var(--depth)*.62));filter:drop-shadow(0 12px 0 #20151355)}
.colorful-home .orbit-hint{position:absolute;z-index:40;left:50%;bottom:7%;width:max-content;padding:9px 16px;border-radius:999px;background:#201513;color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em;transform:translateX(-50%);pointer-events:none;transition:.25s}
.colorful-home .network.is-dragging .orbit-hint{opacity:.3;transform:translateX(-50%) scale(.92)}
@keyframes solar-core-pulse{50%{box-shadow:0 0 0 25px #ffbd001b,0 0 100px #ffbd0090,0 18px 35px #20151335}}
@media(max-width:640px){.colorful-home .network{width:104vw;margin-left:-7vw;transform:none}.colorful-home .network:before{left:1%;right:1%;top:34%;bottom:34%}.colorful-home .network:after{left:17%;right:17%;top:40%;bottom:40%}.colorful-home .network i{left:calc(50% + cos(var(--angle))*44%);top:calc(50% + sin(var(--angle))*17%);width:62px;font-size:7px}.colorful-home .orbit-hint{bottom:12%;font-size:8px;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){.colorful-home .network-core{animation:none}.colorful-home .network i{transition:none;filter:none}}

/* Tighten vertical space and open the front side of the orbit. */
.colorful-home .cf-ecosystem{min-height:0;padding-bottom:20px}
.colorful-home .network{height:clamp(620px,58vw,820px);aspect-ratio:auto;margin:-34px auto -58px}
.colorful-home .network i{left:calc(50% + cos(var(--angle))*47%);top:calc(50% + sin(var(--angle))*17%)}
.colorful-home .orbit-hint{bottom:3%}
@media(max-width:640px){.colorful-home .cf-ecosystem{min-height:0;padding-bottom:4px}.colorful-home .network{height:560px;margin:-28px 0 -50px -7vw}.colorful-home .network i{left:calc(50% + cos(var(--angle))*47%);top:calc(50% + sin(var(--angle))*18%)}.colorful-home .orbit-hint{bottom:4%}}

.colorful-home .orbit-hint{display:flex;gap:24px;padding:0;background:transparent;opacity:.55;transform:translateX(-50%)}
.colorful-home .orbit-hint b{display:block;width:auto;height:auto;border:0;border-radius:0;background:transparent;color:#a8aaad;font-size:25px;font-weight:400;line-height:1;box-shadow:none}
.colorful-home .network.is-dragging .orbit-hint{transform:translateX(-50%) scale(.92)}
@media(max-width:640px){.colorful-home .orbit-hint{gap:18px}.colorful-home .orbit-hint b{font-size:20px}}

/* Solar system entrance: burst outward from the Sin Sin core. */
.colorful-home .cf-ecosystem.is-visible .network:before{animation:orbit-ring-open .9s .12s cubic-bezier(.16,1,.3,1) backwards}
.colorful-home .cf-ecosystem.is-visible .network:after{animation:orbit-ring-open .9s .24s cubic-bezier(.16,1,.3,1) backwards}
.colorful-home .cf-ecosystem.is-visible .network-core{animation:solar-core-arrival .85s cubic-bezier(.16,1,.3,1) backwards,solar-core-pulse 4.5s 1s ease-in-out infinite}
.colorful-home .cf-ecosystem.is-visible .network i{animation:solar-node-expand 1.05s calc(.18s + var(--n)*.045s) cubic-bezier(.12,.9,.2,1.12) backwards}
.colorful-home .cf-ecosystem.is-visible .orbit-hint{animation:orbit-hint-in .5s 1.1s ease-out backwards}
@keyframes orbit-ring-open{from{opacity:0;transform:scale(.08) rotate(-25deg)}to{opacity:1;transform:none}}
@keyframes solar-core-arrival{from{opacity:0;transform:scale(.05) rotate(-120deg);filter:blur(10px)}70%{opacity:1;transform:scale(1.12) rotate(6deg);filter:none}to{transform:none}}
@keyframes solar-node-expand{from{left:50%;top:50%;z-index:2;opacity:0;transform:translate(-50%,-50%) scale(.06);filter:blur(9px)}to{left:calc(50% + cos(var(--angle))*47%);top:calc(50% + sin(var(--angle))*17%);opacity:calc(.48 + var(--depth)*.52);transform:translate(-50%,-50%) scale(calc(.56 + var(--depth)*.58));filter:blur(calc((1 - var(--depth))*1.2px)) drop-shadow(0 calc(5px + var(--depth)*10px) calc(5px + var(--depth)*10px) #20151340)}}
@keyframes orbit-hint-in{from{opacity:0;transform:translateX(-50%) translateY(10px)}to{opacity:.55;transform:translateX(-50%)}}
@media(max-width:640px){@keyframes solar-node-expand{from{left:50%;top:50%;z-index:2;opacity:0;transform:translate(-50%,-50%) scale(.06);filter:blur(7px)}to{left:calc(50% + cos(var(--angle))*47%);top:calc(50% + sin(var(--angle))*18%);opacity:calc(.48 + var(--depth)*.52);transform:translate(-50%,-50%) scale(calc(.56 + var(--depth)*.58));filter:none}}}
@media(prefers-reduced-motion:reduce){.colorful-home .cf-ecosystem.is-visible .network:before,.colorful-home .cf-ecosystem.is-visible .network:after,.colorful-home .cf-ecosystem.is-visible .network-core,.colorful-home .cf-ecosystem.is-visible .network i,.colorful-home .cf-ecosystem.is-visible .orbit-hint{animation:none}}

/* Comic-book ecosystem backdrop */
.colorful-home .cf-ecosystem{isolation:isolate;background-color:#fff8df;background-image:radial-gradient(circle,#20151324 1.6px,transparent 1.9px);background-size:22px 22px}
.colorful-home .cf-ecosystem:before{content:"";position:absolute;z-index:0;left:50%;top:64%;width:min(92vw,1180px);aspect-ratio:1.45;background:#ffbd00;clip-path:polygon(50% 0,58% 25%,73% 8%,75% 31%,96% 22%,81% 43%,100% 50%,80% 57%,96% 78%,74% 69%,72% 94%,58% 75%,50% 100%,42% 75%,27% 93%,25% 69%,4% 78%,20% 57%,0 50%,20% 43%,4% 22%,26% 31%,28% 7%,42% 25%);opacity:.3;transform:translate(-50%,-50%) rotate(-4deg);filter:drop-shadow(18px 20px 0 #e5262023);pointer-events:none}
.colorful-home .cf-ecosystem:after{content:"MIX!";position:absolute;z-index:0;right:-.04em;top:38%;color:#fff;font-size:clamp(120px,19vw,330px);font-weight:900;font-style:italic;line-height:1;letter-spacing:-.08em;-webkit-text-stroke:5px #e52620;text-shadow:12px 14px 0 #201513;opacity:.13;transform:rotate(-10deg);pointer-events:none}
.colorful-home .cf-ecosystem .section-label{display:inline-block;padding:8px 13px;border:2px solid #201513;background:#fff;box-shadow:5px 6px 0 #201513;transform:rotate(-2deg)}
.colorful-home .cf-ecosystem>p{position:relative;padding:10px 18px;width:max-content;max-width:90%;margin-left:auto;margin-right:auto;background:#fff;border:2px solid #e52620;box-shadow:6px 7px 0 #201513;transform:rotate(.5deg)}
@media(max-width:640px){.colorful-home .cf-ecosystem{background-size:16px 16px,100% 100%}.colorful-home .cf-ecosystem:before{top:66%;width:145vw;opacity:.27}.colorful-home .cf-ecosystem:after{right:-8%;top:43%;font-size:45vw;-webkit-text-stroke:3px #e52620;text-shadow:7px 8px 0 #201513}.colorful-home .cf-ecosystem>p{max-width:96%;padding:8px 10px;font-size:11px}}

/* Ecosystem and directory are one continuous group. */
.colorful-home .cf-directory,
.colorful-home .cf-directory:before{
  background-color:#fff8df;
  background-image:radial-gradient(circle,#20151324 1.6px,transparent 1.9px);
  background-size:22px 22px;
}
.colorful-home .cf-directory{
  position:relative;
  z-index:1;
  margin-top:-1px;
  padding-top:38px;
  border-top:0;
  box-shadow:none;
}
.colorful-home .cf-ecosystem{
  z-index:2;
  overflow:visible;
}
.colorful-home .cf-directory:before{
  top:-45px;
  height:50px;
}
@media(max-width:640px){
  .colorful-home .cf-ecosystem,
  .colorful-home .cf-directory,
  .colorful-home .cf-directory:before{background-size:16px 16px}
  .colorful-home .cf-directory{padding-top:26px}
  .colorful-home .cf-directory:before{top:-35px;height:40px}
}

/* 2026-07-29 final interaction and carousel overrides */
.colorful-home .network i{
  transition:opacity .1s linear,filter .1s linear;
}
.banner-viewport{
  padding:10px 0 30px;
}
.banner-track{
  padding-bottom:4px;
}
.external-banner{
  box-sizing:border-box;
}
@media(max-width:640px){
  .colorful-home .network{cursor:grab;touch-action:pan-y}
  .colorful-home .network.is-dragging{cursor:grabbing}
  .banner-viewport{padding:8px 0 24px}
}

/* 2026-07-29 hero entrance sequence: photo, copy, then the lower-right finder */
.colorful-home .hero-photo{
  opacity:0;
  animation:hero-photo-cast-in 1.45s cubic-bezier(.16,1,.3,1) both;
  animation-play-state:paused;
}
.colorful-home .hero-copy h1 span,
.colorful-home .hero-copy h1 em,
.colorful-home .hero-subcopy,
.colorful-home .living-logo,
.colorful-home .hero-scroll{
  animation-play-state:paused;
}
.colorful-home.hero-sequence-ready .hero-photo,
.colorful-home.hero-sequence-ready .hero-copy h1 span,
.colorful-home.hero-sequence-ready .hero-copy h1 em,
.colorful-home.hero-sequence-ready .hero-subcopy,
.colorful-home.hero-sequence-ready .living-logo,
.colorful-home.hero-sequence-ready .hero-scroll{
  animation-play-state:running;
}
.colorful-home .hero-copy h1 span:nth-child(1){animation-delay:1.05s}
.colorful-home .hero-copy h1 span:nth-child(2){animation-delay:1.2s}
.colorful-home .hero-copy h1 span:nth-child(3){animation-delay:1.35s}
.colorful-home .hero-copy h1 em{animation-delay:1.52s}
.colorful-home .hero-subcopy{
  opacity:0;
  transform:translateY(24px);
  animation:hero-support-in .7s 1.85s cubic-bezier(.16,1,.3,1) forwards;
}
.colorful-home .living-logo{
  animation:hero-finder-late-in 1s 2.35s cubic-bezier(.16,1.35,.3,1) both;
}
.colorful-home .hero-scroll{
  opacity:0;
  animation:hero-support-in .55s 2.65s ease-out forwards;
}
@keyframes hero-photo-cast-in{
  0%{opacity:0;transform:scale(1.1);filter:blur(12px) saturate(.4)}
  55%{opacity:1;filter:blur(0) saturate(1.12)}
  100%{opacity:.93;transform:scale(1);filter:none}
}
@keyframes hero-support-in{
  to{opacity:1;transform:none}
}
@keyframes hero-finder-late-in{
  0%{opacity:0;transform:translate(70px,55px) scale(.58) rotate(12deg);filter:blur(9px)}
  62%{opacity:1;transform:translate(-6px,-4px) scale(1.05) rotate(-2deg);filter:none}
  100%{opacity:1;transform:none;filter:none}
}
@media(max-width:640px){
  .colorful-home .hero-photo{
    animation:hero-photo-cast-in 1.45s cubic-bezier(.16,1,.3,1) both,
      mobile-hero-pan 16s 1.45s ease-in-out infinite alternate;
    animation-play-state:paused;
  }
  .colorful-home.hero-sequence-ready .hero-photo{animation-play-state:running}
}
@media(prefers-reduced-motion:reduce){
  .colorful-home .hero-photo,
  .colorful-home .hero-subcopy,
  .colorful-home .living-logo,
  .colorful-home .hero-scroll{
    opacity:1;
    transform:none;
    filter:none;
    animation:none!important;
  }
}

/* 2026-07-30 mobile text-fit fixes and luminous loading logo */
.site-loader:before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:clamp(170px,24vw,300px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,#fff7b866 0,#ffbd0035 28%,#0c94d21c 52%,transparent 72%);
  transform:translate(-50%,-58%);
  filter:blur(14px);
  animation:loader-aura 1.8s ease-in-out infinite;
  pointer-events:none;
}
.site-loader img{
  position:relative;
  z-index:1;
  animation:loader-logo-glow 1.35s cubic-bezier(.16,1,.3,1) infinite alternate;
}
.site-loader p{position:relative;z-index:1}
@keyframes loader-logo-glow{
  0%{
    transform:scale(.92) rotate(-3deg);
    opacity:.78;
    filter:drop-shadow(0 10px 18px #0009) drop-shadow(0 0 2px #fff);
  }
  55%{
    filter:drop-shadow(0 12px 20px #0008) drop-shadow(0 0 13px #fff8) drop-shadow(0 0 24px #ffbd00aa);
  }
  100%{
    transform:scale(1.055) rotate(2deg);
    opacity:1;
    filter:drop-shadow(0 12px 22px #0007) drop-shadow(0 0 18px #fff) drop-shadow(0 0 38px #ffbd00dd);
  }
}
@keyframes loader-aura{
  0%,100%{opacity:.48;transform:translate(-50%,-58%) scale(.82)}
  50%{opacity:1;transform:translate(-50%,-58%) scale(1.12)}
}

@media(max-width:640px){
  .colorful-home .hero-copy{
    left:16px;
    right:16px;
  }
  .colorful-home .hero-copy h1{
    width:100%;
    font-size:clamp(50px,15.4vw,62px);
    letter-spacing:-.09em;
  }
  .colorful-home .hero-copy h1 span,
  .colorful-home .hero-copy h1 span:nth-child(2),
  .colorful-home .hero-copy h1 span:nth-child(3){
    width:max-content;
    max-width:100%;
  }
  .colorful-home .hero-copy h1 em{
    width:max-content;
    max-width:100%;
    margin:-.08em 0 0 auto;
    padding-right:.08em;
  }
  .colorful-home .hero-subcopy{
    left:18px;
    right:18px;
    max-width:none;
  }
  .colorful-home .hero-subcopy p{
    max-width:100%;
    font-size:clamp(12px,3.4vw,14px);
    line-height:1.75;
  }
  .colorful-home .hero-subcopy small{
    max-width:100%;
    font-size:clamp(6.5px,1.9vw,8px);
    line-height:1.6;
    letter-spacing:.12em;
    white-space:normal;
  }
  .colorful-home .cf-ecosystem h2{
    width:100vw;
    padding:0 1.1vw;
    font-size:15.5vw;
    letter-spacing:0;
  }
  .colorful-home .guide-bubble__text{
    max-width:100%;
    font-size:clamp(17px,5vw,20px);
    overflow-wrap:anywhere;
  }
}

@media(max-width:374px){
  .colorful-home .hero-copy h1{font-size:14.7vw}
  .colorful-home .hero-subcopy p{font-size:11.5px}
  .colorful-home .hero-subcopy small{font-size:6.2px;letter-spacing:.09em}
  .colorful-home .cf-ecosystem h2{font-size:14.9vw}
}

@media(prefers-reduced-motion:reduce){
  .site-loader:before,.site-loader img{animation:none}
}

.colorful-home .news-empty{
  display:grid;
  gap:10px;
  padding:24px 0;
  border-bottom:1px solid #fff4;
}
.colorful-home .news-empty small{font-size:11px;letter-spacing:.18em}
.colorful-home .news-empty b{font-size:clamp(18px,2vw,28px)}
