@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500&family=Manrope:wght@300;400;500&display=swap');
:root{--black:#090a0b;--paper:#ebeae6;--silver:#a8aaad;--line:rgba(255,255,255,.18);--mx:50vw;--my:50vh}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--paper);font-family:Manrope,"Hiragino Sans",sans-serif;font-weight:300}a{color:inherit;text-decoration:none}img{display:block;width:100%}.header{position:fixed;z-index:20;top:0;left:0;width:100%;height:92px;padding:0 4vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:linear-gradient(#08090bc9,transparent);backdrop-filter:blur(6px)}.brand{display:flex;align-items:center;gap:12px;font-family:"Noto Serif JP",serif;font-size:18px;letter-spacing:.12em}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #aaa;border-radius:50%;font:italic 20px Georgia}.brand small,.header-contact small{display:block;margin-top:5px;font:8px Manrope;letter-spacing:.26em;color:#aaa}.header nav{display:flex;gap:34px;font-size:11px;letter-spacing:.12em}.header nav a{transition:opacity .3s}.header nav a:hover{opacity:.5}.header-contact{text-align:right;font-size:15px;letter-spacing:.08em}.menu{display:none}.hero{position:relative;height:100svh;min-height:700px;overflow:hidden}.hero>img{position:absolute;inset:0;height:110%;object-fit:cover;object-position:center;transform:scale(1.04);will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,4,5,.84) 0%,rgba(3,4,5,.32) 46%,rgba(3,4,5,.05)),linear-gradient(0deg,rgba(0,0,0,.5),transparent 35%)}.hero-copy{position:absolute;z-index:2;left:8vw;top:50%;transform:translateY(-43%)}.eyebrow{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#aaa}.hero h1{font:300 clamp(58px,7vw,112px)/1.05 "Noto Serif JP",serif;letter-spacing:.06em;margin:28px 0}.hero h1 span{display:block;opacity:0;animation:rise 1.2s .2s forwards}.hero h1 span+span{animation-delay:.38s}.lead{font-family:"Noto Serif JP";font-size:14px;line-height:2.1;color:#c7c7c5}.circle-link{display:flex;align-items:center;justify-content:space-between;width:220px;margin-top:45px;padding:18px 0;border-bottom:1px solid #aaa;font-size:11px;letter-spacing:.16em}.circle-link b{font-size:20px;font-weight:300}.hero-foot{position:absolute;z-index:2;bottom:27px;left:4vw;right:4vw;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.28em;color:#aaa}.statement{position:relative;display:grid;grid-template-columns:1.2fr .7fr;gap:12vw;padding:170px 10vw 190px}.side-label{position:absolute;left:3vw;top:190px;writing-mode:vertical-rl;font-size:8px;letter-spacing:.3em;color:#666}.statement h2,.section-head h2,.trust h2,.contact h2{font:300 clamp(44px,5vw,76px)/1.4 "Noto Serif JP",serif;letter-spacing:.04em;margin:25px 0}.statement h2 em{color:#777;font-style:normal}.statement-copy{align-self:end;padding-bottom:18px}.statement-copy p{color:#9b9b98;line-height:2.2;font-size:13px}.statement-copy a{display:flex;justify-content:space-between;margin-top:42px;padding-bottom:15px;border-bottom:1px solid #555;font-size:11px;letter-spacing:.14em}.services{background:#e9e8e3;color:#111;padding:9vw 8vw}.service-main{display:grid;grid-template-columns:1.4fr .7fr;gap:6vw;align-items:end}.service-main img{height:62vh;min-height:430px;object-fit:cover;filter:grayscale(.55)}.service-main span,.service-list b{font-size:9px;letter-spacing:.23em;color:#777}.service-main h3,.service-list h3{font:400 32px "Noto Serif JP";margin:18px 0}.service-main p,.service-list p{color:#666;line-height:2;font-size:12px}.service-list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:100px;border-top:1px solid #bbb}.service-list article{padding:38px 40px 15px 0;border-right:1px solid #bbb;min-height:250px}.service-list article+article{padding-left:40px}.service-list span{display:block;margin-top:40px;font-size:8px;letter-spacing:.15em}.works{padding:160px 8vw}.section-head{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;margin-bottom:70px}.section-head h2{font-size:48px;margin:0}.section-head a{font-size:10px;letter-spacing:.13em;padding-bottom:12px;border-bottom:1px solid #666}.work-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:start}.work-grid figure{margin:0;overflow:hidden}.work-grid figure:nth-child(2){margin-top:130px}.work-grid img{height:520px;object-fit:cover;filter:grayscale(.55);transition:filter .6s,transform .8s}.work-grid figure:nth-child(2) img{height:390px}.work-grid figure:hover img{filter:grayscale(0);transform:scale(1.02)}.work-grid figcaption{display:flex;justify-content:space-between;margin-top:18px;font-size:10px;color:#777}.work-grid figcaption b{color:#ddd;font-weight:300}.trust{display:grid;grid-template-columns:1fr .8fr;gap:8vw;padding:140px 10vw;background:#111315;position:relative;overflow:hidden}.trust:after{content:"";position:absolute;width:500px;height:500px;border:1px solid #303236;border-radius:50%;right:-180px;top:-200px}.trust-card{border:1px solid #444;padding:45px}.trust-card span{font-size:12px;letter-spacing:.3em}.trust-card strong{display:block;font:300 30px/1.35 Georgia;margin:18px 0 34px}.trust-card p{font-size:11px;line-height:2;color:#929292}.trust dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin:40px 0 0;border-top:1px solid #444}.trust dl div{padding:38px 0;border-right:1px solid #444}.trust dt{font:300 42px Georgia}.trust dd{margin:8px 0 0;color:#777;font-size:10px;letter-spacing:.12em}.contact{padding:150px 8vw 35px;text-align:center}.contact h2{font-size:64px}.contact-actions{display:grid;grid-template-columns:1fr 1fr;max-width:940px;margin:90px auto 140px;border-top:1px solid #555}.contact-actions a{display:flex;justify-content:space-between;padding:28px 8px;border-bottom:1px solid #555;font-size:11px;letter-spacing:.12em}.contact-actions a:first-child{margin-right:25px}.contact-actions a:last-child{margin-left:25px}.contact-actions b{font-weight:300}.contact footer{display:flex;gap:35px;align-items:center;text-align:left;border-top:1px solid #333;padding-top:25px;font-size:9px;color:#777;letter-spacing:.08em}.contact footer a{margin-left:auto}[data-reveal]{opacity:0;transform:translateY(35px);transition:opacity 1s,transform 1s cubic-bezier(.2,.7,.2,1)}[data-reveal].is-visible{opacity:1;transform:none}@keyframes rise{to{opacity:1;transform:none}}@media(max-width:820px){.header{height:72px;grid-template-columns:1fr auto}.brand{font-size:14px}.header nav,.header-contact{display:none}.menu{display:block;width:42px;height:42px;border:0;background:transparent}.menu i{display:block;width:24px;height:1px;background:white;margin:7px}.menu-open .header nav{display:flex;position:fixed;inset:72px 0 auto;padding:50px 7vw;flex-direction:column;background:#0a0b0df5;font-size:15px}.hero{min-height:650px}.hero>img{object-position:66% center}.hero-copy{left:7vw;top:48%}.hero h1{font-size:52px}.lead{font-size:12px}.statement,.service-main,.trust{grid-template-columns:1fr}.statement{padding:110px 7vw;gap:60px}.side-label{display:none}.services{padding:100px 7vw}.service-main img{height:55vh}.service-list{grid-template-columns:1fr;margin-top:60px}.service-list article,.service-list article+article{padding:28px 0;border-right:0;border-bottom:1px solid #bbb;min-height:auto}.service-list span{margin-top:20px}.works{padding:100px 7vw}.section-head{grid-template-columns:1fr;gap:20px}.section-head h2{font-size:38px}.work-grid{grid-template-columns:1fr}.work-grid figure:nth-child(2){margin-top:30px}.work-grid img,.work-grid figure:nth-child(2) img{height:52vh}.work-grid figcaption{display:block;line-height:2}.work-grid figcaption b{display:block}.trust{padding:100px 7vw}.trust dl{grid-template-columns:1fr}.trust dl div{border-right:0;border-bottom:1px solid #444}.contact{padding:100px 7vw 30px}.contact h2{font-size:42px}.contact-actions{grid-template-columns:1fr;margin:60px 0 100px}.contact-actions a:first-child,.contact-actions a:last-child{margin:0}.contact footer{flex-direction:column;align-items:flex-start}.contact footer a{margin:15px 0 0}}

