:root {
  --blue:#1159A8;--white:#fff;--muted:rgba(255,255,255,.82);
  --gutter:64px;--space:40px;
  --display:'Barlow Condensed','Arial Narrow',sans-serif;
  --body:'Noto Sans JP','Noto Sans CJK JP',sans-serif;
  --latin:'Barlow',Arial,sans-serif;
  --ease:cubic-bezier(.18,1,.32,1);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:22px;overflow-x:clip}
body{margin:0;background:var(--blue);color:var(--white);font-family:var(--body);font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,h4,p{margin:0}
a{color:inherit;text-decoration:none}
a:hover{opacity:.80}
a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:5px}
button{font:inherit}
.container{max-width:1680px;margin-inline:auto;padding-inline:var(--gutter)}
.text-muted{color:var(--muted)}
.rule{border-top:1px solid rgba(255,255,255,.78);width:100%;height:1px}
.skip-link{position:absolute;top:-100px;left:15px;background:#fff;color:var(--blue);padding:12px 18px;z-index:100}
.skip-link:focus{top:12px}
.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}
.logo{font:700 31px/1 var(--display);letter-spacing:-.03em}
.desktop-nav{display:flex;align-items:center;gap:32px;font:400 14px/1.25 var(--display);white-space:nowrap}
.desktop-nav .nav-contact{font-weight:600}
.mobile-nav,.menu-toggle{display:none}
.hero{height:calc(100svh - 108px);min-height:730px;max-height:980px;display:flex;align-items:center}
.hero-inner{width:100%}
.hero-label{font:500 13px/1.2 var(--display);letter-spacing:.16em;margin-bottom:58px;opacity:.85}
.hero h1{font:900 clamp(46px,6vw,88px)/1.28 var(--body);letter-spacing:-.055em;perspective:900px;max-width:100%}
.hero h1 .hero-line{display:block;white-space:nowrap}
.hero-sub{font:700 clamp(16px,1.7vw,22px)/1.8 var(--body);letter-spacing:.02em;margin-top:34px}
.section-index{display:flex;gap:20px;align-items:baseline;font:500 15px/1.25 var(--display)}
.section-index span:first-child{font:600 14px/1.2 var(--latin)}
.section-grid{display:grid;grid-template-columns:minmax(0,408fr) minmax(0,864fr);gap:40px}
.idea{padding-block:100px 128px}
.idea-left,.idea-right{display:flex;flex-direction:column;align-items:flex-start}
.idea-left{gap:70px}
.idea-right{gap:34px}
.idea-title{font:400 42px/1.15 var(--display)}
.idea-description{font:400 16px/1.8 var(--body);max-width:408px}
.idea-statement{font:500 34px/1.65 var(--display);max-width:860px}
.idea-declaration{font:400 20px/2 var(--body);max-width:720px}
.idea-right>.text-muted{font:400 16px/1.8 var(--body);max-width:720px}
.text-link{display:inline-flex;align-items:center;gap:40px;border-bottom:1px solid white;padding-bottom:12px;font:400 15px/1.3 var(--display)}
.text-link small{font:400 13px var(--body);color:var(--muted)}
.text-link b{font:400 22px var(--latin);display:inline-block;transition:transform .35s var(--ease)}
.text-link:hover b,.text-link:focus-visible b{transform:translate(5px,-5px)}
.method{padding-block:98px 130px}
.method-header{display:grid;grid-template-columns:245px 1fr minmax(250px,430px);gap:30px;align-items:start;margin-bottom:65px}
.method-header h2{font:400 38px/1.35 var(--display)}
.method-header .text-muted{font:400 14px/1.9 var(--body)}
.attitudes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.attitudes article{display:flex;flex-direction:column;align-items:flex-start;gap:22px;min-width:0}
.attitudes .rule{margin-bottom:2px}
.attitudes h3{font:400 31px/1.2 var(--display)}
.attitudes h4{font:600 18px/1.8 var(--body)}
.attitudes p{font:400 15px/2 var(--body)}
.method-end{font:400 14px/1.5 var(--display);margin-top:55px;opacity:.85}
.work{padding-block:120px 130px}
.work-left{display:flex;flex-direction:column;align-items:flex-start;gap:32px}
.work-left h2{font:500 42px/1.42 var(--display);max-width:440px}
.work-left>p{font:400 16px/1.9 var(--body);max-width:370px}
.work-left>.text-muted{font-size:14px}
.work-left .text-link{margin-top:16px}
.discipline-list article{padding:26px 0;border-bottom:1px solid rgba(255,255,255,.8)}
.discipline-list h3{font:400 32px/1.1 var(--display);margin-bottom:15px}
.discipline-list p{font:400 14px/1.8 var(--body)}
.art{padding-block:88px 140px}
.art>.rule{margin-bottom:44px}
.art-header{display:grid;grid-template-columns:minmax(260px,408fr) minmax(0,630fr) minmax(200px,370fr);gap:40px;align-items:start}
.art-kicker{display:flex;flex-direction:column;gap:24px;font:400 14px/1.4 var(--display)}
.art-header h2{font:500 38px/1.55 var(--display)}
.art-header p{font:400 16px/1.8 var(--body)}
.bookshop{padding-block:40px 120px;display:grid;grid-template-columns:minmax(0,712fr) minmax(0,528fr);gap:72px;align-items:center}
.bookshop-visual{min-width:0;min-height:530px;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.65);overflow:hidden}
.bookshop-vertical-label{position:absolute;top:30px;left:33px;font:500 13px/1.4 var(--display);letter-spacing:.08em}
.bookshop-visual-type{font:700 clamp(65px,9vw,140px)/1.2 var(--body);letter-spacing:-.08em;white-space:nowrap}
.bookshop-copy{display:flex;flex-direction:column;gap:34px}
.bookshop-copy h2{font:500 74px/1.05 var(--display)}
.bookshop-copy .bookshop-en{font:400 14px/1.4 var(--display);margin-top:8px}
.bookshop-copy .text-muted{font:400 13px/1.8 var(--body);margin-top:12px}
.bookshop-copy h3{font:500 27px/1.7 var(--display)}
.bookshop-copy>p{font:400 16px/2 var(--body)}
.contact{padding-block:110px 32px}
.contact-invite{display:flex;flex-direction:column;gap:28px;align-items:flex-end;padding-block:42px 65px}
.contact-invite h2,.contact-invite>div{width:min(100%,856px)}
.contact-invite h2{font:500 60px/1.5 var(--display)}
.contact-invite>div{font:400 16px/2 var(--body)}
.contact-invite>div p+p{margin-top:16px}
.contact-lead{font-size:18px}
.contact-action{display:grid;grid-template-columns:1.1fr .55fr 1fr auto;align-items:center;gap:24px;padding-block:26px;position:relative}
.contact-action>span:first-child{font:500 34px/1.2 var(--display)}
.contact-action small{font:400 18px/1.5 var(--body);color:var(--muted)}
.contact-action .contact-english{font:400 18px/1.5 var(--display)}
.contact-action b{font:400 48px/1 var(--latin);transition:transform .35s var(--ease)}
.contact-action:hover b{transform:translate(5px,-5px)}
.contact-action::before,.contact-action::after{content:'';position:absolute;left:0;right:0;background:#fff;height:1px}
.contact-action::before{top:0}
.contact-action::after{bottom:0}
.contact-note{display:flex;justify-content:space-between;gap:25px;padding-top:23px;color:var(--muted);font:400 14px/1.6 var(--body)}
.site-footer{padding-top:60px;padding-bottom:32px}
.site-footer>.rule{margin-bottom:34px}
.footer-main{display:flex;justify-content:space-between;gap:50px}
.footer-main>div{font:400 14px/1.8 var(--display)}
.footer-main .footer-identity{font:500 18px/1.3 var(--display)}
.footer-main>div p:last-child{font:400 12px/1.8 var(--body)}
.footer-main nav{display:flex;flex-wrap:wrap;gap:28px;font:400 14px/1.3 var(--display)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:80px;font:400 11px/1.4 var(--display)}
/* Character-by-character Japanese reveal: rotational, soft-focus, purposeful */
.hero-char{display:inline-block;white-space:pre;transform-origin:50% 75%;backface-visibility:hidden}
.hero-motion-enabled .hero-motion-ready .hero-char{
  animation:hero-letter-rotate-blur .84s cubic-bezier(.18,.76,.18,1) var(--reveal-delay,0ms) both;
}
@keyframes hero-letter-rotate-blur{
  0%{opacity:0;transform:perspective(800px) translate3d(0,25px,0) rotateY(var(--hero-turn,-65deg)) rotateZ(var(--hero-tilt,-10deg)) scale(.94);filter:blur(var(--hero-blur-start,13px))}
  65%{opacity:1;filter:blur(2px)}
  100%{opacity:1;transform:perspective(800px) translate3d(0,0,0) rotateY(0deg) rotateZ(0deg) scale(1);filter:blur(0)}
}
/* Section-specific rhythms, not an all-purpose fade-up */
.scroll-motion-enabled [data-motion]{
  transition-property:transform,opacity,filter,clip-path;
  transition-delay:var(--motion-delay,0ms);
  transition-timing-function:var(--ease);
}
.scroll-motion-enabled [data-motion]:not(.is-visible){opacity:0}
.scroll-motion-enabled [data-motion="kicker"]{transition-duration:.55s}
.scroll-motion-enabled [data-motion="kicker"]:not(.is-visible){transform:translate(-22px,0);filter:blur(3px)}
.scroll-motion-enabled [data-motion="soft"]{transition-duration:.83s}
.scroll-motion-enabled [data-motion="soft"]:not(.is-visible){transform:translateY(14px);filter:blur(4px)}
.scroll-motion-enabled [data-motion="float"]{transition-duration:.78s}
.scroll-motion-enabled [data-motion="float"]:not(.is-visible){transform:translateY(28px)}
.scroll-motion-enabled [data-motion="from-right"]{transition-duration:.84s}
.scroll-motion-enabled [data-motion="from-right"]:not(.is-visible){transform:translateX(38px);filter:blur(3px)}
.scroll-motion-enabled [data-motion="headline"]{transition-duration:.81s}
.scroll-motion-enabled [data-motion="headline"]:not(.is-visible){transform:translateY(40px);filter:blur(5px)}
.scroll-motion-enabled [data-motion="ink"]{transition-duration:.90s;transform-origin:15% 75%}
.scroll-motion-enabled [data-motion="ink"]:not(.is-visible){transform:perspective(900px) translateY(34px) rotateX(11deg) rotateZ(-1deg);filter:blur(8px)}
.scroll-motion-enabled [data-motion="rule"]{transition-duration:.85s;transform-origin:0 50%}
.scroll-motion-enabled [data-motion="rule"]:not(.is-visible){transform:scaleX(.001);opacity:.35}
.scroll-motion-enabled [data-motion="method-card"]{transition-duration:.78s}
.scroll-motion-enabled [data-motion="method-card"]:not(.is-visible){transform:perspective(850px) translateY(45px) rotateX(5deg)}
.scroll-motion-enabled .attitudes article .rule{transform-origin:0 50%;transition:transform .82s cubic-bezier(.65,0,.2,1);transition-delay:calc(var(--motion-delay,0ms) + 90ms)}
.scroll-motion-enabled .attitudes article:not(.is-visible) .rule{transform:scaleX(0)}
.scroll-motion-enabled [data-motion="service-row"]{transition-duration:.72s}
.scroll-motion-enabled [data-motion="service-row"]:not(.is-visible){transform:translateX(27px)}
.scroll-motion-enabled [data-motion="line"]{transition-duration:.70s}
.scroll-motion-enabled [data-motion="line"]:not(.is-visible){transform:translate(-12px,8px);filter:blur(3px)}
.scroll-motion-enabled [data-motion="image-left"]{transition-duration:1.05s;transition-timing-function:cubic-bezier(.65,0,.2,1)}
.scroll-motion-enabled [data-motion="image-left"]:not(.is-visible){opacity:1;clip-path:inset(0 100% 0 0)}
.scroll-motion-enabled [data-motion="contact-line"]{transition-duration:.95s}
.scroll-motion-enabled [data-motion="contact-line"]:not(.is-visible){transform:translateY(34px);filter:blur(3px)}
.scroll-motion-enabled .contact-action::before,.scroll-motion-enabled .contact-action::after{transform-origin:left;transition:transform .90s cubic-bezier(.65,0,.2,1)}
.scroll-motion-enabled .contact-action:not(.is-visible)::before,.scroll-motion-enabled .contact-action:not(.is-visible)::after{transform:scaleX(0)}
.hero-motion-enabled .site-header .logo{animation:site-signature .66s var(--ease) .04s both}
.hero-motion-enabled .desktop-nav a{animation:site-nav-settle .62s var(--ease) both;animation-delay:calc(.14s + var(--nav-step,0) * .054s)}
.desktop-nav a:nth-child(1){--nav-step:0}.desktop-nav a:nth-child(2){--nav-step:1}.desktop-nav a:nth-child(3){--nav-step:2}.desktop-nav a:nth-child(4){--nav-step:3}.desktop-nav a:nth-child(5){--nav-step:4}.desktop-nav a:nth-child(6){--nav-step:5}
@keyframes site-signature{from{opacity:0;transform:translateX(-14px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes site-nav-settle{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@media(max-width:1199px){
  :root{--gutter:40px;--space:30px}
  .hero h1{font-size:clamp(46px,6.4vw,78px)}
  .art-header{grid-template-columns:minmax(180px,300px) 1fr}
  .art-header>p{grid-column:2}
  .method-header{grid-template-columns:1fr 1.3fr}
  .method-header>.text-muted{grid-column:2}
  .section-grid{grid-template-columns:minmax(220px,1fr) 1.8fr;gap:32px}
  .bookshop{gap:45px}
}
@media(max-width:860px){
  :root{--gutter:28px;--space:28px}
  .site-header{height:88px}
  .desktop-nav{display:none}
  .menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;width:45px;height:45px;border:1px solid rgba(255,255,255,.6);color:#fff;background:transparent;cursor:pointer}
  .menu-toggle span{width:20px;height:1px;background:currentColor}
  .mobile-nav:not([hidden]){display:flex;flex-direction:column;position:absolute;right:var(--gutter);top:72px;left:var(--gutter);padding:25px;background:var(--blue);border:1px solid rgba(255,255,255,.7);z-index:30;gap:18px;font:400 22px/1.3 var(--display)}
  .hero{height:calc(100svh - 88px);min-height:620px;max-height:850px}
  .hero h1{font-size:clamp(40px,8.6vw,69px)}
  .hero-label{margin-bottom:46px}
  .section-grid{grid-template-columns:1fr;gap:45px}
  .idea-left{gap:28px}
  .idea-right{gap:26px}
  .method-header{grid-template-columns:1fr 1fr}
  .attitudes{grid-template-columns:repeat(2,1fr);gap:40px}
  .art-header{grid-template-columns:1fr}
  .art-header>p{grid-column:auto}
  .bookshop{grid-template-columns:1fr;gap:40px}
  .bookshop-visual{min-height:360px}
  .contact-invite h2{font-size:48px}
}
@media(max-width:600px){
  :root{--gutter:18px}
  .site-header{height:76px}
  .logo{font-size:28px}
  .mobile-nav:not([hidden]){top:66px}
  .hero{height:calc(85svh - 76px);min-height:460px;max-height:720px}
  .hero h1{font-size:clamp(29px,8.7vw,48px);line-height:1.45}
  .hero-label{font-size:11px;margin-bottom:28px}
  .hero-sub{font-size:clamp(13px,3.6vw,16px);margin-top:28px}
  .idea{padding-block:54px 85px}
  .idea-title{font-size:38px}
  .idea-statement{font-size:29px;line-height:1.4}
  .idea-declaration{font-size:16px;line-height:1.95}
  .idea-description,.idea-right>.text-muted{font-size:14px}
  .text-link{gap:22px}
  .method{padding-block:62px 85px}
  .method-header{grid-template-columns:1fr;gap:22px}
  .method-header>.text-muted{grid-column:auto}
  .method-header h2{font-size:33px}
  .attitudes{gap:32px 20px}
  .attitudes h3{font-size:24px}
  .attitudes h4{font-size:14px}
  .attitudes p{font-size:13px}
  .work{padding-block:60px 85px}
  .work-left h2{font-size:35px}
  .discipline-list h3{font-size:29px}
  .art{padding-block:50px 85px}
  .art-header h2{font-size:34px}
  .bookshop{padding-block:30px 80px}
  .bookshop-visual{min-height:260px}
  .bookshop-visual-type{font-size:clamp(58px,17vw,100px)}
  .bookshop-vertical-label{top:15px;left:16px;font-size:10px}
  .bookshop-copy h2{font-size:64px}
  .contact{padding-top:65px}
  .contact-invite{align-items:flex-start;padding-block:45px}
  .contact-invite h2{font-size:39px}
  .contact-invite>div{font-size:14px}
  .contact-lead{font-size:16px}
  .contact-action{grid-template-columns:1fr auto;gap:10px}
  .contact-action>span:first-child{font-size:31px}
  .contact-action small{font-size:13px}
  .contact-action .contact-english{grid-row:2;font-size:13px}
  .contact-action b{grid-column:2;grid-row:1 / 3}
  .contact-note{display:block;font-size:12px}
  .footer-main{display:block}
  .footer-main nav{margin-top:30px;gap:16px 23px}
  .footer-bottom{margin-top:55px}
  .scroll-motion-enabled [data-motion="ink"]:not(.is-visible){transform:translateY(23px) rotateZ(-.5deg);filter:blur(5px)}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .hero-char,[data-motion]{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
}
