/* V2: refine the original identity. No change to its type family or visual language. */
html{scroll-padding-top:88px}
body{font-family:var(--font)}
:focus-visible{outline:2px solid var(--verde);outline-offset:5px}
.skip-link{position:fixed;top:-80px;left:20px;padding:12px 18px;z-index:4000;background:var(--papel-1);color:var(--tinta)}
.skip-link:focus{top:12px}
.nav{background:color-mix(in srgb,var(--papel) 95%,transparent);box-shadow:none}
.nav .wrap{display:flex;align-items:center;gap:38px;height:68px;width:100%;max-width:1200px;padding:0 32px;margin:auto}
.nav .nav-links{display:flex;gap:22px;align-items:center;margin:0}
.nav .nav-links a{padding:6px 0;font:400 13px var(--font);text-transform:none;letter-spacing:0;white-space:nowrap;color:var(--tinta-2);background:transparent}
.nav .nav-links a:hover,.nav .nav-links a.ativo{color:var(--verde)}
.nav .nav-dir{display:flex;align-items:center;gap:8px;margin-left:auto}
.nav .logo-simbolo{flex:none;margin:0;padding:0}
.nav .logo-simbolo svg{width:28px;height:28px}
.nav .nav-cv{display:flex;align-items:center;gap:4px;font:400 12px var(--font);padding:8px;color:var(--tinta-2)}
.nav .hubPrefs{display:flex;gap:0;position:static}
.nav .hubPrefsBotao{display:flex;align-items:center;gap:5px;background:transparent;border:0;box-shadow:none;color:var(--tinta-2);font:400 12px var(--font);min-height:40px;padding:8px;border-radius:5px}
.nav .hubPrefsBotao:hover{background:var(--papel-2)}
.nav .hubPrefsBotao svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5}
.menu-toggle{display:none;width:40px;height:40px;padding:10px;background:none;border:0;color:var(--tinta);cursor:pointer}
.menu-toggle span{display:block;width:20px;height:1px;background:currentColor;margin:6px 0;transition:transform .2s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.hero{padding:70px 0 72px}
.hero .wrap{column-gap:56px;grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.hero h1{font-size:clamp(38px,4.7vw,60px);line-height:1.055;font-weight:600;letter-spacing:-.05em;max-width:17ch;margin:22px 0 24px;text-wrap:balance}
.hero .apoio{font-size:16px;line-height:1.65;max-width:47ch}
.hero .eyebrow-hero{font:400 12px/1.6 var(--font);text-transform:none;letter-spacing:0;color:var(--tinta-2)}
.eyebrow-hero em{display:none}
.hero .acoes{gap:10px;margin-top:28px}
.hero-visual{margin-left:12px;--foto-w:150px;--foto-morde:60px}
.hero-visual .prancha{aspect-ratio:1;box-shadow:none}
.hero-visual .ancora-hero{left:-28px}
.ancora .foto-estatica{display:block;opacity:1!important;visibility:visible!important}
.prancha{box-shadow:none}
.prancha::after{opacity:.32}
.tex-giz::before{opacity:.09}
.g-regua{opacity:.2}
.g-luz,.g-anda{filter:none}
.prancha .rodape{opacity:.45}
.eyebrow{font-family:var(--font);font-size:12px;letter-spacing:.01em;text-transform:none;font-weight:500}
.eyebrow::before{display:none}
.h-sec{font-size:clamp(28px,3.2vw,40px);font-weight:500;line-height:1.16;letter-spacing:-.035em;max-width:23ch}
.sec{padding-top:80px;padding-bottom:80px}
.cabeca{margin-bottom:32px}
.chip{font:400 11px var(--font);text-transform:none;letter-spacing:0;background:transparent;border-color:var(--linha);height:23px;padding:0 8px;border-radius:4px}
.chip-verde{background:transparent;color:var(--verde);border-color:var(--verde-borda)}
.case,.metodo,.lab{border-radius:12px;box-shadow:none;background:var(--papel-1);transition:border-color .25s,box-shadow .25s}
.case:hover,.metodo:hover,.lab:hover{transform:none;box-shadow:0 6px 24px rgba(19,45,33,.045);border-color:var(--linha-forte)}
.case .capa-case{aspect-ratio:16/8.5}
.case .corpo,.metodo .corpo{padding:24px}
.case h3,.metodo h3{font-size:21px;font-weight:500;line-height:1.25;letter-spacing:-.025em}
.case p,.metodo p{font-size:14px;line-height:1.65}
.ler{font:500 12px var(--font);letter-spacing:0;text-transform:none;margin-top:8px}
.btn{font-family:var(--font);font-size:13px;letter-spacing:0;text-transform:none;box-shadow:none}
.btn:hover{transform:none}
/* Compact services: every tile retains the brand's line work. */
.services-section{padding-top:24px;padding-bottom:60px;border-top:0}
.services-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:22px}
.services-heading h2{font-size:16px;letter-spacing:-.02em;font-weight:500;color:var(--tinta)}
.services-heading>p{font-size:12px;color:var(--tinta-3)}
.services{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:start}
.service{border:1px solid var(--linha);border-radius:9px;overflow:hidden;background:transparent;transition:background .25s,border-color .25s}
.service:is(:hover,:focus-within),.service[open]{background:var(--papel-1);border-color:var(--verde-borda)}
.service summary{position:relative;list-style:none;padding:18px 16px 15px;cursor:pointer}
.service summary::-webkit-details-marker{display:none}
.service-art{display:block;width:60px;height:44px;margin-bottom:24px;stroke:var(--verde);stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round;overflow:visible}
.service-art>*{transform-box:fill-box;transform-origin:center;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .4s}
.service-art .s-dot{fill:var(--verde);stroke:var(--papel);stroke-width:1.5}
.service-art rect{fill:var(--papel)}
.service h3{font-size:15px;font-weight:500;line-height:1.3;letter-spacing:-.025em;min-height:39px}
.service summary>p{font-size:12px;color:var(--tinta-2);line-height:1.5;min-height:54px;margin-top:8px}
.service-more{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:18px;color:var(--verde);font-size:10px}
.plus{display:block;position:relative;flex:none;width:14px;height:14px}
.plus:before,.plus:after{content:"";position:absolute;width:9px;height:1px;background:currentColor;top:6px;left:2px;transition:transform .2s}
.plus:after{transform:rotate(90deg)}
[open]>summary .plus:after{transform:rotate(0)}
.service-detail{padding:0 16px 18px;font-size:12px;color:var(--tinta-2);line-height:1.6}
.service-detail p{border-top:1px solid var(--linha);padding-top:14px}
.service-detail a{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px;color:var(--verde);font-size:11px}
.service-detail .arrow{width:16px;height:16px;stroke:currentColor;stroke-width:1.5;flex:none}
.service:is(:hover,:focus-within,[open]) .art-0 .s-dot{transform:translateX(6px)}
.service:is(:hover,:focus-within,[open]) .art-1 .s-a{transform:translateX(6px)}
.service:is(:hover,:focus-within,[open]) .art-1 .s-c{transform:translateX(-6px)}
.service:is(:hover,:focus-within,[open]) .art-2 .s-b{transform:translateX(-6px)}
.service:is(:hover,:focus-within,[open]) .art-2 .s-c{transform:translateX(6px)}
.service:is(:hover,:focus-within,[open]) .art-3 .s-ring{transform:scale(1.13)}
.service:is(:hover,:focus-within,[open]) .art-4 .s-dot{transform:translateY(-4px)}
/* Public work is shown through real interfaces; confidential work keeps its diagrams. */
#metodo{background:#142A21;border:0}
#metodo .h-sec{color:#EDF2EE}
#metodo .eyebrow{color:#A4C7B2}
#metodo .metodo{background:var(--papel-1);border-color:transparent}
.public-preview{overflow:hidden;aspect-ratio:16/9;background:#E4E9E6}
.public-preview img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.metodo:is(:hover,:focus-visible) .public-preview img{transform:scale(1.025)}
.metodos{grid-template-columns:1fr 1fr}
.labs{gap:18px}
.lab{display:flex;gap:14px;padding:0 22px 24px;overflow:hidden}
.lab-preview{height:200px;margin:0 -22px 6px;overflow:hidden;background:var(--papel-2);flex:none}
.lab-preview>img{height:100%;width:100%;object-fit:cover;object-position:top;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.lab:is(:hover,:focus-visible) .lab-preview>img{transform:scale(1.035)}
.lab h3{font-size:18px;font-weight:500;line-height:1.3}
.lab p{font-size:13px;line-height:1.65}
.lab .meta{gap:6px}
.lab-preview.brain-stage{padding:18px;background:#E4EAE6}
.lab-preview .brain-preview{height:100%;width:100%;background:var(--papel-1);border:1px solid var(--linha);border-radius:6px;overflow:hidden;color:var(--tinta);font-family:var(--font)}
.lab-preview .brain-toolbar{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--linha);padding:9px 12px;font-size:8px;color:var(--tinta-3)}
.lab-preview .brain-toolbar b{font-size:11px;color:var(--tinta)}
.lab-preview .brain-toolbar i{margin-left:auto;font-style:normal}
.lab-preview .brain-content{padding:14px 16px}
.lab-preview .brain-orb{height:16px;width:16px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#b2cabc,#1f5c40);margin:0 auto 6px}
.lab-preview .brain-greeting{font-size:9px!important;text-align:center;margin-bottom:10px;line-height:1.4!important}
.lab-preview .brain-example{background:var(--papel-2);border-radius:4px;padding:7px;margin-left:24px}
.lab-preview .brain-example>span,.lab-preview .brain-answer>span{display:block;font-size:7px;color:var(--tinta-3);margin-bottom:3px}
.lab-preview .brain-example p,.lab-preview .brain-answer p{font-size:8px!important;line-height:1.4!important}
.lab-preview .brain-answer{padding-top:9px}
.lab-preview .brain-source,.lab-preview .brain-compose{font-size:7px;color:var(--verde);margin-top:6px}
.lab-preview .brain-compose{display:flex;justify-content:space-between;border-top:1px solid var(--linha);padding:6px 10px}
.ficha-poster,:root[data-theme=dark] .ficha-poster{background:var(--papel-2);color:var(--tinta);--cursor:var(--verde-vivo)}
.ficha-poster [data-grafismo]{color:var(--tinta)}
.ficha-poster .g-no{fill:var(--papel-2)}
.sobre-texto p{font-size:16px;line-height:1.7}
.contato h2{font-weight:500;font-size:clamp(32px,4vw,52px);max-width:18ch}
.contato-prancha{border-radius:14px}
.logo{align-items:baseline}
.cursor{width:.5em;height:.075em;min-height:2px;transform:translateY(.16em);animation:pisca 1.15s steps(1,end) infinite;box-shadow:none}
@media(prefers-reduced-motion:reduce){.cursor{animation:none}}
/* Standalone case pages inherit the same typography and restrained surfaces. */
.portfolio-detail .wrap{width:100%;max-width:1200px;padding-left:32px;padding-right:32px}
.portfolio-detail .case-header h1{font-family:var(--font);font-size:clamp(36px,4.3vw,56px);font-weight:500;letter-spacing:-.045em}
.portfolio-detail .case-principle{border-radius:10px;background:var(--papel-2);padding:32px;gap:40px}
.portfolio-detail .case-principle .service-art{flex:none;margin:0}
.portfolio-detail .case-summary h2{font:500 12px var(--font);letter-spacing:0}
.portfolio-detail .case-visual.brain-stage{background:var(--papel-2)}
.pagina-v3 .eyebrow{font-family:var(--font);letter-spacing:0;text-transform:none}
:root[data-theme=dark] .brain-stage{background:#232524}
@media(max-width:1050px){
 .nav .wrap{gap:24px}.nav .nav-links{gap:16px}.nav .nav-cv{display:none}
 .hero .wrap{gap:38px}.hero-visual{--foto-w:128px}.hero h1{font-size:48px}
 .service h3{font-size:14px}.service summary{padding:16px 12px}.service summary>p{font-size:11px}
 .services-heading>p{max-width:280px;text-align:right}
}
@media(max-width:900px){
 .hero .wrap{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
 .hero h1{font-size:42px}.hero .apoio{font-size:14px}.hero-visual{--foto-w:112px;--foto-morde:40px;padding-bottom:100px}
 .services{grid-template-columns:repeat(3,minmax(0,1fr))}
 .service h3{min-height:0}.service summary>p{min-height:36px;font-size:12px}.service-art{margin-bottom:20px}
 .labs{grid-template-columns:1fr}.lab{display:grid;grid-template-columns:40% 1fr;grid-template-rows:auto auto 1fr auto;padding:22px;gap:10px 24px}
 .lab-preview{grid-row:1/5;height:100%;min-height:240px;margin:-22px 0 -22px -22px}
 .lab .ler{margin-top:0}.lab h3{font-size:20px}.lab p{font-size:14px}
}
@media(max-width:800px){
 .nav .wrap{padding:0 20px;height:64px;gap:20px}
 .nav .nav-links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 20px;border-bottom:1px solid var(--linha);background:var(--papel-1)}
 .nav .nav-links.is-open{display:flex}.nav .nav-links a{padding:12px 0;font-size:15px}
 .menu-toggle{display:block}.nav .nav-dir{gap:4px}
}
@media(max-width:600px){
 .hero{padding:42px 0 48px}.hero .wrap{grid-template-columns:1fr;gap:36px}
 .hero h1{font-size:clamp(36px,9.3vw,48px);max-width:19ch;margin:20px 0}
 .hero .apoio{font-size:15px;max-width:46ch}.hero .eyebrow-hero{font-size:11px}
 .hero .acoes{margin-top:24px}.hero-visual{margin:0 0 0 24px;--foto-w:100px;--foto-morde:48px;padding-bottom:77px;max-width:420px}
 .hero-visual .prancha{aspect-ratio:1.28}.hero-visual .ancora-hero{left:-24px}
 .sec{padding-block:56px}.services-section{padding:0 0 44px}
 .services-heading{display:block;margin-bottom:18px}.services-heading h2{font-size:16px}.services-heading>p{max-width:none;text-align:left;font-size:12px;margin-top:7px}
 .services{grid-template-columns:1fr 1fr;gap:10px}.service summary{padding:16px 14px}
 .service h3{font-size:15px;min-height:39px}.service summary>p{min-height:54px}
 .service-art{height:36px;width:52px;margin-bottom:18px}.service-more{margin-top:14px}
 .service-detail{padding-inline:14px}
 .h-sec{font-size:30px}.cabeca{margin-bottom:26px}.case .corpo,.metodo .corpo{padding:22px}
 .metodos{grid-template-columns:1fr;gap:24px}.public-preview{aspect-ratio:16/10}
 .labs{gap:24px}.lab{display:flex;gap:12px;padding:0 22px 22px}.lab-preview{height:216px;min-height:0;margin:0 -22px 8px}
 .lab-preview>img{width:100%;height:100%;object-fit:cover}.lab h3{font-size:20px}
 .brain-stage{padding:20px}.brain-toolbar{font-size:9px}.brain-content{padding:12px 20px}.brain-greeting{font-size:11px!important}
 .brain-example p,.brain-answer p{font-size:9px!important}.brain-example>span,.brain-answer>span{font-size:8px}
 .portfolio-detail .wrap{padding-inline:20px}.portfolio-detail .case-header h1{font-size:36px}
 .portfolio-detail .case-principle{padding:24px;gap:20px}.portfolio-detail .case-principle p{font-size:20px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}
 .case:hover,.metodo:hover,.lab:hover,.service .service-art>*{transform:none!important}
 .tr{stroke-dashoffset:0!important}
}

.service[open] .service-detail{animation:service-enter .26s ease-out both}
@keyframes service-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
/* The cursor sits below the baseline, like a typographic underscore. */
.rodape-site .logo{align-items:baseline}
.logo .cursor,.pagina-v3 .logo .cursor{width:.5em;height:.075em;min-height:2px;transform:translateY(.16em);animation:pisca 1.15s steps(1,end) infinite;box-shadow:none}
@media(prefers-reduced-motion:reduce){.logo .cursor,.pagina-v3 .logo .cursor{animation:none}}

/* The Saulo B_ wordmark keeps the brand typeface; running text uses Instrument Sans. */
.logo{font-family:var(--font-marca,'Space Grotesk'),system-ui,sans-serif}
