/* Boa Conta / digital finance */
:root,[data-theme="light"]{--primary:#2563eb;--primary-dark:#1748bc;--primary-light:#e5edff;--font-display:'Inter',sans-serif;--bg-primary:#f7f9fd;--bg-secondary:#edf2fa;--bg-tertiary:#e3eaf5;--border:#dce4f0;--radius-lg:24px}
[data-theme="dark"]{--primary:#7aa8ff;--primary-dark:#467fe8;--primary-light:#172e51;--bg-primary:#090f1c;--bg-secondary:#0e1829;--bg-tertiary:#15233a;--text-primary:#f2f6ff;--text-secondary:#b6c4da;--text-tertiary:#9aacbf;--border:#23334a}
body{overflow-x:clip}.navbar{padding:18px 0;background:color-mix(in srgb,var(--bg-primary) 88%,transparent);backdrop-filter:blur(22px);border-bottom:1px solid var(--border)}.navbar .container{max-width:1440px}.nav-menu{gap:1.2rem}.nav-link{font-size:.78rem}.theme-toggle svg{width:22px;height:22px}
.section{padding:100px 0}.section-title{font-size:clamp(2rem,4vw,3.4rem);font-weight:650;letter-spacing:-.055em;line-height:1.12}.section-tag{font-size:.7rem;letter-spacing:.18em}.section-subtitle{max-width:600px;margin-inline:auto}
.hero{isolation:isolate;min-height:100svh;padding:150px 0 90px;background:#090f1c;overflow:hidden}
.hero>.container{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr 1fr;gap:35px;align-items:center;width:100%}
.hero-background{z-index:0;background:radial-gradient(ellipse at 80% 40%,#18355e 0,transparent 55%),#090f1c}
.hero-background::after{content:'';position:absolute;inset:0;background-image:linear-gradient(#96b8ed09 1px,transparent 1px),linear-gradient(90deg,#96b8ed09 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(#000,transparent)}
.hero-content{max-width:680px}.hero-subtitle{display:inline-flex;align-items:center;gap:10px;color:#9abfff;font-size:.67rem;letter-spacing:.19em}.hero-subtitle::before{content:'';width:7px;height:7px;background:#79e3cf;border-radius:50%;box-shadow:0 0 18px #79e3cf}
.hero-title{font-size:clamp(2.8rem,5.4vw,5rem);font-weight:650;letter-spacing:-.065em;line-height:1.04}.hero-title .highlight{color:#8fb7ff;background:none;-webkit-text-fill-color:initial}
.hero-description{font-size:1rem;line-height:1.85;max-width:490px;color:#aabbd2}.hero .btn-primary{background:#3976ee;color:#fff}.hero .btn-secondary{color:#e0eaff;border:1px solid #35465e;background:#ffffff04}
.btn{border-radius:100px;padding:15px 24px;font-size:.82rem;transition:transform .25s,box-shadow .25s}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 35px #2563eb25}
.hero-stats{gap:25px;border-top:1px solid #ffffff17;padding-top:25px}.hero-stats .stat{text-align:left}.stat-number{font-size:1.65rem;color:#d4e4ff}.stat-label{font-size:.7rem}
.finance-scene{height:510px;position:relative;perspective:1000px;pointer-events:none}.finance-stage{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--rx,-9deg)) rotateY(var(--ry,-17deg));transition:transform .6s ease-out}
.orbit{position:absolute;left:4%;top:6%;width:92%;aspect-ratio:1;border:1px solid #7199de40;border-radius:50%;transform:rotateX(61deg) rotateZ(-25deg);box-shadow:0 0 65px #4a80f510,inset 0 0 65px #4a80f510}.orbit.two{transform:rotateY(65deg) rotateZ(25deg);border-color:#7ee4d52a}
.scene-core{position:absolute;left:23%;top:24%;width:54%;aspect-ratio:1;border-radius:30%;background:linear-gradient(135deg,#83aeff,#285fd0 45%,#112a58);box-shadow:inset 2px 2px 2px #d3e8ff80,inset -10px -10px 40px #07122d,0 40px 100px #2463ed40;transform:translateZ(-40px) rotateZ(-16deg);display:grid;place-items:center;animation:core-drift 9s ease-in-out infinite}
.scene-core span{font-size:5rem;color:#e1edff;font-weight:700;letter-spacing:-.12em;transform:rotateZ(16deg)}
.finance-panel{position:absolute;background:linear-gradient(135deg,#213654e8,#0e1c32ed);border:1px solid #9dc1ff36;border-radius:19px;backdrop-filter:blur(20px);padding:22px;color:#e3edff;box-shadow:0 25px 65px #0005;transform:translateZ(65px);animation:panel-drift 7s ease-in-out infinite}.finance-panel small{font-size:.6rem;text-transform:uppercase;letter-spacing:.15em;color:#abc0de;display:block;margin-bottom:12px}.finance-panel strong{font-size:1.25rem;letter-spacing:-.04em;display:block}
.finance-main{top:12%;left:3%;width:225px}.finance-status{bottom:15%;right:0;width:205px;animation-delay:-3s}.finance-status strong{font-size:.95rem}.finance-status i{display:inline-block;width:7px;height:7px;background:#72e4c6;border-radius:50%;margin-right:6px}
.finance-tag{position:absolute;right:0;top:12%;color:#adc6eb;border:1px solid #91b5f02b;background:#15243b;padding:10px 15px;border-radius:100px;font-size:.65rem;transform:translateZ(30px)}
.chart-bars{height:70px;display:flex;align-items:flex-end;gap:7px;margin-top:18px;border-bottom:1px solid #ffffff20}.chart-bars b{flex:1;height:var(--bar);background:linear-gradient(#9cbfff,#3c71d6);border-radius:4px 4px 0 0;transform-origin:bottom;animation:bar-arrive 1.3s both}
.scene-caption{position:absolute;bottom:0;left:12%;font-size:.6rem;letter-spacing:.17em;color:#849cbf;text-transform:uppercase}
@keyframes core-drift{50%{transform:translateY(-18px) translateZ(-40px) rotateZ(-8deg)}}@keyframes panel-drift{50%{translate:0 -12px}}@keyframes bar-arrive{from{scale:1 0}to{scale:1 1}}
.service-card,.case-card,.blog-card,.team-card,.quick-action-card,.contact-form-card{border:1px solid var(--border);box-shadow:0 8px 32px #142e5b06;border-radius:24px;background:var(--bg-primary)}
.service-card{position:relative;overflow:hidden;transform-style:preserve-3d;transition:transform .25s,border-color .25s,box-shadow .25s}.service-card::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(350px circle at var(--mx,50%) var(--my,0%),#508cf01c,transparent 70%)}.service-card:hover{border-color:#6a9cf5;box-shadow:0 25px 60px #2354a812}
.service-content{padding:32px}.service-icon{width:58px;height:58px;border-radius:17px;box-shadow:inset 0 1px 0 #ffffff70,0 10px 25px #2563eb15;transform:perspective(300px) rotateY(-12deg) rotateX(9deg)}.service-title{letter-spacing:-.035em;font-size:1.35rem}.service-description{line-height:1.85}.service-link{display:inline-block;margin-top:10px}
.about-grid{gap:65px}.about-image{min-height:350px;border:1px solid var(--border);border-radius:28px;background:radial-gradient(ellipse at 30% 20%,#4e8cf52b,transparent 65%),var(--bg-secondary);display:grid;place-items:center}.about-image::before{content:'BC';font-weight:750;font-size:8rem;letter-spacing:-.12em;color:var(--primary);text-shadow:5px 8px 0 #2563eb18;transform:perspective(500px) rotateY(-20deg)}.experience-badge{right:20px;bottom:20px;border-radius:18px;padding:20px}
.page-header{background:radial-gradient(ellipse at 70% 0%,#2563eb24,transparent 65%),var(--bg-secondary);border-bottom:1px solid var(--border)}.page-title{font-family:var(--font-primary);letter-spacing:-.065em;font-weight:650}
.whatsapp-float{width:50px;height:50px;animation:none}.email-float{width:50px;height:50px;right:5.2rem}.cursor-glow,.gradient-blobs,.tilt-shine{display:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--primary);outline-offset:5px}
.motion-control{position:absolute;bottom:22px;left:32px;z-index:4;color:#aabbd2;border:1px solid #536d9255;border-radius:100px;padding:8px 14px;font-size:.65rem}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important;scroll-behavior:auto!important}
@media(min-width:1024px){.service-card:first-child{grid-column:span 2}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.nav-menu{gap:.8rem}.nav-link{font-size:.7rem}.hero-title{font-size:3.5rem}}
@media(max-width:1023px){.nav-menu{background:var(--bg-primary)}.nav-link{font-size:1.15rem}.hero>.container{grid-template-columns:1fr}.hero-content{max-width:720px}.finance-scene{height:400px;max-width:480px;width:100%;margin:auto}.hero{padding-top:130px}.hero-title{font-size:clamp(3rem,8vw,4.7rem)}.section{padding:70px 0}}
@media(max-width:600px){.hero{padding-bottom:65px}.hero-title{font-size:clamp(2.6rem,11vw,3.8rem)}.hero-description{font-size:.94rem}.finance-scene{height:350px;max-width:350px}.finance-panel{padding:16px}.finance-main{width:180px;left:2%}.finance-status{width:165px;bottom:12%}.finance-panel strong{font-size:1rem}.finance-status strong{font-size:.8rem}.scene-core span{font-size:4rem}.finance-tag{font-size:.53rem}.scene-caption{font-size:.5rem;left:5%}.hero-stats{gap:18px}.stat-label{font-size:.6rem}.stat-number{font-size:1.4rem}.about-grid{gap:30px}.service-content{padding:25px}.motion-control{left:16px;bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.finance-stage{transform:rotateX(-5deg) rotateY(-8deg)!important}.slide-up,.slide-in-left,.slide-in-right,.fade-in,.stagger-item,.img-reveal{opacity:1!important;transform:none!important}}
.motion-control{left:50%;transform:translateX(-50%);white-space:nowrap}.hero .stat-number{display:block}.hero .stat-label{display:block}
.hero>.container{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.hero-content,.finance-scene{min-width:0}.about-image.img-reveal::after{display:none}@media(max-width:1023px){.hero>.container{grid-template-columns:minmax(0,1fr)}.nav-toggle{flex-shrink:0;padding:10px}.hero-description{overflow-wrap:anywhere}.finance-tag{max-width:65%;white-space:normal}}
html{overflow-x:hidden}body{width:100%;max-width:100%}.navbar .container{width:100%}@media(max-width:600px){.chat-window{max-width:calc(100vw - 32px)}}
/* Shared motion language across every page and section. */
section:not(.hero),.footer{position:relative;isolation:isolate}
section:not(.hero)::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at var(--light-x,75%) 15%,#4d8cf516,transparent 58%);animation:ambient-light 12s ease-in-out infinite alternate}
section:nth-of-type(even)::before{animation-delay:-6s}
@keyframes ambient-light{from{opacity:.35;translate:0 0}to{opacity:1;translate:0 12px}}
.page-header{overflow:hidden;padding-top:150px}
.page-header::after{content:'';position:absolute;z-index:-1;right:-70px;top:40px;width:350px;aspect-ratio:1;border:1px solid #619aff42;border-radius:28%;box-shadow:inset 0 0 60px #3b82f610,0 0 80px #3b82f610;transform:perspective(700px) rotateY(-35deg) rotateZ(25deg);animation:header-orbit 16s ease-in-out infinite alternate}
@keyframes header-orbit{to{transform:perspective(700px) rotateY(20deg) rotateZ(65deg) translateY(20px)}}
.value-card,.process-card,.service-detail-card,.case-study-card,.featured-post,.blog-post-item,.sidebar-widget,.team-card,.contact-form-card,.quick-action-card,.case-card,.blog-card,.faq-item{border:1px solid var(--border);border-radius:22px;box-shadow:0 12px 35px #10264d08;transition:border-color .35s,box-shadow .35s,transform .35s;background-color:var(--bg-primary)}
.value-card:hover,.process-card:hover,.team-card:hover,.service-detail-card:hover,.case-study-card:hover,.blog-post-item:hover,.quick-action-card:hover,.case-card:hover,.blog-card:hover{border-color:#679cf5;box-shadow:0 20px 50px #2563eb18}
.motion-card{position:relative;transform-style:preserve-3d}
.motion-card::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(350px circle at var(--mx,50%) var(--my,0%),#699df31c,transparent 75%);opacity:0;transition:opacity .35s}
.motion-card:hover::after{opacity:1}
.motion-ready [data-reveal]{opacity:0;translate:0 28px;transition:opacity .8s ease,translate .8s cubic-bezier(.2,.65,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready [data-reveal].is-revealed{opacity:1;translate:0 0}
.service-detail-card,.case-study-card{grid-template-columns:minmax(0,1fr)}
.services-hero-grid{grid-template-columns:minmax(0,1fr)}
.service-detail-content,.case-study-content{min-width:0}
.story-image img{border-radius:24px}.team-image{overflow:hidden}.team-image img{transition:transform .8s cubic-bezier(.2,.65,.2,1)}.team-card:hover .team-image img{transform:scale(1.045)}
.value-icon,.process-number,.service-detail-icon{box-shadow:0 12px 28px #2563eb20;transform:perspective(450px) rotateY(-12deg) rotateX(8deg);transition:transform .45s}
.value-card:hover .value-icon,.process-card:hover .process-number,.service-detail-card:hover .service-detail-icon{transform:perspective(450px) rotateY(10deg) translateY(-4px)}
.footer a,.service-link{transition:color .25s,translate .25s}.footer a:hover,.service-link:hover{translate:3px 0}
.motion-control{position:fixed;bottom:22px;left:50%;z-index:1001;background:#0c1729e8;backdrop-filter:blur(16px);color:#c8daf4;box-shadow:0 4px 24px #0002}
.motion-paused [data-reveal]{opacity:1!important;translate:0 0!important}
@media(max-width:767px){.page-header{padding-top:125px}.motion-control{bottom:12px;font-size:.6rem;padding:7px 10px}.service-detail-card,.case-study-card{display:block}.page-header::after{width:240px}.blog-main,.blog-layout,.story-grid,.values-grid,.team-grid,.contact-page-layout{min-width:0}}
@media(prefers-reduced-motion:reduce){.motion-ready [data-reveal]{opacity:1;translate:0 0}.motion-card{transform:none!important}section::before,.page-header::after{animation:none!important}}
/* Keep photographs crisp; motion remains on surrounding graphic elements. */
.noise-overlay::before{content:none!important;display:none!important}
.team-card,.team-card:hover,.blog-card:has(img),.blog-card:has(img):hover,.blog-post-item:has(img),.blog-post-item:has(img):hover,.featured-post:has(img),.featured-post:has(img):hover{transform:none!important;transform-style:flat}
.team-image img,.team-card:hover .team-image img,.story-image img,.blog-image img,.blog-card:hover .blog-image img,.popular-post img{transform:none!important;filter:none!important;image-rendering:auto;opacity:1;transition:none!important}
.team-card::after,.blog-card:has(img)::after,.blog-post-item:has(img)::after,.featured-post:has(img)::after{display:none!important}
.team-image{background:var(--bg-secondary)}.team-image img{object-position:center 30%}
/* Subpixel smoothing for photographic grain / fine clothing patterns.
   CSS presentation only: original photographs and facial features remain untouched. */
.page-about .team-image img,
.page-about .team-card:hover .team-image img,
.page-about .story-image img{
    filter:blur(.3px)!important;
    image-rendering:auto;
    transform:none!important;
}
.page-about .team-image{
    isolation:isolate;
}
@media(min-resolution:2dppx){
    .page-about .team-image img,
    .page-about .team-card:hover .team-image img,
    .page-about .story-image img{filter:blur(.2px)!important}
}
.page-about .team-image img,.page-about .team-card:hover .team-image img,.page-about .story-image img{filter:none!important}
