@font-face{font-family:NiigakiSans;src:local('Bahnschrift');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fafafa;color:#181818;font-family:NiigakiSans,'Trebuchet MS',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:500;letter-spacing:-.055em;line-height:1.08}h1{font-size:clamp(2.7rem,4.5vw,4.6rem);margin-bottom:28px}h2{font-size:clamp(2rem,3.4vw,3.3rem);margin-bottom:26px}h3{font-size:1.3rem;letter-spacing:-.025em;line-height:1.3}p{color:#5c5c5c}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #202020;outline-offset:5px}a:hover{color:#202020}.wrap{width:min(1220px,calc(100% - 80px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;padding-block:24px;border-bottom:1px solid #dedede;gap:24px}.brand{display:block;width:112px;flex-shrink:0}.brand img{display:block}.header nav{display:flex;align-items:center;gap:34px;font-size:.92rem}.nav-contact{border:1px solid #b4b4b4;padding:10px 18px;border-radius:4px}.menu-toggle{display:none}.skip{position:absolute;top:-100px;left:12px;padding:12px;background:white;z-index:20}.skip:focus{top:12px}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:64px;padding-block:88px 64px}.eyebrow{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:#202020;font-weight:bold;margin-bottom:24px}.hero h1 span{color:#202020}.lead{font-size:1.15rem;max-width:660px;line-height:1.65;margin-bottom:32px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:#202020;color:white;border-radius:4px;padding:15px 20px;font-size:.92rem;line-height:1.4;font-weight:bold}.button:hover{background:#080808;color:white}.text-link{font-size:.92rem;font-weight:bold;color:#202020}.system-map{background:#f0f0f0;border:1px solid #dddddd;border-radius:8px;padding:30px;position:relative;background-image:radial-gradient(#c0c0c0 .7px,transparent .7px);background-size:18px 18px}.map-top{font-size:.72rem;display:flex;gap:8px;align-items:center;color:#484848;margin-bottom:34px}.status-dot{width:7px;height:7px;border-radius:50%;background:#202020}.map-input{background:#fafafa;border:1px solid #c4c4c4;padding:12px;text-align:center;font-size:.65rem;letter-spacing:.12em;max-width:260px;margin:auto}.map-line{height:28px;width:1px;background:#999999;margin:auto}.map-core{background:#202020;color:white;border-radius:4px;padding:28px;max-width:260px;margin:auto;text-align:center;box-shadow:8px 8px 0 #dadada}.map-core strong{display:block;font-size:2rem;line-height:1.15;letter-spacing:-.04em}.map-core small{display:block;margin-top:16px;font-size:.7rem}.cross{font-size:1.7rem;display:block;margin-bottom:8px}.map-branches{display:flex;gap:8px;justify-content:center}.map-branches span{padding:10px;background:#fafafa;border:1px solid #c4c4c4;font-size:.73rem;text-align:center;flex:1}.map-caption{text-align:center;font-size:.75rem;margin:22px 0 0}.principles{display:flex;justify-content:space-between;gap:20px;padding-block:20px;border-block:1px solid #dedede;color:#5c5c5c;font-size:.82rem}.principles span:before{content:'↗';color:#202020;margin-right:10px}.section{padding-block:76px}.section-heading{max-width:700px;margin-bottom:38px}.section-heading p:last-child{max-width:580px}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.problem-grid article{border-top:1px solid #d2d2d2;padding-top:24px}.problem-grid p{margin-bottom:0}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d4d4d4;border-left:1px solid #d4d4d4}.service{padding:30px;display:flex;flex-direction:column;border-right:1px solid #d4d4d4;border-bottom:1px solid #d4d4d4;transition:background .2s}.service:hover{background:#f0f0f0;color:inherit}.number{font-size:.78rem;color:#5c5c5c;display:block;margin-bottom:26px}.service p{font-size:.95rem}.service .text-link{margin-top:auto;padding-top:18px}.demos{background:#f0f0f0}.demo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.demo-label{display:inline-block;font-size:.67rem;color:#5c5c5c;border:1px solid #b6b6b6;border-radius:3px;padding:4px 8px;margin-bottom:16px}.demo-window{background:#fafafa;border:1px solid #d4d4d4;padding:18px;min-height:256px;margin-bottom:26px;border-radius:5px;overflow:hidden}.window-title{font-size:.62rem;letter-spacing:.09em;color:#5c5c5c;border-bottom:1px solid #e1e1e1;padding-bottom:12px;margin-bottom:16px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.mini-grid span{background:#eaeaea;padding:10px;font-size:.65rem}.mini-grid b{font-size:.88rem;font-weight:500}.fake-row{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #e4e4e4;padding:8px 0;font-size:.68rem}.fake-row em{font-style:normal;color:#454545}.bubble{padding:10px;background:#eaeaea;font-size:.76rem;margin-bottom:10px;border-radius:4px}.question{background:#ededed;color:#303030;margin-left:20px}.source{font-size:.6rem;color:#5c5c5c}.wave{text-align:center;color:#202020;font-size:1.6rem;letter-spacing:.08em;margin-bottom:12px}.voice{text-align:center}.voice-step{font-size:.66rem;padding:5px;border:1px solid #d4d4d4;background:white}.voice>span{display:block;font-size:.7rem}.demo p{font-size:.94rem}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.steps article{border-top:1px solid #d4d4d4;padding-top:20px}.steps p{font-size:.94rem}.about-strip{padding:56px;background:#ededed;border-left:3px solid #202020}.about-strip p:not(.eyebrow){max-width:650px}.contact-band{background:#202020;color:white;padding:56px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:80px}.contact-band p{color:white}.contact-band .eyebrow{color:#e6e6e6}.contact-band .button{background:white;color:#080808;flex-shrink:0}.contact-band .button:hover{background:#ededed}.contact-band p:last-child{max-width:480px;margin-bottom:0}.faq{margin-top:32px}.faq details{border-bottom:1px solid #d4d4d4}.faq summary{cursor:pointer;padding:22px 0;font-weight:500}.faq details p{max-width:780px;margin:0 0 24px}.breadcrumbs{font-size:.78rem;color:#5c5c5c;padding-top:26px}.inner-hero{padding-block:64px 60px;max-width:1000px}.inner-hero h1{max-width:850px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid #dedede}.large-copy{font-size:1.2rem}.deliveries{background:#f0f0f0}.deliver-list{margin:0;padding:0;list-style:none}.deliver-list li{padding:18px 0;border-bottom:1px solid #d2d2d2}.deliver-list li:before{content:'↗';color:#202020;margin-right:12px}.note{font-size:.85rem;margin-top:26px}.related{display:flex;flex-wrap:wrap;gap:20px}.related a{padding:15px 20px;border:1px solid #d4d4d4}.contact-panel{background:#f0f0f0;padding:32px}.email{font-size:clamp(1rem,2vw,1.4rem);color:#202020;overflow-wrap:anywhere}.contact-panel h3{margin-top:40px}address{font-style:normal;color:#5c5c5c;font-size:.9rem;line-height:1.8}.contact-panel>p:last-child{font-size:.85rem;margin-top:24px}footer{background:#181818;color:#f7f7f7;padding-top:60px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.1fr;gap:60px;padding-bottom:50px}.footer-brand{font-size:2rem;letter-spacing:-.05em}.footer-brand span{color:#c5c5c5}.footer-grid h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px}.footer-grid a:not(.footer-brand){display:block;font-size:.88rem;margin-bottom:8px}.footer-grid p,.footer-grid address{color:#cccccc;font-size:.85rem}.footer-grid address{margin:18px 0}.footer-grid a:hover{color:#dddddd}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-block:22px;border-top:1px solid #444444;font-size:.72rem;color:#cccccc}
@media(min-width:1500px){.hero{padding-block:110px 80px}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.hero{gap:32px}.services{grid-template-columns:repeat(2,1fr)}.demo-grid{gap:16px}.demo-window{padding:12px}.map-branches{flex-wrap:wrap}.steps{gap:20px}.contact-band{padding:36px}.footer-grid{gap:30px}.split{gap:36px}}@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header{flex-wrap:wrap;padding-block:18px;gap:12px}.brand{width:88px}.header nav{width:100%;flex-wrap:wrap;gap:16px;padding-top:16px}.menu-toggle:not([hidden]){display:block;background:transparent;border:1px solid #b4b4b4;padding:8px 16px;border-radius:4px}.header nav.enhanced{display:none}.header nav.enhanced.open{display:flex;flex-direction:column;align-items:stretch}.hero{grid-template-columns:1fr;padding-block:44px;gap:40px}h1{font-size:2.7rem}.lead{font-size:1.05rem}.hero-actions{gap:20px}.system-map{padding:24px}.principles{flex-direction:column;gap:8px}.section{padding-block:48px}.problem-grid,.demo-grid,.split,.footer-grid{grid-template-columns:1fr;gap:28px}.services{grid-template-columns:1fr}.service{padding:26px}.steps{grid-template-columns:repeat(2,1fr);gap:24px}.about-strip{padding:30px}.contact-band{flex-direction:column;align-items:flex-start;padding:30px;margin-bottom:48px}.contact-band .button{max-width:100%;flex-shrink:1}.inner-hero{padding-block:44px}.inner-hero h1{font-size:2.65rem}.footer-grid{padding-bottom:32px}.footer-bottom{flex-direction:column;gap:8px}.demo-window{min-height:0;padding:20px}.voice{padding-bottom:24px}.split{gap:24px}.email{font-size:1.1rem}.nav-contact{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Editorial direction inspired by SiteFeito; neutral Niigaki identity. */
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin.woff2') format('woff2');font-weight:200 800;font-display:swap}
body{background:#f4f4f2;font-family:Manrope,'Trebuchet MS',sans-serif}h1,h2,h3{font-family:Manrope,'Trebuchet MS',sans-serif;font-weight:500}h1,h2{letter-spacing:-.065em}.wrap{width:min(1280px,calc(100% - 96px))}.header{padding-block:18px}.brand{width:86px}.header nav{font-size:.8rem;gap:30px}.nav-contact{border:0;border-bottom:1px solid #202020;border-radius:0;padding:10px 0;margin-left:12px}.hero{grid-template-columns:1.12fr 1fr;align-items:start;gap:70px;padding-block:76px 70px}.hero h1{font-size:clamp(2.6rem,5.2vw,4.8rem);font-weight:500;line-height:1.1}.hero h1 span{color:#626262}.hero .lead{font-size:.98rem;max-width:450px}.eyebrow{color:#373737;font-size:.65rem;letter-spacing:.13em}.hero>.hero-preview{margin-top:25px}.button{border-radius:0;padding:18px 24px;font-size:.8rem;min-height:54px;gap:30px}.text-link{color:#202020;border-bottom:1px solid currentColor;padding-block:10px;display:inline-block;font-size:.8rem}.principles{font-size:.7rem;padding-block:24px}.section{padding-block:96px}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px;max-width:none;margin-bottom:52px}.section-heading .eyebrow{grid-column:1;grid-row:1;padding-top:8px}.section-heading h2{grid-column:2;margin:0}.section-heading>p:not(.eyebrow){grid-column:2;margin:0;max-width:600px}.section h2{font-size:clamp(2rem,3.8vw,3.7rem)}.solutions-dark{background:#181818;color:#f4f4f2}.solutions-dark .eyebrow{color:#cccccc}.services{display:block;border:0}.service{display:grid;grid-template-columns:40px 1.25fr 1fr 150px;gap:28px;align-items:center;border:0;border-top:1px solid #454545;padding:32px 0}.service:last-child{border-bottom:1px solid #454545}.service h3{font-size:clamp(1.5rem,2.5vw,2.4rem);margin:0}.service p{color:#bdbdbd;font-size:.85rem;margin:0}.service .number{color:#bdbdbd;margin:0}.service .text-link{color:#ededed;margin:0;padding:10px 0;font-size:.7rem}.service:hover{background:#242424;color:white}.hero-preview{min-width:0}.preview-browser{border:1px solid #d2d2d2;border-radius:6px;overflow:hidden;background:#fafafa;box-shadow:0 24px 60px -15px #00000024}.preview-bar{display:flex;justify-content:space-between;gap:10px;padding:11px 14px;background:#e4e4e4;color:#656565;font-size:.48rem;letter-spacing:.05em}.preview-content{padding:22px}.preview-nav{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #dedede;padding-bottom:14px;margin-bottom:22px;font-size:.65rem}.preview-nav strong{font-size:.9rem}.preview-content .eyebrow{font-size:.5rem;margin-bottom:10px}.preview-content h2{font-size:1.5rem;line-height:1.2;letter-spacing:-.045em;margin-bottom:18px}.preview-content h2 span{color:#626262}.preview-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.preview-chips span{border:1px solid #d4d4d4;padding:4px 7px;font-size:.53rem;background:#f0f0f0}.preview-panels{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preview-panels>div{padding:14px;background:#eeeeec}.preview-panels small{font-size:.45rem;letter-spacing:.07em;display:block;margin-bottom:12px}.preview-panels h3{font-size:.87rem;margin-bottom:8px}.preview-panels p{font-size:.65rem;margin:0}.preview-panels .preview-black{background:#202020;color:white}.preview-black p{color:#cccccc}.preview-caption{display:flex;justify-content:space-between;gap:12px;font-size:.5rem;letter-spacing:.1em;margin-top:14px;color:#626262}.demos{background:#dddddb}.demo-window{border-radius:0;background:#f7f7f5}.demo-label{border-radius:0}.demo h3{font-size:1.45rem}.steps .number{font-size:2.7rem;font-weight:400;letter-spacing:-.06em;margin-bottom:30px}.steps p{font-size:.85rem}.about-strip{background:#e5e5e3;border:0;padding:64px}.contact-band{background:#181818;padding:64px;margin-bottom:0;width:100%;flex-direction:column;align-items:flex-start;gap:26px}.contact-band>div,.contact-band>.button{margin-left:max(48px,calc((100% - 1280px)/2))}.contact-band h2{font-size:clamp(2.7rem,6vw,5.6rem)}.contact-band h2 br{display:none}.contact-band p:last-child{max-width:580px}.contact-band .button{background:#f4f4f2;color:#181818}.footer-grid{padding-block:15px 45px}.inner-hero h1{font-size:clamp(2.6rem,5.6vw,5rem)}.deliveries{background:#dddddb}.related a{border-radius:0;font-size:.9rem}footer{background:#181818;border-top:1px solid #444444}.faq summary{font-size:.9rem}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:36px}.service{grid-template-columns:26px 1.15fr 1fr;gap:20px}.service .text-link{grid-column:3}.contact-band{width:100%}.contact-band>div,.contact-band>.button{margin-left:0}.section-heading{gap:28px}.preview-content{padding:16px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.brand{width:76px}.header nav{gap:16px}.nav-contact{margin-left:0}.hero{grid-template-columns:1fr;gap:38px;padding-block:48px}.hero h1{font-size:clamp(2.55rem,8vw,3.6rem)}.hero>.hero-preview{margin-top:0}.hero .lead{font-size:.93rem}.section{padding-block:60px}.section-heading{display:block;margin-bottom:36px}.section-heading .eyebrow{margin-bottom:20px;padding:0}.section-heading h2{margin-bottom:20px}.section-heading>p:not(.eyebrow){margin-top:20px}.service{grid-template-columns:25px 1fr;padding-block:26px;gap:16px}.service h3{font-size:1.55rem}.service p,.service .text-link{grid-column:2}.service .text-link{justify-self:start}.preview-content h2{font-size:1.32rem}.preview-panels>div{padding:12px}.preview-panels h3{font-size:.78rem}.about-strip{padding:32px}.contact-band{width:100%;padding:52px 20px;margin-bottom:0}.contact-band h2{font-size:2.8rem}.contact-band p:last-child{font-size:.92rem}.contact-band>.button{max-width:100%}.inner-hero h1{font-size:2.7rem}.footer-grid{padding-top:0}.steps .number{font-size:2.4rem}.preview-caption{font-size:.46rem}.principles{font-size:.66rem}}

