:root{--bg:#faf9f6;--fg:#0a0a0a;--fg-mid:#4a4a48;--fg-soft:#8a8a86;--line:rgba(10,10,10,.12);--line-strong:rgba(10,10,10,.4);--accent-bg:#0a0a0a;--accent-fg:#faf9f6;--serif-en:'Fraunces' , serif;--sans-en:'Inter Tight' , sans-serif;--mincho-jp:'Shippori Mincho B1' , serif;--sans-jp:'Zen Kaku Gothic New' , sans-serif;--mono:'JetBrains Mono' , monospace;--pad-x:clamp(24px,5vw,80px);--max-w:1440px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--fg);font-family: var(--sans-jp);font-weight:300;line-height:1.7;cursor:none;overflow-x:hidden}@media (hover:none){body{cursor:auto}}a{color:inherit;text-decoration:none;cursor:none}button{font:inherit;cursor:none;background:none;border:none;color:inherit}img{max-width:100%;display:block}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.035;background-image:url(data:image/svg+xml;utf8,<svg\ xmlns=\'http://www.w3.org/2000/svg\'\ width=\'200\'\ height=\'200\'><filter\ id=\'n\'><feTurbulence\ type=\'fractalNoise\'\ baseFrequency=\'0.9\'\ numOctaves=\'3\'/></filter><rect\ width=\'100%25\'\ height=\'100%25\'\ filter=\'url\(%23n\)\'/></svg>)}.cursor,.cursor-dot{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;border-radius:50%;transition:transform .25s ease , width .25s ease , height .25s ease , background .25s ease;mix-blend-mode:difference}.cursor{width:32px;height:32px;border:1px solid #fff;transform:translate(-50%,-50%)}.cursor-dot{width:4px;height:4px;background:#fff;transform:translate(-50%,-50%)}.cursor.hover{width:64px;height:64px;background:rgba(255,255,255,.1)}@media (hover:none){.cursor,.cursor-dot{display:none}}.section-label{font-family: var(--mono);font-size:11px;letter-spacing:.15em;text-transform:lowercase;color:var(--fg-mid);display:flex;align-items:center;gap:16px;margin-bottom:80px}.section-label::before{content:"";width:48px;height:1px;background:var(--fg);display:block;transform:scaleX(0);transform-origin:left;transition:transform 1s cubic-bezier(.7,0,.2,1)}.in-view .section-label::before{transform:scaleX(1)}.reveal{opacity:0;transform:translateY(40px);transition:opacity 1.2s cubic-bezier(.2,.8,.2,1) , transform 1.2s cubic-bezier(.2,.8,.2,1)}.in-view .reveal{opacity:1;transform:translateY(0)}.in-view .reveal.d1{transition-delay:.1s}.in-view .reveal.d2{transition-delay:.2s}.in-view .reveal.d3{transition-delay:.3s}.in-view .reveal.d4{transition-delay:.4s}section{padding:160px var(--pad-x);max-width:var(--max-w);margin:0 auto;position:relative}.page-header{min-height:80vh;padding:200px var(--pad-x) 80px;display:flex;flex-direction:column;justify-content:flex-end;max-width:var(--max-w);margin:0 auto;position:relative}.page-header-meta{position:absolute;top:50%;right:var(--pad-x);transform:translateY(-50%) rotate(90deg);transform-origin:right center;font-family: var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-soft);white-space:nowrap}.page-header-eyebrow{font-family: var(--mono);font-size:11px;letter-spacing:.15em;text-transform:lowercase;color:var(--fg-mid);display:flex;align-items:center;gap:16px;margin-bottom:60px;opacity:0;animation:fade-in 1.2s .2s forwards}.page-header-eyebrow::before{content:"";width:48px;height:1px;background:var(--fg);display:block}.page-title-en{font-family: var(--serif-en);font-style:italic;font-weight:300;font-size:clamp(80px,16vw,240px);line-height:.9;letter-spacing:-.04em;color:var(--fg);margin-bottom:24px;overflow:hidden}.page-title-en span{display:inline-block;transform:translateY(110%);animation:line-up 1.2s .4s cubic-bezier(.7,0,.2,1) forwards}.page-title-jp{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(20px,2.4vw,32px);letter-spacing:-.01em;color:var(--fg-mid);opacity:0;animation:fade-in 1.2s .9s forwards}.cta{text-align:center;padding-top:200px;padding-bottom:200px}.cta-headline{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(32px,5vw,64px);line-height:1.5;letter-spacing:-.01em;margin-bottom:32px}.cta-sub{font-size:14px;line-height:2;color:var(--fg-mid);max-width:520px;margin:0 auto 64px}.cta-buttons{display:flex;flex-direction:column;gap:20px;align-items:center}.cta-primary{font-family: var(--mincho-jp);font-size:17px;font-weight:500;background:var(--fg);color:var(--bg);padding:26px 64px;letter-spacing:.04em;position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:16px;min-width:360px;justify-content:center;border:1px solid var(--fg)}.cta-primary span{position:relative;z-index:2}.cta-primary::before{content:"";position:absolute;inset:0;background:var(--bg);transform:translateY(101%);transition:transform .6s cubic-bezier(.7,0,.2,1);z-index:1}.cta-primary:hover{color:var(--fg)}.cta-primary:hover::before{transform:translateY(0)}.cta-primary .arrow{transition:transform .4s}.cta-primary:hover .arrow{transform:translateX(8px)}.cta-secondary{font-family: var(--mincho-jp);font-size:15px;border:1px solid var(--fg);padding:22px 64px;letter-spacing:.04em;min-width:360px;display:inline-flex;align-items:center;gap:16px;justify-content:center;background:transparent;color:var(--fg);position:relative;overflow:hidden}.cta-secondary span{position:relative;z-index:2}.cta-secondary::before{content:"";position:absolute;inset:0;background:var(--fg);transform:translateY(101%);transition:transform .6s cubic-bezier(.7,0,.2,1);z-index:1}.cta-secondary:hover{color:var(--bg)}.cta-secondary:hover::before{transform:translateY(0)}.cta-secondary .arrow{transition:transform .4s}.cta-secondary:hover .arrow{transform:translateX(8px)}.cta-tertiary{margin-top:16px;font-family: var(--mono);font-size:11px;letter-spacing:.1em;color:var(--fg-mid);border-bottom:1px solid var(--fg-mid);padding-bottom:3px}@keyframes line-up {
  to { transform: translateY(0); }
}@keyframes fade-in {
  to { opacity: 1; }
}@keyframes scroll-line {
  0%, 100% { transform: scaleY(0.3); transform-origin: top; }
  50% { transform: scaleY(1); transform-origin: top; }
}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:28px var(--pad-x);display:flex;justify-content:space-between;align-items:center;mix-blend-mode:difference;color:var(--accent-fg)}.logo{font-size:24px;letter-spacing:-.01em;display:inline-flex;align-items:baseline;gap:.18em;line-height:1}.logo .it{font-family: var(--serif-en);font-style:italic;font-weight:300}.logo .agency{font-family: var(--sans-en);font-weight:200;letter-spacing:-.01em}.nav{display:flex;gap:36px;align-items:center}.nav a{font-family: var(--mono);font-size:11px;text-transform:lowercase;letter-spacing:.08em;position:relative;padding-bottom:2px}.nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.7,0,.2,1)}.nav a:hover::after{transform:scaleX(1);transform-origin:left}.nav a.current::after{transform:scaleX(1);transform-origin:left}.lang{font-family: var(--mono);font-size:11px;letter-spacing:.08em;padding-left:36px;border-left:1px solid currentColor}footer{border-top:1px solid var(--line);padding:80px var(--pad-x) 40px;max-width:var(--max-w);margin:0 auto}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:60px;margin-bottom:100px}.footer-brand .footer-logo{font-size:30px;display:inline-flex;align-items:baseline;gap:.18em;line-height:1;margin-bottom:28px}.footer-brand .footer-logo .it{font-family: var(--serif-en);font-style:italic;font-weight:300}.footer-brand .footer-logo .agency{font-family: var(--sans-en);font-weight:200;letter-spacing:-.01em}.footer-tagline{font-family: var(--mincho-jp);font-size:16px;line-height:1.9;color:var(--fg-mid);max-width:280px}.footer-col h4{font-family: var(--mono);font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:lowercase;color:var(--fg-mid);margin-bottom:24px}.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:14px}.footer-col a{font-family: var(--mincho-jp);font-size:14px;color:var(--fg);position:relative;display:inline-block}.footer-col a::after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--fg);transform:scaleX(0);transform-origin:right;transition:transform .4s}.footer-col a:hover::after{transform:scaleX(1);transform-origin:left}.footer-bottom{border-top:1px solid var(--line);padding-top:32px;display:flex;justify-content:space-between;align-items:center;font-family: var(--mono);font-size:10px;letter-spacing:.1em;color:var(--fg-mid);text-transform:lowercase}.hero{min-height:100vh;padding:140px var(--pad-x) 60px;display:flex;flex-direction:column;justify-content:center;position:relative;max-width:var(--max-w);margin:0 auto}.hero-meta{position:absolute;top:50%;right:var(--pad-x);transform:translateY(-50%) rotate(90deg);transform-origin:right center;font-family: var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-soft);white-space:nowrap}.hero-eyebrow{font-family: var(--mono);font-size:11px;letter-spacing:.15em;text-transform:lowercase;color:var(--fg-mid);display:flex;align-items:center;gap:16px;margin-bottom:60px;opacity:0;animation:fade-in 1.2s .2s forwards}.hero-eyebrow::before{content:"";width:48px;height:1px;background:var(--fg);display:block}.hero h1{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(40px,7.5vw,112px);line-height:1.18;letter-spacing:-.01em;color:var(--fg);margin-bottom:56px}.hero h1 .line{display:block;overflow:hidden}.hero h1 .line span{display:inline-block;transform:translateY(110%);animation:line-up 1.2s cubic-bezier(.7,0,.2,1) forwards}.hero h1 .line:nth-child(1) span {animation-delay:.4s}.hero h1 .line:nth-child(2) span {animation-delay:.55s}.hero h1 .line:nth-child(3) span {animation-delay:.7s}.hero-sub-en{font-family: var(--serif-en);font-style:italic;font-weight:300;font-size:clamp(14px,1.4vw,19px);color:var(--fg-mid);letter-spacing:-.01em;margin-bottom:32px;max-width:640px;opacity:0;animation:fade-in 1.2s 1s forwards}.hero-sub-jp{font-family: var(--sans-jp);font-size:14px;font-weight:400;color:var(--fg-mid);max-width:540px;display:flex;align-items:flex-start;gap:14px;opacity:0;animation:fade-in 1.2s 1.15s forwards}.hero-sub-jp::before{content:"";flex-shrink:0;width:24px;height:1px;background:var(--fg-mid);margin-top:12px}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);font-family: var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-soft);display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;animation:fade-in 1.2s 1.4s forwards}.scroll-indicator::after{content:"";width:1px;height:40px;background:var(--fg-soft);animation:scroll-line 2s ease-in-out infinite}.intro{display:grid;grid-template-columns:1fr 1.5fr;gap:80px;align-items:start}.intro-headline{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(28px,4vw,56px);line-height:1.5;letter-spacing:-.01em}.intro-body{font-size:15px;line-height:2.1;color:var(--fg-mid);max-width:540px}.intro-body p+p{margin-top:1.6em}.intro-body strong{color:var(--fg);font-weight:500;background-image:linear-gradient(transparent 70%,rgba(10,10,10,.08) 70%)}.services-list{display:flex;flex-direction:column}.service-item{border-top:1px solid var(--line);padding:60px 0;display:grid;grid-template-columns:100px 1fr auto;gap:60px;align-items:start;position:relative;transition:padding .6s cubic-bezier(.7,0,.2,1)}.service-item:last-child{border-bottom:1px solid var(--line)}.service-item::before{content:"";position:absolute;inset:0;background:var(--fg);transform:scaleY(0);transform-origin:bottom;transition:transform .6s cubic-bezier(.7,0,.2,1);z-index:-1}.service-item:hover::before{transform:scaleY(1);transform-origin:top}.service-item:hover{color:var(--bg);padding:60px 40px}.service-item:hover .service-num{color:var(--bg)}.service-item:hover .service-jp{color:var(--bg)}.service-item:hover .service-desc{color:rgba(250,249,246,.7)}.service-item:hover .service-link{color:var(--bg)}.service-item .service-num{font-family: var(--serif-en);font-style:italic;font-size:56px;font-weight:300;color:var(--fg-mid);line-height:1;transition:color .4s}.service-content{display:flex;flex-direction:column;gap:10px}.service-item .service-en{font-family: var(--serif-en);font-size:13px;font-weight:400;font-style:italic;color:var(--fg-mid);letter-spacing:.02em}.service-item .service-jp{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(22px,2.6vw,32px);line-height:1.4;margin-bottom:8px;transition:color .4s}.service-desc{font-size:14px;line-height:1.9;color:var(--fg-mid);max-width:520px;transition:color .4s}.service-link{align-self:end;font-family: var(--mono);font-size:11px;letter-spacing:.1em;color:var(--fg-mid);display:flex;align-items:center;gap:10px;white-space:nowrap;transition:color .4s}.service-link::after{content:"\2192";transition:transform .4s}.service-item:hover .service-link::after{transform:translateX(8px)}.numbers{background:var(--fg);color:var(--bg);max-width:none;margin:0;padding:160px var(--pad-x)}.numbers-inner{max-width:var(--max-w);margin:0 auto}.numbers .section-label{color:rgba(250,249,246,.6)}.numbers .section-label::before{background:var(--bg)}.numbers-headline{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(28px,4vw,52px);line-height:1.5;margin-bottom:100px;max-width:800px}.numbers-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px 60px;margin-bottom:120px}.number-item{border-top:1px solid rgba(250,249,246,.2);padding-top:32px}.number-item.full{grid-column: 1 / -1}.number-row{display:flex;align-items:baseline;gap:28px;font-family: var(--serif-en);font-weight:300;font-size:clamp(56px,9vw,128px);line-height:1;margin-bottom:24px;letter-spacing:-.04em}.number-row .num{display:inline-block;min-width:1.2em}.number-row .arrow{font-size:.4em;letter-spacing:-.1em;position:relative;display:inline-block;width:80px;height:1px;background:rgba(250,249,246,.4);align-self:center;margin-bottom:.4em}.number-row .arrow::after{content:"";position:absolute;right:0;top:50%;width:10px;height:10px;border-top:1px solid rgba(250,249,246,.4);border-right:1px solid rgba(250,249,246,.4);transform:translateY(-50%) rotate(45deg)}.number-row .num.solo{font-size:1em}.number-label{font-family: var(--mono);font-size:12px;letter-spacing:.05em;color:rgba(250,249,246,.6);line-height:1.6}.numbers-quote{border-top:1px solid rgba(250,249,246,.2);padding-top:60px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.numbers-quote blockquote{font-family: var(--mincho-jp);font-weight:400;font-size:clamp(20px,2.4vw,30px);line-height:1.7;letter-spacing:-.005em}.numbers-quote blockquote::before{content:"\300C";margin-right:-.2em}.numbers-quote blockquote::after{content:"\300D";margin-left:-.2em}.numbers-cite{font-family: var(--mono);font-size:11px;line-height:1.9;color:rgba(250,249,246,.6);letter-spacing:.05em;text-align:right}.numbers-cite strong{display:block;font-family: var(--mincho-jp);font-size:16px;font-weight:500;color:var(--bg);margin-bottom:8px;letter-spacing:0}.works-list{display:flex;flex-direction:column}.work-item{border-top:1px solid var(--line);padding:50px 0;display:grid;grid-template-columns:100px 1fr auto;gap:60px;align-items:center;position:relative;overflow:hidden}.work-item:last-of-type{border-bottom:1px solid var(--line)}.work-num{font-family: var(--mono);font-size:12px;color:var(--fg-mid);letter-spacing:.1em}.work-title{display:flex;flex-direction:column;gap:8px}.work-name{font-family: var(--mincho-jp);font-size:clamp(22px,2.6vw,32px);font-weight:500;letter-spacing:-.01em;transition:transform .6s cubic-bezier(.7,0,.2,1)}.work-tag{font-family: var(--serif-en);font-style:italic;font-size:13px;color:var(--fg-mid)}.work-desc{font-size:13px;color:var(--fg-mid);margin-top:6px;max-width:480px;line-height:1.7}.work-arrow{font-family: var(--mono);font-size:11px;color:var(--fg-mid);letter-spacing:.1em;transition:transform .4s}.work-item:hover .work-name{transform:translateX(20px)}.work-item:hover .work-arrow{transform:translateX(8px)}.works-cta{margin-top:80px;text-align:center}.works-cta a{font-family: var(--mono);font-size:11px;letter-spacing:.15em;text-transform:lowercase;border-bottom:1px solid var(--fg);padding-bottom:4px}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.about-photo{aspect-ratio: 4 / 5;background:linear-gradient(135deg,#d8d6d0 0%,#b8b6b0 100%);position:relative;filter:grayscale(1);transition:filter .8s}.about-photo::before{content:"[ photo placeholder ]";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family: var(--mono);font-size:11px;color:rgba(255,255,255,.6);letter-spacing:.1em}.about-photo:hover{filter:grayscale(.3)}.about-content{padding-top:20px}.about-name-en{font-family: var(--serif-en);font-style:italic;font-size:16px;color:var(--fg-mid);margin-bottom:8px}.about-name-jp{font-family: var(--mincho-jp);font-size:clamp(32px,4vw,48px);font-weight:500;letter-spacing:-.01em;margin-bottom:4px}.about-role{font-family: var(--mono);font-size:11px;letter-spacing:.1em;color:var(--fg-mid);margin-bottom:48px}.about-text{font-size:15px;line-height:2.1;color:var(--fg-mid);max-width:540px;margin-bottom:48px}.about-text p+p{margin-top:1.4em}.about-link{font-family: var(--mono);font-size:11px;letter-spacing:.1em;border-bottom:1px solid var(--fg);padding-bottom:4px;color:var(--fg)}.profile{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.profile-photo-wrap{position:relative}.profile-photo{aspect-ratio: 4 / 5;background:linear-gradient(135deg,#d8d6d0 0%,#a8a6a0 100%);position:relative;filter:grayscale(1)}.profile-photo::before{content:"[ photo placeholder ]";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family: var(--mono);font-size:11px;color:rgba(255,255,255,.6);letter-spacing:.1em}.profile-photo-caption{font-family: var(--mono);font-size:10px;letter-spacing:.1em;color:var(--fg-soft);margin-top:16px;display:flex;justify-content:space-between;text-transform:lowercase}.profile-info{padding-top:40px}.profile-name-en{font-family: var(--serif-en);font-style:italic;font-weight:300;font-size:22px;color:var(--fg-mid);margin-bottom:12px;letter-spacing:-.01em}.profile-name-jp{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(40px,5vw,64px);line-height:1.1;letter-spacing:-.02em;margin-bottom:12px}.profile-role{font-family: var(--mono);font-size:11px;letter-spacing:.1em;color:var(--fg-mid);margin-bottom:56px;text-transform:lowercase}.profile-meta{display:flex;flex-direction:column;gap:0}.profile-meta-row{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:20px 0;border-top:1px solid var(--line);align-items:baseline}.profile-meta-row:last-child{border-bottom:1px solid var(--line)}.profile-meta-key{font-family: var(--mono);font-size:10px;letter-spacing:.1em;color:var(--fg-soft);text-transform:lowercase}.profile-meta-val{font-family: var(--mincho-jp);font-size:15px;font-weight:400;color:var(--fg);letter-spacing:-.005em}.story{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start}.story-side{position:sticky;top:100px}.story-side-headline{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(28px,3.6vw,48px);line-height:1.4;letter-spacing:-.01em}.story-content{display:flex;flex-direction:column;gap:80px}.story-chapter{border-top:1px solid var(--line);padding-top:40px}.story-chapter-num{font-family: var(--serif-en);font-style:italic;font-weight:300;font-size:22px;color:var(--fg-soft);margin-bottom:16px;display:block}.story-chapter-title{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(22px,2.6vw,30px);line-height:1.5;margin-bottom:28px;letter-spacing:-.01em}.story-chapter-body{font-size:15px;line-height:2.1;color:var(--fg-mid);max-width:640px}.story-chapter-body p+p{margin-top:1.4em}.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}.value-item{padding:60px 60px 60px 0;border-bottom:1px solid var(--line);position:relative}.value-item:nth-child(odd) {border-right:1px solid var(--line)}.value-item:nth-child(even) {padding-left:60px;padding-right:0}.value-num{font-family: var(--serif-en);font-style:italic;font-weight:300;font-size:18px;color:var(--fg-soft);margin-bottom:24px;display:block}.value-title{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(22px,2.4vw,28px);line-height:1.5;margin-bottom:24px;letter-spacing:-.01em;max-width:380px}.value-body{font-size:14px;line-height:2;color:var(--fg-mid);max-width:440px}.timeline-section{background:var(--fg);color:var(--bg);max-width:none;margin:0;padding:160px var(--pad-x)}.timeline-inner{max-width:var(--max-w);margin:0 auto}.timeline-section .section-label{color:rgba(250,249,246,.6)}.timeline-section .section-label::before{background:var(--bg)}.timeline-headline{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(28px,4vw,52px);line-height:1.5;margin-bottom:100px;max-width:800px}.timeline-list{display:flex;flex-direction:column}.timeline-item{display:grid;grid-template-columns:200px 1fr;gap:60px;padding:40px 0;border-top:1px solid rgba(250,249,246,.2);align-items:baseline}.timeline-item:last-child{border-bottom:1px solid rgba(250,249,246,.2)}.timeline-year{font-family: var(--serif-en);font-style:italic;font-weight:300;font-size:clamp(28px,3vw,40px);letter-spacing:-.02em;line-height:1;color:rgba(250,249,246,.9)}.timeline-content{}.timeline-title{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(20px,2.2vw,26px);line-height:1.5;margin-bottom:14px;letter-spacing:-.01em}.timeline-desc{font-size:14px;line-height:1.9;color:rgba(250,249,246,.6);max-width:640px}.off-hours{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start}.off-headline{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(28px,4vw,56px);line-height:1.4;letter-spacing:-.01em}.off-body{font-size:15px;line-height:2.1;color:var(--fg-mid);max-width:600px}.off-body p+p{margin-top:1.6em}.off-body strong{color:var(--fg);font-weight:500}.off-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:48px}.off-tag{font-family: var(--mono);font-size:10px;letter-spacing:.08em;text-transform:lowercase;border:1px solid var(--line-strong);padding:8px 14px;color:var(--fg-mid)}.services-intro{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start}.services-intro-headline{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(28px,4vw,56px);line-height:1.5;letter-spacing:-.01em}.services-intro-body{font-size:15px;line-height:2.1;color:var(--fg-mid);max-width:580px}.services-intro-body p+p{margin-top:1.6em}.services-intro-body strong{color:var(--fg);font-weight:500}.service-block{border-top:1px solid var(--line);padding:120px 0}.service-block:last-of-type{border-bottom:1px solid var(--line)}.service-head{display:grid;grid-template-columns:200px 1fr;gap:60px;align-items:start;margin-bottom:80px}.service-block .service-num{font-family: var(--serif-en);font-style:italic;font-weight:300;font-size:clamp(80px,10vw,140px);line-height:.9;letter-spacing:-.04em;color:var(--fg)}.service-titles{}.service-block .service-en{font-family: var(--serif-en);font-style:italic;font-weight:300;font-size:clamp(18px,1.8vw,24px);color:var(--fg-mid);margin-bottom:16px;letter-spacing:-.01em}.service-block .service-jp{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(28px,4vw,52px);line-height:1.3;letter-spacing:-.01em;margin-bottom:32px}.service-lead{font-size:16px;line-height:2;color:var(--fg-mid);max-width:720px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:80px}.service-detail-block h4{font-family: var(--mono);font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:lowercase;color:var(--fg-mid);margin-bottom:28px;display:flex;align-items:center;gap:14px}.service-detail-block h4::before{content:"";width:32px;height:1px;background:var(--fg)}.service-detail-block ul{list-style:none;display:flex;flex-direction:column;gap:16px}.service-detail-block li{font-family: var(--mincho-jp);font-size:16px;font-weight:400;line-height:1.7;letter-spacing:-.005em;padding-left:24px;position:relative}.service-detail-block li::before{content:"";position:absolute;left:0;top:.85em;width:12px;height:1px;background:var(--fg-mid)}.service-cta{margin-top:60px;display:flex;align-items:center;gap:14px;font-family: var(--mono);font-size:11px;letter-spacing:.1em;text-transform:lowercase;border-bottom:1px solid var(--fg);padding-bottom:6px;align-self:flex-start;width:fit-content}.process-section{background:var(--fg);color:var(--bg);max-width:none;margin:0;padding:160px var(--pad-x)}.process-inner{max-width:var(--max-w);margin:0 auto}.process-section .section-label{color:rgba(250,249,246,.6)}.process-section .section-label::before{background:var(--bg)}.process-headline{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(28px,4vw,52px);line-height:1.5;margin-bottom:100px;max-width:800px}.process-list{display:flex;flex-direction:column}.process-item{display:grid;grid-template-columns:100px 1fr;gap:60px;padding:50px 0;border-top:1px solid rgba(250,249,246,.2);align-items:start}.process-item:last-child{border-bottom:1px solid rgba(250,249,246,.2)}.process-num{font-family: var(--serif-en);font-style:italic;font-weight:300;font-size:28px;letter-spacing:-.02em;color:rgba(250,249,246,.9)}.process-content{}.process-title{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(22px,2.4vw,30px);line-height:1.5;letter-spacing:-.01em;margin-bottom:16px}.process-desc{font-size:15px;line-height:2;color:rgba(250,249,246,.6);max-width:720px}.service-page-intro{max-width:900px}.service-page-lead{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(22px,3vw,36px);line-height:1.7;letter-spacing:-.01em;margin-bottom:60px}.service-page-body{font-size:15px;line-height:2.1;color:var(--fg-mid);max-width:720px}.service-page-body p+p{margin-top:1.6em}.service-page-body strong{color:var(--fg);font-weight:500}.service-page-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px}.service-page-approach{max-width:900px}.service-page-approach-headline{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(28px,4vw,52px);line-height:1.5;letter-spacing:-.01em;margin-bottom:60px}.service-page-approach-body{font-size:15px;line-height:2.1;color:var(--fg-mid);max-width:720px}.service-page-approach-body p+p{margin-top:1.6em}.service-page-approach-body strong{color:var(--fg);font-weight:500}.works-intro{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start}.works-intro-headline{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(28px,4vw,56px);line-height:1.5;letter-spacing:-.01em}.works-intro-body{font-size:15px;line-height:2.1;color:var(--fg-mid);max-width:580px}.works-intro-body p+p{margin-top:1.6em}.works-intro-body strong{color:var(--fg);font-weight:500}.featured-case{background:var(--fg);color:var(--bg);max-width:none;margin:0;padding:160px var(--pad-x)}.featured-inner{max-width:var(--max-w);margin:0 auto}.featured-case .section-label{color:rgba(250,249,246,.6)}.featured-case .section-label::before{background:var(--bg)}.featured-head{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-bottom:100px;align-items:end}.featured-tag{font-family: var(--serif-en);font-style:italic;font-weight:300;font-size:clamp(16px,1.6vw,22px);color:rgba(250,249,246,.7);margin-bottom:24px}.featured-name{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(36px,5vw,72px);line-height:1.15;letter-spacing:-.02em;color:var(--bg)}.featured-meta{display:flex;flex-direction:column;gap:0}.featured-meta-row{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:16px 0;border-top:1px solid rgba(250,249,246,.2);font-size:14px}.featured-meta-row:last-child{border-bottom:1px solid rgba(250,249,246,.2)}.featured-meta-key{font-family: var(--mono);font-size:10px;letter-spacing:.1em;text-transform:lowercase;color:rgba(250,249,246,.5)}.featured-meta-val{font-family: var(--mincho-jp);font-size:14px;color:var(--bg)}.featured-numbers{display:grid;grid-template-columns:1fr 1fr;gap:80px 60px;margin-bottom:100px;border-top:1px solid rgba(250,249,246,.2);padding-top:80px}.featured-num-item{}.featured-num-item.full{grid-column: 1 / -1}.featured-num-row{display:flex;align-items:baseline;gap:28px;font-family: var(--serif-en);font-weight:300;font-size:clamp(48px,8vw,112px);line-height:1;letter-spacing:-.04em;margin-bottom:24px}.featured-num-row .num{display:inline-block;min-width:1.2em}.featured-num-row .arrow{position:relative;display:inline-block;width:80px;height:1px;background:rgba(250,249,246,.4);align-self:center}.featured-num-row .arrow::after{content:"";position:absolute;right:0;top:50%;width:10px;height:10px;border-top:1px solid rgba(250,249,246,.4);border-right:1px solid rgba(250,249,246,.4);transform:translateY(-50%) rotate(45deg)}.featured-num-label{font-family: var(--mono);font-size:12px;letter-spacing:.05em;color:rgba(250,249,246,.6);line-height:1.6}.featured-body{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start;border-top:1px solid rgba(250,249,246,.2);padding-top:80px}.featured-body-side{font-family: var(--mono);font-size:11px;letter-spacing:.1em;text-transform:lowercase;color:rgba(250,249,246,.6)}.featured-body-text{font-size:15px;line-height:2.1;color:rgba(250,249,246,.8);max-width:720px}.featured-body-text p+p{margin-top:1.6em}.featured-body-text strong{color:var(--bg);font-weight:500}.featured-quote{margin-top:80px;padding-top:60px;border-top:1px solid rgba(250,249,246,.2);display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.featured-quote blockquote{font-family: var(--mincho-jp);font-weight:400;font-size:clamp(20px,2.4vw,30px);line-height:1.7;letter-spacing:-.005em;color:var(--bg)}.featured-quote blockquote::before{content:"\300C";margin-right:-.2em}.featured-quote blockquote::after{content:"\300D";margin-left:-.2em}.featured-cite{font-family: var(--mono);font-size:11px;line-height:1.9;color:rgba(250,249,246,.6);letter-spacing:.05em;text-align:right}.featured-cite strong{display:block;font-family: var(--mincho-jp);font-size:16px;font-weight:500;color:var(--bg);margin-bottom:8px;letter-spacing:0}.work-item--page{grid-template-columns:100px 1fr 200px auto}.work-year{font-family: var(--serif-en);font-style:italic;font-weight:300;font-size:18px;color:var(--fg-soft);text-align:right}.contact-intro{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start}.contact-intro-headline{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(28px,4vw,56px);line-height:1.5;letter-spacing:-.01em}.contact-intro-body{font-size:15px;line-height:2.1;color:var(--fg-mid);max-width:580px}.contact-intro-body p+p{margin-top:1.6em}.contact-intro-body strong{color:var(--fg);font-weight:500}.methods{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:0;border-top:1px solid var(--line)}.method{padding:80px 60px 80px 0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;display:flex;flex-direction:column;min-height:480px}.method:nth-child(2) {padding:80px 60px}.method:nth-child(3) {padding:80px 0 80px 60px;border-right:none}.method-num{font-family: var(--serif-en);font-style:italic;font-weight:300;font-size:18px;color:var(--fg-soft);margin-bottom:24px}.method-title-en{font-family: var(--serif-en);font-style:italic;font-weight:300;font-size:14px;color:var(--fg-mid);margin-bottom:14px;letter-spacing:-.01em}.method-title{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(22px,2.4vw,30px);line-height:1.4;letter-spacing:-.01em;margin-bottom:24px}.method-desc{font-size:14px;line-height:1.95;color:var(--fg-mid);margin-bottom:32px;flex-grow:1}.method-meta{display:flex;flex-direction:column;gap:8px;font-family: var(--mono);font-size:10px;letter-spacing:.08em;text-transform:lowercase;color:var(--fg-soft);margin-bottom:36px}.method-meta span::before{content:"\30FB";margin-right:6px}.method-cta{font-family: var(--mincho-jp);font-weight:500;font-size:14px;border:1px solid var(--fg);padding:18px 28px;display:inline-flex;align-items:center;gap:12px;align-self:flex-start;background:transparent;color:var(--fg);position:relative;overflow:hidden;letter-spacing:.04em}.method-cta span{position:relative;z-index:2}.method-cta::before{content:"";position:absolute;inset:0;background:var(--fg);transform:translateY(101%);transition:transform .6s cubic-bezier(.7,0,.2,1);z-index:1}.method-cta:hover{color:var(--bg)}.method-cta:hover::before{transform:translateY(0)}.method-cta .arrow{transition:transform .4s}.method-cta:hover .arrow{transform:translateX(6px)}.method.primary{background:var(--fg);color:var(--bg);padding:80px 60px;margin-right:-1px}.method.primary .method-num{color:rgba(250,249,246,.5)}.method.primary .method-title-en{color:rgba(250,249,246,.7)}.method.primary .method-desc{color:rgba(250,249,246,.7)}.method.primary .method-meta{color:rgba(250,249,246,.5)}.method.primary .method-cta{border-color:var(--bg);color:var(--bg)}.method.primary .method-cta::before{background:var(--bg)}.method.primary .method-cta:hover{color:var(--fg)}.faq-section{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start}.faq-side{position:sticky;top:100px}.faq-side-headline{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(28px,3.6vw,48px);line-height:1.4;letter-spacing:-.01em}.faq-list{display:flex;flex-direction:column}.faq-item{border-top:1px solid var(--line);padding:36px 0;cursor:none}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-question{display:grid;grid-template-columns:60px 1fr auto;gap:24px;align-items:baseline;cursor:none;user-select:none}.faq-q-mark{font-family: var(--serif-en);font-style:italic;font-weight:300;font-size:22px;color:var(--fg-soft);letter-spacing:-.01em}.faq-q-text{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(17px,1.6vw,20px);line-height:1.6;letter-spacing:-.005em;color:var(--fg)}.faq-toggle{font-family: var(--mono);font-size:11px;color:var(--fg-mid);letter-spacing:.1em;width:14px;height:14px;position:relative}.faq-toggle::before,.faq-toggle::after{content:"";position:absolute;background:var(--fg);transition:transform .4s cubic-bezier(.7,0,.2,1)}.faq-toggle::before{width:14px;height:1px;top:50%;left:0}.faq-toggle::after{width:1px;height:14px;top:0;left:50%}.faq-item.open .faq-toggle::after{transform:scaleY(0)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.7,0,.2,1)}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-answer-inner{overflow:hidden;padding-left:84px;padding-right:60px}.faq-item.open .faq-answer-inner{padding-top:24px}.faq-answer-text{font-size:14px;line-height:2;color:var(--fg-mid);max-width:640px}.faq-answer-text p+p{margin-top:1em}.closing{text-align:center;padding:200px var(--pad-x);max-width:var(--max-w);margin:0 auto}.closing-headline{font-family: var(--mincho-jp);font-weight:500;font-size:clamp(32px,5vw,64px);line-height:1.5;letter-spacing:-.01em;margin-bottom:32px}.closing-sub{font-size:14px;line-height:2;color:var(--fg-mid);max-width:520px;margin:0 auto}.closing-mark{font-family: var(--serif-en);font-style:italic;font-weight:300;font-size:24px;color:var(--fg-soft);margin-top:80px;display:block}@media (max-width:980px){.methods{grid-template-columns:1fr}.method, .method:nth-child(2), .method:nth-child(3) {padding:60px 0;border-right:none}.method.primary{padding:60px 40px;margin-right:0}.method{min-height:auto}}@media (max-width:860px){.intro{grid-template-columns:1fr;gap:40px}.service-item{grid-template-columns:60px 1fr;gap:24px;padding:40px 0}.service-item:hover{padding:40px 16px}.service-item .service-num{font-size:36px}.service-link{grid-column: 1 / -1;align-self:start}.numbers-grid{grid-template-columns:1fr;gap:60px}.numbers-quote{grid-template-columns:1fr;gap:32px}.numbers-cite{text-align:left}.work-item{grid-template-columns:50px 1fr;gap:24px;padding:36px 0}.work-arrow{display:none}.work-year{display:none}.about{grid-template-columns:1fr;gap:40px}.about-photo{max-width:320px}.profile{grid-template-columns:1fr;gap:60px}.profile-info{padding-top:0}.story{grid-template-columns:1fr;gap:60px}.story-side{position:static}.values-grid{grid-template-columns:1fr}.value-item, .value-item:nth-child(even) {padding:50px 0;border-right:none}.timeline-item{grid-template-columns:1fr;gap:16px;padding:32px 0}.timeline-year{font-size:22px}.off-hours{grid-template-columns:1fr;gap:40px}.services-intro{grid-template-columns:1fr;gap:40px}.service-block{padding:80px 0}.service-head{grid-template-columns:1fr;gap:24px;margin-bottom:60px}.service-detail{grid-template-columns:1fr;gap:40px;margin-top:60px}.service-page-detail{grid-template-columns:1fr;gap:40px}.process-item{grid-template-columns:60px 1fr;gap:24px;padding:36px 0}.process-num{font-size:22px}.works-intro{grid-template-columns:1fr;gap:40px}.featured-head{grid-template-columns:1fr;gap:40px}.featured-numbers{grid-template-columns:1fr;gap:60px}.featured-body{grid-template-columns:1fr;gap:32px}.featured-quote{grid-template-columns:1fr;gap:24px}.featured-cite{text-align:left}.contact-intro{grid-template-columns:1fr;gap:40px}.faq-section{grid-template-columns:1fr;gap:40px}.faq-side{position:static}.faq-question{grid-template-columns:40px 1fr auto;gap:16px}.faq-answer-inner{padding-left:56px;padding-right:0}.footer-top{grid-template-columns:1fr 1fr;gap:40px}.footer-brand{grid-column: 1 / -1}.footer-bottom{flex-direction:column;gap:16px}.cta-primary,.cta-secondary{min-width:unset;width:100%;max-width:360px}}@media (max-width:720px){.nav{display:none}section{padding:100px var(--pad-x)}.hero{padding-top:120px}.hero-meta{display:none}.page-header{padding-top:140px;min-height:60vh}.page-header-meta{display:none}.timeline-section{padding:100px var(--pad-x)}.process-section{padding:100px var(--pad-x)}.featured-case{padding:100px var(--pad-x)}.closing{padding:120px var(--pad-x)}}