@font-face{font-family:Inter;src:url('assets/Inter-Regular.ttf')}@font-face{font-family:Inter;src:url('assets/Inter-Medium.ttf');font-weight:500 900}
:root{--ink:#080808;--muted:#74777e;--green:#00b932;--button:#b2f38d;--line:#e7e8eb;--ease:cubic-bezier(.22,.8,.25,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}button,a,input,textarea,select{outline-offset:6px}button{cursor:pointer}img{display:block;max-width:100%}button{border:0;background:none}p{line-height:1.55}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(42px,5.7vw,78px);line-height:1.06}h2{font-size:clamp(30px,3.5vw,46px);line-height:1.15}h3{font-size:clamp(21px,2vw,28px);line-height:1.2}.header{height:112px;padding:36px 6.55%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:20}.brand{display:block;width:33px}.brand img{width:100%;height:auto}.header nav{display:flex;gap:38px;font-size:15px;font-weight:500}.header nav a{padding:10px 0}.header nav a:hover{color:var(--green)}.wrap{max-width:1500px;width:calc(100% - 112px);margin:auto}.section{padding:110px 0 80px}.section-head{max-width:1100px;margin-bottom:64px}.section-head p{font-size:20px;color:var(--muted);margin-top:18px;max-width:1040px}.hero{position:relative;min-height:660px;height:min(760px,calc(100svh - 100px));display:grid;place-items:center;isolation:isolate;overflow:hidden}.hero-film{width:min(100%,1380px);height:100%;object-fit:contain;position:absolute;inset:0;margin:auto;z-index:2}.hero-fallback{text-align:center;padding:30px 24px 95px;max-width:1060px}.hero-fallback h1{font-size:clamp(48px,6vw,82px);line-height:1.15}.hero-fallback h1 span{color:var(--green)}.hero-fallback p{max-width:760px;margin:42px auto 0;font-size:20px;color:var(--muted)}.hero-mobile{display:none}.section-label{font-size:20px;font-weight:500;letter-spacing:-.02em}.accordion{display:flex;gap:18px;min-height:570px;width:100%}.panel{position:relative;flex:1;min-width:0;height:600px;border-radius:17px;overflow:hidden;background:#f7f8f9;border:1px solid var(--line);transition:flex .8s var(--ease);isolation:isolate;cursor:pointer}.panel.active{flex:3.4}.panel-visual{height:100%;overflow:hidden;position:relative;transition:height .7s var(--ease);background:#fafafa}.panel.active .panel-visual{height:calc(100% - 150px)}.panel-visual img{height:100%;width:100%;object-fit:cover;transition:transform 1s var(--ease)}.panel:hover .panel-visual img{transform:scale(1.025)}.panel-caption{position:absolute;bottom:0;left:0;width:100%;padding:24px 27px;background:#fff;opacity:0;transform:translateY(18px);transition:opacity .35s .05s,transform .6s var(--ease);pointer-events:none;min-height:149px;display:flex;align-items:center;justify-content:space-between;gap:24px}.panel.active .panel-caption{opacity:1;transform:none;pointer-events:auto;transition-delay:.2s}.panel-caption p{font-size:16px;color:var(--muted);margin-top:8px;max-width:760px}.panel-arrow{font-size:30px;padding:8px;flex:none;font-weight:400}.panel-hit{position:absolute;inset:0;width:100%;height:100%;z-index:1;border-radius:17px}.panel-hit:focus-visible{outline:2px solid var(--green);outline-offset:-4px}.panel-caption button,.panel-caption a{position:relative;z-index:3}.product-strip{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#ddd transparent;padding-bottom:15px}.product-strip .accordion{min-width:1100px}.product-strip .panel{flex:.7;height:580px}.product-strip .panel.active{flex:3.1}.product-strip .panel.active .panel-visual{height:calc(100% - 142px)}.product-strip .panel-caption{min-height:142px}.product-strip .panel-caption p{max-width:450px}.business-strip .panel{height:660px}.business-strip .panel.active .panel-visual{height:calc(100% - 180px)}.business-strip .panel-caption{min-height:180px}.business-strip .panel-caption p{font-size:16px}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:17px;padding:10px 0}.text-link span{font-size:25px;transition:transform .3s}.text-link:hover span{transform:translateX(5px)}.green-button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:14px 24px;border-radius:8px;background:var(--button);font-size:15px;font-weight:500;border:1px solid transparent;transition:background .25s,transform .25s}.green-button:hover{background:#9eea73;transform:translateY(-2px)}.story{padding:160px 0 110px;position:relative}.story h2{font-size:clamp(40px,5.6vw,76px);line-height:1.09;margin:56px 0 42px;max-width:1060px}.story h2 em{color:var(--green);font-style:normal}.story-grid{position:relative;display:grid;grid-template-columns:minmax(0,2.2fr) minmax(220px,1fr);gap:55px}.story-copy>p:first-child{font-size:clamp(23px,2.3vw,31px);line-height:1.48;letter-spacing:-.035em}.story-word{font-size:inherit;line-height:inherit;letter-spacing:inherit;font-weight:700;padding:0;display:inline;background:none;border:0;cursor:none}.story-word:hover,.story-word:focus-visible,.story-word.selected{color:var(--green)}.story-copy>p+p{font-size:22px;color:var(--muted);margin-top:36px}.story-visual{position:relative;height:350px;align-self:center}.story-visual img{position:absolute;width:100%;height:100%;object-fit:contain;opacity:0;transform:translateY(14px) rotate(2deg);transition:opacity .35s,transform .6s var(--ease);border-radius:16px}.story-visual img.active{opacity:1;transform:none}.story-cta{margin-top:68px}.story-cta h3{font-size:32px}.feather-cursor{position:fixed;pointer-events:none;z-index:1000;width:42px;height:42px;opacity:0;transform:translate(-8px,-30px);transition:opacity .2s;filter:drop-shadow(0 0 2px #67ff3b55)}.feather-cursor img{width:100%;height:100%;object-fit:contain;animation:flameShimmer 1.5s ease-in-out infinite}.story.cursor-on,.story.cursor-on *{cursor:none}.contact{padding:150px 0 160px;position:relative}.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;margin-top:58px}.contact-copy h2{font-size:clamp(40px,5.6vw,74px);max-width:610px}.contact-copy>p{font-size:23px;color:#5e6269;margin:44px 0 65px;max-width:580px}.location{font-size:17px;color:var(--muted)}.enquiry-form{display:grid;gap:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:30px}label{display:grid;gap:14px;font-size:16px}input,select,textarea{width:100%;border:0;border-bottom:1px solid #d4d6db;background:#fff;border-radius:0;padding:14px 10px 18px;color:var(--ink);font-size:17px}input::placeholder,textarea::placeholder{color:#999ca4}select:invalid{color:#999ca4}textarea{min-height:160px;resize:vertical;border:1px solid #dedfe3;border-radius:4px}.form-bottom p{font-size:14px;color:var(--muted);margin-top:18px}.form-result{font-size:15px;line-height:1.5;color:#287139}.contact-feather{position:absolute;width:300px;height:170px;left:5%;bottom:30px;pointer-events:none}.subpage{padding:55px 0 120px}.subpage .section-head{margin-bottom:66px}.subpage .section-head h1{max-width:1100px}.subpage .section-head p{font-size:23px;line-height:1.55;margin-top:28px}.subpage .accordion .panel{height:690px}.subpage .panel.active{flex:2.6}.subpage .panel.active .panel-visual{height:calc(100% - 155px)}.subpage .panel-caption{min-height:155px}.subpage .panel-caption p{font-size:16px}.subpage .panel.contain .panel-visual img{object-fit:contain;padding:25px;background:#fff}.cta-block{margin-top:110px;max-width:1060px}.cta-block h2{font-size:40px}.cta-block p{font-size:21px;color:var(--muted);margin:22px 0}.cta-actions{display:flex;align-items:center;gap:30px}.availability{display:block;color:var(--muted);font-size:12px;margin-top:12px}.robot-pair{display:flex;align-items:center;justify-content:center;height:100%;background:#fff;padding:25px}.robot-pair img{width:57%;height:auto;max-height:100%;object-fit:contain!important;padding:0!important}.robot-pair img+img{width:43%}.detail-dialog{width:min(1120px,calc(100% - 48px));max-height:92svh;border:1px solid var(--line);border-radius:18px;padding:70px 60px 55px;color:var(--ink);background:#fff;overscroll-behavior:contain}.detail-dialog::backdrop{background:#0005;backdrop-filter:blur(8px)}.close-dialog{position:absolute;right:25px;top:20px;display:flex;gap:20px;align-items:center;font-size:14px}.close-dialog span{font-size:28px}.detail-dialog h2{font-size:44px;margin-bottom:20px}.detail-dialog .intro-copy{font-size:21px;color:var(--muted);max-width:850px;margin-bottom:35px}.detail-dialog .gallery{display:grid;gap:24px}.detail-dialog .gallery img{width:100%;max-height:75svh;object-fit:contain;background:#fafafa;border-radius:12px}.detail-dialog .gallery figcaption{font-size:14px;color:var(--muted);margin:12px 0 24px}.detail-dialog figure{margin:0}.detail-dialog .enquiry-form{margin-top:30px}.detail-dialog .demo-label{font-size:13px;color:var(--muted);margin-bottom:15px}.preview-note{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:14px 22px;background:#fff;border:1px solid #ddd;border-radius:9px;box-shadow:0 10px 40px #0001;font-size:14px;z-index:200;opacity:0;pointer-events:none;transition:opacity .3s}.preview-note.show{opacity:1}.opening{position:fixed;inset:0;background:#fff;z-index:500;display:grid;place-items:center;transition:opacity .65s}.opening video{width:100%;height:100%;object-fit:contain}.opening.out{opacity:0;pointer-events:none}.opening[hidden]{display:none}#skipIntro{position:absolute;right:5%;bottom:34px;color:#777;font-size:13px;padding:10px;display:flex;gap:14px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.visible{opacity:1;transform:none}.hero-enter{animation:rise .9s var(--ease) both}.page-reveal{animation:rise .65s var(--ease) both}@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes flameShimmer{0%,100%{filter:brightness(1)}50%{filter:brightness(1.25)}}
.hero-fallback h1 .article{color:var(--ink)}
@media(min-width:1700px){.wrap{max-width:1600px}.panel{height:700px}.hero{height:800px}}
@media(max-width:1000px){.wrap{width:calc(100% - 60px)}.header{padding:30px}.header nav{gap:25px}.section{padding:75px 0 50px}.hero{min-height:550px;height:600px}.business-strip .panel{height:540px}.panel-caption{padding:22px}.business-strip .panel.active .panel-visual{height:calc(100% - 210px)}.business-strip .panel-caption{min-height:210px}.story-grid{grid-template-columns:1fr .65fr;gap:20px}.contact-grid{gap:45px}.contact-copy>p{font-size:20px}.subpage .accordion .panel{height:600px}.subpage .panel.active .panel-visual{height:calc(100% - 190px)}.subpage .panel-caption{min-height:190px}.story{padding-top:110px}}
@media(max-width:700px){.header{height:88px;padding:24px}.brand{width:27px}.header nav{gap:20px;font-size:12px}.wrap{width:calc(100% - 40px)}.hero{height:650px;min-height:0}.hero-film{display:none}.hero.has-film .hero-fallback{opacity:1}.hero-fallback{padding:0 24px 70px}.hero-fallback h1{font-size:46px;letter-spacing:-.055em}.hero-fallback p{font-size:17px;line-height:1.6;margin-top:30px}.section-head{margin-bottom:34px}.section-head p{font-size:17px}.section{padding:65px 0 35px}.accordion{gap:10px;min-height:0}.panel{border-radius:12px}.product-strip .accordion{min-width:1080px}.product-strip .panel{height:500px}.product-strip .panel.active{flex:2.5}.product-strip .panel-caption{padding:20px;min-height:150px}.product-strip .panel.active .panel-visual{height:calc(100% - 150px)}.panel-caption h3{font-size:23px}.panel-caption p{font-size:14px!important}.business-strip .accordion,.subpage .accordion{flex-direction:column;gap:16px}.business-strip .panel,.subpage .accordion .panel{flex:none!important;height:200px;transition:height .7s var(--ease)}.business-strip .panel.active,.subpage .accordion .panel.active{height:530px}.business-strip .panel .panel-visual,.subpage .panel .panel-visual{height:100%}.business-strip .panel.active .panel-visual{height:calc(100% - 200px)}.business-strip .panel-caption{min-height:200px}.business-strip .panel-visual img{object-position:center 40%}.panel-caption{padding:22px}.subpage .panel.active .panel-visual{height:calc(100% - 180px)}.subpage .panel-caption{min-height:180px}.story{padding:100px 0 50px}.story h2{font-size:43px;margin:35px 0}.story-grid{display:block}.story-copy>p:first-child{font-size:24px}.story-copy>p+p{font-size:18px}.story-visual{height:250px;max-width:380px;margin:25px auto 0}.story-cta{margin-top:30px}.story-cta h3{font-size:27px}.contact{padding:100px 0}.contact-grid{grid-template-columns:1fr;gap:50px;margin-top:35px}.contact-copy h2{font-size:45px}.contact-copy>p{font-size:19px;margin:25px 0}.contact-feather{bottom:0;left:0;width:230px}.form-row{gap:20px}.enquiry-form{gap:27px}input,select,textarea{font-size:16px}.subpage{padding:40px 0 80px}.subpage .section-head p{font-size:19px}.subpage .section-head{margin-bottom:40px}.subpage h1{font-size:43px}.cta-block{margin-top:70px}.cta-block h2{font-size:32px}.cta-block p{font-size:18px}.cta-actions{gap:20px;flex-wrap:wrap}.detail-dialog{width:calc(100% - 24px);padding:65px 23px 35px;border-radius:12px}.detail-dialog h2{font-size:32px}.detail-dialog .intro-copy{font-size:18px}.feather-cursor{display:none}.story-word{cursor:pointer}.opening video{object-fit:contain}.robot-pair{padding:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.feather-cursor,.contact-feather{display:none}.hero-film{display:none}.hero.has-film .hero-fallback{opacity:1}}

/* Live typography avoids transparent-video decoding differences across browsers. */
.word-slot{display:inline-block;vertical-align:baseline;text-align:center;transition:width .55s var(--ease)}
#livePhrase{display:inline-block;white-space:nowrap;will-change:transform,opacity}
.hero-fallback h1 .article{color:var(--ink)}
.hero-ready .hero-fallback h1{animation:rise .9s var(--ease) both}
.hero-ready .hero-fallback p{animation:rise 1s .15s var(--ease) both}
.header-ready nav{animation:rise .65s var(--ease) both}
.opening video{background:#fff;opacity:0;transition:opacity .2s}
.opening.playing video{opacity:1}
@media(max-width:700px){.hero-fallback{width:100%;padding-left:16px;padding-right:16px}.hero-fallback h1{font-size:clamp(28px,6.6vw,46px)}}
