:root{--bg:#0a0a09;--paper:#eee9df;--gold:#c6a76c;--muted:#a5a098;--red:#ad211e;--line:#ffffff25}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--paper);font-family:'Helvetica Neue',Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button{cursor:pointer}img{max-width:100%;display:block;object-fit:cover}p{line-height:2;font-size:14px}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(36px,4.5vw,70px);line-height:1.05;letter-spacing:-.045em;font-weight:500;margin-bottom:32px}h2 em{font-family:Georgia,serif;font-weight:400;color:var(--gold)}.wrap{width:86%;max-width:1380px;margin-inline:auto}.section{padding-block:125px}.eyebrow{font-size:10px;letter-spacing:.23em;color:var(--gold);font-weight:600;margin-bottom:28px}header{height:95px;display:flex;align-items:center;padding:0 4%;gap:34px;border-bottom:1px solid var(--line);background:#080808;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand img{width:85px;height:64px;object-fit:contain}.brand span{font-family:'Yu Mincho',serif;font-size:18px;white-space:nowrap}.brand small{display:block;font:8px Arial;letter-spacing:.15em;margin-top:7px;color:var(--muted)}nav{display:flex;gap:28px}nav a{font-size:11px;letter-spacing:.08em}nav a:hover,nav a[aria-current],.footer-top a:hover{color:var(--gold)}.languages{display:flex;align-items:center;gap:12px;font-size:11px}.languages i{color:#666;font-style:normal}.languages [aria-current]{color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:5px}.menu{display:none}.skip{position:fixed;top:-100px;z-index:100;background:var(--gold);padding:16px;color:#000}.skip:focus{top:0}.hero{position:relative;height:calc(88svh - 95px);min-height:620px;max-height:1050px;overflow:hidden}.slides,.slide,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.slide{opacity:0;transition:opacity 1.8s ease;object-position:65% 44%}.slide.active{opacity:1}.hero-shade{background:linear-gradient(90deg,#000b 0%,#0003 65%),linear-gradient(0deg,#090909 0%,transparent 40%)}.hero-content{position:absolute;top:22%;left:7%;z-index:2}.hero h1{font:500 clamp(48px,6vw,100px)/1.5 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.1em;margin:0 0 20px;text-shadow:0 3px 30px #0008}.hero h1 em{color:#e4c68e;font-style:normal}.hero-sub{font:italic 18px/1.5 Georgia,serif;letter-spacing:.015em}.hero-content .eyebrow{margin-bottom:24px;color:#eee4d3}.hero-kanji{position:absolute;right:3%;top:9%;writing-mode:vertical-rl;font-family:'Yu Mincho',serif;font-size:clamp(80px,10vw,170px);letter-spacing:.1em;opacity:.16;color:#eee}.hero-bottom{position:absolute;bottom:32px;left:7%;right:7%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.18em;z-index:3}.slide-controls{display:flex;gap:10px}.slide-controls button{color:#aaa;background:none;border:0;border-top:1px solid #777;padding:13px 15px 0;font-size:10px}.slide-controls button.selected{color:var(--gold);border-color:var(--gold)}#pause{border:1px solid #777;padding:3px 10px}.hero:after{content:'';position:absolute;bottom:0;right:0;width:36%;height:8px;background:var(--red);clip-path:polygon(5% 25%,100% 0,100% 80%,0 100%)}.about{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center}.about-photo{position:relative;padding-bottom:28px}.about-photo img{height:540px;width:100%;object-position:center}.about-photo:before{content:'';position:absolute;left:-20px;bottom:0;width:110px;height:210px;border-left:1px solid var(--gold);border-bottom:1px solid var(--gold);z-index:-1}.about-photo span{position:absolute;bottom:0;right:0;font-size:9px;letter-spacing:.25em;color:var(--gold)}.about-copy h3,.message-copy h3{font:400 25px/1.8 'Yu Mincho',serif;letter-spacing:.05em;margin-bottom:25px}.about-copy p:not(.eyebrow){color:#c3bfb6}.text-link{display:flex;align-items:center;justify-content:space-between;gap:50px;border-bottom:1px solid #8b795b;padding:18px 0;margin-top:30px;max-width:260px;font-size:11px;letter-spacing:.1em}.text-link span{font-size:22px;color:var(--gold);transition:transform .3s}.text-link:hover span{transform:translate(4px,-4px)}.services{background:#11110f;border-block:1px solid #ffffff0b}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;gap:35px}.section-heading h2{margin-bottom:0}.section-heading>p{font-family:'Yu Mincho',serif;font-size:17px;color:#c2bbad}.service-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:22px}.service-tile{position:relative;overflow:hidden;min-height:280px;background:#191915;display:flex;align-items:flex-end;padding:30px}.service-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000d,transparent 80%);pointer-events:none}.service-tile img{position:absolute;inset:0;width:100%;height:100%;transition:transform .7s;filter:brightness(.8)}.service-tile:hover img{transform:scale(1.04)}.tile-1{grid-column:span 7;min-height:390px}.tile-2{grid-column:span 5}.tile-3{grid-column:span 4}.tile-4{grid-column:span 8;min-height:340px}.tile-5{grid-column:span 6;min-height:340px}.tile-6,.tile-7{grid-column:span 3}.service-number{position:absolute;top:20px;left:25px;z-index:2;color:#d3bc8f;font-family:Georgia,serif;font-size:45px;font-style:italic}.service-tile>div{z-index:2;padding-right:24px}.service-tile small{font-size:9px;letter-spacing:.15em;color:#d6c7aa}.service-tile h3{font-family:'Yu Mincho',serif;font-size:23px;font-weight:400;margin:12px 0 0}.tile-arrow{position:absolute;right:24px;bottom:25px;z-index:2;color:var(--gold);font-size:24px}.service-symbol{position:absolute;right:12%;top:13%;font-family:'Yu Mincho',serif;font-size:130px;color:#b89b62;opacity:.14;transform:rotate(-8deg)}.typographic{background:radial-gradient(ellipse at top right,#5e49202b,transparent),#161612;border:1px solid #a8894d40}.tile-2:before{content:'';position:absolute;right:-30px;top:-30px;width:260px;height:260px;border:1px solid #ad8b5050;border-radius:50%;box-shadow:0 0 0 25px #a4823610,0 0 0 50px #a4823609}.works{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.works-pending p{color:var(--muted)}.gold-line{display:block;width:60px;height:1px;background:var(--gold);margin-bottom:25px}.message{background:#121211}.message-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.portrait{position:relative}.portrait img{height:660px;width:100%;object-position:center 36%;filter:saturate(.65)}.portrait>span{position:absolute;bottom:30px;left:-30px;font-size:clamp(25px,3.8vw,60px);font-weight:700;letter-spacing:-.05em;color:#eee;text-shadow:0 2px 20px #0006}.message-copy>p:not(.eyebrow){color:#c3bfb6}.career{font-size:11px;border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.signature{font:25px 'Yu Mincho',serif!important;line-height:1.8!important;color:var(--paper)!important}.signature small,.signature span{display:block;font:11px/2 Arial;letter-spacing:.05em}.signature small{margin-bottom:8px}.contact-band{padding:100px 0;background:radial-gradient(ellipse at 10% 30%,#7e602322,transparent 60%),#0b0b09;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.contact-band:before{content:'';position:absolute;width:650px;height:650px;right:-180px;top:-340px;border:30px solid #b3985e15;border-radius:50%;transform:rotate(-30deg);border-bottom-color:#a823191f;pointer-events:none}.contact-band a{display:flex;align-items:center;justify-content:space-between;position:relative;font-size:clamp(50px,10vw,145px);letter-spacing:-.06em;line-height:1.1;border-bottom:1px solid #b8985659;padding-bottom:30px;color:var(--gold)}.contact-band b{font-size:.7em;font-weight:300}.contact-band p:last-child{margin:25px 0 0;color:#c6beb0}.footer-top{padding:60px 0;display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-brand{display:flex;align-items:center;gap:20px;font-family:'Yu Mincho',serif}.footer-brand img{object-fit:contain}.footer-top>div{display:flex;gap:25px;font-size:10px;letter-spacing:.06em}.footer-bottom{border-top:1px solid var(--line);padding:25px 0;display:flex;gap:40px;color:#a7a297;font-size:9px;letter-spacing:.08em}.footer-bottom small{margin-right:auto}.page-head{padding:100px 0 60px;border-bottom:1px solid var(--line)}.page-head h1{font-size:clamp(40px,8vw,100px);font-weight:400;letter-spacing:-.04em;line-height:1.1;overflow-wrap:anywhere;margin-bottom:20px}.page-head>p:last-child{font-family:'Yu Mincho',serif;color:var(--gold)}.page-body{padding:70px 0 120px;min-height:45vh}.page-body h2{font-size:30px;line-height:1.5}.page-about{padding:0;align-items:start}.page-about img{width:100%;height:650px;object-position:center}.service-detail{display:grid;grid-template-columns:100px 1fr;gap:35px;border-bottom:1px solid var(--line);padding:55px 0;scroll-margin-top:30px}.service-detail p{max-width:780px}.detail-number{font:italic 50px Georgia;color:var(--gold)}.empty-state{padding:50px 0}.empty-state>span{font-size:11px;letter-spacing:.2em;color:var(--gold)}.empty-state h2{margin-top:30px}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--line);padding:26px 0;line-height:2;font-size:14px}.company-table dt{color:var(--gold)}.company-table dd{margin:0}.notice{border-left:2px solid var(--gold);padding:15px 25px;background:#c6a76c0c;color:#d8c7a7}.contact-form{max-width:800px;margin:50px 0}.contact-form fieldset{padding:0;border:0}.contact-form legend{margin-bottom:30px;font-size:13px;color:var(--muted)}.contact-form label{display:block;margin-bottom:28px;font-size:13px}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;display:block;background:#181816;border:1px solid #ffffff30;color:#ccc;padding:15px;margin-top:12px;border-radius:0}.consent input{margin-right:10px}.direct-contact{display:flex;flex-direction:column;gap:22px;margin-top:60px;font-size:clamp(18px,3vw,30px);color:var(--gold)}.reveal{transition:opacity .8s,transform .8s}.js-motion .reveal:not(.visible){opacity:0;transform:translateY(20px)}html[lang=en] .hero h1{font-family:Georgia,serif;font-size:clamp(46px,5.4vw,86px);line-height:1.1;letter-spacing:-.025em}html[lang=en] .service-tile h3{font-size:24px}
@media(min-width:1600px){.hero-content{left:max(7%,calc((100% - 1380px)/2))}}
@media(max-width:1050px){header{gap:20px}nav{gap:16px}.brand span{font-size:15px}.brand img{width:65px}nav a{font-size:10px}.about{gap:6%}.tile-6,.tile-7{grid-column:span 6}.tile-5{grid-column:span 12}.section{padding-block:90px}.hero{min-height:580px}.message-grid{gap:7%}.portrait img{height:600px}.footer-top>div{gap:16px}}
@media(max-width:760px){header{height:76px;padding:0 5%;gap:24px}.brand img{width:60px;height:52px}.brand span{font-size:14px}.brand small{font-size:6px}.languages{margin-left:auto;gap:9px}.menu{display:flex;width:26px;height:30px;border:0;background:none;padding:6px 0;flex-direction:column;justify-content:space-around;color:var(--paper)}.menu span{height:1px;background:currentColor;width:100%}nav{display:none;position:absolute;top:76px;left:0;right:0;background:#0a0a09;padding:30px 7%;border-bottom:1px solid var(--gold)}nav.open{display:flex;flex-direction:column;gap:0}nav a{padding:17px 0;font-size:15px;border-bottom:1px solid var(--line)}.wrap{width:88%}.section{padding-block:75px}.hero{height:calc(90svh - 76px);min-height:570px;max-height:850px}.slide{object-position:60% center}.hero-shade{background:linear-gradient(0deg,#0a0a09 0%,#0006 30%,#0003 100%),linear-gradient(90deg,#0007,transparent)}.hero-content{left:6%;right:5%;top:28%}.hero-content .eyebrow{font-size:8px;letter-spacing:.15em;max-width:240px;line-height:1.8}.hero h1{font-size:clamp(35px,8.8vw,65px);line-height:1.7;letter-spacing:.03em}.hero-sub{font-size:12px;max-width:270px}.hero-kanji{top:8%;right:4%;font-size:65px}.hero-bottom{left:6%;right:6%;bottom:24px}.hero-bottom>span{display:none}.hero-bottom .scroll{font-size:8px}.slide-controls{gap:6px}.slide-controls button{padding-inline:12px}.about{grid-template-columns:1fr;gap:45px}.about-photo img{height:340px}.about-photo:before{left:-10px}.about-copy h3,.message-copy h3{font-size:23px}.eyebrow{font-size:9px;margin-bottom:20px}h2{font-size:42px;margin-bottom:26px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:14px;margin-top:22px}.service-grid{gap:14px}.service-tile{padding:24px;grid-column:span 12;min-height:290px}.tile-1{min-height:340px}.tile-2,.tile-3{grid-column:span 6;min-height:280px;padding:18px}.tile-2 h3,.tile-3 h3{font-size:19px}.tile-6,.tile-7{grid-column:span 6;min-height:250px;padding:18px}.tile-6 h3,.tile-7 h3{font-size:18px}.service-tile small{font-size:8px;line-height:1.6;display:block}.service-number{font-size:36px;top:18px;left:18px}.tile-arrow{right:15px;bottom:15px;font-size:19px}.service-symbol{font-size:100px;top:20%}.tile-6 .service-symbol,.tile-7 .service-symbol{font-size:90px}.works{grid-template-columns:1fr;gap:20px}.works h2{margin-bottom:16px}.works-pending p{font-size:13px}.message-grid{grid-template-columns:1fr;gap:45px}.portrait{width:88%;margin:auto}.portrait img{height:500px}.portrait>span{left:-15px;font-size:40px}.message-copy h2{font-size:40px}.contact-band{padding:65px 0}.contact-band .eyebrow{font-size:8px}.contact-band a{font-size:17vw;padding-bottom:20px}.contact-band p:last-child{font-size:12px}.footer-top{display:block;padding:40px 0}.footer-top>div{margin-top:30px;flex-wrap:wrap;gap:22px}.footer-brand img{width:90px;height:60px}.footer-bottom{flex-wrap:wrap;gap:20px;font-size:8px}.footer-bottom small{width:100%}.page-head{padding-top:70px}.page-body{padding-block:45px 80px}.page-body h2{font-size:24px}.company-table>div{grid-template-columns:1fr;gap:10px}.service-detail{grid-template-columns:1fr;gap:20px;padding:35px 0}.detail-number{font-size:38px}.page-about img{height:530px}.direct-contact{font-size:19px}html[lang=en] .hero h1{font-size:clamp(43px,10vw,70px)}html[lang=en] .service-tile h3{font-size:21px}html[lang=en] .tile-2 h3,html[lang=en] .tile-3 h3,html[lang=en] .tile-6 h3,html[lang=en] .tile-7 h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js-motion .reveal:not(.visible){opacity:1;transform:none}}
