@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Noto+Sans+JP:wght@300;400;500;700&display=swap";
:root{--navy:#0a1628;--navy-mid:#0d2240;--navy-light:#1a3560;--turq:#00b4d8;--turq-dim:#00b4d82e;--gold:#c9a84c;--gold-dim:#c9a84c26;--silver:#f0f4f8;--silver-mid:#b8c8d8;--silver-dark:#8ea4b8;--font-jp:"Noto Sans JP", "Hiragino Sans", sans-serif;--font-en:"DM Sans", sans-serif;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--navy);color:var(--silver);font-family:var(--font-jp);-webkit-font-smoothing:antialiased;min-height:100vh;position:relative;overflow-x:hidden}::selection{background:var(--turq-dim);color:var(--silver)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--navy)}::-webkit-scrollbar-thumb{background:#00b4d84d;border-radius:2px}.text-gold{color:var(--gold)!important}.text-turq{color:var(--turq)!important}.text-blue{color:#3a86ff!important}.eyebrow{font-family:var(--font-en);letter-spacing:.28em;text-transform:uppercase;color:var(--turq);margin-bottom:20px;font-size:10px;font-weight:500}.section-heading{letter-spacing:-.025em;color:var(--silver);margin-bottom:20px;font-weight:300;line-height:1.15}.section-sub{color:var(--silver-dark);font-size:15px;font-weight:400;line-height:1.9}.wave-divider{pointer-events:none;width:100%;line-height:0;overflow:hidden}.wave-divider svg{width:100%;display:block}.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(24px)}.reveal.visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.reveal-delay-5{transition-delay:.5s}.moonlight-column-extended{filter:blur(25px);z-index:1;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(90deg,#0000 0%,#d2ebff26 50%,#0000 100%);width:220px;position:absolute;top:100vh;bottom:0;left:72.5%;transform:translate(-50%)}@keyframes heroPan{0%{transform:scale(1)}to{transform:scale(1.15)translate(-1.5%,-1.5%)}}@keyframes keywordPop{0%{opacity:0;filter:blur(5px);transform:translateY(12px)}to{opacity:1;filter:blur();transform:translateY(0)}}.hero-keyword{opacity:0;animation:keywordPop 1.1s var(--ease) forwards;display:inline-block}#nav{z-index:100;transition:background .4s var(--ease), border-color .4s;border-bottom:1px solid #0000;padding:0 48px;position:fixed;top:0;left:0;right:0}#nav.scrolled{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a1628e6;border-bottom-color:#00b4d81a}.nav-inner{align-items:center;gap:40px;max-width:1160px;height:68px;margin:0 auto;display:flex}.nav-logo{flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.nav-logo-mark{width:34px;height:34px}.nav-logo-text{font-family:var(--font-jp);color:var(--silver);letter-spacing:.15em;font-size:19px;font-weight:700}.nav-links{flex:1;gap:32px;display:flex}.nav-link{font-family:var(--font-en);color:var(--silver-mid);letter-spacing:.02em;padding:4px 0;font-size:13px;text-decoration:none;transition:color .2s}.nav-link:hover{color:var(--silver)}.nav-cta{color:var(--turq);border:1.5px solid var(--turq);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font-en);transition:all .28s var(--ease);background:0 0;border-radius:4px;flex-shrink:0;padding:9px 22px;text-decoration:none;display:inline-block}.nav-cta:hover{background:var(--turq);color:var(--navy)}.nav-hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;margin-left:auto;padding:4px;display:none}.nav-hamburger span{background:var(--silver-mid);width:22px;height:1.5px;display:block}#hero{background:var(--navy);justify-content:flex-start;align-items:center;height:100dvh;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg-image{z-index:0;position:absolute;inset:0;overflow:hidden}.hero-bg-image img{animation:22s ease-in-out infinite alternate heroPan}.hero-bg-img-el{object-position:85% 20%}.hero-bg-overlay{background:linear-gradient(90deg,#080f1ed1 0%,#080f1ea6 38%,#080f1e40 65%,#080f1e0a 100%);position:absolute;inset:0}.hero-fade-bottom{z-index:2;pointer-events:none;background:linear-gradient(#0000,#080f1e);height:35dvh;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(90deg,#000 0% 55%,#0000004d 70%,#00000080 80%,#000 100%);mask-image:linear-gradient(90deg,#000 0% 55%,#0000004d 70%,#00000080 80%,#000 100%)}#hero-canvas{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero-glow-1{pointer-events:none;z-index:2;background:radial-gradient(circle,#00b4d812 0%,#0000 65%);border-radius:50%;width:500px;height:500px;position:absolute;top:8%;right:6%}.hero-glow-2{pointer-events:none;z-index:2;background:radial-gradient(circle,#c9a84c0d 0%,#0000 65%);border-radius:50%;width:360px;height:360px;position:absolute;bottom:10%;left:5%}.hero-content{z-index:3;text-align:left;max-width:680px;margin-left:max(48px,50vw - 580px);padding:80px 48px 120px;position:relative}.hero-label{font-family:var(--font-jp);letter-spacing:.15em;color:var(--silver);opacity:0;animation:fadeUp .8s var(--ease) .3s forwards;margin-bottom:32px;font-size:11px;font-weight:500}.hero-h1{letter-spacing:-.03em;color:var(--silver);opacity:0;animation:fadeUp .9s var(--ease) .5s forwards;text-shadow:0 2px 20px #00000080;margin-bottom:28px;font-size:clamp(38px,5.2vw,70px);font-weight:300;line-height:1.2}.hero-h1 em{color:var(--turq);text-shadow:0 0 40px #00b4d880,0 2px 20px #0006;font-style:normal}.hero-sub{color:#b0c8dce6;opacity:0;animation:fadeUp .9s var(--ease) .7s forwards;text-shadow:0 1px 8px #0009;margin-bottom:52px;font-size:clamp(14px,1.5vw,16px);font-weight:400;line-height:2.1}.hero-btns{opacity:0;animation:fadeUp .9s var(--ease) .85s forwards;flex-wrap:wrap;justify-content:flex-start;gap:16px;margin-bottom:80px;display:flex}.btn-primary{background:var(--turq);color:var(--navy);cursor:pointer;font-size:15px;font-weight:600;font-family:var(--font-en);transition:all .32s var(--ease);border:none;border-radius:4px;padding:15px 36px;text-decoration:none;display:inline-block}.btn-primary:hover{background:var(--gold);transform:translateY(-2px);box-shadow:0 8px 32px #c9a84c4d}.btn-outline{color:var(--silver-mid);cursor:pointer;font-size:15px;font-weight:400;font-family:var(--font-en);transition:all .28s var(--ease);background:0 0;border:1.5px solid #f0f4f833;border-radius:4px;padding:14px 36px;text-decoration:none;display:inline-block}.btn-outline:hover{border-color:var(--silver-mid);color:var(--silver)}.hero-stats{opacity:0;animation:fadeUp .9s var(--ease) 1s forwards;flex-wrap:wrap;justify-content:flex-start;gap:64px;display:flex}.hero-stat{text-align:left}.hero-stat-n{font-family:var(--font-en);color:var(--silver);letter-spacing:-.03em;font-size:36px;font-weight:300;line-height:1}.hero-stat-n span{color:var(--turq);font-size:18px}.hero-stat-l{color:var(--silver-dark);letter-spacing:.06em;margin-top:6px;font-size:11px}.hero-scroll{z-index:20;opacity:0;animation:fadeUp .8s var(--ease) 1.3s forwards;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:8px;padding:0;transition:opacity .2s;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.hero-scroll:hover{opacity:.7}.hero-scroll-line{background:linear-gradient(to bottom, var(--turq), transparent);width:1px;height:48px;animation:2s ease-in-out infinite scrollPulse}.hero-scroll-label{font-family:var(--font-en);letter-spacing:.2em;text-transform:uppercase;color:var(--silver-dark);font-size:9px}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollPulse{0%,to{opacity:.4;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.15)}}#services{background:var(--navy);padding:140px 48px}.section-inner{z-index:2;max-width:1160px;margin:0 auto;position:relative}.section-header{max-width:600px;margin-bottom:72px}.services-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.service-card{z-index:2;background:var(--navy-mid);transition:transform .32s var(--ease), box-shadow .32s, border-color .32s;border:1px solid #00b4d821;border-radius:8px;padding:32px 28px;position:relative;box-shadow:0 4px 24px #00000047,inset 0 1px #f0f4f80d}.service-card:hover{border-color:#00b4d852;transform:translateY(-4px);box-shadow:0 12px 40px #0006,0 0 24px #00b4d81a}.service-icon{background:#00b4d81a;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:22px;display:flex}.service-icon svg{width:22px;height:22px;stroke:var(--turq);fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.service-title{color:var(--silver);letter-spacing:-.01em;margin-bottom:12px;font-size:16px;font-weight:500}.service-desc{color:var(--silver-dark);margin-bottom:20px;font-size:13px;line-height:1.9}.service-tags{flex-wrap:wrap;gap:6px;display:flex}.service-tag{font-family:var(--font-en);color:var(--turq);background:#00b4d814;border:1px solid #00b4d833;border-radius:3px;padding:3px 9px;font-size:10px}#works{background:#080f1e;padding:140px 48px}.works-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.work-card{z-index:2;cursor:pointer;transition:transform .32s var(--ease);border:1px solid #00b4d81a;border-radius:8px;position:relative;overflow:hidden}.work-card:hover{transform:translateY(-4px)}.work-card:hover .work-overlay{opacity:1}.work-card:hover .work-img-placeholder{transform:scale(1.04)}.work-img-placeholder{height:200px;transition:transform .5s var(--ease);justify-content:center;align-items:center;display:flex}.work-overlay{opacity:0;background:#0a1628e0;flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:opacity .28s;display:flex;position:absolute;inset:0}.work-overlay-cat{font-family:var(--font-en);letter-spacing:.18em;text-transform:uppercase;color:var(--turq);font-size:10px}.work-overlay-title{color:var(--silver);text-align:center;padding:0 20px;font-size:15px;font-weight:500}.work-overlay-link{font-family:var(--font-en);color:var(--gold);margin-top:4px;font-size:11px}.work-info{background:var(--navy-mid);border-top:1px solid #00b4d81a;padding:14px 18px 18px}.work-cat{font-family:var(--font-en);color:var(--turq);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.work-title{color:var(--silver);margin-top:4px;font-size:14px;font-weight:500}#pricing{background:var(--navy);padding:140px 48px}.pricing-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:24px;display:grid}.pricing-card{background:var(--navy-mid);z-index:2;border:1px solid #00b4d824;border-radius:8px;padding:40px 32px;transition:box-shadow .32s;position:relative;box-shadow:0 4px 24px #00000047}.pricing-card.featured{border-color:#c9a84c59;transform:translateY(-10px);box-shadow:0 4px 32px #0006,0 0 40px #c9a84c1a}.pricing-badge{background:var(--gold);color:var(--navy);font-family:var(--font-en);white-space:nowrap;border-radius:20px;padding:5px 16px;font-size:11px;font-weight:600;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.pricing-name{color:var(--silver-mid);letter-spacing:.04em;margin-bottom:16px;font-size:14px;font-weight:500}.pricing-price{font-family:var(--font-en);color:var(--silver);letter-spacing:-.03em;margin-bottom:4px;font-size:40px;font-weight:300;line-height:1}.pricing-price sup{vertical-align:super;font-size:16px}.pricing-unit{color:var(--silver-dark);margin-bottom:12px;font-size:12px}.pricing-desc{color:var(--silver-dark);margin-bottom:24px;font-size:13px;line-height:1.7}.pricing-divider{background:#00b4d81a;height:1px;margin-bottom:24px}.pricing-features{flex-direction:column;gap:12px;margin-bottom:32px;list-style:none;display:flex}.pricing-feature{color:var(--silver-mid);align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;display:flex}.pricing-feature:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2300B4D8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") 50%/contain no-repeat;flex-shrink:0;width:14px;height:14px;margin-top:1px}.pricing-card.featured .pricing-feature:before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23C9A84C' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") 50%/contain no-repeat}.pricing-btn{width:100%;font-family:var(--font-en);cursor:pointer;transition:all .28s var(--ease);color:var(--turq);background:0 0;border:1.5px solid #00b4d859;border-radius:4px;padding:13px;font-size:14px;font-weight:500}.pricing-btn:hover{border-color:var(--turq);background:#00b4d81a}.pricing-card.featured .pricing-btn{background:var(--gold);color:var(--navy);border-color:#0000;font-weight:600}.pricing-card.featured .pricing-btn:hover{background:#d4b256;transform:translateY(-1px)}#contact{background:#080f1e;padding:140px 48px}.contact-layout{grid-template-columns:1fr 1.4fr;align-items:start;gap:80px;display:grid}.contact-aside-title{color:var(--silver);letter-spacing:-.02em;margin-bottom:20px;font-size:clamp(28px,3.5vw,44px);font-weight:300;line-height:1.3}.contact-aside-sub{color:var(--silver-dark);margin-bottom:36px;font-size:14px;line-height:1.9}.contact-email{font-family:var(--font-en);color:var(--turq);align-items:center;gap:10px;margin-bottom:12px;font-size:14px;text-decoration:none;transition:color .2s;display:flex}.contact-email:hover{color:var(--gold)}.contact-email svg{stroke:currentColor;fill:none;stroke-width:1.5px;flex-shrink:0;width:16px;height:16px}.contact-promise{color:var(--silver-dark);background:#00b4d80f;border:1px solid #00b4d826;border-radius:8px;margin-top:32px;padding:20px;font-size:13px;line-height:1.8}.contact-promise strong{color:var(--turq);font-weight:500}.contact-form{flex-direction:column;gap:20px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group{flex-direction:column;gap:7px;display:flex}.form-label{color:var(--silver-mid);font-size:12px}.form-required{color:var(--turq)}.form-input,.form-select,.form-textarea{background:var(--navy-mid);color:var(--silver);font-family:var(--font-jp);border:1px solid #00b4d833;border-radius:4px;outline:none;width:100%;padding:11px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-input::placeholder,.form-textarea::placeholder{color:var(--silver-dark)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--turq);box-shadow:0 0 0 3px #00b4d81f}.form-select{appearance:none;cursor:pointer;color:var(--silver-dark)}.form-textarea{resize:vertical;min-height:110px;line-height:1.7}.form-submit{background:var(--turq);color:var(--navy);cursor:pointer;font-size:15px;font-weight:600;font-family:var(--font-en);transition:all .32s var(--ease);border:none;border-radius:4px;align-self:flex-start;align-items:center;gap:8px;padding:15px 36px;display:flex}.form-submit:hover{background:var(--gold);transform:translateY(-2px);box-shadow:0 8px 28px #c9a84c4d}.form-submit svg{stroke:currentColor;fill:none;stroke-width:2px;width:16px;height:16px}.form-success{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:60px 20px;display:none}.form-success.visible{display:flex}.form-success-icon{background:#00b4d81a;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.form-success-icon svg{width:28px;height:28px;stroke:var(--turq);fill:none;stroke-width:1.5px}.form-success-title{color:var(--silver);font-size:22px;font-weight:300}.form-success-sub{color:var(--silver-dark);font-size:14px;line-height:1.8}footer{background:#060c18;border-top:1px solid #00b4d814;padding:64px 48px 40px}.footer-inner{max-width:1160px;margin:0 auto}.footer-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:48px;display:flex}.footer-logo-text{font-family:var(--font-jp);color:var(--silver);letter-spacing:.15em;margin-bottom:8px;font-size:20px;font-weight:700}.footer-tagline{font-family:var(--font-jp);color:var(--silver-dark);letter-spacing:.1em;font-size:12px}.footer-links{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.footer-link{font-family:var(--font-jp);color:var(--silver-dark);font-size:13px;text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--silver)}.footer-divider{background:#00b4d812;height:1px;margin-bottom:28px}.footer-bottom{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.footer-copy{font-family:var(--font-en);color:#3a5070;font-size:11px}@media (max-width:900px){.services-grid,.works-grid,.pricing-grid{grid-template-columns:1fr 1fr}.contact-layout{grid-template-columns:1fr;gap:48px}.pricing-card.featured{transform:none}}@media (max-width:600px){.hero-bg-img-el{object-position:120% 20%}.services-grid,.works-grid,.pricing-grid{grid-template-columns:1fr}#nav{padding:0 24px}#services,#works,#pricing,#contact{padding:96px 24px}footer{padding:48px 24px 32px}.footer-links{gap:16px}.form-row{grid-template-columns:1fr}.form-submit{justify-content:center;align-self:stretch}.hero-stats{gap:32px}.nav-links{display:none}.nav-hamburger{display:flex}.nav-cta{display:none}.hero-content{text-align:left;margin-left:0;padding:80px 24px 120px;display:block}.hero-h1{letter-spacing:-.02em;text-align:left;margin-bottom:24px;font-size:clamp(30px,8vw,40px)}.hero-sub{text-align:left;margin-bottom:44px;font-size:14px;line-height:1.85}.hero-btns{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.btn-primary,.btn-outline{text-align:center;width:auto;max-width:100%;padding:14px 28px}.hero-glow-1{width:260px;height:260px}.hero-glow-2{width:200px;height:200px}.hero-scroll{align-items:flex-start;bottom:64px;left:24px;transform:none}.hero-scroll-line{height:32px}.moonlight-column-extended{opacity:.4;filter:blur(20px);background:linear-gradient(90deg,#0000 0%,#d2ebff66 50%,#0000 100%);width:140px;display:block;left:75%}.hero-bg-overlay{z-index:1;background:linear-gradient(#080f1ee0 0%,#080f1e80 40%,#080f1ee6 100%)}.hero-bg-img-el{object-position:right 20%!important;transform:scale(1.4)translate(15%)!important}}
