@font-face{font-family:Inter;src:url('assets/Inter-Variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Kanit;src:url('assets/Kanit-ExtraLight.ttf') format('truetype');font-style:normal;font-weight:200;font-display:swap}
@font-face{font-family:Kanit;src:url('assets/Kanit-Light.ttf') format('truetype');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Kanit;src:url('assets/Kanit-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Kanit;src:url('assets/Kanit-Medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
:root{--pink:#ff63ef;--blue:#00b2ff;--purple:#5c3a8a;--ink:#111;--muted:#6b6c68;--gradient:linear-gradient(100deg,var(--pink),#a580ff 45%,var(--blue));--ease:cubic-bezier(.22,1,.36,1);--page-width:1920px;--gutter:8.1%;font-family:Kanit,Arial,sans-serif;color:var(--ink);font-synthesis:none;background:white;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;border:0;cursor:pointer}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--purple);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}img{display:block;max-width:100%}button{background:none}::selection{background:#edd7ff;color:#4b2372}.screen{min-height:100vh;min-height:100svh;position:relative;display:flex;align-items:center}.container{width:calc(100% - var(--gutter)*2);max-width:1608px;margin-inline:auto}.gradient-text{background:var(--gradient);background-clip:text;-webkit-background-clip:text;color:transparent}h2{font-size:clamp(42px,4.53vw,78px);line-height:1.168}p{font-weight:200;line-height:1.26}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:12px 22px;background:white;color:var(--purple);transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:20;inset:clamp(20px,2.2vw,36px) 4.3% auto;display:flex;justify-content:space-between;align-items:center;max-width:1756px;margin-inline:auto}.header-brand{width:clamp(56px,5vw,88px);aspect-ratio:1}.header-brand img{width:auto;height:100%;object-fit:contain}.menu-toggle{color:var(--purple);font-size:clamp(20px,1.56vw,28px);padding:12px 0 12px 24px;min-width:72px;min-height:44px}.menu-toggle::after{content:'';display:block;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.menu-toggle:hover::after{transform:scaleX(1)}
.site-menu{position:fixed;inset:0 0 0 auto;margin:0;border:0;height:100dvh;max-height:none;width:clamp(280px,25vw,420px);max-width:100%;padding:40px 32px;color:var(--purple);background:white;overflow:auto}.site-menu[open]{display:flex;flex-direction:column;animation:menu-in .5s var(--ease)}.site-menu::backdrop{background:rgba(40,18,66,.1);backdrop-filter:blur(3px)}.menu-close{align-self:flex-end;display:flex;align-items:center;gap:16px;font-size:20px;min-height:44px}.menu-close span{font:300 34px Arial}.menu-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:auto;margin-bottom:36px}.menu-links a,.menu-links button{font-size:clamp(27px,2.3vw,38px);text-align:left;padding:4px 0;transition:transform .3s,color .3s}.menu-links a:hover,.menu-links button:hover{transform:translateX(7px);color:#bd6bc9}.menu-signature{font-size:14px;font-weight:200}.menu-open{overflow:hidden}@keyframes menu-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
/* Static original fractal texture; only the color layer below it moves. */
.color-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none;isolation:isolate;background:#e1b6ff}.color-field{position:absolute;inset:-20%;background:radial-gradient(ellipse at 20% 30%,#00c8ff 0,transparent 48%),radial-gradient(ellipse at 86% 30%,#5784ff 0,transparent 50%),radial-gradient(ellipse at 67% 78%,#ff61ed 0,transparent 45%),linear-gradient(180deg,#b8f5ff 5%,#168dff 38%,#a17af6 58%,#fa86ee 83%,#ffdbf5);filter:blur(24px);animation:color-drift 18s ease-in-out infinite alternate;will-change:transform}.glass-texture{position:absolute;inset:0;background-image:url('assets/hero-imgRectangle1.png');background-repeat:repeat-x;background-size:6.1% 100%;mix-blend-mode:soft-light;opacity:.65}.glass-texture::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.21) 0,rgba(255,255,255,.06) 1px,transparent 2px,transparent calc(6.1% - 1px),rgba(255,255,255,.2) 6.1%)}.light-veil{position:absolute;inset:0;background:linear-gradient(180deg,white 0%,rgba(255,255,255,.9) 1%,rgba(255,255,255,.4) 13%,transparent 34%,transparent 70%,rgba(255,255,255,.2) 88%,rgba(255,255,255,.75) 100%)}@keyframes color-drift{0%{transform:translate3d(-3%,-3%,0) scale(1.02) rotate(-4deg)}45%{transform:translate3d(5%,2%,0) scale(1.12) rotate(4deg)}100%{transform:translate3d(-4%,6%,0) scale(1.06) rotate(-2deg)}}
.hero{justify-content:center;flex-direction:column;isolation:isolate;color:white;min-height:max(740px,100svh)}.hero-content{position:relative;text-align:center;width:94%;max-width:1770px;margin-inline:auto;transform:translateY(-2vh)}.hero h1{font-size:clamp(58px,6.09vw,108px);line-height:1.168;letter-spacing:-.018em}.hero h1 span{white-space:nowrap}.hero-content>p{font-size:clamp(20px,1.875vw,31px);margin:clamp(18px,2vw,32px) auto clamp(30px,3vw,46px);line-height:1.3;font-weight:200}.partners{position:absolute;width:min(81%,1380px);bottom:5%;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:clamp(14px,1.34vw,24px)}.partner-row{display:flex;justify-content:space-between;align-items:center;gap:1.4%}.partner-row:nth-child(2){padding-inline:5.5%;transform:translateX(3%)}.partner-row img{width:18.5%;height:auto;object-fit:contain}.partner-row:nth-child(2) img{width:20.7%}
.contact-button{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:space-between;gap:16px;width:clamp(440px,43.75vw,720px);height:clamp(46px,3.5vw,62px);padding:2px 3px 2px clamp(20px,2vw,34px);border:1px solid rgba(255,255,255,.93);border-radius:100px;color:white;text-align:left;transition:box-shadow .4s,background-color .4s;vertical-align:middle}
.button-label{position:relative;z-index:2;font-size:clamp(20px,1.875vw,30px);font-weight:300;white-space:nowrap}
.button-track{position:relative;isolation:isolate;flex:none;width:34%;height:100%;border-radius:100px;background:linear-gradient(90deg,#ff63ef 12%,#e967f7 25%,#00b2ff 70%,#e7fcff);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);overflow:hidden}
.button-arrow{position:absolute;z-index:2;left:10%;top:50%;transform:translate3d(0,-50%,0);width:calc(80% - 28px);height:65%;display:flex;align-items:center;transition:transform .9s cubic-bezier(.4,0,.2,1)}
.button-arrow img{width:22px;height:22px;flex-shrink:0;margin-left:3px}
.contact-button:hover .button-arrow,.contact-button:focus-visible .button-arrow{transform:translate3d(100%,-50%,0)}
.contact-button:hover,.contact-button:focus-visible{box-shadow:inset 0 0 24px rgba(255,255,255,.16);background:rgba(255,255,255,.07)}
/* Sparkles belong to the gradient capsule and are clipped by its rounded edge. */
.button-sparkles{position:absolute;pointer-events:none;inset:0;z-index:1;border-radius:inherit;overflow:hidden;mask-image:linear-gradient(90deg,#000 0%,#000 18%,#000d 32%,#0008 44%,#0003 50%,transparent 56%)}
.button-sparkles i{position:absolute;width:3px;height:3px;border-radius:50%;background:white;box-shadow:0 0 3px 1px #fff8,0 0 7px 2px #e9b6ff80;opacity:0;transform:scale(0);transition:opacity .3s;--sx:2px;--sy:-2px}
/* Dense at the pink entrance; increasingly sparse and faint toward the midpoint. */
.button-sparkles i:nth-child(1){left:5%;top:47%;--sd:-.2s}
.button-sparkles i:nth-child(2){left:7%;top:28%;width:2px;height:2px;--sd:-1.1s}
.button-sparkles i:nth-child(3){left:8%;top:69%;--sd:-.65s;--sy:2px}
.button-sparkles i:nth-child(4){left:10%;top:39%;--sd:-1.45s}
.button-sparkles i:nth-child(5){left:11%;top:79%;width:2px;height:2px;--sd:-.4s}
.button-sparkles i:nth-child(6){left:12%;top:18%;width:2px;height:2px;--sd:-.95s;--sy:2px}
.button-sparkles i:nth-child(7){left:13%;top:56%;--sd:-1.6s}
.button-sparkles i:nth-child(8){left:15%;top:33%;width:2px;height:2px;--sd:-.75s}
.button-sparkles i:nth-child(9){left:16%;top:73%;--sd:-1.25s;--sy:2px}
.button-sparkles i:nth-child(10){left:18%;top:46%;--sd:-.1s}
.button-sparkles i:nth-child(11){left:19%;top:20%;width:2px;height:2px;--sd:-1.35s}
.button-sparkles i:nth-child(12){left:20%;top:64%;width:2px;height:2px;--sd:-.55s}
.button-sparkles i:nth-child(13){left:24%;top:35%;--sd:-1.7s;--sy:2px}
.button-sparkles i:nth-child(14){left:28%;top:77%;width:2px;height:2px;--sd:-.85s}
.button-sparkles i:nth-child(15){left:32%;top:51%;--sd:-.3s}
.button-sparkles i:nth-child(16){left:36%;top:23%;width:2px;height:2px;--sd:-1.15s}
.button-sparkles i:nth-child(17){left:40%;top:68%;width:2px;height:2px;--sd:-.7s}
.button-sparkles i:nth-child(18){left:44%;top:39%;width:2px;height:2px;--sd:-1.5s}
.button-sparkles i:nth-child(19){left:47%;top:73%;width:2px;height:2px;--sd:-.5s}
.button-sparkles i:nth-child(20){left:50%;top:27%;width:2px;height:2px;--sd:-1s}
.contact-button:is(:hover,:focus-visible) .button-sparkles i{animation:sparkle 1.8s var(--sd,0s) ease-in-out infinite}
@keyframes sparkle{0%,100%{opacity:0;transform:translate(0,0) scale(.2)}35%,65%{opacity:.9;transform:translate(var(--sx),var(--sy)) scale(1)}}
.about-inner{padding-block:clamp(70px,9vh,120px)}.eyebrow{font-size:clamp(20px,1.875vw,32px);margin-bottom:12px}.about h2{margin-bottom:clamp(20px,2vw,32px)}.about-description{max-width:1500px;font-size:clamp(24px,2.18vw,36px);line-height:1.23;color:var(--muted)}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #aaa;margin-top:clamp(65px,11vh,130px);padding-block:9px}.values-grid article{padding:4px 28px 6px;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(26px,3.4vw,58px)}.values-grid article:first-child{padding-left:0}.values-grid article:last-child{padding-right:0}.values-grid article+article{border-left:1px solid #aaa}.values-grid h3{font-size:clamp(19px,1.56vw,27px);line-height:1.16}.values-grid p{font-size:clamp(16px,1.25vw,22px);color:var(--muted);max-width:90%;line-height:1.2}
.solutions-inner{padding-block:clamp(70px,8vh,100px)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:5%;margin-bottom:clamp(32px,3.28vw,56px)}.section-heading>p{font-size:clamp(18px,1.56vw,27px);color:var(--muted);width:49%;text-align:right;line-height:1.2}.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.48vw,28px);align-items:end;min-height:clamp(500px,39.06vw,670px)}.service-card{border-radius:10px;background:linear-gradient(206deg,#fff 0%,#fce9ff 46%,#edb4fb 100%);color:#111;position:relative;overflow:hidden;transition:background .5s,box-shadow .5s}.service-card::before{content:'';position:absolute;inset:0;background:linear-gradient(48deg,#d215ff 5%,#b78aff 45%,#00b2ff 100%);opacity:0;transition:opacity .55s;pointer-events:none}.service-card.is-open::before{opacity:1}.service-card.is-open{color:#fff}.card-toggle{position:relative;z-index:1;display:block;width:100%;text-align:left;padding:clamp(20px,1.8vw,34px) clamp(20px,2vw,35px) 0}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(28px,2.6vw,46px)}.card-icon{width:40px;height:40px;position:relative;display:block}.card-icon img{position:absolute;inset:0;transition:opacity .4s,transform .5s}.icon-closed{transform:rotate(90deg)}.icon-open{opacity:0;transform:rotate(-90deg)}.is-open .icon-closed{opacity:0;transform:rotate(180deg)}.is-open .icon-open{opacity:1;transform:rotate(0)}.card-number{font-size:clamp(26px,2.34vw,39px);background:linear-gradient(var(--blue),var(--pink));background-clip:text;color:transparent}.is-open .card-number{background:none;color:white}.card-title{display:block;font-size:clamp(28px,2.34vw,40px);line-height:1.16;transition:font-size .5s;max-width:95%}.card-break{display:none}.is-open .card-title{font-size:clamp(36px,3.125vw,52px)}.is-open .card-break{display:block}.card-summary{display:block;font-size:clamp(18px,1.56vw,26px);font-weight:200;line-height:1.2;padding-block:18px 30px;max-width:95%}.is-open .card-summary{display:none}.card-expansion{position:relative;z-index:1;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .65s var(--ease),opacity .4s}.card-expansion>div{overflow:hidden}.card-expansion p{padding:clamp(20px,1.8vw,30px) clamp(20px,2vw,35px) clamp(28px,2.5vw,40px);font-size:clamp(18px,1.56vw,26px);line-height:1.2}.is-open .card-expansion{grid-template-rows:1fr;opacity:1}.card-toggle:focus-visible{outline-offset:-7px;outline-color:var(--purple);border-radius:10px}.is-open .card-toggle:focus-visible{outline-color:white}
/* Native scroll, a 100svh stage, and three content states. */
.orbit-section{position:relative;height:300vh;height:300svh}.orbit-viewport{position:sticky;top:0;height:100vh;height:100svh;min-height:650px;overflow:hidden;perspective:1000px;isolation:isolate}.orbit-arc{position:absolute;width:min(127.42vw,2446px);aspect-ratio:1;top:40.14%;left:50%;transform:translateX(-50%);z-index:-1}.orbit-arc img{width:100%;height:auto}.orbit-line{position:absolute;width:1px;height:28.25%;top:25.95%;left:50%;background:linear-gradient(var(--pink),var(--blue));opacity:.7}.orbit-marker{position:absolute;width:clamp(25px,2.5vw,44px);height:clamp(33px,3.2vw,58px);left:50%;top:40.14%;background:var(--pink);translate:-50% -50%;transform:rotate(0deg);will-change:transform;z-index:3}.orbit-slides{position:absolute;inset:0}.orbit-slide{position:absolute;inset:0;pointer-events:none}.orbit-slide h2,.orbit-slide p{position:absolute;left:50%;text-align:center;backface-visibility:hidden;will-change:transform,opacity}.orbit-slide h2{top:10.6%;width:80%;max-width:700px;font-size:clamp(42px,3.9vw,66px);line-height:1.17;transform:translateX(-50%)}.orbit-slide p{top:54.9%;width:33%;max-width:640px;font-size:clamp(27px,2.34vw,40px);line-height:1.18;transform:translateX(-50%);font-weight:200}.orbit-slide:not(.is-current){opacity:0}.orbit-controls{position:absolute;bottom:3.5%;left:50%;transform:translateX(-50%);display:flex;gap:6px}.orbit-controls button{width:36px;height:36px;position:relative}.orbit-controls button::after{content:'';position:absolute;width:6px;height:6px;border-radius:50%;background:#c6b7ce;left:15px;top:15px;transition:transform .3s,background .3s}.orbit-controls .is-active::after{background:var(--purple);transform:scale(1.6)}
.interlude{justify-content:center;text-align:center;padding:60px var(--gutter)}.interlude h2{font-size:clamp(64px,7.5vw,136px);line-height:1.15}
.process-inner{padding-block:clamp(70px,8vh,100px)}.process-heading{text-align:center;max-width:1400px;margin-inline:auto}.process-heading h2{font-size:clamp(32px,2.97vw,52px)}.process-heading p{font-size:clamp(18px,1.56vw,27px);margin-top:20px;line-height:1.2}.process-diagram{position:relative;width:100%;aspect-ratio:1075/310;margin-top:16px}.process-diagram>*{position:absolute}.diagram-start{width:3.35%;aspect-ratio:1;left:0;top:0}.diagram-start img:first-child{width:100%;height:100%}.diagram-start img:last-child{position:absolute;width:33.33%;height:33.33%;left:33.33%;top:33.33%}.diagram-initial-line{left:1.58%;top:11.6%;width:2.25%;height:30.65%;border-left:2px solid #333;border-bottom:2px solid #333;transform-origin:top;clip-path:inset(0 0 0 0)}.diagram-chevrons{display:flex;gap:6px;left:5.3%;top:39%;width:7.15%;height:5.8%}.diagram-chevrons img{width:24%;height:auto;object-fit:contain}.process-pill{display:flex;align-items:center;justify-content:center;height:21.3%;border-radius:100px;border:1.5px solid transparent;background:linear-gradient(white,white) padding-box,var(--gradient) border-box;font-size:clamp(15px,1.4vw,24px);font-weight:500;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.pill-1{left:13.86%;top:30.97%;width:25.12%}.pill-2{left:61.4%;top:30.97%;width:25.12%}.pill-3{left:33.5%;top:78.38%;width:30.7%}.connector{width:1.3%;height:auto;top:39.35%}.connector-1{left:39.26%}.connector-2{left:86.88%}.diagram-straight{left:40.55%;top:41.29%;width:20.3%;height:2px;background:#333;transform-origin:left}.diagram-arrow-1{left:59.16%;top:39.35%;width:1.86%;height:auto}.diagram-curve{left:66.42%;top:41.29%;width:33.72%;height:48.06%;transform-origin:top right}.diagram-curve img{width:100%;height:100%}.diagram-arrow-2{left:64.84%;top:86.77%;width:2.5%;height:auto}.process-descriptions{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:11%;margin:clamp(60px,7.27vw,110px) 0 0}.process-descriptions h3{font-size:clamp(19px,1.56vw,27px);margin-bottom:clamp(28px,3.36vw,50px)}.process-descriptions p{font-size:clamp(16px,1.25vw,22px);line-height:1.22;color:var(--muted)}.js .diagram-item,.js .process-descriptions li{opacity:0;transition:opacity .55s var(--delay) ease,clip-path 1s var(--delay) var(--ease),transform .7s var(--delay) var(--ease)}.js .diagram-item{clip-path:inset(0 100% 0 0)}.js .diagram-curve{clip-path:inset(0 0 100% 0)}.js .process-descriptions li{transform:translateY(16px)}.js .process.is-visible .diagram-item,.js .process.is-visible .process-descriptions li{opacity:1;clip-path:inset(-5% -5% -5% -5%);transform:translateY(0)}
.final-cta{justify-content:center;text-align:center;isolation:isolate;min-height:max(740px,100svh);color:white}.cta-content{width:94%;max-width:1770px;margin-inline:auto;position:relative}.cta-content h2{font-size:clamp(58px,6.09vw,108px);line-height:1.168;letter-spacing:-.018em}.cta-content p{font-size:clamp(20px,1.875vw,31px);line-height:1.3;margin:clamp(18px,2vw,32px) auto clamp(30px,3vw,46px);font-weight:200}.cta-content .contact-button{width:clamp(440px,43.75vw,720px)}
.site-footer{align-items:stretch;isolation:isolate;overflow:hidden;min-height:max(700px,100svh)}.footer-art{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.footer-colors{position:absolute;left:-15%;right:-15%;bottom:-26%;height:88%;background:radial-gradient(ellipse at 40% 70%,#6391ff 0%,#a296f8 29%,#f3a5ee 63%,transparent 75%);filter:blur(55px);animation:footer-drift 14s ease-in-out infinite alternate}.footer-art::after{content:'';position:absolute;inset:0;background:linear-gradient(white 0%,white 35%,#ffffffeb 47%,transparent 74%);z-index:1}.footer-particles{position:absolute;inset:0;width:100%;height:100%;z-index:2}.footer-inner{padding-top:clamp(70px,9.5vh,130px);padding-bottom:clamp(220px,31vh,390px);display:flex;flex-direction:column;justify-content:space-between;gap:100px}.footer-top{display:grid;grid-template-columns:1fr 155px auto;align-items:start;gap:clamp(50px,4.4vw,85px)}.footer-about{max-width:600px}.footer-brand{display:inline-flex;align-items:center;gap:16px;color:var(--purple);font-size:clamp(24px,1.875vw,32px)}.footer-brand img{width:auto;height:clamp(70px,6vw,100px)}.footer-about>p{font-size:clamp(19px,1.56vw,27px);color:var(--muted);margin-top:clamp(28px,3vw,48px);line-height:1.22}.footer-nav{display:flex;flex-direction:column;align-items:flex-start;color:var(--purple);gap:clamp(16px,1.8vw,28px)}.footer-nav h2{font-size:clamp(24px,1.875vw,32px);margin-bottom:2px}.footer-nav>a,.footer-nav>button{font-size:clamp(20px,1.56vw,27px);font-weight:200;padding:0;text-align:left;min-height:28px}.footer-nav>a:hover,.footer-nav>button:hover{text-decoration:underline;text-underline-offset:5px}.socials{display:flex;gap:8px;padding-top:2px}.socials button{position:relative;width:40px;height:44px;display:grid;place-items:center;transition:transform .3s}.socials button:hover{transform:translateY(-4px)}.social-ring{position:absolute;inset:3.5px 1.5px auto}.instagram-icon{position:relative;z-index:1}.footer-bottom{display:flex;justify-content:space-between;gap:28px}.footer-bottom p{font-size:clamp(14px,1.25vw,20px);color:var(--muted)}.footer-bottom a:hover{color:var(--purple)}@keyframes footer-drift{from{transform:translate3d(-5%,5%,0) rotate(-4deg) scale(1)}to{transform:translate3d(8%,-3%,0) rotate(5deg) scale(1.13)}}
.toast{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%,24px);background:#fff;color:var(--purple);border:1px solid #e9dbef;box-shadow:0 10px 60px #3b1b6826;border-radius:18px;padding:16px 24px;font-size:17px;line-height:1.4;width:max-content;max-width:calc(100% - 40px);z-index:100;pointer-events:none;opacity:0;transition:opacity .3s,transform .3s}.toast.is-visible{opacity:1;transform:translate(-50%,0)}.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.js [data-reveal].is-visible{opacity:1;transform:translateY(0)}
@media(min-width:1920px){:root{--gutter:max(8.1%,calc((100vw - 1608px)/2))}.hero-content{width:92%}.partners{width:1380px}}
@media(max-width:1100px){.hero h1{font-size:5.8vw}.hero h1 span{white-space:normal}.hero-content{width:94%}.footer-top{grid-template-columns:1fr 130px;gap:45px}.socials{grid-column:2}.footer-about{grid-row:span 2}.orbit-slide p{width:43%;font-size:28px}.orbit-slide h2{font-size:44px}.card-title{font-size:27px}.is-open .card-title{font-size:34px}.card-expansion p,.card-summary{font-size:18px}.card-top{margin-bottom:26px}.service-cards{min-height:490px}.process-inner{padding-block:60px}.process-heading h2{font-size:32px}.process-descriptions{gap:7%}}
@media(max-width:760px){:root{--gutter:6.15%}.screen{min-height:100svh}.site-header{inset:20px 6.15% auto}.header-brand{width:52px}.menu-toggle{font-size:19px}.site-menu{width:min(340px,88vw);padding:24px 28px}.menu-links{margin-bottom:40px}.hero{min-height:max(740px,100svh);padding:120px 0 28px;justify-content:space-between;gap:42px}.hero-content{width:88%;transform:none;margin-block:auto;padding-block:20px}.hero h1{font-size:clamp(38px,7.1vw,54px);line-height:1.12;letter-spacing:-.02em}.hero h1 span{display:block;margin-top:8px;white-space:normal}.hero-content>p{font-size:19px;line-height:1.35;margin:24px auto 30px;max-width:480px}.desktop-break{display:none}.partners{position:relative;bottom:auto;left:auto;transform:none;width:90%;gap:8px}.partner-row{gap:0;flex-wrap:wrap;justify-content:center}.partner-row img{width:30%;height:auto;max-width:150px}.partner-row:nth-child(2){transform:none;padding:0}.partner-row:nth-child(2) img{width:30%}.contact-button,.cta-content .contact-button{width:100%;max-width:470px;height:50px;padding-left:18px;gap:9px}.button-label{font-size:clamp(16px,3.9vw,21px)}.button-track{width:29%;min-width:66px}.button-arrow{left:10%}.button-arrow img{width:20px;height:20px}.color-field{inset:-25%;filter:blur(18px)}.glass-texture{background-size:11.11% 100%;opacity:.53}.glass-texture::after{background:repeating-linear-gradient(90deg,#fff3 0,transparent 2px,transparent calc(11.11% - 1px),#fff3 11.11%)}.light-veil{background:linear-gradient(white 0%,#ffffffb3 8%,transparent 30%,transparent 80%,#ffffff80 100%)}h2{font-size:clamp(36px,6.7vw,48px)}.about-inner{padding-block:76px}.eyebrow{font-size:18px;margin-bottom:14px}.about h2{font-size:clamp(34px,6.5vw,48px);margin-bottom:24px}.about-description{font-size:22px;line-height:1.35}.values-grid{grid-template-columns:1fr;margin-top:42px;padding:0}.values-grid article,.values-grid article:first-child,.values-grid article:last-child{padding:24px 0;gap:14px;display:block}.values-grid article+article{border-left:0;border-top:1px solid #d3d0d5}.values-grid h3{font-size:21px;line-height:1.2;margin-bottom:12px}.values-grid p{font-size:17px;line-height:1.35;max-width:100%}.solutions-inner{padding-block:76px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{width:100%;text-align:left;font-size:19px;line-height:1.35;max-width:470px;margin-top:24px}.service-cards{display:flex;flex-direction:column;gap:14px;min-height:0;align-items:stretch}.service-card{width:100%}.card-toggle{padding:24px 24px 0}.card-top{margin-bottom:20px}.card-icon{width:34px;height:34px}.card-icon img{width:34px;height:34px}.card-number{font-size:28px}.card-title,.is-open .card-title{font-size:30px;max-width:90%}.is-open .card-break,.card-break{display:none}.card-summary{font-size:18px;line-height:1.3;padding:14px 0 24px;max-width:100%}.card-expansion p{font-size:18px;line-height:1.35;padding:18px 24px 28px}.orbit-section{height:260svh}.orbit-viewport{min-height:640px}.orbit-arc{width:200vw;max-width:none;top:35%}.orbit-line{top:22%;height:24%}.orbit-marker{top:35%;width:23px;height:30px}.orbit-slide h2{font-size:36px;top:9%;width:88%}.orbit-slide p{top:47%;font-size:clamp(21px,4.65vw,28px);line-height:1.24;width:78%;max-width:470px}.orbit-controls{bottom:4%}.orbit-controls button{width:42px;height:42px}.orbit-controls button::after{left:18px;top:18px}.interlude{padding-inline:7%;min-height:100svh}.interlude h2{font-size:clamp(48px,10vw,72px);max-width:600px}.process-inner{padding-block:76px}.process-heading{text-align:left}.process-heading h2{font-size:34px;line-height:1.18}.process-heading p{font-size:19px;line-height:1.35;margin-top:22px}.process-diagram{display:none}.process-descriptions{display:flex;flex-direction:column;gap:0;margin-top:44px;counter-reset:step;position:relative}.process-descriptions::before{content:'';position:absolute;top:14px;bottom:55px;width:1px;left:18px;background:var(--gradient);transform-origin:top;transform:scaleY(0);transition:transform 2s .3s var(--ease)}.process.is-visible .process-descriptions::before{transform:scaleY(1)}.process-descriptions li{padding:0 0 36px 58px;position:relative;counter-increment:step}.process-descriptions li:last-child{padding-bottom:0}.process-descriptions li::before{content:'0' counter(step);display:grid;place-items:center;position:absolute;width:37px;height:37px;left:0;top:-3px;border:1px solid transparent;border-radius:50%;background:linear-gradient(white,white) padding-box,var(--gradient) border-box;font-size:14px;color:var(--purple);font-weight:400}.process-descriptions h3{font-size:23px;margin-bottom:14px}.process-descriptions p{font-size:18px;line-height:1.35}.process-descriptions li:nth-child(1){--delay:.2s!important}.process-descriptions li:nth-child(2){--delay:.8s!important}.process-descriptions li:nth-child(3){--delay:1.4s!important}.final-cta{min-height:max(680px,100svh)}.cta-content{width:88%}.cta-content h2{font-size:clamp(38px,7.4vw,56px);line-height:1.15}.cta-content p{font-size:20px;line-height:1.35;margin:26px auto 36px}.final-cta .color-scene{mask-image:linear-gradient(transparent,black 15%,black 85%,transparent)}.site-footer{min-height:100svh}.footer-inner{padding-top:70px;padding-bottom:240px;gap:58px}.footer-top{grid-template-columns:1fr 1fr;column-gap:30px;row-gap:38px}.footer-about{grid-column:1/-1;grid-row:auto;max-width:500px}.footer-brand{font-size:26px;gap:12px}.footer-brand img{height:70px}.footer-about>p{font-size:19px;line-height:1.35;margin-top:26px}.footer-nav{gap:15px}.footer-nav h2{font-size:24px}.footer-nav>a,.footer-nav>button{font-size:20px;min-height:32px}.socials{grid-column:auto;justify-content:flex-end;gap:4px}.footer-bottom{flex-direction:column;gap:12px}.footer-bottom p{font-size:14px;line-height:1.4}.footer-colors{height:60%;bottom:-14%;filter:blur(38px)}.footer-art::after{background:linear-gradient(white 0%,white 48%,#ffffffd9 62%,transparent 85%)}.toast{font-size:16px;padding:14px 18px}.js [data-reveal]{transform:translateY(16px)}}
@media(max-width:380px){.hero h1{font-size:36px}.hero-content>p{font-size:18px}.button-label{font-size:15px}.button-track{width:25%}.about-description{font-size:20px}.orbit-slide h2{font-size:32px}.orbit-slide p{font-size:21px;top:47%;width:82%}.socials{gap:0}.socials button{width:36px}.footer-top{column-gap:12px}.cta-content h2{font-size:36px}}
@media(min-width:761px) and (max-height:740px){.screen{min-height:740px}.hero{min-height:740px}.orbit-viewport{min-height:0}.orbit-slide h2{font-size:36px;top:7%}.orbit-slide p{font-size:22px;max-width:470px}.orbit-line{top:23%;height:23%}.orbit-arc,.orbit-marker{top:35%}.orbit-controls{bottom:1%}.service-cards{min-height:450px}.process-inner{padding-block:50px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}.color-field,.footer-colors{will-change:auto}.js [data-reveal],.js .diagram-item,.js .process-descriptions li{opacity:1;transform:none;clip-path:none}.process-descriptions::before{transform:none}.orbit-section{height:auto}.orbit-viewport{position:relative;min-height:100svh;height:auto;overflow:hidden;padding:70px 0}.orbit-slides{position:relative;display:grid;gap:40px;width:84%;max-width:900px;margin:auto}.orbit-slide,.orbit-slide:not(.is-current){position:relative;opacity:1!important;inset:auto}.orbit-slide h2,.orbit-slide p{position:relative;inset:auto;transform:none!important;opacity:1!important;width:100%;max-width:none}.orbit-slide h2{font-size:34px;margin-bottom:16px}.orbit-slide p{font-size:22px}.orbit-arc,.orbit-marker,.orbit-line,.orbit-controls{display:none}.button-sparkles{display:none}}

/* Exact vector brand artwork, scaled as a unit. */
.partner-logo{position:relative;width:18.5%;aspect-ratio:182.591/46.185;flex:none}.logo-art{position:absolute;inset:0 auto auto 0;width:182.591px;height:46.185px;transform:scale(var(--logo-scale,1));transform-origin:top left}.logo-art img{max-width:none}.partner-row:nth-child(2) .partner-logo{width:20.7%}.button-arrow img{transform:scaleX(-1)}.glass-texture{mix-blend-mode:overlay;opacity:.55}.light-veil{background:linear-gradient(180deg,white 0%,#fffffff0 5%,#ffffffa0 13%,transparent 35%,transparent 70%,#ffffff40 88%,#ffffffb0 100%)}.footer-colors{animation-play-state:paused}.art-active .footer-colors{animation-play-state:running}
@media(max-width:760px){.partner-logo,.partner-row:nth-child(2) .partner-logo{width:30%;max-width:150px}.glass-texture{opacity:.45}}

.orbit-viewport{overflow:clip}.is-open .icon-open{transform:rotate(180deg)}

/* Three original vector logos, cropped to their artwork and kept in one row. */
.partners--three{width:min(86%,660px)}
.partners--three .partner-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,5vw,64px);align-items:center}
.partners--three .partner-logo{width:100%;max-width:none;overflow:hidden;transform:scale(.65);transform-origin:center}
.partners--three .logo-art>div{transform:translateX(var(--art-offset,0px))}
.hero-content{transform:none}

/* Lenis owns smoothing; native CSS smoothing would compete with its RAF. */
html.lenis{scroll-behavior:auto!important}

/* The opaque About section rises over the ScrollTrigger-pinned hero. */
.about{position:relative;z-index:2;background:#fff}
.solutions{background:#fff}

/* Reserve the largest accordion state so changing cards cannot move the section. */
.service-cards{overflow-anchor:none}
.service-cards-measure,.service-cards-measure *{transition:none!important;animation:none!important}

/* Heading, description and marker follow the circle; both guide lines stay fixed. */
.orbit-motion-group{position:absolute;inset:0}
@media(prefers-reduced-motion:reduce){.orbit-motion-group{position:relative;inset:auto}}

/* Particles are decorative: the real heading retains layout and accessibility. */
.interlude{overflow:clip;isolation:isolate}
.text-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:none}
.interlude.particles-ready .text-particles{display:block}
.interlude.particles-ready h2{position:relative;opacity:0}
@media(prefers-reduced-motion:reduce){.interlude .text-particles{display:none!important}.interlude.particles-ready h2{opacity:1!important}}

/* SVG dash animation follows each connector's actual direction. */
.process-stroke{overflow:visible}
.diagram-initial-line.process-stroke{border:0}
.diagram-straight.process-stroke{background:none}
.js .process.motion-ready .diagram-item,.js .process.motion-ready .process-descriptions li{transition:none;clip-path:none;transform:none;opacity:1}
@media(prefers-reduced-motion:reduce){.process-stroke path{stroke-dashoffset:0!important}}

/* The final invitation uses the Hero's composition and mobile type scale. */
@media(max-width:760px){.final-cta{min-height:max(740px,100svh);padding:120px 0 28px}.final-cta .color-scene{mask-image:none}.final-cta .cta-content{margin-block:auto;padding-block:20px}.final-cta .cta-content h2{font-size:clamp(38px,7.1vw,54px);line-height:1.12;letter-spacing:-.02em}.final-cta .cta-content p{font-size:19px;line-height:1.35;margin:24px auto 30px;max-width:480px}}

/* One pink-to-blue hover treatment for footer icons and menu labels. */
.site-footer{--footer-hover-gradient:linear-gradient(180deg,var(--pink),var(--blue))}
.socials button{width:44px;height:44px;transition:none}
.socials button:is(:hover,:focus-visible){transform:none}
.social-symbol{position:relative;display:block;width:37px;height:37px}
.social-symbol::before,.social-symbol::after{content:'';position:absolute;inset:0;-webkit-mask:var(--social-mask) center/contain no-repeat;mask:var(--social-mask) center/contain no-repeat;transition:opacity .35s ease}
.social-symbol::before{background:#111;opacity:1}
.social-symbol::after{background:var(--footer-hover-gradient);opacity:0}
.socials button:is(:hover,:focus-visible) .social-symbol::before{opacity:0}
.socials button:is(:hover,:focus-visible) .social-symbol::after{opacity:1}
.footer-menu-label{position:relative;display:inline-block;transition:color .35s ease}
.footer-menu-gradient{position:absolute;inset:0;background:var(--footer-hover-gradient);background-clip:text;-webkit-background-clip:text;color:transparent;opacity:0;transition:opacity .35s ease;pointer-events:none}
.footer-nav>:is(a,button):is(:hover,:focus-visible){text-decoration:none}
.footer-nav>:is(a,button):is(:hover,:focus-visible) .footer-menu-label{color:transparent}
.footer-nav>:is(a,button):is(:hover,:focus-visible) .footer-menu-gradient{opacity:1}
.footer-bottom p,.footer-bottom a,.footer-bottom a:hover{color:#000}
.footer-bottom p{text-shadow:none}
.footer-bottom a:hover{text-decoration:underline;text-underline-offset:3px}

/* Mobile keeps the desktop's capsules and drawn path, folded into three rows. */
.process-diagram-mobile{display:none}
@media(max-width:760px){
  .process-diagram-mobile{display:block;position:relative;width:100%;max-width:360px;aspect-ratio:320/300;margin:32px auto 0}
  .process-diagram-mobile>*{position:absolute}
  .process-diagram-mobile .process-stroke{inset:0;width:100%;height:100%;border:0;background:none}
  .process-diagram-mobile .diagram-start{left:.625%;top:0;width:11.25%;aspect-ratio:1}
  .process-diagram-mobile .diagram-chevrons{left:9.6875%;top:21.3333%;width:8.4375%;height:4%;gap:2px}
  .process-diagram-mobile .diagram-chevrons img{width:28%;height:100%;object-fit:contain}
  .process-diagram-mobile .process-pill{width:71.875%;height:16%;font-size:clamp(14px,4.1vw,17px);letter-spacing:.02em}
  .process-diagram-mobile .pill-1{left:20%;top:15.3333%}
  .process-diagram-mobile .pill-2{left:10%;top:47.3333%}
  .process-diagram-mobile .pill-3{left:20%;top:79.3333%}
  .process-diagram-mobile .connector{width:2.5%;height:2.6667%}
  .process-diagram-mobile .connector-1{left:92.5%;top:22%}
  .process-diagram-mobile .connector-2{left:6.875%;top:54%}
  .process-diagram-mobile .diagram-arrow-1{left:81.875%;top:53%;width:3.75%;height:4.6667%}
  .process-diagram-mobile .diagram-arrow-2{left:16.875%;top:85%;width:3.75%;height:4.6667%}
  .process-descriptions{margin-top:36px;gap:30px}
  .process-descriptions::before,.process-descriptions li::before{display:none}
  .process-descriptions li{padding:0}
}
