:root{--ink:#202520;--muted:#69716a;--paper:#f5f4f0;--line:#d8d9d2;--green:#b5c1a4;--accent:#e4a86c;--body-font:"Noto Sans JP",sans-serif;--display-font:"Noto Serif JP","Noto Sans JP",serif;--sans:"DM Sans","Noto Sans JP",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body-font);font-size:15px;line-height:1.9}a{color:inherit;text-decoration:none}.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:white;padding:10px 16px;z-index:99}.skip-link:focus{left:12px}.site-header{height:82px;padding:0 6.4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(32,37,32,.1);position:absolute;top:0;left:0;width:100%;z-index:5}.wordmark{font:700 34px/1 var(--sans);letter-spacing:-.09em}.wordmark span{color:#b48b5e}.site-nav{display:flex;align-items:center;gap:36px;font-size:12px;letter-spacing:.04em}.site-nav a{transition:opacity .2s}.site-nav a:hover{opacity:.58}.nav-contact{border:1px solid var(--ink);padding:8px 17px}.nav-contact span{margin-left:14px}.menu-toggle{display:none}.hero{min-height:700px;padding:170px 10vw 76px;position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:4vw;overflow:hidden;background:radial-gradient(ellipse at 80% 48%,#e9e6d9 0,transparent 43%),var(--paper)}.hero-copy{position:relative;z-index:1}.eyebrow{font:600 10px/1.5 var(--sans);letter-spacing:.16em;color:#758075;margin:0 0 22px}.eyebrow-line{display:inline-block;width:28px;height:1px;background:#8c9788;vertical-align:middle;margin-right:10px}.hero h1,.intro-body h2,.section-heading h2,.works h2,.contact h2{font-family:var(--display-font);font-weight:500}.hero h1{font-size:clamp(32px,4vw,55px);line-height:1.55;letter-spacing:.04em;font-weight:500;margin:0 0 22px}.hero h1 span{background:linear-gradient(transparent 75%,#dce1d2 75%)}.hero-lead{color:#667066;line-height:2.2;font-size:14px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 20px;font-size:12px;letter-spacing:.03em;min-width:220px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#48544a}.button span{font-size:16px}.text-link{font-size:11px;border-bottom:1px solid #9da49a;padding:8px 0}.text-link span{margin-left:10px}.hero-art{height:390px;position:relative;display:flex;align-items:center;justify-content:center}.art-sun{width:250px;height:250px;border-radius:50%;background:#dfb782;position:absolute;top:2px;right:10%}.art-frame{width:min(100%,420px);height:285px;background:#c0cbb5;position:relative;overflow:hidden;box-shadow:22px 24px 0 rgba(89,101,83,.1);transform:rotate(-3deg)}.art-land{position:absolute;inset:40% -15% -25%;background:#657e6d;clip-path:polygon(0 52%,20% 18%,41% 50%,65% 2%,100% 48%,100% 100%,0 100%)}.art-land:after{content:"";position:absolute;inset:28% 0 0;background:#91a18a;clip-path:polygon(0 34%,23% 0,46% 32%,75% 8%,100% 42%,100% 100%,0 100%)}.art-person{position:absolute;bottom:0;left:48%;width:45px;height:132px;background:#283c35;border-radius:28px 28px 0 0}.art-person:before{content:"";position:absolute;width:44px;height:48px;top:-37px;left:4px;background:#d59a70;border-radius:50%}.art-camera{position:absolute;left:22%;top:36%;width:83px;height:57px;background:#303b37;border-radius:8px;transform:rotate(-8deg)}.art-camera:before{content:"";position:absolute;width:32px;height:17px;top:-12px;left:18px;background:#303b37;border-radius:5px 5px 0 0}.art-camera i{position:absolute;width:28px;height:28px;border:6px solid #849087;border-radius:50%;right:8px;top:14px}.art-caption{position:absolute;bottom:14px;left:1%;font:500 9px var(--sans);letter-spacing:.18em;color:#778074}.art-stamp{position:absolute;right:1%;bottom:43px;background:var(--paper);border-radius:50%;width:80px;height:80px;display:grid;place-content:center;text-align:center;font:700 21px/1 var(--sans);transform:rotate(10deg)}.art-stamp small{font-size:6px;line-height:1.4;letter-spacing:.15em;margin-top:6px}.hero-bottom{position:absolute;bottom:24px;left:10vw;right:10vw;display:flex;justify-content:space-between;color:#7c847b;font-size:9px;letter-spacing:.1em}.hero-bottom span:first-child:before{content:"✳";margin-right:10px;color:#b28b62}.section{padding:120px 10vw;display:grid;grid-template-columns:190px 1fr;gap:5vw;border-top:1px solid var(--line)}.section-label{font:500 10px/1.6 var(--sans);letter-spacing:.13em;color:#818980}.section-label span{display:block;font-size:11px;color:#b48b5e;margin-bottom:12px}.intro{background:#eeede7}.intro-body{max-width:730px}.intro-body h2,.section-heading h2,.works h2{font-weight:500;font-size:clamp(30px,3.5vw,44px);letter-spacing:.04em;line-height:1.6;margin:0 0 24px}.intro-body>p:not(.eyebrow){max-width:610px;color:#677067;font-size:14px;line-height:2.25}.values{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:40px;padding-top:25px;border-top:1px solid var(--line)}.values div{display:flex;gap:17px}.values span{font:500 11px var(--sans);color:#b48b5e}.values p{font-size:12px;line-height:1.9;margin:0;color:#596159}.section-main{min-width:0}.section-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;align-items:end;margin-bottom:55px}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{margin:0}.section-heading>p:last-child{font-size:12px;color:#727a71;line-height:2.1;margin:0 0 8px}.service-list{border-top:1px solid var(--line)}.service-item{display:grid;grid-template-columns:55px 1fr 30px;gap:18px;align-items:center;padding:23px 4px;border-bottom:1px solid var(--line)}.service-no{font:500 10px var(--sans);color:#aa8a66}.service-item h3,.process-list h3{font-size:15px;font-weight:500;margin:0 0 3px}.service-item p,.process-list p{font-size:11px;color:#788078;margin:0}.service-arrow{font-size:16px;color:#8f9a8e;transition:transform .2s}.service-item:hover .service-arrow{transform:translate(3px,-3px)}.works{background:#eeede7}.works-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.works-heading .eyebrow{margin-bottom:10px}.works-heading h2{margin:0}.works-heading>p{font-size:11px;color:#737b72;line-height:2;margin:0}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 20px}.work-card{min-width:0}.work-visual{height:175px;background:linear-gradient(145deg,hsl(var(--work-hue),22%,76%),hsl(calc(var(--work-hue) + 35),20%,42%));display:grid;place-items:center;overflow:hidden;position:relative}.work-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 40%,rgba(0,0,0,.17))}.work-visual img{width:100%;height:100%;object-fit:cover}.play-icon{position:relative;z-index:1;width:43px;height:43px;border:1px solid rgba(255,255,255,.75);border-radius:50%;display:grid;place-items:center;color:white;font-size:12px;padding-left:3px}.work-meta{display:flex;justify-content:space-between;margin-top:13px;color:#7c847c;font:500 9px var(--sans);letter-spacing:.08em}.work-card h3{font-size:14px;font-weight:500;margin:5px 0}.work-card p{font-size:11px;color:#788078;margin:0}.work-link:hover .work-visual{filter:saturate(1.15)}.works-note{font-size:12px;color:#737b72;padding:24px 0;border-top:1px solid var(--line);margin-top:15px}.process-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.process-list li{display:grid;grid-template-columns:55px 1fr;gap:18px;padding:21px 4px;border-bottom:1px solid var(--line)}.process-list li>span{font:500 10px var(--sans);color:#aa8a66}.contact{background:#59695c;color:#f5f4f0;padding:105px 12vw;position:relative;overflow:hidden}.contact-inner{position:relative;z-index:1;max-width:690px}.contact .eyebrow{color:#c5d0be}.contact h2{font-size:clamp(29px,4vw,46px);font-weight:500;line-height:1.7;letter-spacing:.04em;margin:0 0 20px}.contact-inner>p:not(.eyebrow){font-size:12px;color:#e0e5dc}.button-light{background:var(--paper);color:var(--ink);margin-top:24px}.button-light:hover{background:white}.contact-small{display:block;font-size:10px;color:#d5ddd3;margin-top:12px}.contact-orbit{position:absolute;border:1px solid rgba(232,237,226,.16);border-radius:50%;width:420px;height:420px;right:-100px;top:-90px}.orbit-two{width:300px;height:300px;right:-40px;top:-30px}.site-footer{padding:36px 6.4vw;display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:25px}.site-footer .wordmark{font-size:30px}.site-footer div p{font-size:10px;line-height:1.6;margin:0;color:#727a71}.site-footer div p:first-child{color:var(--ink);font-weight:600}.footer-top{font:500 9px var(--sans);letter-spacing:.1em}.site-footer small{grid-column:2/-1;font:9px var(--sans);color:#8a9189;margin-top:-16px}
.hero h1,.intro-body h2,.section-heading h2,.works h2,.contact h2{font-family:var(--display-font)}
@media(max-width:800px){.site-header{height:70px;padding:0 6vw}.site-nav{gap:20px}.hero{padding:130px 7vw 70px;grid-template-columns:1fr 0.8fr;gap:0;min-height:620px}.hero-art{height:320px}.art-frame{height:230px}.art-sun{width:190px;height:190px}.hero-bottom{left:7vw;right:7vw}.section{padding:90px 7vw;grid-template-columns:120px 1fr;gap:4vw}.work-grid{grid-template-columns:repeat(2,1fr)}.contact{padding:85px 9vw}}
@media(max-width:600px){body{font-size:14px}.site-header{position:absolute}.menu-toggle{display:grid;gap:5px;border:0;background:transparent;padding:12px;z-index:7}.menu-toggle span{width:22px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.site-nav{position:absolute;inset:0 0 auto;background:var(--paper);padding:84px 8vw 25px;display:none;align-items:stretch;flex-direction:column;gap:0;border-bottom:1px solid var(--line)}.site-nav.is-open{display:flex}.site-nav a{padding:13px 0;border-bottom:1px solid var(--line)}.site-nav .nav-contact{border:0;padding:13px 0}.hero{display:flex;flex-direction:column;align-items:stretch;padding:135px 7vw 66px;min-height:auto}.hero h1{font-size:32px}.hero-lead{font-size:12px}.hero-actions{gap:18px;flex-wrap:wrap;margin-top:28px}.button{min-width:200px}.hero-art{height:270px;margin:34px 0 5px}.art-frame{height:200px;width:88%}.art-sun{width:170px;height:170px;right:5%}.art-caption{left:4%;bottom:5px}.art-stamp{right:0;bottom:26px;width:68px;height:68px;font-size:18px}.hero-bottom{left:7vw;right:7vw;font-size:8px}.section{display:block;padding:72px 7vw}.section-label{margin-bottom:32px}.section-label span{display:inline;margin:0 12px 0 0}.intro-body h2,.section-heading h2,.works h2{font-size:29px}.intro-body>p:not(.eyebrow){font-size:12px}.values{gap:20px}.values p{font-size:10px}.section-heading{display:block;margin-bottom:34px}.section-heading h2{margin-bottom:15px}.section-heading>p:last-child{font-size:11px}.service-item{grid-template-columns:35px 1fr 20px;gap:12px;padding:19px 0}.service-item h3{font-size:13px}.service-item p{font-size:10px}.works-heading{display:block}.works-heading>p{margin-top:15px}.work-grid{grid-template-columns:1fr;gap:25px}.work-visual{height:210px}.process-list li{grid-template-columns:35px 1fr;gap:12px}.contact{padding:75px 7vw}.contact h2{font-size:29px}.site-footer{padding:28px 7vw;grid-template-columns:55px 1fr auto;gap:14px}.site-footer small{grid-column:2/-1;margin-top:-8px}.footer-top{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.wordmark{display:flex;align-items:center;gap:9px;font:inherit;letter-spacing:0;white-space:nowrap;color:#292822}
.wordmark-label{font:400 15px/1.2 var(--display-font);letter-spacing:.08em}
.wordmark-script{font:400 41px/.8 "Allura",cursive;letter-spacing:-.04em;transform:rotate(-4deg);transform-origin:center}
.site-footer .wordmark{justify-self:start}
.site-footer{grid-template-columns:max-content minmax(0,1fr) max-content;gap:clamp(18px,3vw,42px);align-items:center}
.site-footer .wordmark{min-width:0}
.site-footer>div p{overflow-wrap:anywhere}
.site-footer small{grid-column:1/-1;margin:0}
.work-video{height:auto;aspect-ratio:16/9}
.work-video:after{pointer-events:none}
.work-video iframe{position:absolute;z-index:1;inset:0;width:100%;height:100%;border:0}
@media(max-width:600px){.wordmark{gap:7px}.wordmark-label{font-size:12px}.wordmark-script{font-size:36px}.site-footer{grid-template-columns:minmax(0,1fr) max-content;gap:12px 16px;align-items:center}.site-footer .wordmark{grid-column:1;grid-row:1}.site-footer>div{grid-column:1/-1;grid-row:2}.site-footer .footer-top{grid-column:2;grid-row:1}.site-footer small{grid-column:1/-1;grid-row:3}.site-footer .wordmark{font-size:inherit}}
