@charset "UTF-8";
:root{--paper:#f4f4ef;--ink:#1c211d;--lime:#dbea9a;--line:#c9ccc3;--serif:"Bodoni MT","Times New Roman",serif;--jp:"Yu Mincho","Hiragino Mincho ProN",serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #779039;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}button{border:0}p{line-height:2}h1,h2,h3,p{margin:0}header{height:100px;padding:0 4%;display:flex;align-items:center;gap:38px;position:absolute;z-index:20;width:100%;border-bottom:1px solid var(--line)}.brand{width:100px}.brand img{height:auto}.header-note{font-size:12px;letter-spacing:.08em}header nav{margin-left:auto;display:flex;gap:28px;align-items:center;font-size:14px}header nav a{position:relative}header nav a:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s}header nav a:hover:after{transform:scaleX(1)}.contact-small{border:1px solid var(--ink);padding:12px 18px;border-radius:100px}.menu-button{display:none}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:var(--lime);padding:12px}.skip:focus{top:15px}.hero{height:max(800px,100svh);max-height:1100px;position:relative;padding:138px 5% 35px;overflow:hidden}.hero-index{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em}.hero-photo{position:absolute;width:32%;height:48%;right:8%;top:24%;overflow:hidden;transform:rotate(-7deg);animation:photo-in 1.7s cubic-bezier(.2,.7,.2,1) both;box-shadow:0 15px 40px #1019100c}.hero-photo img{filter:saturate(.55);transform:scale(1.12) translateY(var(--photo-y,0px));transition:transform .15s linear}.hero-word{position:absolute;top:18%;left:5%;font-family:var(--serif);font-style:italic;font-size:clamp(145px,23vw,355px);line-height:1;letter-spacing:-.065em;transform:translateX(var(--word-x,0px));opacity:.98}.hero h1{position:absolute;top:52%;left:9%;font:500 clamp(42px,5.8vw,90px)/1.55 var(--jp);letter-spacing:.035em;z-index:2}.hero h1 span{display:block;animation:rise 1.2s .2s both}.hero h1 span+span{margin-left:10vw;animation-delay:.38s}.hero-bottom{position:absolute;bottom:36px;left:5%;right:5%;display:flex;align-items:flex-end;justify-content:space-between}.hero-bottom p{font-size:14px;line-height:1.8}.scroll-link{font-size:12px;display:flex;gap:22px;align-items:center}.scroll-link span{border:1px solid var(--ink);border-radius:50%;width:46px;height:46px;display:grid;place-items:center;font-size:20px}.section{padding:100px 6% 120px;scroll-margin-top:0}.section-label{font-size:13px;display:flex;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid var(--line);letter-spacing:.04em}.purpose-body{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;padding-top:90px}.purpose h2{font:500 clamp(32px,4.4vw,68px)/1.65 var(--jp)}.purpose h2 em{font-style:normal;color:#667946}.purpose-copy{padding-top:12px}.purpose-copy p{margin-bottom:30px;font-size:17px;line-height:2.15}.text-link{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink);padding:18px 0;font-size:14px;max-width:330px;transition:padding .25s}.text-link:hover{padding-left:10px}.text-link span{font-size:23px}.marquee{overflow:hidden;border-block:1px solid var(--line);padding:22px 0;font:italic clamp(45px,7vw,110px)/1.1 var(--serif)}.marquee div{width:max-content;animation:marquee 35s linear infinite}.services{background:#e9ece4}.service-intro{display:flex;justify-content:space-between;gap:40px;align-items:end;padding:64px 0 72px}.service-intro h2{font:500 clamp(28px,3.1vw,47px)/1.7 var(--jp)}.service-intro p{font-size:14px}.service-row{display:grid;grid-template-columns:1.13fr 1fr;gap:8%;padding:48px 0 75px;border-bottom:1px solid #b7bdb1;align-items:center}.service-image{aspect-ratio:1.18;overflow:hidden;position:relative;background:#393330}.service-image img{object-fit:contain;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter 1s;filter:saturate(.7)}.service-row:hover img{transform:scale(1.035);filter:saturate(1)}.image-link{position:absolute;bottom:24px;right:24px;border-radius:60px;background:var(--paper);padding:12px 20px;font-size:13px}.eyebrow{font-size:12px;letter-spacing:.06em}.service-info h3{font:normal clamp(34px,4.6vw,70px)/1.05 var(--serif);letter-spacing:-.025em;margin:32px 0}.service-info h3 i{font-weight:normal}.service-info p{font-size:14px;line-height:2}.round-arrow{display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--ink);border-radius:50%;margin-top:30px;font-size:25px;transition:background .3s,transform .3s}.service-row:hover .round-arrow{background:var(--lime);transform:rotate(45deg)}.reverse .service-image{order:2}.reverse .service-info{order:1}.reverse{grid-template-columns:1fr 1.13fr;margin-top:35px}.people{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.1fr 1fr;min-height:620px}.people-photo{overflow:hidden}.people-photo img{filter:grayscale(1);transition:filter 1s}.people-photo:hover img{filter:grayscale(0)}.people-text{padding:70px 13%}.people h2{font:500 clamp(30px,3.8vw,60px)/1.65 var(--jp);margin:45px 0}.people .text-link{border-color:#a5afa6}.company-body{padding-top:65px;display:grid;grid-template-columns:1.3fr 1fr;gap:10%}.company h2{font:500 clamp(30px,3.4vw,55px)/1.7 var(--jp)}.company-details h3{font-size:20px;font-weight:500;margin-bottom:22px}.company-details p{font-size:14px;margin-bottom:20px}.contact{background:var(--lime);padding:70px 6% 65px}.contact p{font-size:16px}.contact>a{display:flex;justify-content:space-between;align-items:center;font:italic clamp(75px,15vw,230px)/1.3 var(--serif);letter-spacing:-.06em;border-bottom:1px solid #647643}.contact>a span{font-style:normal;font-size:.6em;transition:transform .3s}.contact>a:hover span{transform:translate(10px,-10px)}.contact>span{display:block;margin-top:20px;font-size:14px}footer{padding:48px 6%;display:flex;gap:30px;align-items:center;flex-wrap:wrap}.footer-brand{font:bold 42px var(--serif)}footer>div{display:flex;gap:20px;flex-wrap:wrap;margin-left:auto;font-size:12px}footer small{font-size:12px;width:90%;opacity:.7}footer>a:last-child{margin-left:auto;font-size:28px}.motion-toggle{position:fixed;bottom:16px;left:18px;z-index:25;font-size:12px;border:1px solid #858c7b;background:var(--paper);border-radius:30px;padding:8px 14px;opacity:.9}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(35px);transition:opacity .9s,transform 1s cubic-bezier(.2,.7,.2,1)}.js-motion .reveal.visible{opacity:1;transform:none}.motion-paused *{animation-play-state:paused!important;scroll-behavior:auto!important;transition:none!important}.motion-paused .reveal{opacity:1;transform:none}.motion-paused .hero-photo img,.motion-paused .hero-word{transform:none}@keyframes rise{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}@keyframes photo-in{from{opacity:0;transform:translateY(45px) rotate(0)}to{opacity:1;transform:rotate(-7deg)}}@keyframes marquee{to{transform:translateX(-33.333%)}}
@media(min-width:1600px){.hero h1{top:50%}.hero-photo{max-width:620px}.hero-word{top:20%}}@media(max-width:900px){.header-note{display:none}header nav{gap:18px}.hero{height:850px}.hero-photo{width:44%;height:39%;top:26%;right:7%}.hero-word{top:22%;font-size:25vw}.hero h1{top:53%;font-size:6.4vw;left:6%}.purpose-body{gap:6%}.purpose-copy p{font-size:15px}.service-info h3{font-size:4.7vw}.people{min-height:520px}.people-text{padding:55px 10%}footer>div{margin-left:0}}
@media(max-width:620px){header{height:80px;padding:0 6%}.brand{width:82px}header>nav{display:none}.menu-button{display:flex;align-items:center;gap:14px;margin-left:auto;font-size:13px;background:transparent;min-height:44px}.menu-button span{font-size:24px}#mobile-menu:not([hidden]){position:fixed;inset:80px 0 0;background:var(--paper);z-index:15;padding:35px 8%}#mobile-menu nav{display:flex;flex-direction:column}#mobile-menu a{padding:22px 0;border-bottom:1px solid var(--line);font:24px var(--jp)}body.menu-open{overflow:hidden}body.menu-open header{position:fixed;background:var(--paper)}.hero{height:max(750px,100svh);max-height:900px;padding:109px 6% 25px}.hero-index{font-size:10px}.hero-index span{display:none}.hero-photo{top:27%;width:55%;height:32%;right:8%}.hero-word{top:19%;font-size:29vw;left:5%}.hero h1{top:51%;font-size:8.2vw;line-height:1.7;left:6%;letter-spacing:0}.hero h1 span+span{margin-left:2vw}.hero-bottom{bottom:58px;left:6%;right:6%;gap:15px}.hero-bottom p{font-size:12px}.scroll-link{font-size:0;gap:0}.scroll-link span{font-size:20px}.section{padding:65px 7% 75px}.section-label{font-size:11px}.purpose-body,.company-body{grid-template-columns:1fr;gap:35px;padding-top:45px}.purpose h2{font-size:34px}.purpose-copy p{font-size:16px}.service-intro{display:block;padding:42px 0 30px}.service-intro h2{font-size:28px}.service-intro p{margin-top:22px}.service-row,.reverse{grid-template-columns:1fr;gap:25px;padding:25px 0 45px;margin-top:0}.reverse .service-image{order:0}.service-info h3{font-size:42px;margin:20px 0}.service-info p{font-size:14px}.round-arrow{margin-top:20px;width:45px;height:45px}.people{grid-template-columns:1fr}.people-photo{max-height:420px}.people-text{padding:45px 7% 60px}.people h2{font-size:34px;margin:28px 0}.company h2{font-size:32px}.contact{padding:50px 7%}.contact p{font-size:14px}.contact>a{font-size:20vw}.contact>a span{font-size:12vw}footer{padding:38px 7% 80px;gap:20px}footer>div{gap:16px;font-size:12px}.motion-toggle{bottom:10px;left:12px}.marquee{font-size:50px}}
html:has(.motion-paused){scroll-behavior:auto}.hero-photo{top:25%;right:5%;width:30%}.hero-word{font-size:22vw;max-width:72%}.hero h1{left:7%;font-size:5.3vw}.hero h1 span+span{margin-left:5vw}
@media(max-width:900px) and (min-width:621px){.hero-photo{width:35%;top:30%;height:34%}.hero h1{font-size:5.8vw;top:56%}}
@media(max-width:620px){.hero{height:max(800px,100svh)}.hero-word{top:17%;font-size:29vw;max-width:none}.hero-photo{top:35%;right:10%;width:57%;height:27%}.hero h1{top:64%;left:6%;font-size:8.2vw;line-height:1.55}.hero h1 span+span{margin-left:2vw}.hero-bottom{bottom:45px}}
.motion-paused .hero h1 span,.motion-paused .hero-photo{animation:none!important;opacity:1}#mobile-menu{overflow:auto}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.hero-photo img,.hero-word{transform:none!important}}
