/* MERGE — Contact page. Converted from the MERGE design canvas (Contact.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}
.nav{padding-bottom:26px}
.nav::after{content:"";position:absolute;left:-100vw;right:-100vw;bottom:0;height:1px;background:rgba(20,20,20,.18);pointer-events:none}
.logo{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--ink,var(--charcoal));transition:color .5s}
.logo:hover{color:var(--ink,var(--charcoal))}
.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 button ---------- */
.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.sm:has(.arr){padding-right:8px}
.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.sm .arr{width:28px;height:28px;padding:6px}
.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}
.pill.sm{min-height:44px;font-size:14px;padding:8px 16px 8px 20px}

/* ---------- 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}
.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}
.b6{left:40%;top:4%;width:26%;height:96%;background:#ffffff;filter:blur(90px);animation:d3 22s ease-in-out infinite alternate}
@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)}}
.intro,.intro.hero{background:#fff;min-height:0;cursor:auto}
.intro .nl,.intro .menu-btn{color:var(--charcoal)}
.intro .h1{color:var(--charcoal)}
.intro .hero-p{color:#4a4f58}
.intro .hero-grid{min-height:0;padding-top:110px;padding-bottom:120px}
.hero-in{position:relative;z-index:3}
.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{cursor:auto}
.hero a,.hero button{cursor:pointer}
.stir{position:absolute;right:48px;bottom:36px;z-index:3;display:flex;align-items:center;gap:12px;font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--charcoal);pointer-events:none}
.stir svg{animation:stir 2.6s ease-in-out infinite}
@keyframes stir{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(6px,-4px) rotate(8deg)}50%{transform:translate(0,-7px) rotate(0)}75%{transform:translate(-6px,-3px) rotate(-8deg)}}
.swatch{display:flex;gap:4px}
.swatch i{width:10px;height:10px;border-radius:50%;display:block;border:1.5px solid rgba(255,255,255,.9)}
.hero-grid{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:34px;min-height:700px;padding-top:40px;padding-bottom:90px}
.hero-cta{grid-column:2;justify-self:end;margin-top:36px;animation:rise 1.1s .65s cubic-bezier(.2,.75,.1,1) both}
.h1{order:1;margin:0;font-size:clamp(44px,8.4vw,132px);text-transform:none;line-height:1;letter-spacing:-0.05em;color:rgba(255,255,255,.96)}
.ln{display:block;animation:rise 1.1s cubic-bezier(.2,.75,.1,1) both}
.ln:nth-child(1){font-weight:300;animation-delay:.05s}
.ln:nth-child(2){font-weight:800;animation-delay:.2s}
@keyframes rise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none;filter:none}}
.hero-side{display:flex;flex-direction:column;gap:36px;align-items:flex-start;padding-bottom:14px;animation:rise 1.1s .5s cubic-bezier(.2,.75,.1,1) both}
.tag{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.6);backdrop-filter:blur(8px);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 0 rgba(255,61,139,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(255,61,139,0)}100%{box-shadow:0 0 0 0 rgba(255,61,139,0)}}
.hero-p{order:2;max-width:460px;margin:0;font-size:19px;line-height:1.5;letter-spacing:-0.01em;color:#fff;animation:rise 1.1s .45s cubic-bezier(.2,.75,.1,1) both}
.scroll{position:absolute;left:48px;bottom:36px;display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#fff;z-index:3;text-decoration:none}
.scroll:hover{color:#fff}
.scroll-l{width:64px;height:1.5px;background:rgba(255,255,255,.4);position:relative;overflow:hidden}
.scroll-l::after{content:"";position:absolute;inset:0;background:#fff;animation:sl 2.2s cubic-bezier(.7,0,.2,1) infinite}
@keyframes sl{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}

/* ---------- marquee ---------- */
.mq{background:var(--charcoal);color:#fff;overflow:hidden;padding:26px 0;border-bottom:1px solid #222}
.mq-track{display:flex;width:max-content;animation:mq 32s linear infinite}
.mq:hover .mq-track{animation-play-state:paused}
.mq-item{display:flex;align-items:center;gap:28px;padding-right:28px;font-size:44px;white-space:nowrap}
.mq-semi{font-family:'Alte Haas Grotesk','Archivo',sans-serif;font-weight:800;background:linear-gradient(180deg,var(--green),var(--blue) 40%,var(--pink) 75%,var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.mq-o{color:transparent;-webkit-text-stroke:1.2px rgba(255,255,255,.6)}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- common section bits ---------- */
.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 p{font-size:17px;line-height:1.65;color:#2b2b2b;letter-spacing:-0.005em}
#approach,.svc{background-color:#fff}
#approach.grain::after,.svc.grain::after{opacity:.4}
.sgb{position:absolute;pointer-events:none;z-index:0;filter:blur(64px)}
@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 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%}}
.bgblob{position:absolute;width:560px;height:560px;border-radius:50%;filter:blur(110px);opacity:.55;pointer-events:none;z-index:0}

/* ---------- approach ---------- */
.sop{position:relative;overflow:hidden}
.sop-in{padding-top:70px;padding-bottom:140px;z-index:1}
.sop-lead{margin:26px 0 0;font-size:clamp(20px,1.9vw,26px);line-height:1.3;letter-spacing:-0.025em;font-weight:600;color:var(--charcoal)}
.sop-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:72px;align-items:start}
.sop-copy{display:flex;flex-direction:column;gap:28px}
.grad-text{background:linear-gradient(90deg,var(--green),var(--blue) 25%,var(--purple) 50%,var(--pink) 75%,var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.state{display:flex;flex-direction:column;align-items:flex-end;text-align:right;padding-top:24px;border-top:1px solid #ededed;font-size:22px;letter-spacing:-0.02em;line-height:1.3}
.venn-card{background:#f3f7fc;border:1px solid #e6edf6;padding:36px;display:flex;flex-direction:column;gap:26px;position:sticky;top:110px}
.venn-k{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#4a4a4a}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 16px 8px 12px;border-radius:999px;border:1.5px solid #c9d3e0;background:#fff;font:600 14px 'Plus Jakarta Sans',sans-serif;color:#5a5f68;cursor:pointer;transition:all .3s cubic-bezier(.2,.8,.2,1)}
.chip:hover{border-color:var(--charcoal);color:var(--charcoal);transform:translateY(-2px)}
.chip:active{transform:scale(.96)}
.chip:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.chip-dot{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;transition:transform .3s;opacity:.45}
.chip-dot svg{opacity:0;transform:scale(.4);transition:all .3s}
.chip.on{border-color:var(--charcoal);color:var(--charcoal);background:#fff}
.chip.on .chip-dot{opacity:1;transform:scale(1.05)}
.chip.on .chip-dot svg{opacity:1;transform:none}
.pcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.pcard{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;gap:6px;text-align:left;min-height:280px;padding:18px 16px;border-radius:16px;background:#fff;border:1.5px solid #dfe6f0;font-family:'Plus Jakarta Sans',sans-serif;color:var(--charcoal);cursor:pointer;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .45s}
.pcard:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(20,20,20,.08)}
.pcard:active{transform:translateY(-2px) scale(.98)}
.pcard:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.pcard.on{border-color:var(--charcoal)}
.pc-top{display:flex;justify-content:space-between;align-items:center}
.pc-n{font-family:'Alte Haas Grotesk','Archivo',sans-serif;font-size:12px;letter-spacing:.1em;color:#6b717b}
.pc-ck{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--charcoal);color:#fff;opacity:0;transform:scale(.4) rotate(-40deg);transition:all .45s cubic-bezier(.3,1.6,.4,1)}
.pcard.on .pc-ck{opacity:1;transform:none}
.pc-t{margin-top:10px;font-size:19px;font-weight:700;letter-spacing:-0.025em;line-height:1.15}
.pc-d{font-size:13px;line-height:1.4;color:#4a4f58}
.pc-blob{position:absolute;left:-15%;right:-15%;bottom:-18%;height:58%;border-radius:50%;filter:blur(24px);opacity:.28;transform:translateY(28%) scale(.82);transition:opacity .7s,transform .8s cubic-bezier(.3,1.4,.4,1);z-index:-1}
.pcard:hover .pc-blob{opacity:.5}
.pcard.on .pc-blob{opacity:1;transform:none}
.mbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.seg{height:6px;border-radius:999px;background:#dbe3ee;transition:background .5s,transform .5s cubic-bezier(.3,1.5,.4,1)}
.seg.on{transform:scaleY(1.5)}
.seg-b.on{background:linear-gradient(90deg,var(--orange),var(--pink))}
.seg-d.on{background:linear-gradient(90deg,var(--blue),var(--green))}
.seg-m.on{background:linear-gradient(90deg,var(--purple),var(--pink))}
.stage{position:relative;width:100%;max-width:400px;aspect-ratio:1/1;margin:0 auto}
.fl{position:absolute;width:58%;height:58%}
.fl-b{left:4%;top:4%;animation:f1 7s ease-in-out infinite alternate}
.fl-d{right:4%;top:4%;animation:f2 8s ease-in-out infinite alternate}
.fl-m{left:21%;bottom:4%;animation:f3 9s ease-in-out infinite alternate}
@keyframes f1{to{transform:translate(6px,8px)}}
@keyframes f2{to{transform:translate(-8px,6px)}}
@keyframes f3{to{transform:translate(4px,-8px)}}
.vc{width:100%;height:100%;border-radius:50%;mix-blend-mode:multiply;opacity:.12;transform:scale(.78);transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.3,1.5,.4,1),filter .6s;filter:saturate(.4) blur(2px)}
.vc.on{opacity:.88;transform:scale(1);filter:none}
.vc-b{background:radial-gradient(circle at 35% 35%,#ffd0a3,#ff8a1f 55%,var(--pink))}
.vc-d{background:radial-gradient(circle at 65% 35%,#bfe9ff,#3d7cff 55%,var(--green))}
.vc-m{background:radial-gradient(circle at 50% 70%,#f2c2ff,var(--purple) 55%,var(--pink))}
.vl{position:absolute;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--charcoal);pointer-events:none;transition:opacity .4s}
.core{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);background:var(--charcoal);color:#fff;border-radius:999px;padding:7px 12px;font-family:'Alte Haas Grotesk','Archivo',sans-serif;font-stretch:125%;font-weight:800;font-size:12px;letter-spacing:.02em;animation:pop .6s cubic-bezier(.3,1.6,.4,1) both;box-shadow:0 8px 24px rgba(20,20,20,.25)}
@keyframes pop{from{transform:translate(-50%,-50%) scale(.2);opacity:0}}
.res{border-top:1px solid #dbe3ee;padding-top:22px;display:flex;flex-direction:column;gap:10px;min-height:150px}
.res.a{animation:resA .55s cubic-bezier(.2,.8,.2,1) both}
.res.b{animation:resB .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes resA{from{opacity:0;transform:translateY(10px)}}
@keyframes resB{from{opacity:0;transform:translateY(10px)}}
.res-k{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#5a5f68}
.res-t{font-size:26px}
.res-p{font-size:15px;line-height:1.6;color:#2b2b2b}

/* ---------- sub nav ---------- */
.subnav{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.84);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid #ededed;border-bottom:1px solid #ededed}
.subnav-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.tabs{display:flex;gap:28px;overflow-x:auto;scrollbar-width:none}
.tab{position:relative;display:inline-flex;align-items:baseline;gap:8px;min-height:44px;padding:12px 2px;text-decoration:none;color:#7a808a;font-size:15px;font-weight:600;white-space:nowrap;transition:color .35s}
.tab::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:3px;border-radius:3px;background:var(--g);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.7,0,.2,1)}
.tab:hover,.tab.on{color:var(--charcoal)}
.tab:hover::after,.tab.on::after{transform:scaleX(1)}
.tab-n{font-family:'Alte Haas Grotesk','Archivo',sans-serif;font-size:12px;color:var(--c);transition:transform .4s cubic-bezier(.3,1.6,.4,1)}
.tab:hover .tab-n,.tab.on .tab-n{transform:translateY(-3px)}
.tabs .tab:nth-child(1){--c:var(--pink);--g:linear-gradient(90deg,var(--orange),var(--pink))}
.tabs .tab:nth-child(2){--c:var(--blue);--g:linear-gradient(90deg,var(--blue),var(--green))}
.tabs .tab:nth-child(3){--c:var(--purple);--g:linear-gradient(90deg,var(--purple),var(--pink))}
.subnav-k{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#5a5f68}

/* ---------- service blocks ---------- */
.svc{position:relative;overflow:hidden;scroll-margin-top:76px}
.svc-in{padding-top:130px;padding-bottom:40px;z-index:1}
.svc-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:end;padding-bottom:64px}
.svc-head .h2{margin-top:22px}
.lede{display:flex;flex-direction:column;gap:18px}
.qas{display:flex;flex-direction:column}
.qa{display:flex;align-items:flex-start;gap:18px;padding:22px 0;border-top:1px solid #e3e8f0}
.qa:last-child{border-bottom:1px solid #e3e8f0}
.qa-n{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font:700 12px 'Alte Haas Grotesk','Archivo',sans-serif;letter-spacing:.06em;color:var(--c);border:1.5px solid var(--c)}
.qa-c{display:flex;flex-direction:column;gap:6px}
.qa-t{font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.25;color:var(--charcoal);margin:0}
.qa-b{font-size:16px;line-height:1.55;color:#4a4f58;margin:0}

.svc-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid #e3e3e3;border-bottom:1px solid #e3e3e3}
.svc-body.flip .vis{order:2}
.vis{position:relative;overflow:hidden;min-height:540px;cursor:auto;display:flex;flex-direction:column;justify-content:space-between;padding:32px;color:#fff;isolation:isolate}
.vis-blob{position:absolute;width:150%;aspect-ratio:1/1;border-radius:50%;transform:translate(-50%,-50%);transition:left 1.1s cubic-bezier(.2,.8,.2,1),top 1.1s cubic-bezier(.2,.8,.2,1);filter:blur(30px);z-index:0}
.vis-blob2{position:absolute;width:80%;aspect-ratio:1/1;border-radius:50%;filter:blur(50px);z-index:0;animation:d1 12s ease-in-out infinite alternate}
.vis-top{position:relative;z-index:3;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:600}
.vis-word{position:relative;z-index:3;font-size:clamp(56px,6.4vw,96px);transition:transform .8s cubic-bezier(.2,.8,.2,1),letter-spacing .8s cubic-bezier(.2,.8,.2,1)}
.vis:hover .vis-word{transform:translateY(-8px);letter-spacing:-0.02em}
.vis-line{position:relative;z-index:3;display:flex;align-items:center;gap:16px;font-size:11px;letter-spacing:.24em;text-transform:uppercase}
.vis-line i{flex:1;height:1px;background:rgba(255,255,255,.55)}
.inc{padding:44px 0 44px 56px;display:flex;flex-direction:column;gap:20px;border-left:1px solid #e3e3e3;background:rgba(255,255,255,.7)}
.svc-body.flip .inc{border-left:0;border-right:1px solid #e3e3e3;padding:44px 56px 44px 0}
.inc-h{margin:0;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#5a5f68}
.inc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.inc-li{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:8px;padding:20px 12px 20px 0;border-bottom:1px solid #ededed;font-size:17px;font-weight:500;letter-spacing:-0.01em;transition:padding .45s cubic-bezier(.2,.8,.2,1),color .3s}
.inc-li:last-child{border-bottom:0}
.inc-li::before{content:"";position:absolute;left:-12px;right:-12px;top:4px;bottom:4px;border-radius:10px;background:var(--tint);opacity:0;transform:scaleY(.6);transition:all .4s cubic-bezier(.2,.8,.2,1);z-index:-1}
.inc-li:hover{padding-left:12px}
.inc-li:hover::before{opacity:1;transform:none}
.inc-n{font-family:'Alte Haas Grotesk','Archivo',sans-serif;font-size:12px;letter-spacing:.1em;color:var(--acc)}
.inc-li:hover .inc-list{position:relative;isolation:isolate}
.svc-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-bottom:1px solid #e3e3e3}
.cell{padding:40px 40px 44px 0;display:flex;flex-direction:column;gap:16px;transition:background .4s}
.cell+.cell{border-left:1px solid #e3e3e3;padding-left:40px}
.cell:hover{background:linear-gradient(180deg,rgba(255,255,255,0),var(--tint))}
.cell-k{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:800;color:var(--acc);letter-spacing:.16em;text-transform:uppercase}
.cell-v{font-size:17px;line-height:1.6;color:#2b2b2b}
.who{list-style:none;display:flex;flex-direction:column;gap:10px;margin:6px 0 0;padding:0}
.who li{position:relative;padding-left:18px;font-size:14px;font-weight:500;line-height:1.45;color:#2b2b2b}
.who li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--acc)}
.cell:has(.who){justify-content:center}

/* ---------- integration band ---------- */
.band{margin-top:90px;margin-bottom:140px;background:#f3f7fc;border:1px solid #e6edf6;padding:56px 56px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:56px;align-items:center}
.band-p{max-width:none}
.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}
.band-p b{font-weight:700}

/* ---------- faq ---------- */
.faqs{position:relative;overflow:hidden;background:#000;color:#fff}
@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)}

/* ---------- scroll reveal ---------- */
@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}}
}
@media (prefers-reduced-motion: reduce){
.mg *,.mg *::before,.mg *::after{animation:none !important;transition-duration:.01ms !important}
}

/* ---------- responsive ---------- */
@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,.sop-grid,.svc-head,.svc-body,.svc-foot,.faqs-in,.cta-in{grid-template-columns:minmax(0,1fr);gap:40px}
.hero-grid{padding-top:60px;padding-bottom:90px;min-height:0}
.hero-cta{grid-column:1;justify-self:start}
.venn-card{position:relative;top:0;padding:24px}
.pcards,.mbar{gap:8px}
.pcard{min-height:200px;padding:14px 12px}
.pc-t{font-size:16px}
.svc-body.flip .vis{order:0}
.vis{min-height:380px}
.inc,.svc-body.flip .inc{padding:32px 0;border:0}
.cell,.cell+.cell{padding:32px 0;border-left:0}
.cell+.cell{border-top:1px solid #e3e3e3}
.band{grid-template-columns:minmax(0,1fr);padding:32px 24px;gap:28px}
.cta-side{align-items:flex-start;text-align:left}
.foot{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.fmail{align-items:flex-start}
.subnav-k,.subnav .pill{display:none}
.mq-item{font-size:30px}
.scroll{left:20px}
.stir{right:20px;font-size:10px;letter-spacing:.16em}
.stir .swatch{display:none}
.sop-in{padding-top:90px;padding-bottom:90px}
.state{grid-column:1 !important}
.svc-in{padding-top:90px}
}

/* ---------- about page ---------- */
.mg button,.mg summary,.mg input{font-family:inherit}
.ab-n,.ab-long-k,.ab-det summary{font-family:'Plus Jakarta Sans',system-ui,sans-serif}
.ab-hero h1,.ab-hero h2,.ab-story h3,.ab-mis .disp,.ab-vis h2,.ab-vals h2,.ab-vals h3,.ab-cta h2{font-family:'Alte Haas Grotesk','Archivo',sans-serif}
#cta .foot{margin-top:0;padding-top:100px}
@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%}}
.ab-hero{position:relative;overflow:hidden;background:#fff}
.ab-hero-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center;padding-top:70px;padding-bottom:120px;z-index:1}
.ab-hero-copy{display:flex;flex-direction:column;gap:28px}
.ab-h1{margin:0;font-size:clamp(52px,7vw,104px)}
.ab-lead{font-size:clamp(20px,1.9vw,26px);line-height:1.3;letter-spacing:-0.025em;font-weight:600;max-width:520px}
.ab-stage{position:relative;width:100%;max-width:560px;aspect-ratio:1.25/1;justify-self:end;margin-right:70px;cursor:auto}
.ab-c{position:absolute;top:8%;width:58%;aspect-ratio:1/1;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.ab-c1{left:2%}.ab-c2{right:2%}
.ab-stage:hover .ab-c1{transform:translateX(14%)}
.ab-stage:hover .ab-c2{transform:translateX(-14%)}
.ab-ci{width:100%;height:100%;-webkit-mask-image:radial-gradient(closest-side,#000 40%,rgba(0,0,0,.7) 62%,rgba(0,0,0,.28) 82%,transparent 100%);mask-image:radial-gradient(closest-side,#000 40%,rgba(0,0,0,.7) 62%,rgba(0,0,0,.28) 82%,transparent 100%);display:grid;place-items:center;mix-blend-mode:multiply;position:relative;font:700 16px 'Alte Haas Grotesk','Archivo',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--charcoal);animation:abdrift 9s ease-in-out infinite alternate}
.ab-ci::after{content:"";position:absolute;inset:0;background-image:url(/assets/grain.png);background-size:200px 200px;mix-blend-mode:overlay;opacity:.85;pointer-events:none}
.ab-ci span{position:relative;z-index:1}
.ab-c1 .ab-ci{background:radial-gradient(circle at 28% 24%,#ffb25e 0%,var(--orange) 38%,var(--pink) 78%,var(--purple) 100%)}
.ab-c2 .ab-ci{background:radial-gradient(circle at 72% 26%,var(--green) 0%,var(--blue) 42%,var(--purple) 100%);animation-duration:11s;animation-direction:alternate-reverse}
.ab-c1 .ab-ci span{transform:translateX(-18%)}
.ab-c2 .ab-ci span{transform:translateX(18%);color:#fff}
@keyframes abdrift{0%{transform:translate(0,0) scale(1)}100%{transform:translate(8px,-10px) scale(1.04)}}
.ab-story-in{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:72px;padding-top:40px;padding-bottom:130px;align-items:start}
.ab-side{position:sticky;top:60px;display:flex;flex-direction:column;gap:22px}
.ab-itda{display:flex;flex-direction:column;gap:4px;padding:22px 24px;border-radius:16px;background:#f3f7fc;border:1px solid #e6edf6}
.ab-itda b{font:700 44px 'Alte Haas Grotesk','Archivo',sans-serif;letter-spacing:-.03em;background:linear-gradient(90deg,var(--blue),var(--purple),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.ab-itda span{font-size:14px;color:#4a4f58;line-height:1.4}
.ab-side-p{font-size:17px;line-height:1.5;color:#2b2b2b;max-width:260px}
.ab-ch{display:grid;grid-template-columns:76px minmax(0,1fr);gap:22px;padding:34px 0;border-top:1px solid #e3e3e3}
.ab-ch:last-child{border-bottom:1px solid #e3e3e3}
.ab-chn{font:700 56px/1 'Alte Haas Grotesk','Archivo',sans-serif;letter-spacing:-.04em;color:var(--c);transition:transform .6s cubic-bezier(.3,1.5,.4,1)}
.ab-ch:hover .ab-chn{transform:translateY(-6px) rotate(-6deg)}
.ab-cht{margin:0 0 12px;font-size:clamp(26px,2.5vw,36px)}
.ab-chp{font-size:17px;line-height:1.6;color:#2b2b2b;max-width:620px}

.ab-mis{position:relative;overflow:hidden;background:#000;color:#fff}
.ab-bl{position:absolute;display:block;border-radius:50%;filter:blur(90px);opacity:.75;pointer-events:none;z-index:0}
.ab-mis-in{position:relative;z-index:3;padding-top:140px;padding-bottom:140px;display:flex;flex-direction:column;gap:30px;align-items:flex-start}
.ab-light{color:#fff}
.ab-mis-t{margin:0;font-size:clamp(34px,4.4vw,64px);line-height:1.08;max-width:1000px;letter-spacing:-.035em}
.ab-mis-t em{font-style:normal;background:linear-gradient(90deg,var(--green),var(--blue) 40%,var(--pink) 75%,var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.ab-mis-s{font-size:clamp(18px,1.6vw,22px);line-height:1.5;max-width:560px;color:rgba(255,255,255,.9)}
.ab-det{max-width:640px;border:1px solid rgba(255,255,255,.35);border-radius:16px;background:rgba(0,0,0,.28);backdrop-filter:blur(8px)}
.ab-det summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;font-size:15px;font-weight:600}
.ab-det summary::-webkit-details-marker{display:none}
.ab-plus{position:relative;flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid #fff;transition:transform .5s cubic-bezier(.3,1.5,.4,1)}
.ab-plus::before,.ab-plus::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:#fff;transform:translate(-50%,-50%)}
.ab-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.ab-det[open] .ab-plus{transform:rotate(135deg)}
.ab-det p{padding:0 20px 20px;font-size:15px;line-height:1.65;color:rgba(255,255,255,.88)}

.ab-vis{position:relative;background:#fff}
.ab-vis-in{padding-top:130px;padding-bottom:130px;display:flex;flex-direction:column;gap:56px}
.ab-vis-h{display:flex;flex-direction:column;gap:22px;max-width:900px}
.ab-route{position:relative;height:170px}
.ab-route svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ab-dash{animation:abdash 3s linear infinite}
@keyframes abdash{to{stroke-dashoffset:-28}}
.ab-n{position:absolute;padding:8px 14px;border-radius:999px;background:#fff;border:1.5px solid var(--charcoal);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.ab-n1{left:0;bottom:0}.ab-n2{right:0;top:0}
.ab-vis-g{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:56px;align-items:start}
.ab-vs{font-size:clamp(20px,1.9vw,26px);line-height:1.4;letter-spacing:-.02em;font-weight:600}
.ab-long{padding:26px 28px;border-radius:18px;background:#f3f7fc;border:1px solid #e6edf6;display:flex;flex-direction:column;gap:12px}
.ab-long-k{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.ab-long p:last-child{font-size:16px;line-height:1.6;color:#2b2b2b}

.ab-vals{position:relative;overflow:hidden;background:#fff}
.ab-vals-in{padding-top:110px;padding-bottom:140px;display:flex;flex-direction:column;gap:56px;z-index:1}
.ab-vals-h{display:flex;flex-direction:column;gap:22px}
.ab-vgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ab-v{position:relative;overflow:hidden;isolation:isolate;min-height:300px;padding:28px 26px;border-radius:20px;background:rgba(255,255,255,.7);border:1px solid #ececec;display:flex;flex-direction:column;gap:14px;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,border-color .4s}
.ab-v:hover{transform:translateY(-8px);box-shadow:0 22px 44px rgba(20,20,20,.08);border-color:var(--c)}
.ab-vb{position:absolute;left:-10%;right:-10%;bottom:-45%;height:70%;border-radius:42% 58% 63% 37%/45% 38% 62% 55%;background:var(--c);filter:blur(36px);opacity:.28;transform:translateY(10%) scale(.9);animation:morph 10s ease-in-out infinite alternate;transition:opacity .7s,transform .9s cubic-bezier(.3,1.3,.4,1);z-index:-1}
.ab-v:hover .ab-vb{opacity:.7;transform:translateY(-6%) scale(1.15)}
.ab-vn{font:700 14px 'Alte Haas Grotesk','Archivo',sans-serif;letter-spacing:.1em;color:var(--c)}
.ab-vt{margin:0;font-size:clamp(24px,2.1vw,30px);line-height:1.08}
.ab-vp{font-size:15.5px;line-height:1.55;color:#2b2b2b;margin-top:auto}

.ab-vgrid.arm .ab-v{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.9);transform-origin:50% 70%}
.ab-vgrid.arm.dealt .ab-v{opacity:1;transform:none;animation:abdeal 1.5s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(var(--i) * .14s)}
.ab-vgrid.arm.dealt .ab-v:hover{transform:translateY(-8px)}
.ab-v:nth-child(1){--dx:-30vw;--dy:40vh;--rot:-14deg}
.ab-v:nth-child(2){--dx:0;--dy:55vh;--rot:8deg}
.ab-v:nth-child(3){--dx:30vw;--dy:40vh;--rot:14deg}
.ab-v:nth-child(4){--dx:-30vw;--dy:60vh;--rot:10deg}
.ab-v:nth-child(5){--dx:0;--dy:70vh;--rot:-6deg}
.ab-v:nth-child(6){--dx:30vw;--dy:60vh;--rot:-12deg}
@keyframes abdeal{0%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.92)}35%{opacity:1}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ab-vgrid.arm .ab-v{opacity:1 !important;transform:none !important}}
.ab-cta{position:relative;overflow:hidden;background:#fff}
.ab-cta-in{position:relative;z-index:1;padding-top:120px;padding-bottom:130px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:26px}
.ab-cta-h{margin:0;font-size:clamp(46px,6vw,92px)}
.ab-cta-p{font-size:clamp(17px,1.5vw,20px);line-height:1.5;max-width:460px;color:#2b2b2b}
.ab-hero.grain::after,.ab-vals.grain::after,.ab-cta.grain::after{opacity:.4}
@media (max-width: 980px){
.ab-hero-in,.ab-story-in,.ab-vis-g{grid-template-columns:minmax(0,1fr);gap:40px}
.ab-hero-in{padding-top:50px;padding-bottom:80px}
.ab-stage{justify-self:center}
.ab-side{position:relative;top:0}
.ab-ch{grid-template-columns:52px minmax(0,1fr)}
.ab-chn{font-size:40px}
.ab-vgrid{grid-template-columns:minmax(0,1fr)}
.ab-mis-in,.ab-vis-in{padding-top:90px;padding-bottom:90px}
.ab-route{height:130px}
}
@media (prefers-reduced-motion:reduce){.ab-ci,.ab-dash,.ab-vb{animation:none}}

/* ---------- contact page ---------- */
.cx-hero{position:relative;background:#fff;overflow:hidden}
.cx-hero-in{display:flex;justify-content:center;align-items:center;min-height:560px;padding-top:40px;padding-bottom:40px}
.cx-blob{position:relative;width:min(980px,100%);height:480px;display:flex;align-items:center;justify-content:center;border-radius:42% 58% 63% 37% / 45% 38% 62% 55%;background:radial-gradient(circle at 22% 30%,var(--green) 0%,transparent 42%),radial-gradient(circle at 80% 70%,var(--orange) 0%,transparent 46%),linear-gradient(120deg,var(--blue) 5%,var(--purple) 48%,var(--pink) 92%);overflow:hidden;cursor:auto;animation:cxm 14s ease-in-out infinite alternate}
@keyframes cxm{0%{border-radius:42% 58% 63% 37% / 45% 38% 62% 55%}50%{border-radius:60% 40% 44% 56% / 55% 52% 48% 45%}100%{border-radius:38% 62% 55% 45% / 40% 62% 38% 60%}}
.cx-blob.grain::after{opacity:.55}
.cx-blob .liquid{border-radius:inherit}
.cx-hero-t a{cursor:pointer}
.cx-hero-t{position:relative;z-index:3;padding:0 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px;max-width:640px;color:#fff}
.cx-h1{margin:0;font-size:clamp(56px,8vw,120px);font-family:'Alte Haas Grotesk','Archivo',sans-serif}
.cx-sub{font-size:clamp(16px,1.5vw,19px);line-height:1.5;color:rgba(255,255,255,.95);max-width:520px}
.cx-crumb{display:inline-flex;gap:10px;align-items:center;padding:8px 18px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--charcoal);font-size:14px;font-weight:600}
.cx-crumb a{color:var(--charcoal);text-decoration:none;opacity:.6}
.cx-crumb i{font-style:normal;opacity:.35}
.cx-main{background:#fff}
.cx-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;padding-top:50px;padding-bottom:90px;align-items:start}
.cx-info{display:flex;flex-direction:column;gap:22px;padding:36px 34px;border-radius:26px;background:#fff;border:1px solid #ececec;box-shadow:0 18px 50px rgba(20,20,20,.06)}
.cx-ih{margin:0;font-size:clamp(38px,4vw,58px);font-family:'Alte Haas Grotesk','Archivo',sans-serif}
.cx-ip{font-size:16px;line-height:1.6;color:#2b2b2b}
.cx-rows{display:flex;flex-direction:column}
.cx-row{display:flex;align-items:center;gap:16px;padding:18px 0;border-top:1px solid #ececec;color:var(--charcoal);text-decoration:none}
.cx-ic{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);transition:background .4s,color .4s,transform .6s cubic-bezier(.3,1.5,.4,1)}
.cx-row:hover .cx-ic{background:var(--c);color:#fff;transform:rotate(-8deg) scale(1.06)}
.cx-rt{display:flex;flex-direction:column;gap:3px;min-width:0}
.cx-rk{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7a7a7a}
.cx-rv{font-size:17px;font-weight:600;overflow-wrap:anywhere}
.cx-soc{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:6px;border-top:1px solid #ececec;padding-top:22px}
.cx-soc .cx-rk{margin-right:6px}
.cx-sp{font-size:14px;font-weight:600;padding:8px 16px;border-radius:999px;border:1.5px solid var(--charcoal);color:var(--charcoal);text-decoration:none;transition:background .3s,color .3s}
.cx-sp:hover{background:var(--charcoal);color:#fff}
.cx-form{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;gap:22px;padding:40px;border-radius:26px;background:#fff;border:1px solid #ececec;box-shadow:0 18px 50px rgba(20,20,20,.06)}
.cx-glow{position:absolute;z-index:-1;right:-120px;top:-120px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,#ffa24d 0%,var(--orange) 45%,transparent 72%);filter:blur(30px);opacity:.38}
.cx-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cx-l{display:flex;flex-direction:column;gap:9px}
.cx-l>span{font-size:14px;font-weight:600}
.cx-l input[type=text],.cx-l input[type=email],.cx-l textarea{font:inherit;font-size:15px;color:var(--charcoal);background:#f0eeee;border:1.5px solid transparent;border-radius:999px;padding:15px 20px;outline:none;width:100%;transition:border-color .3s,background .3s,box-shadow .3s}
.cx-l textarea{border-radius:22px;resize:vertical;min-height:140px}
.cx-l input::placeholder,.cx-l textarea::placeholder{color:#9a9a9a}
.cx-l input:focus,.cx-l textarea:focus{background:#fff;border-color:var(--blue);box-shadow:0 0 0 4px rgba(53,80,240,.12)}
.cx-chips{display:flex;flex-wrap:wrap;gap:10px}
.cx-chip{position:relative;cursor:pointer}
.cx-chip input{position:absolute;opacity:0;pointer-events:none}
.cx-chip i{display:inline-block;font-style:normal;font-size:14px;font-weight:600;padding:11px 20px;border-radius:999px;background:#f0eeee;color:var(--charcoal);border:1.5px solid transparent;transition:background .3s,color .3s,transform .5s cubic-bezier(.3,1.5,.4,1)}
.cx-chip:hover i{transform:translateY(-2px);border-color:var(--c)}
.cx-chip input:checked + i{background:var(--c);color:#fff}
.cx-chip input:focus-visible + i{outline:2px solid var(--charcoal);outline-offset:3px}
.cx-send{width:100%;justify-content:space-between;background:transparent;cursor:pointer;font-family:inherit}
.cx-ctaw{background:#fff;padding-bottom:120px}
.cx-cta{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:30px;align-items:center;min-height:460px;padding:72px 56px;border-radius:30px;background:var(--charcoal);color:#fff}
.cxb{position:absolute;z-index:-1;bottom:-48%;width:30%;height:70%;transform:translateX(-50%);border-radius:50% 50% 30% 30%/60% 60% 40% 40%;filter:blur(64px);opacity:.55;pointer-events:none;transition:bottom 1.4s cubic-bezier(.22,.61,.36,1),opacity 1.4s ease}
.cxb:nth-of-type(1){left:10%;background:var(--green)}.cxb:nth-of-type(2){left:30%;background:var(--blue);transition-delay:.06s}.cxb:nth-of-type(3){left:50%;background:var(--purple);transition-delay:.12s}.cxb:nth-of-type(4){left:70%;background:var(--pink);transition-delay:.18s}.cxb:nth-of-type(5){left:90%;background:var(--orange);transition-delay:.24s}
.cx-cta:hover .cxb{bottom:-22%;opacity:.95}
.cx-cta.grain::after{opacity:.35}
.cx-cta-t{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.cx-cta-h{margin:0;font-size:clamp(38px,4.6vw,68px);color:#fff}
.cx-cta-t p{font-size:16px;line-height:1.55;color:rgba(255,255,255,.8);max-width:420px}
.cx-cta-b{display:inline-flex;align-items:center;gap:12px;background:#fff;color:var(--charcoal);text-decoration:none;font-weight:600;padding:14px 22px 14px 26px;border-radius:999px;transition:transform .4s cubic-bezier(.3,1.5,.4,1)}
.cx-cta-b:hover{transform:translateY(-3px)}
.cx-cards{position:relative;height:320px}
.cx-card{position:absolute;width:250px;height:310px;border-radius:20px;background:#fff;color:var(--charcoal);padding:22px;display:flex;flex-direction:column;gap:6px;box-shadow:0 24px 60px rgba(0,0,0,.35);transition:transform 1s cubic-bezier(.22,1,.36,1)}
.cx-card1{left:6%;top:30px;transform:rotate(-9deg)}
.cx-card2{right:4%;top:-6px;transform:rotate(7deg)}
.cx-cta:hover .cx-card1{transform:rotate(-14deg) translateX(-14px)}
.cx-cta:hover .cx-card2{transform:rotate(11deg) translateX(14px)}
.cx-card-g{display:block;height:92px;border-radius:12px;margin-bottom:10px;background:radial-gradient(circle at 25% 25%,#ffb25e,var(--orange) 40%,var(--pink) 80%,var(--purple))}
.cx-card2 .cx-card-g{background:radial-gradient(circle at 70% 30%,var(--green),var(--blue) 50%,var(--purple))}
.cx-card .disp{margin:0;font-size:26px}
.cx-card-s{font-size:16px;font-weight:300}.cx-card-s.b{font-weight:700}
.cx-card-m{margin-top:auto;font-size:12px;font-weight:600;color:#7a7a7a}
@media (max-width:900px){.cx-grid{grid-template-columns:minmax(0,1fr);padding-bottom:60px}.cx-two{grid-template-columns:minmax(0,1fr)}.cx-form{padding:26px}.cx-info{padding:28px 24px}.cx-cta{grid-template-columns:minmax(0,1fr);padding:34px 26px}.cx-cards{height:340px}.cx-blob{height:420px}.cx-ctaw{padding-bottom:70px}}

/* 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}}

/* unified sub-page hero v5 (based on Home hero) */
.shx{position:relative;overflow:hidden;isolation:isolate;background:#0a0a12;color:#fff}
.shx header.hero,.shx header.hero.intro{background:transparent}
.shx .logo-img{background-color:#fff!important}
.shx .nl,.shx .menu-btn{color:#fff}
.shx .nav::after{background:rgba(255,255,255,.28)}
.shx-b{position:absolute;z-index:-2;border-radius:50%;filter:blur(90px);mix-blend-mode:screen;opacity:.62;will-change:transform;animation:shd1 17s ease-in-out infinite alternate}
.shx-b1{left:-14%;top:-30%;width:50%;height:62%;background:var(--a)}
.shx-b2{left:-12%;top:48%;width:44%;height:56%;background:var(--b);animation-name:shd2;animation-duration:20s}
.shx-b3{left:26%;top:72%;width:46%;height:52%;background:var(--c);animation-name:shd3;animation-duration:18s}
.shx-b4{right:-10%;top:-34%;width:46%;height:64%;background:var(--d);animation-name:shd2;animation-duration:22s;animation-direction:alternate-reverse}
.shx-b5{right:-8%;top:50%;width:36%;height:50%;background:var(--e);animation-duration:15s;animation-direction:alternate-reverse}
@keyframes shd1{to{transform:translate(6%,8%) scale(1.08)}}
@keyframes shd2{to{transform:translate(8%,-6%) scale(.94)}}
@keyframes shd3{to{transform:translate(-7%,-5%) scale(1.1)}}
.shx .liquid{z-index:-1}
.shx:has(.liquid.on) .shx-b{opacity:0;transition:opacity 1.6s ease}
.shx-gr{position:absolute;z-index:-1;inset:0;background:url(/assets/grain.png);background-size:200px;mix-blend-mode:overlay;opacity:1;pointer-events:none}
.shx-gr::after{content:"";position:absolute;inset:0;background:inherit;background-size:130px;mix-blend-mode:soft-light;opacity:.8}
.sh{position:relative}
.sh-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);column-gap:40px;align-items:end;padding-top:70px;padding-bottom:110px;min-height:min(70vh,600px)}
.sh-h1{grid-column:1/-1;grid-row:1;margin:0;font-weight:700;letter-spacing:-0.035em;line-height:.98;font-size:clamp(52px,7.6vw,118px);text-transform:uppercase;color:rgba(255,255,255,.94);opacity:.6}
.sh-h1 .ln{display:block;animation:shrise 1.2s cubic-bezier(.2,.75,.1,1) both}
.sh-h1 .ln:nth-child(1){padding-left:var(--i1,0%);animation-delay:.05s}
.sh-h1 .ln:nth-child(2){padding-left:var(--i2,10%);animation-delay:.18s}
.sh-h1 .lt{display:inline-block;cursor:default}
.sh-h1 .c{display:inline-block;font-style:normal;transition:transform .55s cubic-bezier(.3,1.5,.4,1),color .35s;transition-delay:calc(var(--i)*28ms)}
.sh-h1 .c.sp{width:.26em}
.sh-h1 .c.lg{font-weight:700}
.sh-h1 .lt:hover .c{transform:translateY(-.05em) rotate(-2deg)}
.sh-p{grid-column:2;grid-row:2;margin:36px 0 0;font-size:17px;line-height:1.55;color:#fff;opacity:.6;animation:shrise 1.2s .45s cubic-bezier(.2,.75,.1,1) both}
@keyframes shrise{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:none;filter:none}}
@media (max-width:900px){.sh-in{grid-template-columns:minmax(0,1fr);padding-top:40px;padding-bottom:70px;min-height:0}.sh-h1 .ln{padding-left:0!important}.sh-p{grid-column:1;margin-top:26px}}
@media (prefers-reduced-motion:reduce){.sh-h1 .ln,.sh-p,.shx-b{animation:none}}
.cta-in.cxc{position:relative;z-index:3;padding-top:130px;padding-bottom:130px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:center}
.cxc-l{display:flex;flex-direction:column;align-items:flex-start;gap:28px}
.cta-h{margin:0;font-size:clamp(44px,5.4vw,80px);color:#fff}
.cxc-p{margin:0;font-size:17px;line-height:1.55;max-width:400px;color:rgba(255,255,255,.88)}
.cxc .cx-cards{height:340px}
.cxc .cx-card{box-shadow:0 24px 60px rgba(0,0,0,.45)}
footer.dark:hover .cx-card1{transform:rotate(-14deg) translateX(-14px)}
footer.dark:hover .cx-card2{transform:rotate(11deg) translateX(14px)}
@media (max-width:900px){.cta-in.cxc{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:80px;padding-bottom:80px}.cxc .cx-cards{height:340px}}
/* 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}}
/* hero height = Home hero */
.shx{min-height:900px;display:flex;flex-direction:column}
.shx .sh{flex:1;display:flex}
.shx .sh-in{flex:1;width:100%;min-height:0;align-content:center;row-gap:0;padding-top:20px;padding-bottom:70px}
.shx .sh-p{align-self:end;margin-top:48px}
@media (max-width:900px){.shx{min-height:0}.shx .sh-in{align-content:start}}
/* contact: smooth reveal on enter, replays on scroll back */
.cx-grid.arm > .cx-info,.cx-grid.arm > .cx-form{animation:none !important}
.cx-grid.arm > .cx-info{opacity:0;transform:translate(-36px,56px) scale(.97)}
.cx-grid.arm > .cx-form{opacity:0;transform:translate(36px,72px) scale(.97)}
.cx-grid.arm > .cx-form > *{opacity:0;transform:translateY(22px)}
.cx-grid.arm.dealt > .cx-info,.cx-grid.arm.dealt > .cx-form{opacity:1;transform:none;transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1.2s cubic-bezier(.22,1,.36,1)}
.cx-grid.arm.dealt > .cx-form{transition-delay:.15s}
.cx-grid.arm.dealt > .cx-form > *{opacity:1;transform:none;transition:opacity .8s ease,transform 1s cubic-bezier(.22,1,.36,1)}
.cx-grid.arm.dealt > .cx-form > *:nth-child(1){transition-delay:.45s}.cx-grid.arm.dealt > .cx-form > *:nth-child(2){transition-delay:.55s}.cx-grid.arm.dealt > .cx-form > *:nth-child(3){transition-delay:.65s}.cx-grid.arm.dealt > .cx-form > *:nth-child(4){transition-delay:.75s}.cx-grid.arm.dealt > .cx-form > *:nth-child(n+5){transition-delay:.85s}
.cx-grid.arm > .cx-info > *{opacity:0;transform:translateY(18px)}
.cx-grid.arm.dealt > .cx-info > *{opacity:1;transform:none;transition:opacity .8s ease,transform 1s cubic-bezier(.22,1,.36,1)}
.cx-grid.arm.dealt > .cx-info > *:nth-child(1){transition-delay:.3s}.cx-grid.arm.dealt > .cx-info > *:nth-child(2){transition-delay:.4s}.cx-grid.arm.dealt > .cx-info > *:nth-child(3){transition-delay:.5s}.cx-grid.arm.dealt > .cx-info > *:nth-child(n+4){transition-delay:.6s}
@media (prefers-reduced-motion:reduce){.cx-grid.arm > *,.cx-grid.arm > * > *{opacity:1 !important;transform:none !important}}
/* footer: no entrance animation */
footer .wrap > *,footer .rv,footer .cta-in,footer .foot,footer .foot > *{animation:none !important}
/* responsive v1 */
.sh-h1 .wd{display:inline-block;white-space:nowrap}
@media (max-width:900px){.sh-h1{font-size:clamp(32px,10.2vw,64px)}}
@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 v2 */
.cx-l input[type=text],.cx-l input[type=email],.cx-l textarea{box-sizing:border-box;max-width:100%}
/* 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}}
/* contact info rows: mobile text fit */
@media (max-width:600px){.cx-soc .cx-rk{flex-basis:100%;margin-right:0}}
.cx-rt{min-width:0}
@media (max-width:600px){.cx-info{padding:26px 20px}.cx-row{gap:12px}.cx-ic{width:40px;height:40px}.cx-ic svg{width:18px;height:18px}.cx-rv{font-size:clamp(13px,4vw,16px);overflow-wrap:normal;text-wrap:balance}.cx-row[href^="mailto"] .cx-rv{font-size:clamp(11px,3.6vw,16px);white-space:nowrap}}
/* hero v2: dark base, rising brand glow, dim-to-bright headline */
.shx-b{display:none}
.shx-glow{position:absolute;z-index:-2;left:-12%;right:-12%;bottom:-30%;height:88%;pointer-events:none;background:radial-gradient(38% 52% at 20% 74%,var(--blue) 0,transparent 72%),radial-gradient(36% 56% at 42% 84%,var(--green) 0,transparent 72%),radial-gradient(38% 58% at 60% 80%,var(--purple) 0,transparent 72%),radial-gradient(34% 52% at 80% 78%,var(--pink) 0,transparent 72%),radial-gradient(30% 46% at 96% 90%,var(--orange) 0,transparent 72%);filter:blur(46px);opacity:.9;animation:shglow 14s ease-in-out infinite alternate;-webkit-mask-image:linear-gradient(to top,#000 40%,transparent 100%);mask-image:linear-gradient(to top,#000 40%,transparent 100%)}
@keyframes shglow{from{transform:translateX(-2%) scale(1)}to{transform:translateX(2%) scale(1.06)}}
.shx .liquid{-webkit-mask-image:linear-gradient(to top,#000 0,#000 18%,transparent 70%);mask-image:linear-gradient(to top,#000 0,#000 18%,transparent 70%)}
@keyframes shrise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.shx .sh-in{grid-template-columns:minmax(0,1fr) minmax(0,360px);grid-template-rows:auto auto auto auto;column-gap:48px;row-gap:0;align-content:stretch;align-items:start;padding-top:36px;padding-bottom:44px}
.sh-tag{grid-column:1;grid-row:1;justify-self:start;display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.06);font-size:13px;font-weight:600;color:#fff;animation:shrise 1s .02s cubic-bezier(.2,.75,.1,1) both}
.sh-tag i{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--blue) 50%,var(--pink))}
.shx .sh-h1{grid-column:1;grid-row:2;margin:0;text-transform:none;opacity:1;font-weight:700;letter-spacing:-0.035em;line-height:1.02;font-size:clamp(40px,5.8vw,88px);color:#fff;max-width:11.5em}
.shx .sh-h1 .ln{padding-left:0!important}
.sh-side{grid-column:2;grid-row:2;align-self:end;animation:shrise 1.1s .4s cubic-bezier(.2,.75,.1,1) both}
.shx .sh-p{margin:0;animation:none;opacity:.78;font-size:17px;line-height:1.55;max-width:34em}
.sh-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.shb{display:inline-flex;align-items:center;padding:13px 24px;border-radius:999px;font-size:15px;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.3);text-decoration:none;transition:background .35s,color .35s,transform .35s,border-color .35s}
.shb.on{background:#fff;color:#0a0a0a;border-color:#fff}
.shb:hover{transform:translateY(-2px);background:rgba(255,255,255,.14)}
.shb.on:hover{background:#f1f1f1}
.sh-meta{grid-column:1;grid-row:3;align-self:end;display:flex;align-items:center;gap:14px;margin-top:64px;animation:shrise 1.1s .55s cubic-bezier(.2,.75,.1,1) both}
.sh-av{display:flex}
.sh-av i{width:38px;height:38px;border-radius:50%;border:2px solid #0a0a12;margin-left:-10px}
.sh-av i:first-child{margin-left:0}
.sh-av i:nth-child(1){background:var(--green)}.sh-av i:nth-child(2){background:var(--blue)}.sh-av i:nth-child(3){background:var(--purple)}.sh-av i:nth-child(4){background:var(--pink)}
.sh-meta span{font-size:14px;line-height:1.35;color:rgba(255,255,255,.8)}
.sh-meta b{display:block;color:#fff;font-weight:700}
.sh-cards{grid-column:2;grid-row:3;align-self:end;justify-self:end;display:flex;gap:12px;margin-top:64px;animation:shrise 1.1s .65s cubic-bezier(.2,.75,.1,1) both}
.sh-card{width:104px;padding:10px;border-radius:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:shfloat 6s ease-in-out infinite alternate}
.sh-card:nth-child(2){animation-delay:-2s;margin-top:-18px}.sh-card:nth-child(3){animation-delay:-4s}
.sh-card i{display:block;height:58px;border-radius:11px;margin-bottom:9px}
.sh-card:nth-child(1) i{background:linear-gradient(135deg,var(--green),var(--blue))}
.sh-card:nth-child(2) i{background:linear-gradient(135deg,var(--purple),var(--pink))}
.sh-card:nth-child(3) i{background:linear-gradient(135deg,var(--pink),var(--orange))}
.sh-card span{display:block;font-size:12px;font-weight:600;color:#fff;text-align:center}
@keyframes shfloat{from{transform:translateY(-5px)}to{transform:translateY(6px)}}
.sh-more{grid-column:1/-1;grid-row:4;justify-self:center;margin-top:44px;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#fff;text-decoration:none;opacity:.85;transition:opacity .3s,gap .3s;animation:shrise 1.1s .8s cubic-bezier(.2,.75,.1,1) both}
.sh-more:hover{opacity:1;gap:14px}
@media (max-width:900px){.shx .sh-in{grid-template-columns:minmax(0,1fr);padding-top:28px;padding-bottom:36px}.sh-tag,.shx .sh-h1,.sh-side,.sh-meta,.sh-cards,.sh-more{grid-column:1}.sh-tag{grid-row:1}.shx .sh-h1{grid-row:2;margin-top:22px;font-size:clamp(34px,10.4vw,64px)}.sh-side{grid-row:3;margin-top:26px}.sh-meta{grid-row:4;margin-top:30px}.sh-cards{grid-row:5;justify-self:start;margin-top:36px}.sh-more{grid-row:6;margin-top:30px;justify-self:start}}
@media (max-width:420px){.sh-card{width:30vw}.sh-card i{height:44px}.sh-cards{gap:8px;width:100%}}
@media (prefers-reduced-motion:reduce){.shx-glow,.sh-card,.sh-tag,.sh-side,.sh-meta,.sh-cards,.sh-more{animation:none}}
.shx header.hero{min-height:0;flex:0 0 auto}
/* hero fx: cursor spotlight, letters light up in brand colours, glow parallax */
.shx-spot{position:absolute;z-index:-1;left:0;top:0;width:460px;height:460px;margin:-230px 0 0 -230px;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,rgba(255,255,255,.2),rgba(255,255,255,.06) 55%,transparent);mix-blend-mode:soft-light;opacity:0;transform:translate(var(--sx,-999px),var(--sy,-999px));transition:opacity .6s ease}
.shx.fx-on .shx-spot{opacity:1}
.shx-glow{translate:calc(var(--mx,0) * -3%) calc(var(--my,0) * -5%);transition:translate 1.4s cubic-bezier(.2,.7,.2,1)}
.shx .sh-h1 .c{color:color-mix(in srgb,#fff min(100%,calc((.3 + .7 * var(--k,1)) * 100%)),transparent);transform:none;transition:none}
.shx .sh-h1 .wd:has(.c){position:relative}
@media (hover:none){.shx-spot{display:none}}
/* 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}
/* hero v3: pastel gradient card on white, animated only */
.shx{background:#fff !important;color:var(--charcoal) !important;min-height:max(620px,min(100vh,800px)) !important;display:flex;flex-direction:column;overflow:visible !important}
.shx header.hero,.shx header.hero.intro{background:transparent !important;min-height:0 !important;flex:0 0 auto}
.shx .logo-img{background-color:var(--charcoal) !important}
.shx .nl,.shx .menu-btn{color:var(--charcoal) !important}
.shx .nav::after{content:none !important;display:none !important;background:none !important;border:0 !important}
.shx header.hero,.shx .hero-in,.shx .nav{border-bottom:0 !important;box-shadow:none !important}
.shx .sh{position:relative;flex:1 1 auto;display:flex;align-items:center;justify-content:center;width:calc(100% - 64px);max-width:1376px;margin:0 auto 32px;border-radius:32px;overflow:hidden;clip-path:inset(0 round 32px);isolation:isolate;background:var(--base,#eef);min-height:440px}
.shx .sh-in{position:relative;z-index:3;display:flex !important;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;max-width:1100px;margin:0 auto;padding:56px 32px !important;min-height:0;grid-template-columns:none !important}
.shx .sh::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 55% 45% at 50% 50%,rgba(20,22,40,.34),transparent 72%)}
.shx .sh .shx-b{display:block !important;position:absolute;z-index:0;border-radius:50%;filter:blur(86px);mix-blend-mode:normal;opacity:.72;will-change:transform;pointer-events:none}
.shx .sh .shx-b1{background:var(--a)}.shx .sh .shx-b2{background:var(--b)}.shx .sh .shx-b3{background:var(--c)}.shx .sh .shx-b4{background:var(--d)}.shx .sh .shx-b5{background:var(--e)}
.shx .sh .shx-gr{position:absolute;z-index:1;inset:0;background:url(/assets/grain.png);background-size:200px;mix-blend-mode:overlay;opacity:1;pointer-events:none}
.shx .sh-h1{grid-column:auto;margin:0;text-align:center;text-transform:none;opacity:1;font-weight:700;letter-spacing:-0.035em;line-height:1.04;font-size:clamp(36px,5.4vw,80px);color:#fff;max-width:13em;text-shadow:0 2px 40px rgba(20,20,40,.18)}
.shx .sh-h1 .ln{padding-left:0 !important;text-align:center}
.shx .sh-h1 .c{color:#fff !important;transform:none !important;transition:none !important}
.shx .sh-h1 .lt:hover .c{transform:none !important}
.shx .sh-side{grid-column:auto;align-self:center;justify-self:center;width:100%;margin-top:22px;text-align:center;animation:shrise 1.1s .4s cubic-bezier(.2,.75,.1,1) both}
.shx .sh-p{margin:0 auto;max-width:32em;color:#fff;opacity:.92;font-size:clamp(15px,1.5vw,18px);text-shadow:0 1px 24px rgba(20,20,40,.2)}
.shx-glow,.shx-spot,.shx .liquid,.shx canvas{display:none !important}
@media (max-width:900px){.shx{min-height:max(560px,min(100svh,820px)) !important}.shx .sh{width:calc(100% - 32px);border-radius:24px;clip-path:inset(0 round 24px);margin-bottom:16px;min-height:420px}.shx .sh-in{padding:40px 20px !important}.shx .sh-h1{font-size:clamp(32px,9.4vw,56px)}}
@media (prefers-reduced-motion:reduce){.shx .sh .shx-b{animation:none}}
.shx .sh .shx-b1{left:34%;top:52%;width:54%;height:61%;animation:shd1 17s ease-in-out infinite alternate}
.shx .sh .shx-b2{left:-14%;top:10%;width:44%;height:54%;animation:shd2 20s ease-in-out infinite alternate;animation-direction:alternate-reverse}
.shx .sh .shx-b3{left:56%;top:-26%;width:48%;height:54%;animation:shd3 18s ease-in-out infinite alternate}
.shx .sh .shx-b4{left:-6%;top:58%;width:34%;height:42%;animation:shd2 22s ease-in-out infinite alternate;animation-direction:alternate-reverse}
.shx .sh .shx-b5{left:78%;top:26%;width:31%;height:48%;animation:shd1 15s ease-in-out infinite alternate}
/* hero v3b: shorter card, taller white space, divider */
.shx{border-bottom:1px solid rgba(20,20,20,.14)}
.shx .sh{flex:0 0 auto;height:clamp(380px,min(58vh,500px),500px);min-height:0;margin-bottom:0}
@media (max-width:900px){.shx .sh{height:clamp(360px,min(56svh,460px),460px);min-height:0;margin-bottom:0}}
/* hero v3c: one-line centered headline, subhead outside card */
.shx .sh-h1{font-size:clamp(28px,3.7vw,56px);max-width:none;white-space:nowrap;line-height:1.1}
.shx .sh-h1 .ln{display:inline-block;vertical-align:top}
.shx .sh-h1 .ln + .ln{margin-left:.28em}
.shx .sh-in{padding:32px 24px !important}
.shx > .sh-side{width:calc(100% - 64px);max-width:1376px;margin:30px auto 0;padding:0 8px;text-align:center;animation:shrise 1.1s .4s cubic-bezier(.2,.75,.1,1) both}
.shx > .sh-side .sh-p{color:var(--charcoal);opacity:.68;text-shadow:none;margin:0 auto;max-width:36em;font-size:clamp(15px,1.4vw,18px);line-height:1.55}
@media (max-width:900px){.shx .sh-h1{font-size:clamp(24px,7.2vw,40px);white-space:normal}.shx .sh-h1 .ln{display:block}.shx .sh-h1 .ln + .ln{margin-left:0}.shx > .sh-side{width:calc(100% - 32px);margin-top:22px}}
/* hero v3d: left subhead, no headline shadow */
.shx .sh-h1{text-shadow:none !important}
.shx > .sh-side{text-align:left;padding:0}
.shx > .sh-side .sh-p{margin:0;text-align:left;max-width:40em}
/* hero v3e: black subhead */
.shx > .sh-side .sh-p{color:#0a0a0a !important;opacity:1 !important}
/* hero v3f: fit viewport height */
.shx{height:max(640px,min(100vh,1000px)) !important;min-height:0 !important;box-sizing:border-box;padding-bottom:36px}
.shx .sh{flex:1 1 auto !important;height:auto !important;min-height:300px !important;margin-bottom:0}
.shx > .sh-side{flex:0 0 auto}
@media (max-width:900px){.shx{height:max(600px,min(100svh,900px)) !important;padding-bottom:24px}.shx .sh{height:auto !important;min-height:280px !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%}

/* ================= contact v2: brief builder ================= */
.bx{position:relative;background:#fff}
.bx-wrap{padding-top:56px;padding-bottom:130px;display:flex;flex-direction:column;gap:64px}
.bx-wrap > *{animation:none !important}
.bx-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6}
.bx-cell{display:flex;flex-direction:column;gap:8px;padding:20px 20px 22px;border-left:1px solid #e6e6e6;min-width:0}
.bx-cell:first-child{border-left:0;padding-left:0}
.bx-k{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#9a9a9a}
.bx-k em{font-style:normal;color:#c2c2c2;letter-spacing:.1em}
.bx-v{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:15px;font-weight:600;min-width:0}
.bx-v a{color:var(--charcoal);text-decoration:none;overflow-wrap:anywhere}
.bx-v a:hover{color:var(--blue)}
.bx-copy{all:unset;cursor:pointer;height:26px;padding:0 10px;border-radius:999px;border:1px solid #dcdcdc;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;transition:background .3s,border-color .3s}
.bx-copy:hover{border-color:var(--charcoal)}
.bx-copy:focus-visible{outline:2px solid var(--charcoal);outline-offset:2px}
.bx-clock{font-variant-numeric:tabular-nums}
.bx-dot{width:8px;height:8px;border-radius:50%;background:#c4c4c4}
.bx-dot.on{background:var(--green);box-shadow:0 0 0 4px rgba(25,195,125,.18)}
.bx-open{font-weight:500;color:#7a7a7a;font-size:13px}
.bx-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:56px;align-items:start}
.bx-letter{display:flex;flex-direction:column;gap:36px}
.bx-eyebrow{margin:0;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;font-size:14px;color:#7a7a7a}
.bx-eyebrow span{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--charcoal)}
.bx-s{font-size:clamp(28px,3.2vw,48px);line-height:1.5;letter-spacing:-.025em;color:var(--charcoal)}
.bx-in{font:inherit;letter-spacing:inherit;color:var(--blue);background:transparent;border:0;border-bottom:2px solid #d6d6d6;padding:0 2px;margin:0 2px;border-radius:0;outline:none;field-sizing:content;min-width:4ch;width:9ch;max-width:100%;transition:border-color .3s}
@supports (field-sizing:content){.bx-in{width:auto}}
.bx-in::placeholder{color:#c9c9c9}
.bx-in:focus{border-bottom-color:var(--blue)}
.bx-mail{color:var(--charcoal)}
.bx-opts{display:inline}.bx-nw{white-space:nowrap}
.bx-o{cursor:pointer;display:inline;outline:none;font:inherit;letter-spacing:inherit;line-height:1.2;color:#c4c4c4;padding:0 .12em;margin:0 .04em;border-radius:.2em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:color .3s,background .3s}
.bx-sep{color:#dedede;font-weight:400}
.bx-o:hover{color:var(--charcoal)}
.bx-o.on{color:#fff;background:var(--c,var(--charcoal))}

.bx-o:focus-visible{outline:2px solid var(--charcoal);outline-offset:2px}
.bx-note{display:flex;flex-direction:column;gap:10px}
.bx-note textarea{font:inherit;font-size:16px;line-height:1.6;color:var(--charcoal);border:1px solid #e0e0e0;border-radius:16px;padding:16px 18px;resize:vertical;outline:none;transition:border-color .3s}
.bx-note textarea:focus{border-color:var(--charcoal)}
.bx-ticket{position:sticky;top:100px;display:flex;flex-direction:column;gap:18px;padding:0 28px 28px;border:1px solid #e6e6e6;border-radius:24px;overflow:hidden;background:#fff}
.bx-tbar{height:8px;margin:0 -28px;transition:background .5s}
.bx-th{display:flex;justify-content:space-between;align-items:center;padding-top:6px}
.bx-prog{font-size:12px;font-weight:700;color:var(--charcoal);font-variant-numeric:tabular-nums}
.bx-dl{margin:0;display:flex;flex-direction:column;border-top:1px solid #efefef}
.bx-dl > div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid #efefef}
.bx-dl dt{font-size:12px;font-weight:600;color:#9a9a9a}
.bx-dl dd{margin:0;font-size:15px;font-weight:600;color:var(--charcoal);overflow-wrap:anywhere;transition:color .3s}
.bx-dl dd.empty{color:#cfcfcf;font-weight:500}
.bx-meter{height:4px;border-radius:999px;background:#f0f0f0;overflow:hidden}
.bx-meter i{display:block;height:100%;background:var(--charcoal);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.bx-send{display:flex;align-items:center;justify-content:center;gap:10px;height:56px;border-radius:999px;background:var(--charcoal);color:#fff !important;font-weight:700;font-size:16px;text-decoration:none;transition:background .3s,gap .35s cubic-bezier(.2,.8,.2,1),opacity .3s}
.bx-send:hover{gap:16px}
.bx-send.off{background:#e9e9e9;color:#9a9a9a !important;pointer-events:none}
.bx-hint{margin:-6px 0 0;font-size:12.5px;color:#9a9a9a;text-align:center}
@media (max-width:980px){
.bx-wrap{gap:44px;padding-bottom:90px}
.bx-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
.bx-cell:nth-child(3){border-left:0;padding-left:0}
.bx-cell:nth-child(n+3){border-top:1px solid #e6e6e6}
.bx-grid{grid-template-columns:minmax(0,1fr);gap:40px}
.bx-ticket{position:static}
.bx-s{font-size:clamp(24px,6.6vw,34px)}
}
@media (max-width:520px){.bx-strip{grid-template-columns:minmax(0,1fr)}.bx-cell{border-left:0 !important;padding-left:0 !important}.bx-cell + .bx-cell{border-top:1px solid #e6e6e6}.bx-ticket{padding:0 20px 22px}.bx-tbar{margin:0 -20px}}

/* contact v3: copy icon, modes, quick form */
.bx-copy{all:unset;box-sizing:border-box;cursor:pointer;position:relative;flex:none;width:30px;height:30px;border-radius:50%;border:1px solid #dcdcdc;display:grid;place-items:center;color:var(--charcoal);transition:background .3s,border-color .3s,color .3s}
.bx-copy:hover{border-color:var(--charcoal);background:var(--charcoal);color:#fff}
.bx-copy:focus-visible{outline:2px solid var(--charcoal);outline-offset:2px}
.bx-copy > span{grid-area:1/1;display:grid;place-items:center;transition:opacity .25s,transform .35s cubic-bezier(.3,1.5,.5,1)}
.bx-ck{opacity:0;transform:scale(.4)}
.bx-copy.done{background:var(--green);border-color:var(--green);color:#fff}
.bx-copy.done .bx-ci{opacity:0;transform:scale(.4)}
.bx-copy.done .bx-ck{opacity:1;transform:none}
.bx-main{display:flex;flex-direction:column;gap:36px;min-width:0}
.bx-mode{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}
.bx-mk{font-size:15px;font-weight:600}
.bx-seg{display:flex;padding:4px;border:1px solid #dcdcdc;border-radius:999px}
.bx-seg button{all:unset;cursor:pointer;height:36px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:600;color:#7a7a7a;display:inline-flex;align-items:center;transition:background .3s,color .3s}
.bx-seg button.on{background:var(--charcoal);color:#fff}
.bx-seg button:focus-visible{outline:2px solid var(--charcoal);outline-offset:2px}
.bx-pane{display:flex;flex-direction:column;gap:28px}
.bx-pane.hide{display:none}
.bx-pane.show{animation:bxin .5s cubic-bezier(.16,1,.3,1) both !important}
@keyframes bxin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.qf-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.qf-l{display:flex;flex-direction:column;gap:10px;min-width:0}
.qf-l > span{font-size:13px;font-weight:600;color:var(--charcoal)}
.qf-l > span b{color:var(--pink);font-weight:700}
.qf-l > span em{font-style:normal;font-weight:500;color:#9a9a9a;margin-left:6px}
.qf-l input,.qf-l textarea{font:inherit;font-size:16px;color:var(--charcoal);background:#fff;border:1px solid #dcdcdc;border-radius:14px;padding:14px 16px;outline:none;transition:border-color .3s,box-shadow .3s;min-width:0}
.qf-l textarea{resize:vertical;line-height:1.6}
.qf-l input:focus,.qf-l textarea:focus{border-color:var(--charcoal);box-shadow:0 0 0 4px rgba(20,20,20,.06)}
.qf-l input::placeholder,.qf-l textarea::placeholder{color:#b5b5b5}
.qf-cs{display:flex;flex-wrap:wrap;gap:8px}
.qf-c{cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:999px;border:1px solid #dcdcdc;font-size:14px;font-weight:600;color:var(--charcoal);outline:none;transition:background .3s,border-color .3s,color .3s}
.qf-c i{width:8px;height:8px;border-radius:50%;background:var(--c)}
.qf-c:hover{border-color:var(--charcoal)}
.qf-c.on{background:var(--c,var(--charcoal));border-color:var(--c,var(--charcoal));color:#fff}
.qf-c.on i{background:#fff}
.qf-c:focus-visible{outline:2px solid var(--charcoal);outline-offset:2px}
@media (max-width:640px){.qf-two{grid-template-columns:minmax(0,1fr)}.bx-seg{width:100%}.bx-seg button{flex:1;justify-content:center}}

/* brief send states */
.bx-send{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:56px;border-radius:999px;background:var(--charcoal);color:#fff;font-weight:700;font-size:16px}
.bx-send.off{background:#e9e9e9;color:#9a9a9a;cursor:not-allowed;pointer-events:auto}
.bx-send:focus-visible{outline:2px solid var(--charcoal);outline-offset:3px}
.bx-send.busy{opacity:.7;cursor:progress}
.bx-tk-body{display:flex;flex-direction:column;gap:18px}
.bx-ok{display:none;flex-direction:column;align-items:flex-start;gap:12px;padding:12px 0 6px}
.bx-ticket.sent .bx-tk-body{display:none}
.bx-ticket.sent .bx-ok{display:flex;animation:bxin .6s cubic-bezier(.16,1,.3,1) both !important}
.bx-ok-i{width:56px;height:56px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center}
.bx-ok-h{margin:6px 0 0;font-size:32px;line-height:1;letter-spacing:-.03em}
.bx-ok-p{margin:0;font-size:15px;line-height:1.6;color:#4a4a4a;overflow-wrap:anywhere}
.bx-again{all:unset;cursor:pointer;margin-top:8px;height:44px;padding:0 20px;border-radius:999px;border:1px solid #dcdcdc;font-size:14px;font-weight:600;display:inline-flex;align-items:center;transition:border-color .3s}
.bx-again:hover{border-color:var(--charcoal)}
.bx-again:focus-visible{outline:2px solid var(--charcoal);outline-offset:2px}

/* focus v2: flowing MERGE-gradient border */
@keyframes qfflow{from{background-position:0 0,0% 0}to{background-position:0 0,300% 0}}
@keyframes qfline{from{background-position:0% 100%}to{background-position:300% 100%}}
.qf-l input,.qf-l textarea,.bx-note textarea{border:1.5px solid transparent !important;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#dcdcdc,#dcdcdc) border-box;background-size:100% 100%,100% 100%;box-shadow:none !important;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.qf-l input:hover,.qf-l textarea:hover,.bx-note textarea:hover{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#b5b5b5,#b5b5b5) border-box}
.qf-l input:focus,.qf-l textarea:focus,.bx-note textarea:focus{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,var(--green),var(--blue),var(--purple),var(--pink),var(--orange),var(--green)) border-box;background-size:100% 100%,300% 100%;animation:qfflow 3.5s linear infinite !important;outline:none}
.qf-l:focus-within > span{color:var(--charcoal)}
.qf-l > span{transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.qf-l:focus-within > span{transform:translateX(6px)}
.qf-l > span::before{content:"";display:inline-block;width:0;height:7px;margin-right:0;border-radius:999px;vertical-align:middle;background:linear-gradient(90deg,var(--green),var(--blue),var(--purple),var(--pink),var(--orange));transition:width .35s cubic-bezier(.2,.8,.2,1),margin .35s}
.qf-l:focus-within > span::before{width:18px;margin-right:8px}
.bx-in{border-bottom:0 !important;padding-bottom:2px;background:linear-gradient(90deg,#d6d6d6,#d6d6d6) left bottom/100% 2px no-repeat}
.bx-in:focus{background:linear-gradient(90deg,var(--green),var(--blue),var(--purple),var(--pink),var(--orange),var(--green)) 0 100%/300% 3px no-repeat;animation:qfline 3.5s linear infinite !important}
@media (prefers-reduced-motion:reduce){.qf-l input:focus,.qf-l textarea:focus,.bx-note textarea:focus,.bx-in:focus{animation:none !important}}
