/* MERGE — Bēquebēque page. Converted from the MERGE design canvas (Bequebeque.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);filter:blur(8px)}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}}

/* ---------- projects page ---------- */
.pj-hero{position:relative;overflow:hidden;background:#fff}
.pj-hero-in{display:flex;flex-direction:column;gap:28px;padding-top:70px;padding-bottom:60px}
.pj-hero h1{font-family:'Alte Haas Grotesk','Archivo',sans-serif}
.pj-sec{background:#fff}
.pj-in{padding-top:56px;padding-bottom:140px;display:flex;flex-direction:column;gap:28px}
.pj-filter{display:flex;flex-wrap:wrap;gap:10px}
.pj-filter input{position:absolute;opacity:0;pointer-events:none}
.pj-filter label{cursor:pointer;font-size:14px;font-weight:600;padding:10px 18px;border-radius:999px;border:1.5px solid var(--charcoal);color:var(--charcoal);transition:background .3s,color .3s}
.pj-filter label:hover{background:#f1f1f1}
.pj-filter input:checked + label{background:var(--charcoal);color:#fff}
.pj-filter input:focus-visible + label{outline:2px solid var(--blue);outline-offset:3px}
.pj-list{border-top:1.5px solid var(--charcoal)}
.pjr{position:relative;overflow:hidden;isolation:isolate;border-bottom:1.5px solid var(--charcoal);color:var(--charcoal);transition:color .5s}
.pjr summary{position:relative;list-style:none;cursor:pointer;display:grid;grid-template-columns:90px minmax(0,1fr) auto 56px;align-items:center;gap:24px;padding:34px 8px}
.pjr summary::-webkit-details-marker{display:none}
.pjr-f{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 20% 50%,var(--k1) 0%,var(--k2) 70%,var(--k2) 100%);transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.pjr-f::after{content:"";position:absolute;inset:0;background-image:url(/assets/grain.png);background-size:220px 220px;mix-blend-mode:overlay;opacity:.5}
.pj-sec .pjr.grain::after{opacity:.2}
.pjr:hover,.pjr[open]{color:#fff}
.pjr:hover .pjr-f,.pjr[open] .pjr-f{transform:none}
.pjr-n{font:700 15px 'Alte Haas Grotesk','Archivo',sans-serif;letter-spacing:.1em;opacity:.55}
.pjr-name{font-size:clamp(34px,5.6vw,84px);transition:transform .8s cubic-bezier(.22,1,.36,1)}
.pjr:hover .pjr-name{transform:translateX(18px)}
.pjr-tag{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-align:right}
.pjr-go{width:52px;height:52px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;transition:transform .7s cubic-bezier(.3,1.5,.4,1),background .4s,color .4s}
.pjr:hover .pjr-go{background:#fff;color:var(--charcoal)}
.pjr[open] .pjr-go{transform:rotate(90deg);background:#fff;color:var(--charcoal)}
.pjr summary:focus-visible{outline:2px solid var(--blue);outline-offset:-4px}
.pjr-det{display:flex;flex-direction:column;gap:30px;padding:6px 8px 44px 114px;animation:pjopen .6s cubic-bezier(.2,.8,.2,1)}
.pjr-txt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.pjr-gal{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}
.pjr-ph{position:relative;height:300px;border-radius:18px;border:1.5px dashed rgba(20,20,20,.28);background:linear-gradient(135deg,#f6f6f8,#eceef6);color:#8a8a99;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.04em;overflow:hidden;transition:border-color .4s,color .4s,transform .6s cubic-bezier(.3,1.5,.4,1)}
.pjr-ph::before{content:"";position:absolute;inset:auto -20% -50% -20%;height:70%;border-radius:50%;background:radial-gradient(circle,var(--k1),var(--k2) 60%,transparent 72%);filter:blur(30px);opacity:.14;transition:opacity .5s}
.pjr-ph:hover{border-color:var(--k2);color:var(--charcoal);transform:translateY(-4px)}
.pjr-ph:hover::before{opacity:.35}
.pjr-ph svg,.pjr-ph span{position:relative}
.pjr-det p{font-size:15px;line-height:1.5;color:var(--charcoal)}
.pjr-det b{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;opacity:.6;color:var(--charcoal)}
@keyframes pjopen{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.pj-sec:has(#fb:checked) .pjr:not([data-t~="b"]),.pj-sec:has(#fd:checked) .pjr:not([data-t~="d"]),.pj-sec:has(#fm:checked) .pjr:not([data-t~="m"]){display:none}
.pj-list.arm .pjr{opacity:0;transform:translateX(var(--dx))}
.pj-list.arm.dealt .pjr{opacity:1;transform:none;animation:pjin 1.2s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(var(--i) * .1s)}
@keyframes pjin{0%{opacity:0;transform:translateX(var(--dx))}40%{opacity:1}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pj-list.arm .pjr{opacity:1 !important;transform:none !important}}
@media (max-width:900px){.pjr summary{grid-template-columns:44px minmax(0,1fr) 44px;gap:14px}.pjr-tag{display:none}.pjr-go{width:44px;height:44px}.pjr-det{padding-left:8px}.pjr-txt{grid-template-columns:minmax(0,1fr);gap:18px}.pjr-gal{grid-template-columns:minmax(0,1fr)}.pjr-ph{height:220px}}

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

/* ---------- page heroes ---------- */
@keyframes hxrise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
.hx-body{position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:28px;padding:80px 0 120px}
.hx-body>*{animation:hxrise 1.2s cubic-bezier(.16,1,.3,1) both}
.hx-body>*:nth-child(2){animation-delay:.12s}.hx-body>*:nth-child(3){animation-delay:.24s}.hx-body>*:nth-child(4){animation-delay:.36s}
.hx-h1{margin:0;font-size:clamp(48px,8vw,124px);font-family:'Alte Haas Grotesk','Archivo',sans-serif;letter-spacing:-.04em;line-height:.96}
.hx-p{margin:0;font-size:clamp(17px,1.6vw,21px);line-height:1.5;max-width:520px}

.hx-bg-proj{position:relative;overflow:hidden;background:#fff}
.hx-bg-proj .hero.intro,.hx-bg-proj .pj-hero{background:transparent}
.hx-bg-proj .pj-hero-in{padding-bottom:70px}
.hx-bg-proj .ab-h1{font-size:clamp(48px,8vw,124px);max-width:9em}
.hx-mq{position:relative;overflow:hidden;padding:26px 0 60px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.hx-mqt{display:flex;width:max-content;animation:hxmq 38s linear infinite}
.hx-mqt span{display:inline-flex;align-items:center;gap:36px;padding-right:36px;font:700 clamp(54px,8vw,120px)/1 'Alte Haas Grotesk','Archivo',sans-serif;letter-spacing:-.04em;text-transform:uppercase;color:transparent;-webkit-text-stroke:1.5px var(--charcoal);white-space:nowrap}
.hx-mqt span b{font-weight:700;-webkit-text-stroke:0;background:linear-gradient(90deg,var(--green),var(--blue),var(--purple),var(--pink),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}
.hx-mqt span i{font-style:normal;width:.28em;height:.28em;border-radius:50%;background:var(--orange);flex:none}
@keyframes hxmq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.hx-mqt{animation:none}}

/* project rows */
.pj-stack{display:flex;flex-direction:column;gap:26px;padding:20px 0 30px}
.pjs{position:relative;background:#fff;border:1px solid #e1e4f2;border-radius:26px;box-shadow:0 14px 40px rgba(30,30,70,.06);overflow:hidden}
.pjs::after{content:"";position:absolute;left:26px;right:26px;top:0;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--k1),var(--k2))}
.pjs-bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;height:60px;padding:6px 30px 0;font-size:13px;color:#4a4f5c;background:#fafbfe}
.pjs-bl,.pjs-br{flex:1;font-weight:600}
.pjs-br{text-align:right}
.pjs-dot{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--k1),var(--k2));color:#fff;font:700 11px 'Alte Haas Grotesk','Archivo',sans-serif;letter-spacing:.04em}
.pjs-wrap{display:block}
.pjs-clip{position:relative;isolation:isolate;overflow:hidden}
.pjs-clip::before{content:"";position:absolute;z-index:-1;left:-10%;right:-10%;bottom:-50%;height:70%;border-radius:50%;background:radial-gradient(circle,var(--k1),var(--k2) 55%,transparent 72%);filter:blur(60px);opacity:.22}
.pjs-body{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,.8fr);min-height:380px;border-top:1px solid #e9ebf5}
.pjs-col,.pjs-mid{display:flex;flex-direction:column;gap:18px;padding:34px 30px}
.pjs-mid{border-left:1px solid #e9ebf5;border-right:1px solid #e9ebf5;align-items:center;text-align:center}
.pjs-k{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#7b8090}
.pjs-name{margin:0;font-size:clamp(30px,3.2vw,46px);font-family:'Alte Haas Grotesk','Archivo',sans-serif}
.pjs-t{margin:0;font-size:14.5px;line-height:1.6;color:#3a3f4c}
.pjs-link{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--charcoal);text-decoration:none;border-bottom:1.5px solid var(--charcoal);align-self:flex-start;padding-bottom:2px;transition:gap .3s}
.pjs-link:hover{gap:14px}
.pjs-ph{flex:1;width:100%;min-height:290px;border-radius:20px;border:1.5px dashed rgba(20,20,20,.25);background:linear-gradient(135deg,rgba(247,247,251,.9),rgba(235,238,250,.9));color:#8a8a99;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.04em}
.pjs-list{list-style:none;margin:0;padding:0;border:1px solid #e4e6f2;border-radius:14px;background:rgba(255,255,255,.75)}
.pjs-list li{display:flex;flex-direction:column;gap:3px;padding:14px 16px;font-size:13.5px;color:#3a3f4c}
.pjs-list li+li{border-top:1px solid #e9ebf5}
.pjs-list b{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#7b8090}
.pjs.x{display:none}
.pj-sec:has(#pmore:checked) .pjs.x{display:block}
.pj-sec:has(#fb:checked) .pjs.x,.pj-sec:has(#fd:checked) .pjs.x,.pj-sec:has(#fm:checked) .pjs.x{display:block}
.pj-sec:has(#fb:checked) .pjs:not([data-t~="b"]),.pj-sec:has(#fd:checked) .pjs:not([data-t~="d"]),.pj-sec:has(#fm:checked) .pjs:not([data-t~="m"]){display:none}
.pj-more-w{display:flex;justify-content:center;padding:10px 0 80px}
.pjm{position:absolute;opacity:0;pointer-events:none}
.pj-more{cursor:pointer;user-select:none}
.pj-more .m2{display:none}
.pj-sec:has(#pmore:checked) .pj-more .m1{display:none}
.pj-sec:has(#pmore:checked) .pj-more .m2{display:inline}
.pj-sec .pj-more .arr{transform:rotate(90deg)}
.pj-sec:has(#pmore:checked) .pj-more .arr{transform:rotate(-90deg)}
.pj-sec:has(#fb:checked) .pj-more-w,.pj-sec:has(#fd:checked) .pj-more-w,.pj-sec:has(#fm:checked) .pj-more-w{display:none}
@supports (animation-timeline:view()){.pjs{animation:rv linear both;animation-timeline:view();animation-range:entry 0% cover 24%}}
@media (prefers-reduced-motion:reduce){.pjs{animation:none!important}}
@media (max-width:900px){.pjs-bar{height:50px;padding:4px 16px 0}.pjs-body{grid-template-columns:minmax(0,1fr)}.pjs-mid{border:0;border-top:1px solid #e9ebf5;border-bottom:1px solid #e9ebf5}.pjs-ph{min-height:220px}.pjs-br{display:none}.pjs-bl{flex: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);filter:blur(8px)}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}}
/* 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}}
/* footer: no entrance animation */
footer .wrap > *,footer .rv,footer .cta-in,footer .foot,footer .foot > *{animation:none !important}
/* projects: smooth hover enlarge */
.pjs{transform-origin:50% 50%;transition:scale .7s cubic-bezier(.22,1,.36,1),box-shadow .7s cubic-bezier(.22,1,.36,1),border-color .5s ease;will-change:transform}
@media (hover:hover){.pjs:hover{scale:1.025;z-index:3;box-shadow:0 34px 80px rgba(30,30,70,.14);border-color:#cfd5ee}}
@media (prefers-reduced-motion:reduce){.pjs:hover{scale:1}}
/* projects: see more button */
.pj-more-w,.pj-more-w.rx,.pj-more-w.rx:not(.rx-in){animation:none !important;opacity:1 !important}
.pj-more{color:#0a0a0a;border-color:#0a0a0a;border-width:1.5px;opacity:1;-webkit-text-fill-color:#0a0a0a}
.pj-more::before{background:#0a0a0a}
.pj-more:hover{color:#fff;-webkit-text-fill-color:#fff}
.pj-more .m1,.pj-more .m2{color:inherit;-webkit-text-fill-color:inherit}
.pj-more{transition:scale .6s cubic-bezier(.22,1,.36,1),background .3s,color .3s,border-color .3s}
@media (hover:hover){.pj-more:hover{scale:1.07}}
@media (prefers-reduced-motion:reduce){.pj-more-w.rx:not(.rx-in){opacity:1}.pj-more-w.rx.rx-in{animation:none}.pj-more:hover{scale:1}}
/* projects: smooth per-row reveal, replays on scroll back */
@keyframes rxin{from{opacity:0;transform:translateY(46px)}to{opacity:1;transform:none}}
.pjs.rx{animation:none !important}
.pjs.rx:not(.rx-in){opacity:0}
.pjs.rx:not(.rx-in) .pjs-bar,.pjs.rx:not(.rx-in) .pjs-body > *{opacity:0}
.pjs.rx.rx-in{animation:rxin 1.1s cubic-bezier(.22,1,.36,1) backwards !important}
.pjs.rx.rx-in .pjs-bar{animation:rxin .9s cubic-bezier(.22,1,.36,1) .15s backwards}
.pjs.rx.rx-in .pjs-body > *{animation:rxin 1s cubic-bezier(.22,1,.36,1) backwards}
.pjs.rx.rx-in .pjs-body > *:nth-child(1){animation-delay:.3s}.pjs.rx.rx-in .pjs-body > *:nth-child(2){animation-delay:.42s}.pjs.rx.rx-in .pjs-body > *:nth-child(3){animation-delay:.54s}
@media (prefers-reduced-motion:reduce){.pjs.rx:not(.rx-in),.pjs.rx:not(.rx-in) .pjs-bar,.pjs.rx:not(.rx-in) .pjs-body > *{opacity:1}.pjs.rx.rx-in,.pjs.rx.rx-in *{animation:none !important}}
/* page fills its board: footer absorbs any leftover height (no white strip) */
#top{display:flex;flex-direction:column;min-height:100vh}
#top > *{flex-shrink:0}
#top > footer.dark{flex:1 0 auto;display:flex;flex-direction:column;justify-content:flex-end}
#top > footer.dark > .wrap{width:100%;max-width:1376px;box-sizing:border-box}
/* 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 */
/* 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}}
/* 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:-8%;top:-10%;width:48%;height:56%;animation:shd1 17s ease-in-out infinite alternate}
.shx .sh .shx-b2{left:48%;top:40%;width:54%;height:61%;animation:shd2 20s ease-in-out infinite alternate;animation-direction:alternate-reverse}
.shx .sh .shx-b3{left:26%;top:-30%;width:39%;height:48%;animation:shd3 18s ease-in-out infinite alternate}
.shx .sh .shx-b4{left:74%;top:-26%;width:34%;height:48%;animation:shd2 22s ease-in-out infinite alternate;animation-direction:alternate-reverse}
.shx .sh .shx-b5{left:2%;top:56%;width:37%;height:46%;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%}


/* projects v3: multi-select filters, index with cursor preview, grid */
.px{position:relative}
.px-in{padding-top:56px;padding-bottom:130px;display:flex;flex-direction:column;gap:36px}
.px-in > *{animation:none !important}
.px-bar{display:flex;justify-content:space-between;align-items:center;gap:16px 24px;flex-wrap:wrap}
.px-f{display:flex;flex-wrap:wrap;gap:8px}
.px-f button,.px-v button{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;border:1px solid #dcdcdc;font-size:14px;font-weight:600;color:var(--charcoal);white-space:nowrap;transition:background .3s,color .3s,border-color .3s}
.px-f button i{display:block;width:8px;height:8px;border-radius:50%;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.px-f button:hover,.px-v button:hover{border-color:var(--charcoal)}
.px-f button.on,.px-v button.on{background:var(--charcoal);border-color:var(--charcoal);color:#fff}
.px-f button.on i{transform:scale(1.35)}
.px-f button:focus-visible,.px-v button:focus-visible{outline:2px solid var(--charcoal);outline-offset:3px}
.px-meta{display:flex;align-items:center;gap:18px}
.px-count{font-size:13px;font-weight:600;color:#8a8a8a;white-space:nowrap}
.px-v{display:flex;gap:0;padding:3px;border:1px solid #dcdcdc;border-radius:999px}
.px-v button{height:32px;padding:0 14px;border:0;font-size:13px}
.px-i,.px-i:hover,.px-i:focus{color:var(--charcoal) !important;text-decoration:none;outline:none}
.px-i.out{display:none}
.px-i.ga{animation:pxa .7s cubic-bezier(.16,1,.3,1) calc(var(--k) * 55ms) both}
.px-i.gb{animation:pxb .7s cubic-bezier(.16,1,.3,1) calc(var(--k) * 55ms) both}
@keyframes pxa{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes pxb{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.px-s{display:flex;flex-wrap:wrap;gap:4px 14px}
.px-s i{font-style:normal;display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#7a7a7a;white-space:nowrap}
.px-s i::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c)}
.px-th{display:none}
.px-thl,.px-pv-l{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
/* index */
.px-list.idx{border-top:1px solid #e6e6e6}
.idx .px-i{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,auto) 72px 28px;align-items:center;gap:24px;padding:30px 0;border-bottom:1px solid #e6e6e6;transition:opacity .45s cubic-bezier(.2,.8,.2,1)}
.idx .px-n{font-size:12px;font-weight:700;letter-spacing:.12em;color:#b3b3b3;transition:color .3s}
.idx .px-t{font-size:clamp(34px,4.6vw,72px);line-height:.98;letter-spacing:-.04em;transition:translate .6s cubic-bezier(.2,.8,.2,1)}
.idx .px-y{font-size:13px;font-weight:600;color:#9a9a9a;text-align:right}
.idx .px-ar{display:grid;place-items:center;opacity:0;translate:-10px 10px;transition:opacity .3s,translate .5s cubic-bezier(.2,.8,.2,1)}
.idx:has(.px-i:hover) .px-i:not(:hover){opacity:.25}
.idx .px-i:hover .px-t,.idx .px-i:focus-visible .px-t{translate:18px 0}
.idx .px-i:hover .px-n,.idx .px-i:focus-visible .px-n{color:var(--c)}
.idx .px-i:hover .px-ar,.idx .px-i:focus-visible .px-ar{opacity:1;translate:0 0}
/* cursor preview */
.px-pv{position:absolute;left:0;top:0;z-index:6;width:min(340px,26vw);aspect-ratio:4/3;border-radius:20px;pointer-events:none;overflow:hidden;opacity:0;scale:.55;transition:opacity .3s,scale .5s cubic-bezier(.2,.8,.2,1),background-color .45s;background-color:var(--pc,var(--blue));background-image:radial-gradient(circle at 50% 50%,var(--pc2,var(--green)) 0%,transparent 60%);background-repeat:no-repeat;background-size:90% 140%;background-position:var(--pp,80% 30%);display:grid;place-items:center;color:rgba(255,255,255,.9);will-change:transform}
.px-pv.on{opacity:1;scale:1}
.px-pv-ar{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:50%;background:#fff;color:var(--charcoal);display:grid;place-items:center}
@media (hover:none){.px-pv{display:none}}
/* grid */
.px-list.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 24px}
.grid .px-i{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"th th" "t y" "s s";gap:8px 16px}
.grid .px-n,.grid .px-ar{display:none}
.grid .px-th{grid-area:th;display:grid;place-items:center;position:relative;aspect-ratio:4/3;margin-bottom:12px;border-radius:18px;overflow:hidden;background:#f3f3f3;color:#b0b0b0;transition:color .45s}
.grid .px-th::before{content:"";position:absolute;inset:0;background-color:var(--c);background-image:radial-gradient(circle at 50% 50%,var(--c2) 0%,transparent 60%);background-repeat:no-repeat;background-size:90% 140%;background-position:85% 20%;opacity:0;scale:1.08;transition:opacity .5s,scale .8s cubic-bezier(.2,.8,.2,1),background-position 1.2s cubic-bezier(.2,.8,.2,1)}
.grid .px-thl{position:relative}
.grid .px-i:hover .px-th::before,.grid .px-i:focus-visible .px-th::before{opacity:1;scale:1;background-position:20% 80%}
.grid .px-i:hover .px-th,.grid .px-i:focus-visible .px-th{color:rgba(255,255,255,.9)}
.grid .px-t{grid-area:t;font-size:clamp(22px,2vw,28px);line-height:1.1}
.grid .px-y{grid-area:y;align-self:center;font-size:13px;font-weight:600;color:#9a9a9a}
.grid .px-s{grid-area:s}
.grid .px-i:focus-visible .px-th{outline:2px solid var(--charcoal);outline-offset:4px}
/* empty */
.px-empty{display:none}
.px-empty.on{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:40px 0;border-top:1px solid #e6e6e6}
.px-empty p{margin:0;font-size:clamp(22px,2.4vw,32px);font-weight:600;letter-spacing:-.02em}
@media (max-width:1100px){.px-list.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
.px-bar{flex-direction:column;flex-wrap:nowrap;align-items:stretch;min-width:0;max-width:100%}.px-in > *{min-width:0}
.px-f{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:0 20px;min-width:0}
.px-f::-webkit-scrollbar{display:none}
.px-meta{justify-content:space-between}
.idx .px-i{grid-template-columns:76px minmax(0,1fr) 22px;grid-template-areas:"th t ar" "th s ar";gap:6px 16px;padding:18px 0}
.idx .px-n,.idx .px-y{display:none}
.idx .px-th{grid-area:th;display:block;width:76px;height:76px;border-radius:14px;background-color:var(--c);background-image:radial-gradient(circle at 70% 30%,var(--c2) 0%,transparent 62%)}
.idx .px-thl{display:none}.idx .px-th{position:relative;overflow:hidden}
.idx .px-t{grid-area:t;align-self:end;font-size:clamp(24px,6.6vw,32px);line-height:1.05}
.idx .px-s{grid-area:s;align-self:start}
.idx .px-ar{grid-area:ar;opacity:1;translate:0 0}
.idx:has(.px-i:hover) .px-i:not(:hover){opacity:1}
.idx .px-i:hover .px-t{translate:0 0}
.px-list.grid{grid-template-columns:minmax(0,1fr);gap:40px}
}
@media (prefers-reduced-motion:reduce){.px-i.ga,.px-i.gb{animation:none}.px-pv{transition:opacity .2s}}

/* project covers (real visuals) */
.px-cov{position:absolute;inset:0;container-type:size;display:grid;place-items:center;overflow:hidden;background:#e9edff}
.bq-app{display:flex;flex-direction:column;gap:2.6cqw;width:72cqw;box-sizing:border-box;padding:4.6cqw 5cqw 5cqw;border-radius:4cqw;background:#fff;box-shadow:0 2.4cqw 7cqw rgba(30,40,120,.16);font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:var(--charcoal);text-transform:none;letter-spacing:0;text-align:left;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.bq-top{display:flex;justify-content:space-between;align-items:center;font-size:3cqw}
.bq-top b{font-weight:800}
.bq-top i{display:block;width:4.6cqw;height:4.6cqw;border-radius:50%;background:#e9edff}
.bq-h{display:block;font-size:5.6cqw;font-weight:800;line-height:1.06;letter-spacing:-.03em;margin-bottom:.8cqw}
.bq-h em{color:var(--blue)}
.bq-b{display:flex;flex-direction:column;gap:1.1cqw}
.bq-r{display:flex;justify-content:space-between;font-size:2.6cqw;font-weight:600}
.bq-r span + span{color:#777}
.bq-bar{display:block;height:1.6cqw;border-radius:9cqw;background:#eef0f6;overflow:hidden}
.bq-bar i{display:block;height:100%;border-radius:inherit}
.bq-chat{display:block;align-self:flex-start;max-width:100%;white-space:nowrap;margin-top:.6cqw;padding:1.8cqw 2.8cqw;border-radius:3cqw 3cqw 3cqw .8cqw;background:#f1f3ff;font-size:2.6cqw;font-weight:600;line-height:1.35}
.px-i:hover .bq-app,.px-pv.on .bq-app{transform:translateY(-1.4cqw) rotate(-1.2deg)}
.grid .px-i:has(.px-cov) .px-th::before{display:none}
.px-pv-c{position:absolute;inset:0;display:none}
.px-pv.has .px-pv-c{display:block}
.px-pv.has .px-pv-l{display:none}
.px-pv.has{background:#e9edff}

.px-cov.bq{background:#5368f6;display:flex;align-items:center;justify-content:center}.px-cov.bq img{width:auto;height:38%;max-width:60%;object-fit:contain;margin:0}
.px-cov img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.px-i:hover .px-cov img,.px-pv.on .px-cov img{transform:scale(1.05) rotate(-1deg)}
.px-pv.has{background:#5368f6;box-shadow:0 18px 50px -12px rgba(20,20,60,.25)}


/* ================= case study ================= */
.cs-shx{height:auto !important;min-height:0 !important;border-bottom:0 !important;padding-bottom:0 !important}
.cs{position:relative;background:#fff;color:var(--charcoal)}
.cs .wrap > *{animation:none}
.cs-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.cs-crumb{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;font-size:14px;font-weight:600}
.cs-back,.cs-next-s{display:inline-flex;align-items:center;gap:8px;color:var(--charcoal);text-decoration:none;transition:gap .35s cubic-bezier(.2,.8,.2,1)}
.cs-back:hover,.cs-next-s:hover{gap:14px;color:var(--charcoal)}
.cs-pos{color:#9a9a9a;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.cs-title{padding:72px 0 48px;row-gap:40px}
.cs-h1{grid-column:1/-1;margin:0;font-size:clamp(64px,12.4vw,196px);line-height:.88;letter-spacing:-.055em}
.cs-lead{grid-column:1/6;margin:0;font-size:clamp(20px,1.8vw,26px);line-height:1.35;letter-spacing:-.01em;align-self:start}
.cs-meta{grid-column:7/-1;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #e6e6e6}
.cs-meta > div{padding:16px 0 18px;border-bottom:1px solid #e6e6e6}
.cs-meta > div:nth-child(odd){padding-right:20px}
.cs-meta > div:nth-child(even){padding-left:20px;border-left:1px solid #e6e6e6}
.cs-meta dt{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#9a9a9a;margin-bottom:8px}
.cs-meta dd{margin:0;font-size:15px;font-weight:600;display:flex;flex-wrap:wrap;gap:6px 14px}
.cs-tag{display:inline-flex;align-items:center;gap:7px}
.cs-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c)}
.cs-ext{display:inline-flex;align-items:center;gap:6px;color:var(--charcoal);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.cs-ext:hover{color:#5368f6}
.cs-cover{margin:0;position:relative;aspect-ratio:16/7;border-radius:28px;background:#5368f6;display:grid;place-items:center;overflow:hidden}
.cs-mark{height:34%;width:auto;animation:csfloat 7s ease-in-out infinite !important}
@keyframes csfloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(-3deg)}}
.cs-sec{padding:96px 0;border-bottom:1px solid #e6e6e6;row-gap:28px}
.cs-k{grid-column:1/4;margin:0;display:flex;gap:14px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;align-self:start;position:sticky;top:100px}
.cs-k span{color:#5368f6}
.cs-body{grid-column:4/11;display:flex;flex-direction:column;gap:22px}
.cs-big{margin:0;font-size:clamp(28px,2.8vw,42px);line-height:1.12;letter-spacing:-.03em;font-weight:700}
.cs-body p:not(.cs-big){margin:0;font-size:17px;line-height:1.65;color:#3a3a3a;max-width:640px}
.cs-did{grid-column:4/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.cs-dh{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:20px;letter-spacing:-.01em}
.cs-dh i{width:9px;height:9px;border-radius:50%}
.cs-did ul{list-style:none;margin:0;padding:0;border-top:1px solid #e6e6e6}
.cs-did li{padding:14px 0;border-bottom:1px solid #e6e6e6;font-size:16px}
.cs-demo{grid-column:4/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch}
.cs-ask{display:flex;flex-direction:column;justify-content:center;gap:22px;padding:36px;border:1px solid #e6e6e6;border-radius:24px}
.cs-q{margin:0;font-size:clamp(24px,2.2vw,32px);line-height:1.2;letter-spacing:-.02em;font-weight:700}
.cs-q b{color:#5368f6;font-variant-numeric:tabular-nums}
.cs-range{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:999px;background:linear-gradient(90deg,#5368f6 var(--p,45%),#e9ecf6 var(--p,45%));outline:none;cursor:pointer;margin:0}
.cs-range::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:2px solid #5368f6;box-shadow:0 4px 12px rgba(83,104,246,.35);transition:transform .2s}
.cs-range::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid #5368f6}
.cs-range:active::-webkit-slider-thumb{transform:scale(1.15)}
.cs-range:focus-visible{outline:2px solid var(--charcoal);outline-offset:6px}
.cs-scale{display:flex;justify-content:space-between;font-size:12px;font-weight:600;color:#9a9a9a}
.cs-app{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:32px;border-radius:24px;background:#f3f5fb}
.cs-bucket{display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:18px;background:#fff;box-shadow:0 10px 30px -14px rgba(30,40,120,.25)}
.cs-br{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px}
.cs-br span{color:#8a8a8a}
.cs-br b{font-variant-numeric:tabular-nums}
.cs-br b.neg{color:#e5484d}
.cs-bar{position:relative;display:flex;height:10px;border-radius:999px;background:#eef0f6;overflow:hidden}
.cs-spent{display:block;width:22.5%;background:#c5ccfb}
.cs-buy{display:block;background:#5368f6;transition:width .35s cubic-bezier(.2,.8,.2,1),background .3s}
.cs-buy.over{background:#e5484d}
.cs-bek{margin:0;align-self:flex-start;max-width:92%;padding:14px 18px;border-radius:18px 18px 18px 6px;background:#fff;font-size:15px;line-height:1.5;font-weight:500}
.cs-bek-n{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#5368f6;margin-bottom:4px}
.cs-shot{grid-column:1/-1;margin:0;border:1px solid #e6e6e6;border-radius:20px;overflow:hidden;background:#fff}
.cs-chrome{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid #eee;background:#fafafa}
.cs-chrome i{width:10px;height:10px;border-radius:50%;background:#dcdcdc}
.cs-chrome span{margin-left:12px;padding:4px 12px;border-radius:999px;background:#fff;border:1px solid #eee;font-size:12px;color:#7a7a7a}
.cs-shot img{display:block;width:100%;height:auto}
.cs-pr{grid-column:4/-1;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #e6e6e6;border-left:1px solid #e6e6e6}
.cs-pr li{display:flex;flex-direction:column;justify-content:space-between;gap:40px;min-height:180px;padding:24px;border-right:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;font-family:'Alte Haas Grotesk','Archivo',sans-serif;font-weight:700;font-size:clamp(24px,2.4vw,34px);line-height:1.05;letter-spacing:-.03em;transition:background .4s,color .4s}
.cs-pr li span{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:12px;letter-spacing:.14em;color:#9a9a9a;transition:color .4s}
.cs-pr li:hover{background:#5368f6;color:#fff}
.cs-pr li:hover span{color:rgba(255,255,255,.75)}
.cs-ft{grid-column:4/-1;list-style:none;margin:0;padding:0;border-top:1px solid #e6e6e6;counter-reset:ft}
.cs-ft li{counter-increment:ft;display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1.4fr);gap:20px;align-items:baseline;padding:20px 0;border-bottom:1px solid #e6e6e6;transition:padding .4s cubic-bezier(.2,.8,.2,1)}
.cs-ft li::before{content:counter(ft,decimal-leading-zero);font-size:12px;font-weight:700;letter-spacing:.12em;color:#b0b0b0;transition:color .3s}
.cs-ft li:hover{padding-left:10px}
.cs-ft li:hover::before{color:#5368f6}
.cs-ft b{font-size:18px;letter-spacing:-.01em}
.cs-ft span{font-size:15px;line-height:1.55;color:#5a5a5a}
.cs-id{grid-column:4/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.cs-tile{aspect-ratio:1/1;border-radius:22px;display:grid;place-items:center}
.cs-tile img{height:36%;width:auto}
.cs-tile-b{background:#5368f6}
.cs-tile-w{background:#f3f5fb}
.cs-mk{display:block;height:36%;aspect-ratio:251/286;background:#5368f6;-webkit-mask:url(/assets/projects/bequebeque/mark.png) center/contain no-repeat;mask:url(/assets/projects/bequebeque/mark.png) center/contain no-repeat}
.cs-sw{grid-column:1/-1;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.cs-sw li{display:flex;flex-direction:column;gap:4px;font-size:14px}
.cs-sw i{display:block;height:84px;border-radius:16px;background:var(--s);border:1px solid rgba(0,0,0,.06);margin-bottom:10px}
.cs-sw span{color:#8a8a8a;font-size:13px;font-variant-numeric:tabular-nums}
.cs-next{display:flex;flex-direction:column;gap:14px;padding:88px 0 120px;color:var(--charcoal) !important;text-decoration:none}
.cs-next-k{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#9a9a9a}
.cs-next-t{display:flex;align-items:center;gap:24px;font-size:clamp(48px,8vw,128px);line-height:.95;letter-spacing:-.05em;transition:gap .5s cubic-bezier(.2,.8,.2,1)}
.cs-next-t svg{flex:none;width:clamp(36px,5vw,72px);height:auto;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.cs-next:hover .cs-next-t{gap:40px}
.cs-next:hover .cs-next-t svg{transform:rotate(-45deg)}
/* grid guides */
.cs-gbtn{all:unset;box-sizing:border-box;position:fixed;left:20px;bottom:20px;z-index:150;height:36px;padding:0 14px;border-radius:999px;background:var(--charcoal);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center}
.cs-gbtn:focus-visible{outline:2px solid #5368f6;outline-offset:3px}
.cs-guides{position:fixed;inset:0;z-index:140;pointer-events:none;opacity:0;transition:opacity .4s}
.cs-guides .wrap{height:100%}
.cs-gc{height:100%;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.cs-gc i{display:block;background:rgba(83,104,246,.07);border-left:1px solid rgba(83,104,246,.25);border-right:1px solid rgba(83,104,246,.25)}
.grid-on .cs-guides{opacity:1}
@media (max-width:980px){
.cs-g{grid-template-columns:minmax(0,1fr)}
.cs-g > *{grid-column:1/-1 !important}
.cs-title{padding:48px 0 36px;row-gap:28px}
.cs-cover{aspect-ratio:4/3;border-radius:20px}
.cs-sec{padding:64px 0}
.cs-k{position:static}
.cs-demo,.cs-did,.cs-id{grid-template-columns:minmax(0,1fr)}
.cs-ask,.cs-app{padding:24px}
.cs-pr{grid-template-columns:minmax(0,1fr)}
.cs-pr li{min-height:0;gap:18px}
.cs-ft li{grid-template-columns:36px minmax(0,1fr);row-gap:6px}
.cs-ft span{grid-column:2}
.cs-sw{grid-template-columns:repeat(2,minmax(0,1fr))}
.cs-gc{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:16px}
.cs-gc i:nth-child(n+5){display:none}
.cs-gbtn,.cs-guides{display:none}
}
@media (max-width:600px){.cs-meta{grid-template-columns:minmax(0,1fr)}.cs-meta > div:nth-child(n){padding-left:0;padding-right:0;border-left:0}.cs-pos{display:none}}
@media (prefers-reduced-motion:reduce){.cs-mark{animation:none !important}}

/* product gallery + lightbox */
.cs-gal{grid-column:1/-1;display:flex;flex-direction:column;gap:24px}
.cs-row{display:flex;gap:24px;align-items:flex-start}
.cs-sc{margin:0;flex:var(--ar) 1 0;min-width:0;display:flex;flex-direction:column;gap:12px}
.cs-sc-b{all:unset;box-sizing:border-box;display:block;cursor:zoom-in;border:1px solid #e6e6e6;border-radius:18px;overflow:hidden;background:#fff;transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s cubic-bezier(.2,.8,.2,1)}
.cs-sc-m .cs-sc-b{border-radius:26px}
.cs-sc-b img{display:block;width:100%;height:auto}
.cs-sc-b:hover{transform:translateY(-6px);box-shadow:0 24px 50px -24px rgba(20,20,60,.3)}
.cs-sc-b:focus-visible{outline:2px solid #5368f6;outline-offset:4px}
.cs-sc figcaption{display:flex;gap:12px;font-size:13px;font-weight:600}
.cs-sc figcaption span{color:#5368f6;font-size:11px;letter-spacing:.14em;padding-top:2px}
.cs-lb{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:48px;background:rgba(0,0,0,.82);opacity:0;visibility:hidden;cursor:zoom-out;transition:opacity .35s,visibility 0s linear .35s}
.cs-lb.open{opacity:1;visibility:visible;transition:opacity .35s,visibility 0s}
.cs-lb img{max-width:100%;max-height:100%;border-radius:14px;transform:scale(.96);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.cs-lb.open img{transform:none}
.cs-lb-x{all:unset;position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--charcoal);display:grid;place-items:center;cursor:pointer}
.cs-id{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
.cs-tile-k{background:#000}
.cs-tile-w{background:#fff !important;border:1px solid #e6e6e6}
.cs-sw{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
@media (max-width:980px){.cs-row{flex-direction:column}.cs-sc-m{align-self:center;width:62%}.cs-id{grid-template-columns:minmax(0,1fr) !important}.cs-tile{aspect-ratio:16/10}.cs-lb{padding:16px}}

/* live website frame */
.cs-chrome{position:relative}
.cs-sv{display:flex;margin-left:auto;padding:3px;border:1px solid #e6e6e6;border-radius:999px;background:#fff}
.cs-sv button{all:unset;cursor:pointer;height:26px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:600;color:#7a7a7a;display:inline-flex;align-items:center;transition:background .3s,color .3s}
.cs-sv button.on{background:var(--charcoal);color:#fff}
.cs-sv button:focus-visible{outline:2px solid #5368f6;outline-offset:2px}
.cs-open{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:var(--charcoal);border:1px solid #e6e6e6;background:#fff;transition:background .3s}
.cs-open:hover{background:#f3f3f3;color:var(--charcoal)}
.cs-view{position:relative;background:#fff}
.cs-live{display:block;width:100%;height:min(760px,78vh);border:0;background:#fff}
.cs-still{display:none !important;width:100%;height:auto}
.cs-shot.shot .cs-live{display:none}
.cs-shot.shot .cs-still{display:block !important}
@media (max-width:980px){.cs-live{height:560px}.cs-chrome span{display:none}}

.cs-own{grid-column:1/-1;margin:0 0 -16px;display:inline-flex;align-self:start;justify-self:start;align-items:center;gap:8px;height:30px;padding:0 14px;border-radius:999px;border:1px solid #5368f6;color:#5368f6;font-size:12px;font-weight:700;letter-spacing:.06em}
.cs-own i{width:7px;height:7px;border-radius:50%;background:#5368f6}
