:root{--p:#4C1DFF;--o:#FF4D3A;--t:#34D1B2;--l:#DDB6F1;--n:#0B0B22;--paper:#FFFEF2;--ink:#2B0FB3;--soft:#E6D9F2;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--p)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#120D33;--ink:#F1E9FF;--soft:#2A2166}}
:root[data-theme="dark"]{--paper:#120D33;--ink:#F1E9FF;--soft:#2A2166}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 80px)}
*,*::before,*::after{box-sizing:inherit;margin:0}
body{font:400 17px/1.6 Montserrat,system-ui,sans-serif;background:var(--paper);color:var(--ink);overflow-x:hidden}
a{color:inherit}
:focus-visible{outline:3px solid var(--t);outline-offset:3px}
.d{font-family:Unbounded,Impact,sans-serif;font-weight:900;text-transform:uppercase;line-height:.98;letter-spacing:-.02em}
.ol{display:inline-block;color:var(--s,#fff);letter-spacing:.01em;-webkit-text-stroke:0;filter:url(#hollow)}
h2.d{font-size:clamp(2.4rem,7vw,6rem);line-height:1.22;margin-bottom:clamp(36px,6vw,72px)}
.btn{display:inline-block;background:var(--t);color:var(--n);font-weight:700;font-size:.95rem;padding:16px 30px;border-radius:99px;text-decoration:none;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.btn:hover{transform:rotate(-3deg) scale(1.06)}
nav{position:fixed;top:0;left:0;right:0;z-index:20;padding:calc(env(safe-area-inset-top,0px) + 12px) 4vw 0;pointer-events:none}
nav div{pointer-events:auto;max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 8px 8px 24px;border-radius:99px;background:rgba(11,11,34,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff}
nav .logo{font-size:1rem;text-decoration:none}
nav ul{display:flex;gap:28px;list-style:none;padding:0;font-size:.9rem;font-weight:600}
nav ul a{text-decoration:none}nav ul a:hover{text-decoration:underline wavy var(--t);text-underline-offset:6px}
nav .btn{padding:11px 22px}
@media(max-width:700px){nav ul{display:none}}
.hero{position:relative;overflow:hidden;background:var(--p);color:#fff;min-height:100svh;padding:clamp(120px,16vh,170px) 5vw 120px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero>*{position:relative;z-index:1}
.hero .ob,.hero .fl,.hero .dg{position:absolute;z-index:0;pointer-events:none}
.ob{right:-9vw;top:7vh;width:min(70vw,820px)}
.fl{left:50%;top:50%;border-radius:50%}
.fl.l{width:96px;height:96px;margin:-48px;background:var(--l)}
.fl.g{width:56px;height:56px;margin:-28px;background:var(--t)}
.dg{right:15vw;top:20vh;width:90px;height:90px;background:radial-gradient(circle,transparent 7px,rgba(255,255,255,.9) 8px,rgba(255,255,255,.9) 9.5px,transparent 10.5px) 0 0/30px 30px}
h1{font-size:clamp(2.3rem,8.6vw,8rem);margin-bottom:34px}
h1 span{display:block;overflow:hidden;padding:.08em .14em .24em .08em;margin-bottom:-.16em}
h1 i{display:block;font-style:normal;animation:up 1.1s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--k)*.11s + .15s)}
@keyframes up{from{transform:translateY(112%)}}
.w{position:relative;display:inline-block}
.w svg{position:absolute;left:0;bottom:-.07em;width:100%;height:.17em;overflow:visible}
.w path{fill:none;stroke:var(--o);stroke-width:5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:dr 1.2s 1s ease forwards}
@keyframes dr{to{stroke-dashoffset:0}}
.hero p{max-width:34ch;font-size:1.2rem;margin-bottom:30px;animation:fd 1s 1.3s both}
.hero .cta{display:flex;gap:26px;align-items:center;flex-wrap:wrap;animation:fd 1s 1.45s both}
.hero .cta a:not(.btn){font-weight:600;text-decoration:underline wavy var(--l);text-underline-offset:7px}
@keyframes fd{from{opacity:0;transform:translateY(14px)}}
.mq-clip{--tilt:calc(2.4vw + 10px);overflow:hidden;position:relative;z-index:2;padding:var(--tilt) 0;margin-top:calc(-38px - var(--tilt));margin-bottom:calc(var(--tilt) * -1)}
.mq-clip::before{content:"";position:absolute;z-index:-1;left:-30%;right:-30%;top:-80%;bottom:-80%;background:linear-gradient(var(--p) 50%,var(--paper) 50%);transform:rotate(-2.2deg)}
.mq{background:var(--o);color:var(--n);transform:rotate(-2.2deg);margin:0 -8vw;padding:22px 0;overflow:hidden}
.mq div{display:flex;width:max-content;animation:mq 30s linear infinite}
.mq span{font-size:clamp(1.4rem,3vw,2.4rem);padding-right:.5em;white-space:nowrap}
.mq span:nth-child(even)>.ol{--s:var(--n)}
.mq span::after{content:"\273A";margin-left:.5em;color:var(--p)}
@keyframes mq{to{transform:translateX(-50%)}}
.man{position:relative;overflow:hidden;padding:clamp(120px,15vw,210px) 5vw clamp(90px,11vw,150px)}
.man p{position:relative;font:700 clamp(1.5rem,3.7vw,3.3rem)/1.22 Unbounded,sans-serif;max-width:1100px;letter-spacing:-.02em}
.man p span{color:var(--soft);transition:color .35s}
.man p span.on{color:var(--ink)}.man p span.c.on{color:var(--o)}
.man .bg{position:absolute;right:-18vw;bottom:-14vw;width:min(60vw,700px);opacity:.55}
.pitch{background:var(--soft);padding:clamp(80px,12vw,150px) 5vw}
.pitch h2{margin-bottom:clamp(28px,4vw,48px)}
.pitch-list{display:grid;gap:22px}
.pitch article{background:#FFFEF2;color:var(--n);padding:clamp(28px,4vw,52px);border-radius:36px 64px 32px 72px}
.pitch article:nth-child(2){background:var(--t);border-radius:64px 36px 72px 32px}
.pitch article:nth-child(3){background:var(--o);border-radius:40px 70px 48px 36px}
.pitch h3{font-size:clamp(1.5rem,3.2vw,2.6rem);line-height:1.42;max-width:16em;margin-bottom:14px}
.pitch p{font-size:clamp(1.02rem,1.5vw,1.2rem);max-width:46em;margin-bottom:18px}
.pitch span{display:inline-block;border:2px solid currentColor;border-radius:99px;padding:4px 14px;font-size:.85rem;font-weight:600;margin:0 8px 8px 0}
.pitch a{display:inline-block;margin-top:8px;font-weight:700;text-decoration:underline wavy var(--p) 2px;text-underline-offset:6px}
.pitch article:nth-child(3) a{text-decoration-color:var(--n)}
.sv{background:var(--n);color:#fff;padding:clamp(80px,12vw,160px) 5vw}
details{position:relative;border-top:2px solid rgba(255,255,255,.2);overflow:hidden;isolation:isolate;transition:color .3s}
details:last-child{border-bottom:2px solid rgba(255,255,255,.2)}
details::before{content:"";position:absolute;inset:0;background:var(--c);z-index:-1;transform:translateY(101%);border-radius:50% 50% 0 0/100% 100% 0 0;transition:transform .65s cubic-bezier(.7,0,.2,1),border-radius .65s}
details:hover::before,details[open]::before{transform:none;border-radius:0}
details:hover,details[open]{color:var(--f,#fff)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:clamp(22px,3vw,40px) 2vw}
summary::-webkit-details-marker{display:none}
summary b{font-size:clamp(1.5rem,4.2vw,3.6rem);line-height:1.22}
summary::after{content:"+";font:300 2.6rem/1 Montserrat;transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
details[open] summary::after{transform:rotate(135deg)}
.pn{padding:0 2vw clamp(28px,3vw,44px);max-width:780px;animation:fd .5s both}
.pn p{margin-bottom:18px;font-size:1.1rem}
.pn span{display:inline-block;border:2px solid currentColor;border-radius:99px;padding:4px 16px;font-size:.85rem;font-weight:600;margin:0 8px 8px 0}
.ap{position:relative;padding:clamp(80px,12vw,150px) 5vw}
.think-lead{font:700 clamp(1.35rem,2.8vw,2.15rem)/1.25 Unbounded,sans-serif;letter-spacing:-.02em;max-width:18em;margin:-8px 0 clamp(36px,5vw,64px)}
.ap path{fill:none;stroke:var(--o);stroke-width:7;stroke-linecap:round}
.cd{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative}
.cd>svg{position:absolute;z-index:0;left:0;width:100%;height:auto;top:50%;transform:translateY(-50%);pointer-events:none;clip-path:inset(0 calc((100% - 48px) / 6))}
.cd article{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;text-align:center;min-height:280px;padding:clamp(64px,8vw,96px) clamp(36px,4vw,56px);color:var(--n);transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.cd article:hover{transform:rotate(-2.5deg) scale(1.03)}
.cd article:nth-child(1){background:var(--l);border-radius:38% 62% 34% 66%/52% 40% 60% 48%}
.cd article:nth-child(2){background:var(--t);border-radius:60% 40% 55% 45%/40% 58% 42% 60%;margin-top:80px}
.cd article:nth-child(3){background:var(--o);border-radius:42% 58% 64% 36%/60% 44% 56% 40%}
.cd h3{font-size:clamp(1.3rem,2.2vw,1.9rem);line-height:1.22;margin-bottom:14px}
@media(max-width:800px){.cd{grid-template-columns:1fr}.cd article:nth-child(2){margin-top:0}.cd>svg{display:none}}
.steps{background:var(--n);color:#fff;padding:clamp(80px,12vw,150px) 5vw}
.steps h2{margin-bottom:clamp(28px,4vw,56px)}
.steps ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.steps li span{display:block;color:var(--o);font-size:clamp(1.4rem,2vw,2rem);margin-bottom:10px}
.steps h3{font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.22;margin-bottom:10px}
.steps p{color:rgba(255,255,255,.82);max-width:24em}
@media(max-width:800px){.steps ol{grid-template-columns:1fr}}
.who{position:relative;z-index:1;margin-top:clamp(56px,8vw,110px)}
.who p{font:700 clamp(1.5rem,3.7vw,3.3rem)/1.22 Unbounded,sans-serif;letter-spacing:-.02em;max-width:16em;margin-bottom:clamp(22px,3vw,36px);color:var(--o)}
.who ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:28px 48px}
.who .logo-dup{display:none}
@media(min-width:801px){.who ul{max-width:calc(113vw - min(60vw,700px) - 36px)}}
@media(max-width:800px){
  .who{overflow:hidden}
  .who ul{flex-wrap:nowrap;width:max-content;max-width:none;gap:40px;animation:logos 24s linear infinite}
  .who .logo-dup{display:flex}
  .who li{flex:none}
}
@media(max-width:800px) and (prefers-reduced-motion:reduce){
  .who{overflow-x:auto}
  .who .logo-dup{display:none}
}
@keyframes logos{to{transform:translateX(-50%)}}
.who a{display:flex;align-items:center;text-decoration:none}
.who img{height:69px;width:auto;max-width:252px;object-fit:contain}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .who img{filter:brightness(0) invert(1)}}
:root[data-theme="dark"] .who img{filter:brightness(0) invert(1)}
.ct{position:relative;overflow:hidden;background:var(--p);color:#fff;padding:clamp(90px,12vw,170px) 5vw 40px}
.ct>*{position:relative}
.ct .bg{position:absolute;right:-14vw;top:-10vw;width:min(54vw,640px);opacity:.95}
.ct h2{font-size:clamp(1.7rem,6.6vw,6rem);max-width:12em;margin-bottom:18px}
.ct .lead{font:600 clamp(1.05rem,1.8vw,1.35rem)/1.45 Montserrat,sans-serif;letter-spacing:0;text-transform:none;max-width:34em;margin:0 0 clamp(36px,5vw,64px)}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(30px,6vw,90px);margin-bottom:clamp(80px,10vw,150px)}
.mag{width:170px;height:170px;border-radius:50%;background:var(--o);color:var(--n);display:grid;place-items:center;text-align:center;text-decoration:none;font:900 1.05rem/1.1 Unbounded,sans-serif;text-transform:uppercase;transition:transform .25s ease-out,background .3s}
.mag:hover{background:var(--t)}
address{font-style:normal;display:grid;gap:10px}
address span{font-weight:600;font-size:clamp(1.05rem,1.8vw,1.35rem)}
address a{font-weight:600;font-size:clamp(1.15rem,2.6vw,2rem);text-decoration:underline wavy var(--t) 2px;text-underline-offset:7px;width:max-content;max-width:100%}
.langs{position:relative;z-index:2;pointer-events:auto;display:flex;gap:16px;align-items:center;margin:0 0 14px;padding:0;font-weight:700;font-size:.95rem}
.langs a{pointer-events:auto;text-decoration:none}
.langs a[aria-current="true"]{text-decoration:underline wavy var(--t) 2px;text-underline-offset:6px}
.langs a:not([aria-current="true"]){opacity:.55}
.wm{display:block;width:min(78vw,560px);height:auto;margin:clamp(28px,5vw,64px) 0 22px}
@media(max-width:800px){.row{margin-bottom:0}.row .wm{flex-basis:100%}}
@media(min-width:801px){
  .row .wm{position:absolute;z-index:2;right:0;width:min(40vw,480px);margin:0;top:50%;transform:translateY(-50%)}
}
small{display:block;opacity:.75}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}.w path{stroke-dashoffset:0}}
