body{text-align:center}.topbar{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(20px,5vw,48px);pointer-events:none}.topbar>*{pointer-events:auto}.topbar__name{font-weight:500;font-size:.95rem;letter-spacing:.01em;color:#4d5570;transition:opacity 1s cubic-bezier(.16,1,.3,1),filter 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);opacity:0;filter:blur(8px);transform:translateY(-10px)}.topbar__name.shown{opacity:1;filter:blur(0);transform:translateY(0)}.topbar__button{display:inline-flex;align-items:center;gap:8px;background:#ffffff80;backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:1px solid rgba(255,255,255,.65);color:#23283a;text-decoration:none;font-weight:500;font-size:.92rem;letter-spacing:.005em;padding:10px 20px;border-radius:999px;box-shadow:0 12px 28px -16px #3c5ab44d;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .35s ease,opacity 1.1s cubic-bezier(.16,1,.3,1),filter 1.1s cubic-bezier(.16,1,.3,1);opacity:0;filter:blur(8px);transform:translateY(-14px)}.topbar__button.shown{opacity:1;filter:blur(0);transform:translateY(0)}.topbar__button:hover{transform:translateY(-2px);background:#ffffffbf;box-shadow:0 16px 32px -16px #3c5ab466}.intro{position:relative;z-index:2;min-height:92vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 24px}.intro__welcome{position:absolute;margin:0;font-weight:400;font-size:clamp(1.8rem,5vw,3rem);letter-spacing:-.01em;color:#262c40;opacity:0;filter:blur(10px);transform:scale(.94);transition:opacity .8s cubic-bezier(.16,1,.3,1),filter .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.intro__welcome.show{opacity:1;filter:blur(0);transform:scale(1)}.intro__welcome.hide{opacity:0;filter:blur(6px);transform:scale(1.06);transition:opacity .4s cubic-bezier(.4,0,1,1),filter .4s ease,transform .4s cubic-bezier(.4,0,1,1)}.intro__signature-small{margin:0 0 6px;font-weight:400;font-size:clamp(1rem,2vw,1.2rem);color:#8891a8;letter-spacing:.05em;opacity:0;filter:blur(8px);transform:translateY(10px);transition:opacity .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.intro__signature-large{margin:0;font-weight:600;font-size:clamp(3rem,9vw,6rem);letter-spacing:-.03em;color:#1d2133;opacity:0;filter:blur(12px);transform:translateY(16px) scale(.96);transition:opacity 1.1s cubic-bezier(.16,1,.3,1) .15s,filter 1.1s cubic-bezier(.16,1,.3,1) .15s,transform 1.1s cubic-bezier(.16,1,.3,1) .15s}.intro__signature.show .intro__signature-small{opacity:1;filter:blur(0);transform:translateY(0)}.intro__signature.show .intro__signature-large{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}.content{position:relative;z-index:2;max-width:760px;margin:0 auto;padding:4vh 28px 22vh;display:flex;flex-direction:column;gap:16vh}.block{display:flex;flex-direction:column;gap:.4em;padding:20px 32px;border-radius:28px}.block.glass{background:#ffffff47;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);border:1px solid rgba(255,255,255,.55);box-shadow:0 30px 80px -40px #3c5ab440}.block p{margin:0;font-weight:500;font-size:clamp(2.3rem,5.6vw,3.8rem);line-height:1.32;letter-spacing:-.015em;color:#262c40;opacity:0;filter:blur(14px);transform:translateY(30px) scale(.96);transition:opacity 1.1s cubic-bezier(.16,1,.3,1),filter 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1)}.block p.visible{opacity:1;filter:blur(0px);transform:translateY(0) scale(1)}.block:first-child p{font-weight:300}.carousel-wrap{position:relative;margin:0 -28px}.carousel{display:flex;gap:28px;padding:10px 28px 22px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}.app-card{flex:0 0 auto;width:min(84vw,460px);scroll-snap-align:start;text-align:left;padding:44px 40px;border-radius:32px;background:#ffffff52;backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid rgba(255,255,255,.6);box-shadow:0 26px 60px -34px #3c5ab44d;display:flex;flex-direction:column;gap:18px;opacity:0;filter:blur(14px);transform:translateY(24px) scale(.97);transition:opacity 1s cubic-bezier(.16,1,.3,1),filter 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}.app-card.visible{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}.app-card__title{font-weight:600;font-size:clamp(1.5rem,2.6vw,1.9rem);letter-spacing:-.015em;line-height:1.25;color:#23283a}.app-card__detail{font-weight:400;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.6;color:#565f78}.app-card__link{margin-top:8px;font-weight:500;font-size:1.02rem;color:#23283a;text-decoration:none;border-bottom:1.5px solid rgba(35,40,58,.28);align-self:flex-start;padding-bottom:2px;transition:border-color .3s ease}.app-card__link:hover{border-color:#23283a}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff6;backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:1px solid rgba(255,255,255,.65);box-shadow:0 14px 34px -18px #3c5ab459;cursor:pointer;opacity:.55;transition:opacity .3s ease,transform .3s ease,background .3s ease;z-index:3}.carousel-arrow:hover{opacity:1;background:#fff9}.carousel-arrow svg{display:block}.carousel-arrow--prev{left:4px}.carousel-arrow--next{right:4px}@media (max-width: 640px){.carousel-arrow{display:none}}.cta-wrap{position:relative;z-index:2;display:flex;justify-content:center;padding:6vh 24px 14vh}.cta-button{display:inline-flex;align-items:center;gap:12px;background:#fff6;backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid rgba(255,255,255,.65);color:#23283a;text-decoration:none;font-weight:500;font-size:clamp(1.15rem,2.4vw,1.4rem);letter-spacing:-.005em;padding:20px 40px;border-radius:999px;box-shadow:0 24px 50px -26px #3c5ab466;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease,background .4s ease,opacity 1.1s cubic-bezier(.16,1,.3,1),filter 1.1s cubic-bezier(.16,1,.3,1);opacity:0;filter:blur(14px);transform:translateY(30px) scale(.96)}.cta-button.visible{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}.cta-button:hover{transform:translateY(-3px) scale(1.02);background:#ffffffa6;box-shadow:0 30px 60px -26px #3c5ab480}.dock-footer{position:relative;z-index:2;display:flex;justify-content:center;padding:4vh 24px 8vh}.dock{display:inline-flex;align-items:center;gap:4px;padding:8px 10px;border-radius:999px;background:#ffffff6b;backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid rgba(255,255,255,.65);box-shadow:0 18px 40px -20px #3c5ab459}.dock__item{font-weight:500;font-size:.86rem;letter-spacing:.005em;color:#4d5570;text-decoration:none;padding:10px 18px;border-radius:999px;transition:transform .3s cubic-bezier(.34,1.4,.64,1),background .3s ease,color .3s ease}.dock__item:hover{transform:translateY(-4px) scale(1.06);background:#fff9;color:#23283a}.dock__divider{width:1px;height:16px;background:#23283a24}.legal-link{display:block;text-align:center;margin-top:18px;padding-bottom:6vh;font-size:.74rem;font-weight:500;color:#a3acc0;text-decoration:none;transition:color .3s ease}.legal-link:hover{color:#6b7590}@media (max-width: 480px){.dock{padding:6px 8px;gap:2px}.dock__item{padding:9px 12px;font-size:.8rem}}
