@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
@font-face{font-family:'Yomogi';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/yomogi-lienect.woff2') format('woff2')}
@font-face{font-family:'LieNeCt Formal';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-jp-lienect-bold.woff2') format('woff2')}
:root{--ink:#25374a;--muted:#596777;--blue:#e4f5fc;--blue-deep:#177ca5;--pink:#ffebf2;--pink-deep:#ad4f74;--line:#e4e9ed;--white:#fff;--radius:28px;--width:1160px;font-family:'Noto Sans JP',sans-serif;color:var(--ink);background:#fff;font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:110px}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #167ca5;outline-offset:6px}::selection{background:#c3edf9}main{overflow:hidden}.wrap{width:min(var(--width),calc(100% - 80px));margin-inline:auto}.skip-link{position:fixed;z-index:100;top:-100px;left:16px;background:var(--ink);color:white;padding:16px}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);border-bottom:1px solid #eef1f4}.header-inner{width:calc(100% - 80px);max-width:1400px;min-height:94px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:92px;height:58px;object-fit:contain}.brand-text{font-size:12px;letter-spacing:.06em;line-height:1.7}.brand-text strong{font-size:18px;font-weight:800;letter-spacing:.035em;display:block}.site-nav{display:flex;align-items:center;gap:29px}.site-nav>a{font-size:14px;font-weight:700;white-space:nowrap;transition:color .2s}.site-nav>a:hover{color:var(--blue-deep)}.site-nav .nav-cta{background:var(--ink);color:#fff;padding:15px 22px;border-radius:50px;display:flex;gap:12px;align-items:center}.menu-toggle{display:none}.button{min-height:58px;display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:50px;padding:16px 27px;font-weight:700;font-size:15px;line-height:1.6;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{background:#38556e;transform:translateY(-2px);box-shadow:0 8px 20px #25374a15}.button.light{background:#fff;color:var(--ink);border-color:#dce5ed}.button.light:hover{background:var(--blue)}.arrow{font-size:20px;font-weight:400;line-height:1}.hero{position:relative;background:linear-gradient(115deg,#effaff 0%,#f8fbfd 44%,#fff1f6 100%);padding:72px 0 70px;isolation:isolate}.hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(#87aab72d 1px,transparent 1px);background-size:23px 23px;mask-image:linear-gradient(to bottom,black,transparent);z-index:-1}.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:32px;min-height:500px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;letter-spacing:.06em}.eyebrow::before{content:'';display:inline-block;width:22px;height:7px;border-radius:8px;background:linear-gradient(90deg,#8bd5ee 50%,#f6adca 50%)}.hero h1{font-size:clamp(44px,4.6vw,66px);font-weight:900;line-height:1.5;letter-spacing:.015em;margin:24px 0}.hero h1 .accent{color:var(--blue-deep);position:relative;white-space:nowrap}.hero h1 .accent::after{content:'';position:absolute;bottom:0;left:0;right:0;height:9px;border-radius:50%;background:#f6bed5;z-index:-1;transform:rotate(-2deg)}.hero-description{font-size:16px;line-height:2.1;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:16px;margin-top:30px;flex-wrap:wrap}.hero-note{font-size:12px;margin-top:14px;color:var(--muted)}.hero-art{position:relative;aspect-ratio:1;display:grid;place-items:center}.logo-orbit{position:absolute;inset:8%;border:1px solid #cddfea;border-radius:50%;transform:rotate(-20deg)}.logo-orbit::before{content:'';position:absolute;inset:-36px;border:1px dashed #d7dee7;border-radius:50%}.hero-art .logo-disc{width:85%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(145deg,#ffffffdf,#ffffff80);box-shadow:inset 0 0 0 14px #ffffff60,0 20px 70px #d7b2c220;border:1px solid white;transform:rotate(-8deg)}.hero-logo{width:91%;filter:drop-shadow(0 13px 8px #59708c15)}.floating-label{position:absolute;background:white;border:1px solid #ffffff;padding:13px 22px;border-radius:13px;box-shadow:0 8px 25px #3e617514;font-weight:700;font-size:14px;letter-spacing:.05em;z-index:2}.floating-label.one{top:8%;left:2%;transform:rotate(-9deg)}.floating-label.two{right:-1%;top:41%;background:#e5f7ff;transform:rotate(8deg)}.floating-label.three{bottom:7%;left:12%;background:#ffeaf2;transform:rotate(-5deg)}.bubble{position:absolute;border-radius:50%;background:linear-gradient(140deg,#fff 5%,#c1ebfa 40%,#9cd9ec);box-shadow:inset -5px -5px 10px #9bcdde30,0 10px 25px #9fd1e326}.bubble.a{width:50px;height:50px;right:5%;top:7%}.bubble.b{width:32px;height:32px;left:0;bottom:25%;background:linear-gradient(145deg,#fff,#f3bfd5)}.bubble.c{width:16px;height:16px;right:15%;bottom:12%;background:#f3bfd5}.hero-bottom{display:flex;align-items:center;padding-top:15px;margin-top:18px;font-size:13px;color:var(--muted)}.hero-bottom a{font-size:13px;font-weight:700;display:flex;align-items:center;gap:18px}.intro{padding:100px 0;text-align:center}.section-kicker{font-size:14px;color:var(--blue-deep);font-weight:700;letter-spacing:.08em;display:block;margin-bottom:16px}.section-title{font-size:clamp(29px,3vw,42px);line-height:1.55;font-weight:800;letter-spacing:.025em}.section-copy{font-size:16px;line-height:2;color:var(--muted);margin-top:20px}.section{padding:94px 0}.section-top{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:40px}.text-link{font-size:15px;font-weight:700;display:inline-flex;align-items:center;gap:20px;padding:12px 0;border-bottom:1px solid #a8bcc9}.text-link:hover{color:var(--blue-deep)}.question-list{display:flex;justify-content:center;gap:20px;margin:35px 0}.question{padding:22px 24px;min-width:240px;border-radius:20px;background:#f1f9fc;font-weight:600;font-size:16px;position:relative}.question:nth-child(2){background:#fff1f6;transform:translateY(10px)}.question::after{content:'';position:absolute;bottom:-8px;left:calc(50% - 10px);border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #f1f9fc}.question:nth-child(2)::after{border-top-color:#fff1f6}.intro-answer{margin-top:50px;line-height:2;color:var(--muted);font-size:16px}.intro-answer strong{color:var(--ink)}.site-footer{background:#f7fafc;padding:55px 0 25px}.footer-main{display:flex;justify-content:space-between;gap:60px}.footer-main .brand img{width:110px;height:72px}.footer-copy{font-size:14px;color:var(--muted);line-height:1.9;margin-top:15px}.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:13px 42px;font-size:14px}.footer-nav a{padding-block:5px}.footer-nav a:hover{color:var(--blue-deep)}.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.demo-note{font-size:13px;color:var(--muted);line-height:1.8}.inline-tag{display:inline-block;border:1px solid #d7e2e9;border-radius:5px;padding:2px 8px;font-size:12px;font-weight:500;line-height:1.7;color:var(--muted);background:#fff}.line-icon{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:19px;border:1.6px solid currentColor;border-radius:7px;font-size:10px;letter-spacing:-1px;line-height:1}.no-js-nav{display:none}
@media(min-width:1500px){.hero h1{font-size:68px}.hero-grid{min-height:560px}}
@media(max-width:1100px){.site-nav{gap:18px}.header-inner{gap:20px}.brand-text{display:none}.hero-grid{gap:12px}.floating-label{padding:11px 16px}.question{min-width:0;flex:1}.hero-actions .button{padding-inline:22px;gap:16px}}
@media(max-width:1000px){.header-inner{min-height:78px}.brand-text{display:block}.menu-toggle{display:flex;border:1px solid #dce4eb;background:white;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border-radius:30px;font-size:14px;min-height:44px}.site-nav{display:none;position:absolute;top:78px;left:0;right:0;padding:22px 32px;background:white;box-shadow:0 18px 28px #25374a10}.site-nav.is-open{display:flex;align-items:stretch;flex-direction:column;gap:0}.site-nav>a{padding:14px}.site-nav .nav-cta{margin-top:12px;justify-content:center}.hero{padding-top:50px}.hero h1{font-size:48px}.hero-actions{gap:12px}.hero-actions .button{font-size:14px}.hero-art{margin-right:0}.floating-label{font-size:12px}.question-list{gap:14px}.question{font-size:14px;padding:20px 14px}}
@media(max-width:720px){:root{scroll-padding-top:90px}.wrap,.header-inner{width:calc(100% - 40px)}.header-inner{min-height:74px}.brand{gap:9px}.brand img{width:70px;height:49px}.brand-text{font-size:10px}.brand-text strong{font-size:16px}.site-nav{top:74px}.hero{padding:38px 0 28px}.hero-grid{grid-template-columns:1fr;gap:20px;min-height:0}.eyebrow{font-size:12px}.hero h1{font-size:clamp(37px,10vw,54px);line-height:1.48;margin:20px 0}.hero-description{font-size:14px;line-height:2}.hero-actions{margin-top:25px}.hero-actions .button{font-size:14px;min-height:54px;padding:14px 20px;gap:16px}.hero-note{font-size:12px}.hero-art{width:min(380px,100%);margin:-5px auto 0}.floating-label{font-size:13px}.hero-bottom{margin-top:8px;padding-top:10px;font-size:12px;line-height:1.8}.hero-bottom a{font-size:12px;white-space:nowrap}.hero-bottom>span{max-width:none;white-space:nowrap;font-size:11px}.section,.intro{padding:65px 0}.section-title{font-size:29px}.section-kicker{font-size:13px;margin-bottom:12px}.section-top{align-items:start;flex-direction:column;gap:20px;margin-bottom:30px}.section-copy{font-size:15px}.question-list{flex-direction:column;gap:20px;margin:28px auto;max-width:360px}.question{font-size:15px;padding:19px}.question:nth-child(2){transform:none}.intro-answer{margin-top:36px;font-size:15px}.footer-main{flex-direction:column;gap:30px}.footer-nav{gap:9px 25px}.footer-bottom{flex-direction:column;gap:10px}.button{font-size:14px;min-height:54px}.site-footer{padding-top:40px}}
img{height:auto}.hero-art .hero-logo{height:auto}.section-note{margin-top:24px}.mobile-break{display:none}.about{background:#f3fafd;border-radius:60px 60px 0 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-lead{font-size:23px;font-weight:700;line-height:1.9}.about-decoration{display:flex;align-items:center;margin-top:40px;padding-left:4px}.about-decoration span{display:grid;place-items:center;width:96px;aspect-ratio:1;background:#e0f2fa;border:4px solid #f3fafd;border-radius:50%;font-size:15px;font-weight:700;transform:rotate(-12deg)}.about-decoration span+span{margin-left:-12px;background:#ffe6f0;transform:rotate(8deg)}.about-decoration span:last-child{background:#fff;transform:rotate(-8deg)}.representative{margin-top:55px;padding:28px 32px;border:1px solid #e0ebf1;border-radius:22px;display:flex;align-items:center;gap:26px;background:#ffffffcc}.representative-logo{flex-shrink:0;background:white;border-radius:50%;width:86px;aspect-ratio:1;display:grid;place-items:center;padding:8px}.representative-copy{flex:1}.representative .section-kicker{font-size:12px;margin-bottom:8px}.representative h3{font-size:17px;line-height:1.7}.representative h3 span{font-size:14px;font-weight:500;margin-left:12px}.representative p{font-size:14px;line-height:1.9;color:var(--muted);margin-top:8px}.representative .text-link{font-size:14px;white-space:nowrap}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.event-poster{display:flex;flex-direction:column;justify-content:space-between;position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1.45;border-radius:20px;padding:24px;transition:transform .25s}.event-poster:hover{transform:translateY(-4px)}.summer{background:#e2f5fd;color:#225777}.first{background:#ffebf2;color:#803c58}.connect{background:#edf0fd;color:#515c89}.poster-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.04em;font-weight:600}.poster-top>span{font-size:12px;opacity:.85}.poster-title{font-size:clamp(22px,2.15vw,31px);font-weight:900;line-height:1.5;max-width:230px;letter-spacing:.03em;margin-top:18px}.poster-sub{font-size:12px;margin-top:18px;position:relative;z-index:1;font-weight:500}.poster-shape{position:absolute;right:-40px;bottom:-60px;width:190px;height:190px;z-index:-1;border:35px solid #ffffff70;border-radius:50%}.first .poster-shape{border-radius:32px;transform:rotate(30deg);border-color:#ffffff80}.connect .poster-shape{border:0;background:#ffffff80;border-radius:40%;transform:rotate(-25deg);bottom:-85px;right:-15px}.event-meta{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:12px;flex-wrap:wrap;color:var(--muted)}.event-meta>span:not(.inline-tag){color:var(--blue-deep);font-weight:500}.event-card h3{font-size:17px;line-height:1.7;margin-top:10px}.event-card h3 a{display:flex;justify-content:space-between;gap:16px}.event-card h3 a:hover{color:var(--blue-deep)}.event-description{font-size:15px;color:var(--muted);line-height:2;margin-top:17px}.event-result{font-size:14px;padding:15px 0;margin-top:18px;border-top:1px solid var(--line);font-weight:700}.support{background:#f6fafc}.support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.support-card{background:#fff;border:1px solid #e5ecf1;border-radius:24px;padding:28px 26px}.support-number{display:flex;align-items:center;gap:14px;color:var(--blue-deep);font-size:15px;font-weight:700}.support-number>span{font-size:13px;color:var(--muted)}.support-card:nth-child(2) .support-number{color:var(--pink-deep)}.support-card h3{font-size:21px;margin:21px 0 25px;font-weight:800;letter-spacing:-.03em}.support-list li{border-top:1px solid var(--line);padding:19px 0 0;margin-top:19px}.support-list strong{font-size:15px;line-height:1.8;display:block}.support-list li>span{font-size:13px;color:var(--muted);line-height:1.9;margin-top:5px;display:block}.condition{font-size:12px;color:#97506c;padding:1px 6px;border-radius:4px;background:#ffebf2;margin-left:4px;display:inline-block}.backoffice{margin-top:24px;padding:32px;border:1px solid #eddae4;background:#fff5f9;border-radius:24px;display:grid;grid-template-columns:1fr 1.35fr;gap:40px}.backoffice h3{font-size:23px;margin-top:19px}.backoffice>div>p{font-size:14px;line-height:1.9;color:var(--muted);margin-top:13px}.backoffice li{display:flex;gap:16px;align-items:start;padding:16px 0}.backoffice li+li{border-top:1px solid #efdee6}.backoffice strong{font-size:15px;line-height:1.9}.backoffice li p{font-size:13px;color:var(--muted);line-height:1.9;margin-top:5px}.benefit-tag{font-size:12px;white-space:nowrap;border-radius:6px;background:#fff;color:#9f496d;padding:7px 9px;border:1px solid #f0d6e1;margin-top:3px}.difference-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:100px}.difference-list article{display:flex;gap:26px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line)}.difference-list article:first-child{padding-top:0}.difference-list article>span{color:var(--blue-deep);font-size:17px;font-weight:600;line-height:1.7}.difference-list h3{font-size:20px}.difference-list p{font-size:15px;line-height:1.9;color:var(--muted);margin-top:12px}.creators{background:linear-gradient(120deg,#fdf6f9,#f6fbfd);border-radius:60px 60px 0 0}.creator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.creator-card{scroll-margin-top:120px}.creator-image{display:block;position:relative;aspect-ratio:4/4.7;border-radius:100px 100px 22px 22px;overflow:hidden;background:#eef1f3}.creator-image img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;transition:transform .5s}.creator-image:hover img{transform:scale(1.035)}.creator-card.blue img{object-position:50% 25%;transform:scale(1.3);transform-origin:50% 28%}.creator-card.blue .creator-image:hover img{transform:scale(1.335)}.photo-label{position:absolute;top:20px;left:50%;transform:translateX(-50%);font-size:12px;white-space:nowrap;background:#ffffffed;color:#405263;padding:5px 10px;border-radius:12px}.creator-genre{position:absolute;bottom:18px;left:20px;background:#fff;padding:7px 15px;border-radius:30px;font-size:13px;font-weight:600}.creator-body{padding:22px 5px 0}.creator-name{display:flex;align-items:center;justify-content:space-between;gap:16px}.creator-name h3{font-size:25px;font-weight:800}.creator-name>a{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d4e0e6;border-radius:50%;background:white}.creator-name>a:hover{background:var(--blue)}.creator-body>p{font-size:14px;line-height:1.9;color:var(--muted);margin-top:9px}.creator-body>p.creator-bio{font-size:15px;margin-top:18px}.creator-card:target .creator-image{outline:3px solid #77bbd7;outline-offset:6px}.flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;counter-reset:step}.flow-grid>li{position:relative;border-top:2px solid #d7eaf3;padding-top:25px}.flow-grid>li:nth-child(2){border-color:#f1d4e1}.step-number{display:grid;place-items:center;background:#eaf6fc;width:52px;height:52px;border-radius:50%;font-size:16px;font-weight:700;color:var(--blue-deep)}.flow-grid>li:nth-child(2) .step-number{background:#fff0f6;color:var(--pink-deep)}.flow-grid h3{font-size:21px;margin-top:19px}.flow-grid p{font-size:14px;color:var(--muted);line-height:1.9;margin-top:14px}.flow-grid a{font-size:14px;display:inline-block;border-bottom:1px solid #6f8ea0;font-weight:600;padding:8px 0;margin-top:10px}.join{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,#e6f6fe,#fff0f6);text-align:center;padding:80px 0}.join::before,.join::after{content:'';position:absolute;width:380px;height:380px;border:60px solid #ffffff50;border-radius:50%;z-index:-1}.join::before{left:-190px;top:-70px}.join::after{right:-160px;bottom:-190px}.join h2{font-size:clamp(29px,3.2vw,43px);font-weight:800;line-height:1.7;letter-spacing:.03em}.join p{font-size:16px;line-height:2;color:var(--muted);margin:23px 0 28px}.join .button{padding-inline:34px;min-width:280px}.join-small{display:block;font-size:13px;color:var(--muted);margin-top:17px}.partner-banner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:60px}.partner-banner .section-kicker{font-size:13px;margin-bottom:10px}.partner-banner h2{font-size:25px}.partner-banner p{font-size:14px;color:var(--muted);margin-top:12px;line-height:1.8}.page-head{padding:26px 0 68px;background:linear-gradient(115deg,#eef9fe,#fff3f8)}.breadcrumb{font-size:13px;display:flex;gap:12px;align-items:center;color:var(--muted);margin-bottom:47px}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.page-head h1{font-size:clamp(30px,3.5vw,46px);font-weight:800;line-height:1.6;letter-spacing:.02em}.page-head>.wrap>p{font-size:16px;color:var(--muted);line-height:2;margin-top:20px}.demo-banner{display:flex;align-items:center;gap:16px;background:#f7fafc;border:1px solid var(--line);border-radius:12px;font-size:14px;color:var(--muted);line-height:1.9;padding:17px 22px;margin-bottom:42px}.demo-banner .inline-tag{flex-shrink:0}.page-return{display:flex;justify-content:center;margin-top:55px}.events-full .event-poster{aspect-ratio:1.3}.events-full .event-card{scroll-margin-top:120px}.events-full .event-card:target .event-poster{outline:3px solid #77bbd7;outline-offset:6px}.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:940px;margin:auto}.partner-card{padding:30px;border:1px solid var(--line);border-radius:24px}.partner-mark{display:grid;place-items:center;padding:55px 20px;border-radius:16px;font-size:36px;font-weight:800;letter-spacing:.15em;margin-bottom:25px}.blue-mark{background:#eaf6fd;color:#39738e}.pink-mark{background:#fff0f5;color:#95617a}.partner-card h2{font-size:21px;margin-top:15px;line-height:1.8}.partner-card p{font-size:15px;line-height:2;color:var(--muted);margin-top:16px}
@media(max-width:1100px){.support-card{padding:24px 20px}.support-card h3{font-size:19px}.difference-grid{gap:50px}.event-grid{gap:22px}.poster-sub{font-size:12px}.event-poster{padding:20px}.representative{gap:20px}.representative h3 span{display:block;margin-left:0}}
@media(max-width:900px){.about-grid{gap:40px}.event-grid{gap:18px}.event-poster{padding:17px;aspect-ratio:1.15}.poster-title{font-size:24px}.poster-sub{font-size:12px}.support-grid{grid-template-columns:1fr}.support-card{padding:26px}.support-card h3{font-size:23px}.support-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.support-list li{margin-top:0}.support-card h3{margin-bottom:24px}.backoffice{gap:25px;padding:28px;grid-template-columns:1fr 1.25fr}.backoffice h3{font-size:21px}.creator-grid{gap:22px}.creator-image{border-radius:70px 70px 20px 20px}.creator-body>p{font-size:13px}.representative{flex-wrap:wrap}.representative>.text-link{margin-left:106px}.difference-grid{gap:45px}.flow-grid{gap:25px}.flow-grid h3{font-size:19px}.flow-grid p br{display:none}}
@media(max-width:720px){.about,.creators{border-radius:32px 32px 0 0}.about-grid,.difference-grid{grid-template-columns:1fr;gap:28px}.about-decoration{margin-top:25px}.about-decoration span{width:76px;font-size:13px}.about-lead{font-size:21px}.about .section-copy{margin-top:18px}.representative{margin-top:30px;padding:20px;gap:16px}.representative-logo{width:64px}.representative-copy{min-width:150px}.representative h3{font-size:15px}.representative h3 span{font-size:13px}.representative p{font-size:13px}.representative>.text-link{margin-left:80px}.event-grid{grid-template-columns:1fr;gap:32px}.event-poster,.events-full .event-poster{aspect-ratio:1.6;padding:24px}.poster-title{font-size:30px;max-width:none}.poster-sub{font-size:13px}.poster-shape{width:220px;height:220px}.event-meta{margin-top:17px;gap:10px}.event-card h3{font-size:18px}.support .section-top .section-copy{margin-top:0}.support-list{display:block}.support-list li{padding-top:16px;margin-top:16px}.support-card{padding:25px}.support-card h3{font-size:22px;margin-bottom:19px}.support-list strong{font-size:16px}.support-list li>span{font-size:14px}.backoffice{grid-template-columns:1fr;gap:16px;padding:25px}.backoffice h3{font-size:23px}.backoffice li{gap:12px}.backoffice strong{font-size:14px}.benefit-tag{font-size:12px}.difference-grid{gap:38px}.difference-list article{padding:23px 0;gap:20px}.difference-list h3{font-size:19px}.creator-grid{grid-template-columns:1fr;gap:34px;max-width:410px;margin-inline:auto}.creator-image{aspect-ratio:4/4.2;border-radius:90px 90px 20px 20px}.creator-body{padding:18px 4px 0}.creator-name h3{font-size:25px}.creator-body>p{font-size:15px}.creator-card.blue img{transform:scale(1.35)}.flow-grid{grid-template-columns:1fr;gap:26px}.flow-grid>li{padding:24px 0 0 72px;min-height:140px}.step-number{position:absolute;top:24px;left:0;width:48px;height:48px}.flow-grid h3{font-size:21px;margin-top:0}.flow-grid p{font-size:15px;margin-top:12px}.flow-grid p br{display:block}.join{padding:60px 0}.join h2{font-size:27px;letter-spacing:0;line-height:1.8}.join .section-kicker{font-size:12px}.join p{font-size:15px;margin:21px 0 25px}.partner-banner{padding-block:45px;flex-direction:column;align-items:start;gap:25px}.partner-banner h2{font-size:23px}.partner-banner .button{align-self:stretch;justify-content:space-between}.page-head{padding:22px 0 45px}.breadcrumb{font-size:12px;margin-bottom:33px}.page-head h1{font-size:31px}.page-head>.wrap>p{font-size:15px}.demo-banner{align-items:start;flex-direction:column;gap:9px;padding:17px;font-size:13px;margin-bottom:30px}.partner-grid{grid-template-columns:1fr}.partner-card{padding:24px}.partner-mark{font-size:32px}.partner-card h2{font-size:20px}.page-return{margin-top:38px}.mobile-break{display:block}.desktop-break{display:none}}
.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.support-list li>span,.backoffice li p{font-size:14px}.menu-toggle{white-space:nowrap;flex-shrink:0}
@media(max-width:720px){.hero h1{font-size:clamp(30px,9.8vw,54px)}.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head h1{font-size:clamp(26px,7.9vw,32px)}}
@media(max-width:420px){.hero-actions .button{width:100%;justify-content:space-between}.hero-actions .button:first-child{justify-content:center}.hero-actions .button.light{background:transparent;border-color:transparent;min-height:42px;padding-block:7px;justify-content:center}.hero-actions{gap:5px}.header-inner{gap:10px}.header-inner .brand img{width:60px}.menu-toggle{padding:10px 12px}.eyebrow{font-size:11px;letter-spacing:0}.eyebrow::before{flex-shrink:0;width:20px}.hero-note{margin-top:8px}}
.page-head h1{text-wrap:balance}.button:active{transform:translateY(0);box-shadow:none}.button.light:active,.menu-toggle:active{background:#d7effb}.hero-description,.section-copy,.intro-answer,.difference-list p,.creator-body>p.creator-bio,.event-description,.partner-card p,.page-head>.wrap>p,.flow-grid p{font-size:1rem}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Compact activity, support carousel and creator profiles. */
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
html.is-restoring, html.is-restoring * { scroll-behavior: auto !important; }
html.is-restoring body { visibility: hidden; }
.achievements-layout { display: grid; grid-template-columns: 1fr; gap: 24px; align-items: start; }
.achievement-list { display: grid; gap: 22px; }
.achievement-list li { position: relative; padding-left: 21px; font-size: 1rem; line-height: 2; }
.achievement-list li::before { content: ''; position: absolute; left: 0; top: .9em; width: 6px; height: 6px; border-radius: 50%; background: var(--blue-deep); }
.achievements .text-link { margin-top: 24px; }
.achievement-page { max-width: 920px; }

.support { background: #f9fcfd; }
.support-carousel { min-width: 0; }
.support-track { display: flex; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; border-radius: 34px; }
.support-track::-webkit-scrollbar { display: none; }
.support-slide { flex: 0 0 100%; min-width: 0; display: grid; grid-template-columns: 1fr 1.12fr; align-items: center; gap: 44px; padding: 48px; scroll-snap-align: start; scroll-snap-stop: always; background: #f9eaf2; position: relative; isolation: isolate; overflow: hidden; }
.support-slide.stream { background: #e8f6fc; }
.support-slide.creative { background: #f5ecf9; }
.support-slide.community { background: #ecf8f8; }
.support-slide-heading { position: relative; isolation: isolate; }
.support-category { display: inline-block; border-radius: 30px; background: #fff9; border: 1px solid #fff; padding: 8px 16px; font-size: .875rem; font-weight: 700; }
.support-promise { font-size: clamp(27px, 2.65vw, 36px); line-height: 1.65; margin-top: 22px; font-weight: 800; }
.support-lead { font-size: 1rem; line-height: 1.9; margin-top: 17px; color: var(--muted); }
.support-orb { position: absolute; width: 160px; height: 160px; right: 4%; bottom: -42px; background: radial-gradient(circle at 32% 25%, #fff9, #fff1 72%); border: 1px solid #fff8; border-radius: 50%; z-index: -1; }
.service-items { padding: 9px 27px; border-radius: 24px; background: #ffffffcf; border: 1px solid #fff; }
.service-items li { padding: 20px 0; display: flex; align-items: start; gap: 15px; }
.service-items li + li { border-top: 1px solid #25374a15; }
.service-items strong { display: block; font-size: 1rem; line-height: 1.85; }
.service-items p { margin-top: 6px; font-size: .875rem; line-height: 1.8; color: var(--muted); }
.service-items .benefit-tag { flex-shrink: 0; }
.service-link { display: inline-block; font-size: .875rem; font-weight: 600; border-bottom: 1px solid #577084; padding: 10px 0 4px; margin-top: 6px; }
.service-link:hover { color: var(--blue-deep); }
.slider-controls { display: flex; align-items: center; justify-content: flex-end; gap: 22px; margin: 0 0 18px; }
.circle-button { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid #ccdce6; background: #fff; color: var(--ink); border-radius: 50%; cursor: pointer; font-size: 23px; transition: transform .25s, background .25s; }
.circle-button:hover:not(:disabled) { background: var(--blue); transform: translateY(-2px); }
.circle-button:disabled { opacity: .35; cursor: default; }
.slide-count { font-size: 1rem; letter-spacing: .09em; min-width: 56px; text-align: center; font-variant-numeric: tabular-nums; }
.slide-count [data-support-count] { font-weight: 800; }

.difference > .wrap { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 55px; }
.difference-heading .section-title { font-size: clamp(24px, 3vw, 39px); line-height: 1.7; text-wrap: balance; }
.strength-triangle { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; max-width: 550px; margin-inline: auto; isolation: isolate; }
.strength-orb { grid-column: span 2; aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; padding: 20px 15px; text-align: center; position: relative; box-shadow: inset 0 3px 7px #fff, inset 0 -14px 25px #d39eb319, 0 13px 30px #b6d3df16; border: 1px solid #fff; }
.strength-orb.finance { grid-column: 2 / span 2; margin-bottom: -9%; background: radial-gradient(circle at 35% 22%, #fff 0, #ffeaf2 40%, #f5c9dc 100%); z-index: 2; }
.strength-orb.expression { background: radial-gradient(circle at 35% 22%, #fff 0, #e2f5fd 40%, #bbe5f5 100%); transform: translateX(-3%); }
.strength-orb.tools { background: radial-gradient(circle at 35% 22%, #fff 0, #f0edff 45%, #d5dcf6 100%); transform: translateX(3%); }
.strength-orb h3 { font-size: clamp(14px, 1.55vw, 20px); line-height: 1.65; font-weight: 800; }
.strength-orb p { font-size: .875rem; line-height: 1.75; margin-top: 9px; color: #4f6070; }

.creators { background: linear-gradient(135deg, #fff3f7, #f0f9fe); border-radius: 40px; }
.creators .section-title { font-size: clamp(25px, 2.8vw, 37px); }
.creator-rail { overflow: visible; }
.creator-track { width: 100%; }
.creator-set, .talent-directory { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.talent-card { position: relative; min-width: 0; border-radius: 25px; aspect-ratio: .69; overflow: hidden; background: #edf1f4; isolation: isolate; scroll-margin-top: 110px; }
.talent-face { width: 100%; height: 100%; display: block; padding: 0; border: 0; color: #fff; background: none; cursor: pointer; text-align: left; }
.talent-face img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.talent-card[data-creator="banken"] img { object-position: 50% 58%; }
.talent-card[data-creator="ren"] img { transform: scale(1.24); transform-origin: 50% 24%; }
.talent-face::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #14233200 26%, #14233208 46%, #142332dd 100%); }
.talent-face:hover img { transform: scale(1.035); }
.talent-card[data-creator="ren"] .talent-face:hover img { transform: scale(1.28); }
.talent-caption { position: absolute; left: 21px; right: 21px; bottom: 24px; display: grid; gap: 8px; z-index: 2; text-shadow: 0 2px 5px #0004; }
.talent-caption strong { font-size: 27px; font-weight: 800; line-height: 1.5; }
.talent-caption > span { font-size: .875rem; line-height: 1.8; padding-right: 18px; }
.talent-demo { position: absolute; left: 13px; top: 13px; z-index: 2; padding: 5px 9px; font-size: 12px; background: #ffffffec; color: #405263; border-radius: 20px; }
.talent-expand { position: absolute; bottom: 24px; right: 13px; z-index: 2; font-size: 23px; line-height: 1; }
.talent-details { position: absolute; inset: 0; z-index: 4; background: linear-gradient(145deg, #fff, #f2f9ff); padding: 27px 20px 20px; overflow-y: auto; overscroll-behavior: contain; animation: details-in .3s cubic-bezier(.2,.7,.2,1); }
.talent-details h3 { font-size: 25px; margin-bottom: 15px; padding-right: 25px; }
.talent-close { position: absolute; top: 6px; right: 6px; width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 50%; background: none; color: var(--ink); font-size: 25px; cursor: pointer; }
.talent-close:hover { background: #e9f4fa; }
.talent-subheading { display: block; font-size: 12px; color: var(--muted); margin-bottom: 9px; }
.talent-records { display: grid; gap: 8px; }
.talent-records li { font-size: 15px; line-height: 1.8; padding-bottom: 8px; border-bottom: 1px solid #dfebf3; font-weight: 600; }
.talent-tiktok { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; margin-top: 10px; font-size: 14px; font-weight: 700; }
.talent-tag { font-size: 14px; font-weight: 700; margin-top: 13px; }
.talent-bio { font-size: 14px; line-height: 1.9; margin-top: 10px; }
.talent-card:focus-within { outline: 3px solid var(--blue-deep); outline-offset: -3px; }
.talent-card.is-expanded .talent-face { visibility: hidden; }
.creator-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 15px; font-size: 13px; color: var(--muted); }
.creator-copy { display: none; }
.talent-directory { gap: 24px; }
@keyframes details-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }

.flow-heading { margin-bottom: 30px; }
.flow-heading .section-title { font-size: clamp(25px, 2.8vw, 37px); }
.flow-arrows { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; width: 100%; align-items: stretch; }
.flow-arrows li { min-height: 82px; display: flex; align-items: center; justify-content: center; padding: 16px 18px 16px 23px; background: #e3f4fc; clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%, 16px 50%); font-size: 18px; font-weight: 700; white-space: nowrap; }
.flow-arrows li:first-child { clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%); border-radius: 14px 0 0 14px; padding-left: 8px; }
.flow-arrows li:nth-child(even) { background: #ffebf3; }
.flow-arrows a { display: flex; align-items: center; justify-content: center; min-height: 44px; width: 100%; text-decoration: underline; text-underline-offset: 5px; }
.company-page { max-width: 900px; }
.company-table { margin: 0; }
.company-table > div { display: grid; grid-template-columns: 150px 1fr; gap: 30px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.company-table > div:first-child { border-top: 1px solid var(--line); }
.company-table dt { font-weight: 600; color: var(--muted); }
.company-table dd { margin: 0; line-height: 1.8; }

@media (max-width: 1000px) {
  .support-slide { padding: 32px; gap: 26px; }
  .service-items { padding: 6px 20px; }
  .difference > .wrap { gap: 25px; grid-template-columns: .8fr 1.2fr; }
  .strength-orb { padding: 16px 8px; }
  .strength-orb p { font-size: 13px; }
  .talent-directory, .creator-set { gap: 14px; }
  .talent-caption { left: 15px; right: 15px; bottom: 18px; }
  .talent-caption strong { font-size: 23px; }
  .talent-caption > span { font-size: 13px; }
  .talent-demo { font-size: 12px; padding: 4px 6px; left: 8px; }
  .talent-details { padding: 23px 14px 14px; }
}
@media (max-width: 720px) {
  .section { padding-block: 52px; }
  .achievements-layout { grid-template-columns: 1fr; gap: 24px; }
  .achievement-list { gap: 16px; }
  .achievement-list li { font-size: 15px; line-height: 1.95; padding-left: 17px; }
  .support .section-top { gap: 15px; margin-bottom: 25px; }
  .support .section-copy { font-size: 15px; }
  .support .section-copy br { display: none; }
  .support-track { border-radius: 25px; }
  .support-slide { grid-template-columns: 1fr; align-content: start; gap: 21px; padding: 25px 20px; }
  .support-promise { font-size: 25px; line-height: 1.55; margin-top: 15px; }
  .support-promise br { display: none; }
  .support-lead { font-size: 14px; line-height: 1.85; margin-top: 12px; }
  .support-category { font-size: 13px; padding: 6px 12px; }
  .support-orb { width: 100px; height: 100px; right: -10px; bottom: -10px; }
  .service-items { padding: 0 15px; border-radius: 18px; }
  .service-items li { gap: 10px; padding: 17px 0; }
  .service-items strong { font-size: 14px; }
  .service-items p { font-size: 13px; }
  .service-items .benefit-tag { font-size: 12px; padding: 4px 6px; }
  .service-link { font-size: 13px; min-height: 42px; }
  .slider-controls { gap: 22px; margin-top: 18px; }
  .difference > .wrap { display: block; }
  .difference-heading { text-align: center; margin-bottom: 25px; }
  .difference-heading .section-title { font-size: 26px; line-height: 1.65; }
  .strength-triangle { width: calc(100% - 8px); max-width: 400px; }
  .strength-orb { padding: 14px 7px; }
  .strength-orb.finance { margin-bottom: -12%; }
  .strength-orb h3 { font-size: clamp(13px, 3.7vw, 16px); letter-spacing: -.03em; }
  .strength-orb p { font-size: 12px; line-height: 1.6; margin-top: 6px; }
  .creators { border-radius: 28px; }
  .creators .section-top { gap: 15px; margin-bottom: 24px; }
  .creators .section-title { font-size: 26px; }
  .creator-rail { overflow-x: auto; overflow-y: hidden; scrollbar-width: none; overscroll-behavior-x: contain; border-radius: 20px; }
  .creator-rail::-webkit-scrollbar { display: none; }
  .creator-track { display: flex; gap: 14px; width: max-content; }
  .creator-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, auto); grid-auto-flow: column; gap: 14px; width: var(--creator-width, calc(100vw - 40px)); flex: 0 0 var(--creator-width, calc(100vw - 40px)); }
  .creator-copy { display: grid; }
  .talent-card { border-radius: 19px; aspect-ratio: .73; }
  .talent-face img { object-position: 50% 35%; }
  .talent-caption { left: 12px; right: 12px; bottom: 14px; gap: 4px; }
  .talent-caption strong { font-size: 22px; }
  .talent-caption > span { font-size: 12px; line-height: 1.6; padding-right: 5px; }
  .talent-expand { bottom: auto; top: 10px; right: 9px; font-size: 21px; }
  .talent-demo { top: 9px; left: 8px; padding: 3px 6px; max-width: calc(100% - 32px); font-size: 12px; line-height: 1.4; border-radius: 7px; }
  .talent-details { padding: 18px 12px 10px; scrollbar-width: thin; }
  .talent-details h3 { font-size: 21px; line-height: 1.25; margin-bottom: 7px; }
  .talent-subheading { display: none; }
  .talent-records { gap: 3px; }
  .talent-records li { font-size: 13px; line-height: 1.6; padding-bottom: 3px; }
  .talent-tiktok { font-size: 13px; gap: 4px; margin-top: 4px; }
  .talent-bio { font-size: 13px; line-height: 1.75; }
  .creator-toolbar { font-size: 12px; align-items: center; }
  .talent-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .flow-heading { margin-bottom: 24px; }
  .flow-heading .section-title { font-size: 25px; }
  .flow-arrows li { min-height: 65px; font-size: clamp(12px, 3.15vw, 16px); letter-spacing: -.045em; padding: 8px 2px 8px 9px; clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 50%, calc(100% - 8px) 100%, 0 100%, 8px 50%); }
  .flow-arrows li:first-child { clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 50%, calc(100% - 8px) 100%, 0 100%); border-radius: 9px 0 0 9px; padding-left: 2px; }
  .flow-arrows a { min-height: 44px; }
  .company-table > div { grid-template-columns: 70px 1fr; gap: 20px; padding: 23px 0; font-size: 15px; }
}

/* Support header and controls share a strict two-row composition. */
.support-composition { display: grid; grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr); grid-template-rows: auto auto; column-gap: 20px; align-items: center; }
.support-composition .support-heading { grid-column: 1; grid-row: 1; margin-bottom: 12px; align-self: start; }
.support-composition .support-orbit-intro { grid-column: 1; grid-row: 2; }
.support-composition .support-wheel { display: contents; }
.support-composition .orbit-controls { grid-column: 2; grid-row: 1; align-self: start; justify-self: end; margin: 0; }
.support-composition .support-orbit { grid-column: 2; grid-row: 2; width: 100%; }
.has-js .orbit-hub { background: #fff; }
.orbit-hub img { width: 70%; height: 70%; object-fit: contain; }

/* Two rows of navigation keep the desktop footer compact. */
@media (min-width: 1001px) {
  .site-footer { padding: 18px 0 12px; }
  .footer-main { align-items: center; gap: 26px; }
  .footer-main .brand img { width: 104px; height: 58px; }
  .footer-nav { flex: 1; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 2px 18px; }
  .footer-nav a { padding-block: 5px; }
  .footer-bottom { margin-top: 10px; padding-top: 9px; }
}

@media (max-width: 720px) {
  .support-composition { grid-template-columns: minmax(0,1fr) auto; grid-template-rows: auto auto auto; column-gap: 10px; }
  .support-composition .support-heading { grid-column: 1 / -1; grid-row: 1; }
  .support-composition .support-orbit-intro { grid-column: 1; grid-row: 2; min-width: 0; margin-top: 4px; }
  .support-composition .orbit-controls { grid-column: 2; grid-row: 2; align-self: center; white-space: nowrap; }
  .support-composition .support-orbit { grid-column: 1 / -1; grid-row: 3; }
  .support-composition .support-orbit-intro p { font-size: 11px; line-height: 1.75; white-space: nowrap; }
  .support-composition .orbit-controls { gap: 4px; }
  .support-composition .orbit-controls .circle-button { width: 32px; height: 32px; min-width: 32px; font-size: 15px; }
  .support-composition .orbit-count { min-width: 34px; font-size: 12px; }
  .support-composition .orbit-hub img { width: 84%; height: 84%; }
}
@media (prefers-reduced-motion: reduce) {
  .support-track { scroll-behavior: auto; }
  .talent-details { animation: none; }
  .talent-face img, .circle-button { transition: none; }
}

/* A portrait and connected thought bubbles, with live text. */
.question-scene { position: relative; width: min(840px, 100%); height: 385px; margin: 30px auto 0; isolation: isolate; }
.question-portrait { position: absolute; width: 325px; height: 390px; right: 45px; bottom: 0; object-fit: contain; mask-image: linear-gradient(#000 88%, transparent 100%); z-index: -1; }
.question-scene .question-list { display: block; position: absolute; inset: 0; max-width: none; margin: 0; }
.question-scene .question { --thought: #edf8fd; position: absolute; min-width: 0; width: max-content; max-width: 65%; padding: 20px 27px; border-radius: 52% 48% 47% 53% / 49% 54% 46% 51%; background: var(--thought); font-size: 16px; line-height: 1.8; transform: rotate(-3deg); }
.question-scene .question:nth-child(1) { left: 14%; top: 10px; }
.question-scene .question:nth-child(2) { --thought: #fff0f6; left: 1%; top: 128px; transform: rotate(2deg); }
.question-scene .question:nth-child(3) { left: 11%; top: 248px; transform: rotate(-2deg); }
.question-scene .question::after, .question-scene .question::before { content: ''; position: absolute; border: 0; border-radius: 50%; background: var(--thought); }
.question-scene .question::after { width: 17px; height: 13px; left: auto; right: -20px; bottom: 7px; }
.question-scene .question::before { width: 9px; height: 8px; right: -37px; bottom: 0; }
.question-scene .question:nth-child(1)::after { right: -12px; bottom: -12px; }
.question-scene .question:nth-child(1)::before { right: -24px; bottom: -25px; }
.question-scene .question:nth-child(3)::after { bottom: auto; top: 8px; }
.question-scene .question:nth-child(3)::before { bottom: auto; top: 0; }
.intro-answer { margin-top: 22px; }

/* Hand-painted backgrounds retain readable HTML text. */
.strength-orb { background: none !important; border: 0; box-shadow: none; border-radius: 0; isolation: isolate; }
.strength-orb::before { content: ''; position: absolute; inset: -6%; background: url('/assets/strength-paint.png') center / contain no-repeat; z-index: -1; transform: rotate(-11deg); }
.strength-orb.expression::before { transform: rotate(26deg); }
.strength-orb.tools::before { transform: rotate(130deg); }
.strength-orb.finance { margin-bottom: -5%; }
.strength-orb h3, .strength-orb p { position: relative; }
.flow-break { display: none; }
.question-break { display: none; }

@media (max-width: 720px) {
  .intro .section-title { font-size: clamp(19px, 5.7vw, 26px); line-height: 1.75; letter-spacing: 0; }
  .question-break { display: block; }
  .question-scene { height: 310px; margin-top: 26px; max-width: 420px; }
  .question-portrait { width: 220px; height: 264px; right: -15px; bottom: 0; }
  .question-scene .question { font-size: 13px; line-height: 1.85; padding: 14px 16px; max-width: none; width: 190px; text-wrap: balance; }
  .question-scene .question:nth-child(1) { left: 3%; top: 3px; }
  .question-scene .question:nth-child(2) { left: 0; top: 99px; width: 183px; }
  .question-scene .question:nth-child(3) { left: 2%; top: 198px; width: 186px; }
  .question-scene .question::after { right: -13px; width: 12px; height: 10px; }
  .question-scene .question::before { right: -24px; width: 6px; height: 6px; }
  .question-scene .question:nth-child(1)::after { right: 17px; bottom: -13px; }
  .question-scene .question:nth-child(1)::before { right: 5px; bottom: -25px; }
  .intro-answer { margin-top: 18px; font-size: 14px; }
  .support .section-top { margin-bottom: 14px; }
  .support .section-top .section-copy { display: none; }
  .support .section-title { font-size: 27px; }
  .support-slide { padding: 20px 18px; gap: 15px; }
  .support-slide .support-category { font-size: 16px; padding: 0; background: none; border: 0; border-radius: 0; line-height: 1.6; margin: 0; }
  .support-promise { display: none; }
  .support-slide-heading .support-lead { margin-top: 8px; font-size: 13px; line-height: 1.75; }
  .support-slide:not(.office) .support-lead { display: none; }
  .support-orb { display: none; }
  .service-items { padding: 0 13px; border-radius: 15px; }
  .service-items li { gap: 8px; padding: 12px 0; }
  .service-items strong { font-size: 14px; line-height: 1.7; }
  .service-items p { font-size: 13px; line-height: 1.65; margin-top: 3px; }
  .service-items .benefit-tag { padding: 3px 5px; }
  .service-link { min-height: 44px; padding-top: 9px; margin-top: 0; }
  .support .slider-controls { margin: 0 0 13px; gap: 15px; }
  .support .circle-button { width: 44px; height: 44px; }
  .support .section-note { margin-top: 14px; font-size: 12px; }
  .strength-orb.finance { margin-bottom: -5%; }
  .strength-orb h3 { font-size: clamp(12px, 3.5vw, 16px); }
  .flow-arrows { gap: 5px; }
  .flow-arrows li, .flow-arrows li:first-child { padding: 8px 7px; font-size: clamp(12px, 3.25vw, 16px); line-height: 1.6; white-space: normal; text-align: center; }
  .flow-arrows a { display: block; align-content: center; }
  .flow-break { display: block; }
}
@media (max-width: 359px) {
  .question-scene { height: 295px; }
  .question-portrait { width: 192px; height: 231px; right: -21px; }
  .question-scene .question { font-size: 12px; padding: 12px; }
  .question-scene .question:nth-child(1) { width: 168px; left: 0; }
  .question-scene .question:nth-child(2) { width: 155px; left: -3px; top: 89px; }
  .question-scene .question:nth-child(3) { width: 158px; left: 0; top: 178px; }
  .support-slide { padding: 18px 14px; }
  .service-items { padding-inline: 10px; }
  .service-items .benefit-tag { padding-inline: 3px; }
}

/* Persistent desktop navigation; the compact mobile header remains available. */
.nav-stamp { display: none; }
@media (min-width: 1001px) {
  :root { --rail-width: 216px; scroll-padding-top: 28px; }
  body { padding-left: var(--rail-width); }
  .site-header { position: fixed; inset: 0 auto 0 0; width: var(--rail-width); height: 100dvh; border-bottom: 0; border-right: 1px solid #e5edf2; overflow-y: auto; background: #fff; }
  .header-inner { width: 100%; min-height: 100%; padding: 32px 16px; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 28px; }
  .site-header .brand { flex-direction: column; gap: 8px; text-align: center; }
  .site-header .brand img { width: 146px; height: 88px; }
  .site-header .brand-text { display: block; font-size: 11px; }
  .site-header .brand-text strong { display: none; }
  .site-nav, .site-nav.is-open { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 14px 8px; width: 100%; }
  .site-nav > a { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 7px; min-height: 103px; padding: 10px 3px; border-radius: 17px; font-size: 12px; line-height: 1.65; text-align: center; white-space: normal; }
  .site-nav > a:hover, .site-nav > a:focus-visible { background: #eef8fc; }
  .nav-stamp { display: block; width: 52px; height: 52px; object-fit: contain; mix-blend-mode: multiply; transition: transform .2s ease; }
  .site-nav > a:hover .nav-stamp { transform: rotate(-7deg) translateY(-2px); }
  .site-nav .nav-cta { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: center; gap: 6px; min-height: 62px; margin-top: 13px; padding: 8px 6px; border: 1px solid #c7dfe9; border-radius: 18px; background: #edf8fc; color: var(--ink); font-size: 12px; }
  .site-nav .nav-cta:hover { background: #e0f2fa; }
  .nav-cta .nav-stamp { width: 37px; height: 37px; }
  .nav-cta .line-icon { display: none; }
  .site-nav .arrow { font-size: 16px; }
  .menu-toggle { display: none; }
  .skip-link { left: calc(var(--rail-width) + 16px); }
  .wrap { width: min(var(--width), calc(100% - 64px)); }
  .hero { padding-top: 54px; }
  .hero-grid { min-height: 430px; }
  .hero h1 { font-size: clamp(34px, 3.8vw, 64px); }
  .section-title { font-size: clamp(27px, 2.6vw, 40px); }
  .hero-art { min-width: 0; }
}
@media (min-width: 1001px) and (max-width: 1200px) {
  :root { --rail-width: 192px; }
  .header-inner { padding-inline: 12px; }
  .hero h1 { font-size: 33px; }
  .hero-description { font-size: 14px; }
  .hero-grid { gap: 16px; grid-template-columns: 1.12fr 1fr; }
  .hero-actions .button { font-size: 13px; padding-inline: 18px; }
  .floating-label { font-size: 11px; padding: 10px 12px; }
  .about-grid { gap: 32px; }
  .representative { padding: 22px; gap: 18px; flex-wrap: wrap; }
  .representative .text-link { margin-left: auto; }
  .difference > .wrap { gap: 24px; }
  .difference-heading .section-title { font-size: 25px; }
  .strength-orb h3 { font-size: 15px; }
  .strength-orb p { font-size: 12px; }
  .talent-caption { left: 12px; right: 12px; }
  .talent-caption strong { font-size: 22px; }
  .talent-caption > span { font-size: 12px; }
  .footer-main { gap: 24px; }
  .footer-nav { gap: 10px 18px; }
}
@media (min-width: 1001px) and (max-height: 650px) {
  .header-inner { padding-block: 16px; gap: 17px; }
  .site-header .brand img { width: 115px; height: 70px; }
  .site-nav { gap: 8px; }
  .site-nav > a { min-height: 86px; padding-block: 6px; }
  .nav-stamp { width: 44px; height: 44px; }
}

/* Pale paint behind the text; no change to text contrast. */
.strength-orb::before { opacity: .3; }

/* Fit the support panel to its active content instead of the tallest slide. */
.support { padding-block: 52px; }
.support .section-top { margin-bottom: 16px; align-items: center; }
.support .section-top .section-copy { margin-top: 0; font-size: 14px; line-height: 1.8; }
.support .slider-controls { margin-bottom: 12px; }
.support-track { align-items: flex-start; transition: height .28s ease; }
.support-slide { padding: 26px 28px; gap: 28px; align-items: start; }
.support-promise { font-size: clamp(23px, 2.2vw, 30px); line-height: 1.55; margin-top: 14px; }
.support-lead { font-size: 14px; line-height: 1.8; margin-top: 12px; }
.service-items { padding: 0 20px; border-radius: 18px; }
.service-items li { padding: 14px 0; gap: 11px; }
.service-items strong { font-size: 15px; line-height: 1.75; }
.service-items p { margin-top: 4px; }
.service-link { margin-top: 0; min-height: 44px; }
.support .section-note { margin-top: 15px; }
html.is-restoring .support-track { transition: none; }
@media (max-width: 720px) {
  :root { scroll-padding-top: 20px; }
  .hero { padding-top: 88px; }
  .hero::after { content: ''; position: absolute; top: 16px; left: 20px; width: 104px; height: 63px; background: url('/assets/logo.png') left center / contain no-repeat; }
  .support { padding-block: 36px; }
  .support .section-top { margin-bottom: 8px; align-items: start; }
  .support .slider-controls { margin-bottom: 10px; }
  .support-slide { padding: 16px; gap: 11px; }
  .service-items { padding-inline: 12px; border-radius: 13px; }
  .service-items li { padding-block: 10px; gap: 8px; }
  .service-items strong { font-size: 14px; }
  .support .section-note { margin-top: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .support-track, .nav-stamp { transition: none; }
}

/* Mobile navigation: only the original ribbon trigger stays fixed. */
@media (max-width: 720px) {
  .site-header { display: block; position: static; width: 0; height: 0; overflow: visible; border: 0; background: transparent; }
  .site-header .header-inner { display: block; width: 0; height: 0; min-height: 0; margin: 0; padding: 0; }
  .site-header .brand { display: none; }
  .menu-toggle { position: fixed; z-index: 70; top: 12px; right: 12px; display: flex; width: 48px; height: 44px; min-height: 44px; padding: 0; align-items: center; justify-content: center; overflow: hidden; border: 1px solid transparent; border-radius: 17px 14px 18px 13px / 15px 19px 14px 18px; background: radial-gradient(circle at 25% 18%,#fff 0 2px,transparent 3px) padding-box, linear-gradient(145deg,rgba(238,250,255,.96),rgba(255,241,247,.96)) padding-box, linear-gradient(135deg,#a9dff2,#f2aec9) border-box; box-shadow: 0 7px 20px #5289a318, inset 0 0 0 1px #ffffffa6; backdrop-filter: blur(8px); transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
  .menu-toggle > span:first-child { display: none; }
  .menu-toggle > span[aria-hidden="true"] { position: relative; display: block; width: 21px; height: 3px; overflow: visible; border-radius: 999px 70% 999px 60%; background: linear-gradient(90deg,#5fc1e4,#91d9ee); box-shadow: none; font-size: 0; line-height: 1; transform: rotate(-3deg); transition: transform .2s ease, background .2s ease; }
  .menu-toggle > span[aria-hidden="true"]::before,
  .menu-toggle > span[aria-hidden="true"]::after { content: ''; position: absolute; display: block; height: 3px; border-radius: 999px 65% 999px 72%; transition: inset .2s ease, width .2s ease, transform .2s ease; }
  .menu-toggle > span[aria-hidden="true"]::before { width: 15px; top: -7px; left: 1px; background: linear-gradient(90deg,#efa8c4,#f5c2d5); transform: rotate(5deg); }
  .menu-toggle > span[aria-hidden="true"]::after { width: 17px; top: 7px; right: 0; background: linear-gradient(90deg,#8fd9ed,#c79de1); transform: rotate(3deg); }
  .menu-toggle[aria-expanded="true"] { background: radial-gradient(circle at 25% 18%,#fff 0 2px,transparent 3px) padding-box, linear-gradient(145deg,rgba(255,241,247,.98),rgba(238,250,255,.98)) padding-box, linear-gradient(135deg,#f2aec9,#a9dff2) border-box; box-shadow: 0 8px 22px #5289a31f, inset 0 0 0 1px #ffffffb8; }
  .menu-toggle[aria-expanded="true"] > span[aria-hidden="true"] { background: transparent; transform: rotate(0); }
  .menu-toggle[aria-expanded="true"] > span[aria-hidden="true"]::before { width: 19px; inset: 0 auto auto 1px; transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] > span[aria-hidden="true"]::after { width: 19px; inset: 0 1px auto auto; transform: rotate(-45deg); }
  .menu-toggle:active { transform: scale(.96); background: radial-gradient(circle at 25% 18%,#fff 0 2px,transparent 3px) padding-box, linear-gradient(145deg,#e7f7fd,#ffeaf3) padding-box, linear-gradient(135deg,#9bd8ee,#eea7c4) border-box; }
  .site-nav { display: none; position: fixed; z-index: 69; top: 64px; right: 12px; left: auto; width: min(320px, calc(100vw - 24px)); padding: 13px 16px; border: 1px solid #e1eaf0; border-radius: 22px; background: rgba(255,255,255,.98); box-shadow: 0 18px 42px #25374a22; }
  .site-nav.is-open { display: flex; align-items: stretch; flex-direction: column; gap: 0; }
  .site-nav > a { padding: 13px 10px; border-radius: 12px; }
  .site-nav > a:hover, .site-nav > a:focus-visible { background: #eef8fc; }
  .site-nav .nav-cta { margin-top: 8px; }
}

/* Navigation entries are shared by desktop and mobile. */

/* Scroll-led reveal: thoughts appear in reading order, then strengths top/left/right. */
.question-scene .question { --question-turn: -3deg; }
.question-scene .question:nth-child(2) { --question-turn: 2deg; }
.question-scene .question:nth-child(3) { --question-turn: -2deg; }
.has-js .question-scene .question { opacity: 0; transform: translateY(18px) scale(.9) rotate(var(--question-turn)); transition: opacity .52s ease, transform .62s cubic-bezier(.2,.75,.25,1); }
.has-js .question-scene.is-revealed .question { opacity: 1; transform: translateY(0) scale(1) rotate(var(--question-turn)); }
.has-js .question-scene.is-revealed .question:nth-child(1) { transition-delay: .08s; }
.has-js .question-scene.is-revealed .question:nth-child(2) { transition-delay: .3s; }
.has-js .question-scene.is-revealed .question:nth-child(3) { transition-delay: .52s; }
.strength-orb { --orb-x: 0%; }
.strength-orb.expression { --orb-x: -3%; }
.strength-orb.tools { --orb-x: 3%; }
.has-js .strength-orb { opacity: 0; transform: translateX(var(--orb-x)) translateY(22px) scale(.94); transition: opacity .55s ease, transform .68s cubic-bezier(.2,.75,.25,1); }
.has-js .strength-triangle.is-revealed .strength-orb { opacity: 1; transform: translateX(var(--orb-x)) translateY(0) scale(1); }
.has-js .strength-triangle.is-revealed .strength-orb.finance { transition-delay: .08s; }
.has-js .strength-triangle.is-revealed .strength-orb.expression { transition-delay: .3s; }
.has-js .strength-triangle.is-revealed .strength-orb.tools { transition-delay: .52s; }

/* Ambassador feature and profile. */
.ambassador-home { background: #fff; }
.ambassador-feature { display: grid; grid-template-columns: minmax(260px,.82fr) minmax(0,1.18fr); min-height: 430px; overflow: hidden; border: 1px solid #dceaf1; border-radius: 38px; background: linear-gradient(135deg,#edf9fe 0%,#fff 48%,#fff0f6 100%); box-shadow: 0 24px 60px #50748b14; }
.ambassador-visual { position: relative; min-height: 430px; overflow: hidden; background: #f2eee9; }
.ambassador-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 70%,#ffffffc4); pointer-events: none; }
.ambassador-visual img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 57%; transition: transform .55s ease; }
.ambassador-feature:hover .ambassador-visual img { transform: scale(1.025); }
.ambassador-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(30px,5vw,68px); }
.ambassador-role { display: inline-flex; align-items: center; min-height: 32px; padding: 5px 13px; border: 1px solid #c9e4ef; border-radius: 999px; background: #ffffffc7; color: var(--blue-deep); font-size: 13px; font-weight: 700; }
.ambassador-copy h3, .ambassador-profile-copy h2 { margin-top: 18px; font-size: clamp(34px,4vw,52px); line-height: 1.35; }
.ambassador-catch { margin-top: 13px; font-size: clamp(16px,1.8vw,21px); font-weight: 700; line-height: 1.8; }
.ambassador-records { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.ambassador-records li { padding: 7px 12px; border-radius: 999px; background: #fff; border: 1px solid #e0e8ed; color: #4c6071; font-size: 13px; font-weight: 600; }
.ambassador-copy .text-link { margin-top: 27px; }
.ambassador-directory-link { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 34px; padding: 22px 26px; border: 1px solid #d7e8f0; border-radius: 24px; background: linear-gradient(100deg,#edf9fe,#fff2f7); }
.ambassador-directory-link > span:first-child { display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.ambassador-directory-link small { color: var(--blue-deep); font-size: 13px; font-weight: 700; }
.ambassador-directory-link strong { font-size: 24px; }
.ambassador-directory-link em { color: var(--muted); font-size: 14px; font-style: normal; }
.ambassador-directory-link > .arrow { display: grid; place-items: center; flex: 0 0 46px; width: 46px; height: 46px; border-radius: 50%; background: #fff; }
.ambassador-profile { display: grid; grid-template-columns: minmax(280px,.86fr) minmax(0,1.14fr); overflow: hidden; border: 1px solid #dce8ef; border-radius: 38px; background: linear-gradient(140deg,#eff9fd,#fff 58%,#fff1f6); }
.ambassador-profile-image { min-height: 610px; overflow: hidden; background: #f2eee9; }
.ambassador-profile-image img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 56%; }
.ambassador-profile-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(34px,5vw,72px); }
.ambassador-profile-copy .talent-subheading { margin-top: 34px; }
.ambassador-profile-copy .button { margin-top: 30px; }

@media (max-width: 720px) {
  .ambassador-feature, .ambassador-profile { grid-template-columns: 1fr; border-radius: 28px; }
  .ambassador-feature { min-height: 0; }
  .ambassador-visual { min-height: 330px; }
  .ambassador-visual::after { background: linear-gradient(180deg,transparent 75%,#fdfcfd); }
  .ambassador-copy, .ambassador-profile-copy { padding: 27px 22px 31px; }
  .ambassador-copy h3, .ambassador-profile-copy h2 { font-size: 34px; margin-top: 13px; }
  .ambassador-catch { font-size: 16px; margin-top: 9px; }
  .ambassador-records { gap: 6px; margin-top: 19px; }
  .ambassador-records li { padding: 6px 9px; font-size: 12px; }
  .ambassador-directory-link { margin-bottom: 26px; padding: 18px; }
  .ambassador-directory-link > span:first-child { display: grid; gap: 4px; }
  .ambassador-directory-link strong { font-size: 22px; }
  .ambassador-directory-link em { font-size: 13px; line-height: 1.7; }
  .ambassador-profile-image { min-height: 460px; }
}

@media (prefers-reduced-motion: reduce) {
  .has-js .question-scene .question,
  .has-js .strength-orb { opacity: 1; transition: none; }
  .has-js .question-scene .question { transform: rotate(var(--question-turn)); }
  .has-js .strength-orb { transform: translateX(var(--orb-x)); }
}

/* Media and event results retain simple lists under separate headings. */
.achievement-group + .achievement-group { margin-top: 32px; }
.achievement-group h3 { font-size: 17px; margin-bottom: 16px; color: var(--blue-deep); }
.achievement-group:nth-child(2) h3 { color: var(--pink-deep); }
.achievements .text-link { margin-top: 24px; }

/* Each floating label keeps its original angle while bobbing independently. */
.hero-art .floating-label { animation: hero-label-float 5.6s ease-in-out infinite; will-change: translate; }
.hero-art .floating-label.two { animation-duration: 6.4s; animation-delay: -2.1s; }
.hero-art .floating-label.three { animation-duration: 6s; animation-delay: -4s; }
@keyframes hero-label-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -10px; } }

/* Keep the ambassador's face in view without stretching the full portrait. */
.ambassador-visual { height: 430px; min-height: 0; }
.ambassador-profile-image { height: 610px; min-height: 0; }
.ambassador-visual img, .ambassador-profile-image img { object-position: 50% 33%; }
.talent-card[data-creator="hakumofu"] .talent-face img { object-position: 66% 50%; }
.talent-card[data-creator="ai"] .talent-face img { object-position: 50% 32%; }
.talent-directory { grid-template-columns: repeat(3,minmax(0,1fr)); }
.creator-set { grid-template-columns: repeat(3,minmax(0,1fr)); }
@media (max-width: 720px) {
  .ambassador-visual { height: 340px; }
  .ambassador-profile-image { height: 440px; }
  .ambassador-role { font-size: 12px; }
  .talent-directory { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .creator-set { grid-template-columns: repeat(var(--creator-columns,2),minmax(0,1fr)); grid-template-rows: repeat(2,auto); width: calc(var(--creator-width) * var(--creator-columns,2) / 2); flex-basis: calc(var(--creator-width) * var(--creator-columns,2) / 2); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-art .floating-label { animation: none; translate: none; will-change: auto; }
}

/* Compact two-row marquee shared by desktop and mobile. */
.creator-marquee { --card-width: 188px; --card-gap: 14px; }
.creator-marquee .creator-rail { overflow-x: auto; overflow-y: hidden; scrollbar-width: none; overscroll-behavior-x: contain; border-radius: 20px; }
.creator-marquee .creator-rail::-webkit-scrollbar { display: none; }
.creator-marquee .creator-track { display: flex; gap: var(--card-gap); width: max-content; }
.creator-marquee .creator-set { display: grid; grid-template-rows: repeat(2, auto); grid-template-columns: repeat(var(--creator-columns), var(--card-width)); grid-auto-flow: column; gap: var(--card-gap); width: max-content; flex: 0 0 auto; }
.creator-marquee .talent-card { width: var(--card-width); height: 236px; aspect-ratio: auto; border-radius: 19px; }
.creator-marquee .talent-caption { left: 12px; right: 12px; bottom: 14px; gap: 5px; }
.creator-marquee .talent-caption strong { font-size: 17px; line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.creator-marquee .talent-caption > span { font-size: 12px; line-height: 1.65; padding-right: 0; }
.creator-marquee .talent-expand { top: 10px; right: 10px; bottom: auto; font-size: 21px; }
.creator-marquee .talent-details { padding: 44px 12px 12px; }
.creator-marquee .talent-details h3 { font-size: 16px; line-height: 1.5; padding-right: 0; margin-bottom: 8px; overflow-wrap: anywhere; }
.creator-marquee .talent-records li { font-size: 12px; line-height: 1.6; padding-bottom: 5px; }
.creator-marquee .talent-bio, .creator-marquee .talent-tiktok { font-size: 12px; line-height: 1.7; }
@media (max-width: 720px) {
  .creator-marquee { --card-width: clamp(136px, 40vw, 166px); --card-gap: 12px; }
  .creator-marquee .talent-card { height: 212px; }
  .talent-caption strong { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .creator-marquee .talent-caption strong { font-size: 14px; letter-spacing: -.025em; }
  .talent-details h3 { font-size: 16px; }
}


/* Compact support content inside a stable-height stage. */
.support .support-heading { display: block; margin-bottom: 12px; }
.support .support-heading .section-copy { display: block; margin-top: 8px; max-width: none; }
.support-stage { min-width: 0; }
.mobile-line { display: none; }
@media (max-width: 720px) {
  .site-nav { max-height: calc(100dvh - 84px); overflow-y: auto; overscroll-behavior: contain; }
  .site-nav > a { display: flex; align-items: center; gap: 12px; padding: 9px 10px; }
  .site-nav .nav-stamp { display: block; flex-shrink: 0; width: 30px; height: 30px; object-fit: contain; mix-blend-mode: multiply; }
  .site-nav .nav-cta .line-icon { display: none; }
  .support .support-heading .section-copy { font-size: 13px; line-height: 1.8; }
  .mobile-line { position: fixed; z-index: 60; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); left: 50%; transform: translateX(-50%); display: flex; align-items: center; justify-content: center; gap: 7px; width: clamp(120px, 33.333vw, 180px); height: 48px; border: 1px solid #b7e9c9; border-radius: 999px; background: rgba(255,255,255,.97); color: #166339; box-shadow: 0 5px 22px #254b3826; font-size: 12px; font-weight: 700; text-decoration: none; }
  .mobile-line-icon { width: 28px; height: 28px; flex-shrink: 0; }
  .mobile-line:hover { background: #f0fff5; }
  .mobile-line:focus-visible { outline: 3px solid #166339; outline-offset: 3px; }
  .site-footer { padding-bottom: calc(90px + env(safe-area-inset-bottom, 0px)); }
}


/* The founder's own answers, edited for a readable introduction. */
.about-contact { display: flex; justify-content: space-between; align-items: center; gap: 28px; margin-top: 34px; padding: 24px 28px; border-block: 1px solid #d9e7ef; }
.about-contact h3 { font-size: 18px; line-height: 1.7; }
.about-contact div > p { margin-top: 8px; color: var(--muted); font-size: 14px; line-height: 1.9; }
.about-eligibility { flex-shrink: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }
.about-eligibility span { display: block; color: var(--ink); font-size: 16px; font-weight: 700; }
.representative-message { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.5fr); gap: 32px 48px; margin-top: 36px; padding: 38px; border: 1px solid #e1eaf0; border-radius: 28px; background: #fff; }
.representative-profile > img { display: block; width: 122px; height: auto; margin-bottom: 24px; }
.representative-profile h3 { font-size: clamp(20px,2vw,27px); line-height: 1.8; margin-top: 12px; }
.representative-signature { color: var(--muted); font-size: 13px; margin-top: 24px; }
.representative-signature strong { display: block; color: var(--ink); font-size: 22px; margin-top: 5px; letter-spacing: .06em; }
.representative-profile > .text-link { margin-top: 18px; font-size: 13px; }
.representative-letter { color: var(--ink); font-size: 15px; line-height: 2.15; overflow-wrap: anywhere; }
.representative-letter p + p { margin-top: 18px; }
.representative-history { grid-column: 1 / -1; border-top: 1px solid #e1eaf0; }
.representative-history summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding-top: 12px; cursor: pointer; font-size: 14px; font-weight: 700; list-style: none; }
.representative-history summary::-webkit-details-marker { display: none; }
.representative-history summary span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #edf8fc; }
.representative-history summary span::before { content: '+'; font-size: 20px; font-weight: 400; }
.representative-history[open] summary span::before { content: '−'; }
.representative-history summary:focus-visible { outline: 2px solid #2485a6; outline-offset: 4px; }
.representative-history dl { margin: 14px 0 0; }
.representative-history dl > div { display: grid; grid-template-columns: 74px minmax(0,1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid #edf1f4; font-size: 14px; line-height: 1.9; }
.representative-history dt { color: #277c9c; font-weight: 700; }
.representative-history dd { margin: 0; color: var(--muted); }
@media(max-width:720px) {
  .about-contact { flex-direction: column; align-items: start; gap: 16px; padding: 22px 0; margin-top: 26px; }
  .about-contact h3 { font-size: 16px; }
  .about-contact div > p { font-size: 13px; }
  .about-eligibility { display: flex; align-items: center; gap: 14px; }
  .about-eligibility span { font-size: 14px; }
  .representative-message { grid-template-columns: minmax(0,1fr); gap: 26px; margin-top: 28px; padding: 24px 20px; border-radius: 22px; }
  .representative-profile > img { width: 102px; margin-bottom: 18px; }
  .representative-profile h3 { font-size: 22px; }
  .representative-signature { margin-top: 18px; }
  .representative-letter { font-size: 14px; line-height: 2; }
  .representative-letter p + p { margin-top: 16px; }
  .representative-history dl > div { grid-template-columns: 58px minmax(0,1fr); gap: 12px; font-size: 13px; }
}


.representative-preview { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 30px; padding: 28px 32px; border: 1px solid #e1eaf0; border-radius: 24px; background: #fff; }
.representative-preview h3 { font-size: 23px; line-height: 1.8; margin-top: 8px; }
.representative-preview-copy { color: var(--muted); font-size: 14px; line-height: 1.95; margin-top: 12px; }
.representative-preview-name { margin-top: 14px; font-size: 12px; color: var(--muted); }
.representative-preview-name strong { font-size: 16px; margin-left: 8px; color: var(--ink); }
.representative-preview > .button { flex-shrink: 0; font-size: 14px; }
.representative-page { max-width: 800px; padding-top: 12px; }
.representative-page h2 { font-size: 25px; line-height: 1.8; margin-bottom: 24px; }
.representative-full-letter > p:not(.representative-signature) { margin-top: 24px; font-size: 16px; line-height: 2.2; }
.representative-full-letter > .representative-conviction { padding: 22px 26px; border-left: 3px solid #b2dfed; background: linear-gradient(120deg,#f1faff,#fff5f8); border-radius: 0 18px 18px 0; font-weight: 700; }
.representative-full-letter .representative-signature { margin-top: 32px; }
.representative-full-letter > .text-link { margin-top: 18px; }
.representative-principles, .representative-history-full { margin-top: 52px; padding-top: 32px; border-top: 1px solid #e1eaf0; }
.representative-principles h3 { font-size: 18px; line-height: 1.8; margin-top: 26px; }
.representative-principles p { color: var(--muted); font-size: 15px; line-height: 2.1; margin-top: 10px; }
.representative-principles > .text-link { margin-top: 18px; }
@media(max-width:720px) {
  .representative-preview { display: block; padding: 23px 20px; margin-top: 24px; }
  .representative-preview h3 { font-size: 20px; }
  .representative-preview-copy { font-size: 13px; }
  .representative-preview-copy br { display: none; }
  .representative-preview > .button { margin-top: 20px; min-height: 48px; padding: 12px 16px; font-size: 13px; }
  .representative-page h2 { font-size: 22px; margin-bottom: 18px; }
  .representative-full-letter > p:not(.representative-signature) { font-size: 15px; line-height: 2.1; margin-top: 20px; }
  .representative-full-letter > .representative-conviction { padding: 18px; }
  .representative-principles, .representative-history-full { margin-top: 36px; padding-top: 26px; }
  .representative-principles h3 { font-size: 17px; }
  .representative-principles p { font-size: 14px; }
}


/* Brief introduction on the homepage, full text in a structured reading page. */
.about-compact > .wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 36px; align-items: center; }
.about-compact .about-grid { display: block; }
.about-compact .representative-preview { display: block; margin: 0; padding: 28px; }
.about-compact .representative-preview h3 { font-size: clamp(17px,1.8vw,23px); }
.about-compact .representative-preview h3 span { display: block; white-space: nowrap; }
.about-compact .representative-preview > .button { margin-top: 24px; padding: 14px 20px; }
.representative-page { max-width: 1040px; padding: 0 0 64px; }
.representative-contents { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin: 0 0 36px; }
.representative-contents a { padding: 12px 20px; border: 1px solid #d9e7ef; border-radius: 999px; font-size: 14px; font-weight: 700; background: #fff; }
.representative-contents a:hover { background: #edf8fc; }
.representative-full-letter { padding: 42px clamp(24px,5vw,70px); border: 1px solid #deebf2; border-radius: 28px; background: linear-gradient(145deg,#f5fbff,#fff 42%,#fff7fa); }
.representative-full-letter > * { max-width: 680px; margin-inline: auto; }
.representative-page h2 { font-size: 28px; letter-spacing: .04em; scroll-margin-top: 90px; }
.representative-full-letter > p:not(.representative-signature) { font-size: 17px; line-height: 2.15; margin-top: 26px; }
.representative-full-letter > .representative-conviction { font-size: 22px; line-height: 2; margin-block: 32px; padding: 24px 30px; background: #fff; border-left: 4px solid #a6dcec; box-shadow: 0 6px 24px #29495905; }
.representative-full-letter > .text-link { display: flex; width: fit-content; margin-left: max(0px,calc((100% - 680px)/2)); }
.representative-principles, .representative-history-full { border: 0; padding-top: 0; margin-top: 48px; }
.principle-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.principle-card { padding: 26px; border-radius: 22px; background: #f2f9fc; }
.principle-card:nth-child(2), .principle-card:nth-child(3) { background: #fff5f8; }
.principle-card h3 { margin-top: 0; font-size: 19px; }
.principle-card p { font-size: 15px; line-height: 2; }
.representative-history-full dl { padding: 12px 28px; background: #f8fafc; border-radius: 24px; }
.representative-history-full dl > div { position: relative; grid-template-columns: 86px minmax(0,1fr); padding: 20px 0 20px 22px; gap: 20px; }
.representative-history-full dl > div::before { content: ''; position: absolute; top: 30px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: #8ecce1; box-shadow: 0 0 0 4px #e6f3f9; }
.representative-history-full dl > div:last-child { border-bottom: 0; }
@media(max-width:720px) {
 .about-compact > .wrap { grid-template-columns: minmax(0,1fr); gap: 28px; }
 .about-compact .representative-preview { padding: 22px 20px; }
 .about-compact .representative-preview h3 { font-size: clamp(14px,4.3vw,20px); line-height: 2; }
 .representative-contents { gap: 6px; margin-bottom: 24px; }
 .representative-contents a { padding: 12px 10px; font-size: 12px; }
 .representative-full-letter { padding: 26px 20px; border-radius: 22px; }
 .representative-page h2 { font-size: 23px; }
 .representative-full-letter > p:not(.representative-signature) { font-size: 15px; line-height: 2; margin-top: 22px; }
 .representative-full-letter > .representative-conviction { font-size: clamp(14px,4vw,18px); padding: 18px 12px; margin-block: 26px; }
 .principle-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
 .principle-card { padding: 22px; border-radius: 18px; }
 .principle-card h3 { font-size: 17px; }
 .principle-card p { font-size: 14px; }
 .representative-history-full dl { padding: 6px 18px; }
 .representative-history-full dl > div { grid-template-columns: minmax(0,1fr); gap: 5px; padding: 17px 0 17px 20px; }
 .representative-history-full dl > div::before { top: 25px; }
}

/* Vertical support orbit, with a quiet center and upright readable cards. */
.support-orbit-section { background: linear-gradient(140deg,#f6fcff,#fff9fc); }
.support-orbit-layout { display: grid; grid-template-columns: minmax(0,.65fr) minmax(0,1.35fr); align-items: center; gap: 20px; }
.support-orbit-intro img { width: min(210px,80%); height: auto; }
.support-orbit-intro p { margin-top: 20px; font-size: 17px; line-height: 2; font-weight: 700; }
.orbit-hint { display: block; margin-top: 22px; font-size: 12px; color: var(--muted); }
.support-wheel { min-width: 0; }
.orbit-controls { display: none; align-items: center; justify-content: flex-end; gap: 12px; }
.has-js .orbit-controls { display: flex; }
.orbit-count { font-size: 14px; min-width: 44px; text-align: center; }
.support-orbit { position: relative; isolation: isolate; overflow: hidden; padding: 12px; touch-action: pan-x pinch-zoom; user-select: none; }
.has-js .support-orbit { height: 590px; padding: 0; }
.orbit-axis,.orbit-hub { display: none; }
.has-js .orbit-axis { display: block; position: absolute; inset: 10% auto 10% 10%; width: 1px; background: linear-gradient(transparent,#b4d7e8,transparent); }
.has-js .orbit-hub { display: grid; place-items: center; position: absolute; left: 10%; top: 50%; transform: translate(-50%,-50%); width: 100px; height: 100px; border-radius: 50%; background: #fff; box-shadow: 0 10px 24px #5589a321; z-index: 25; }
.orbit-hub picture { display: grid; place-items: center; width: 100%; height: 100%; }
.orbit-hub img { width: 86%; height: 86%; object-fit: contain; }
.orbit-card { padding: 19px 22px; border: 1px solid #d5e5ef; border-radius: 18px; background: #fff; box-shadow: 0 8px 23px #437b9420; margin-bottom: 16px; }
.has-js .orbit-card { position: absolute; left: 0; top: 0; width: min(360px,74%); min-height: 126px; margin: 0; }
.orbit-card.office { border-top: 3px solid #9ed7ed; }
.orbit-card.stream { border-top: 3px solid #eeb6ce; }
.orbit-card.creative { border-top: 3px solid #c8bcea; }
.orbit-card.community { border-top: 3px solid #aadbd5; }
.orbit-category { display: block; font-size: 11px; line-height: 1.5; color: #637a8d; margin-bottom: 9px; }
.orbit-service { display: flex; gap: 8px; align-items: flex-start; }
.orbit-service strong { display: block; font-size: 15px; line-height: 1.65; }
.orbit-service p { font-size: 12px; line-height: 1.7; color: #41566c; margin-top: 5px; }
.v-support-details { display: flex; align-items: center; gap: 8px; margin-top: 5px; }
.orbit-service .v-support-details p { margin: 0; }
.v-support-details .condition { flex-shrink: 0; }
.orbit-service .benefit-tag { position: absolute; top: 14px; right: 16px; padding: 4px 5px; font-size: 10px; }
.orbit-card.office .orbit-category { padding-right: 40px; }
.orbit-service .service-link { font-size: 12px; margin-top: 3px; min-height: 30px; }
.orbit-service .condition { font-size: 10px; }
.orbit-service .software-caption { font-size: 12px; }
.software-row { display: flex; align-items: center; gap: 6px; }
.software-row > strong { white-space: nowrap; }
.orbit-service .software-row .service-link { white-space: nowrap; font-size: 10px; margin: 0; min-height: 28px; padding: 3px 0; }
.orbit-card:focus-visible { outline: 3px solid #4fabc9; outline-offset: 3px; }
.support-orbit-section .section-note { margin-top: 0; }
/* The former horizontal support interaction now presents the four principles. */
.principles-carousel { margin-top: 16px; }
.principles-carousel .slider-controls { margin: 0 0 14px; }
.principles-carousel .support-slide { display: block; flex: 0 0 100%; width: 100%; padding: 32px; box-sizing: border-box; }
.principles-carousel .support-slide:nth-child(1) { background: #eaf7fc; }
.principles-carousel .support-slide:nth-child(2) { background: #fff0f6; }
.principles-carousel .support-slide:nth-child(3) { background: #f1eefb; }
.principles-carousel .support-slide:nth-child(4) { background: #ecf8f5; }
.principles-carousel .support-slide h3 { margin: 0; font-size: 22px; line-height: 1.75; }
.principles-carousel .support-slide p { margin-top: 14px; font-size: 16px; line-height: 2; color: #41566c; max-width: 680px; }
.representative-history-full summary { padding: 18px 22px; background: #f3f8fb; border-radius: 18px; }
.representative-history-full summary h2 { margin: 0; font-size: 23px; }
.representative-history-full[open] summary { margin-bottom: 16px; }
.about-compact .representative-preview { border: 0; border-radius: 0; background: transparent; box-shadow: none; padding: 12px 0; }
.about-compact .representative-preview > .button { font-size: 12px; min-height: 42px; padding: 9px 15px; margin-top: 17px; gap: 15px; }
.ambassador-heading { display: flex; flex-direction: column; align-items: flex-start; }
.ambassador-heading h3 { order: 2; }
.ambassador-heading .ambassador-role { order: 1; }
@media(min-width:1001px) {
 .site-nav { gap: 7px; }
 .site-nav > a { min-height: 84px; padding: 6px 4px; }
 .nav-stamp { width: 45px; height: 45px; }
 .site-nav .nav-cta { margin-top: 4px; }
 .header-inner { gap: 20px; padding-top: 24px; }
}
@media(max-width:720px) {
 .mobile-line { left: auto; right: calc(12px + env(safe-area-inset-right,0px)); transform: none; }
 .support-orbit-layout { display: block; }
 .support-orbit-intro { display: flex; gap: 12px; align-items: center; margin-top: 16px; }
 .support-orbit-intro img { display: none; }
 .support-orbit-intro p { font-size: 12px; line-height: 1.8; margin: 0; }
 .orbit-hint { display: none; }
 .orbit-controls { margin-top: 0; gap: 9px; }
 .orbit-controls .circle-button { width: 40px; height: 40px; min-width: 40px; }
 .has-js .support-orbit { height: 430px; }
 .has-js .orbit-hub { width: 57px; height: 57px; }
 .has-js .orbit-card { width: 75%; min-height: 0; padding: 9px 13px; }
 .orbit-category { font-size: 10px; line-height: 1.35; margin-bottom: 4px; }
 .orbit-service { gap: 6px; }
 .orbit-service strong { font-size: 13px; line-height: 1.45; }
 .orbit-service p { margin-top: 2px; font-size: 11px; line-height: 1.5; }
 .orbit-service .benefit-tag { top: 9px; right: 12px; font-size: 9px; }
 .orbit-service .service-link { font-size: 11px; }
 .principles-carousel .support-slide { padding: 24px 22px; }
 .principles-carousel .support-slide h3 { font-size: 19px; }
 .principles-carousel .support-slide p { font-size: 14px; line-height: 1.95; }
 .representative-history-full summary h2 { font-size: 20px; }
 .creator-marquee .talent-card { height: 198px; }
 .talent-directory .talent-card { aspect-ratio: .8; }
 .talent-caption, .creator-marquee .talent-caption { gap: 3px; bottom: 11px; }
 .talent-caption strong, .creator-marquee .talent-caption strong { line-height: 1.3; }
 .talent-caption > span, .creator-marquee .talent-caption > span { line-height: 1.4; }
 .talent-caption strong::after { content: ''; display: block; width: 90%; height: 1px; margin: 5px 0 2px; background: linear-gradient(90deg,#ffffffb8,#ffffff61 58%,transparent); }
 .ambassador-home .ambassador-feature { display: block; position: relative; min-height: 510px; height: clamp(510px,150vw,650px); background: #22171e; }
 .ambassador-home .ambassador-visual { position: absolute; inset: 0; height: 100%; min-height: 0; }
 .ambassador-home .ambassador-visual img { object-position: 50% 38%; }
 .ambassador-home .ambassador-visual::after { background: linear-gradient(180deg,#1b122326,transparent 40%,#19122170 65%,#171020eb 100%); }
 .ambassador-home .ambassador-copy { position: absolute; inset: auto 0 0; padding: 25px 18px; color: #fff; }
 .ambassador-home .ambassador-heading { flex-direction: row; align-items: center; gap: 10px; width: 100%; }
 .ambassador-home .ambassador-heading h3 { order: 0; margin: 0; font-size: 29px; flex-shrink: 0; }
 .ambassador-home .ambassador-role { order: 1; min-height: 26px; padding: 4px 8px; font-size: clamp(8px,2.35vw,11px); white-space: nowrap; background: #ffffffeb; color: #294b61; border-color: #ffffff66; }
 .ambassador-home .ambassador-catch { font-size: 13px; line-height: 1.7; margin-top: 10px; text-shadow: 0 1px 7px #0008; }
 .ambassador-home .ambassador-records { flex-wrap: nowrap; gap: 5px; margin-top: 13px; width: 100%; }
 .ambassador-home .ambassador-records li { padding: 5px 6px; font-size: clamp(8px,2.4vw,11px); white-space: nowrap; background: #ffffff15; color: #fff; border-color: #ffffff50; }
 .ambassador-home .ambassador-copy .text-link { color: #fff; border-color: #ffffff70; margin-top: 16px; font-size: 12px; }
}

/* Ambassador answers, with a compact profile and generous reading measure. */
.ambassador-page .ambassador-profile-image { height: 540px; }
.ambassador-page .ambassador-profile-copy { padding: clamp(24px,4vw,48px); }
.ambassador-page .ambassador-catch { font-size: clamp(18px,2vw,25px); line-height: 1.7; }
.ambassador-motifs { display: flex; gap: 8px; margin: 18px 0; }
.ambassador-motifs span { border: 1px solid #d8e5ed; border-radius: 999px; padding: 3px 11px; font-size: 12px; }
.ambassador-introduction { font-size: 14px; line-height: 2; color: var(--muted); }
.ambassador-achievements { padding: 36px 0; border-bottom: 1px solid var(--line); }
.ambassador-achievements h2 { font-size: 18px; margin-bottom: 18px; }
.ambassador-achievements ul { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.ambassador-achievements li { padding: 16px 8px; border-radius: 14px; text-align: center; font-size: 14px; font-weight: 700; background: #edf8fc; }
.ambassador-achievements li:nth-child(even) { background: #fff1f6; }
.ambassador-stories { max-width: 760px; margin: 48px auto; }
.ambassador-stories section + section { margin-top: 40px; padding-top: 36px; border-top: 1px solid var(--line); }
.ambassador-stories h2 { font-size: clamp(21px,2.3vw,28px); line-height: 1.7; margin-bottom: 18px; }
.ambassador-stories p { font-size: 15px; line-height: 2.1; color: #41566c; }
.ambassador-stories p + p { margin-top: 15px; }
.ambassador-message { padding: clamp(26px,5vw,58px); border-radius: 28px; background: linear-gradient(120deg,#edf8fd,#fff0f6); }
.ambassador-message h2 { font-size: clamp(23px,3vw,35px); line-height: 1.7; }
.ambassador-message p { margin-top: 22px; font-size: 15px; line-height: 2; }
.ambassador-message-signature { display: block; margin-top: 20px; font-size: 20px; font-weight: 700; text-align: right; }
@media(max-width:720px) {
 .orbit-service .software-caption { font-size: 10px; line-height: 1.4; }
 .software-row { gap: 3px; }
 .software-row > strong { font-size: 11px; }
 .orbit-service .software-row .service-link { font-size: 9px; }
 .ambassador-page .ambassador-profile-image { height: 390px; }
 .ambassador-page .ambassador-profile-copy { padding: 24px 20px; }
 .ambassador-achievements ul { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
 .ambassador-achievements li { font-size: 12px; padding: 13px 5px; }
 .ambassador-stories { margin-block: 34px; }
 .ambassador-stories p,.ambassador-message p { font-size: 14px; }
}

/* Compact shared footer. */
.site-footer { padding: 24px 0 18px; }
.footer-main { gap: 20px; align-items: flex-start; }
.footer-main .brand img { width: 100px; height: 60px; }
.footer-nav { gap: 4px 24px; font-size: 13px; }
.footer-nav a { padding-block: 7px; }
.footer-bottom { margin-top: 16px; padding-top: 12px; gap: 10px; }
@media (min-width: 1001px) {
  .site-footer { padding: 18px 0 12px; }
  .footer-main { align-items: center; gap: 26px; }
  .footer-main .brand img { width: 104px; height: 58px; }
  .footer-nav { flex: 1; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 2px 18px; }
  .footer-nav a { padding-block: 5px; }
  .footer-bottom { margin-top: 10px; padding-top: 9px; }
}
@media (max-width: 720px) {
  .site-footer { padding: 20px 0 calc(42px + env(safe-area-inset-bottom,0px)); }
  .footer-main { gap: 12px; }
  .footer-main .brand img { width: 82px; height: 48px; }
  .footer-nav { width: 100%; gap: 2px 16px; font-size: 12px; }
  .footer-bottom { margin-top: 12px; padding-top: 10px; gap: 6px; font-size: 11px; }
}

/* Final support-hub alignment and representative copy refinements. */
@media (max-width: 360px) { .hero-bottom > span { font-size: 10px; } }
/* One shared, proportional composition for the home ambassador feature. */
.difference.section { padding-top: clamp(30px,4vw,48px); padding-bottom: 12px; }
.ambassador-home.section { padding: clamp(24px,3vw,40px) 0 8px; }
.ambassador-showcase { display: block; position: relative; isolation: isolate; container-type: inline-size; width: 100%; aspect-ratio: 1000 / 660; color: #243a4c; text-decoration: none; }
.ambassador-showcase::before { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg,#e9f8fd 0%,#fff 52%,#ffeaf3); clip-path: polygon(0 22%,100% 0,100% 78%,0 100%); }
.showcase-portrait { position: absolute; inset: 0; clip-path: polygon(2.15% 21.5%,100% 0,100% 68.94%); background: #201d29; }
.showcase-portrait img { position: absolute; right: 0; top: 0; width: 73%; height: 71%; object-fit: cover; object-position: 50% 31%; mask-image: linear-gradient(90deg,transparent,#000 22%); transition: transform .6s ease; }
.showcase-portrait::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#191724,transparent 55%,#130f2366); }
.showcase-identity { position: absolute; z-index: 2; top: 48%; right: 4%; display: flex; flex-direction: column; align-items: flex-end; color: #fff; text-shadow: 0 2px 14px #100716; }
.showcase-identity h3 { margin: .7cqw 0 1.2cqw; font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif; font-size: 7.3cqw; line-height: 1.1; letter-spacing: .12em; text-shadow: 0 2px 8px #100716, 0 0 9px #f3bed077; }
.showcase-identity h3::after { content: ''; display: block; width: 70%; height: .4cqw; margin: .55cqw 0 0 auto; border-radius: 999px; background: linear-gradient(90deg,transparent,#a8dbee,#f3b7d0); }
.showcase-badge { display: inline-flex; align-items: center; gap: .8cqw; padding: .7cqw 1.4cqw; border: 1px solid #f6d2e0bf; border-radius: 999px; color: #fff; background: linear-gradient(110deg,#25364adb,#403042d9); box-shadow: inset 0 1px #ffffff52,0 2px 7px #15151b4d; font-size: 2.15cqw; font-weight: 600; }
.showcase-badge::before { content: ''; width: .9cqw; height: .9cqw; flex: none; background: #f4c9dd; transform: rotate(45deg); }
.showcase-ribbons { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; fill: none; stroke: #80cce1; stroke-width: 3; }
.showcase-ribbons path:nth-child(even) { stroke: #e8aac7; stroke-width: 2; }
.showcase-title { position: absolute; left: 4%; top: 10cqw; transform: rotate(-8.25deg); transform-origin: left bottom; font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif; font-size: 4.6cqw; font-weight: 700; line-height: 1.4; letter-spacing: .02em; margin: 0; white-space: nowrap; color: #20374a; -webkit-text-stroke: .12cqw #fff; paint-order: stroke fill; text-shadow: 0 2px 4px #ffffffd9; }
.showcase-information { position: absolute; left: 4%; top: 45%; width: 65%; }
.showcase-quote { margin: 0; font-size: 3.1cqw; line-height: 1.5; font-weight: 500; letter-spacing: .02em; }
.showcase-records { display: flex; margin-top: 1.6cqw; padding: 0; list-style: none; }
.showcase-records li { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: .4cqw; padding-inline: 2cqw; border-left: 1px solid #c6d7e1; font-size: 2.3cqw; line-height: 1.5; }
.showcase-records li:first-child { padding-left: 0; border: 0; }
.showcase-records li::after { content: ''; position: absolute; bottom: -.55cqw; left: 2cqw; width: 42%; height: .26cqw; border-radius: 999px; background: linear-gradient(90deg,#82cde7,#edb4ca,transparent); }
.showcase-records li:first-child::after { left: 0; }
.showcase-records strong { font-size: 4.2cqw; line-height: 1.05; color: #1d668a; }
.showcase-records strong span { font-size: 2.3cqw; margin-left: .4cqw; }
.showcase-link { display: inline-flex; align-items: center; gap: 2cqw; margin-top: 1.8cqw; padding: .7cqw 0; font-size: clamp(10px,1.9cqw,17px); font-weight: 700; line-height: 1.5; white-space: nowrap; }
.showcase-link .arrow { font-size: clamp(11px,2.1cqw,19px); }
.ambassador-showcase:focus-visible { outline: 3px solid #1489b2; outline-offset: -3px; }
@media (max-width: 720px) {
  .showcase-title { top: 8.2cqw; font-size: 5.75cqw; font-weight: 800; letter-spacing: -.04em; transform: rotate(-8.25deg) scaleX(.82); -webkit-text-stroke: .18cqw #fff; }
}
.talent-portrait { position: relative; width: 100%; height: 100%; color: #fff; }
.talent-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; }
.talent-portrait::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 50%,#142332c9); }
.creator-marquee .talent-portrait .talent-caption { bottom: 13px; }
.creator-marquee .talent-portrait .talent-caption strong { padding: 0; border: 0; }
.creator-marquee .talent-portrait .talent-caption strong::after { display: none; }
.creators.section { padding: 30px 0 28px; background: transparent; border-radius: 0; box-shadow: none; border: 0; }
.creators .section-top { margin-bottom: 20px; }
.creator-spiral { position: relative; width: calc(100% - 20px); max-width: none; margin-left: 0; margin-right: 20px; overflow: hidden; touch-action: pan-y; }
@media (min-width: 1001px) { .creator-spiral { width: 100%; margin-right: 0; } }
.creator-spiral-track { display: grid; grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); gap: 14px; }
.creator-spiral .talent-card { position: relative; width: 100%; aspect-ratio: .78; border-radius: 15px; }
.creator-spiral .talent-caption { left: 10px; right: 10px; bottom: 12px; }
.creator-spiral .talent-caption strong { font-size: clamp(11px,1.3vw,15px); line-height: 1.4; padding: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.creator-spiral .talent-caption strong::after { display: none; }
.creator-spiral:focus-visible { outline: 2px solid #368aaa; outline-offset: -4px; }
.creator-coil-canvas { display: block; width: 100%; height: 100%; }
.creator-spiral.coil-ready { height: 600px; mask-image: linear-gradient(to bottom, transparent, #000 12%, #000 86%, transparent); }
.coil-ready .creator-spiral-track { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 720px) {
  .creator-spiral.coil-ready { height: 450px; }
}
@media (prefers-reduced-motion: reduce) {
  .creator-spiral.coil-ready { height: auto; mask-image: none; }
  .creator-coil-canvas { display: none; }
  .coil-ready .creator-spiral-track { position: relative; width: auto; height: auto; overflow: visible; clip-path: none; }
}
@media (hover: hover) { .ambassador-showcase:hover .showcase-portrait img { transform: scale(1.035); } .ambassador-showcase:hover .showcase-link { text-decoration: underline; text-underline-offset: .3em; } }
.hero-art .floating-label.one { top: 14%; }
.representative-full-letter > .text-link { margin-top: 4px; padding-top: 5px; }
.has-js .orbit-hub { overflow: hidden; }
.orbit-hub picture { display: grid; width: 100%; height: 100%; place-items: center; }
.orbit-hub img { display: block; }

/* A loose hand-lettered headline and pencil stroke keep the hero personal. */
.hero h1 { font-family: 'Yomogi', 'Yu Gothic', sans-serif; font-weight: 400; letter-spacing: .02em; }
.hero-letter-line { display: inline-block; white-space: nowrap; transform: skewX(-8deg); transform-origin: left center; }
.hero-letter { display: inline-block; -webkit-text-stroke: .38px currentColor; paint-order: stroke fill; transform-origin: 50% 72%; }
.hero-letter:nth-child(7n + 1) { transform: translateY(.012em) rotate(-1deg); }
.hero-letter:nth-child(7n + 2) { transform: translateY(-.008em) rotate(.8deg); }
.hero-letter:nth-child(7n + 3) { transform: translateY(.006em) rotate(-.4deg); }
.hero-letter:nth-child(7n + 4) { transform: translateY(-.014em) rotate(1deg); }
.hero-letter:nth-child(7n + 5) { transform: translateY(.014em) rotate(-.8deg); }
.hero-letter:nth-child(7n + 6) { transform: translateY(-.005em) rotate(.4deg); }
.hero h1 .accent::after { left: -4%; right: -4%; width: auto; bottom: -3px; height: 15px; border-radius: 0; background: url('/assets/hero-pencil-underline.svg') center / 100% 100% no-repeat; transform: none; }
.logo-orbit::before { content: none; }
.intro > .section-kicker { display: inline-block; font-family: 'Yomogi', 'Yu Gothic', sans-serif; font-size: clamp(16px, 1.5vw, 20px); font-weight: 400; letter-spacing: .045em; -webkit-text-stroke: .2px currentColor; transform: skewX(-6deg); }
.about-compact .section-title { font-family: 'LieNeCt Formal', 'Yu Mincho', serif; font-size: clamp(24px, 2.45vw, 33px); font-weight: 700; line-height: 1.72; letter-spacing: .055em; }
@media (max-width: 360px) { .about-compact .section-title { font-size: 21px; letter-spacing: .04em; } }
@media (min-width: 1001px) {
  .support-composition { grid-template-columns: minmax(310px,.72fr) minmax(0,1.28fr); }
  .support-composition .support-heading .section-copy { white-space: nowrap; }
}
.representative-name-origin { margin-top: 28px; padding: 20px 24px; border: 1px solid #dceaf1; border-radius: 18px; background: #fff; }
.representative-name-origin > strong { display: block; color: #187a9c; font-size: 13px; letter-spacing: .05em; }
.representative-name-origin > p { margin-top: 9px; color: #334c62; font-size: 15px; line-height: 2; }
@media (max-width: 720px) {
  .support-composition .support-orbit-intro p { margin: 0; font-size: clamp(12.25px,3.7vw,13.5px); font-weight: 700; line-height: 1.72; letter-spacing: -.035em; white-space: nowrap; }
  .support-composition .orbit-hub img { width: 84%; height: 84%; object-fit: contain; transform: translateY(-2px); }
  .representative-name-origin { margin-top: 22px; padding: 17px 18px; }
  .representative-name-origin > p { font-size: 14px; line-height: 2; }
}

.support-composition .support-conditions { grid-column: 1 / -1; margin: 8px 0 0; color: #536578; font-size: 12px; line-height: 1.7; }
.support-conditions a { text-decoration: underline; text-underline-offset: 3px; }

/* Monthly directory: the podium and disclosure remain usable without JavaScript. */
.creator-directory-section { padding-top: 42px; padding-bottom: 30px; }
.monthly-heading { text-align: center; margin-bottom: 32px; }
.monthly-heading h2 { font-size: clamp(24px,3vw,32px); margin-top: 6px; }
.ranking-podium { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; max-width: 620px; margin: 0 auto; align-items: start; }
.directory-person { position: relative; text-align: center; min-width: 0; --rank-color: #ad8550; }
.ranking-podium .rank-1 { grid-column: 2; grid-row: 1; --rank-color: #a47d2b; }
.ranking-podium .rank-2 { grid-column: 1; grid-row: 1; padding-top: 48px; --rank-color: #748a9e; }
.ranking-podium .rank-3 { grid-column: 3; grid-row: 1; padding-top: 68px; --rank-color: #ae785d; }
.directory-profile > summary,.directory-static { position: relative; display: flex; align-items: center; flex-direction: column; gap: 10px; list-style: none; }
.directory-profile > summary { cursor: pointer; }
.directory-profile > summary::-webkit-details-marker,.directory-more > summary::-webkit-details-marker { display: none; }
.directory-profile > summary:focus-visible { outline: 2px solid #408bb2; outline-offset: 7px; border-radius: 12px; }
.directory-avatar { position: relative; display: block; width: 112px; height: 112px; margin-inline: auto; flex-shrink: 0; }
.directory-avatar > img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; object-position: center 38%; border: 4px solid #fff; outline: 1px solid #e0e9ee; box-shadow: 0 8px 25px #24425812; }
.rank-1 .directory-avatar { width: 140px; height: 140px; }
.rank-1 .directory-avatar > img { outline-color: #dac68e; }
.rank-crown { position: absolute; left: -9px; top: -9px; width: 38px; height: 35px; color: var(--rank-color); transform: rotate(-13deg); filter: drop-shadow(0 2px 2px #ffffff); }
.rank-crown svg { width: 100%; height: 100%; fill: #fff8e4; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.rank-2 .rank-crown svg { fill: #eef5f9; }
.rank-3 .rank-crown svg { fill: #fff0e7; }
.rank-4,.rank-5 { --rank-color: #233b58; }
.rank-4 .rank-crown svg,.rank-5 .rank-crown svg { fill: #233b58; }
.rank-4 .rank-crown b,.rank-5 .rank-crown b { color: #fff; }
.rank-crown b { position: absolute; inset: 8px 0 0; font: 700 12px/25px Georgia,serif; }
.directory-name { color: #253c50; font-weight: 700; font-size: 15px; line-height: 1.5; min-height: 45px; display: grid; align-content: start; overflow-wrap: anywhere; }
.directory-indicator { position: absolute; top: 99px; right: calc(50% - 56px); width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 1px solid #cfdee8; color: #3b718e; font-size: 16px; line-height: 20px; }
.rank-1 .directory-indicator { top: 127px; right: calc(50% - 70px); }
.directory-profile[open] .directory-indicator { transform: rotate(45deg); }
.podium-step { margin-top: 2px; height: 42px; border-top: 2px solid #dceaf1; background: linear-gradient(#eef7fc,#f9fcff); border-radius: 10px 10px 0 0; font: 500 26px/42px Georgia,serif; color: var(--rank-color); }
.rank-1 .podium-step { height: 62px; line-height: 62px; background: linear-gradient(#fff6dd,#fffdf6); border-color: #ecd8a2; }
.rank-3 .podium-step { height: 22px; font-size: 20px; line-height: 22px; background: linear-gradient(#fff0e8,#fffaf7); border-color: #ecd7c9; }
.ranking-runners { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; max-width: 390px; margin: 32px auto 24px; }
.ranking-runners .directory-avatar { width: 96px; height: 96px; }
.ranking-runners .directory-indicator { top: 83px; right: calc(50% - 48px); }
.directory-info { text-align: left; margin: 12px 0; padding: 13px; background: #f3f8fb; border-radius: 12px; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.directory-info p { margin: 0 0 8px; }
.directory-info ul { margin: 0 0 8px; padding-left: 0; }
.directory-info p + ul { border-top: 1px solid #d5e4ec; margin-top: 10px; padding-top: 10px; }
.directory-info a { display: block; color: #267496; font-weight: 600; font-size: 12px; margin-top: 8px; text-decoration: underline; text-underline-offset: 3px; }
.directory-more { max-width: 720px; margin: 16px auto 0; }
.directory-more > summary { width: fit-content; margin: 0 auto; padding: 10px 25px; border: 1px solid #cadfe9; border-radius: 30px; display: flex; align-items: center; gap: 24px; list-style: none; cursor: pointer; background: #fff; font-size: 14px; font-weight: 600; }
.directory-more .more-open,.directory-more[open] .more-closed { display: none; }
.directory-more[open] .more-open { display: inline; }
.directory-more[open] > summary > span:last-child { transform: rotate(45deg); }
.directory-others { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px 18px; margin-top: 32px; align-items: start; }
.directory-others .directory-avatar { width: 96px; height: 96px; }
.directory-others .directory-indicator { top: 83px; right: calc(50% - 48px); }
.directory-return { padding-block: 5px 28px; text-align: center; }
@media(max-width:600px) {
  .creator-directory-section { padding-top: 28px; padding-bottom: 18px; }
  .monthly-heading { margin-bottom: 26px; }
  .ranking-podium { gap: 7px; }
  .ranking-podium .rank-2 { padding-top: calc(clamp(84px,26vw,124px) - clamp(66px,21vw,100px) + 20px); }
  .ranking-podium .rank-3 { padding-top: calc(clamp(84px,26vw,124px) - clamp(66px,21vw,100px) + 40px); }
  .directory-avatar { width: clamp(66px,21vw,100px); height: clamp(66px,21vw,100px); }
  .rank-1 .directory-avatar { width: clamp(84px,26vw,124px); height: clamp(84px,26vw,124px); }
  .directory-avatar > img { border-width: 3px; }
  .directory-name { font-size: 12px; min-height: 36px; }
  .rank-crown { width: 30px; height: 29px; left: -6px; top: -8px; }
  .rank-crown b { inset: 5px 0 0; font-size: 10px; line-height: 23px; }
  .directory-indicator { top: calc(clamp(66px,21vw,100px) - 15px); right: calc(50% - clamp(33px,10.5vw,50px)); width: 20px; height: 20px; line-height: 18px; }
  .rank-1 .directory-indicator { top: calc(clamp(84px,26vw,124px) - 15px); right: calc(50% - clamp(42px,13vw,62px)); }
  .ranking-runners { grid-template-columns: repeat(3,minmax(0,1fr)); max-width: none; gap: 8px; margin-block: 23px 18px; }
  .ranking-runners .rank-4 { grid-column: 1; }
  .ranking-runners .rank-5 { grid-column: 3; }
  .ranking-runners .directory-avatar,.directory-others .directory-avatar { width: 82px; height: 82px; }
  .ranking-runners .directory-indicator,.directory-others .directory-indicator { top: 67px; right: calc(50% - 41px); }
  .directory-info { font-size: 12px; padding: 9px; }
  .directory-others { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px 8px; }
}
