@font-face{font-family:Outfit;src:url('/assets/fonts/outfit-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Outfit;src:url('/assets/fonts/outfit-500.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Outfit;src:url('/assets/fonts/outfit-600.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Outfit;src:url('/assets/fonts/outfit-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--paper:#f3f0e9;--ink:#272922;--muted:#696a61;--line:#cccac0;--accent:#ba422b;--tint:#eae7dd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Outfit,'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}a,button{transition:color .2s,background .2s,transform .2s}a:hover{color:var(--accent)}a:active,button:active{transform:translateY(1px)}p{line-height:1.85;text-wrap:pretty}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;text-wrap:balance}h2{font-size:clamp(28px,3vw,43px);line-height:1.5;letter-spacing:-.055em}h3{font-size:23px;line-height:1.5;letter-spacing:-.025em}.shell{width:min(1280px,calc(100% - 112px));margin-inline:auto}.header{height:80px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:36px}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:500;letter-spacing:-.03em}.brand-icon{font-weight:600;background:var(--accent);color:var(--paper);width:36px;height:36px;display:grid;place-items:center;font-size:22px;border-radius:50%}.header nav{display:flex;margin-left:auto;gap:32px;font-size:13px;font-weight:500;align-items:center;white-space:nowrap}.header nav a{padding-block:12px}.header nav a[aria-current]{color:var(--accent)}.languages{display:flex;gap:2px;border-left:1px solid var(--line);padding-left:24px}.languages button{border:0;background:transparent;padding:10px 8px;min-height:44px;cursor:pointer;font-size:12px;color:var(--muted)}.languages button[aria-pressed=true]{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.languages button:hover{background:var(--tint)}.skip{position:fixed;left:20px;top:-100px;background:var(--ink);color:white;padding:16px;z-index:10}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:5%;align-items:center;padding-block:54px 62px;min-height:620px}.hero-copy{padding-bottom:4px}.eyebrow{font-size:11px;letter-spacing:.12em;line-height:1.5;font-weight:500}.hero h1{font-size:clamp(40px,4.7vw,68px);line-height:1.35;letter-spacing:-.055em;margin-block:28px 22px;white-space:nowrap}.accent{color:var(--accent)}.lede{max-width:400px;font-size:15px;color:var(--muted);line-height:1.9}.round-link{display:inline-flex;align-items:center;gap:34px;margin-top:32px;font-size:14px;font-weight:500}.circle{border:1px solid var(--ink);height:44px;width:44px;border-radius:50%;display:grid;place-items:center;font-size:23px;transition:background .2s,color .2s,transform .2s}.round-link:hover .circle{background:var(--accent);border-color:var(--accent);color:var(--paper);transform:rotate(45deg)}.hero-art{width:100%;aspect-ratio:1;position:relative}.hero-art img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px}.identity-strip{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:19px;font-size:12px;color:var(--muted)}.identity-strip span:first-child{font-size:14px;color:var(--ink)}.identity-strip span:last-child{font-size:10px;letter-spacing:.13em}.section{padding-top:104px}.section-title{display:flex;align-items:baseline;gap:25px}.number{color:var(--accent);font-size:12px;font-variant-numeric:tabular-nums;flex-shrink:0}.section-intro{margin:18px 0 42px 49px;max-width:630px;color:var(--muted);font-size:15px}.project{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;align-items:start}.project-media{padding-top:7px}.project-media>a{display:block;overflow:hidden;background:white}.project-media img{display:block;width:100%;height:auto;transition:transform .5s}.project-media a:hover img{transform:scale(1.025)}.caption{font-size:10px;color:var(--muted);margin-top:12px}.project-type{font-size:10px;letter-spacing:.13em;color:var(--accent);margin-bottom:14px}.project h3{white-space:pre-line;font-size:30px;line-height:1.45;margin-bottom:20px;letter-spacing:-.05em}.project-copy>p:not(.project-type){font-size:14px;color:var(--muted)}dl{margin:24px 0;font-size:12px}dl>div{display:grid;grid-template-columns:110px 1fr;padding-block:10px;border-top:1px solid var(--line);gap:16px}dt{color:var(--muted)}dd{margin:0;line-height:1.6}.underline-link{font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:7px;display:inline-flex;gap:32px}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:50px 1fr 1.12fr;gap:24px;border-bottom:1px solid var(--line);padding:33px 0;align-items:baseline}.service-no{font-size:12px;color:var(--muted)}.service-row h3{font-size:24px}.service-row p{font-size:14px;color:var(--muted);max-width:480px}.cms{margin-top:70px;padding:54px;display:grid;grid-template-columns:1fr 1fr;gap:72px;background:var(--tint);border-radius:3px}.cms h2{font-size:31px;white-space:pre-line;line-height:1.55}.cms-content>p{font-size:14px;color:var(--muted);margin-top:20px;max-width:390px}.cms-steps{list-style:none;margin:0;padding:0}.cms-steps li{display:flex;gap:24px;position:relative;padding-bottom:30px}.cms-steps li:last-child{padding-bottom:0}.step-dot{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);background:var(--tint);border-radius:50%;font-size:11px;color:var(--accent);flex-shrink:0;z-index:1}.cms-steps li:not(:last-child):after{content:'';width:1px;background:var(--line);position:absolute;left:15px;top:32px;bottom:0}.cms-steps h3{font-size:17px;margin-bottom:5px}.cms-steps p{font-size:12px;color:var(--muted)}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:54px;margin-top:45px}.method-num{display:block;font-size:40px;color:var(--accent);font-weight:400;margin-bottom:30px;letter-spacing:-.04em}.method-grid h3{font-size:21px;margin-bottom:14px}.method-grid p{font-size:14px;color:var(--muted)}.contact{margin-top:106px;padding-top:30px;border-top:1px solid var(--ink)}.contact-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.contact-top>span{font-size:54px;font-weight:400;color:var(--accent)}.contact h2{font-size:clamp(35px,4.8vw,68px);letter-spacing:-.055em;white-space:pre-line;line-height:1.5}.contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:100px;margin-top:32px}.contact-bottom p{color:var(--muted);font-size:14px;max-width:480px}.email-link{display:inline-flex;gap:24px;font-size:26px;margin-top:25px;border-bottom:1px solid var(--line);padding-bottom:10px;letter-spacing:-.025em}.contact-button{display:flex;align-items:center;justify-content:space-between;padding:21px 26px;background:var(--accent);color:#fff9f0;font-size:14px;max-width:340px}.contact-button:hover{background:var(--ink);color:var(--paper)}.contact-bottom .contact-note{font-size:12px;margin-top:15px;max-width:340px}footer{margin-top:100px!important}.footer-name{font-size:clamp(45px,13vw,185px);font-weight:600;letter-spacing:-.065em;line-height:1.2;display:flex;justify-content:space-between;align-items:baseline;color:#d8d5cb;user-select:none}.footer-name>span{font-size:.6em;font-weight:400}.footer-bottom{border-top:1px solid var(--line);padding-block:24px 30px;display:flex;gap:35px;color:var(--muted);font-size:11px}.footer-bottom>span{margin-right:auto}:lang(en) .hero h1,:lang(id) .hero h1{font-size:clamp(38px,4.3vw,63px);line-height:1.1;letter-spacing:-.055em}:lang(id) .hero h1{font-size:clamp(36px,4vw,58px)}
@media(min-width:1600px){.hero{min-height:660px}}@media(max-width:1100px){.shell{width:calc(100% - 64px)}.hero{min-height:550px;gap:4%;padding-block:40px}.header{height:76px;gap:20px}.header nav{gap:22px}.project{gap:35px}.cms{gap:40px;padding:36px}.service-row{grid-template-columns:30px 1fr 1.15fr}.contact-bottom{gap:50px}}
@media(max-width:767px){.shell{width:calc(100% - 40px)}.header{height:auto;min-height:76px;gap:12px;flex-wrap:wrap;padding-block:14px}.brand{font-size:18px}.brand-icon{height:32px;width:32px;font-size:20px}.header nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:8px;margin-top:2px;gap:12px;font-size:12px}.languages{margin-left:auto;padding-left:10px}.languages button{padding-inline:7px}.hero{grid-template-columns:1fr;gap:30px;padding-block:34px 30px;min-height:0}.hero h1{font-size:clamp(35px,8.8vw,62px);line-height:1.4;margin-block:20px 16px}.hero .eyebrow{font-size:9px;letter-spacing:.08em}.lede{font-size:14px;max-width:420px}.round-link{margin-top:22px;gap:24px}.hero-art{aspect-ratio:1.45;max-height:420px}.hero-art img{object-position:center 48%}.identity-strip{padding-block:16px;gap:10px;flex-direction:column}.identity-strip span:first-child{font-size:13px}.identity-strip span:last-child{font-size:9px}.section{padding-top:65px}.section-title{gap:14px}.number{font-size:10px}h2{font-size:28px;letter-spacing:-.055em}.section-intro{margin:16px 0 28px;font-size:13px}.project{grid-template-columns:1fr;gap:25px}.project h3{font-size:29px}.project-type{margin-bottom:10px}.project-copy>p:not(.project-type){font-size:14px}.project-media{padding:0}.project-copy dl{margin-top:22px}.service-row{grid-template-columns:24px 1fr;gap:10px 14px;padding-block:25px}.service-row h3{font-size:22px}.service-row p{grid-column:2;font-size:13px}.cms{grid-template-columns:1fr;gap:30px;padding:28px 24px;margin-top:40px}.cms h2{font-size:25px}.cms-content>p{font-size:13px}.cms-steps li{gap:18px}.method-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.method-grid article{display:grid;grid-template-columns:38px 1fr;gap:8px 20px}.method-num{grid-row:1/3;font-size:26px;margin:0}.method-grid h3{font-size:20px;margin:0}.method-grid p{grid-column:2;font-size:13px}.contact{margin-top:62px;padding-top:20px}.contact-top>span{font-size:40px}.contact h2{font-size:clamp(28px,7.5vw,45px)}.contact-bottom{grid-template-columns:1fr;gap:28px;margin-top:22px}.email-link{font-size:clamp(19px,5.9vw,27px);gap:14px}.contact-button{max-width:none}.contact-bottom .contact-note{max-width:100%}footer{margin-top:65px!important}.footer-name{font-size:13vw;letter-spacing:-.07em}.footer-bottom{gap:14px;flex-wrap:wrap;font-size:10px}.footer-bottom>span{flex-basis:100%}:lang(en) .hero h1,:lang(id) .hero h1{font-size:clamp(35px,8.8vw,62px)}:lang(en) .contact h2,:lang(id) .contact h2{font-size:40px}.contact-top .eyebrow{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
