/*! Generated by tools/build-route-css.cjs; edit the source stylesheets, not this file. */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}:root{--ink:#081512;--paper:#f7f8f2;--white:#fff;--green:#20d66b;--green-dark:#009b4e;--lime:#caff4a;--mint:#dffbe9;--blue:#1749d2;--muted:#61716c;--line:#08151224;--radius:28px;--wrap:1320px;--ease:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,Helvetica Neue,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-weight:600;line-height:1.8;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.wrap{width:min(var(--wrap), calc(100% - 80px));margin-inline:auto}.skip-link{z-index:200;color:#fff;background:var(--ink);border-radius:10px;padding:12px 18px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.site-header{z-index:100;height:94px;color:var(--ink);transition:height .4s var(--ease), transform .45s var(--ease), background .4s, box-shadow .4s;position:fixed;inset:0 0 auto}.site-header.is-compact{backdrop-filter:blur(18px);height:76px;box-shadow:0 1px 0 var(--line);background:#f7f8f2e6}.site-header.is-hidden{transform:translateY(-110%)}.header-wrap{justify-content:space-between;align-items:center;gap:36px;width:min(1500px,100% - 48px);height:100%;margin:auto;display:flex}.brand{z-index:102;align-items:center;gap:12px;text-decoration:none;display:flex;position:relative}.brand-mark{background:var(--ink);width:42px;height:42px;color:var(--lime);letter-spacing:-.08em;border-radius:12px;place-items:center;font-size:17px;font-weight:950;display:grid;transform:rotate(-5deg)}.brand-copy{flex-direction:column;line-height:1.05;display:flex}.brand-copy strong{letter-spacing:-.03em;font-size:17px;font-weight:900}.brand-copy small{letter-spacing:.2em;color:var(--muted);margin-top:5px;font-size:9px}.nav{align-items:center;gap:34px;display:flex}.nav a{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:850;line-height:1;text-decoration:none;position:relative}.nav a:after{content:"";background:var(--green-dark);height:2px;transition:right .35s var(--ease);position:absolute;bottom:-10px;left:0;right:100%}.nav a:hover:after,.page-index .nav [data-page=index]:after,.page-service .nav [data-page=service]:after,.page-project .nav [data-page=project]:after,.page-company .nav [data-page=company]:after,.page-activity .nav [data-page=activity]:after,.page-contact .nav [data-page=contact]:after,.page-privacy .nav [data-page=privacy]:after{right:0}.nav .nav-cta{color:#fff;background:var(--ink);border-radius:999px;padding:15px 20px}.nav .nav-cta:after{display:none}.menu-toggle{z-index:102;background:var(--ink);border:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:52px;height:52px;display:none;position:relative}.menu-toggle span{background:var(--lime);width:22px;height:2px;transition:.35s var(--ease);border-radius:3px;display:block}.menu-toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.eyebrow{color:var(--green-dark);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 20px;font-size:11px;font-weight:900;display:inline-flex}.eyebrow:before{content:"";background:var(--green);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 6px #20d66b21}.display{letter-spacing:-.075em;margin:0;font-size:clamp(52px,7.2vw,112px);font-weight:900;line-height:.93}.display .outline{color:#0000;-webkit-text-stroke:1.5px var(--ink)}.section{padding:140px 0;position:relative}.section-head{grid-template-columns:.8fr 1.2fr;align-items:end;gap:60px;margin-bottom:70px;display:grid}.section-head h2{letter-spacing:-.055em;margin:0;font-size:clamp(38px,5vw,72px);font-weight:900;line-height:1.02}.section-head .lead{max-width:620px;color:var(--muted);margin:0 0 5px auto;font-size:17px;line-height:2}.btn{border:1px solid var(--ink);background:var(--ink);color:#fff;letter-spacing:.05em;min-height:62px;translate:var(--mag-x,0px) var(--mag-y,0px);transition:translate .45s var(--ease), box-shadow .4s, background .3s, color .3s;border-radius:999px;justify-content:center;align-items:center;gap:24px;padding:0 30px;font-size:13px;font-weight:850;text-decoration:none;display:inline-flex}.btn:after{content:"↗";font-size:17px}.btn:hover{box-shadow:0 16px 34px #0815122e}.btn.light{color:var(--ink);background:#fff;border-color:#fff}.btn.ghost{color:var(--ink);background:0 0}.text-link{border-bottom:1px solid var(--ink);align-items:center;gap:18px;padding-bottom:5px;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex}.text-link:after{content:"→";transition:transform .3s}.text-link:hover:after{transform:translate(6px)}.tag{border:1px solid var(--line);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:7px 11px;font-size:10px;display:inline-flex}