/* Encanto: the portfolio begins with the gesture of opening a present. */
.enc-hero{--box-scale:1.32;--box-yaw:-24deg;--box-pitch:-18deg;--fan-step:144px;--token-width:140px;--token-height:174px;position:relative;isolation:isolate;overflow:hidden;background:#241028;color:#F7F1E7;padding:30px 0 0}
.enc-hero-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 78% 54%,#4b2047 0,rgba(61,18,54,.55) 30%,transparent 66%)}
.enc-hero-orbit{position:absolute;border:1px solid rgba(255,194,75,.18);border-radius:50%;pointer-events:none}.enc-hero-orbit-wide{width:135%;height:67%;left:-10%;top:15%;transform:rotate(-14deg)}.enc-hero-orbit-near{width:76%;height:145%;left:50%;top:-22%;transform:rotate(24deg);border-color:rgba(255,194,75,.09)}
.enc-hero-spark{position:absolute;fill:#FFC24B;opacity:.8}.enc-hero-spark-one{width:26px;height:38px;left:45%;top:17%}.enc-hero-spark-two{width:38px;height:45px;right:5%;bottom:16%}
.enc-hero-top,.enc-hero-foot{position:relative;z-index:2;display:flex;justify-content:space-between;gap:20px;font-size:11px;line-height:1.5}.enc-hero-top{color:rgba(247,241,231,.65);letter-spacing:.025em}.enc-hero-top>span:first-child{color:#FFC24B}
.enc-hero-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;min-height:640px;gap:0}
.enc-hero-copy{position:relative;z-index:3;padding:38px 0 60px}.enc-hero-copy h1{font:900 clamp(62px,5.7vw,94px)/.9 Archivo,Arial,sans-serif;letter-spacing:-.065em;margin:0 0 34px;color:#F7F1E7}.enc-hero-copy h1 em{display:inline-block;margin-top:8px;font:italic 600 1.24em/.98 Fraunces,Georgia,serif;letter-spacing:-.07em;color:#FFC24B}.enc-hero-copy>p{font-size:16px;line-height:1.6;color:rgba(247,241,231,.8)}
.enc-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:21px 24px;margin-top:28px}.enc-hero-open{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;background:#FFC24B;color:#241028;min-height:52px;padding:14px 19px;font-size:14px;font-weight:600;border:1px solid #FFC24B;transition:background .2s,transform .2s}.enc-hero-open>svg{width:22px;height:22px;fill:currentColor;transition:transform .4s}.enc-hero-open:hover{background:#ffd17b;transform:translateY(-2px)}.enc-hero[data-enc-open=true] .enc-hero-open>svg{transform:rotate(45deg)}.enc-hero-actions>a{font-size:12px;padding:10px 0;border-bottom:1px solid rgba(247,241,231,.4);display:flex;gap:20px}.enc-hero-actions>a:hover{color:#FFC24B}.enc-hero :is(button,a):focus-visible{outline:2px solid #FFC24B;outline-offset:6px}.enc-hero-open:focus-visible{outline-color:#F7F1E7!important}
.enc-hero-experience{position:relative;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.enc-hero-stage{position:relative;height:540px;perspective:1100px;perspective-origin:50% 44%;isolation:isolate}
.enc-stage-halo{position:absolute;left:50%;top:71%;width:470px;height:65px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(10,2,13,.55),transparent 68%);filter:blur(9px);pointer-events:none}
.enc-stage-orbit{position:absolute;left:50%;top:48%;width:96%;height:45%;border:1px solid rgba(255,194,75,.4);border-radius:50%;transform:translate(-50%,-50%) rotate(-19deg);pointer-events:none}.enc-stage-orbit svg{position:absolute;right:6%;top:7%;width:37px;height:37px;fill:#FFC24B;transform:rotate(19deg);filter:drop-shadow(0 0 16px rgba(255,194,75,.2))}
.enc-box-button{position:absolute;left:0;top:120px;width:100%;height:370px;padding:0;background:transparent;perspective:1100px;perspective-origin:50% 42%;transform-style:preserve-3d;z-index:3;border:0}.enc-box-button:focus-visible{outline-offset:-25px!important}
.enc-box-float{display:block;position:absolute;width:280px;height:164px;left:calc(50% - 140px);top:160px;transform-style:preserve-3d;transform:scale(var(--box-scale));animation:enc-box-breathe 8s ease-in-out 2;animation-play-state:paused}
.enc-box-turn{display:block;position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--box-pitch)) rotateY(var(--box-yaw));transition:transform .65s cubic-bezier(.16,1,.3,1)}.enc-box-body{display:block;position:absolute;inset:0;transform-style:preserve-3d}
.enc-box-face,.enc-box-interior,.enc-box-lid-face{position:absolute;display:block;backface-visibility:hidden}.enc-box-face{width:280px;height:164px;background:#321838;border:1px solid rgba(247,241,231,.1)}.enc-box-front{transform:translateZ(98px);background:linear-gradient(115deg,#613965,#321737 90%)}.enc-box-back{transform:rotateY(180deg) translateZ(98px);background:#29122e}.enc-box-left,.enc-box-right{width:196px;left:42px}.enc-box-left{transform:rotateY(-90deg) translateZ(140px);background:linear-gradient(110deg,#68406c,#3b2041)}.enc-box-right{transform:rotateY(90deg) translateZ(140px);background:linear-gradient(90deg,#251029,#43234a)}.enc-box-bottom{height:196px;top:-16px;transform:rotateX(-90deg) translateZ(82px);background:#18091c}.enc-box-interior{width:280px;height:196px;top:-16px;transform:rotateX(90deg) translateZ(81px);background:#160820;border:8px solid #49274f;box-shadow:inset 0 0 35px #0f0612}
.enc-box-ribbon{position:absolute;display:block;left:31px;top:-1px;bottom:-1px;width:44px;background:linear-gradient(90deg,#c48922,#ffc24b 25%,#ffe3a2 47%,#f4b53f 85%,#d99928);border-inline:1px solid rgba(255,220,144,.3);transform-origin:center bottom;transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .7s}.enc-box-brand{position:absolute;width:160px!important;height:auto!important;right:19px;top:75px;max-width:none!important}
.enc-box-lid{position:absolute;display:block;width:292px;height:18px;left:-6px;top:-18px;transform-style:preserve-3d;transform-origin:50% 18px -104px;transform:rotateX(0);transition:transform 1.15s cubic-bezier(.18,.75,.25,1);transition-delay:.1s}.enc-box-lid-face{width:292px;height:18px;background:#3c1f43;border:1px solid rgba(247,241,231,.17)}.enc-box-lid-front{transform:translateZ(104px);background:#67406c}.enc-box-lid-front .enc-box-ribbon{left:37px}.enc-box-lid-back{transform:rotateY(180deg) translateZ(104px)}.enc-box-lid-left,.enc-box-lid-right{width:208px;left:42px}.enc-box-lid-left{transform:rotateY(-90deg) translateZ(146px);background:#6f4774}.enc-box-lid-right{transform:rotateY(90deg) translateZ(146px);background:#3e2144}.enc-box-lid-top,.enc-box-lid-under{height:208px;top:-95px}.enc-box-lid-top{transform:rotateX(90deg) translateZ(9px);background:linear-gradient(125deg,#805287,#59345f 65%,#3e2144)}.enc-box-lid-under{transform:rotateX(-90deg) translateZ(9px);background:#2d1532;border:8px solid #59345f}.enc-box-lid-ribbon{position:absolute;display:block;width:44px;left:37px;top:-1px;bottom:-1px;background:linear-gradient(90deg,#e7a936,#ffc24b 30%,#ffe3a2 47%,#f7ba42 85%,#d99a2b);border-inline:1px solid #ffcf74;transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .7s}.enc-box-lid-brand{position:absolute;width:160px!important;height:auto!important;right:25px;top:94px;max-width:none!important}
.enc-hero-projects{position:absolute;inset:0;z-index:4;pointer-events:none}.enc-project-token{--token-x:calc(var(--fan-step) * -1.5);--token-y:-240px;--token-r:-14deg;position:absolute;left:50%;top:320px;width:var(--token-width);height:var(--token-height);padding:6px;background:#F7F1E7;border:1px solid rgba(255,255,255,.55);color:#241028;box-shadow:0 14px 26px rgba(12,3,16,.25);text-align:left;opacity:0;visibility:hidden;transform:translate(-50%,25px) rotate(0) scale(.35);transform-origin:50% 100%;transition:transform 1.15s cubic-bezier(.18,.75,.25,1),opacity .5s,visibility 0s .9s;pointer-events:none;backface-visibility:hidden}.enc-project-token:nth-child(2){--token-x:calc(var(--fan-step) * -.5);--token-y:-278px;--token-r:-5deg}.enc-project-token:nth-child(3){--token-x:calc(var(--fan-step) * .5);--token-y:-278px;--token-r:5deg}.enc-project-token:nth-child(4){--token-x:calc(var(--fan-step) * 1.5);--token-y:-240px;--token-r:14deg}.enc-token-photo{display:block;height:calc(100% - 30px);overflow:hidden;background:#eee7dc}.enc-token-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.enc-project-token[data-project=olx] .enc-token-photo img,.enc-project-token[data-project=zurich-santander] .enc-token-photo img,.enc-project-token[data-project=arteris] .enc-token-photo img,.enc-project-token[data-project=shopee] .enc-token-photo img{object-fit:contain}.enc-token-caption{display:flex;justify-content:space-between;align-items:center;gap:4px;padding:9px 4px 0;font-size:12px;line-height:1}.enc-token-caption strong{font-weight:600;white-space:nowrap}.enc-token-caption>span{font-size:14px}.enc-project-token:hover .enc-token-photo img{transform:scale(1.035)}
.enc-hero[data-enc-open=true] .enc-box-lid{transform:translateY(-28px) rotateX(108deg)}.enc-hero[data-enc-open=true] .enc-box-front .enc-box-ribbon{transform:translateY(24px) rotateX(-48deg);opacity:0}.enc-hero[data-enc-open=true] .enc-box-lid-ribbon,.enc-hero[data-enc-open=true] .enc-box-lid-front .enc-box-ribbon{transform:translateX(-100px) rotate(-12deg);opacity:0}.enc-hero[data-enc-open=true] .enc-project-token{opacity:1;visibility:visible;transform:translate(calc(-50% + var(--token-x)),var(--token-y)) rotate(var(--token-r)) scale(1);pointer-events:auto;transition-delay:.28s,.25s,0s}.enc-hero[data-enc-open=true] .enc-project-token:nth-child(2){transition-delay:.36s,.3s,0s}.enc-hero[data-enc-open=true] .enc-project-token:nth-child(3){transition-delay:.44s,.35s,0s}.enc-hero[data-enc-open=true] .enc-project-token:nth-child(4){transition-delay:.52s,.4s,0s}.enc-hero[data-enc-open=true] .enc-project-token:hover,.enc-hero[data-enc-open=true] .enc-project-token:focus-visible{transform:translate(calc(-50% + var(--token-x)),calc(var(--token-y) - 9px)) rotate(var(--token-r)) scale(1.04);z-index:5;transition-duration:.3s;transition-delay:0s}
.enc-scene-footer{position:relative;z-index:5;min-height:50px;display:flex;align-items:center;justify-content:center;margin-top:-17px}.enc-scene-caption{font-size:11px;color:rgba(247,241,231,.62);text-align:center}
.enc-hero-foot{border-top:1px solid rgba(247,241,231,.17);padding-block:21px;color:rgba(247,241,231,.6)}.enc-hero-foot>a{display:flex;gap:29px}.enc-hero-foot>a:hover{color:#FFC24B}
.enc-hero[data-enc-visible=true][data-enc-open=false]:not([data-enc-interacting=true]) .enc-box-float{animation-play-state:running}.enc-hero[data-enc-visible=true] .enc-stage-orbit{animation:enc-orbit-breathe 12s ease-in-out 1}.enc-hero[data-enc-visible=false] .enc-stage-orbit{animation-play-state:paused}
@keyframes enc-box-breathe{0%,100%{transform:scale(var(--box-scale)) translateY(0)}50%{transform:scale(var(--box-scale)) translateY(-8px)}}@keyframes enc-orbit-breathe{0%,100%{transform:translate(-50%,-50%) rotate(-19deg)}50%{transform:translate(-50%,-50%) rotate(-11deg)}}
.motion-paused .enc-hero *{animation:none!important;transition:none!important}.motion-paused .enc-box-turn{transform:rotateX(-18deg) rotateY(-24deg)}
@media(min-width:1680px){.enc-hero{--box-scale:1.48;--fan-step:158px;--token-width:151px;--token-height:186px}.enc-hero-layout{min-height:710px}.enc-hero-stage{height:590px}.enc-box-button{top:144px}.enc-project-token{top:335px}.enc-stage-halo{top:73%}.enc-hero-copy h1{font-size:100px}.enc-hero-copy>p{font-size:17px}}
@media(max-width:1250px) and (min-width:901px){.enc-hero{--box-scale:1.08;--fan-step:116px;--token-width:113px;--token-height:147px}.enc-hero-copy h1{font-size:clamp(57px,5.65vw,70px)}.enc-hero-layout{min-height:610px;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)}.enc-hero-stage{height:510px}.enc-box-button{top:110px}.enc-project-token{top:310px;--token-y:-213px}.enc-project-token:nth-child(2),.enc-project-token:nth-child(3){--token-y:-248px}.enc-token-caption{font-size:10px;padding:10px 1px 0}.enc-stage-orbit{width:100%}.enc-scene-footer{gap:12px}.enc-scene-caption{font-size:10px}.enc-hero-actions{gap:19px}.enc-hero-copy>p{font-size:14px}}
@media(max-width:900px){.enc-hero{padding-top:24px;--box-scale:1.35;--fan-step:144px;--token-width:140px;--token-height:174px}.enc-hero-top{font-size:10px}.enc-hero-top>span:last-child{display:none}.enc-hero-layout{grid-template-columns:1fr;min-height:0;gap:0}.enc-hero-copy{padding:48px 0 0}.enc-hero-copy h1{font-size:clamp(58px,9.2vw,82px);line-height:.92;margin-bottom:24px}.enc-hero-copy h1 br:nth-of-type(2){display:none}.enc-hero-copy h1 em{margin-left:.1em;margin-top:0}.enc-hero-copy>p{font-size:15px}.enc-hero-actions{margin-top:25px}.enc-hero-experience{margin-top:0}.enc-hero-stage{height:520px;max-width:660px;width:100%;margin:auto}.enc-box-button{top:105px}.enc-project-token{top:302px}.enc-scene-footer{margin-top:-22px;margin-bottom:25px}.enc-hero-orbit-wide{width:180%;left:-40%;height:45%;top:30%;transform:rotate(-27deg)}.enc-hero-orbit-near{width:140%;left:0}.enc-hero-spark-one{left:auto;right:12%;top:10%;width:34px;height:45px}.enc-hero-spark-two{right:7%;bottom:10%;width:26px;height:34px}.enc-hero-foot{font-size:10px;padding-block:18px}}
@media(max-width:680px){.enc-hero{--box-scale:1.04;--fan-step:111px;--token-width:109px;--token-height:143px}.enc-hero-layout{width:calc(100% - 40px)}.enc-hero-copy{padding-top:36px}.enc-hero-copy h1{font-size:clamp(47px,9.1vw,62px)}.enc-hero-copy>p{font-size:14px}.enc-hero-stage{height:445px}.enc-box-button{top:70px;height:350px}.enc-project-token{top:264px;--token-y:-205px}.enc-project-token:nth-child(2),.enc-project-token:nth-child(3){--token-y:-235px}.enc-token-caption{font-size:10px;padding:10px 2px 0}.enc-stage-halo{width:340px;top:75%}.enc-scene-footer{margin-top:-12px;margin-bottom:18px;gap:16px}.enc-scene-caption{font-size:10px}.enc-stage-orbit{top:55%;width:102%;height:40%}.enc-hero-foot{flex-direction:column;gap:10px;padding-block:18px}.enc-hero-foot>a{justify-content:space-between}.enc-hero-actions{gap:17px}.enc-hero-open{min-height:48px;font-size:13px;padding:12px 16px}.enc-hero-actions>a{font-size:11px;gap:12px}.enc-hero-spark-one{right:7%;top:9%;width:22px;height:30px}}
@media(max-width:500px){.enc-hero{--box-scale:.91;--fan-step:86px;--token-width:84px;--token-height:117px}.enc-hero-stage{height:390px}.enc-box-button{top:46px;height:326px}.enc-project-token{top:236px;--token-y:-170px;--token-r:-12deg;padding:4px}.enc-project-token:nth-child(2),.enc-project-token:nth-child(3){--token-y:-194px}.enc-project-token:nth-child(4){--token-r:12deg}.enc-token-photo{height:calc(100% - 25px)}.enc-token-caption{font-size:9px;padding:8px 0 0}.enc-token-caption>span{font-size:11px}.enc-scene-footer{min-height:42px;margin-top:0}.enc-stage-halo{width:280px;top:78%}.enc-stage-orbit{top:57%}.enc-hero-copy h1{font-size:clamp(42px,9vw,48px)}.enc-hero-copy h1 em{font-size:1.23em}.enc-hero-copy>p{font-size:13px}.enc-scene-caption{max-width:150px}.enc-hero-top{font-size:9px}.enc-hero-actions{column-gap:14px}.enc-hero-open{gap:17px}.enc-hero-actions>a{font-size:10px}.enc-hero-layout{width:calc(100% - 40px)}}
@media(max-width:360px){.enc-hero{--box-scale:.78;--fan-step:70px;--token-width:69px;--token-height:101px}.enc-hero-layout{width:calc(100% - 32px)}.enc-hero-copy h1{font-size:37px}.enc-hero-copy h1 em{font-size:1.2em}.enc-hero-stage{height:350px}.enc-box-button{top:32px;height:302px}.enc-project-token{top:211px;--token-y:-154px}.enc-project-token:nth-child(2),.enc-project-token:nth-child(3){--token-y:-175px}.enc-token-caption{font-size:8px;letter-spacing:-.03em}.enc-hero-actions{gap:12px}.enc-hero-open{font-size:12px;gap:14px;padding-inline:14px}.enc-hero-actions>a{font-size:10px;gap:6px}.enc-scene-footer{gap:8px}.enc-scene-caption{max-width:136px;font-size:9px}}
/* Reserve actual projected depth below the box, not only its flat CSS height. */
@media(min-width:1251px) and (max-width:1679px){.enc-box-button{top:40px}}
@media(min-width:1680px){.enc-box-button{top:54px}}
@media(min-width:901px) and (max-width:1250px){.enc-box-button{top:40px}}
@media(min-width:681px) and (max-width:900px){.enc-box-button{top:10px}}
@media(min-width:501px) and (max-width:680px){.enc-box-button{top:-10px}}
.enc-hero[data-enc-open=true] .enc-box-lid{transform:rotateX(160deg)}
@media(max-width:500px){.enc-box-button{top:-34px}.enc-hero-experience{padding-top:14px}}
@media(max-width:360px){.enc-box-button{top:-48px}}
@media(max-width:680px){.enc-hero-spark-two{display:none}}
/* Three selected cases: one complete story for each business front. */
.enc-hero{--fan-step:184px;--token-width:180px;--token-height:222px;--fan-y:-282px;--fan-center-y:-310px}
.enc-project-token{display:flex;flex-direction:column;--token-x:calc(var(--fan-step) * -1);--token-y:var(--fan-y);--token-r:-8deg;padding:6px}
.enc-project-token:nth-child(2){--token-x:0px;--token-y:var(--fan-center-y);--token-r:0deg}
.enc-project-token:nth-child(3){--token-x:var(--fan-step);--token-y:var(--fan-y);--token-r:8deg}
.enc-token-front{display:block;flex:0 0 23px;padding:3px 3px 7px;font-size:10px;line-height:1.2;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#5a465b}
.enc-token-photo{flex:1 1 auto;min-height:0;height:auto;width:100%}
.enc-token-caption{flex:0 0 34px;min-height:34px;padding:7px 3px 1px;font-size:13px;line-height:1.05;align-items:center}
.enc-token-caption strong{white-space:normal;line-height:1.05}.enc-token-caption>span{flex:0 0 auto}
.enc-project-token[data-project=zurich-santander] .enc-token-photo img,.enc-project-token[data-project=amstel-vibes] .enc-token-photo img{object-fit:contain}
.enc-project-token[data-project=olx-premiacoes] .enc-token-photo img{object-fit:contain}
.enc-project-token[data-project=amstel-vibes]:hover .enc-token-photo img{transform:none}
.enc-scene-caption{max-width:none!important}
@media(min-width:1680px){.enc-hero{--fan-step:202px;--token-width:194px;--token-height:238px;--fan-y:-295px;--fan-center-y:-326px}.enc-token-front{font-size:11px;flex-basis:25px}.enc-token-caption{font-size:14px;flex-basis:36px;min-height:36px}}
@media(min-width:901px) and (max-width:1250px){.enc-hero{--fan-step:clamp(128px,11.6vw,149px);--token-width:clamp(134px,12vw,152px);--token-height:clamp(178px,17vw,194px);--fan-y:-258px;--fan-center-y:-282px}.enc-token-front{font-size:9px;flex-basis:21px}.enc-token-caption{font-size:11px;flex-basis:33px;min-height:33px}}
@media(min-width:681px) and (max-width:900px){.enc-hero{--fan-step:176px;--token-width:170px;--token-height:212px;--fan-y:-264px;--fan-center-y:-292px}}
@media(min-width:501px) and (max-width:680px){.enc-hero{--fan-step:clamp(120px,24vw,147px);--token-width:clamp(120px,24vw,145px);--token-height:188px;--fan-y:-225px;--fan-center-y:-249px}.enc-token-front{font-size:9px;flex-basis:21px}.enc-token-caption{font-size:11px;flex-basis:33px;min-height:33px}}
@media(max-width:500px){.enc-hero{--fan-step:clamp(87px,27vw,123px);--token-width:clamp(82px,24.6vw,112px);--token-height:150px;--fan-y:-196px;--fan-center-y:-216px}.enc-project-token{padding:4px;--token-r:-4deg}.enc-project-token:nth-child(3){--token-r:4deg}.enc-token-front{font-size:8px;letter-spacing:.025em;flex-basis:20px;padding:3px 1px 5px}.enc-token-caption{font-size:10px;flex-basis:32px;min-height:32px;padding:5px 1px 0;gap:3px}.enc-token-caption>span{font-size:11px}.enc-project-token[data-project=zurich-santander] .enc-token-caption{font-size:9px}.enc-hero[data-enc-open=true] .enc-project-token:hover,.enc-hero[data-enc-open=true] .enc-project-token:focus-visible{transform:translate(calc(-50% + var(--token-x)),calc(var(--token-y) - 4px)) rotate(var(--token-r)) scale(1)}.enc-scene-caption{font-size:10px}}
@media(max-width:500px){.enc-token-front{font-size:9px;letter-spacing:.015em}.enc-project-token[data-project=zurich-santander] .enc-token-caption{font-size:10px}}
@media(max-width:360px){.enc-hero{--fan-step:82px;--token-width:78px;--token-height:140px;--fan-y:-173px;--fan-center-y:-191px}.enc-token-front{flex-basis:20px}.enc-token-caption{font-size:10px}}
@media(prefers-reduced-motion:reduce){.enc-hero *{animation:none!important;transition:none!important}.enc-box-turn{transform:rotateX(-18deg) rotateY(-24deg)}}
