/* MERGE — Home page. Converted from the MERGE design canvas (Home.dc.html). */
body{margin:0;background:#fff}
a{color:var(--charcoal)}a:hover{color:var(--blue)}
.mg{font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:var(--charcoal);-webkit-font-smoothing:antialiased;overflow-x:hidden;background:#fff}
.mg *{box-sizing:border-box}
.mg p{margin:0}
.disp{font-family:'Alte Haas Grotesk','Archivo',sans-serif;font-weight:700;letter-spacing:-0.035em;line-height:.98}
.wrap{max-width:1280px;margin:0 auto;padding-left:48px;padding-right:48px;position:relative}
.rails{border-left:1px solid #ededed;border-right:1px solid #ededed}
.grain{position:relative;isolation:isolate}
.grain::after{content:"";position:absolute;inset:0;background-image:url(/assets/grain.png);background-size:240px 240px;mix-blend-mode:overlay;pointer-events:none;z-index:2}
.nograin .grain::after{display:none}

/* nav */
.nav{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:40px}
.logo{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:#ffffff}
.logo:hover{color:#ffffff}
.logo-w{font-family:'Alte Haas Grotesk','Archivo',sans-serif;font-stretch:125%;font-weight:800;font-size:30px;letter-spacing:-0.01em;line-height:1}
.logo-s{font-size:7px;letter-spacing:.18em;font-weight:600;opacity:.85}
.logo-img{display:block;width:156px;aspect-ratio:934.66/228.95;background-color:var(--ink,#ffffff);-webkit-mask:url(/assets/merge-logo-mask.svg) no-repeat center/contain;mask:url(/assets/merge-logo-mask.svg) no-repeat center/contain;transition:background-color .5s,transform .5s cubic-bezier(.2,.8,.2,1)}
.logo:hover .logo-img{transform:scale(1.04);background-color:var(--lc,var(--green))!important;opacity:1!important}
.navl{display:flex;gap:44px;align-items:center}
.nl{color:#ffffff;text-decoration:none;font-size:14px;font-weight:500;position:relative;display:inline-block;padding:8px 0;transition:transform .45s cubic-bezier(.3,1.5,.4,1)}
.nl .lc{display:inline-block}
.nl .lc.sp{width:.3em}
.nl:hover{transform:none}
.nl .lc{transition:transform .5s cubic-bezier(.22,1,.36,1) calc(var(--i) * 22ms)}
.nl:hover .lc{transform:translateY(-3px)}
.nl::after{content:"";position:absolute;left:0;right:0;bottom:1px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--green),var(--blue),var(--purple),var(--pink),var(--orange));transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.nl:hover::after,.nl.act::after{transform:scaleX(1);transform-origin:left}
.fl-a::after{height:2px;border-radius:2px;background:linear-gradient(90deg,var(--green),var(--blue),var(--purple),var(--pink),var(--orange))}

.menu-btn{display:none;align-items:center;gap:10px;background:transparent;border:1.5px solid currentColor;border-radius:999px;padding:10px 18px;font:600 14px 'Plus Jakarta Sans',sans-serif;color:#ffffff;transition:color .5s;min-height:44px;cursor:pointer}

/* pill */
.pill{position:relative;display:inline-flex;align-items:center;gap:14px;min-height:50px;padding:12px 20px 12px 26px;border:1.5px solid var(--charcoal);border-radius:999px;color:var(--charcoal);text-decoration:none;font-weight:600;font-size:16px;letter-spacing:-0.01em;overflow:hidden;isolation:isolate;transition:color .35s,border-color .35s;white-space:nowrap}
.pill::before{content:"";position:absolute;inset:-2px;z-index:-1;background:var(--charcoal);transform:translateX(-101%);transition:transform .55s cubic-bezier(.7,0,.2,1)}
.pill:hover{color:#fff}
.pill:hover::before{transform:none}
.pill:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.pill:has(.arr){padding-right:10px}
.pill .arr{flex:none;box-sizing:border-box;width:32px;height:32px;padding:7px;border-radius:50%;border:1.5px solid currentColor;transition:transform .45s cubic-bezier(.3,1.4,.4,1),background .4s,border-color .4s,color .4s}
.pill:hover .arr{transform:translateX(4px)}
.pill.light{border-color:#fff;color:#fff}
.pill.light::before{background:#fff}
.pill.light:hover{color:var(--charcoal);border-color:#fff}

/* hero */
.reset-bg{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:6;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.7);background:rgba(255,255,255,.12);color:#fff;font:500 10px "Plus Jakarta Sans",sans-serif;letter-spacing:.04em;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .35s,color .35s,border-color .35s}
.reset-bg:hover{background:#fff;color:var(--charcoal);border-color:#fff}
.reset-bg svg{transition:transform .6s cubic-bezier(.3,1.4,.4,1)}
.reset-bg:hover svg{transform:rotate(-360deg)}
.hero{position:relative;overflow:hidden;background:#fff4ec;min-height:900px;cursor:auto}
.hero a,.hero button{cursor:pointer}
.blob{position:absolute;border-radius:50%;filter:blur(80px);will-change:transform}
.b1{left:-14%;top:-22%;width:62%;height:72%;background:var(--green);animation:d1 16s ease-in-out infinite alternate}
.b2{left:-18%;top:30%;width:56%;height:62%;background:var(--blue);animation:d2 19s ease-in-out infinite alternate}
.b3{left:4%;top:68%;width:58%;height:60%;background:var(--purple);animation:d3 17s ease-in-out infinite alternate}
.b4{right:-12%;top:-28%;width:56%;height:72%;background:var(--orange);animation:d2 21s ease-in-out infinite alternate-reverse}
.b5{right:-10%;top:42%;width:40%;height:52%;background:var(--pink);animation:d1 15s ease-in-out infinite alternate-reverse}
@keyframes d1{to{transform:translate(6%,8%) scale(1.08)}}
@keyframes d2{to{transform:translate(8%,-6%) scale(.94)}}
@keyframes d3{to{transform:translate(-7%,-5%) scale(1.1)}}
.liquid{position:absolute;left:0;top:0;width:100%;height:100%;display:block;z-index:1;opacity:0;transition:opacity 1.4s ease}
.liquid.on{opacity:1}
.hero-in{position:relative;z-index:3}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,290px);row-gap:28px;padding-top:110px;padding-bottom:120px}
.hero-p{margin:0;font-size:17px;line-height:1.5;letter-spacing:-0.01em;color:#fff;animation:rise 1.1s .45s cubic-bezier(.2,.75,.1,1) both}
.hero-aside{grid-column:2;grid-row:1;align-self:end;display:flex;flex-direction:column;align-items:flex-start;gap:96px;padding-bottom:14px;position:relative;z-index:4}
.hero-cta{animation:rise 1.1s .65s cubic-bezier(.2,.75,.1,1) both}
.h1{grid-column:1 / -1;grid-row:1;margin:0 0 0 calc(-1 * min(110px, max(0px, (100vw - 1280px) / 2 - 24px)));font-size:clamp(52px,7.6vw,118px);text-transform:uppercase;color:rgba(255,255,255,.94)}
.ln{display:block;animation:rise 1.1s cubic-bezier(.2,.75,.1,1) both}
.ln:nth-child(1){padding-left:7%;animation-delay:.05s}
.ln:nth-child(2){padding-left:23%;animation-delay:.15s}
.ln:nth-child(3){padding-left:0;animation-delay:.25s}
.ln:nth-child(4){padding-left:5%;font-weight:300;letter-spacing:-0.02em;animation-delay:.35s}
.lt{display:inline-block;cursor:default}
.c{display:inline-block;font-style:normal;transition:transform .55s cubic-bezier(.3,1.5,.4,1),color .35s,letter-spacing .5s;transition-delay:calc(var(--i)*28ms)}
.c.sp{width:.26em}
.lt:hover .c{transform:translateY(-.05em) rotate(-2deg)}
@keyframes rise{from{opacity:0;transform:translateY(60px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}


/* shared */
.eyebrow{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--charcoal)}
.num{font-family:'Alte Haas Grotesk','Archivo',sans-serif;font-size:13px;font-weight:500;letter-spacing:.1em}
.h2{margin:0;font-size:clamp(38px,4.6vw,64px)}
.lede{font-size:17px;line-height:1.65;color:#2b2b2b}
.bgblob{position:absolute;width:560px;height:560px;border-radius:50%;filter:blur(110px);opacity:.45;pointer-events:none;z-index:0}
.sec{position:relative;overflow:hidden}
#services{background:#fff}
#services.grain::after{opacity:.4}
.sgb{position:absolute;pointer-events:none;z-index:0;filter:blur(64px)}
.sec-in{position:relative;z-index:1;padding-top:130px;padding-bottom:40px}
.head2{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;padding-bottom:56px}
.head2 .lede{max-width:440px}

/* problem */
.prob{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:72px;align-items:end}
.prob-l{display:flex;flex-direction:column;gap:28px}
.pains{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid #ededed}
.pain{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:16px;align-items:center;padding:22px 0;border-bottom:1px solid #ededed;font-size:17px;letter-spacing:-0.01em;transition:padding .45s cubic-bezier(.2,.8,.2,1)}
.pain::before{content:"";position:absolute;left:-14px;right:-14px;top:5px;bottom:5px;border-radius:10px;background:var(--c);opacity:0;transition:opacity .4s;z-index:-1}
.pain:hover{padding-left:14px}
.pain:hover::before{opacity:.08}
.pains{position:relative;isolation:isolate}
.pain-i{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--c);color:var(--c);display:grid;place-items:center;transition:all .4s cubic-bezier(.3,1.5,.4,1)}
.pain:hover .pain-i{background:var(--c);color:#fff;transform:rotate(-45deg)}
.verdict{display:flex;flex-direction:column;align-items:flex-end;text-align:right;font-size:clamp(22px,2.2vw,30px);letter-spacing:-0.025em;line-height:1.25;padding-bottom:22px}
.band{margin-top:90px;background:#f3f7fc;border:1px solid #e6edf6;padding:56px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:56px;align-items:center}
.dots{position:relative;width:150px;height:140px;animation:dspin 28s linear infinite}
@keyframes dspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.dots{animation:none}}
.dot{position:absolute;width:46px;height:46px;border-radius:50%;mix-blend-mode:multiply;transition:left .9s cubic-bezier(.3,1.4,.4,1),top .9s cubic-bezier(.3,1.4,.4,1)}
.d1{left:52px;top:0;background:var(--orange)}
.d2{left:101px;top:36px;background:var(--blue)}
.d3{left:83px;top:94px;background:var(--purple)}
.d4{left:21px;top:94px;background:var(--pink)}
.d5{left:3px;top:36px;background:var(--green)}
.band:hover .d1{left:52px;top:26px}
.band:hover .d2{left:77px;top:44px}
.band:hover .d3{left:68px;top:72px}
.band:hover .d4{left:37px;top:72px}
.band:hover .d5{left:28px;top:44px}
.band-p{font-size:clamp(20px,2vw,26px);line-height:1.4;letter-spacing:-0.02em}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #e3e3e3;border-bottom:1px solid #e3e3e3;background:rgba(255,255,255,.3)}
.svc-cell{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;gap:18px;min-height:340px;padding:40px 36px;text-decoration:none;color:var(--charcoal)}
.svc-cell+.svc-cell{border-left:1px solid #e3e3e3}
.svc-cell:hover{color:var(--charcoal)}
.svc-glow{position:absolute;right:-40%;bottom:-60%;width:120%;aspect-ratio:1/1;border-radius:50%;filter:blur(60px);opacity:0;transform:scale(.6);transition:opacity .7s,transform .9s cubic-bezier(.2,.8,.2,1);z-index:-1}
.svc-cell:hover .svc-glow{opacity:.55;transform:none}
.svc-t{font-size:clamp(26px,2.4vw,34px)}
.svc-p{font-size:16px;line-height:1.6;color:#2b2b2b;max-width:320px}
.svc-go{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}
.svc-go svg{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.svc-cell:hover .svc-go svg{transform:translateX(6px)}
.note{padding:28px 0 0;font-size:15px;line-height:1.6;color:#4a4f58;max-width:620px}

/* process */
.car{position:relative}
.steps{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;padding:14px 0 26px;margin:-14px 0 -26px;overscroll-behavior-x:contain}
.steps::-webkit-scrollbar{display:none}
.steps.drag{scroll-snap-type:none;cursor:grabbing;user-select:none}
.trk{display:flex;width:max-content}
.cctl{display:flex;align-items:center;gap:12px;margin-top:26px}
.cbtn{flex:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--charcoal);background:transparent;color:var(--charcoal);display:grid;place-items:center;cursor:pointer;transition:background .3s,color .3s,transform .5s cubic-bezier(.3,1.5,.4,1)}
.cbtn:hover{background:var(--charcoal);color:#fff;transform:scale(1.06)}
.cprog{flex:1;height:3px;margin:0 14px;border-radius:2px;background:#e4e4e4;overflow:hidden}
.cprog i{display:block;height:100%;width:20%;border-radius:2px;background:var(--charcoal);transition:width .35s cubic-bezier(.22,1,.36,1)}
.ccnt{font-size:13px;color:#555;font-variant-numeric:tabular-nums}
.step{scroll-snap-align:start;position:relative;overflow:hidden;isolation:isolate;flex:0 0 clamp(270px,26vw,360px);margin-right:16px;min-height:290px;border-radius:18px;background:#fafafa;border:1px solid #efefef;padding:26px 22px;display:flex;flex-direction:column;gap:12px;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.step:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(20,20,20,.08)}
.step-n{font-family:'Alte Haas Grotesk','Archivo',sans-serif;font-size:13px;font-weight:600;letter-spacing:.1em;color:#6b717b}
.step-t{font-size:24px;letter-spacing:-0.03em;line-height:1.05}
.step-p{font-size:15px;line-height:1.5;color:#2b2b2b}
.step-b{position:absolute;left:-5%;right:-5%;bottom:-38%;height:70%;border-radius:42% 58% 63% 37% / 45% 38% 62% 55%;animation:morph 9s ease-in-out infinite alternate;filter:blur(28px);opacity:.85;transform:translateY(18%) scale(.85);transition:transform .9s cubic-bezier(.3,1.3,.4,1),opacity .6s;z-index:-1}
.step:nth-child(2) .step-b{border-radius:58% 42% 38% 62% / 55% 60% 40% 45%;animation-duration:11s}
.step:nth-child(3) .step-b{border-radius:37% 63% 52% 48% / 62% 40% 60% 38%;animation-duration:8s}
.step:nth-child(4) .step-b{border-radius:63% 37% 45% 55% / 40% 58% 42% 60%;animation-duration:12s}
.step:nth-child(5) .step-b{border-radius:48% 52% 60% 40% / 38% 62% 38% 62%;animation-duration:10s}
@keyframes morph{0%{border-radius:42% 58% 63% 37% / 45% 38% 62% 55%}50%{border-radius:62% 38% 40% 60% / 58% 55% 45% 42%}100%{border-radius:38% 62% 55% 45% / 40% 62% 38% 60%}}
.step:hover .step-b{transform:translateY(0) scale(1.15);opacity:1}
.outcome{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-top:40px;padding:28px 0;border-top:1px solid #ededed;border-bottom:1px solid #ededed}
.outcome-k{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#5a5f68}
.outcome-v{font-size:clamp(20px,2vw,26px);letter-spacing:-0.02em}

/* work */
.work{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:16px;height:720px}
.proj{position:relative;overflow:hidden;isolation:isolate;border-radius:14px;color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;padding:26px;cursor:pointer}
.proj:hover{color:#fff}
.proj-big{grid-row:1 / 3}
.pb{position:absolute;width:140%;aspect-ratio:1/1;border-radius:50%;transform:translate(-50%,-50%);filter:blur(30px);transition:left 1.1s cubic-bezier(.2,.8,.2,1),top 1.1s cubic-bezier(.2,.8,.2,1);z-index:0}
.proj-top{position:relative;z-index:3;display:flex;gap:6px;flex-wrap:wrap}
.chip{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.45);background:rgba(0,0,0,.12);backdrop-filter:blur(6px)}
.proj-bot{position:relative;z-index:3;display:flex;flex-direction:column;gap:14px}
.proj-name{font-size:clamp(28px,3vw,44px)}
.proj-big .proj-name{font-size:clamp(40px,4.4vw,68px)}
.proj-det{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.35);max-height:0;opacity:0;overflow:hidden;transform:translateY(12px);transition:max-height .6s cubic-bezier(.2,.8,.2,1),opacity .45s,transform .6s cubic-bezier(.2,.8,.2,1)}
.proj:hover .proj-det,.proj:focus-visible .proj-det{max-height:200px;opacity:1;transform:none}
.proj-det p{font-size:13px;line-height:1.45;color:rgba(255,255,255,.9)}
.proj-det b{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px;opacity:.75}
.proj:not(.proj-big) .proj-det{grid-template-columns:minmax(0,1fr)}
.proj:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media (hover:none){.proj-det{max-height:none;opacity:1;transform:none}}

/* faq */
.faqs{position:relative;overflow:hidden;background:#000;color:#fff;margin-top:130px}
@keyframes fa{0%{transform:translate(-14%,-10%) scale(.95);border-radius:42% 58% 63% 37%/45% 38% 62% 55%}50%{border-radius:62% 38% 40% 60%/58% 55% 45% 42%}100%{transform:translate(18%,14%) scale(1.15);border-radius:38% 62% 55% 45%/40% 62% 38% 60%}}
@keyframes fb2{0%{transform:translate(12%,10%) scale(1.1);border-radius:58% 42% 38% 62%/55% 60% 40% 45%}50%{border-radius:40% 60% 62% 38%/42% 45% 55% 58%}100%{transform:translate(-20%,-8%) scale(.92);border-radius:63% 37% 45% 55%/40% 58% 42% 60%}}
@keyframes fc{0%{transform:translate(-18%,8%) scale(1);border-radius:37% 63% 52% 48%/62% 40% 60% 38%}50%{border-radius:55% 45% 40% 60%/45% 62% 38% 55%}100%{transform:translate(16%,-14%) scale(1.18);border-radius:48% 52% 60% 40%/38% 62% 38% 62%}}
@keyframes fd{0%{transform:translate(10%,-12%) scale(1.12);border-radius:50% 50% 38% 62%/60% 40% 60% 40%}50%{border-radius:38% 62% 55% 45%/50% 55% 45% 50%}100%{transform:translate(-16%,14%) scale(.9);border-radius:62% 38% 48% 52%/42% 58% 42% 58%}}
@keyframes fe{0%{transform:translate(-10%,12%) scale(.92);border-radius:45% 55% 60% 40%/55% 45% 55% 45%}50%{border-radius:60% 40% 42% 58%/40% 60% 40% 60%}100%{transform:translate(20%,-10%) scale(1.14);border-radius:40% 60% 52% 48%/58% 42% 58% 42%}}
.fb{position:absolute;transform:translate(-50%,-50%);transition:left var(--t,2.2s) cubic-bezier(.22,.61,.36,1),top var(--t,2.2s) cubic-bezier(.22,.61,.36,1);pointer-events:none;z-index:0}
.fb>i{transition:opacity 1.6s ease,filter 1.6s ease;display:block;width:100%;height:100%;border-radius:50%;filter:blur(80px);background:var(--c);opacity:var(--o,.8)}
.fspot{display:none;position:absolute;width:420px;height:420px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,.32),rgba(255,61,139,.22) 42%,rgba(255,61,139,0) 70%);mix-blend-mode:screen;transition:left .4s cubic-bezier(.2,.8,.2,1),top .4s cubic-bezier(.2,.8,.2,1),opacity .6s;pointer-events:none;z-index:1}
.faqs-in{position:relative;z-index:3;padding-top:130px;padding-bottom:140px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:64px}
.faq-side{display:flex;flex-direction:column;justify-content:space-between;gap:40px}
.faq-h{margin:0;font-size:clamp(44px,5vw,72px);color:#fff}
.faq-list{display:flex;flex-direction:column;gap:14px}
.faq{border:1px solid rgba(255,255,255,.38);border-radius:10px;transition:background .4s,border-color .4s}
.faq:hover{border-color:rgba(255,255,255,.75)}
.faq.open{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.7);backdrop-filter:blur(6px)}
.faq-q{all:unset;box-sizing:border-box;display:flex;width:100%;justify-content:space-between;align-items:center;gap:20px;padding:22px 22px 22px 26px;cursor:pointer;color:#fff;font-size:17px;font-weight:500;letter-spacing:-0.01em;min-height:64px}
.faq-q:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:10px}
.faq-i{flex:none;width:30px;height:30px;border:1.5px solid #fff;border-radius:50%;display:grid;place-items:center;transition:transform .5s cubic-bezier(.3,1.4,.4,1),background .3s,color .3s}
.faq-q:hover .faq-i{background:#fff;color:#3d004f}
.faq.open .faq-i{transform:rotate(135deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.8,.2,1)}
.faq.open .faq-a{grid-template-rows:1fr}
.faq-a>div{overflow:hidden}
.faq-a p{padding:0 72px 24px 26px;color:rgba(255,255,255,.86);font-size:15px;line-height:1.65;opacity:0;transform:translateY(-6px);transition:opacity .4s,transform .4s}
.faq.open .faq-a p{opacity:1;transform:none;transition-delay:.12s}

/* cta + footer */
.dark{position:relative;overflow:hidden;background:var(--charcoal);color:#fff}
.ftb{position:absolute;width:30%;height:62%;transform:translateX(-50%);border-radius:50% 50% 30% 30%/60% 60% 40% 40%;filter:blur(72px);transition:bottom 1s cubic-bezier(.22,.61,.36,1),opacity 1s ease;pointer-events:none;z-index:0}
.cta-in{position:relative;z-index:3;padding-top:130px;padding-bottom:150px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:start}
.cta-h{margin:0;font-size:clamp(44px,5.4vw,80px);color:#fff}
.cta-side{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:32px;padding-top:12px}
.cta-side p{font-size:17px;line-height:1.55;max-width:400px;color:rgba(255,255,255,.88)}
.foot{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.5fr) minmax(0,.5fr) minmax(0,1fr);gap:32px;padding-bottom:48px}
.flogo{display:inline-block;line-height:0;text-decoration:none}
.flogo:hover{transform:none}
.ftag{margin-top:40px;font-size:22px;line-height:1.15;letter-spacing:-0.02em}
.ftag span{display:block}
.fcol{display:flex;flex-direction:column;gap:10px}
.fk{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:12px}
.fl-a{color:#fff;text-decoration:none;font-size:14px;position:relative;width:max-content;padding:2px 0}
.fl-a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s}
.fl-a:hover{color:#8ff0c0}
.fl-a:hover::after{transform:scaleX(1);transform-origin:left}
.fmail{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.fmail a.mail{color:#fff;text-decoration:none;font-size:18px;font-weight:600}
.fmail a.mail:hover{color:#8ff0c0}
.soc{display:flex;gap:8px}
.soc a{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.3);color:#fff;transition:all .3s}
.soc a:hover{background:#fff;color:var(--charcoal);transform:translateY(-3px)}
.legal{position:relative;z-index:3;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:26px 0 34px;border-top:1px solid rgba(255,255,255,.18);font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.legal a{justify-self:end;color:rgba(255,255,255,.75);text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.legal a:hover{color:#fff}
.legal a svg{transition:transform .35s}
.legal a:hover svg{transform:translateY(-3px)}

@supports (animation-timeline: view()){
.rv{animation:rv linear both;animation-timeline:view();animation-range:entry 0% cover 22%}
@keyframes rv{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}
.work{perspective:1800px}
.work.arm .proj{opacity:0;filter:blur(18px);transform:translateY(70px) rotateX(12deg) scale(.95);transform-origin:50% 100%;transition:opacity 1.3s ease,filter 1.5s cubic-bezier(.22,1,.36,1),transform 1.7s cubic-bezier(.16,1,.3,1)}
.work.arm.dealt .proj{opacity:1;filter:blur(0);transform:none}
.work.arm .pb{opacity:0;transform:translate(-50%,-50%) scale(.5)}
.work.arm.dealt .pb{opacity:1;transform:translate(-50%,-50%) scale(1);transition:left 1.1s cubic-bezier(.2,.8,.2,1),top 1.1s cubic-bezier(.2,.8,.2,1),transform 2.4s cubic-bezier(.22,1,.36,1) .3s,opacity 1.8s ease .3s}
.work.arm.dealt .proj:nth-child(2){transition-delay:.18s}
.work.arm.dealt .proj:nth-child(3){transition-delay:.36s}
}
@media (prefers-reduced-motion: reduce){
.work.arm .proj{opacity:1 !important;filter:none !important;transform:none !important}
.work.arm .pb{opacity:1 !important;transform:translate(-50%,-50%) !important}
.mg *,.mg *::before,.mg *::after{animation:none !important;transition-duration:.01ms !important}
}
@media (max-width: 980px){
.wrap{padding-left:20px;padding-right:20px}
.navl{display:none}
.menu-btn{display:inline-flex}
.hero{min-height:0}
.hero-grid{grid-template-columns:minmax(0,1fr);padding-top:80px;padding-bottom:100px}
.hero-aside{grid-column:1;grid-row:auto;padding-top:10px;gap:28px}
.h1{margin-left:0}
.ln:nth-child(n){padding-left:0}
.prob,.faqs-in,.cta-in{grid-template-columns:minmax(0,1fr);gap:40px}
.verdict,.cta-side{align-items:flex-start;text-align:left}
.band{grid-template-columns:minmax(0,1fr);padding:32px 24px;gap:28px}
.svc-grid{grid-template-columns:minmax(0,1fr)}
.svc-cell+.svc-cell{border-left:0;border-top:1px solid #e3e3e3}
.svc-cell{min-height:260px;padding:32px 22px}
.step{flex-basis:76vw;min-height:260px}
.work{grid-template-columns:minmax(0,1fr);grid-template-rows:none;height:auto}
.proj{min-height:360px}
.proj-big{grid-row:auto;min-height:440px}
.proj-det{grid-template-columns:minmax(0,1fr)}
.foot{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.fmail{align-items:flex-start}
.sec-in{padding-top:90px}
}

/* mobile menu */
.mg{position:relative}
.mnav{display:none}
@media (max-width:980px){
.mg.menu-open .mnav{display:flex}
.mnav{position:absolute;left:0;right:0;top:0;z-index:80;flex-direction:column;padding:22px 20px 30px;background:#fff;color:var(--charcoal);border-bottom:1px solid #e3e3e3;box-shadow:0 26px 60px rgba(20,20,20,.14);animation:mnin .45s cubic-bezier(.22,1,.36,1)}
.mnav-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;font-weight:600}
.mnav-x{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--charcoal);background:transparent;color:var(--charcoal);display:grid;place-items:center;cursor:pointer}
.mnav .ml{display:block;padding:12px 0;border-top:1px solid #ececec;font:700 34px/1.1 'Alte Haas Grotesk','Archivo',sans-serif;letter-spacing:-.03em;color:var(--charcoal);text-decoration:none}
.mnav .ml:hover{background:linear-gradient(90deg,var(--green),var(--blue),var(--purple),var(--pink),var(--orange));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.dots{zoom:.58}
.band{padding:26px 22px;gap:18px}
}
@keyframes mnin{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
/* nav links v3: text roll + gradient active */
.navl{gap:40px}
.nl{isolation:auto;padding:8px 0;border-radius:0}
.nl::after{content:none}
.nl>span{display:inline-block;position:relative;overflow:hidden;vertical-align:top;line-height:1.5;padding-bottom:1px}
.nl .lc{display:inline-block;transform:none;transition:transform .6s cubic-bezier(.76,0,.24,1) calc(var(--i) * 20ms)}
.nl:hover .lc,.nl.act .lc{transform:translateY(-115%)}
.nl>span::after{content:attr(aria-label);position:absolute;left:0;top:0;white-space:nowrap;line-height:1.5;font-weight:600;transform:translateY(115%);transition:transform .6s cubic-bezier(.76,0,.24,1);color:var(--nc,var(--green))}
.nl:hover>span::after,.nl.act>span::after{transform:none}
.nl.act{padding-left:0}
@media (prefers-reduced-motion:reduce){.nl .lc,.nl>span::after{transition:none}}
.navl .nl:nth-child(1){--nc:var(--green)}.navl .nl:nth-child(2){--nc:var(--orange)}.navl .nl:nth-child(3){--nc:var(--pink)}.navl .nl:nth-child(4){--nc:var(--purple)}
/* entrance animation everywhere */
@keyframes navin{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}
.nav{animation:navin 1.1s cubic-bezier(.16,1,.3,1) both}
@supports (animation-timeline:view()){
section:not(.sh) .wrap:not(.rv) > *:not(.rv):not(input){animation:rv linear both;animation-timeline:view();animation-range:entry 0% cover 24%}
}
@media (prefers-reduced-motion:reduce){.nav,section:not(.sh) .wrap:not(.rv) > *,footer .wrap:not(.rv) > *{animation:none!important}}
/* footer: no entrance animation */
footer .wrap > *,footer .rv,footer .cta-in,footer .foot,footer .foot > *{animation:none !important}
/* responsive v2 */
@media (max-width:980px){.fmail{grid-column:1/-1;align-items:flex-start}}
@media (max-width:600px){.foot{gap:32px 20px}.fmail a.mail{font-size:clamp(14px,4.6vw,18px);overflow-wrap:anywhere}.legal{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;text-align:left!important}.legal > *{justify-self:start!important;text-align:left!important}}
/* responsive v3 */
.h1 .wd{display:inline-block;white-space:nowrap}
@media (max-width:980px){.h1{font-size:clamp(34px,10.4vw,68px)}}
/* responsive v4 */
@media (max-width:360px){.wrap{padding-left:16px;padding-right:16px}.nav{gap:10px}.logo-img{width:120px}.menu-btn{padding:9px 14px}.pill{max-width:100%;white-space:normal;font-size:14px;padding:12px 16px 12px 20px;gap:10px;text-align:left}.cx-card{width:min(250px,66vw)}.tabs{gap:12px}.tab{font-size:13px}}
/* mnav v2: full-screen dark glass menu */
@keyframes mnv2{from{opacity:0;clip-path:circle(0% at calc(100% - 64px) 52px)}to{opacity:1;clip-path:circle(150% at calc(100% - 64px) 52px)}}
@keyframes mlv2{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.mg .mnav{position:fixed;left:0;right:0;top:0;bottom:0;height:100vh;height:100dvh;overflow-y:auto;z-index:200;padding:22px 24px 30px;background:#0a0a12;color:#fff;border:0;box-shadow:none;isolation:isolate;counter-reset:ml;animation:mnv2 .7s cubic-bezier(.22,1,.36,1) both}
.mnav::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(60% 38% at 12% 6%,rgba(25,195,125,.6),transparent 70%),radial-gradient(55% 38% at 100% 34%,rgba(178,54,230,.55),transparent 70%),radial-gradient(65% 42% at 0% 96%,rgba(255,61,139,.55),transparent 70%),radial-gradient(55% 34% at 100% 100%,rgba(255,122,0,.55),transparent 70%),radial-gradient(45% 30% at 60% 55%,rgba(53,80,240,.35),transparent 70%)}
.mnav::after{content:"";position:absolute;inset:0;z-index:-1;background:url(/assets/grain.png);background-size:200px;mix-blend-mode:overlay;opacity:.9;pointer-events:none}
.mnav-h{margin-bottom:26px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.mnav-x{border:1.5px solid rgba(255,255,255,.55);background:rgba(255,255,255,.08);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .5s cubic-bezier(.22,1,.36,1),background .3s}
.mnav-x:hover{transform:rotate(90deg);background:rgba(255,255,255,.2)}
.mnav .ml{counter-increment:ml;display:flex;align-items:baseline;gap:16px;padding:17px 0;border-top:1px solid rgba(255,255,255,.2);font:700 clamp(36px,11vw,54px)/1 'Alte Haas Grotesk','Archivo',sans-serif;letter-spacing:-.03em;color:#fff;text-decoration:none;animation:mlv2 .8s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(.14s + var(--k) * .07s);transition:color .35s,padding-left .45s cubic-bezier(.22,1,.36,1)}
.mnav .ml::before{content:"0" counter(ml);font:600 12px 'Plus Jakarta Sans',system-ui,sans-serif;letter-spacing:.14em;color:var(--c);min-width:22px}
.mnav .ml::after{content:"\2192";margin-left:auto;font:400 .55em 'Plus Jakarta Sans',system-ui,sans-serif;color:var(--c);opacity:0;transform:translateX(-10px);transition:opacity .35s,transform .45s cubic-bezier(.22,1,.36,1)}
.mnav .ml:hover,.mnav .ml.on{background:none;-webkit-text-fill-color:currentColor;color:var(--c);padding-left:8px}
.mnav .ml:hover::after,.mnav .ml.on::after{opacity:1;transform:none}
.mnav .ml:nth-of-type(1){--c:#7dffc6;--k:1}.mnav .ml:nth-of-type(2){--c:#ffb061;--k:2}.mnav .ml:nth-of-type(3){--c:#ff8fbd;--k:3}.mnav .ml:nth-of-type(4){--c:#d79bff;--k:4}.mnav .ml:nth-of-type(5){--c:#8fa2ff;--k:5}
.mnav-f{margin-top:auto;padding-top:40px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:rgba(255,255,255,.78);animation:mlv2 .8s cubic-bezier(.22,1,.36,1) .55s both}
.mnav-f a{color:#fff;font-weight:600;font-size:17px;text-decoration:none;word-break:break-all}
@media (prefers-reduced-motion:reduce){.mg .mnav,.mnav .ml,.mnav-f{animation:none}}
.svc-ex{margin:14px 0 0;font-size:12px;font-weight:600;letter-spacing:.04em;line-height:1.6;opacity:.6}
.step:nth-child(6) .step-b{border-radius:55% 45% 40% 60% / 50% 42% 58% 50%;animation-duration:13s}
/* footer: plain black */
footer.dark,footer.dark.grain{background:#000 !important}
footer.dark .ftb,footer.dark .sgb{display:none !important}
footer.dark::before,footer.dark::after{content:none !important;display:none !important}
/* logo: hide the "Branding & Digital Solutions" tagline (keep wordmark + semicolon tail) */
.logo-img,.flogo img{clip-path:polygon(0 0,100% 0,100% 100%,92% 100%,92% 78%,0 78%)}
.logo-img{translate:0 10%}

.hero-act{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.hero-note{margin:0;font-size:14px;line-height:1.5;color:rgba(255,255,255,.88);animation:rise 1.1s .8s cubic-bezier(.2,.75,.1,1) both}

.hero-cta{padding-left:34px !important;gap:40px !important}
.hero-note{animation-delay:.55s}

/* faq v2: lighter, more responsive accordion */
.faq.open{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background:rgba(255,255,255,.12) !important}
.faq{transition:background .3s,border-color .3s !important}
.faq-q{transition:background .25s;border-radius:10px}
.faq-q:hover{background:rgba(255,255,255,.06)}
.faq.open .faq-q:hover{background:transparent}
.faq-q:active .faq-i{transform:scale(.9)}
.faq.open .faq-q:active .faq-i{transform:rotate(135deg) scale(.9)}
.faq-a{transition:grid-template-rows .42s cubic-bezier(.2,.8,.2,1) !important}
.fb{transition:none !important}
