main{overflow:hidden}.skip-link{z-index:20;color:#fff;background:#1e2831;padding:10px 14px;font-size:13px;transition:transform .2s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:5;justify-content:space-between;align-items:center;max-width:1400px;height:92px;margin:auto;padding:0 50px;display:flex;position:relative}.logo{letter-spacing:.08em;align-items:center;gap:8px;font:600 20px/1 DM Sans,sans-serif;display:inline-flex}.logo-mark{color:#fff;letter-spacing:0;background:#ef795f;border-radius:50% 50% 50% 5px;place-items:center;width:24px;height:24px;font:600 16px/1 Playfair Display,serif;display:grid}.nav-links{gap:36px;margin-left:130px;font-size:13px;font-weight:500;display:flex}.locale-switch{color:#70787b;cursor:pointer;letter-spacing:.08em;background:0 0;border:0;margin-left:auto;margin-right:36px;padding:6px 0;font:500 10px/1 DM Mono,monospace}.locale-switch .active{color:#1e2831}.site-header a:focus-visible,.site-header button:focus-visible,.button:focus-visible,.text-link:focus-visible,.contact-button:focus-visible,footer a:focus-visible{outline-offset:4px;outline:2px solid #ef795f}.nav-links a,.header-cta,.text-link{transition:opacity .2s}.nav-links a:hover,.header-cta:hover,.text-link:hover{opacity:.55}.header-cta{align-items:center;gap:12px;font-size:12px;font-weight:600;display:flex}.header-cta svg,.text-link svg{width:16px;height:16px}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px}.menu-button{color:inherit;background:0 0;border:0;display:none}.menu-button svg{width:24px}.hero{grid-template-columns:1.08fr .92fr;align-items:center;max-width:1400px;min-height:min(742px,100vh - 92px);margin:auto;padding:80px 50px 84px;display:grid;position:relative}.eyebrow,.section-number{letter-spacing:.12em;color:#677078;font:500 10px/1.4 DM Mono,monospace}.eyebrow{align-items:center;gap:10px;margin:0 0 28px;display:flex}.eyebrow span{background:#ef795f;width:21px;height:1px;display:block}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.055em;font-weight:500}h1{margin-bottom:28px;font-size:clamp(52px,6vw,88px);line-height:1.13}h1 em,h2 em{font-family:Playfair Display,serif;font-weight:500}.hero-description{color:#59636a;margin-bottom:34px;font-size:14px;line-height:2}.button{align-items:center;gap:32px;padding:16px 20px;font-size:12px;font-weight:600;transition:transform .25s,background .25s;display:inline-flex}.button svg{width:18px}.button:hover{transform:translateY(-3px)}.button-dark{color:#fff;background:#1e2831}.hero-art{background:#dfece8;justify-self:end;width:100%;max-width:480px;height:470px;position:relative;overflow:hidden}.sun{aspect-ratio:1;background:#f5c950;border-radius:50%;width:166px;position:absolute;top:70px;right:63px}.arch{border-radius:205px 205px 0 0;width:400px;height:384px;position:absolute;bottom:0}.arch-back{background:#5b8993;left:-111px}.arch-front{background:#ef795f;left:78px}.arch-front:after{content:"";background:#f8f7f2;border-radius:60px 60px 0 0;width:105px;height:178px;position:absolute;bottom:0;left:148px}.flower{z-index:2;width:115px;height:115px;position:absolute}.flower i{transform-origin:25px 55px;background:#f5c950;border-radius:50% 50% 5px;width:50px;height:50px;position:absolute;top:2px;left:33px}.flower i:nth-child(2){transform:rotate(90deg)}.flower i:nth-child(3){transform:rotate(180deg)}.flower i:nth-child(4){transform:rotate(270deg)}.flower b{background:#1e2831;border-radius:50%;width:30px;height:30px;position:absolute;top:42px;left:43px}.flower-one{bottom:61px;left:20px;transform:scale(.68)rotate(-16deg)}.flower-two{bottom:14px;right:17px;transform:scale(.92)rotate(23deg)}.art-label{color:#f8f7f2;z-index:3;font:italic 26px/1.05 Playfair Display,serif;position:absolute;bottom:31px;left:32px}.art-number{font:10px DM Mono,monospace;position:absolute;top:20px;right:18px}.scroll-note{color:#737b80;letter-spacing:.1em;align-items:center;gap:10px;font:10px DM Mono,monospace;display:flex;position:absolute;bottom:27px;left:50px}.scroll-note span{background:#a7aca9;width:37px;height:1px}.section{max-width:1400px;margin:auto;padding-left:50px;padding-right:50px}.intro{background:#f0eee5;max-width:none;padding-top:120px;padding-bottom:130px}.intro>*,.intro-content{max-width:1300px;margin-left:auto;margin-right:auto}.intro-content{grid-template-columns:1.08fr .92fr;padding-top:70px;display:grid}.intro-lead{letter-spacing:-.05em;font-size:clamp(33px,3.4vw,50px);line-height:1.35}.intro-content div p{color:#59636a;max-width:470px;margin:5px 0 26px;font-size:14px;line-height:2.1}.text-link{border-bottom:1px solid #1e2831;align-items:center;gap:16px;padding-bottom:7px;font-size:12px;font-weight:600;display:inline-flex}.work{padding-top:130px;padding-bottom:140px}.section-heading{justify-content:space-between;align-items:flex-start;display:flex}.section-heading h2,.contact h2{margin:-12px 6% 76px 0;font-size:clamp(42px,5vw,70px);line-height:1.2}.service-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.service-card{aspect-ratio:1/.93;flex-direction:column;padding:25px;transition:transform .3s;display:flex;position:relative;overflow:hidden}.service-card:hover{transform:translateY(-6px)}.service-card:focus-visible{outline-offset:4px;outline:3px solid #1e2831}.service-card span{font:10px DM Mono,monospace}.service-card svg{stroke-width:1px;width:90px;height:90px;position:absolute;top:17px;right:21px}.service-card h3{letter-spacing:-.06em;margin:auto 0 12px;font:500 clamp(28px,3vw,43px)/1 DM Sans,sans-serif}.service-card p{margin:0;font-size:12px}.salmon{background:#ef795f}.blue{background:#9cc4ce}.yellow{background:#f5c950}.green{background:#a8cdbd}.circle-icon{border:1px solid #1e2831;border-radius:50%;width:118px;height:118px;position:absolute;top:25px;right:25px}.circle-icon:after{content:"";border:1px solid #1e2831;border-radius:50%;width:51px;height:51px;position:absolute;top:32px;left:32px}.line-icon{background:#1e2831;width:115px;height:1px;position:absolute;top:78px;right:30px;transform:rotate(-35deg)}.line-icon:after{content:"";border:1px solid #1e2831;border-radius:50%;width:54px;height:54px;position:absolute;top:-27px;right:-4px}.journal{padding-bottom:140px}.journal-top{justify-content:space-between;align-items:flex-start;margin-bottom:48px;display:flex}.journal-grid{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.journal-image{aspect-ratio:1.22;place-items:center;margin-bottom:17px;transition:transform .3s;display:grid;overflow:hidden}.journal-card:hover .journal-image{transform:scale(.98)}.journal-image span{text-align:center;font:italic 31px/1 Playfair Display,serif}.image-a{background:#cadcd6}.image-a span{border:1px solid #778d87;padding:28px 47px;transform:rotate(-8deg)}.image-b{background:#e7ac85}.image-b span{color:#f7f3e8;font-size:26px;transform:rotate(-8deg)}.image-c{background:#d7d5cc}.image-c span{font-size:27px;transform:rotate(-14deg)}.journal-card p{color:#70787b;letter-spacing:.06em;margin-bottom:9px;font:10px DM Mono,monospace}.journal-card h3{font-size:16px;font-weight:500;line-height:1.7}.faq{grid-template-columns:1fr 1fr;gap:10%;padding-top:0;padding-bottom:130px;display:grid}.faq-heading h2{white-space:pre-line;letter-spacing:-.055em;margin:38px 0 0;font-size:clamp(34px,4vw,56px);font-weight:500;line-height:1.25}.faq-accordion{border-top:1px solid #bbc0bd}.faq-accordion>div{border-bottom:1px solid #bbc0bd}.faq-accordion button{color:#1e2831;text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:22px 0;font:500 15px/1.5 Noto Sans JP,sans-serif}.faq-accordion [role=region]{color:#59636a;padding:0 0 22px;font-size:13px;line-height:1.9}.contact{color:#f8f7f2;background:#263640;justify-content:space-between;align-items:flex-end;max-width:none;padding-top:103px;padding-bottom:98px;display:flex}.contact>*{max-width:1300px}.contact .section-number{color:#bfc5c5}.contact h2{margin:43px 0 0}.contact-button{color:#1e2831;background:#ef795f;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:15px;width:210px;height:210px;margin:0 max(0px,50vw - 650px) 2px 40px;font:11px DM Mono,monospace;transition:transform .25s;display:flex}.contact-button:hover{transform:rotate(6deg)scale(1.04)}.contact-button svg{width:24px}footer{color:#e6e5dd;background:#1e2831;border-top:1px solid #56626a;align-items:center;gap:26px;min-height:93px;padding:0 50px;display:flex}footer .logo{font-size:16px}footer .logo-mark{transform:scale(.78)}footer p{color:#aeb7b8;letter-spacing:.07em;margin:0 0 0 auto;font:9px DM Mono,monospace}footer p+p{margin-left:35px}.reveal{animation:.7s cubic-bezier(.2,.65,.35,1) both enter}.reveal-delay{animation-delay:.12s}@keyframes enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=1050px) and (width>=761px){.service-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.site-header{height:72px;padding:0 20px}.nav-links{display:none}.nav-links.is-open{background:#f8f7f2;flex-direction:column;gap:18px;padding:20px;display:flex;position:absolute;top:62px;left:20px;right:20px;box-shadow:0 10px 25px #1e28311a}.locale-switch{margin-left:auto;margin-right:14px}.header-cta{display:none}.menu-button{display:block}.hero{min-height:auto;padding:58px 20px 76px;display:block}.hero-art{height:350px;margin-top:56px}.sun{width:124px;top:50px;right:35px}.arch{width:310px;height:290px}.arch-back{left:-95px}.arch-front{left:43px}.arch-front:after{width:83px;height:135px;left:113px}.scroll-note{bottom:27px;left:20px}.desktop-only{display:none}.section{padding-left:20px;padding-right:20px}.intro{padding-top:78px;padding-bottom:82px}.intro-content{padding-top:45px;display:block}.intro-lead{margin-bottom:42px}.work{padding-top:82px;padding-bottom:84px}.section-heading{display:block}.section-heading h2{margin:38px 0 45px}.service-grid,.journal-grid{grid-template-columns:1fr;gap:14px}.service-card{aspect-ratio:1.15}.journal{padding-bottom:84px}.faq{padding-top:0;padding-bottom:84px;display:block}.faq-heading h2{margin:34px 0 38px;font-size:36px}.journal-top{margin-bottom:32px}.journal-grid{gap:31px}.contact{padding:76px 20px 65px;display:block}.contact h2{margin:38px 0 44px}.contact-button{width:170px;height:170px;margin:0}footer{grid-template-columns:1fr 1fr;gap:15px;min-height:0;padding:26px 20px;display:grid}footer p{margin:0;font-size:8px}footer p+p{text-align:right;margin-left:0}}
