@font-face{font-family:AtelierJP;src:url('assets/noto-jp.ttf');font-weight:400;font-display:swap}@font-face{font-family:AtelierDisplay;src:url('assets/outfit.ttf');font-weight:700;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#ecece7;color:#171815;font-family:AtelierJP,'Yu Gothic',sans-serif;font-size:19.6px}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid #8c7959;outline-offset:6px}.brand-backdrop{position:fixed;pointer-events:none;width:35vw;height:auto;left:50%;top:50%;transform:translate(-50%,-50%);filter:grayscale(1) brightness(0);opacity:.055;z-index:0}.wrap{position:relative;z-index:1}.header{position:fixed;top:0;left:0;width:100%;padding:2.9vw 0 0 2.5vw;z-index:20;display:flex;align-items:center;pointer-events:none}.brand{display:grid;place-items:center;width:4.5vw;height:4.5vw;min-width:48px;min-height:48px;max-width:76px;max-height:76px;background:#30342e;border-radius:50%;pointer-events:auto}.brand img{display:block;width:72%;height:auto}nav{position:absolute;right:5.5vw;display:flex;align-items:center;gap:2.75vw;font-family:AtelierDisplay,sans-serif;font-weight:700;color:#a28d69;font-size:clamp(19.6px,1.96vw,30.8px);letter-spacing:.1em;text-transform:uppercase;pointer-events:auto}nav a{padding:10px 0;text-shadow:0 0 8px #ecece7,0 0 16px #ecece7}nav a:hover{opacity:.65}.hero{width:100%;height:100vh;height:100svh;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:70px 20px}.hero h1{font-family:AtelierDisplay,sans-serif;font-size:clamp(35px,3.15vw,53.2px);font-weight:700;letter-spacing:.2em;line-height:1.3;margin:0}.hero p{font-family:AtelierDisplay,sans-serif;font-size:clamp(14px,1.47vw,23.8px);font-weight:700;line-height:1.7;letter-spacing:.4em;margin:1.5vw 0 0}.section{width:81.25vw;margin:5vw auto 7.5vw;padding:0}.section-head{margin-bottom:32px}.section-head h2,.eyebrow,.contact .big{font-family:AtelierDisplay,sans-serif;font-weight:700;text-transform:uppercase;font-size:22.4px;letter-spacing:.15em;color:#a28d69;margin:0}.section-head p,.index,.number{display:none}#works>.section-head{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;margin:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:7.5vw 3.25vw;align-items:start}.media{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:#e1e2db}.media img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .4s}.media:hover img{opacity:.75}.play{position:absolute;bottom:18px;right:18px;width:34px;height:34px;border:1px solid #ffffffc0;border-radius:50%;display:grid;place-items:center;background:#0002;color:white;font-size:14px;padding-left:2px;opacity:0;transition:opacity .3s}.media:hover .play,.media:focus-visible .play{opacity:1}.card-copy{padding:1.4vw 0 0 1em}.work h3{font-size:clamp(21px,1.82vw,29.4px);font-weight:400;letter-spacing:.05em;line-height:1.8;color:#99835e;margin:0}.work h3 br{display:none}.type{font-size:clamp(15.4px,1.4vw,22.4px);font-weight:400;letter-spacing:.05em;line-height:1.8;padding-top:.55vw;margin:0;color:#171815}.work details{margin-top:10px}.work summary{display:inline-block;font-size:14px;letter-spacing:.05em;color:#77796f;cursor:pointer;list-style:none;padding:4px 0}.work summary::-webkit-details-marker{display:none}.work summary:after{content:' +';margin-left:5px}.work details[open] summary:after{content:' −'}.credits{display:grid;grid-template-columns:48px 1fr;gap:7px 12px;font-size:16.8px;line-height:1.9;color:#656b60;margin:14px 0 0}.credits dt{color:#978463;font-family:AtelierDisplay,sans-serif}.credits dd{margin:0}.note{font-size:16.8px;line-height:1.9;color:#6e7568;margin:15px 0 0}.service{width:81.25vw;margin:0 auto 8vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;border-top:1px solid #d2d5ca;padding-top:5vw}.service h2{font-size:29.4px;font-weight:400;line-height:1.9;margin:30px 0}.price{font-family:AtelierDisplay,AtelierJP,sans-serif;font-size:53.2px;letter-spacing:.02em}.price small{font-size:19.6px;margin-right:20px}.price span{font-size:26.6px}.tax{font-size:15.4px;color:#72786b}.service .note{max-width:360px}.service dl{margin:0}.service dl div{border-bottom:1px solid #d2d5ca;padding:0 0 20px;margin-bottom:22px}.service dt{font-size:16.8px;color:#8c7959;letter-spacing:.05em;margin-bottom:9px}.service dd{font-size:18.2px;line-height:1.9;margin:0;color:#60685a}.personal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5vw}.personal video{width:100%;display:block;aspect-ratio:16/9;background:#e1e2db}.personal h3{font-size:21px;font-weight:400;color:#99835e;letter-spacing:.04em;line-height:1.9;margin:20px 0 9px}.personal p{font-size:16.8px;line-height:1.9;color:#646d5d;margin:0}.contact{width:81.25vw;margin:0 auto 8vw;padding-top:5vw;border-top:1px solid #d2d5ca;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact .eyebrow{display:none}.contact h2{font-size:29.4px;font-weight:400;line-height:1.8;margin:0 0 18px}.contact p{font-size:18.2px;line-height:2;color:#60685a;margin:0 0 23px}.button{display:inline-flex;gap:42px;padding:12px 0;border-bottom:1px solid #a28d69;font-size:18.2px;letter-spacing:.04em}.button:hover{color:#a28d69}.footer{width:100%;min-height:20vw;background:#191919;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;color:#e5e5de}.footer>span{font-family:AtelierDisplay,sans-serif;font-size:clamp(16.8px,1.82vw,28px);letter-spacing:.4em;font-weight:700}.footer>a{font-size:14px;letter-spacing:.08em;color:#a8aa9e}.skip{position:absolute;top:-100px}.skip:focus{top:15px;z-index:100;background:#fff;padding:12px}.reveal{opacity:0;transform:translateY(1.4vw);transition:opacity 1s,transform 1s}.reveal.visible{opacity:1;transform:none}@media(max-width:768px){html{scroll-padding-top:95px}.header{padding:4vw 5vw 0}.brand{width:10.5vw;height:10.5vw;min-width:40px;min-height:40px}nav{right:5.5vw;gap:5.3vw;font-size:3.92vw;letter-spacing:.1em}.brand-backdrop{width:62vw;opacity:.055;top:45%}.hero{justify-content:center;padding-bottom:23vh}.hero h1{font-size:8.96vw;letter-spacing:.12em}.hero p{font-size:3.64vw;letter-spacing:.22em;margin-top:6.5vw}.section{width:90vw;margin-top:5vw;margin-bottom:13vw}.grid{grid-template-columns:1fr;gap:13vw}.card-copy{padding:4vw 0 0 2.7vw}.work h3{font-size:4.9vw;line-height:1.85}.type{font-size:3.92vw;padding-top:2vw;line-height:1.8}.play{opacity:1;width:29px;height:29px;bottom:12px;right:12px}.work summary{font-size:14px}.credits{font-size:15.4px}.note{font-size:15.4px}.section-head h2,.eyebrow,.contact .big{font-size:16.8px}.service,.contact{width:90vw;grid-template-columns:1fr;gap:34px;padding-top:10vw;margin-bottom:13vw}.service h2{font-size:26.6px;margin:23px 0}.price{font-size:47.6px}.service dt{font-size:15.4px}.service dd{font-size:16.8px}.personal-grid{grid-template-columns:1fr;gap:12vw}.personal h3{font-size:19.6px;margin:18px 0 8px}.personal p{font-size:15.4px}.contact h2{font-size:25.2px}.contact p,.button{font-size:16.8px}.footer{min-height:53vw;gap:19px}.footer>span{font-size:3.78vw;letter-spacing:.25em}.footer>a{font-size:11.2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.reveal{opacity:1;transform:none}}
.gallery-page .hero{height:62vh;min-height:360px}.gallery-page .hero p{font-family:AtelierJP,sans-serif;font-weight:400;letter-spacing:.06em;font-size:18.2px}@media(max-width:768px){.gallery-page .hero{height:55svh;min-height:310px;padding-bottom:0}.gallery-page .hero p{font-size:15.4px}} 
@font-face{font-family:AtelierJP;src:url('assets/noto-jp-semibold.ttf');font-weight:600;font-display:swap}
.home-page .hero h1{font-size:clamp(50.4px,4.69vw,81.2px);letter-spacing:.18em}.home-page .hero p{font-size:clamp(16.8px,1.89vw,30.8px);letter-spacing:.3em;margin-top:1.7vw}.home-page .hero.hero-replay h1{animation:heroReveal 1.25s ease both}.home-page .hero.hero-replay p{animation:heroReveal 1.25s .16s ease both}@keyframes heroReveal{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.capabilities{width:81.25vw;margin:1vw auto 9vw}.capabilities-head{margin-bottom:32px}.capabilities-head h2{font:700 23.8px AtelierDisplay,sans-serif;letter-spacing:.16em;color:#a28d69;margin:0 0 10px}.capabilities-head p{font-size:18.2px;letter-spacing:.08em;margin:0;color:#626b5c}.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.8vw}.capability-card{display:block}.capability-placeholder{aspect-ratio:3/4;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e2e3da;color:#a0a393;position:relative;transition:background .4s}.capability-card:nth-child(2) .capability-placeholder{background:#dddfd5}.capability-card:nth-child(3) .capability-placeholder{background:#e6e5dc}.capability-placeholder .placeholder-no{font:700 clamp(56px,7vw,106.4px) AtelierDisplay,sans-serif;letter-spacing:.08em;opacity:.45}.capability-placeholder .placeholder-label{position:absolute;bottom:23px;left:0;width:100%;text-align:center;font-size:14px;letter-spacing:.08em;color:#7b8172}.capability-card h3{font:700 clamp(19.6px,1.96vw,29.4px) AtelierDisplay,sans-serif;letter-spacing:.1em;margin:21px 0 8px;color:#8d7958}.capability-card>p{font-size:16.8px;line-height:1.9;color:#656e5d;margin:0}.capability-card:hover .capability-placeholder{background:#d8dccf}.work h3{font-size:clamp(23.8px,2.17vw,33.6px);font-weight:600;line-height:1.75}.type{font-family:AtelierDisplay,AtelierJP,sans-serif;font-weight:700;font-size:clamp(16.8px,1.568vw,23.8px);letter-spacing:.05em}.gallery-page .hero>p{font-size:22.4px;font-weight:600}.profile{width:72vw;max-width:1080px;margin:0 auto 10vw}.profile h2{font-size:32.2px;letter-spacing:.06em;font-weight:600;margin:0 0 32px}.profile .intro{font-size:19.6px;line-height:2.1;color:#616b59;margin-bottom:45px}.profile dl{margin:0}.profile dl>div{display:grid;grid-template-columns:100px 1fr;gap:35px;border-top:1px solid #d2d5ca;padding:24px 0}.profile dt{font:700 22.4px AtelierDisplay,sans-serif;color:#a28d69}.profile dd{margin:0;font-size:19.6px;line-height:2}.profile .source-link{font-size:16.8px;margin-top:38px;color:#767f6b}.about-page .hero{height:56vh;min-height:330px}.about-page .hero p{font-family:AtelierJP,sans-serif;letter-spacing:.06em;font-size:19.6px;font-weight:400}.about-page .skip{display:none}
@media(max-width:768px){.home-page .hero h1{font-size:11.34vw;letter-spacing:.1em}.home-page .hero p{font-size:4.27vw;letter-spacing:.13em;margin-top:5.5vw}.capabilities{width:90vw;margin:2vw auto 15vw}.capabilities-head{margin-bottom:26px}.capabilities-head h2{font-size:21px}.capability-grid{grid-template-columns:1fr;gap:40px}.capability-card{width:78vw;max-width:400px;margin:auto}.capability-card h3{font-size:23.8px;margin-top:18px}.capability-card>p{font-size:16.8px}.capability-placeholder .placeholder-no{font-size:84px}.work h3{font-size:5.74vw;font-weight:600}.type{font-size:4.27vw}.gallery-page .hero>p{font-size:19.6px}.profile{width:86vw;margin-bottom:15vw}.profile h2{font-size:28px}.profile .intro{font-size:16.8px}.profile dl>div{grid-template-columns:62px 1fr;gap:18px;padding:22px 0}.profile dt{font-size:19.6px}.profile dd{font-size:16.8px;line-height:2}.about-page .hero{height:50svh;padding-bottom:0}.about-page .hero p{font-size:16.8px}}
@media(prefers-reduced-motion:reduce){.home-page .hero.hero-replay h1,.home-page .hero.hero-replay p{animation:none}}


/* Larger typography: preserve the original geometry and let text reflow. */
.brand{background:transparent;border-radius:0;box-shadow:none}.brand img{width:100%;height:auto;object-fit:contain}.card-copy,.service>div,.service dl,.contact>div,.profile dd{min-width:0}.work h3,.personal h3,.contact h2,.service dd,.credits dd,.profile dd{overflow-wrap:anywhere}.credits{grid-template-columns:68px 1fr}.price{white-space:nowrap}.footer{padding:35px 20px}.capability-placeholder .placeholder-label{padding:0 12px}.capability-card h3{overflow-wrap:anywhere}
@media(max-width:768px){.hero{padding-left:4vw;padding-right:4vw}.home-page .hero h1{font-size:10.7vw;letter-spacing:.09em}.home-page .hero p{max-width:91vw;letter-spacing:.08em}.hero h1{max-width:92vw}.gallery-page .hero>p{max-width:90vw;line-height:1.8}.header{align-items:center}.credits{grid-template-columns:60px 1fr;gap:9px 10px}.profile dl>div{grid-template-columns:65px 1fr;gap:16px}.capability-placeholder .placeholder-label{bottom:20px}.footer{gap:23px;padding:35px 20px}.footer>span{text-align:center}.price small{margin-right:12px}.contact{gap:32px}.about-page .hero p{max-width:90vw;line-height:1.8}}
@media(max-width:360px){nav{gap:4vw;right:5vw;font-size:3.8vw}.brand{min-width:36px;min-height:36px}.price{font-size:43px}.price small{font-size:17px;margin-right:9px}.price span{font-size:24px}}

#contact .big{font-size:clamp(30px,3.4vw,48px);letter-spacing:.09em}