.custom-cursor{position:fixed;width:120px;height:120px;border-radius:50%;color:#000;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;pointer-events:none;z-index:9999;opacity:0;transform:translate(-50%,-50%) scale(.5);transition:opacity .3s ease,transform .3s ease;letter-spacing:.05em;background:#ffffff4d;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.055);box-shadow:0 8px 32px #00000017}.custom-cursor.active{transform:translate(-50%,-50%) scale(1);opacity:1}body.dark-mode .custom-cursor{background:#ffffff27;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #00000036}.image--case1,.image--case1 *,.image--case2,.image--case2 *,.image--case3,.image--case3 *{cursor:none!important}@media (hover: none) and (pointer: coarse){.custom-cursor{display:none}}.custom-tooltip{position:fixed;background:var(--text-dark);color:#fff;padding:8px 14px;border-radius:12px;font-size:14px;font-weight:500;pointer-events:none;z-index:10000;opacity:0;transform:translateY(5px);transition:opacity .2s ease,transform .2s ease;white-space:nowrap;max-width:300px;box-shadow:0 4px 20px #0003}.dark-mode .custom-tooltip{background:var(--text-light);color:var(--text-dark)}.reveal-curtain{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:var(--primary);z-index:99999;pointer-events:none;animation:slideUpCurtain 1s cubic-bezier(.76,0,.24,1) forwards;animation-delay:.2s;transform-origin:top}.page-content{width:100%;position:relative;z-index:1}@keyframes slideUpCurtain{0%{height:100vh}to{height:0vh}}.chat-widget-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;font-family:inherit;display:flex;flex-direction:column;align-items:flex-end}.chat-launcher{background:transparent;color:var(--text-dark);border:none;padding:0;width:50px;height:50px;border-radius:50%;cursor:pointer;box-shadow:0 4px 20px #00000026;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.25,1,.5,1);opacity:1;transform:translateY(0)}.chat-launcher img{width:100%;height:100%;object-fit:cover;border-radius:50%}.chat-launcher:hover{transform:translateY(-2px);box-shadow:0 6px 25px #0003}.chat-window{width:320px;height:400px;max-height:80vh;background:#fff;border-radius:12px;box-shadow:0 5px 40px #0000001f;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(0,0,0,.06);position:absolute;bottom:60px;right:0;opacity:0;transform:translateY(20px) scale(.95);pointer-events:none;visibility:hidden;transition:opacity .3s cubic-bezier(.25,1,.5,1),transform .3s cubic-bezier(.25,1,.5,1),visibility 0s linear .3s}.chat-window.active{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;visibility:visible;transition:opacity .3s cubic-bezier(.25,1,.5,1),transform .3s cubic-bezier(.25,1,.5,1),visibility 0s linear 0s}.chat-header{padding:1rem 1.25rem;background:#fff;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between}.chat-header-info{display:flex;align-items:center;gap:12px}.avatar-container{position:relative;width:40px;height:40px}.avatar-container img{width:100%;height:100%;border-radius:50%;object-fit:cover}.status-indicator{position:absolute;bottom:0;right:0;width:13px;height:13px;background:#22c55e;border:2px solid #fff;border-radius:50%}.header-text h3{margin:0;font-size:1rem;font-weight:700;color:#111;line-height:1.2}.status-text{font-size:.75rem;color:#666;display:flex;align-items:center;gap:4px}.close-btn{background:transparent;border:none;cursor:pointer;color:#666;padding:8px;border-radius:50%;transition:background .2s;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#f5f5f5;color:#111}.chat-content{flex:1;background:#fff;overflow-y:auto;padding:.8rem;display:flex;flex-direction:column;gap:1.5rem}.system-message{display:flex;flex-direction:column;gap:8px;margin-bottom:.5rem}.sm-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden}.sm-avatar img{width:100%;height:100%;object-fit:cover}.sm-name{font-size:.8rem;font-weight:500;color:#333}.chat-messages{display:flex;flex-direction:column;gap:.75rem}.message-row{display:flex;width:100%}.message-row.bot{justify-content:flex-start}.message-row.user{justify-content:flex-end}.message-bubble{max-width:85%;padding:12px 18px;font-size:.95rem;line-height:1.5;border-radius:18px;position:relative;word-wrap:break-word;white-space:pre-wrap}.message-row.bot .message-bubble{background:#f3f4f6;color:#1f2937;border-top-left-radius:4px}.message-row.user .message-bubble{background-color:var(--primary);color:var(--text-dark);border-bottom-right-radius:4px}.chat-input-area{padding:1rem;background:#fff;border-top:1px solid #f0f0f0;display:flex;gap:8px;position:relative;align-items:center;flex-wrap:wrap}.chat-input-area input{flex:1;border:1px solid #e5e7eb;padding:12px 16px;border-radius:12px;font-size:.95rem;outline:none;transition:border-color .2s;color:#111}.chat-input-area input:focus{border:2px solid var(--primary)}.send-btn{background:var(--text-dark);color:var(--text-light);border:none;width:40px;height:40px;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.send-btn:not(:disabled):hover{background:#000}.send-btn:disabled{opacity:.5;cursor:not-allowed}.char-count{width:100%;text-align:right;font-size:.7rem;color:#9ca3af;margin-top:4px}.typing-indicator-row{margin-top:4px}.typing{display:flex;align-items:center;gap:4px;padding:12px 16px!important;width:fit-content}.dot{width:6px;height:6px;background:#9ca3af;border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@media (max-width: 480px){.chat-window{width:100vw;height:100%;max-height:100%;border-radius:0;position:fixed;top:0;left:0;bottom:0;right:0}.chat-widget-container{bottom:0;right:0;z-index:10000}}.suggested-questions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:10px}.suggestion-chip{background:#f0f0f0;border:1px solid #e0e0e0;border-radius:16px;padding:8px 14px;font-size:.85rem;color:var(--text-dark);cursor:pointer;transition:all .2s ease;white-space:nowrap;-webkit-user-select:none;user-select:none;font-weight:500}.suggestion-chip:hover{background:var(--primary);color:var(--text-dark);border-color:var(--primary);transform:translateY(-1px)}body.dark-mode .suggestion-chip{background:#2a2a2a;border-color:#444;color:#e5e5e5}body.dark-mode .suggestion-chip:hover{background:var(--primary);color:var(--text-dark)}body.dark-mode .chat-window{background:#1a1a1a;border-color:#333}body.dark-mode .chat-header{background:#1a1a1a;border-bottom-color:#333}body.dark-mode .chat-header h3{color:#fff}body.dark-mode .status-text{color:#aaa}body.dark-mode .close-btn{color:#ccc}body.dark-mode .close-btn:hover{background:#333;color:#fff}body.dark-mode .chat-content{background:#1a1a1a}body.dark-mode .sm-name{color:#fff}body.dark-mode .message-row.bot .message-bubble{background:#2a2a2a;color:#e5e5e5}body.dark-mode .message-row.user .message-bubble{color:#000}body.dark-mode .chat-input-area{background:#1a1a1a;border-top-color:#333}body.dark-mode .chat-input-area input{background:#2a2a2a;border-color:#444;color:#fff}body.dark-mode .chat-input-area input:focus{border-color:var(--primary)}body.dark-mode .send-btn{background:#fff;color:#000}body.dark-mode .send-btn:not(:disabled):hover{background:#ccc}.chat-attachment-link{display:flex;align-items:center;gap:8px;margin-top:2px;background:#0000000d;padding:8px 12px;border-radius:8px;color:inherit;text-decoration:none;font-weight:500;font-size:.9rem;transition:background .2s;width:fit-content}.chat-attachment-link:hover{background:#0000001a}.message-row.user .chat-attachment-link{background:#fff3;color:#fff}.message-row.user .chat-attachment-link:hover{background:#ffffff4d}body.dark-mode .chat-attachment-link{background:#ffffff1a}body.dark-mode .chat-attachment-link:hover{background:#ffffff26}.contact-links-stack{display:flex;flex-direction:column;gap:8px;margin-top:10px;width:100%}:root{--primary: #ffa500;--secondary: #211deb;--text-dark: #37342e;--text-light: #fffce1;--text-sub: #7b7676;--light-bg: #ffffff;--dark-bg: #000000;--muted: #eeeeee;--shadow: #c9c9c9;--gradient: linear-gradient(90deg, var(--primary) 0%, var(--secondary) 100%);--gradient-45: linear-gradient(120deg, #211deb, #ffaa01, #fa2ac9)}@font-face{font-family:PPMori;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/PPMori-Extralight.woff2) format("woff2"),url(/fonts/PPMori-Extralight.woff) format("woff")}@font-face{font-family:PPMori;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/PPMori-Regular.woff2) format("woff2"),url(/fonts/PPMori-Regular.woff) format("woff")}@font-face{font-family:PPMori;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/PPMori-Regular.woff2) format("woff2"),url(/fonts/PPMori-Regular.woff) format("woff")}@font-face{font-family:PPMori;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/PPMori-SemiBold.woff2) format("woff2"),url(/fonts/PPMori-SemiBold.woff) format("woff")}@font-face{font-family:PPMori;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/PPMori-SemiBold.woff2) format("woff2"),url(/fonts/PPMori-SemiBold.woff) format("woff")}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:PPMori,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:16px;line-height:1.5;color:var(--text-dark);background-color:var(--light-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}body.dark-mode{background-color:var(--dark-bg);color:var(--text-light)}html,body{cursor:url(/img/arrow.svg) 12 0,auto}p,input,textarea,label,span,blockquote,code,pre,strong,em,b,i,li,h5,h6{cursor:url(/img/text-cursor.svg) 11 11,text!important}h3,h4,.intro-text{cursor:url(/img/text-cursor-med.svg) 16 16,text!important}h1,h2,.dispense-title,.title__text,.hero-word-a,.hero-word-place,.hero-rest-text{cursor:url(/img/text-cursor-large.svg) 32 32,text!important}a,button,[role=button],input[type=submit],input[type=button],input[type=checkbox],input[type=radio],select,label[for],.menuIcon,.btn,.clickable,.nav-item,.resource-card{cursor:url(/img/hand-pointer.svg) 12 0,pointer!important}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;border:none;background:none;cursor:pointer}img,video{max-width:100%;height:auto;display:block}ul,ol{list-style:none}input,textarea,select{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:var(--primary);color:var(--dark-bg)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#e69500}.dark-mode ::-webkit-scrollbar-thumb{background:var(--primary)}.dark-mode ::-webkit-scrollbar-thumb:hover{background:#e69500}.intro-text{font-weight:400}.gradient-text{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-small{background:linear-gradient(120deg,#ffaa01,#fa2ac9,#fa2ac9,#ffaa01);background-size:300%;font-weight:400!important;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:moveGradient 4s ease infinite}@keyframes moveGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fade-in-scroll,.js-letter{opacity:1!important;transform:none!important}.top-blur{position:fixed;top:0!important;width:100%!important;left:0;margin:0!important;padding:0!important;height:15px!important;background:linear-gradient(to bottom,#32323253,#fff0);backdrop-filter:blur(30px) saturate(200%);-webkit-backdrop-filter:blur(30px) saturate(200%);z-index:9999999999999!important;opacity:1;pointer-events:none;mask-image:linear-gradient(to bottom,#000,#0000);-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,1),rgba(0,0,0,0))}.bottom-blur{position:fixed;bottom:0!important;width:100%!important;left:0;height:15px!important;margin:0!important;padding:0!important;background:linear-gradient(to top,#32323253,#fff0);backdrop-filter:blur(30px) saturate(200%);-webkit-backdrop-filter:blur(30px) saturate(200%);z-index:9999999999999!important;opacity:1;pointer-events:none;mask-image:linear-gradient(to top,#000,#0000);-webkit-mask-image:linear-gradient(to top,rgba(0,0,0,1),rgba(0,0,0,0))}.custom-tooltip{position:fixed;background:var(--text-dark);color:#fff;padding:8px 14px;border-radius:12px;font-size:14px;font-weight:500;pointer-events:none;z-index:10000;opacity:0;transform:translateY(5px);transition:opacity .2s ease,transform .2s ease;white-space:nowrap;max-width:300px;box-shadow:0 4px 20px #0003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--text-dark)}.custom-tooltip.show{opacity:1;transform:translateY(0)}body.dark-mode .custom-tooltip{background:#fffffff2;color:var(--text-dark);border:1px solid rgba(0,0,0,.1)}.scroll-progress-container{position:fixed;top:0;left:0;width:100%;height:5px;z-index:999999999999}.scroll-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,#ffaa01);transition:width .1s ease;border-radius:0 2px 2px 0}.btn{display:inline-block;font-size:1.1rem;color:var(--light-bg);background:linear-gradient(135deg,#ffaa01,#ff8c01);font-weight:600;border:none;cursor:pointer;border-radius:50px;padding:10px 28px;transition:all .3s ease;letter-spacing:.1em;white-space:nowrap;position:relative;text-decoration:none;z-index:1;overflow:hidden}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px #ffaa0166}body.dark-mode .btn{background:linear-gradient(135deg,#ffaa01,#ff8c01);color:var(--dark-bg)}.btn-wrap{margin-top:1.2rem;display:flex;gap:20px;flex-wrap:wrap}.btn-wrap.js-letter{margin-top:2.2rem}.fab-button{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:#ffffff4d;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.055);box-shadow:0 8px 32px #00000017;border-radius:50%;color:var(--text-dark);text-decoration:none;font-size:18px;transition:all .3s ease;cursor:pointer}.fab-button:hover{background:var(--text-light);transform:translateY(-2px) rotate(15deg);box-shadow:0 4px 15px #00000026}body.dark-mode .fab-button{color:var(--text-light);background:#6464644d;border:1px solid rgba(255,255,255,.219)}.margin-top-small{margin-top:60px}.margin-bottom-smallest{margin-bottom:35px}.margin-bottom-small{margin-bottom:50px}.margin-bottom-medium{margin-bottom:60px!important}.margin-bottom-large{margin-bottom:120px}.padding-top-small{padding-top:60px}.padding-bottom-small{padding-bottom:50px}.padding-bottom-medium{padding-bottom:80px}.padding-bottom-large{padding-bottom:120px}.full-height{height:100vh;width:auto}.half-height{height:50vh;width:auto}.full-width{width:100vw;height:auto}.half-width{width:50vw;height:auto}.container-column-stays{flex-direction:column;column-gap:20px;columns:2;justify-content:flex-start}.column-two{display:flex;flex-direction:row;gap:40px;columns:2;width:100%;margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-2150px)}}@media screen and (max-width: 1080px){html,body,.main,main{padding:0;overflow-x:hidden;margin:0;width:100%;max-width:100%}}@media screen and (max-width: 768px){body{font-size:14px}html,body,.main,main{padding:0;overflow-x:hidden;margin:0;width:100%;max-width:100%}a,button,[role=button]{min-height:44px;min-width:44px}.work-info{margin-top:10px}}@media screen and (max-width: 480px){html,body{padding:0;overflow-x:hidden}.main,.section-case-study,.dispense-layout,.dispense-container{margin-right:0;margin-left:0;width:100%;max-width:100%;padding:0 20px}body{font-size:16px}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}p,.intro-text{line-height:1.5;font-size:1rem}.margin-top-small{margin-top:40px}.margin-bottom-large{margin-bottom:60px}.padding-bottom-large{padding-bottom:60px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
