@font-face{font-family:DM Serif Display;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-serif-display-regular.ttf)format("truetype")}@font-face{font-family:DM Serif Display;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/dm-serif-display-italic.ttf)format("truetype")}:root{--cream:#f7f4e9;--paper:#eeeade;--green:#123f33;--deep:#17382e;--burgundy:#701d24;--gold:#b38c4c;--charcoal:#284038;--muted:#657168;--line:#bec4b6;--serif:Georgia,"Noto Serif CJK JP","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Noto Sans CJK JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{background:var(--cream);color:var(--green);font-family:var(--sans);margin:0;font-size:16px;line-height:1.9}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}p,h1,h2,h3{margin:0}a,button{transition:color .18s,background .18s,border-color .18s}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--burgundy);outline-offset:5px}.skip-link{z-index:200;background:var(--cream);padding:12px;position:fixed;top:-100px;left:24px}.skip-link:focus{top:12px}.arrow-icon{object-fit:contain;flex-shrink:0;width:30px;height:30px}.primary .arrow-icon,.light .arrow-icon{filter:brightness(0)invert()}.site-header{z-index:50;border-bottom:1px solid var(--green);background:var(--cream);justify-content:space-between;align-items:center;gap:30px;min-height:132px;margin:0 4%;display:flex;position:relative}.wordmark{flex-shrink:0;width:270px;max-width:32%;margin-left:-22px}.wordmark img{width:100%}.desktop-nav{font-family:var(--serif);letter-spacing:.05em;gap:42px;font-size:21px;font-weight:700;display:flex}.desktop-nav a:hover{color:var(--burgundy)}.menu-button{display:none}.mobile-menu{z-index:49;background:var(--cream);padding:24px 7%;position:fixed;inset:83px 0 0;overflow:auto}.mobile-menu a{border-bottom:1px solid var(--line);font-family:var(--serif);justify-content:space-between;align-items:center;padding:20px 0;font-size:20px;display:flex}.hero{isolation:isolate;background:var(--cream);min-height:clamp(690px,62vw,1000px);position:relative;overflow:hidden}.hero-illustration{object-fit:cover;object-position:center;z-index:-1;width:100%;height:calc(100% + 110px);position:absolute;inset:-110px 0 0}.hero-copy{width:64%;padding:92px 4% 100px;position:relative}.hero h1{letter-spacing:-.06em;color:var(--burgundy);font-family:DM Serif Display,Georgia,serif;font-size:clamp(94px,11.6vw,180px);font-weight:400;line-height:.9}.hero h1 em{letter-spacing:-.05em;font-weight:400}.hero-tagline{font-family:var(--serif);letter-spacing:.03em;white-space:nowrap;margin-top:28px;font-size:clamp(36px,4.4vw,69px);font-weight:700;line-height:1.5}.hero-description{letter-spacing:.04em;margin-top:18px;font-size:clamp(17px,1.75vw,27px);line-height:1.65}.hero-ctas{align-items:center;gap:36px;margin-top:45px;display:flex}.button{min-height:66px;font-family:var(--serif);letter-spacing:.04em;border:1px solid #0000;justify-content:space-between;align-items:center;gap:30px;padding:19px 29px;font-size:20px;font-weight:700;line-height:1.6;display:inline-flex}.primary,.light{background:var(--burgundy);color:var(--cream)}.primary:hover,.light:hover{background:var(--green)}.text-link{font-weight:700;font-family:var(--serif);border-bottom:1px solid;justify-content:space-between;align-items:center;gap:24px;padding:9px 0;font-size:18px;line-height:1.6;display:inline-flex}.text-link:hover{color:var(--burgundy)}.section-pad{padding:105px max(6%,50% - 660px)}.section-heading{justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:58px;display:flex}.section-label{letter-spacing:.08em;color:var(--muted);margin-bottom:22px;font-size:12px;font-weight:500}.section-label>span{letter-spacing:.03em;color:var(--burgundy);margin-bottom:7px;font-family:Georgia,serif;font-size:17px;display:block}.section-heading>p{max-width:400px;color:var(--muted);font-size:15px}h2{font-family:var(--serif);letter-spacing:.03em;font-size:clamp(31px,3.1vw,46px);font-weight:600;line-height:1.65}.works{background:var(--cream);border-top:1px solid var(--line)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:62px 36px;display:grid}.project-card{text-align:left;min-width:0;color:var(--green);background:0 0;border:0;padding:0}.project-art{aspect-ratio:3/2;background:var(--paper);position:relative;overflow:hidden}.project-art img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.project-card:hover .project-art img{transform:scale(1.025)}.project-portrait .project-art{background:#080a0b}.project-portrait .project-art img{object-fit:contain}.project-status{background:var(--cream);max-width:calc(100% - 32px);color:var(--green);padding:5px 11px;font-size:11px;line-height:1.7;position:absolute;top:16px;left:16px}.project-copy{border-bottom:1px solid var(--line);padding:24px 0 25px}.project-category{color:var(--muted);letter-spacing:.08em;margin-bottom:9px;font-size:12px}.project-copy h3{letter-spacing:-.02em;justify-content:space-between;align-items:center;gap:20px;font:500 clamp(24px,2.4vw,36px)/1.3 Georgia,serif;display:flex}.project-summary{font-family:var(--serif);margin-top:15px;font-size:18px;line-height:1.8}.project-details{color:var(--muted);margin-top:16px;font-size:12px}.project-link{letter-spacing:.08em;justify-content:space-between;align-items:center;margin-top:23px;font-size:12px;display:flex}.project-link .arrow-icon{width:23px;height:23px}.work-note{color:var(--muted);border-top:1px solid var(--line);max-width:980px;margin-top:22px;padding-top:25px;font-size:12px;line-height:2}.services{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid{border-top:1px solid var(--green)}.service-grid article{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr 1.45fr;align-items:start;column-gap:28px;padding:30px 0;display:grid}.service-number{color:var(--burgundy);grid-row:1/4;font:italic 25px/1.7 Georgia,serif}.service-grid h3{font-family:var(--serif);grid-area:1/2/4;font-size:23px;font-weight:600;line-height:1.65}.service-grid p{grid-column:3;font-size:15px;line-height:1.9}.service-grid .service-scope{color:var(--muted);margin-top:14px;font-size:12px}.service-grid a{grid-column:3;align-items:center;gap:25px;margin-top:15px;font-size:12px;display:flex}.service-grid a .arrow-icon{width:23px;height:23px}.service-grid a:hover{color:var(--burgundy)}.pricing{border-top:1px solid var(--green);grid-template-columns:1fr 1fr;gap:80px;margin-top:75px;padding-top:40px;display:grid}.pricing h3{font-family:var(--serif);font-size:28px;font-weight:600;line-height:1.7}.pricing p{font-size:15px}.pricing p+p{margin-top:16px}.pricing a{margin-top:23px;font-size:16px}.about{background:var(--cream)}.about-grid{grid-template-columns:1fr 1fr;gap:80px;display:grid}.about-lead{font-family:var(--serif);margin-bottom:25px;font-size:25px;font-weight:600}.about-grid p+p{margin-top:20px}.about-grid>div>p:not(.about-lead){font-size:15px}.about-grid a{margin-top:25px;font-size:17px}.about-grid .tool-note{color:var(--muted);border-top:1px solid var(--line);padding-top:22px;font-size:13px!important}.process{border-top:1px solid var(--line);background:var(--cream)}.process ol{border-top:1px solid var(--green);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.process li{border-right:1px solid var(--line);padding:30px 24px 10px}.process li:first-child{padding-left:0}.process li:last-child{border-right:0;padding-right:0}.process li>span{color:var(--burgundy);font:italic 38px/1.4 Georgia,serif}.process h3{font-family:var(--serif);margin:24px 0 17px;font-size:20px;font-weight:600;line-height:1.7}.process li p{color:var(--muted);font-size:14px}.contact{background:var(--paper);border-top:1px solid var(--green);grid-template-columns:1fr 1fr;gap:8%;display:grid}.contact-title{align-self:start}.contact-title>p:not(.section-label){margin-top:28px;font-size:15px}.contact-title>a{margin-top:32px;font-size:17px}.contact-title .contact-note{color:var(--muted);max-width:450px;font-size:12px!important}.contact form h3{font-family:var(--serif);margin-bottom:30px;font-size:24px;font-weight:600}.contact label{letter-spacing:.02em;margin-bottom:22px;font-size:13px;display:block}.contact label>span{border:1px solid var(--line);color:var(--muted);margin-left:10px;padding:1px 5px;font-size:10px}.contact input,.contact select,.contact textarea{background:var(--cream);width:100%;color:var(--green);border:1px solid #b7beb0;border-radius:0;margin-top:8px;padding:12px 14px;font-size:16px;line-height:1.65;display:block}.contact textarea{resize:vertical}.contact input::placeholder,.contact textarea::placeholder{color:#788073;font-size:13px}.form-pair{grid-template-columns:1fr 1fr;gap:18px;display:grid}.contact form>.button{width:100%;font-size:17px}.inquiry-draft{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.inquiry-draft>p{margin-bottom:15px;font-size:14px}.inquiry-draft .button{margin-bottom:15px;font-size:16px}.inquiry-draft .text-link{font-size:16px}footer{background:var(--cream);border-top:1px solid var(--line);padding:40px 6% 30px}.footer-mark{width:240px;margin-left:-20px;display:block}footer>p{color:var(--muted);margin-top:0;font-size:12px}.footer-bottom{border-top:1px solid var(--line);justify-content:space-between;gap:30px;margin-top:35px;padding-top:24px;display:flex}.footer-bottom nav{flex-wrap:wrap;gap:25px;font-size:12px;display:flex}.footer-bottom nav>a:last-child{align-items:center;gap:8px;display:flex}.footer-bottom .arrow-icon{width:18px;height:18px}.footer-bottom small{white-space:nowrap;color:var(--muted);font-size:12px}.project-dialog{border:1px solid var(--line);background:var(--cream);width:min(1000px,100% - 40px);max-height:90svh;color:var(--green);padding:0}.project-dialog::backdrop{background:#15251ec7}.modal-inner{position:relative}.modal-close{float:right;z-index:2;background:var(--cream);border:1px solid var(--green);margin:15px 15px -65px 0;padding:9px 18px;font-size:13px;position:sticky;top:15px}.modal-image{object-fit:contain;background:var(--paper);width:100%;height:auto}.portrait-image{background:#080a0b;max-height:80svh}.modal-copy{padding:42px 48px}.modal-copy h2{font-family:Georgia,serif;font-size:42px}.modal-copy p{margin:20px 0;line-height:1.9}.modal-copy h3{font-family:var(--serif);margin-top:27px;font-size:20px}.modal-copy ul{flex-wrap:wrap;gap:10px;padding:0;list-style:none;display:flex}.modal-copy li{border:1px solid var(--line);padding:5px 11px;font-size:12px}.modal-copy .modal-note{color:var(--muted);font-size:12px}.modal-copy .button{margin-top:12px;font-size:17px}@media (width>=1600px){.hero-copy{padding-top:90px;padding-left:max(4%,50vw - 735px)}.hero-illustration{object-position:center 43%}}@media (width<=1100px){.site-header{min-height:105px}.wordmark{width:220px;margin-left:-18px}.desktop-nav{gap:30px;font-size:18px}.hero{min-height:680px}.hero-copy{width:66%;padding-top:65px}.hero h1{font-size:12vw}.hero-tagline{font-size:4.5vw}.hero-description{font-size:17px}.hero-ctas{gap:25px}.hero .button{gap:18px;padding:16px 21px;font-size:17px}.hero .text-link{gap:16px;font-size:17px}.section-pad{padding:80px 6%}.section-heading{gap:30px}.section-heading>p{max-width:310px}.service-grid article{grid-template-columns:35px 1fr 1.4fr;gap:0 23px}.service-grid h3{font-size:20px}.pricing,.about-grid{gap:45px}.process li{padding:24px 16px 0}.process h3{font-size:17px}.process li p{font-size:13px}.contact{gap:6%}}@media (width<=760px){.site-header{min-height:83px;margin:0 6%;position:sticky;top:0}.wordmark{width:178px;max-width:60%;margin-left:-15px}.desktop-nav{display:none}.menu-button{font-family:var(--serif);background:0 0;border:0;padding:9px 0 9px 12px;font-size:15px;display:block}.hero{flex-direction:column;min-height:0;display:flex;overflow:hidden}.hero-copy{z-index:1;width:100%;padding:40px 7% 0}.hero h1{letter-spacing:-.055em;font-size:clamp(66px,14.4vw,110px);line-height:.93}.hero-tagline{margin-top:22px;font-size:clamp(28px,6.7vw,44px);line-height:1.5}.hero-description{letter-spacing:.01em;margin-top:12px;font-size:14px;line-height:1.8}.hero-ctas{gap:22px;margin-top:27px}.hero .button{gap:20px;min-height:55px;padding:14px 18px;font-size:15px}.hero .text-link{gap:16px;font-size:14px}.hero .arrow-icon{width:24px;height:24px}.hero-illustration{z-index:0;object-fit:cover;object-position:100% 48%;order:2;width:100%;height:440px;margin-top:0;position:relative;inset:auto}.section-pad{padding:65px 7%}.section-heading{margin-bottom:35px;display:block}.section-heading>p{max-width:none;margin-top:22px;font-size:14px}.section-label{margin-bottom:18px;font-size:11px}.section-label>span{font-size:16px}h2{font-size:31px;line-height:1.6}.project-grid{gap:40px 24px}.project-copy{padding-top:19px}.project-copy h3{font-size:24px}.project-summary{font-size:16px}.project-details{font-size:11px}.project-status{max-width:calc(100% - 24px);font-size:10px;top:12px;left:12px}.service-grid article{grid-template-columns:30px 1fr;gap:0 18px;padding:27px 0}.service-number{grid-row:1/5;font-size:24px}.service-grid h3{grid-area:1/2;margin-bottom:16px;font-size:22px}.service-grid p,.service-grid a{grid-column:2}.service-grid p{font-size:14px}.pricing{grid-template-columns:1fr;gap:25px;margin-top:45px;padding-top:28px}.pricing h3{font-size:25px}.pricing p{font-size:14px}.about-grid{grid-template-columns:1fr;gap:30px}.about-lead{font-size:23px}.process ol{grid-template-columns:1fr}.process li,.process li:first-child,.process li:last-child{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:45px 1fr;gap:0 20px;padding:25px 0;display:grid}.process li>span{grid-row:1/3;font-size:32px}.process h3{margin:0 0 10px;font-size:21px}.process li p{grid-column:2;font-size:14px}.contact{grid-template-columns:1fr;gap:45px}.contact-title .contact-note{max-width:none}.contact form{border-top:1px solid var(--line);padding-top:35px}.footer-bottom{flex-direction:column;gap:22px}.footer-bottom nav{gap:16px 23px}.modal-copy{padding:28px}.modal-copy h2{font-size:32px}.modal-copy p{font-size:14px}.modal-copy .button{font-size:15px}}@media (width<=500px){.hero-illustration{object-fit:cover;object-position:100% 46%;width:135%;max-width:none;height:340px;margin-left:-35%}.hero-ctas{gap:20px}.hero .button{gap:17px;padding:14px 16px;font-size:14px}.hero .text-link{gap:10px;font-size:13px}.project-grid{grid-template-columns:1fr}.project-copy h3{font-size:28px}.project-summary{font-size:17px}.form-pair{grid-template-columns:1fr;gap:0}.contact .button{font-size:15px}.project-dialog{width:calc(100% - 24px)}.modal-copy{padding:25px}.modal-copy h2{font-size:29px}.footer-mark{width:210px}.contact h2{font-size:30px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.project-reference{margin:30px 0 24px}.project-reference img{width:100%;height:auto}.project-reference figcaption{color:var(--muted);margin-top:10px;font-size:12px}.contact fieldset{border:0;min-width:0;margin:0;padding:0}.contact fieldset:disabled{opacity:.65}
