/* Building blocks for the pages rebuilt from the Wix site (home uses site.css) */

/* Wix sections run full-bleed with ~20px gutters at 1280px */
.pg{max-width:1280px;margin:0 auto;padding:0 20px}

/* Wix buttons */
.wbtn{display:inline-flex;align-items:center;justify-content:center;height:41px;min-width:107px;padding:0 16px;border:1px solid #000;border-radius:9px;background:var(--b,#fff);font-size:14px;line-height:1;color:#000;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
a.wbtn:hover{background:#000;color:#fff}
.wbtn.off{color:#5C5C5C;border-color:#5C5C5C;background:#F4F4F4;cursor:default}

/* Image in a thin frame */
.frame{display:block;border:1px solid #141414;overflow:hidden;background:#eee}
.frame img{width:100%;height:100%;object-fit:cover}

/* Shape dividers above the footer (Wix "shape divider", same SVGs) */
.shape{position:relative;line-height:0;pointer-events:none}
.shape i{position:absolute;left:0;right:0;bottom:0;background:var(--svg) 50% 100%/var(--bs,100% 100%) no-repeat;border:0 solid #F0FF06}
.shape-wave{height:100px}
.shape-wave i{height:100px;--svg:url(/shapes/wave.svg);--bs:1896px 100%}
.shape-arc{height:200px}
.shape-arc i{height:200px;--svg:url(/shapes/arc.svg)}
.shape-dome{height:210px}
.shape-dome i{--svg:url(/shapes/dome.svg)}
.shape-dome i:nth-child(1){height:150px}
.shape-dome i:nth-child(2){height:170px;border-bottom-width:20px;opacity:.5}
.shape-dome i:nth-child(3){height:190px;border-bottom-width:40px;opacity:.333}
.shape-dome i:nth-child(4){height:210px;border-bottom-width:60px;opacity:.25}

/* Extra Wix entrance effects (fade/float/turnin live in site.css) */
.fx[data-fx="tiltin"].in{animation:fxTilt 1.2s cubic-bezier(.25,.8,.3,1) both;transform-origin:0 50%}
.fx[data-fx="circle"].in{animation:fxCircle 1.5s cubic-bezier(.4,0,.2,1) both}
.fx[data-fx="rect"].in{animation:fxRect 2.5s cubic-bezier(.4,0,.2,1) both}
@keyframes fxTilt{from{opacity:0;transform:perspective(800px) rotateY(-55deg) translateX(-40px)}to{opacity:1;transform:none}}
@keyframes fxCircle{from{opacity:1;clip-path:circle(0% at 50% 50%)}to{opacity:1;clip-path:circle(75% at 50% 50%)}}
@keyframes fxRect{from{opacity:1;clip-path:inset(50% 50% 50% 50%)}to{opacity:1;clip-path:inset(0 0 0 0)}}

/* ---------- /portfolio (Case Studies) ---------- */
.pf-process{background:#C5FFFA;padding:80px 0}
.pf-h2{font-weight:400;font-size:42px;line-height:1.07}
.pf-lead{font-size:21px;line-height:1.25;color:#141414;margin-top:20px}
.pf-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:38px;margin-top:60px}
.pf-step{background:#fff;border:1px solid #AFAEAE;min-height:254px;padding:29px 29px 24px}
.pf-step.alt{background:#FCF6FF}
.pf-k{font-size:14px;line-height:1.35;font-weight:700;text-transform:uppercase;color:#5C5C5C}
.pf-step h3{font-weight:400;font-size:24px;line-height:1.2;margin-top:20px}
.pf-step p:last-child{font-size:15px;line-height:1.35;margin-top:15px}
.pf-work{padding:30px 0 69px}
.pf-bar{font-weight:400;font-size:32px;line-height:1.07;height:74px;display:flex;align-items:center;padding:0 12px;background:#FCF6FF;border:1px solid #AFAEAE}
.pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 20px;margin-top:16px}
.pf-img{aspect-ratio:400/355}
.pf-img.tall{aspect-ratio:400/360}
.pf-img img{transition:transform .6s ease}
.pf-img:hover img{transform:scale(1.04)}
.pf-info{position:relative;height:88px;margin-top:14px;background:#F4F4F4;border:1px solid #AFAEAE;display:flex;align-items:flex-start;padding:17px 20px 0 16px;gap:18px}
.pf-logo{width:48px;height:48px;object-fit:cover;flex:none}
.pf-logo.contain{object-fit:contain}
.pf-txt{flex:1;min-width:0;max-width:302px}
.pf-name{display:block;font-size:24px;line-height:1.2}
.pf-name:hover{text-decoration:underline}
.pf-txt p{font-size:14px;line-height:1.35;color:#5C5C5C;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-info .wbtn{position:absolute;right:20px;top:33px}
@media (max-width:1000px){.pf-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media (max-width:860px){.pf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-h2{font-size:34px}.pf-lead{font-size:18px}}
@media (max-width:640px){
.pg{padding:0 16px}
.pf-steps,.pf-grid{grid-template-columns:1fr}
.pf-steps{gap:16px;margin-top:32px}
.pf-process{padding:48px 0}
.pf-h2{font-size:26px}.pf-lead{font-size:16px;margin-top:12px}
.pf-step{min-height:0;padding:22px 22px 26px}.pf-step h3{font-size:20px;margin-top:14px}
.pf-bar{font-size:22px;height:auto;min-height:56px}
.pf-info{height:auto;flex-wrap:wrap;border-radius:5px;padding-bottom:16px}
.pf-txt{flex:1 1 calc(100% - 70px);max-width:none}
.pf-info .wbtn{position:static;margin-left:0}
}

/* ---------- shared page title ---------- */
.pg-title{font-weight:400;font-size:42px;line-height:1.07;text-align:center}

/* ---------- /blank (Content) ---------- */
.ct-head{background:#FCF6FF;padding:76px 20px 71px}
.ct-band{min-height:550px;padding:133px 20px 119px;background:radial-gradient(circle farthest-corner at 20.485% 82.597%,rgba(255,194,143,.43) 0%,25.69%,rgba(255,194,143,0) 35%),radial-gradient(circle farthest-corner at 6.323% 14.417%,#3456D3 0%,42%,rgba(52,86,211,0) 70%),radial-gradient(circle farthest-corner at 94% 11%,#ffacdf 0%,42%,rgba(255,172,223,0) 70%),radial-gradient(circle farthest-corner at 49% 50%,rgba(255,255,255,.44) 0%,100%,rgba(255,255,255,0) 100%)}
.ct-grid{display:grid;grid-template-columns:repeat(3,323px);justify-content:center;column-gap:45px;row-gap:40px;max-width:1080px;margin:0 auto}
.ct-card{display:flex;flex-direction:column;align-items:flex-end}
.ct-img{width:100%;aspect-ratio:323/234}
.ct-img img{transition:transform .6s ease}.ct-img:hover img{transform:scale(1.04)}
.ct-btn{--b:#FCF6FF;width:140px;height:42px;margin-top:22px}

/* ---------- /blank-1 (Research) ---------- */
.rs-head{text-align:center;padding:25px 20px 18px}
.rs-head h1{font-weight:400;font-size:76px;line-height:1.07}
.rs-sub{font-size:24px;line-height:1.2;margin-top:0}
.rs-note{font-size:18px;line-height:1.2;font-style:italic;color:#5C5C5C;margin-top:21px}
.rs-band{position:relative;min-height:552px;padding:105px 20px 80px;overflow:hidden}
.rs-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rs-grid{position:relative;display:grid;grid-template-columns:repeat(3,277px);justify-content:center;column-gap:94px;row-gap:40px}
.rs-img{position:relative;width:100%;aspect-ratio:277/205;border-color:#141414}
.rs-over{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 14px;color:#fff;font-weight:700;font-size:24px;line-height:1.2}
.rs-grid .ct-btn{margin-top:23px}

/* ---------- /blank-2 (Blog) ---------- */
.bl-band{height:166px;background:#F0FF06;border-bottom:1px solid #AFAEAE;padding:57px 20px 0}
.bl-band h1{font-weight:700;font-size:42px;line-height:1.07}
.bl-row{display:grid;grid-template-columns:640px 1fr}
.bl-intro{font-size:21px;line-height:1.25;padding:20px 20px 0}
.bl-pic{overflow:hidden;background:#fff}
.bl-pic img{width:100%;height:100%;object-fit:cover}
.bl-pic-a{height:306px;border-left:1px solid #AFAEAE}
.bl-list{display:grid;grid-template-columns:639px 1fr;column-gap:1px}
.bl-pic-b{height:669px}
.bl-item{position:relative;border-bottom:1px solid #AFAEAE;padding:20px 18px}
.bl-item p{font-size:22px;line-height:1.2}
.bl-btn{position:absolute;right:20px;top:23px;width:160px}
@media (max-width:860px){
.ct-grid,.rs-grid{grid-template-columns:repeat(2,minmax(0,323px));column-gap:24px}
.bl-row,.bl-list{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
.pg-title{font-size:30px}
.ct-head{padding:48px 16px}
.ct-band,.rs-band{padding:56px 16px}
.ct-grid,.rs-grid{grid-template-columns:minmax(0,323px);row-gap:32px}
.rs-head h1{font-size:48px}.rs-sub{font-size:18px}.rs-note{font-size:15px}
.bl-band{height:auto;padding:40px 16px 32px}.bl-band h1{font-size:32px}
.bl-row,.bl-list{grid-template-columns:1fr}
.bl-intro{padding:20px 16px 40px;font-size:18px}
.bl-pic-a{height:220px;border-left:0}.bl-pic-b{height:360px}
.bl-item{height:auto!important;min-height:120px;padding:20px 16px}
.bl-btn{position:static;display:flex;margin-top:16px}
}

/* ---------- /blank-2-1 (Subtle) ---------- */
.sb-hero{position:relative;background:#F0FF06;padding:78px 20px 154px;border-top:27px solid #F0FF06;overflow:hidden}
.sb-bg{position:absolute;left:0;right:0;bottom:0;top:0;width:100%;height:100%;object-fit:cover}
.sb-box{position:relative;border:1px solid #141414;box-shadow:3px -3px 12px 1px rgba(0,0,0,.2);margin-left:calc(50% - 299px);width:651px}
.sb-title{background:#F0FF06;width:439px;min-height:162px;margin-left:calc(50% - 194px);padding:14px 16px 20px}
.sb-title h1{font-weight:400;font-size:36px;line-height:1.2}
.sb-title p{font-size:15px;line-height:1.35;margin-top:31px}
.sb-shot{margin-top:36px;border-color:#000;line-height:0}
.sb-shot img{width:100%;aspect-ratio:649/342;object-fit:cover}
.sb-text{margin-top:56px;background:#FCF6FF;min-height:404px;padding:20px 26px 30px}
.sb-text p{font-size:15px;line-height:2.25}
.sb-main{padding-top:63px}
.sb-wrap{max-width:1280px;margin:0 auto;padding:0 80px 372px 60px}
.sb-main h2{font-weight:400;font-size:42px;line-height:1.07;margin-left:7px}
.sb-grid{display:grid;grid-template-columns:367px minmax(0,1fr);gap:18px 30px;margin-top:56px;align-items:start}
.sb-s1,.sb-s2{border:1px solid #363636;border-radius:2px;min-height:332px}
.sb-s1{background:#FCF6FF;padding:31px 25px 20px}
.sb-s1 h3{font-weight:700;font-size:24px;line-height:1.2;margin:0 0 28px 7px}
.sb-s1 p{font-size:15px;line-height:1.35}
.sb-s2{background:rgba(197,255,250,.34);padding:31px 22px 18px 31px}
.sb-s2 h3{font-weight:400;font-size:24px;line-height:1.2;margin-bottom:16px}
.sb-s2 p{font-size:15px;line-height:1.5}
.sb-pic{border:1px solid #000;box-shadow:8px 10px 0 2px #000;background:rgba(252,246,255,.3);height:381px;overflow:hidden}
.sb-pic img{width:100%;height:100%;object-fit:cover}
.sb-s3{border:1px solid #5C5C5C;background:#F4F4F4;min-height:444px;padding:30px 26px 30px 34px}
.sb-s3 p{font-size:15px;line-height:1.25}
.sb-main .shape{background:#fff}
@media (max-width:1000px){
.sb-box,.sb-title{margin-left:auto;margin-right:auto}
.sb-wrap{padding:0 24px 200px}
.sb-grid{grid-template-columns:1fr}
.sb-pic{max-width:367px}
}
@media (max-width:700px){
.sb-hero{padding:24px 16px 80px;border-top-width:200px}
.sb-box,.sb-title{width:100%}
.sb-title h1{font-size:28px}
.sb-text p,.sb-s1 p,.sb-s2 p,.sb-s3 p{font-size:16px}
.sb-pic{max-width:none;height:auto;aspect-ratio:365/379;margin-right:10px}
.sb-main h2{font-size:30px}
.sb-wrap{padding:0 16px 120px}
.sb-grid{margin-top:32px;gap:24px}
.sb-s1,.sb-s2,.sb-s3{min-height:0}
.shape-arc,.shape-arc i{height:110px}
}

/* ---------- /project-3 (RCM design system) ---------- */
.rc-top{padding:47px 20px 81px}
.rc-card{max-width:801px;margin:0 auto;border:1px solid #363636;border-radius:5px;min-height:109px;display:flex;gap:18px;padding:18px 12px}
.rc-card img{width:51px;height:47px;object-fit:cover;flex:none}
.rc-card h1{font-weight:400;font-size:18px;line-height:1.2;margin-bottom:10px}
.rc-card p{font-size:14px;line-height:1.35;color:#5C5C5C}
.rc-embed{max-width:809px;margin:22px auto 0;transform:translateX(-8px)}
.rc-embed iframe{display:block;width:100%;aspect-ratio:16/9;border:1px solid rgba(0,0,0,.1)}
.rc-reel{background:#FCF6FF;padding:143px 20px 46px}
.rc-v1{display:block;width:100%;max-width:916px;aspect-ratio:916/484;object-fit:cover;margin:0 auto;box-shadow:3px -3px 12px 1px rgba(0,0,0,.2);background:#000}
.rc-demo{background:#D6D6D6;padding-top:86px}
.rc-v2{display:block;width:calc(100% - 40px);max-width:731px;aspect-ratio:731/427;object-fit:cover;margin:0 auto;background:#000}
.rc-demo .shape{margin-top:20px}
@media (max-width:860px){.rc-embed{transform:none}.rc-reel{padding-top:64px}}
@media (max-width:640px){.rc-top{padding:32px 16px 48px}.rc-card{padding:14px 10px}.rc-reel{padding:40px 16px}.rc-demo{padding-top:40px}.shape-dome{height:120px}.shape-dome i:nth-child(1){height:80px}.shape-dome i:nth-child(2){height:93px;border-bottom-width:13px}.shape-dome i:nth-child(3){height:106px;border-bottom-width:26px}.shape-dome i:nth-child(4){height:120px;border-bottom-width:40px}}

/* ---------- /blank-4 (blog post: Multi Modal) ---------- */
.b4{max-width:884px;margin:0 0 0 calc(50% - 423px);padding:153px 0 138px}
.b4-head{display:grid;grid-template-columns:413px 418px;column-gap:20px}
.b4 h1{font-weight:400;font-size:52px;line-height:1.07}
.b4-kicker{font-style:italic;font-size:16px;line-height:1.2;margin:24px 0 0 10px}
.b4 figure img{width:418px;height:369px;object-fit:cover}
.b4 figcaption{font-style:italic;font-size:16px;line-height:1.2;margin-top:13px}
.b4 figcaption a{text-decoration:underline}
.b4-rule{border:0;border-top:2px solid #333;border-bottom:2px solid #333;height:7px;margin:27px 0 0 9px;width:875px}
.b4-intro{margin:23px 0 0 12px;font-size:16px;line-height:24px}
.b4-wide{width:796px;aspect-ratio:796/447;object-fit:cover;margin:32px 0 0 10px}
.b4-body{margin:67px 0 0 19px;font-size:16px;line-height:28px;max-width:796px}
.b4-body ul{padding-left:28px;margin-bottom:28px}
@media (max-width:1000px){
.b4{margin:0 auto;padding:80px 24px 96px}
.b4-head{grid-template-columns:1fr 1fr}
.b4 figure img{width:100%;height:auto;aspect-ratio:418/369}
.b4-rule{width:auto;margin-left:0}.b4-intro,.b4-wide,.b4-body{margin-left:0}
.b4-wide{width:100%}
}
@media (max-width:640px){
.b4{padding:48px 16px 72px}
.b4-head{grid-template-columns:1fr;row-gap:28px}
.b4 h1{font-size:36px}
}

/* ---------- /blank-3 (blog post: Understanding Conversational Design) ---------- */
.b3{border:1px solid #000;background:#fff}
.b3-in{max-width:1278px;margin:0 auto;padding:168px 0 173px}
.b3-intro{margin-left:217px;max-width:924px}
.b3-intro p{font-size:18px;line-height:19.26px;letter-spacing:-.01em;margin-bottom:19px}
.b3-back{display:flex;justify-content:flex-end;margin:161px 174px 0 0}
.b3-title{font-weight:400;font-size:52px;line-height:1.07;letter-spacing:-.02em;text-align:center;margin:29px 0 0 -3px}
.b3-circles{display:flex;align-items:flex-start;gap:23px;margin:116px 0 0 196px}
.b3-circle{width:278px;height:261px;margin-top:17px;border:1px solid #363636;border-radius:50%;overflow:hidden;box-shadow:3px -3px 12px 1px rgba(0,0,0,.2);flex:none}
.b3-circle.big{width:288px;height:271px;margin-top:0}
.b3-circle img{width:100%;height:100%;object-fit:cover}
.b3-h2{font-weight:400;font-size:42px;line-height:1.07}
.b3-coop{margin:260px 0 0 180px;letter-spacing:-.01em}
.b3-lead{margin:58px 0 0 180px;max-width:890px}
.b3-lead p{font-size:21px;line-height:42px;color:#5C5C5C}
.b3-maxims{display:grid;grid-template-columns:486px 486px;gap:24px 9px;margin:50px 0 0 156px}
.b3-maxim{height:103px;border:1px solid #000;border-radius:4px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);background:rgba(244,244,244,.43);display:flex;align-items:center;gap:7px;padding:0 0 0 32px}
.b3-maxim svg{width:47px;height:39px;flex:none}
.b3-maxim p{font-size:18px;line-height:1.2}
.b3-turn{margin:83px 0 0 305px;letter-spacing:-.02em}
.b3-sub{font-size:21px;line-height:1.25;color:#5C5C5C;letter-spacing:.05em;margin:41px 0 0 314px}
.b3-cards{margin:21px 0 0 314px;width:634px}
.b3-card{position:relative;border:1px solid #AFAEAE;padding:23px 18px;font-size:15px;line-height:20.25px}
.b3-card+.b3-card{margin-top:25px}
.b3-card.c1{background:#FCF6FF;height:178px}
.b3-card.c2{background:#D6D6D6;height:121px;padding-top:31px}
.b3-card.c3{background:#C5FFFA;height:138px;padding-left:26px}
.b3-card.c3 p{max-width:240px}
.b3-card img{position:absolute}
.b3-card .i1{left:448px;top:5px;width:123px;height:115px}
.b3-card .i2{left:434px;top:-12px;width:153px;height:145px}
.b3-card .i3{left:441px;top:-12px;width:157px;height:158px}
.b3-err-h{font-weight:700;margin:192px 0 0 208px}
.b3-err{position:relative;height:458px;margin:163px 0 0 156px}
.b3-stat{position:absolute;left:0;top:11px;width:275px}
.b3-num{font-weight:700;font-size:76px;line-height:1.07;letter-spacing:-.02em;color:#299149}
.b3-stat p:last-child{font-size:16px;line-height:20px;margin-top:16px}
.b3-bub{position:absolute}
.b3-bub.a{left:-29px;top:197px;width:209px;height:207px}
.b3-bub.b{left:178px;top:331px;width:210px;height:147px}
.b3-work{position:absolute;left:413px;top:0;width:470px;height:458px;border:1px solid #000;border-radius:5px;box-shadow:8px 10px 0 2px #363636;background:rgba(197,255,250,.57);padding:29px 24px 0 32px;font-size:15px;line-height:45px}
.b3-persona{margin:73px 0 0 156px;width:982px;min-height:680px;border:1px solid #5C5C5C;border-radius:5px;box-shadow:0 10px 30px -10px rgba(52,86,211,.2);background:rgba(52,86,211,.03);padding:39px 39px 39px 39px}
.b3-persona h3{font-weight:700;font-size:36px;line-height:1.2;letter-spacing:-.01em}
.b3-pl{font-size:21px;line-height:1.25;margin-top:24px;max-width:910px}
.b3-tones{display:grid;grid-template-columns:448px 448px;gap:19px;margin-top:48px}
.b3-tone{border:1px solid #000;border-radius:5px;box-shadow:0 4px 10px rgba(0,0,0,.05);min-height:143px;padding:19px 18px}
.b3-tone h4{font-weight:700;font-size:24px;line-height:1.2}
.b3-tone p{font-size:15px;line-height:20.25px;margin-top:16px}
.b3-tone.t1{background:#D6D6D6}
.b3-tone.t2{background:rgba(197,255,250,.37);padding:22px 10px 18px 26px}
.b3-tone.t2 p{margin-top:8px}
.b3-consist{margin-top:126px;border:1px solid #000;border-radius:5px;background:#FCF6FF;min-height:163px;padding:39px 40px 30px}
.b3-consist h5{font-weight:700;font-size:22px;line-height:1.2}
.b3-consist p{font-size:15px;line-height:20.25px;margin-top:17px}
.b3-multi{margin:56px 0 0 177px}
.b3-fig{display:block;height:auto}
.b3-fig.f1{width:863px;margin:27px 0 0 220px;aspect-ratio:863/481}
.b3-fig.f2{width:795px;margin:34px 0 0 245px;aspect-ratio:795/474}
.b3-fig.f3{width:732px;margin:6px 0 0 271px;aspect-ratio:732/623}
@media (max-width:1000px){
.b3-in{padding:96px 24px 120px;max-width:980px}
.b3-intro,.b3-coop,.b3-lead,.b3-maxims,.b3-turn,.b3-sub,.b3-cards,.b3-err-h,.b3-err,.b3-persona,.b3-multi,.b3-fig{margin-left:0!important}
.b3-back{margin-right:0}
.b3-circles{margin-left:0;justify-content:center;flex-wrap:wrap}
.b3-maxims{grid-template-columns:1fr 1fr}
.b3-persona{width:auto}
.b3-tones{grid-template-columns:1fr 1fr}
.b3-fig{width:100%!important}
.b3-coop,.b3-err-h{margin-top:140px}
}
@media (max-width:760px){
.b3-in{padding:48px 16px 80px}
.b3-title{font-size:34px}.b3-h2{font-size:30px}
.b3-circles{gap:16px;margin-top:56px}.b3-circle,.b3-circle.big{width:min(278px,80vw);height:min(261px,75vw);margin-top:0}
.b3-coop,.b3-err-h{margin-top:80px}.b3-turn{margin-top:64px}
.b3-lead{margin-top:28px}.b3-lead p{font-size:18px;line-height:32px}
.b3-maxims,.b3-tones{grid-template-columns:1fr}
.b3-sub{margin-top:20px;font-size:18px}
.b3-cards{width:auto}
.b3-card{height:auto!important;min-height:120px;padding-right:130px}
.b3-card .i1,.b3-card .i2,.b3-card .i3{left:auto;right:6px;top:8px;width:110px;height:100px}
.b3-err{height:auto;margin-top:48px}
.b3-stat,.b3-bub,.b3-work{position:static}
.b3-bub{display:none}
.b3-work{width:auto;height:auto;margin-top:32px;line-height:32px;padding:24px 20px}
.b3-persona{padding:24px 20px;min-height:0}.b3-persona h3{font-size:28px}.b3-pl{font-size:18px}
.b3-consist{margin-top:32px;padding:24px 20px}
.b3-back{margin-top:56px}
.shape-wave,.shape-wave i{height:60px}
}

/* ---------- /project-1 (AI CRM case study) ---------- */
.ga{background:radial-gradient(circle farthest-corner at 94% 90%,#fff 0%,20%,rgba(255,255,255,0) 40%),radial-gradient(circle farthest-corner at 7% 88%,rgba(244,244,244,.99) 0%,25%,rgba(244,244,244,0) 50%),radial-gradient(circle farthest-corner at 6% 13%,#3456D3 0%,42%,rgba(52,86,211,0) 70%),radial-gradient(circle farthest-corner at 94% 11%,#7F6C2E 0%,42%,rgba(127,108,46,0) 70%),radial-gradient(circle farthest-corner at 49% 50%,#fff 0%,100%,rgba(255,255,255,0) 100%)}
.gb{background:radial-gradient(circle farthest-corner at 20.485% 82.597%,#ffc28f 0%,17.5%,rgba(255,194,143,0) 35%),radial-gradient(circle farthest-corner at 6.323% 14.417%,#3456D3 0%,42%,rgba(52,86,211,0) 70%),radial-gradient(circle farthest-corner at 94% 11%,#ffacdf 0%,42%,rgba(255,172,223,0) 70%),radial-gradient(circle farthest-corner at 49% 50%,#fff 0%,100%,rgba(255,255,255,0) 100%)}
.gc{background:radial-gradient(circle farthest-corner at 20.485% 82.597%,rgba(255,194,143,.43) 0%,25.69%,rgba(255,194,143,0) 35%),radial-gradient(circle farthest-corner at 6.323% 14.417%,#3456D3 0%,42%,rgba(52,86,211,0) 70%),radial-gradient(circle farthest-corner at 94% 11%,#ffacdf 0%,42%,rgba(255,172,223,0) 70%),radial-gradient(circle farthest-corner at 49% 50%,rgba(255,255,255,.44) 0%,100%,rgba(255,255,255,0) 100%)}
.p1-hero{background:#fff}
.p1-hero-in{position:relative;max-width:1280px;margin:0 auto;min-height:561px;padding:107px 0 40px 123px}
.p1-hero h1{font-weight:400;font-size:76px;line-height:1.07;max-width:649px}
.p1-lede{font-size:24px;line-height:1.2;max-width:622px;margin:70px 0 0 8px}
.p1-scribble{position:absolute;left:811px;top:68px;width:327px;height:328px;transform:rotate(72deg)}
.p1-laptop{background:#101A29;height:770px;overflow:hidden}
.p1-laptop img{width:100%;height:100%;object-fit:cover}
.p1-brief{max-width:648px;margin:0 0 0 calc(50% - 325px);padding:79px 0 111px;font-size:15px;line-height:30px}
.p1-process{position:relative;height:544px;overflow:hidden;background:#fff}
.p1-fan{position:relative;display:flex;justify-content:center;gap:12px;padding-top:159px;max-width:1280px;margin:0 auto}
.p1-step{width:232px;height:237px;border:1px solid #000;background:#fff;transition:transform .5s ease-out;transform:none}
.p1-step img{width:100%;height:100%;object-fit:cover}
.p1-fan.in .p1-step{transform:translateX(var(--x)) rotate(var(--r))}
.p1-fan.in .p1-step:hover{transform:translate(var(--x),-9px) rotate(var(--r))}
.p1-layers{padding:20px 40px 20px}
.p1-row{display:grid;grid-template-columns:597px 597px;gap:6px;justify-content:center;height:var(--h);margin-bottom:5px}
.p1-layer{position:relative;border:1px solid #AFAEAE;padding:47px 40px 20px 47px}
.p1-num{display:flex;align-items:center;justify-content:center;width:71px;height:59px;background:#F0FF06;border:1px solid #000;box-shadow:3px -3px 12px 1px rgba(0,0,0,.2);font-size:36px;line-height:1}
.p1-layer h3{font-weight:400;font-size:22px;line-height:1.2;margin-top:22px}
.p1-layer p{font-size:15px;line-height:20.25px;max-width:458px;margin-top:14px}
.p1-pic{border:1px solid #AFAEAE;background:#D6D6D6;overflow:hidden}
.p1-pic img{width:100%;height:100%;object-fit:cover}
.p1-pillars{padding:165px 20px 94px}
.p1-pillar{max-width:1026px;min-height:350px;margin:0 auto 20px;border:1px solid #5C5C5C;box-shadow:3px -3px 12px 1px rgba(0,0,0,.2);background:#fff;display:flex;justify-content:space-between;gap:38px;padding:39px 37px 39px 39px}
.p1-pillar h4{font-weight:700;font-size:24px;line-height:1.2}
.p1-pillar p{font-size:15px;line-height:20.25px;margin-top:20px;max-width:657px}
.p1-pillar img{width:253px;height:250px;object-fit:cover;border-radius:6px;flex:none}
.p1-grey{background:#F4F4F4}
.p1-issues{position:relative;height:924px;overflow:hidden}
.p1-issues-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.p1-issues-in{position:relative;max-width:1280px;margin:0 auto;height:100%}
.p1-issues h2{position:absolute;left:129px;top:80px;font-weight:400;font-size:28px;line-height:1.03}
.p1-issues p{position:absolute;left:129px;top:146px;font-size:18px;line-height:28.8px}
.p1-loop{position:absolute;left:129px;top:251px;width:515px;height:550px;object-fit:cover}
.p1-panel{position:absolute;left:788px;top:232px;width:319px;height:550px;object-fit:contain}
.p1-band{position:relative;background:#F0FF06;display:flex;align-items:center;justify-content:center;z-index:1}
.p1-band h3{font-weight:400;font-size:24px;line-height:1.2;text-align:center;padding:0 16px}
.p1-band.b2 h3{font-size:28px}
.p1-hand{position:absolute;pointer-events:none}
.p1-hand.l{left:calc(50% - 444px);top:-6px;width:163px;height:172px;transform:rotate(18deg) scaleX(-1)}
.p1-hand.r{left:calc(50% + 238px);top:-7px;width:177px;height:177px;transform:rotate(-18deg)}
.p1-hand.s{left:calc(50% - 486px);top:3px;width:105px;height:105px;transform:rotate(24deg)}
.p1-proto{padding:143px 20px 151px}
.p1-proto iframe{display:block;width:100%;max-width:811px;aspect-ratio:811/461;margin:0 auto;transform:translateX(-15px);border:1px solid rgba(0,0,0,.1);background:#fff}
.p1-tables{background:#D6D6D6;padding:118px 20px 59px;display:flex;flex-direction:column;align-items:center;gap:14px}
.p1-tables img{max-width:100%;height:auto;box-shadow:3px -3px 12px 1px rgba(0,0,0,.2);transform:translateX(-11px)}
.p1-tables img:nth-child(2){margin-top:1px}
.p1-tables img:nth-child(4){margin-left:6px}
.p1-shot{display:flex;justify-content:center;padding-left:20px;padding-right:20px}
.p1-shot img{max-width:100%;height:auto;box-shadow:3px -3px 12px 1px rgba(0,0,0,.2)}
.p1-space{position:relative;height:370px;background:#C5FFFA;overflow:hidden}
.p1-space-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.p1-space-in{position:relative;max-width:610px;margin:0 0 0 calc(50% - 305px);padding-top:68px;color:#fff}
.p1-space h2{font-weight:400;font-size:42px;line-height:1.07}
.p1-space p{font-size:16px;line-height:19.2px;margin-top:59px;max-width:585px}
.p1-compact{height:627px;background:#DFE6FE}
.p1-compact img{width:100%;height:100%;object-fit:cover}
.p1-slides{padding:21px 20px 47px}
.ss{position:relative;max-width:1198px;margin:0 auto}
.ss-view{overflow:hidden;aspect-ratio:1198/660;background:#fff}
.ss-track{display:flex;height:100%;transition:transform .8s ease}
.ss-slide{flex:0 0 100%;width:100%;height:100%;object-fit:cover}
.ss-btn{position:absolute;bottom:22px;width:57px;height:57px;border:0;border-radius:50%;background:rgba(255,255,255,.85);cursor:pointer;opacity:0;transition:opacity .2s;display:flex;align-items:center;justify-content:center}
.ss:hover .ss-btn,.ss-btn:focus-visible{opacity:1}
.ss-btn svg{width:26px;height:26px;fill:none;stroke:#000;stroke-width:1.6}
.ss-prev{left:calc(50% - 68px)}.ss-next{left:calc(50% + 11px)}
.ss-pause{position:absolute;right:-1px;bottom:-26px;width:26px;height:26px;border:0;background:none;padding:0;cursor:pointer}
.ss-pause svg{width:24px;height:24px;fill:none;stroke:#000;stroke-width:1.2}
.ss-pause .i-play{display:none}.ss-pause.paused .i-play{display:block;fill:#000;stroke:none}.ss-pause.paused .i-pause{display:none}
@media (max-width:1000px){
.p1-hero-in{padding:80px 24px 40px}
.p1-scribble{left:auto;right:24px;width:300px;height:300px;opacity:.9}
.p1-row{grid-template-columns:1fr 1fr;height:auto}
.p1-row>*{min-height:var(--h)}
.p1-fan{transform:scale(.8);transform-origin:50% 0}
.p1-issues h2,.p1-issues p,.p1-loop,.p1-panel{position:static}
.p1-issues{height:auto}.p1-issues-in{padding:64px 24px;display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.p1-issues h2,.p1-issues p{flex-basis:100%}
.p1-loop{width:min(515px,100%);height:auto;aspect-ratio:515/550}.p1-panel{width:min(319px,100%);height:auto}
.p1-proto iframe,.p1-tables img{transform:none}
.p1-hand.l,.p1-hand.r,.p1-hand.s{display:none}
}
@media (max-width:760px){
.p1-hero h1{font-size:44px}.p1-lede{font-size:19px;margin:32px 0 0}
.p1-scribble{position:static;display:block;margin:24px auto 0;width:220px;height:220px}
.p1-laptop{height:auto;aspect-ratio:1434/770}
.p1-brief{margin:0 auto;padding:48px 16px 64px}
.p1-process{height:auto;padding-bottom:40px}
.p1-fan{transform:none;flex-wrap:wrap;gap:20px;padding:48px 16px 0}
.p1-fan.in .p1-step{transform:rotate(calc(var(--r) / 4))}
.p1-layers{padding:20px 16px}
.p1-row{grid-template-columns:1fr;margin-bottom:24px}
.p1-row>*{min-height:0}.p1-pic{aspect-ratio:597/346}
.p1-pillars{padding:56px 16px 40px}
.p1-pillar{flex-direction:column;min-height:0;padding:24px 20px}
.p1-pillar img{width:100%;height:auto;aspect-ratio:253/250}
.p1-band h3,.p1-band.b2 h3{font-size:18px}
.p1-band{height:auto!important;min-height:90px;padding:20px 0}
.p1-proto{padding:48px 16px}
.p1-tables{padding:48px 16px}
.p1-space{height:auto;padding-bottom:40px}.p1-space-in{margin:0;padding:48px 16px 0}.p1-space h2{font-size:30px}.p1-space p{margin-top:24px}
.p1-compact{height:auto}.p1-compact img{height:auto}
.p1-shot{padding:40px 16px!important}
.p1-slides{padding:20px 16px 48px}
.ss-btn{opacity:1;width:40px;height:40px;bottom:10px}.ss-prev{left:calc(50% - 48px)}.ss-next{left:calc(50% + 8px)}
}

/* ---------- / (home) ---------- */
.hm-hero{position:relative;height:824px;overflow:hidden;background:#dfe3ea}
.hm-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hm-hero-in{position:relative;max-width:1280px;height:100%;margin:0 auto}
.hm-intro{position:absolute;left:191px;top:199px;width:459px;font-size:20px;line-height:30px}
.hm-profile{position:absolute;left:720px;top:199px;width:403px}
.hm-cover{position:relative;z-index:2;height:138px;border:1px solid #252D4B;box-shadow:3px -3px 7px 1px rgba(0,0,0,.2);overflow:hidden;background:#c9d3f0}
.hm-cover img{width:100%;height:100%;object-fit:cover}
.hm-card{position:relative;height:354px;margin-top:-67px;background:#F4F4F4;border:1px solid #252D4B;box-shadow:3px -3px 7px 1px rgba(0,0,0,.2);padding:85px 20px 0}
.hm-avatar{position:relative;width:119px;height:115px}
.hm-avatar img{width:119px;height:115px;border-radius:50%;object-fit:cover;border:1px solid #000;filter:grayscale(1)}
.hm-online{position:absolute;left:94px;top:93px;width:14px;height:14px;border-radius:50%;background:#59C451;border:1px solid #1d6a19}
.hm-role{font-size:15px;line-height:26.25px;margin:21px 0 0 9px}
.hm-role span{font-size:24px}
.hm-viewwork{position:absolute;left:1002px;top:673px;display:flex;align-items:center;justify-content:center;width:121px;height:41px;background:#F4F4F4;border:1px solid #000;border-radius:4px;font-size:14px;transition:background .2s,color .2s}
.hm-viewwork:hover{background:#000;color:#fff}
.hm-logos{background:#fff;height:333px;display:flex;align-items:center}
.hm-logo-row{width:100%;max-width:1280px;margin:0 auto;padding:0 55px 0 68px;display:flex;justify-content:space-between;align-items:center}
.hm-logo-row img{width:122px;height:68px;object-fit:contain;opacity:.8;transition:filter .15s linear,transform .15s linear;will-change:filter,transform}
.hm-exp{min-height:915px;padding:87px 20px 120px}
.hm-exp h2{font-weight:400;font-size:36px;line-height:1.2;text-align:center}
.hm-exp-grid{display:grid;grid-template-columns:repeat(3,270px);column-gap:30px;row-gap:121px;margin:72px 0 0 calc(50% - 395px);width:870px}
.hm-exp h3{font-weight:400;font-size:24px;line-height:1.2;display:flex;align-items:center;gap:14px}
.hm-exp .burst{width:15px;height:15px}
.hm-exp p{font-size:15px;line-height:26.25px;max-width:247px;margin-top:43px}
.hm-galhead{height:108px;display:flex;align-items:center;justify-content:center}
.hm-galhead h2{font-weight:400;font-size:42px;line-height:1.07}
.hm-gallery{padding:50px 20px 139px}
.hm-gal{display:grid;grid-template-columns:396px 396px 375px;grid-template-rows:289px 308px 350px;gap:20px 15px;justify-content:center}
.hm-gal .hm-cell:nth-child(n+7){margin-top:7px}
.hm-cell{border:1px solid #AFAEAE;overflow:hidden;background:#eee}
.hm-cell img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.hm-cell:hover img{transform:scale(1.04)}
.hm-skills{background:#FCF6FF}
.hm-skills h3{font-weight:700;font-size:18px;line-height:24.3px;color:#5C5C5C;padding:8px 20px 9px;border-bottom:1px solid #AFAEAE}
.hm-chips{display:flex;flex-direction:column;gap:14px;padding-top:26px}
.hm-chips>div{display:flex;justify-content:center;gap:29px}
.hm-chips .chip{height:26px;padding:0 16px;font-size:14px;border-radius:5px;border-color:#AFAEAE}
.hm-chips .chip.dark{border-color:#363636}
.hm-work{background:#FCF6FF;padding:24px 0 0;position:relative}
.hm-tag{display:flex;align-items:center;width:262px;height:36px;margin-left:calc(50% - 610px);padding:0 14px;background:#F0FF06;border:1px solid #AFAEAE;border-radius:5px;font-size:14px;font-weight:700;text-transform:uppercase}
.hm-tag:hover{text-decoration:underline}
.hm-row{display:grid;grid-template-columns:399px 780px;column-gap:18px;align-items:start;margin:21px 0 0 calc(50% - 610px)}
.hm-row+.hm-row{margin-top:77px}
.hm-wcard{position:relative;background:#fff;border:1px solid #AFAEAE;min-height:320px;padding:12px 18px 0}
.hm-row+.hm-row .hm-wcard{min-height:329px}
.hm-whead{display:flex;gap:12px;align-items:flex-start;margin:0 -18px;padding:0 18px 12px;border-bottom:1px solid #AFAEAE}
.hm-wlogo{display:block;width:47px;height:43px;border:1px solid;border-radius:5px;overflow:hidden;flex:none;background:#fff}
.hm-row+.hm-row .hm-wlogo{width:50px;height:48px;margin-top:4px}
.hm-wlogo img{width:100%;height:100%;object-fit:cover}
.hm-whead h3{font-weight:700;font-size:22px;line-height:1.2;margin-top:-2px}
.hm-whead p{font-size:14px;line-height:1.35;color:#5C5C5C}
.hm-wbody{font-size:14px;line-height:18.9px;margin-top:30px;max-width:357px}
.hm-row+.hm-row .hm-wbody{margin-top:44px}
.hm-wbody ul{padding-left:25px}
.hm-wfoot{position:absolute;left:18px;right:22px;bottom:22px;display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700}
.hm-wfoot>a:first-child:hover{text-decoration:underline}
.hm-wfoot .arrow-btn{width:32px;height:30px;border-radius:9px;border-color:#5C5C5C}
.hm-media{display:block;overflow:hidden}
.hm-video{box-shadow:-3px -3px 12px 1px rgba(0,0,0,.2);background:#000;margin-top:-3px;width:779px}
.hm-video video{display:block;width:100%;aspect-ratio:779/375;object-fit:cover}
.hm-arbol{border:1px solid #BBB}
.hm-arbol img{width:100%;aspect-ratio:778/494;object-fit:cover;transition:transform .6s ease}
.hm-arbol:hover img{transform:scale(1.02)}
.hm-work .shape{margin-top:58px}
@media (max-width:1000px){
.hm-intro{left:40px}.hm-profile{left:auto;right:40px}.hm-viewwork{left:auto;right:40px}
.hm-exp-grid{margin-left:auto;margin-right:auto}
.hm-gal{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:280px}
.hm-gal .hm-cell:nth-child(n+7){margin-top:0}
.hm-tag,.hm-row{margin-left:20px;margin-right:20px}
.hm-row{grid-template-columns:minmax(0,399px) minmax(0,1fr)}
.hm-video{width:auto}
}
@media (max-width:860px){
.hm-hero{height:auto}
.hm-hero-in{padding:72px 24px 64px;display:flex;flex-direction:column;gap:40px}
.hm-intro,.hm-profile,.hm-viewwork{position:static}
.hm-profile{width:100%;max-width:403px}
.hm-logo-row{flex-wrap:wrap;justify-content:center;gap:24px 40px;padding:56px 24px}
.hm-logos{height:auto}
.hm-exp-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:auto;row-gap:56px}
.hm-exp p{margin-top:16px}
.hm-gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:240px}
.hm-row{grid-template-columns:1fr;row-gap:20px}
.hm-wcard,.hm-row+.hm-row .hm-wcard{min-height:300px}
}
@media (max-width:640px){
.hm-intro{font-size:18px}
.hm-exp{padding:56px 16px 72px}.hm-exp h2{font-size:26px}
.hm-exp-grid{grid-template-columns:1fr;margin-top:40px}
.hm-gallery{padding:32px 16px 72px}
.hm-gal{grid-template-columns:1fr;grid-auto-rows:auto}
.hm-gal .hm-cell{aspect-ratio:396/300}.hm-gal .hm-skills{aspect-ratio:auto;padding-bottom:24px}
.hm-chips>div{gap:12px}
.hm-tag,.hm-row{margin-left:16px;margin-right:16px}
.hm-galhead h2{font-size:32px}
.shape-wave,.shape-wave i{height:60px}
}
