@font-face{font-family:Montserrat;font-style:normal;font-weight:200;font-display:swap;src:url(../media/8298327da6d5bcce-s.fb2d5852.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:200;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0a39a854.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:200;font-display:swap;src:url(../media/2b402d8aebffd579-s.ec7e94a5.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:200;font-display:swap;src:url(../media/a88409fdd7dc121c-s.62b55a98.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:200;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.9b7a96b4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/8298327da6d5bcce-s.fb2d5852.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0a39a854.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2b402d8aebffd579-s.ec7e94a5.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/a88409fdd7dc121c-s.62b55a98.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.9b7a96b4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8298327da6d5bcce-s.fb2d5852.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0a39a854.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2b402d8aebffd579-s.ec7e94a5.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a88409fdd7dc121c-s.62b55a98.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.9b7a96b4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8298327da6d5bcce-s.fb2d5852.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0a39a854.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2b402d8aebffd579-s.ec7e94a5.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a88409fdd7dc121c-s.62b55a98.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.9b7a96b4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat Fallback;src:local(Arial);ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.0%;size-adjust:112.83%}.montserrat_cf5fca2a-module__vKCr6q__className{font-family:Montserrat,Montserrat Fallback;font-style:normal}.montserrat_cf5fca2a-module__vKCr6q__variable{--font-en:"Montserrat","Montserrat Fallback"}
@font-face{font-family:Shippori Mincho;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/shippori-mincho-400.woff2)format("woff2")}@font-face{font-family:Shippori Mincho;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/shippori-mincho-500.woff2)format("woff2")}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-dark:#383b40;--bg-darker:#2e3035;--bg-light:#eae7e1;--bg-warm:#e2dfd8;--text-light:#dbd7cf;--text-light-sub:#dbd7cfcc;--text-light-muted:#dbd7cf99;--text-dark:#2e3035;--text-dark-sub:#5c5750;--text-dark-muted:#8a847d;--border-light:#dbd7cf1f;--border-dark:#2e30351f;--font-en:"Montserrat",sans-serif;--font-mincho:"Montserrat","Shippori Mincho","游明朝","Yu Mincho",serif}html{scroll-behavior:smooth;font-size:18px}body{font-family:var(--font-mincho);color:var(--text-dark);background:var(--bg-light);-webkit-font-smoothing:antialiased;font-weight:400;line-height:2}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.texture{position:relative}.texture:after{content:"";opacity:.3;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px;position:absolute;inset:0}.header{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#383b40eb;justify-content:space-between;align-items:center;padding:16px 40px;display:flex;position:fixed;top:0;left:0;right:0}.header-logo{align-items:center;gap:12px;display:flex}.header-logo img{width:auto;height:30px}.header-logo span{font-family:var(--font-en);color:var(--text-light);font-size:1.15rem;font-weight:700}.header-nav{gap:28px;list-style:none;display:flex}.header-nav a{font-family:var(--font-en);letter-spacing:.12em;text-transform:uppercase;color:var(--text-light-muted);font-size:.88rem;font-weight:400;transition:color .3s}.header-nav a:hover,.header-nav a.header-nav-active,.mobile-menu-list a.header-nav-active{color:var(--text-light)}.hamburger{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:none}.hamburger-line{background:var(--text-light);width:22px;height:2px;transition:background .3s;display:block;position:relative}.hamburger-line:before,.hamburger-line:after{content:"";background:var(--text-light);width:100%;height:2px;transition:transform .3s,top .3s;position:absolute;left:0}.hamburger-line:before{top:-7px}.hamburger-line:after{top:7px}.hamburger-line--open{background:0 0}.hamburger-line--open:before{top:0;transform:rotate(45deg)}.hamburger-line--open:after{top:0;transform:rotate(-45deg)}.mobile-menu{z-index:99;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;visibility:hidden;background:#2e3035f5;transition:opacity .3s,visibility .3s;display:none;position:fixed;inset:0}.mobile-menu--open{opacity:1;visibility:visible}.mobile-menu-inner{justify-content:center;align-items:center;height:100%;display:flex}.mobile-menu-list{flex-direction:column;align-items:center;gap:36px;list-style:none;display:flex}.mobile-menu-list a{font-family:var(--font-en);letter-spacing:.2em;text-transform:uppercase;color:var(--text-light-sub);font-size:1.2rem;font-weight:400;transition:color .3s}.mobile-menu-list a:hover{color:var(--text-light)}.hero{text-align:center;background:var(--bg-dark);min-height:100vh;color:var(--text-light);flex-direction:column;justify-content:center;align-items:center;padding:120px 40px 100px;display:flex;position:relative;overflow:hidden}.hero-constellation{opacity:0;animation:1.5s .3s forwards constellationFadeIn;position:absolute;inset:0;overflow:hidden}.hero-constellation canvas{width:100%;height:100%;display:block}.hero-content{z-index:1;position:relative}.hero-logo-mark{opacity:0;width:120px;margin:0 auto 36px;animation:1s .2s forwards fadeIn}.hero-brand{font-family:var(--font-en);opacity:0;margin-bottom:56px;font-size:clamp(3rem,8vw,6.5rem);font-weight:700;line-height:1.1;animation:1s .4s forwards fadeIn}.hero-message{opacity:0;max-width:640px;margin-bottom:20px;animation:1s 1s forwards fadeSlideUp}.hero-message-main{letter-spacing:.08em;margin-bottom:48px;font-size:clamp(1.5rem,3vw,2rem);font-weight:500;line-height:1.9}.hero-message-sub{color:var(--text-light-sub);font-size:1.15rem;font-weight:400;line-height:2.2}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes constellationFadeIn{0%{opacity:0}to{opacity:.75}}.section{padding:140px 40px}.section-inner{max-width:1120px;margin:0 auto}.section-label{font-family:var(--font-en);letter-spacing:.2em;text-transform:uppercase;margin-bottom:12px;font-size:.85rem}.section-title{letter-spacing:.06em;margin-bottom:40px;font-size:clamp(1.55rem,3vw,2rem);font-weight:500;line-height:1.8}.section-lead{margin-bottom:64px;font-size:1.1rem;font-weight:400;line-height:2.2}.service{background:var(--bg-light)}.service .section-label{color:var(--text-dark-muted)}.service .section-lead{color:var(--text-dark-sub)}.service-grid{background:var(--border-dark);border:1px solid var(--border-dark);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.service-card{background:var(--bg-light);padding:44px 32px;transition:background .4s}.service-card:hover{background:var(--bg-warm)}.service-card-num{font-family:var(--font-en);color:var(--text-dark-muted);letter-spacing:.1em;margin-bottom:16px;font-size:.88rem}.service-card-title{letter-spacing:.06em;margin-bottom:20px;font-size:1.35rem;font-weight:500}.service-card-desc{color:var(--text-dark-sub);margin-bottom:24px;font-size:1.05rem;font-weight:400;line-height:2}.service-card-list{list-style:none}.service-card-list li{color:var(--text-dark-muted);padding:4px 0 4px 16px;font-size:1rem;position:relative}.service-card-list li:before{content:"";background:var(--text-dark-muted);width:6px;height:1px;position:absolute;top:15px;left:0}.story{background:var(--bg-dark);color:var(--text-light)}.story .section-label{color:var(--text-light-muted);text-align:center}.story .section-title{color:var(--text-light);text-align:center}.story-body{text-align:center;max-width:760px;margin:80px auto 0}.story-body p{color:var(--text-light-sub);margin-bottom:32px;font-size:1.15rem;line-height:2.4}.story-body p:last-child{margin-bottom:0}.story-body strong{color:var(--text-light);font-weight:500}.story-morph{text-align:center;border-bottom:1px solid var(--border-light);padding:0 80px 64px;position:relative}.story-morph-content-area{flex-direction:column;justify-content:flex-start;max-width:780px;min-height:480px;margin:0 auto;display:flex}.story-morph-arrow{color:var(--text-light-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:48px;height:48px;padding:0;transition:color .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.story-morph-arrow svg{width:24px;height:24px}.story-morph-arrow--left{left:0}.story-morph-arrow--right{right:0}.story-morph-arrow:hover{color:var(--text-light)}.story-morph-arrow:disabled{cursor:default;opacity:.4}.story-morph-body{text-align:center}.story-morph-autoplay{border:1px solid var(--border-light);color:var(--text-light-muted);font-family:var(--font-en);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:20px;align-self:center;align-items:center;gap:6px;margin-top:auto;padding:6px 14px;font-size:.72rem;transition:color .3s,border-color .3s;display:inline-flex}.story-morph-autoplay:hover{color:var(--text-light-sub);border-color:var(--text-light-sub)}.story-name-title{font-family:var(--font-en);letter-spacing:.1em;margin-bottom:8px;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700}.story-name-reading{color:var(--text-light-muted);letter-spacing:.04em;margin-bottom:24px;font-size:.9rem}.story-name-desc{color:var(--text-light-sub);margin-bottom:16px;font-size:1.05rem;line-height:2.2}.story-name-desc:last-child{margin-bottom:0}.story-name-desc strong{color:var(--text-light);font-weight:500}.about{background:var(--bg-warm)}.about .section-label{color:var(--text-dark-muted)}.about-card{grid-template-columns:400px 1fr;align-items:center;gap:64px;display:grid}.about-photo{border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #00000014}.about-photo img{aspect-ratio:4/5;object-fit:cover;filter:grayscale(15%);width:100%;transition:filter .6s,transform .6s}.about-photo:hover img{filter:grayscale(0%);transform:scale(1.03)}.about-card-text{flex-direction:column;display:flex}.about-name{letter-spacing:.06em;margin-bottom:4px;font-size:clamp(1.6rem,3vw,2rem);font-weight:500}.about-name-en{font-family:var(--font-en);letter-spacing:.1em;color:var(--text-dark-sub);margin-bottom:28px;font-size:.92rem;font-weight:400}.about-role{color:var(--text-dark-muted);letter-spacing:.06em;margin-bottom:28px;font-size:.9rem}.about-lead{letter-spacing:.04em;color:var(--text-dark);margin-bottom:32px;font-size:1.2rem;font-weight:500;line-height:2}.about-link{font-family:var(--font-en);letter-spacing:.1em;color:var(--text-dark);align-self:flex-end;align-items:center;gap:8px;margin-top:auto;font-size:.95rem;transition:gap .3s;display:inline-flex}.about-link:hover{gap:14px}.about-link:after{content:"";background:var(--text-dark);width:32px;height:1px;transition:width .3s;display:block}.about-link:hover:after{width:48px}.about-page{background:var(--bg-warm);padding:140px 40px 120px;position:relative;overflow:hidden}.about-page-inner{z-index:1;max-width:1120px;margin:0 auto;position:relative}.about-page .section-label{color:var(--text-dark-muted)}.about-page-intro{grid-template-columns:360px 1fr;align-items:end;gap:72px;margin-bottom:80px;display:grid}.about-page-intro .about-photo{border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #00000014}.about-page-intro .about-photo img{transition:transform .6s}.about-page-intro .about-photo:hover img{transform:scale(1.03)}.about-page-name{letter-spacing:.06em;margin-bottom:4px;font-size:clamp(1.5rem,2.5vw,1.8rem);font-weight:500}.about-page-name-en{font-family:var(--font-en);letter-spacing:.1em;color:var(--text-dark-sub);margin-bottom:4px;font-size:.95rem;font-weight:400}.about-page-role{color:var(--text-dark-muted);letter-spacing:.06em;margin-bottom:32px;font-size:.95rem}.about-page-lead{letter-spacing:.04em;color:var(--text-dark);font-size:1.35rem;font-weight:500;line-height:2}.about-page-story{margin-bottom:72px}.about-page-story p{color:var(--text-dark-sub);margin-bottom:28px;font-size:1.1rem;line-height:2.4}.about-page-story p:last-child{margin-bottom:0}.about-page-story strong{color:var(--text-dark);font-weight:500}.about-page-values{border-top:1px solid var(--border-dark);border-bottom:1px solid var(--border-dark);margin-bottom:56px;padding:40px 0}.about-page-values-title{letter-spacing:.06em;color:var(--text-dark);margin-bottom:24px;font-size:1.05rem;font-weight:500}.about-page-values-list{flex-direction:column;gap:14px;list-style:none;display:flex}.about-page-values-list li{color:var(--text-dark-sub);padding-left:20px;font-size:1.05rem;line-height:1.8;position:relative}.about-page-values-list li:before{content:"";background:var(--text-dark-muted);width:8px;height:1px;position:absolute;top:14px;left:0}.about-page-impression{color:var(--text-dark);font-size:1.15rem;font-weight:500;line-height:2.2}.works{background:var(--bg-light)}.works .section-label{color:var(--text-dark-muted)}.works-list{flex-direction:column;display:flex}.works-item{border-bottom:1px solid var(--border-dark);grid-template-columns:200px 120px 1fr;align-items:baseline;gap:24px;padding:28px 0;transition:padding-left .3s;display:grid}.works-item:first-child{border-top:1px solid var(--border-dark)}.works-client{font-size:1.1rem;font-weight:500}.works-tag{color:var(--text-dark-muted);letter-spacing:.06em;font-size:.95rem}.works-desc{color:var(--text-dark-sub);font-size:1.05rem;line-height:2}.works-desc a{color:var(--text-dark-sub);text-underline-offset:.15em;-webkit-text-decoration:underline #5c575059;text-decoration:underline #5c575059;transition:text-decoration-color .2s}.works-desc a:hover{text-decoration-color:#5c5750b3}.cta{background:var(--bg-darker);color:var(--text-light);text-align:center;padding:120px 40px}.cta .section-label{color:var(--text-light-muted)}.cta .section-title{color:var(--text-light)}.cta-sub{color:var(--text-light-sub);margin-bottom:56px;font-size:1.15rem;line-height:2.2}.cta-buttons{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.cta-btn,.form-submit{font-family:var(--font-mincho);letter-spacing:.12em;color:var(--text-light);cursor:pointer;background:0 0;border:1px solid #dbd7cf66;align-items:center;gap:12px;padding:20px 52px;font-size:1.05rem;font-weight:400;transition:border-color .5s cubic-bezier(.25,.46,.45,.94);display:inline-flex;position:relative;overflow:hidden}.cta-btn:before,.form-submit:before{content:"";background:var(--text-light);z-index:0;width:0;height:100%;transition:width .5s cubic-bezier(.25,.46,.45,.94);position:absolute;top:0;left:0}.cta-btn:hover:before,.form-submit:hover:before{width:100%}.cta-btn-text,.form-submit-text{z-index:1;transition:color .5s cubic-bezier(.25,.46,.45,.94);position:relative}.cta-btn:hover .cta-btn-text,.form-submit:hover .form-submit-text{color:var(--bg-darker)}.cta-btn-arrow,.form-submit-arrow{z-index:1;background:var(--text-light);width:20px;height:1px;transition:all .5s cubic-bezier(.25,.46,.45,.94);display:inline-block;position:relative}.cta-btn-arrow:after,.form-submit-arrow:after{content:"";border-top:1px solid var(--text-light);border-right:1px solid var(--text-light);width:8px;height:8px;transition:border-color .5s cubic-bezier(.25,.46,.45,.94);position:absolute;top:-3px;right:0;transform:rotate(45deg)}.cta-btn:hover .cta-btn-arrow,.form-submit:hover .form-submit-arrow{background:var(--bg-darker);transform:translate(4px)}.cta-btn:hover .cta-btn-arrow:after,.form-submit:hover .form-submit-arrow:after{border-color:var(--bg-darker)}.cta-btn--primary{background:var(--text-light);border-color:var(--text-light);color:var(--bg-darker)}.cta-btn--primary .cta-btn-text{color:var(--bg-darker)}.cta-btn--primary .cta-btn-arrow{background:var(--bg-darker)}.cta-btn--primary .cta-btn-arrow:after{border-color:var(--bg-darker)}.cta-btn--primary:before{background:var(--bg-darker)}.cta-btn--primary:hover .cta-btn-text{color:var(--text-light)}.cta-btn--primary:hover .cta-btn-arrow{background:var(--text-light)}.cta-btn--primary:hover .cta-btn-arrow:after{border-color:var(--text-light)}.footer{background:var(--bg-darker);border-top:1px solid var(--border-light);color:var(--text-light);position:relative;overflow:hidden}.footer-inner{z-index:1;max-width:1120px;margin:0 auto;padding:80px 40px 40px;position:relative}.footer-top{border-bottom:1px solid var(--border-light);grid-template-columns:1fr 2fr;gap:64px;padding-bottom:56px;display:grid}.footer-brand{flex-direction:column;gap:24px;display:flex}.footer-logo{align-items:center;gap:12px;display:flex}.footer-logo img{opacity:.7;width:auto;height:36px}.footer-logo span{font-family:var(--font-en);color:var(--text-light-sub);font-size:1.2rem;font-weight:700}.footer-columns{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.footer-col-title{font-family:var(--font-en);letter-spacing:.16em;text-transform:uppercase;color:var(--text-light-sub);margin-bottom:20px;font-size:.82rem;font-weight:500}.footer-col-list{flex-direction:column;gap:12px;list-style:none;display:flex}.footer-col-list li{color:var(--text-light-muted);letter-spacing:.02em;font-size:.92rem}.footer-col-list a{color:var(--text-light-muted);transition:color .3s}.footer-col-list a:hover{color:var(--text-light)}.footer-col-title--link{transition:color .3s;display:block}.footer-col-title--link:hover{color:var(--text-light)}.footer-bottom{text-align:center;padding-top:32px}.footer-copy{color:#dbd7cf2e;letter-spacing:.04em;font-size:.72rem}.footer-copy-sep{margin:0 4px}.footer-copy-link{color:#dbd7cf2e;transition:color .3s}.footer-copy-link:hover{color:var(--text-light-muted)}.contact-page{background:var(--bg-dark);min-height:100vh;color:var(--text-light);padding:140px 40px 100px}.contact-inner{max-width:640px;margin:0 auto}.contact-page .section-label{color:var(--text-light-muted)}.contact-title{letter-spacing:.06em;margin-bottom:16px;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:500}.contact-lead{color:var(--text-light-sub);margin-bottom:56px;font-size:1.05rem;line-height:2.2}.contact-tabs{border-bottom:1px solid var(--border-light);margin-bottom:48px;display:flex}.contact-tab{font-family:var(--font-mincho);letter-spacing:.06em;color:var(--text-light-muted);cursor:pointer;text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:16px 0;font-size:1.05rem;font-weight:400;transition:color .3s,border-color .3s}.contact-tab:hover{color:var(--text-light-sub)}.contact-tab--active{color:var(--text-light);border-bottom-color:var(--text-light)}.contact-form{flex-direction:column;gap:32px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--text-light-sub);letter-spacing:.04em;font-size:.95rem}.form-optional{color:var(--text-light-muted);margin-left:8px;font-size:.82rem}.form-input,.form-textarea{width:100%;font-family:var(--font-mincho);color:var(--text-light);background:#dbd7cf0f;border:1px solid #dbd7cf26;outline:none;padding:14px 16px;font-size:1rem;transition:border-color .3s,background .3s}.form-input:focus,.form-textarea:focus{background:#dbd7cf1a;border-color:#dbd7cf66}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-light-muted)}.form-textarea{resize:vertical;min-height:220px}.form-hp{opacity:0;width:0;height:0;position:absolute;left:-9999px;overflow:hidden}.form-submit{align-self:flex-start;margin-top:16px}.form-submit:disabled{opacity:.5;cursor:not-allowed}.form-submit:disabled:before{display:none}.form-submit:disabled:hover .form-submit-text{color:var(--text-light)}.form-submit:disabled:hover .form-submit-arrow{background:var(--text-light);transform:none}.form-submit:disabled:hover .form-submit-arrow:after{border-color:var(--text-light)}.contact-success{text-align:center;padding:64px 0}.contact-success-title{margin-bottom:16px;font-size:1.4rem;font-weight:500}.contact-success-text{color:var(--text-light-sub);margin-bottom:40px;font-size:1.05rem;line-height:2.2}.contact-success-back{font-family:var(--font-mincho);color:var(--text-light-sub);cursor:pointer;background:0 0;border:1px solid #dbd7cf33;padding:14px 40px;font-size:.95rem;transition:all .3s}.contact-success-back:hover{color:var(--text-light);border-color:#dbd7cf66}.contact-error{color:#e0a0a0;background:#c8646414;border:1px solid #c8646466;margin-bottom:32px;padding:16px 20px;font-size:.95rem;line-height:1.8}.privacy-page{background:var(--bg-light);min-height:100vh;color:var(--text-dark);padding:140px 40px 100px}.privacy-inner{max-width:760px;margin:0 auto}.privacy-page .section-label{color:var(--text-dark-muted)}.privacy-title{letter-spacing:.06em;margin-bottom:48px;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:500}.privacy-updated{color:var(--text-dark-muted);margin-bottom:48px;font-size:.88rem}.privacy-body h2{letter-spacing:.04em;margin-top:40px;margin-bottom:16px;font-size:1.1rem;font-weight:500}.privacy-body p{color:var(--text-dark-sub);margin-bottom:16px;font-size:1rem;line-height:2}.privacy-body ul{margin-bottom:16px;padding-left:20px;list-style:none}.privacy-body li{color:var(--text-dark-sub);font-size:1rem;line-height:2;position:relative}.privacy-body li:before{content:"";background:var(--text-dark-muted);width:6px;height:1px;position:absolute;top:14px;left:-16px}.privacy-body a{color:var(--text-dark);text-underline-offset:3px;text-decoration:underline}.privacy-body a:hover{color:var(--text-dark-sub)}.scroll-reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(32px)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.photo-reveal{position:relative;overflow:hidden}.photo-reveal:before{content:"";background:var(--text-dark-sub);z-index:2;clip-path:polygon(0 0,0 0,-8% 100%,0 100%);position:absolute;inset:-5% -10%}.photo-reveal img{opacity:0;transform:scale(1.08)}.photo-revealed:before{animation:.8s ease-in-out forwards photo-mask}.photo-revealed img{animation:.8s ease-in-out .5s forwards photo-img}@keyframes photo-mask{0%{clip-path:polygon(0 0,0 0,-8% 100%,0 100%)}40%{clip-path:polygon(-8% 0,108% 0,100% 100%,0 100%)}to{clip-path:polygon(108% 0,108% 0,100% 100%,100% 100%)}}@keyframes photo-img{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.letter-morph{display:inline-flex}.letter-morph-char{display:inline-block}::view-transition-old(root){animation:.5s cubic-bezier(.4,0,.2,1) forwards vt-fade-out}::view-transition-new(root){animation:.5s cubic-bezier(.4,0,.2,1) forwards vt-fade-in}@keyframes vt-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes vt-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}:focus-visible{outline-offset:2px;outline:2px solid}.header a:focus-visible,.hero a:focus-visible,.story a:focus-visible,.story button:focus-visible,.cta a:focus-visible,.cta button:focus-visible,.footer a:focus-visible,.footer button:focus-visible,.contact-page a:focus-visible,.contact-page button:focus-visible,.hamburger:focus-visible,.mobile-menu-list a:focus-visible{outline-color:var(--text-light-sub)}.service a:focus-visible,.service button:focus-visible,.about a:focus-visible,.about button:focus-visible,.about-page a:focus-visible,.about-page button:focus-visible,.works a:focus-visible,.works button:focus-visible{outline-color:var(--text-dark-sub)}.form-input:focus-visible,.form-textarea:focus-visible{outline:2px solid var(--text-light-sub);outline-offset:-1px}@media (max-width:768px){html{font-size:16px}.header{padding:12px 16px}.header-nav{display:none}.hamburger{display:flex}.mobile-menu{display:block}.hero{padding:100px 24px 80px}.hero-logo-mark{width:80px;margin-bottom:24px}.hero-brand{margin-bottom:36px}.hero-message-main{margin-bottom:32px}.hero-message br{display:none}.section{padding:80px 20px}.section-title{line-height:1.9}.section-lead{margin-bottom:48px}.section-lead br{display:none}.service-grid{grid-template-columns:1fr}.service-card{padding:36px 24px}.story-morph{grid-template-rows:auto 1fr;grid-template-columns:auto auto;justify-content:center;gap:8px 24px;padding:0 0 48px;display:grid}.story-morph-arrow{grid-row:1;width:40px;height:40px;position:static;transform:none}.story-morph-arrow--left{grid-column:1;justify-self:end}.story-morph-arrow--right{grid-column:2;justify-self:start}.story-morph-content-area{grid-area:2/1/auto/-1;min-height:480px}.story-name-desc{font-size:.95rem}.story-body{margin-top:48px}.story-body p{font-size:1.05rem}.story-body br{display:none}.about-card{grid-template-columns:1fr;gap:24px}.about-photo{max-width:280px;margin:0 auto}.about-card-text{text-align:right;align-items:flex-end;max-width:280px;margin:0 auto}.about-role{margin-bottom:16px}.about-lead{text-align:left;margin-top:24px;font-size:1.1rem}.about-page{padding:100px 20px 80px}.about-page-intro{grid-template-columns:1fr;gap:24px;margin-bottom:56px}.about-page-intro .about-photo{max-width:280px;margin:0 auto}.about-page-intro>div:last-child{text-align:right;max-width:280px;margin:0 auto}.about-page-role{margin-bottom:16px}.about-page-lead{text-align:left;margin-top:24px;font-size:1.1rem}.works-item{grid-template-columns:1fr;gap:4px}.cta{padding:80px 20px}.cta-sub{margin-bottom:40px}.cta-sub br{display:none}.cta-buttons{flex-direction:column;align-items:stretch}.cta-btn{justify-content:center;padding:18px 32px}.contact-page{padding:100px 20px 80px}.contact-lead br{display:none}.contact-tab{padding:14px 0;font-size:.95rem}.form-submit{justify-content:center;width:100%}.privacy-page{padding:100px 20px 80px}.footer-inner{padding:48px 20px 28px}.footer-top{grid-template-columns:1fr;gap:40px}.footer-columns{grid-template-columns:1fr 1fr;gap:28px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-reveal{opacity:1;transition:none;transform:none}.hero-logo-mark,.hero-brand,.hero-message,.hero-constellation{opacity:1;animation:none}.photo-reveal:before{display:none}.photo-reveal img{opacity:1;transform:none}::view-transition-old(root){animation-duration:.01ms}::view-transition-new(root){animation-duration:.01ms}}
