:root{--gold:#e6ae3f;--text:#666;--pale:#f1f7f7;--line:#d9dfdf;font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--text)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:white;line-height:1.75}img{max-width:100%}a{color:inherit}button,input,textarea{font:inherit}.container{width:min(1170px,calc(100% - 60px));margin:auto}.skip-link{position:absolute;left:10px;top:-80px;background:white;padding:10px;z-index:20}.skip-link:focus{top:10px}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.legacy-hero{min-height:100vh;min-height:100svh;background:linear-gradient(rgba(20,20,20,.14),rgba(20,20,20,.32)),url('/assets/2014/09/14354989289_2eec0ba724_b.jpg') center center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:white;text-align:center}.hero-content{width:100%;padding:45px 20px 75px}.hero-logo{display:block;width:300px;max-width:65vw;height:auto;margin:0 auto 50px}.hero-content h1{font-size:34px;font-weight:400;margin:0 0 50px;line-height:1.4;color:white}.hero-menu{display:flex;justify-content:center;gap:0}.hero-menu a{width:145px;height:140px;text-decoration:none;background:rgba(255,255,255,.13);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:13px;color:white}.hero-menu a:nth-child(even){background:rgba(255,255,255,.08)}.hero-menu a:hover,.hero-menu a:focus-visible{background:rgba(230,174,63,.55)}.hero-menu svg{width:47px;height:47px;fill:white;color:white}.hero-menu svg circle{fill:rgba(100,100,100,.7)}
.site-header{height:80px;background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 2px 7px rgba(0,0,0,.1)}.site-header::after{content:"";display:block;clear:both}.brand{float:left;height:80px;display:flex;align-items:center;margin-left:max(30px,calc((100vw - 1170px)/2));text-decoration:none}.brand img{width:62px;height:auto}.main-nav{float:right;height:80px;display:flex;align-items:center;gap:34px;margin-right:max(30px,calc((100vw - 1170px)/2))}.main-nav a{text-decoration:none;font-size:13px;font-weight:600;color:#888}.main-nav a:hover{color:var(--gold)}.menu-button{display:none}
.brand span{display:none}
#about,#services,#works,#contact{scroll-margin-top:80px}.about{background:var(--pale);padding:58px 0 75px}.about-grid{display:grid;grid-template-columns:57% 41%;column-gap:2%;}.about h2{grid-column:1/-1;font-size:34px;font-weight:400;line-height:1.25;margin:0 0 30px}.about h2 span{font-size:18px;white-space:nowrap}.about-copy h3{color:var(--gold);font-size:22px;line-height:1.3;font-weight:600;margin:0 0 25px}.about-copy p{font-size:14px;margin:0 20px 0 0}.facts{margin:0;font-size:14px}.facts div{display:grid;grid-template-columns:100px 1fr;gap:5px;border-bottom:1px solid var(--line);padding:8px 0}.facts div:first-child{border-top:1px solid var(--line)}.facts dt,.facts dd{margin:0}.facts dd{line-height:1.7}
.services{padding:65px 0 90px;background:#fff}.section-title{text-align:center;margin:0 0 55px}.section-title h2{font-size:50px;font-weight:400;line-height:1.2;margin:0}.section-title>span{display:block;width:65px;height:5px;transform:skewX(-35deg);background:var(--gold);margin:20px auto}.section-title p{font-size:22px;color:var(--gold);margin:0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.services-grid article{font-size:14px}.services-grid h3{font-size:14px;font-weight:400;display:flex;align-items:center;gap:20px;margin:0 0 25px}.service-icon{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border:2px solid var(--gold);border-radius:4px;color:var(--gold);font-size:28px;line-height:1;flex:none}.service-icon svg{width:28px;height:28px;display:block}.services-grid p{margin:0}
.works{background:var(--pale);padding:65px 0 90px}.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin:-5px 0 38px}.filters button,.load-more{border:2px solid var(--gold);border-radius:4px;background:transparent;color:var(--gold);font-size:14px;font-weight:700;min-height:47px;padding:9px 24px;cursor:pointer}.filters button[aria-pressed="true"],.filters button:hover,.load-more:hover{background:var(--gold);color:white}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.work-card{display:block;position:relative;overflow:hidden;height:280px;background:#e8e8e8;text-decoration:none}.work-card[hidden],.load-more[hidden]{display:none}.work-card>img{display:block;width:100%;height:100%;object-fit:cover}.work-caption{display:flex;flex-direction:column;justify-content:center;position:absolute;bottom:0;left:0;right:0;padding:10px 15px;min-height:72px;background:rgba(37,45,57,.69);color:white}.work-caption strong{font-size:20px;font-weight:400;line-height:1.2}.work-caption small{font-size:13px;color:var(--gold)}.load-more{display:block;margin:40px auto 0}
.contact-section{background:linear-gradient(rgba(224,231,220,.24),rgba(224,231,220,.24)),url('/assets/2014/07/14625076141_d0f2e43579_b.jpg') center/cover no-repeat;padding:75px 0 95px;min-height:800px;color:white}.contact-section .section-title h2,.contact-section .section-title p{color:white}.contact-section .section-title{margin-bottom:45px}.contact-section .contact-form{max-width:660px;margin:0 auto}.contact-form .form-row{margin:0 0 18px}.contact-section .form-row label{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.contact-section .form-row input,.contact-section .form-row textarea{background:rgba(255,255,255,.72);border:0;color:#555}.form-row input,.form-row textarea{display:block;width:100%;border:1px solid #ccc;border-radius:3px;padding:12px 15px;font-size:14px;min-height:48px}.form-row textarea{min-height:145px;resize:vertical}.form-row label{display:block;margin:0 0 5px}.form-row label span{font-size:11px;color:#b63a3a}.form-note{font-size:12px}.send-button{background:var(--gold);border:0;border-radius:3px;color:white;font-weight:700;padding:12px 34px;cursor:pointer}.send-button:disabled{opacity:.55;cursor:default}.form-status{min-height:1.5em;font-size:13px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-section .form-status{color:white}
.site-footer{background:#fff;display:flex;justify-content:flex-end;align-items:center;min-height:75px;padding:18px max(30px,calc((100vw - 1170px)/2));font-size:12px;color:#888}.site-footer a{font-size:22px;text-decoration:none}.site-footer small{font-size:12px}.to-top{position:fixed;right:25px;bottom:20px;background:rgba(255,255,255,.85);box-shadow:0 1px 5px #ddd;border-radius:4px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:30px;color:#aaa}
.detail{max-width:1170px;margin:auto;padding:35px 30px 95px}.detail::before{content:"PROJECTS";display:flex;align-items:center;justify-content:center;height:260px;margin:-35px calc((1170px - 100vw)/2) 50px;background:#232a3c;color:white;font-size:48px;letter-spacing:.04em}.detail-header{border-bottom:1px solid var(--line);padding:0 0 20px}.detail-header h1{font-weight:400;font-size:32px}.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-top:35px}.detail-images{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.detail-images figure{margin:0}.detail-images figure:only-child{grid-column:1/-1}.detail-images img{display:block;max-height:600px;width:auto;margin:auto}.detail-prose{font-size:15px}.back{font-size:13px}.back a{text-decoration:none;color:var(--gold)}.simple-page{max-width:900px;min-height:50vh;margin:auto;padding:60px 30px}.contact-page{max-width:820px;margin:auto;padding:60px 30px 95px}.contact-heading h1{font-size:38px;font-weight:400}.contact-page .contact-form{max-width:660px}
@media(max-width:760px){.container{width:calc(100% - 40px)}.legacy-hero{min-height:100svh}.hero-content{padding:30px 20px 55px}.hero-logo{width:250px;margin-bottom:55px}.hero-content h1{font-size:24px;margin-bottom:45px}.hero-menu{max-width:320px;flex-wrap:wrap;margin:auto}.hero-menu a{width:33.333%;height:95px;font-size:10px;gap:4px}.hero-menu a:last-child{width:33.333%}.hero-menu svg{width:35px;height:35px}.site-header{height:55px}.brand{height:55px;margin-left:20px}.brand img{width:50px}.menu-button{display:block;float:right;height:55px;margin-right:20px;background:none;border:0;font-size:23px;color:#555;cursor:pointer}.main-nav{display:none;float:none;position:absolute;top:55px;left:0;right:0;margin:0;height:auto;background:white;padding:15px 20px;box-shadow:0 4px 8px #ccc}.main-nav.is-open{display:flex;align-items:stretch;gap:0;flex-direction:column}.main-nav a{padding:9px 0}.about{padding:45px 0}.about-grid{display:block}.about h2{font-size:27px}.about h2 span{display:block;font-size:15px;margin-top:7px}.about-copy h3{font-size:20px}.about-copy p{margin:0 0 25px}.facts div{grid-template-columns:95px 1fr}.services,.works{padding:50px 0 65px}.section-title{margin-bottom:38px}.section-title h2{font-size:38px}.section-title p{font-size:20px}.services-grid{grid-template-columns:1fr;gap:30px}.services-grid h3{margin-bottom:10px}.filters{justify-content:flex-start;gap:7px}.filters button{font-size:12px;padding:7px 13px;min-height:40px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.work-card{height:190px}.work-caption{min-height:58px;padding:6px 8px}.work-caption strong{font-size:14px}.work-caption small{font-size:11px}.contact-section{padding:55px 0 70px}.contact-section .section-title h2{font-size:37px}.contact-section .section-title p{font-size:18px}.site-footer{padding:18px 20px}.detail{padding:0 20px 60px}.detail::before{height:180px;margin:0 -20px 30px;font-size:34px}.detail-layout{display:block}.detail-prose{margin-top:25px}.contact-page{padding:40px 20px 70px}}
@media(max-width:390px){.hero-menu a{width:33.333%;height:88px}.work-card{height:165px}.work-caption strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.projects-hero{height:266px;background:#232a3c;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.projects-hero h1{font-weight:400;font-size:50px;line-height:1;margin:0}.projects-hero span{display:block;width:65px;height:5px;background:var(--gold);transform:skewX(-35deg);margin:24px 0 18px}.projects-hero p{font-size:22px;margin:0}.detail::before{display:none}.detail{padding-top:50px}.detail-layout{display:block}.detail-images{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}.detail-images figure{max-width:48%;background:white}.detail-images figure:only-child{max-width:100%}.detail-images img{max-width:100%;height:auto}.detail-prose{max-width:900px;margin:30px auto 0}.contact-page{max-width:none;background:linear-gradient(rgba(224,231,220,.24),rgba(224,231,220,.24)),url('/assets/2014/07/14625076141_d0f2e43579_b.jpg') center/cover no-repeat;color:white}.contact-heading{max-width:760px;margin:auto;text-align:center}.contact-heading h1{font-size:48px;margin:20px 0 5px}.contact-heading p{color:white}.contact-heading .back{text-align:left}.contact-page .contact-form{margin:35px auto 0}.contact-page .form-row label{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.contact-page .form-row input,.contact-page .form-row textarea{background:rgba(255,255,255,.72);border:0;color:#555}.contact-page .form-status{color:white}
@media(max-width:760px){.projects-hero{height:200px}.projects-hero h1{font-size:35px}.projects-hero p{font-size:16px}.detail-images figure{max-width:100%}.contact-heading h1{font-size:36px}}
.main-nav a.is-active{color:var(--gold)}.to-top[hidden]{display:none}.contact-section .contact-form{margin-left:100px;margin-right:0}
@media(max-width:760px){.contact-section .contact-form{margin-left:0}}
.projects-hero+.site-header{position:fixed;top:0;left:0;right:0;transform:translateY(-100%);transition:transform .2s}.projects-hero+.site-header.is-scrolled{transform:translateY(0)}.detail{display:flex;flex-direction:column;align-items:stretch}.detail-header{order:0;border:0;padding:0 0 24px;text-align:center}.detail-header h1{font-size:27px;margin:5px 0}.detail-layout{order:1;padding-top:0}.detail .back{order:2;text-align:center}.detail-images{align-items:flex-start}
@media(prefers-reduced-motion:reduce){.projects-hero+.site-header{transition:none}}
.blog-page{max-width:1170px;min-height:260px;margin:auto;padding:65px 30px;color:#555}
