:root{--ink:#11241c;--muted:#4f655c;--green:#034a2a;--green-deep:#02351f;--green-soft:#e3eee7;--orange:#b74925;--orange-light:#f6a17c;--brown:#422318;--paper:#f8f7f2;--line:#14251f29;--serif:Georgia, "Times New Roman", "Hiragino Mincho ProN", serif;--sans:Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1160px,100% - 64px);margin:0 auto}.desktop-only{display:inline}.skip-link{z-index:100;background:var(--orange);color:#fff;padding:12px 16px;font-size:12px;font-weight:700;transition:transform .2s;position:fixed;top:0;left:16px;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.hero{background:var(--green);color:#f7f4ec;min-height:760px;position:relative;overflow:hidden}.hero:before{content:"";opacity:.14;background-image:linear-gradient(#fff3 1px,#0000 1px),linear-gradient(90deg,#fff3 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 84%);mask-image:linear-gradient(#000,#0000 84%)}.hero-orbit{pointer-events:none;border:1px solid #fff3;border-radius:50%;position:absolute}.hero-orbit-left{width:700px;height:700px;top:-280px;left:-390px}.hero-orbit-right{width:520px;height:520px;bottom:-260px;right:-220px}.hero-inner{flex-direction:column;min-height:760px;display:flex;position:relative}.site-header{border-bottom:1px solid #ffffff40;justify-content:space-between;align-items:center;padding:24px 0;display:flex}.brand{letter-spacing:.16em;align-items:center;gap:12px;font-size:11px;font-weight:700;line-height:1.15;display:inline-flex}.brand img{object-fit:cover;object-position:center;mix-blend-mode:screen;border-radius:50%;width:58px;height:58px}.desktop-nav{color:#f7f4ecd6;letter-spacing:.05em;align-items:center;gap:26px;font-size:12px;display:flex}.desktop-nav a{transition:color .2s}.desktop-nav a:hover{color:#fff}.nav-cta{color:#fff;border:1px solid #ffffff8c;padding:12px 16px}.hero-copy{max-width:790px;padding:118px 0 100px}.eyebrow,.section-kicker{letter-spacing:.22em;margin:0 0 22px;font-size:11px;font-weight:700}.eyebrow{color:var(--orange-light)}h1,h2,h3,p{margin-top:0}h1,h2{text-wrap:balance;line-break:strict;overflow-wrap:normal;word-break:normal}h1{font-family:var(--serif);letter-spacing:-.055em;margin-bottom:28px;font-size:clamp(56px,8vw,106px);font-weight:400;line-height:.98}h1 em,h2 span,.contact-band em{color:var(--orange);font-style:normal}.hero h1 em,.services-section h2 span,.team-section h2 span,.contact-band em{color:var(--orange-light)}.hero-lead{color:#f7f4ecd6;font-size:16px;line-height:2}.hero-actions{align-items:center;gap:28px;margin-top:40px;display:flex}.button{letter-spacing:.08em;justify-content:space-between;align-items:center;gap:18px;min-width:184px;padding:16px 18px;font-size:12px;font-weight:700;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--orange);color:#fff}.button-light{color:var(--green);background:#f5f1e9}.text-link,.arrow-link{letter-spacing:.08em;font-size:12px;font-weight:700}.text-link{color:#f7f4eccc}.hero-note{color:#f7f4eca6;letter-spacing:.12em;text-transform:uppercase;align-self:flex-end;gap:22px;padding-bottom:34px;font-size:10px;line-height:1.7;display:flex}.hero-note span:first-child{color:var(--orange-light)}.section{padding:128px 0}.problem-section{background:var(--paper)}.two-column,.section-heading-row,.difference-grid,.team-grid,.contact-band-inner{grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:80px;display:grid}.section-kicker{color:var(--orange)}h2{font-family:var(--serif);letter-spacing:-.05em;font-size:clamp(38px,5vw,68px);font-weight:400;line-height:1.05}.section-copy{max-width:450px;color:var(--muted);align-self:end;font-size:15px;line-height:1.95}.arrow-link{border-bottom:1px solid var(--ink);gap:22px;margin-top:22px;padding-bottom:10px;display:inline-flex}.problem-grid{grid-template-columns:repeat(4,1fr);gap:22px;padding-top:74px;display:grid}.problem-item{border-top:1px solid var(--line);min-height:188px;padding:20px 20px 22px 0}.item-number{color:var(--orange);letter-spacing:.1em;font-size:12px}.problem-item h3,.difference-item h3{letter-spacing:-.04em;margin:30px 0 12px;font-size:17px;font-weight:600}.problem-item p,.difference-item p{color:var(--muted);font-size:13px;line-height:1.8}.approach-section{background:#e1ebe4}.section-heading-row{align-items:end}.section-intro{max-width:430px;color:var(--muted);margin:0 0 8px;font-size:15px;line-height:1.9}.step-line{background:#033b2a40;height:1px;margin:78px 0 0}.steps-grid{grid-template-columns:repeat(4,1fr);display:grid}.step-card{border-right:1px solid #033b2a33;min-height:238px;padding:21px 20px 0 0;position:relative}.step-card:last-child{border-right:0;padding-left:20px}.step-card:not(:first-child){padding-left:20px}.step-top{color:var(--orange);justify-content:space-between;align-items:center;margin-bottom:34px;font-size:12px;display:flex}.step-dot{background:var(--green);border-radius:50%;width:9px;height:9px;margin-right:-5px;display:block}.step-name{color:var(--green);font-family:var(--serif);margin-bottom:16px;font-size:28px}.step-card h3{margin-bottom:11px;font-size:15px}.step-card p:last-child{color:var(--muted);font-size:12px;line-height:1.7}.services-section{background:var(--green-deep);color:#f7f4ec}.services-section .section-kicker,.services-section .service-name,.services-section .service-number,.services-section .service-arrow{color:var(--orange-light)}.services-section .section-intro{color:#f7f4ecad}.services-heading{align-items:end}.services-list{border-top:1px solid #ffffff40;margin-top:72px}.service-row{border-bottom:1px solid #ffffff40;grid-template-columns:64px minmax(0,1fr) minmax(220px,.65fr) 42px;align-items:center;gap:26px;padding:34px 0;transition:padding .25s,background .25s;display:grid}.service-row:hover{background:#ffffff0d;padding-left:16px;padding-right:16px}.service-number{color:var(--orange);font-size:12px}.service-name{font-family:var(--serif);margin:0 0 8px;font-size:27px}.service-main h3{margin:0 0 13px;font-size:15px;font-weight:500}.service-main>p:last-child{color:#f7f4ecad;max-width:470px;margin:0;font-size:13px;line-height:1.75}.service-outcome{border-left:1px solid #ffffff3d;flex-direction:column;gap:9px;padding-left:24px;display:flex}.service-outcome span{color:#f7f4ec8c;letter-spacing:.16em;font-size:10px}.service-outcome strong{font-size:12px;font-weight:500;line-height:1.6}.service-arrow{color:var(--orange);font-size:22px}.difference-section{background:#f0eee7}.difference-grid{align-items:start}.side-note{max-width:280px;color:var(--muted);font-size:13px;line-height:1.9}.difference-list{border-top:1px solid var(--line)}.difference-item{border-bottom:1px solid var(--line);grid-template-columns:54px 1fr;gap:18px;padding:25px 0;display:grid}.difference-item h3{margin-top:0}.difference-item p{margin-bottom:0}.use-cases-section{background:var(--paper)}.use-case-cloud{flex-wrap:wrap;gap:12px;max-width:980px;margin:72px auto 58px 0;display:flex}.use-case{border:1px solid var(--line);color:var(--muted);padding:16px 19px;font-size:13px}.use-case.featured{border-color:var(--orange);color:var(--green)}.use-cases-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:22px;display:flex}.use-cases-footer>span{color:var(--orange);letter-spacing:.17em;font-size:10px;font-weight:700}.use-cases-footer .arrow-link{margin-top:0}.team-section{background:var(--brown);color:#f7f4ec}.team-section .section-kicker{color:var(--orange-light)}.team-section .team-lead{color:#f7f4ecc7;max-width:500px;font-size:16px;line-height:1.9}.team-roles{border-top:1px solid #ffffff42;margin:46px 0 32px}.team-roles>div{border-bottom:1px solid #ffffff42;grid-template-columns:130px 1fr;gap:18px;padding:16px 0;display:grid}.team-roles strong{color:var(--orange-light);font-family:var(--serif);font-size:18px;font-weight:400}.team-roles span{color:#f7f4ecb3;font-size:12px;line-height:1.7}.team-section .arrow-link{color:#fff;border-color:#fff9}.contact-band{background:var(--orange);color:#fff;padding:96px 0}.contact-band .section-kicker{color:#ffe5d5}.contact-band h2{margin-bottom:0}.contact-band-inner>div:last-child{align-self:end;max-width:450px}.contact-band-inner p:not(.section-kicker){color:#ffffffe0;margin-bottom:28px;font-size:15px;line-height:1.9}.site-footer{color:#f7f4ec;background:#12221d;padding:66px 0 24px}.footer-top{justify-content:space-between;gap:60px;padding-bottom:72px;display:flex}.footer-brand img{width:52px;height:52px}.footer-top>div:first-child>p{color:#f7f4ec8f;font-family:var(--serif);margin:28px 0 0;font-size:18px}.footer-links{gap:100px;display:flex}.footer-links div{flex-direction:column;gap:13px;min-width:100px;display:flex}.footer-links p{color:var(--orange-light);letter-spacing:.18em;margin-bottom:10px;font-size:10px;font-weight:700}.footer-links a{color:#f7f4ecb8;font-size:12px}.footer-bottom{color:#f7f4ec66;letter-spacing:.05em;border-top:1px solid #ffffff2e;justify-content:space-between;padding-top:22px;font-size:10px;display:flex}.footer-bottom span:last-child{gap:22px;display:flex}@media (max-width:900px){.container{width:min(100% - 40px,680px)}.desktop-nav,.multi-nav{display:none}.mobile-menu{display:block}.hero,.hero-inner{min-height:700px}.hero-copy{padding-top:100px}.two-column,.section-heading-row,.difference-grid,.team-grid,.contact-band-inner{grid-template-columns:1fr;gap:30px}.problem-grid{grid-template-columns:repeat(2,1fr)}.section-intro{margin-bottom:0}.service-row{grid-template-columns:46px 1fr 30px;gap:16px}.service-outcome{border:0;grid-column:2/3;padding:0}.service-arrow{grid-area:1/3}.footer-top{flex-direction:column}}@media (max-width:560px){.container{width:min(100% - 32px,480px)}.desktop-only{display:none}.site-header{padding:18px 0}.brand{gap:8px;font-size:9px}.brand img{width:46px;height:46px}.nav-cta{padding:10px 11px;font-size:10px}.hero,.hero-inner{min-height:630px}.hero-copy{padding:90px 0 70px}h1{font-size:clamp(50px,16vw,76px)}.hero-lead{font-size:14px}.hero-actions{flex-direction:column;align-items:flex-start;gap:20px}.section{padding:84px 0}h2{font-size:43px}.problem-grid{grid-template-columns:1fr;gap:0;padding-top:44px}.problem-item{min-height:auto;padding:22px 0}.step-line{margin-top:50px}.steps-grid{grid-template-columns:1fr 1fr}.step-card,.step-card:not(:first-child),.step-card:last-child{border-bottom:1px solid #033b2a33;min-height:205px;padding:18px 14px 0 0}.step-card:nth-child(2n){border-right:0;padding-left:14px}.step-card:nth-child(3),.step-card:nth-child(4){border-bottom:0}.step-dot{display:none}.step-name{font-size:24px}.services-list{margin-top:45px}.service-row{grid-template-columns:35px 1fr 25px;padding:25px 0}.service-name{font-size:24px}.use-case-cloud{margin-top:44px}.use-cases-footer{flex-direction:column;align-items:flex-start;gap:18px}.team-roles>div{grid-template-columns:92px 1fr;gap:10px}.footer-links{gap:48px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:14px}}.detail-page{background:var(--paper);min-height:100vh}.detail-hero{background:var(--green);color:#f7f4ec;padding:30px 0 110px}.detail-back{color:#f7f4ecb8;letter-spacing:.05em;margin-bottom:92px;font-size:12px;display:inline-block}.detail-hero .section-kicker{color:var(--orange-light)}.detail-hero h1{max-width:1100px;margin-bottom:30px;font-size:clamp(44px,5.6vw,82px)}.detail-hero h1 em{color:var(--orange-light);font-style:normal}.detail-intro{color:#f7f4eccc;max-width:540px;font-size:16px;line-height:1.9}.detail-body{background:var(--paper)}.detail-content-grid,.output-grid,.about-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:100px;display:grid}.detail-audience{max-width:360px;color:var(--muted);font-size:15px;line-height:1.9}.detail-steps{border-top:1px solid var(--line)}.detail-steps>div{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr;gap:20px;padding:20px 0;display:grid}.detail-steps span{color:var(--orange);font-size:12px}.detail-steps p{margin:0;font-size:14px;line-height:1.65}.detail-output{background:#e1ebe4}.output-grid ul{border-top:1px solid #033b2a40;margin:0;padding:0;list-style:none}.output-grid li{border-bottom:1px solid #033b2a40;padding:22px 0;font-size:16px}.output-grid li:before{content:"↗";color:var(--orange);margin-right:20px;display:inline-block}.detail-next{background:var(--orange);color:#fff;padding:90px 0}.detail-next .section-kicker{color:#ffe5d5}.detail-next h2{margin-bottom:0}.detail-next-inner{justify-content:space-between;align-items:end;gap:40px;display:flex}.detail-footer{color:#f7f4ec80;background:#12221d;padding:23px 0;font-size:10px}.detail-footer .container{justify-content:space-between;display:flex}.detail-footer span{gap:20px;display:flex}.simple-page{background:var(--paper);min-height:100vh}.multi-header{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}.multi-header-dark{color:#f7f4ec;background:0 0;border-bottom-color:#ffffff40}.multi-header-inner{justify-content:space-between;align-items:center;min-height:94px;display:flex}.multi-header .brand img{mix-blend-mode:multiply}.multi-header-dark .brand img{mix-blend-mode:screen}.multi-nav{color:var(--muted);letter-spacing:.04em;align-items:center;gap:25px;font-size:12px;display:flex}.multi-header-dark .multi-nav{color:#f7f4ecd1}.multi-nav a{transition:color .2s}.multi-nav a:hover{color:var(--green)}.multi-header-dark .multi-nav a:hover{color:#fff}.multi-nav-cta{border:1px solid var(--green);color:var(--green);padding:12px 16px;font-weight:700}.multi-header-dark .multi-nav-cta{color:#fff;border-color:#ffffff8c}.mobile-menu{display:none;position:relative}.mobile-menu summary{cursor:pointer;color:var(--green);letter-spacing:.14em;align-items:center;gap:10px;font-size:11px;font-weight:700;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span:last-child{color:var(--orange);font-size:18px;line-height:1}.mobile-menu nav{z-index:10;background:var(--paper);min-width:220px;color:var(--ink);flex-direction:column;gap:0;padding:10px;display:flex;position:absolute;top:calc(100% + 18px);right:0;box-shadow:0 14px 30px #11241c29}.mobile-menu nav a{border-bottom:1px solid var(--line);padding:13px 12px;font-size:12px}.mobile-menu nav a:last-child{border-bottom:0}.mobile-menu .mobile-menu-cta{background:var(--orange);color:#fff;margin-top:8px;font-weight:700}.mobile-menu-dark summary{color:#fff}.mobile-menu-dark nav{background:var(--green-deep);color:#fff;box-shadow:0 14px 30px #0000003d}.mobile-menu-dark nav a{border-bottom-color:#ffffff2e}.simple-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:min(1160px,100% - 64px);margin:0 auto;padding:22px 0;display:flex}.simple-header .detail-back{color:var(--muted);margin:0}.simple-header .brand img{mix-blend-mode:multiply}.simple-hero{background:var(--green);color:#f7f4ec;padding:100px 0 120px}.simple-hero .section-kicker{color:var(--orange-light)}.simple-hero h1{max-width:1100px;font-size:clamp(44px,5.6vw,82px)}.simple-hero h1 br,.detail-hero h1 br{display:none}.simple-hero h1 em,.detail-hero h1 em{display:block}.simple-hero h1 em{color:var(--orange-light);font-style:normal}.simple-hero p:last-child{color:#f7f4ecd1;max-width:510px;font-size:16px;line-height:1.9}.services-index{background:var(--paper)}.services-index-list{border-top:1px solid var(--line)}.services-index-row{border-bottom:1px solid var(--line);grid-template-columns:55px minmax(0,1fr) minmax(220px,.55fr) 30px;align-items:center;gap:25px;padding:34px 0;transition:background .2s,padding .2s;display:grid}.services-index-row:hover{background:#f0eee7;padding-left:15px;padding-right:15px}.services-index-row .service-name{color:var(--green);font-family:var(--serif);margin:0 0 8px;font-size:27px}.services-index-row h2{font-family:var(--sans);letter-spacing:-.03em;margin:0 0 12px;font-size:16px;font-weight:600}.services-index-row div>p:last-child{max-width:480px;color:var(--muted);margin:0;font-size:13px;line-height:1.75}.services-index-output{border-left:1px solid var(--line);flex-direction:column;gap:8px;padding-left:22px;display:flex}.services-index-output span{color:var(--orange);letter-spacing:.14em;font-size:10px;font-weight:700}.services-index-output strong{color:var(--ink);font-size:12px;font-weight:600;line-height:1.6}.contact-form-section{background:var(--paper)}.contact-form-grid{grid-template-columns:.8fr 1fr;gap:100px;display:grid}.contact-form-grid>div:first-child>p:last-child{max-width:350px;color:var(--muted);font-size:14px;line-height:1.9}.draft-form{background:#f0eee7;padding:28px}.draft-form label{margin-bottom:18px;font-size:12px;font-weight:700;display:block}.draft-form input,.draft-form textarea{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);font:inherit;border-radius:0;margin-top:8px;padding:13px;font-size:13px;display:block}.draft-form button{color:#fff;width:100%;font:inherit;background:#bdc5c0;border:0;padding:15px;font-size:12px;font-weight:700}.form-note{color:var(--muted);margin:0 0 22px;font-size:12px;line-height:1.7}.consent-label{align-items:flex-start;gap:8px;line-height:1.6;font-weight:400!important;display:flex!important}.consent-label input{width:auto!important;margin:2px 0 0!important}.consent-label a{color:var(--green);text-decoration:underline}.contact-process{border-top:1px solid var(--line);margin-top:42px}.contact-process>div{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr;gap:14px;padding:18px 0;display:grid}.contact-process span{color:var(--orange);font-size:11px}.contact-process strong{font-size:14px}.contact-process p{color:var(--muted);grid-column:2;margin:-6px 0 0;font-size:12px;line-height:1.7}.faq-section{background:var(--paper)}.faq-list{border-top:1px solid var(--line);max-width:820px;margin:0 auto}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:16px;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{color:var(--orange);flex:none;font-size:22px;font-weight:400}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item p{max-width:700px;color:var(--muted);margin:-4px 42px 24px 0;font-size:14px;line-height:1.9}.about-detail{background:#f0eee7}.about-roles{border-top:1px solid var(--line)}.about-roles>div{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;gap:24px;padding:24px 0;display:grid}.about-roles strong{color:var(--green);font-family:var(--serif);font-size:22px;font-weight:400}.about-roles p{color:var(--muted);margin:0;font-size:13px;line-height:1.8}.legal-page{background:var(--paper);min-height:100vh;padding:36px 0}.legal-page .detail-back{color:var(--muted);margin-bottom:100px}.legal-page h1{font-size:clamp(40px,6vw,76px)}.legal-placeholder{max-width:600px;color:var(--muted);font-size:16px;line-height:2}.not-found-page{background:var(--green);color:#f7f4ec;min-height:100vh;padding:28px 0 120px}.not-found-brand{margin-bottom:150px}.not-found-page .section-kicker{color:var(--orange-light)}.not-found-page h1{max-width:760px}.not-found-page h1 em{color:var(--orange-light);font-style:normal}.not-found-page p:not(.section-kicker){color:#f7f4eccc;max-width:440px;margin-bottom:32px;font-size:15px;line-height:1.9}.approach-detail{background:var(--green-soft)}.approach-detail-list{border-top:1px solid #034a2a3d}.approach-detail-list article{border-bottom:1px solid #034a2a3d;grid-template-columns:80px 1fr;gap:28px;padding:34px 0;display:grid}.approach-detail-list article>span,.use-cases-detail-grid article>span{color:var(--orange);letter-spacing:.12em;font-size:12px}.approach-step-name{color:var(--green);font-family:var(--serif);margin-bottom:13px;font-size:29px}.approach-detail-list h2{font-family:var(--sans);letter-spacing:-.03em;margin-bottom:12px;font-size:20px;font-weight:600}.approach-detail-list article p:last-child{max-width:540px;color:var(--muted);margin-bottom:0;font-size:14px;line-height:1.85}.use-cases-detail{background:var(--paper)}.use-cases-detail-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:0 80px;display:grid}.use-cases-detail-grid article{border-bottom:1px solid var(--line);min-height:190px;padding:25px 0}.use-cases-detail-grid h2{font-family:var(--sans);letter-spacing:-.04em;margin:26px 0 12px;font-size:19px;font-weight:600}.use-cases-detail-grid p{max-width:400px;color:var(--muted);margin-bottom:0;font-size:13px;line-height:1.8}@media (max-width:700px){.detail-hero{padding-bottom:82px}.detail-back{margin-bottom:70px}.detail-content-grid,.output-grid,.about-grid,.contact-form-grid{grid-template-columns:1fr;gap:48px}.detail-next-inner{flex-direction:column;align-items:flex-start}.simple-header{width:min(100% - 32px,480px)}.simple-header .detail-back{font-size:10px}.simple-hero{padding:80px 0 88px}.simple-hero h1,.detail-hero h1{font-size:clamp(42px,12vw,64px)}.about-roles>div{grid-template-columns:100px 1fr;gap:12px}.approach-detail-list article{grid-template-columns:45px 1fr;gap:16px}.use-cases-detail-grid{grid-template-columns:1fr}.multi-header-inner{min-height:78px}.services-index-row{grid-template-columns:34px 1fr 25px;gap:15px;padding:25px 0}.services-index-output{border:0;grid-column:2;padding:0}.services-index-row>.service-arrow{grid-area:1/3}}@media (max-width:900px){.desktop-nav,.multi-nav{display:none}.mobile-menu{display:block}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
