*,:after,:before{box-sizing:border-box}blockquote,body,dd,dl,figure,h1,h2,h3,h4,p{margin:0}ol[role=list],ul[role=list]{list-style:none}html:focus-within{scroll-behavior:smooth}body{line-height:1.5;min-height:100vh;text-rendering:optimizeSpeed}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}img,picture{display:block;max-width:100%}button,input,select,textarea{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes blurFadeIn{0%{filter:blur(8px);opacity:0;transform:translateY(24px)}to{filter:blur(0);opacity:1;transform:translateY(0)}}@keyframes clipReveal{0%{clip-path:inset(0 100% 0 0);opacity:0}to{clip-path:inset(0 0 0 0);opacity:1}}@keyframes fadeLeft{0%{filter:blur(4px);opacity:0;transform:translate(-40px)}to{filter:blur(0);opacity:1;transform:translate(0)}}@keyframes fadeRight{0%{filter:blur(4px);opacity:0;transform:translate(40px)}to{filter:blur(0);opacity:1;transform:translate(0)}}@keyframes lineExpand{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes scrollPulse{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(18px)}}@keyframes rotateSlow{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes liquidShimmer{0%{background-position:0 50%;opacity:.6}50%{background-position:100% 50%;opacity:1}to{background-position:0 50%;opacity:.6}}@keyframes particleFloat{0%{opacity:0;transform:translateY(0) rotate(0)}8%{opacity:.5}92%{opacity:.15}to{opacity:0;transform:translateY(-75vh) rotate(1turn)}}@keyframes glitch{0%,to{clip-path:none;transform:skew(0)}18%{clip-path:polygon(0 15%,100% 15%,100% 30%,0 30%);transform:skew(-3deg) translate(-4px)}20%{clip-path:polygon(0 55%,100% 55%,100% 65%,0 65%);transform:skew(3deg) translate(4px)}22%{clip-path:none;transform:skew(0)}}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulseRing{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}@keyframes magneticPulse{0%,to{box-shadow:0 0 #5b9fa866}50%{box-shadow:0 0 0 8px #5b9fa800}}@keyframes textReveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes orbDrift{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,15px) scale(.97)}to{transform:translate(0) scale(1)}}@keyframes aurora{0%{background-position:50% 50%,50% 50%}to{background-position:350% 50%,350% 50%}}@keyframes auroraShift{0%{opacity:.5;transform:scale(1) rotate(0)}33%{opacity:.7;transform:scale(1.02) rotate(1deg)}66%{opacity:.55;transform:scale(.99) rotate(-1deg)}to{opacity:.5;transform:scale(1) rotate(0)}}@keyframes auroraWave{0%{background-position:50% 50%,50% 50%}20%{background-position:120% 42%,100% 58%}40%{background-position:200% 57%,180% 43%}60%{background-position:265% 44%,240% 56%}80%{background-position:315% 53%,295% 47%}to{background-position:350% 50%,350% 50%}}@keyframes auroraWave2{0%{background-position:180% 50%,150% 50%}20%{background-position:230% 59%,200% 41%}40%{background-position:278% 43%,255% 57%}60%{background-position:312% 55%,290% 45%}80%{background-position:335% 47%,315% 53%}to{background-position:530% 50%,500% 50%}}@keyframes cardRevealUp{0%{opacity:0;transform:translateY(32px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(48px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dragHintPulse{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:.9;transform:translateY(-4px)}}@keyframes photoFrameGlow{0%,to{box-shadow:0 0 #acc5c94d,0 20px 60px #0000001f}50%{box-shadow:0 0 30px 8px #acc5c933,0 20px 60px #0000001f}}@keyframes cardCycle{0%{opacity:0;transform:translateY(60px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}:root{--color-primary:#5d9fa8;--color-primary-light:#acc5c9;--color-bg:#fafbfc;--color-bg-dark:#1a2830;--color-text:#111827;--color-accent:#c4a8b8;--header-height:72px}html{font-size:16px;scroll-behavior:smooth}body{background-color:#fafbfc;color:#111827;font-family:IBM Plex Sans JP,Hiragino Sans,Yu Gothic,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-moz-selection{background-color:#5d9fa8;color:#fff}::selection{background-color:#5d9fa8;color:#fff}a{color:inherit;text-decoration:none}.reveal{filter:blur(6px);opacity:0;transform:translateY(32px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{filter:blur(0);opacity:1;transform:translateY(0)}.reveal-left{filter:blur(6px);opacity:0;transform:translate(-32px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1)}.reveal-left.is-visible{filter:blur(0);opacity:1;transform:translate(0)}.reveal-right{filter:blur(6px);opacity:0;transform:translate(32px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1)}.reveal-right.is-visible{filter:blur(0);opacity:1;transform:translate(0)}.reveal-scale{filter:blur(6px);opacity:0;transform:scale(.92);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1)}.reveal-scale.is-visible{filter:blur(0);opacity:1;transform:scale(1)}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}.delay-3{transition-delay:.36s}.delay-4{transition-delay:.48s}.delay-5{transition-delay:.6s}.delay-6{transition-delay:.72s}.delay-7{transition-delay:.84s}.delay-8{transition-delay:.96s}.section-label{align-items:center;color:#acc5c9;display:inline-flex;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.68rem;font-weight:600;gap:1rem;letter-spacing:.22em;margin-bottom:1.5rem;text-transform:uppercase}.section-label:before{background-color:currentColor;content:"";display:block;height:1px;width:32px}.section-label--light{color:#ffffff80}.section-title{color:#111827;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:300;letter-spacing:.02em;line-height:1.15;margin-bottom:1rem}.section-title--light{color:#fff}.divider{background-color:#acc5c9;height:1px;margin:2rem 0;width:48px}.divider--light{background-color:#ffffff4d}.btn{align-items:center;background:transparent;border:1px solid;cursor:pointer;display:inline-flex;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.75rem;font-weight:500;gap:.5rem;justify-content:center;letter-spacing:.15em;overflow:hidden;padding:14px 36px;position:relative;text-decoration:none;text-transform:uppercase;transition:background-color .35s cubic-bezier(.25,.46,.45,.94),color .35s cubic-bezier(.25,.46,.45,.94),border-color .35s cubic-bezier(.25,.46,.45,.94),transform .2s ease}.btn:hover{transform:translateY(-1px)}.btn--ghost-white{backdrop-filter:blur(8px) saturate(1.6);-webkit-backdrop-filter:blur(8px) saturate(1.6);background:#ffffff0d;border:1px solid hsla(0,0%,100%,.18);border-radius:3px;box-shadow:inset 2px 2px 1px #ffffff8c,inset -1px -1px 1px #ffffff1a,0 6px 12px #00000014,0 2px 4px #0000000d,0 0 20px #5b9fa80f;color:#fff}.btn--ghost-white:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-2px)}.btn--ghost-dark{backdrop-filter:blur(8px) saturate(1.6);-webkit-backdrop-filter:blur(8px) saturate(1.6);background:#ffffff1a;border:1px solid rgba(26,40,48,.1);border-radius:3px;box-shadow:inset 2px 2px 1px #ffffff8c,inset -1px -1px 1px #ffffff1a,0 6px 12px #00000014,0 2px 4px #0000000d,0 0 20px #5b9fa80f;color:#1a2830}.btn--ghost-dark:hover{background:#fff3;border-color:#1a28302e;transform:translateY(-2px)}.btn--filled{backdrop-filter:blur(8px) saturate(1.6);-webkit-backdrop-filter:blur(8px) saturate(1.6);background:#ffffff1a;background:#5d9fa81a;border:1px solid rgba(93,159,168,.2);border-radius:3px;box-shadow:inset 2px 2px 1px #ffffff8c,inset -1px -1px 1px #ffffff1a,0 6px 12px #00000014,0 2px 4px #0000000d,0 0 20px #5b9fa80f;color:#1a2830}.btn--filled:hover{background:#5d9fa82e;border-color:#5d9fa84d;transform:translateY(-2px)}.tag{background-color:#5d9fa814;border:1px solid rgba(93,159,168,.18);border-radius:100px;color:#5d9fa8;display:inline-block;font-family:Montserrat,Helvetica Neue,Arial,sans-serif;font-size:.68rem;font-weight:500;letter-spacing:.06em;padding:5px 14px;transition:.2s ease}.tag:hover{background-color:#5d9fa826}.tag--light{background-color:#ffffff1a;border-color:#fff3;color:#fffc}.tag--light:hover{background-color:#ffffff2e}.container{margin:0 auto;max-width:1240px;padding:0 3rem;width:100%}@media(max-width:840px){.container{padding:0 2rem}}@media(max-width:540px){.container{padding:0 1.5rem}}.custom-cursor,.custom-cursor *{cursor:none!important}.cur__dot[data-v-0e579880]{background:#acc5c9;border-radius:50%;height:8px;left:0;pointer-events:none;position:fixed;top:0;transition:width .25s,height .25s,background .25s;width:8px;will-change:transform;z-index:10000}.cur__dot.is-hovered[data-v-0e579880]{background:#fff;height:4px;width:4px}.cur__ring[data-v-0e579880]{border:1.5px solid rgba(172,197,201,.55);border-radius:50%;height:44px;left:0;pointer-events:none;position:fixed;top:0;transition:width .4s cubic-bezier(.16,1,.3,1),height .4s cubic-bezier(.16,1,.3,1),background-color .35s,border-color .35s;width:44px;will-change:transform;z-index:9999}.cur__ring.is-hovered[data-v-0e579880]{background:#acc5c914;border-color:#acc5c9;height:62px;width:62px}.cur__ring.is-hovered .cur__ring-dash[data-v-0e579880]{animation-play-state:paused;border-color:#acc5c966}.cur__ring.is-clicked[data-v-0e579880]{background:#acc5c940;border-color:#acc5c9;height:20px;width:20px}.cur__ring-dash[data-v-0e579880]{animation:rotateSlow 5s linear infinite reverse;border:1px dashed rgba(172,197,201,.3);border-radius:50%;inset:5px;position:absolute;transition:border-color .3s}
