:root{--paper:#faf9f5;--white:#fff;--ink:#252722;--muted:#6c6e65;--line:#dedfd6;--gold:#c18d12;--deep:#232b27;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:162px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.9;letter-spacing:.04em}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}img{display:block;max-width:100%}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}h1,h2,h3,p,figure,dl,dd{margin:0}h2{font-family:var(--serif);font-weight:600;font-size:clamp(27px,3vw,44px);line-height:1.7;letter-spacing:.09em}h3{font-size:20px;font-weight:600;line-height:1.6}.skip{position:fixed;top:-80px;background:white;padding:15px;z-index:20}.skip:focus{top:0}.preview-bar{background:#edece5;text-align:center;font-size:10px;letter-spacing:.12em;padding:5px 20px;color:#585c52}.preview-dot{width:5px;height:5px;border-radius:50%;background:#947435;display:inline-block;vertical-align:middle;margin-right:6px}.preview-separator{margin:0 10px;color:#aaa}.header{height:148px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;background:rgba(250,249,245,.97);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:17px}.brand img{width:300px;height:auto;flex-shrink:0}.brand>span{font-size:10px;letter-spacing:.1em;border-left:1px solid var(--line);padding-left:17px}nav{display:flex;align-items:center;gap:33px;font-size:12px}nav>a:not(.nav-contact){position:relative}nav>a:not(.nav-contact):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:var(--gold);transition:right .2s}nav>a:hover:after{right:0}.nav-contact{background:var(--deep);color:white;padding:12px 21px}.nav-contact span{margin-left:22px}.menu-toggle{display:none}.hero{padding:54px 4.5% 0;display:grid;grid-template-columns:42% 58%;max-width:1600px;margin:auto}.hero-copy{padding:16px 30px 48px 0}.eyebrow{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.17em;line-height:1.7}.gold-line{display:inline-block;width:25px;height:1px;vertical-align:middle;background:var(--gold);margin-right:12px}h1{font-family:var(--serif);font-weight:600;font-size:clamp(43px,5.1vw,78px);line-height:1.47;letter-spacing:.11em;margin:28px 0 27px}h1>span{position:relative}h1>span:after{content:"";position:absolute;left:0;bottom:-7px;width:42px;height:3px;background:var(--gold)}.hero-lead{font-size:17px;line-height:1.9;letter-spacing:.1em;margin-top:40px}.hero-description{font-size:12px;line-height:2;color:var(--muted);margin-top:15px}.text-link{display:inline-flex;gap:36px;align-items:center;font-size:12px;font-weight:600;margin-top:32px}.round-arrow{display:grid;place-items:center;width:40px;height:40px;border:1px solid #bdbfb4;border-radius:50%;font-size:20px;font-weight:400;transition:background .2s,transform .2s}.text-link:hover .round-arrow{background:var(--ink);color:white;transform:rotate(45deg)}.hero-visual{position:relative;margin:0;min-height:0;align-self:center;width:100%;overflow:hidden;background:#31463e}.hero-visual>img{width:100%;height:auto}.image-note{position:absolute;right:16px;top:14px;color:#fff;font-size:9px;background:#0006;padding:2px 8px}.hero-visual figcaption{position:absolute;bottom:36px;left:30px;right:30px;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;color:white}.hero-visual figcaption>span:first-child{font-family:Georgia,serif;font-size:clamp(27px,3.1vw,47px);line-height:1.08;letter-spacing:-.01em}.frame-label{font-size:9px;line-height:1.8;text-align:right;letter-spacing:.12em}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:29px 0;font-family:Arial,sans-serif;font-size:9px;letter-spacing:.16em}.hero-bottom a>span{margin-left:20px;font-size:16px}.section{padding:96px 7.5%;max-width:1600px;margin:auto}.section-label{display:flex;align-items:center;gap:22px;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.18em;margin-bottom:38px}.section-number{color:var(--gold)}.about-main{display:grid;grid-template-columns:1fr 1fr;gap:8%}.about-copy{padding-top:7px}.about-copy p{font-size:14px;line-height:2.2}.about-copy p+p{margin-top:21px}.proof-row{margin-top:55px;display:grid;grid-template-columns:1fr 1fr 1.3fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.proof-row>div{display:flex;align-items:center;gap:20px;padding:27px 25px;border-left:1px solid var(--line)}.proof-row>div:first-child{padding-left:0;border-left:0}.proof-value{font-family:Georgia,serif;font-size:53px;line-height:1;font-weight:400;letter-spacing:-.03em}.proof-award{font-size:43px}.proof-caption{font-size:10px;line-height:1.8;letter-spacing:.02em}.works{background:#f0f0e9;padding-top:82px;padding-bottom:75px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px}.section-heading>p{font-size:11px;color:var(--muted);padding-bottom:11px}.filter-row{display:flex;align-items:center;gap:29px;margin-top:35px;margin-bottom:33px;border-bottom:1px solid #d3d5cb}.filter{padding:14px 1px;background:none;color:#777b70;font-size:12px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.filter.active{border-bottom-color:var(--ink);color:var(--ink);font-weight:700}.filter span{font-size:10px;margin-left:6px;color:var(--gold)}.result-count{margin-left:auto;font-size:10px;color:var(--muted);white-space:nowrap}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.work-open{background:none;text-align:left;padding:0;width:100%;display:block}.work-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:#151915;display:flex;align-items:center;justify-content:center}.work-image img{width:100%;height:100%;object-fit:contain;transition:transform .45s}.solo-image{background:#fff}.solo-image img{width:auto;max-width:100%}.work-open:hover .work-image img{transform:scale(1.035)}.work-image-action{position:absolute;right:12px;bottom:12px;width:33px;height:33px;border-radius:50%;background:var(--paper);display:grid;place-items:center;font-size:19px}.work-meta{display:flex;justify-content:space-between;font-family:Arial,sans-serif;font-size:9px;letter-spacing:.12em;margin:19px 0 10px;color:#73766b}.work-card h3{font-size:20px;letter-spacing:.03em}.work-sub{font-size:10px;color:var(--muted);margin-top:8px}.work-description{font-size:12px;margin-top:8px}.work-list{margin-top:45px}.work-row{border-top:1px solid #cfd2c6}.work-row:last-child{border-bottom:1px solid #cfd2c6}.work-row .work-open{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:20px;padding:27px 0}.row-index{color:#8c8f83;font-family:Georgia,serif;font-size:19px;align-self:start}.work-row .eyebrow{color:var(--muted);font-size:9px;margin-bottom:6px}.work-row h3{font-size:19px}.work-row p:not(.eyebrow){font-size:10px;color:var(--muted);margin-top:5px}.row-detail{font-size:10px}.row-detail span{margin-left:25px;font-size:20px}.work-row button:hover h3{text-decoration:underline;text-underline-offset:6px}.approach{background:var(--deep);color:#f2f3eb;padding-top:82px}.approach .section-label{color:#aeb9af}.approach-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:9%}.approach h2{font-size:clamp(25px,2.7vw,39px)}.approach-lead{font-size:16px;line-height:2;margin-top:29px}.approach-note{font-size:11px;color:#b3bcb2;margin-top:20px}.approach .round-arrow{border-color:#626b61}.steps{margin-top:-12px}.step{display:flex;gap:25px;padding:28px 0;border-bottom:1px solid #4c574d}.step:first-child{padding-top:15px}.step>span{color:#c3ac75;font-size:11px;font-family:Georgia,serif;padding-top:7px}.step h3{font-size:18px}.step p{font-size:12px;line-height:2;margin:13px 0 10px;color:#d0d6cb}.step small{font-size:10px;color:#a3b09f}.company-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%}.company-message{font-family:var(--serif);font-size:23px;margin-top:26px;line-height:1.9;letter-spacing:.1em}.company-logo{width:400px;height:auto;margin-top:40px}.company-table{border-top:1px solid var(--line)}.company-table>div{display:grid;grid-template-columns:100px 1fr;gap:15px;border-bottom:1px solid var(--line);padding:18px 0;font-size:12px}.company-table dt{color:var(--muted);font-size:11px}.muted{font-size:10px;color:var(--muted)}.clients{margin-top:70px}.clients-title{display:flex;gap:30px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px}.clients-title h3{font-size:13px}.clients-title span{font-family:Arial,sans-serif;font-size:9px;color:var(--muted);letter-spacing:.15em}.clients>p{padding-top:20px;font-size:12px;line-height:2.7}.clients p>span{display:inline-block;margin-left:25px}.contact{background:#e9e6d8;padding-top:75px;padding-bottom:68px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact h2{font-size:clamp(35px,3.8vw,53px)}.contact-grid>div>p{font-size:12px;line-height:2;margin-top:22px}.contact-details{padding-top:15px}.contact-email{display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:#fff;padding:22px 25px;font-size:16px;transition:background .2s}.contact-email:hover{background:#495343}.contact-email>span{font-size:24px}.email-copy{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:13px 0 24px;border-bottom:1px solid #c8c8b9;font-family:Arial,sans-serif;font-size:12px}.email-copy button{padding:4px 0;font-size:10px;text-decoration:underline;text-underline-offset:4px;background:none}.contact-phone{margin-top:24px}.contact-phone p{font-size:10px;color:#66695c}.contact-phone a{font-family:Georgia,serif;font-size:27px;letter-spacing:.05em;display:inline-block;margin:3px 0 4px}.copy-status{font-size:11px!important;min-height:18px;margin:10px 0 0!important}footer{display:flex;justify-content:space-between;align-items:center;padding:29px 4.5%;font-size:9px;letter-spacing:.13em}footer>span:nth-child(2){color:var(--muted)}footer a{font-family:Arial,sans-serif}.mobile-only{display:none}
dialog{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(700px,calc(100% - 32px));max-height:90dvh;margin:auto;box-shadow:0 25px 100px #0004}dialog::backdrop{background:#121a16b8;backdrop-filter:blur(4px)}.dialog-close{position:sticky;top:0;z-index:2;width:100%;padding:15px 25px;text-align:right;background:var(--paper);border-bottom:1px solid var(--line);font-size:12px}.dialog-content{padding:27px 40px 40px}.dialog-content>.eyebrow{color:#737b6b;margin-bottom:12px}.dialog-content h2{font-size:29px;line-height:1.6}.dialog-content>#dialog-subtitle{font-size:12px;color:var(--muted);margin-top:10px}.dialog-content img{width:100%;max-height:300px;object-fit:contain;background:#eeeee6;margin:25px 0}.dialog-content>#dialog-description{font-size:13px;line-height:2.1;margin-top:25px}.dialog-content>#dialog-role{font-size:11px;color:var(--muted);margin-top:18px}.dialog-content ul{padding-left:20px;font-size:12px;margin:20px 0}.dialog-content li+li{margin-top:9px}#dialog-links{display:flex;flex-direction:column;gap:10px;margin-top:24px}#dialog-links a{display:flex;justify-content:space-between;padding:12px 16px;border:1px solid #c4c8b9;font-size:12px}#dialog-links a:hover{background:#e5e7dd}#dialog-links small{font-size:9px;color:var(--muted)}
@media(min-width:1500px){.hero-copy{padding-top:30px}.hero-description{font-size:14px}}
@media(max-width:1050px){html{scroll-padding-top:142px}.header{height:128px}.brand img{width:260px}nav{gap:12px}.nav-contact{padding:12px 14px}.brand>span{display:none}.hero{grid-template-columns:43% 57%;padding-top:35px}.hero-copy{padding-right:15px}h1{font-size:54px}.hero-visual figcaption{left:22px;right:22px}.frame-label{display:none}.section{padding:72px 6%}.proof-row>div{padding:25px 17px;gap:12px}.proof-value{font-size:43px}.proof-award{font-size:34px}.proof-caption{font-size:9px}.work-grid{gap:20px}.work-card h3{font-size:17px}.company-table>div{grid-template-columns:80px 1fr}.contact-grid{gap:7%}.hero-bottom{font-size:8px}}
@media(max-width:760px){html{scroll-padding-top:134px}.header{height:120px;padding:0 6%}.brand img{width:min(250px,62vw)}.preview-bar{font-size:9px;padding:4px 10px}.menu-toggle{display:flex;align-items:center;gap:8px;background:none;padding:12px 0}.menu-label{font-size:10px}.menu-lines{display:block;width:21px;height:10px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}nav{display:none;position:absolute;left:0;right:0;top:120px;background:var(--paper);padding:16px 6% 26px;border-bottom:1px solid var(--line);box-shadow:0 16px 20px #0001}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav>a{padding:14px 10px}.nav-contact{margin-top:10px}.nav-contact span{float:right}.hero{display:flex;flex-direction:column;padding:30px 6% 0}.hero-copy{padding:0 0 33px}.hero-copy>.eyebrow{font-size:9px}h1{font-size:clamp(41px,10.2vw,62px);line-height:1.5;margin:20px 0 12px;letter-spacing:.08em}h1 br:nth-of-type(2){display:none}h1>span:after{display:none}.hero-lead{font-size:14px;margin-top:24px}.hero-lead br{display:none}.hero-description{font-size:11px;margin-top:11px}.hero-copy>.text-link{margin-top:23px;font-size:11px}.round-arrow{width:33px;height:33px;font-size:17px}.hero-visual figcaption{left:20px;bottom:22px}.hero-visual figcaption>span:first-child{font-size:31px}.hero-bottom{padding:20px 0;font-size:7px;letter-spacing:.07em}.hero-bottom a{font-size:8px}.hero-bottom a>span{margin-left:8px}.section{padding:62px 6%}.section-label{font-size:9px;gap:16px;margin-bottom:26px}.about-main,.approach-grid,.company-grid,.contact-grid{grid-template-columns:1fr;gap:25px}h2{font-size:29px;line-height:1.7}.about-copy p{font-size:12px;line-height:2.15}.about-copy p+p{margin-top:17px}.proof-row{margin-top:30px;grid-template-columns:1fr 1fr}.proof-row>div{display:flex;align-items:flex-start;flex-direction:column;gap:8px;padding:22px 20px}.proof-row>div:last-child{grid-column:1/-1;flex-direction:row;align-items:center;gap:20px;border-top:1px solid var(--line);border-left:0;padding:22px 0}.proof-value{font-size:42px}.proof-caption{font-size:10px}.proof-award{font-size:35px}.section-heading{display:block}.section-heading>p{margin-top:12px;font-size:11px}.mobile-only{display:block}.filter-row{gap:19px;overflow:auto;margin-top:22px;margin-bottom:27px}.filter{font-size:10px;flex-shrink:0;padding:13px 0}.filter span{font-size:8px;margin-left:3px}.result-count{display:none}.work-grid{grid-template-columns:1fr;gap:35px}.work-image{aspect-ratio:1.5}.work-card h3{font-size:22px}.work-meta{margin-top:15px;font-size:9px}.work-sub{font-size:11px;margin-top:5px}.work-description{font-size:12px;margin-top:6px}.work-list{margin-top:32px}.work-row .work-open{grid-template-columns:25px 1fr 20px;gap:10px;padding:22px 0}.work-row h3{font-size:15px}.work-row .eyebrow{font-size:8px}.work-row p:not(.eyebrow){font-size:9px}.row-detail{font-size:0}.row-detail span{font-size:20px;margin:0}.row-index{font-size:16px}.approach h2{font-size:29px}.approach-lead{font-size:14px;margin-top:20px}.approach-note{font-size:10px}.approach .text-link{margin-top:23px}.steps{margin-top:15px}.step{padding:25px 0;gap:20px}.step h3{font-size:18px}.step p{font-size:12px}.company-message{font-size:20px;margin-top:14px}.company-logo{display:block;width:330px;margin-top:26px}.company-table>div{font-size:12px;grid-template-columns:78px 1fr;gap:12px;padding:15px 0}.company-table dt{font-size:10px}.company-table .muted{display:block}.clients{margin-top:40px}.clients-title{gap:18px}.clients-title h3{font-size:12px}.clients-title span{font-size:7px}.clients>p{font-size:10px;line-height:2.8}.clients p>span{margin-left:17px}.contact h2{font-size:40px}.contact-grid>div>p{font-size:11px;margin-top:18px}.contact-details{padding-top:0}.contact-email{font-size:15px;padding:20px}.email-copy{font-size:12px}.contact-phone a{font-size:29px}footer{padding:24px 6%;font-size:8px;gap:10px}footer>span:nth-child(2){display:none}.dialog-content{padding:20px 23px 28px}.dialog-content h2{font-size:24px}.dialog-content>#dialog-description{font-size:12px}.dialog-content img{max-height:230px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

