@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600&display=swap');
/* logo CRTCOM */
.brand{display:flex;align-items:center;gap:12px}
.brand-cube{display:inline-block;width:34px;height:34px;flex:0 0 34px}
.brand .mark{font-weight:900;letter-spacing:0.16em;font-size:clamp(15px,1.2vw,19px);color:var(--ink)}
.brand .mark span{color:var(--ink)}
.brand-logo{height:clamp(38px,4.2vw,50px)!important;width:auto!important;max-width:none!important;display:block}
@media(max-width:600px){.brand-logo{height:38px!important}}
.footer-logo{height:44px!important;width:auto!important;max-width:none!important;display:block;margin-bottom:18px}
@media(max-width:600px){.footer-logo{height:38px!important}}
/* o Elementor envolve nosso <footer> num wrapper que TAMBEM e <footer> -> o padding do wireframe casava 2x (vao preto enorme). zera o wrapper. */
body .elementor-location-footer{padding:0!important;margin:0!important}
/* reduz o respiro grande do topo do rodape (nosso <footer> interno) */
body .elementor-location-footer footer{padding-top:clamp(48px,5vw,72px)!important;padding-bottom:clamp(24px,3vw,40px)!important}

/* ===== PORTFOLIO: texto branco + gradiente forte + sem fundo cinza ===== */
.portfolio-grid{background:#0a0a0a!important;border-color:#0a0a0a!important}
.pf-item{background:#0a0a0a!important}
.pf-item .meta{color:#fff}
.pf-item h5{color:#fff!important}
.pf-item .cat{color:var(--accent)!important}
.pf-item .img::after{background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.5) 55%,rgba(0,0,0,.92) 100%)!important}
/* 3 colunas = 9 itens preenchem 3x3 sem celulas vazias */
.portfolio-grid{grid-template-columns:repeat(3,1fr)!important}
@media(max-width:760px){.portfolio-grid{grid-template-columns:1fr!important}}
/* solucoes: 6 cards = 3x2 (sem celulas sobrando) */
.solutions-grid{grid-template-columns:repeat(3,1fr)!important}
@media(max-width:980px){.solutions-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:600px){.solutions-grid{grid-template-columns:1fr!important}}

/* ===== FULL-BLEED: remove bordas brancas do tema Astra ===== */
.ast-page-builder-template .site-content,.ast-page-builder-template #primary,.ast-page-builder-template #main,.ast-page-builder-template .ast-container,.ast-container,.site-content .ast-container{max-width:100%!important;padding-left:0!important;padding-right:0!important;margin-left:auto!important;margin-right:auto!important}
/* secoes 'boxed' = largura total com respiro lateral (sem 'borda'/margem em telas largas) */
.elementor-section.elementor-section-boxed>.elementor-container{max-width:100%!important;width:100%;padding-left:clamp(20px,4vw,72px)!important;padding-right:clamp(20px,4vw,72px)!important}
/* secoes ESTICADAS (hero/vitrine/solucoes/paths) = edge-to-edge; vence a regra boxed */
.elementor-section.elementor-section-stretched>.elementor-container{max-width:100%!important;width:100%!important;padding-left:0!important;padding-right:0!important}
.elementor-section.elementor-section-stretched .elementor-element-populated,.elementor-section.elementor-section-stretched .elementor-widget-wrap{padding:0!important}
/* widget HTML colado nas bordas; .container interno cuida da centralizacao */
.elementor-widget-html>.elementor-widget-container{margin:0;padding:0}
.elementor-widget-html .container{max-width:100%!important;margin:0 auto;padding:0 clamp(20px,4vw,72px)}
/* cabecalho/rodape em largura TOTAL (sem o respiro da regra boxed) */
.elementor-location-header .elementor-section>.elementor-container,.elementor-location-footer .elementor-section>.elementor-container{max-width:100%!important;padding-left:0!important;padding-right:0!important}
.elementor-location-header .elementor-element-populated,.elementor-location-header .elementor-widget-wrap,.elementor-location-footer .elementor-element-populated,.elementor-location-footer .elementor-widget-wrap{padding:0!important}
/* remove a linha de borda do header; sombra sutil para destaque ao rolar */
.nav{border-bottom:none!important;box-shadow:0 1px 14px rgba(0,0,0,.06);position:relative!important;top:auto!important}
/* header sticky do Elementor sempre acima do conteudo */
.elementor-location-header.elementor-sticky--active,.elementor-location-header .elementor-sticky--active{z-index:1000!important}
/* mobile: header/rodape NAO entram na reducao de padding (senao o cabecalho 'flutua') */
@media(max-width:782px){body .elementor-location-header .elementor-top-section.elementor-section-boxed,body .elementor-location-footer .elementor-top-section.elementor-section-boxed{padding-top:0!important;padding-bottom:0!important}body .elementor-location-header .elementor-sticky--active{top:0!important}}
/* 404: forca conteudo full-width (sem bordas brancas do container do Astra) */
body.error404 .site-content,body.error404 .ast-container,body.error404 #primary,body.error404 #content,body.error404 .entry-content,body.error404 .ast-article-single{max-width:100%!important;width:100%!important;padding-left:0!important;padding-right:0!important;margin:0!important}
body.error404 .final-cta{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}

/* offset do header fixo para as ancoras (#manifesto, #metodo, #solucoes) */
html{scroll-padding-top:100px}
#manifesto,#metodo,#solucoes{scroll-margin-top:100px}

/* ===== ANIMACOES (restaura o feel do wireframe nos cards nativos) ===== */
.elementor-inner-section>.elementor-container>.elementor-column{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.elementor-inner-section>.elementor-container>.elementor-column:hover{transform:translateY(-6px)}
.elementor-inner-section>.elementor-container>.elementor-column:hover>.elementor-element-populated,.elementor-inner-section>.elementor-container>.elementor-column:hover>.elementor-widget-wrap{box-shadow:0 18px 44px rgba(0,0,0,.10)}
/* colunas que sao SO um botao (ex.: CTA final): hover apenas no botao, sem lift/sombra na coluna */
.elementor-inner-section>.elementor-container>.elementor-column:has(>.elementor-widget-wrap>.elementor-widget-button:only-child):hover{transform:none}
.elementor-inner-section>.elementor-container>.elementor-column:has(>.elementor-widget-wrap>.elementor-widget-button:only-child):hover>.elementor-widget-wrap{box-shadow:none}
/* botoes nativos: hover amarelo (igual wireframe .cta:hover) */
a.elementor-button,.elementor-button{transition:background-color .3s,border-color .3s,color .3s}
a.elementor-button:hover,.elementor-button:hover{background-color:var(--accent)!important;border-color:var(--accent)!important;color:var(--ink)!important}
/* links do menu e CTA herdam transicao suave */
.nav-links a,.nav-cta{transition:color .2s,background .25s,border-color .25s}
/* faixa de letras PHOCO: grid responsivo (vence a regra do wireframe) */
@media(max-width:920px){.phoco-letters{grid-template-columns:repeat(5,1fr)!important}}
/* mobile: acrostico em coluna unica (le P-H-O-C-O de cima p/ baixo), sem celula vazia */
@media(max-width:600px){
.phoco-letters{grid-template-columns:1fr!important;background:#222!important}
.phoco-letter{display:flex!important;align-items:center!important;gap:20px!important;text-align:left!important;padding:16px 24px!important}
.phoco-letter .big{flex:0 0 40px!important;width:40px!important;font-size:42px!important;text-align:center!important}
.phoco-letter .word{margin-top:0!important;font-size:13px!important}
}
/* PHOCO: centraliza verticalmente as letras com o bloco de texto */
.elementor-section:has(.phoco-letters)>.elementor-container{align-items:center!important}
@media(max-width:980px){.phoco-letters{margin-top:24px}}

/* ===== textos sobre fundo escuro = BRANCO (corrige azul do tema) + imagens mais escuras ===== */
.hero h1,.cinematic h3,.cinematic h3 strong,.path-b h3,.path-b h3 strong{color:#fff!important}
.cinematic h3 em,.path-b h3 em{color:var(--accent)!important}
.cinematic .bg::after{background:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.62) 48%,rgba(0,0,0,.45) 100%)!important}
.hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.74) 0%,rgba(0,0,0,.66) 45%,rgba(0,0,0,.9) 100%)!important}
/* indicador de scroll do hero removido (sobrepunha o botao / cortava) */
.hero-scroll{display:none!important}
/* destaques amarelos com peso maior (semibold) para saltar mais */
em[style*="FFCC29"],strong[style*="FFCC29"]{font-weight:600!important}
.hero h1 em,.cinematic h3 em,.path h3 em,.solutions-head h2 em,.industria .big em{font-weight:600!important}

/* ===== PATHS: sem imagem de fundo, texto centralizado nos dois paineis ===== */
.path-bg{display:none!important}
.path{justify-content:center!important}

/* ===== TERCEIRIZAR: banner de fundo na secao Promessa (igual ao wireframe: foto industrial cinza + escurecida) ===== */
#promessa-parceiro{background:linear-gradient(rgba(10,10,10,.80),rgba(10,10,10,.90)),url(/wp-content/crtcom/portfolio/promessa-bg.jpg?v=4) center/cover no-repeat!important;position:relative}

/* ===== CONTATO: bloco de informacoes compacto e alinhado ao topo do formulario ===== */
#contato-info .elementor-widget{margin-bottom:0!important}
#contato-info .elementor-widget-heading{margin-top:26px!important}
#contato-info .elementor-widget-wrap>.elementor-widget-heading:first-child{margin-top:0!important}
#contato-info h4{margin-bottom:5px!important}

/* ===== botao 'voltar ao topo' (Astra) na cor da marca ===== */
#ast-scroll-top{background-color:#FFCC29!important;color:#0A0A0A!important}
#ast-scroll-top .ast-arrow-svg,#ast-scroll-top svg{fill:#0A0A0A!important}

/* ===== MOBILE: reduz espacamentos verticais grandes ===== */
@media(max-width:767px){
.elementor-top-section.elementor-section-boxed:not(.elementor-section-stretched){padding-top:46px!important;padding-bottom:46px!important}
.elementor-widget-spacer .elementor-spacer-inner{height:16px!important}
.industria,.manifesto,.method,.solutions,.trust,.phoco,.final-cta,.pitch,.promise,.careers-intro,.sol-detail,.page-hero{padding-top:48px!important;padding-bottom:48px!important}
.cinematic{height:auto!important;min-height:62vh!important}
}

/* ===== GRADES NATIVAS: inner-sections quebram linha (grid real) ===== */
.elementor-inner-section>.elementor-container{flex-wrap:wrap!important}
/* tablet: 2 por linha | mobile: 1 por linha */
@media(max-width:1024px){.elementor-inner-section>.elementor-container>.elementor-column{width:50%!important}}
@media(max-width:767px){.elementor-inner-section>.elementor-container>.elementor-column{width:100%!important}}
img,svg,video{max-width:100%}
/* corrige scroll: overflow-x no html, body livre p/ rolar a pagina */
html{overflow-x:hidden}
body{overflow:visible!important;height:auto!important}

  :root{
    --bg:#ffffff;--ink:#0a0a0a;--ink-2:#1a1a1a;--muted:#6b6b6b;--line:#e5e5e5;
    --accent:#FFCC29;--accent-2:#E0AE1F;--brand-blue:#FFCC29;
    --dark:#000000;--dark-2:#0e0e0e;--soft:#f5f5f3;--soft-2:#ece9e2;
    --max-w:1440px;--pad:clamp(20px,4vw,64px);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
  body{font-family:'Montserrat',-apple-system,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  img,video{display:block;max-width:100%;height:auto}
  a{color:inherit;text-decoration:none;cursor:pointer}
  .serif{font-family:'Montserrat',serif}
  .mono{font-family:'Montserrat',monospace;letter-spacing:0.2em;text-transform:uppercase;font-size:clamp(10px,0.75vw,12px);color:var(--muted);font-weight:500}
  .container{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad)}

  .legend{background:#0a0a0a;color:#fff;padding:clamp(8px,1vw,12px) var(--pad);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:clamp(10px,0.7vw,11px);letter-spacing:0.1em;text-transform:uppercase;position:sticky;top:0;z-index:300;flex-wrap:wrap}
  .legend strong{color:var(--accent)}
  .legend nav{display:flex;gap:clamp(10px,1.4vw,20px);flex-wrap:wrap}
  .legend nav a{opacity:.7;cursor:pointer}
  .legend nav a:hover{opacity:1;color:var(--accent)}

  .nav{background:rgba(255,255,255,0.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:200}
  .nav-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;height:clamp(64px,7vw,84px)}
  .brand{display:flex;align-items:center;gap:14px;cursor:pointer}
  .brand .mark{font-weight:900;letter-spacing:0.18em;font-size:clamp(15px,1.2vw,19px)}
  .brand .mark span{color:var(--brand-blue)}
  .brand .tag{font-family:'Montserrat',serif;font-style:italic;font-size:clamp(10px,0.8vw,12px);color:var(--muted);letter-spacing:0.04em;border-left:1px solid var(--line);padding-left:14px}
  @media(max-width:760px){.brand .tag{display:none}}

  .nav-links{display:flex;gap:clamp(14px,1.6vw,28px);font-size:clamp(11px,0.82vw,13px);letter-spacing:0.1em;text-transform:uppercase;font-weight:500}
  .nav-links a{cursor:pointer;transition:color 0.2s;white-space:nowrap;position:relative;padding:6px 0}
  .nav-links a:hover{color:var(--brand-blue)}
  .nav-links a.featured{color:var(--accent-2);font-weight:600}
  .nav-links a.featured::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent)}
  .nav-cta{border:1px solid var(--ink);padding:clamp(8px,1vw,12px) clamp(16px,1.8vw,24px);font-size:clamp(10px,0.78vw,12px);letter-spacing:0.14em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:all 0.25s}
  .nav-cta:hover{background:var(--ink);color:#fff}
  .nav-mobile{display:none;font-size:13px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer}
  @media(max-width:1100px){.nav-links{display:none}.nav-mobile{display:block}}

  .annot{background:#fffbe6;border-left:3px solid var(--accent);padding:clamp(12px,1.5vw,18px) clamp(14px,2vw,22px);font-size:clamp(11px,0.82vw,13px);color:#5a4a10;margin-top:clamp(20px,3vw,32px);border-radius:2px;line-height:1.6}
  .annot::before{content:"NOTA WIREFRAME · ";font-weight:700;letter-spacing:0.1em;color:var(--accent-2)}

  section{position:relative}

  /* HERO */
  .hero{height:100vh;min-height:640px;max-height:1080px;position:relative;overflow:hidden;background:#000;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}
  .hero-media{position:absolute;inset:0;z-index:0}
  .hero-media .frame{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease-in-out}
  .hero-media .frame.active{opacity:1}
  .hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;animation:kenburns 14s ease-out infinite alternate}
  @keyframes kenburns{0%{transform:scale(1.04) translate(0,0)}100%{transform:scale(1.18) translate(-2.5%,-1.5%)}}
  .hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,0.45) 0%,rgba(0,0,0,0.25) 40%,rgba(0,0,0,0.75) 100%)}
  .hero-content{position:relative;z-index:2;padding:0 var(--pad);max-width:1200px}
  .hero .eyebrow{font-family:'Montserrat',monospace;font-size:clamp(10px,0.85vw,13px);letter-spacing:0.32em;text-transform:uppercase;color:rgba(255,255,255,0.78);margin-bottom:clamp(24px,3.5vw,40px)}
  .hero h1{font-size:clamp(36px,6.5vw,96px);line-height:1.05;font-weight:300;letter-spacing:-0.02em;margin-bottom:clamp(20px,2.5vw,32px)}
  .hero h1 em{font-family:'Montserrat',serif;font-style:italic;font-weight:400;color:var(--accent)}
  .hero h1 strong{font-weight:700}
  .hero .sub{font-size:clamp(14px,1.15vw,18px);max-width:680px;margin:0 auto;color:rgba(255,255,255,0.78);line-height:1.6}
  .hero-cta{margin-top:clamp(32px,4vw,52px);display:inline-block;padding:clamp(13px,1.5vw,18px) clamp(28px,3vw,40px);border:1px solid rgba(255,255,255,0.5);color:#fff;font-size:clamp(10px,0.85vw,12px);letter-spacing:0.22em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:all 0.3s;backdrop-filter:blur(4px)}
  .hero-cta:hover{background:#fff;color:var(--ink);border-color:#fff}
  .hero-scroll{position:absolute;bottom:clamp(20px,3vw,40px);left:50%;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,0.6);font-size:10px;letter-spacing:0.3em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:14px}
  .hero-scroll::after{content:"";display:block;width:1px;height:32px;background:rgba(255,255,255,0.4);animation:scrollPulse 2s ease-in-out infinite}
  @keyframes scrollPulse{0%,100%{transform:scaleY(0.3);opacity:0.3}50%{transform:scaleY(1);opacity:1}}
  .hero-marker{position:absolute;top:clamp(20px,2.5vw,40px);left:clamp(20px,2.5vw,40px);z-index:3;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.18);padding:8px 14px;font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:#ddd}

  /* INDUSTRIA */
  .industria{background:var(--soft);padding:clamp(80px,12vw,160px) 0;text-align:center;border-bottom:1px solid var(--line)}
  .industria .container{max-width:1200px}
  .industria .label{font-family:'Montserrat',serif;font-style:italic;color:var(--muted);font-size:clamp(15px,1.3vw,20px);margin-bottom:clamp(16px,2vw,24px)}
  .industria .big{font-size:clamp(48px,11vw,180px);font-weight:200;letter-spacing:-0.045em;line-height:0.92;color:var(--ink)}
  .industria .big em{font-family:'Montserrat',serif;font-style:italic;color:var(--accent);font-weight:300}
  .industria .desc{margin-top:clamp(28px,4vw,48px);font-size:clamp(15px,1.25vw,20px);color:var(--ink-2);max-width:780px;margin-left:auto;margin-right:auto;line-height:1.65}
  .industria .desc-q{display:block;margin-top:8px;font-style:italic;color:var(--muted)}
  .industria .tudo{margin-top:clamp(24px,4vw,48px);font-weight:800;font-size:clamp(80px,16vw,260px);color:var(--brand-blue);line-height:0.9;letter-spacing:-0.05em;text-align:center}

  /* MANIFESTO */
  .manifesto{background:#fff;padding:clamp(80px,12vw,160px) 0;border-bottom:1px solid var(--line)}
  .manifesto .container{max-width:880px;text-align:center}
  .manifesto h2{font-family:'Montserrat',serif;font-style:italic;font-weight:400;font-size:clamp(26px,4vw,56px);line-height:1.22;color:var(--ink);margin-bottom:clamp(36px,5vw,56px)}
  .manifesto p{font-size:clamp(15px,1.2vw,19px);color:var(--ink-2);margin-bottom:clamp(18px,2.5vw,28px);line-height:1.7}
  .manifesto .signature{margin-top:clamp(48px,6vw,72px);font-size:clamp(11px,0.85vw,13px);letter-spacing:0.22em;text-transform:uppercase;color:var(--muted)}

  /* METHOD */
  .method{background:#fff;padding:clamp(80px,10vw,140px) 0;border-bottom:1px solid var(--line)}
  .method h2{font-size:clamp(28px,4.8vw,68px);font-weight:200;line-height:1.1;letter-spacing:-0.025em;max-width:1100px;margin-bottom:clamp(48px,7vw,88px)}
  .method h2 strong{font-weight:700}
  .method h2 em{font-style:italic;font-family:'Montserrat',serif;color:var(--accent)}
  .method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
  .method-item{background:#fff;padding:clamp(32px,4vw,56px) clamp(24px,3vw,40px);min-height:clamp(260px,30vh,360px);transition:background 0.3s}
  .method-item:hover{background:var(--soft)}
  .method-item .num{font-family:'Montserrat',serif;font-size:clamp(40px,4.5vw,72px);color:var(--accent);font-weight:300;line-height:1}
  .method-item h4{margin-top:clamp(14px,2vw,22px);font-size:clamp(13px,1.05vw,17px);font-weight:700;letter-spacing:0.08em;text-transform:uppercase}
  .method-item p{margin-top:clamp(12px,1.5vw,18px);font-size:clamp(12px,1vw,15px);color:var(--muted);line-height:1.65}

  /* SOLUTIONS */
  .solutions{background:var(--soft);padding:clamp(80px,10vw,140px) 0;border-bottom:1px solid var(--line)}
  .solutions-head{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(24px,4vw,64px);align-items:end;margin-bottom:clamp(40px,6vw,72px)}
  @media(max-width:760px){.solutions-head{grid-template-columns:1fr}}
  .solutions-head h2{font-size:clamp(28px,4.8vw,68px);font-weight:200;letter-spacing:-0.025em;line-height:1.05}
  .solutions-head h2 strong{font-weight:700}
  .solutions-head h2 em{font-style:italic;font-family:'Montserrat',serif;color:var(--accent)}
  .solutions-head .intro{color:var(--muted);font-size:clamp(13px,1.05vw,16px);max-width:380px;line-height:1.65}
  .solutions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(16px,2vw,28px)}
  .sol-card{background:#fff;border:1px solid var(--line);aspect-ratio:4/5;display:flex;flex-direction:column;position:relative;overflow:hidden;cursor:pointer;transition:transform 0.4s cubic-bezier(0.2,0.8,0.2,1),box-shadow 0.4s}
  .sol-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,0.08)}
  .sol-card .visual{flex:1;overflow:hidden;border-bottom:1px solid var(--line);position:relative}
  .sol-card .visual img{width:100%;height:100%;object-fit:cover;transition:transform 0.7s cubic-bezier(0.2,0.8,0.2,1)}
  .sol-card:hover .visual img{transform:scale(1.07)}
  .sol-card .visual::after{content:attr(data-label);position:absolute;top:14px;left:14px;background:rgba(0,0,0,0.7);color:#fff;padding:5px 10px;font-size:9px;letter-spacing:0.16em;text-transform:uppercase;z-index:2}
  .sol-card .meta{padding:clamp(20px,2.5vw,30px)}
  .sol-card h5{font-size:clamp(15px,1.25vw,20px);font-weight:700;margin-bottom:8px}
  .sol-card p{font-size:clamp(12px,0.95vw,14px);color:var(--muted);margin-bottom:14px;line-height:1.55}
  .sol-card .more{font-size:clamp(10px,0.78vw,11px);letter-spacing:0.18em;text-transform:uppercase;color:var(--ink);font-weight:600}
  .sol-card .more::after{content:" →";display:inline-block;transition:margin-left 0.3s}
  .sol-card:hover .more::after{margin-left:6px}

  .sol-svg{width:100%;height:100%;background:#0a0a0a;display:flex;align-items:center;justify-content:center;position:relative}
  .sol-svg svg{width:80%;height:80%;opacity:0.9}
  .sol-svg .accent-line{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--accent)}

  .sol-card.featured{background:#0a0a0a;color:#fff;border:none}
  .sol-card.featured .visual{background:linear-gradient(135deg,#0a0a0a 0%,#1a1a1a 100%);display:flex;align-items:center;justify-content:center;border-bottom:1px solid #1a1a1a;color:var(--accent);font-family:'Montserrat',serif;font-style:italic;font-size:clamp(40px,5vw,72px);line-height:1}
  .sol-card.featured .visual::after{display:none}
  .sol-card.featured h5{color:#fff}
  .sol-card.featured p{color:#999}
  .sol-card.featured .more{color:var(--accent)}

  /* CINEMATIC */
  .cinematic{background:#000;color:#fff;border-bottom:none;position:relative;overflow:hidden;height:clamp(540px,90vh,820px);display:flex;align-items:flex-end}
  .cinematic .bg{position:absolute;inset:0}
  .cinematic .bg img,.cinematic .bg svg{width:100%;height:100%;object-fit:cover;animation:kenburns 22s ease-out infinite alternate}
  .cinematic .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.1) 0%,rgba(0,0,0,0.3) 50%,rgba(0,0,0,0.85) 100%)}
  .cinematic .content{position:relative;z-index:2;padding:clamp(40px,6vw,100px);max-width:880px}
  .cinematic .label{font-family:'Montserrat',monospace;font-size:clamp(10px,0.78vw,12px);letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.65);margin-bottom:clamp(16px,2vw,24px)}
  .cinematic h3{font-size:clamp(28px,5vw,72px);font-weight:200;line-height:1.05;letter-spacing:-0.025em}
  .cinematic h3 strong{font-weight:700}
  .cinematic h3 em{font-style:italic;font-family:'Montserrat',serif;color:var(--accent)}
  .cinematic .sub{margin-top:clamp(20px,2.5vw,28px);font-size:clamp(13px,1.1vw,16px);color:#bbb;max-width:560px;line-height:1.65}

  /* PATHS */
  .paths{padding:0;border-bottom:none}
  .paths-grid{display:grid;grid-template-columns:1fr 1fr;min-height:clamp(560px,80vh,820px)}
  @media(max-width:900px){.paths-grid{grid-template-columns:1fr}}
  .path{padding:clamp(60px,8vw,120px) clamp(32px,5vw,80px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
  .path-a{background:#fff;border-right:1px solid var(--line)}
  .path-b{background:var(--dark);color:#fff}
  .path-bg{position:absolute;inset:0;opacity:0.22;z-index:1}
  .path-bg svg,.path-bg img{width:100%;height:100%;object-fit:cover}
  .path-b .path-bg{opacity:0.32}
  .path > *{position:relative;z-index:2}
  .path .label{font-size:clamp(10px,0.78vw,12px);letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);margin-bottom:clamp(20px,2.5vw,32px);font-weight:600}
  .path-b .label{color:var(--accent)}
  .path h3{font-size:clamp(26px,3.6vw,52px);font-weight:200;letter-spacing:-0.02em;line-height:1.1;margin-bottom:clamp(20px,2.5vw,32px)}
  .path h3 strong{font-weight:700}
  .path h3 em{font-style:italic;font-family:'Montserrat',serif;color:var(--accent)}
  .path p{font-size:clamp(14px,1.1vw,17px);line-height:1.65;color:var(--muted);margin-bottom:clamp(28px,3.5vw,40px);max-width:520px}
  .path-b p{color:#ccc}
  .path .cta{display:inline-block;padding:clamp(14px,1.6vw,18px) clamp(24px,3vw,36px);font-size:clamp(11px,0.88vw,13px);letter-spacing:0.18em;text-transform:uppercase;font-weight:600;border:1px solid var(--ink);align-self:flex-start;transition:all 0.3s;cursor:pointer}
  .path-a .cta:hover{background:var(--ink);color:#fff}
  .path-b .cta{border-color:#fff;color:#fff}
  .path-b .cta:hover{background:var(--accent);border-color:var(--accent);color:var(--dark)}

  /* TRUST */
  .trust{background:#fff;padding:clamp(80px,10vw,140px) 0;border-bottom:1px solid var(--line)}
  .trust h2{font-size:clamp(28px,4.5vw,60px);font-weight:200;margin-bottom:clamp(40px,6vw,72px);letter-spacing:-0.025em;line-height:1.08;max-width:1000px}
  .trust h2 strong{font-weight:700}
  .trust h2 em{font-style:italic;font-family:'Montserrat',serif;color:var(--accent)}
  .quote-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(20px,2.5vw,32px)}
  .quote{padding:clamp(28px,3.5vw,42px);border:1px solid var(--line);transition:border-color 0.3s,transform 0.3s;background:#fff}
  .quote:hover{border-color:var(--accent);transform:translateY(-2px)}
  .quote p{font-family:'Montserrat',serif;font-style:italic;font-size:clamp(14px,1.2vw,19px);line-height:1.55;margin-bottom:clamp(20px,2.5vw,28px);color:var(--ink-2)}
  .quote .who{font-size:clamp(10px,0.82vw,12px);letter-spacing:0.14em;text-transform:uppercase;color:var(--muted)}
  .logos{margin-top:clamp(60px,8vw,96px);display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:clamp(12px,1.5vw,24px)}
  .logo-box{height:clamp(50px,6vw,72px);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:clamp(9px,0.7vw,11px);letter-spacing:0.12em;text-transform:uppercase;transition:all 0.3s}
  .logo-box:hover{border-color:var(--ink);color:var(--ink)}

  /* PHOCO */
  .phoco{background:var(--dark);color:#fff;border-bottom:none;position:relative;overflow:hidden;padding:clamp(80px,12vw,160px) 0}
  .phoco-bg{position:absolute;inset:0;opacity:0.15;z-index:1}
  .phoco-bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%)}
  .phoco-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.85) 0%,rgba(0,0,0,0.95) 100%)}
  .phoco .container{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(40px,6vw,80px);align-items:center}
  @media(max-width:900px){.phoco .container{grid-template-columns:1fr}}
  .phoco-left .label{color:var(--accent);font-size:clamp(10px,0.78vw,12px);letter-spacing:0.22em;text-transform:uppercase;margin-bottom:clamp(18px,2.5vw,28px);font-weight:600}
  .phoco-left h2{font-family:'Montserrat',serif;font-style:italic;font-weight:400;font-size:clamp(28px,4vw,56px);line-height:1.18;margin-bottom:clamp(20px,2.5vw,28px)}
  .phoco-left h2 strong{font-weight:600;font-style:normal;color:var(--accent)}
  .phoco-left p{color:#aaa;font-size:clamp(13px,1.05vw,16px);line-height:1.7}
  .phoco-letters{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#222}
  .phoco-letter{background:#000;padding:clamp(20px,2.5vw,40px) clamp(8px,1.5vw,24px);text-align:center;transition:background 0.3s;cursor:pointer}
  .phoco-letter:hover{background:#0e0e0e}
  .phoco-letter .big{font-family:'Montserrat',serif;font-size:clamp(36px,5vw,80px);color:var(--accent);font-weight:300;line-height:1}
  .phoco-letter .word{margin-top:clamp(10px,1.5vw,18px);font-size:clamp(9px,0.75vw,12px);letter-spacing:0.18em;text-transform:uppercase;color:#fff}

  /* FINAL CTA */
  .final-cta{background:var(--soft);text-align:center;padding:clamp(80px,12vw,200px) 0;position:relative;overflow:hidden}
  .final-cta h2{font-size:clamp(32px,6vw,88px);font-weight:200;letter-spacing:-0.035em;line-height:1.05;margin-bottom:clamp(24px,3vw,40px);max-width:1100px;margin-left:auto;margin-right:auto}
  .final-cta h2 em{font-family:'Montserrat',serif;font-style:italic;color:var(--accent);font-weight:400}
  .final-cta h2 strong{font-weight:700}
  .final-cta .sub{max-width:640px;margin:0 auto;color:var(--muted);font-size:clamp(14px,1.15vw,18px);line-height:1.6}
  .final-cta .ctas{display:flex;gap:clamp(12px,1.5vw,20px);justify-content:center;flex-wrap:wrap;margin-top:clamp(32px,4vw,52px)}
  .final-cta .cta{padding:clamp(15px,1.8vw,20px) clamp(28px,3.5vw,44px);font-size:clamp(11px,0.88vw,13px);letter-spacing:0.18em;text-transform:uppercase;font-weight:600;border:1px solid var(--ink);transition:all 0.3s;cursor:pointer}
  .final-cta .cta.primary{background:var(--ink);color:#fff}
  .final-cta .cta.primary:hover{background:var(--accent);border-color:var(--accent)}
  .final-cta .cta:not(.primary):hover{background:var(--ink);color:#fff}

  /* FOOTER */
  footer{background:#000;color:#fff;padding:clamp(60px,8vw,120px) 0 clamp(28px,4vw,48px)}
  .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:clamp(28px,4vw,56px);margin-bottom:clamp(40px,6vw,72px)}
  @media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:480px){.footer-grid{grid-template-columns:1fr}}
  .footer-grid h6{font-size:clamp(10px,0.8vw,12px);letter-spacing:0.22em;text-transform:uppercase;color:var(--accent);margin-bottom:clamp(16px,2vw,22px);font-weight:600}
  .footer-grid p,.footer-grid a{display:block;color:#aaa;font-size:clamp(12px,1vw,14px);margin-bottom:8px;transition:color 0.2s}
  .footer-grid a{cursor:pointer}
  .footer-grid a:hover{color:#fff}
  .footer-bottom{border-top:1px solid #222;padding-top:clamp(20px,3vw,36px);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;color:#666;font-size:clamp(10px,0.78vw,11px);letter-spacing:0.1em;text-transform:uppercase}

  /* PAGE TEMPLATES */
  
  
  .page-hero{padding:clamp(100px,14vw,180px) 0 clamp(60px,8vw,100px);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
  .page-hero .container{max-width:1000px;position:relative;z-index:2}
  .page-hero .breadcrumb{font-size:clamp(10px,0.78vw,12px);letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);margin-bottom:clamp(24px,3vw,40px)}
  .page-hero h1{font-size:clamp(40px,7vw,108px);font-weight:200;letter-spacing:-0.035em;line-height:1}
  .page-hero h1 em{font-family:'Montserrat',serif;font-style:italic;color:var(--accent);font-weight:400}
  .page-hero h1 strong{font-weight:700}
  .page-hero .lede{margin-top:clamp(24px,3vw,40px);font-size:clamp(15px,1.25vw,20px);color:var(--muted);max-width:680px;line-height:1.6}
  .page-hero h1.flow em,.page-hero h1.flow strong{display:inline}

  /* TERCEIRIZAR */
  .pitch{padding:clamp(80px,10vw,140px) 0;background:#fff;border-bottom:1px solid var(--line)}
  .pitch h2{font-size:clamp(28px,4.5vw,64px);font-weight:200;letter-spacing:-0.025em;line-height:1.1;max-width:900px;margin-bottom:clamp(40px,6vw,72px)}
  .pitch h2 strong{font-weight:700}
  .pitch h2 em{font-family:'Montserrat',serif;font-style:italic;color:var(--accent)}
  .pitch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(20px,2.5vw,32px);margin-top:clamp(40px,6vw,72px)}
  .pitch-card{padding:clamp(28px,3.5vw,48px) clamp(24px,3vw,40px);border:1px solid var(--line);transition:all 0.3s}
  .pitch-card:hover{border-color:var(--ink);transform:translateY(-4px)}
  .pitch-card .num{font-family:'Montserrat',serif;font-size:clamp(36px,4vw,56px);color:var(--accent);font-weight:300;line-height:1;margin-bottom:clamp(16px,2vw,24px)}
  .pitch-card h4{font-size:clamp(15px,1.25vw,20px);font-weight:700;margin-bottom:clamp(10px,1.5vw,14px)}
  .pitch-card p{font-size:clamp(12px,1vw,14px);color:var(--muted);line-height:1.65}

  .audience-list{display:flex;flex-wrap:wrap;gap:clamp(8px,1vw,12px);margin:clamp(24px,3vw,36px) 0 clamp(40px,5vw,60px)}
  .audience-list .chip{padding:8px 16px;border:1px solid var(--ink);font-size:clamp(11px,0.85vw,13px);letter-spacing:0.04em;font-weight:600;background:#fff}

  .promise{padding:clamp(80px,12vw,160px) 0;background:var(--dark);color:#fff;text-align:center;position:relative;overflow:hidden;border-bottom:none}
  .promise-bg{position:absolute;inset:0;opacity:0.15;z-index:1}
  .promise-bg img,.promise-bg svg{width:100%;height:100%;object-fit:cover;filter:grayscale(100%)}
  .promise .container{position:relative;z-index:2}
  .promise h2{font-family:'Montserrat',serif;font-style:italic;font-weight:400;font-size:clamp(26px,4vw,56px);line-height:1.2;max-width:1000px;margin:0 auto clamp(32px,4vw,56px)}
  .promise h2 strong{color:var(--accent);font-weight:600;font-style:normal}
  .promise .pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:clamp(24px,3vw,40px);margin-top:clamp(60px,8vw,96px);max-width:1100px;margin-left:auto;margin-right:auto}
  .pillar h5{font-size:clamp(12px,1vw,15px);color:var(--accent);letter-spacing:0.18em;text-transform:uppercase;margin-bottom:clamp(10px,1.5vw,14px);font-weight:600}
  .pillar p{font-size:clamp(12px,1vw,14px);color:#aaa;line-height:1.65}

  /* CARREIRAS */
  .careers-intro{padding:clamp(80px,10vw,140px) 0;background:#fff;border-bottom:1px solid var(--line)}
  .careers-intro h2{font-size:clamp(28px,4.5vw,60px);font-weight:200;line-height:1.1;letter-spacing:-0.025em;max-width:1000px;margin-bottom:clamp(28px,4vw,40px)}
  .careers-intro h2 em{font-style:italic;font-family:'Montserrat',serif;color:var(--accent)}
  .careers-intro h2 strong{font-weight:700}
  .careers-intro p{font-size:clamp(14px,1.15vw,17px);color:var(--muted);line-height:1.7;max-width:760px;margin-bottom:clamp(16px,2vw,24px)}
  .careers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(20px,2.5vw,32px);margin-top:clamp(48px,7vw,80px)}
  .career-card{padding:clamp(28px,3.5vw,40px);background:var(--soft);border:1px solid var(--line);transition:all 0.3s;cursor:pointer}
  .career-card:hover{background:var(--ink);color:#fff;transform:translateY(-4px)}
  .career-card .area{font-size:clamp(10px,0.78vw,12px);letter-spacing:0.16em;text-transform:uppercase;color:var(--accent);margin-bottom:clamp(10px,1.5vw,14px);font-weight:600}
  .career-card h4{font-size:clamp(16px,1.4vw,22px);font-weight:700;margin-bottom:clamp(10px,1.5vw,14px);transition:color 0.3s}
  .career-card p{font-size:clamp(12px,0.95vw,14px);color:var(--muted);line-height:1.6;transition:color 0.3s}
  .career-card:hover p{color:#aaa}
  .career-card .more{margin-top:clamp(16px,2.5vw,24px);font-size:clamp(10px,0.82vw,12px);letter-spacing:0.18em;text-transform:uppercase;font-weight:600}

  /* PORTFOLIO */
  .portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
  .pf-item{background:#fff;aspect-ratio:4/3;position:relative;display:flex;align-items:flex-end;padding:clamp(20px,2.5vw,32px);overflow:hidden;cursor:pointer}
  .pf-item .img{position:absolute;inset:0;overflow:hidden}
  .pf-item .img img,.pf-item .img svg{width:100%;height:100%;object-fit:cover;transition:transform 0.6s cubic-bezier(0.2,0.8,0.2,1)}
  .pf-item:hover .img img,.pf-item:hover .img svg{transform:scale(1.08)}
  .pf-item .img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,0.8) 100%)}
  .pf-item .meta{position:relative;z-index:2;color:#fff;padding:0}
  .pf-item h5{font-size:clamp(14px,1.25vw,20px);font-weight:700}
  .pf-item .cat{font-size:clamp(9px,0.75vw,11px);letter-spacing:0.2em;text-transform:uppercase;color:var(--accent);margin-top:6px}
  .tag{display:inline-block;padding:8px 16px;border:1px solid var(--ink);font-size:clamp(10px,0.78vw,12px);letter-spacing:0.16em;text-transform:uppercase;margin-right:8px;margin-bottom:8px;cursor:pointer;transition:all 0.2s;font-weight:600;background:#fff}
  .tag:hover{background:var(--ink);color:#fff}
  .tag.active{background:var(--ink);color:#fff}

  /* CONTATO */
  .contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(40px,6vw,96px);padding:clamp(60px,8vw,120px) 0}
  @media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:48px}}
  .contact-form .field{margin-bottom:clamp(20px,2.5vw,28px)}
  .contact-form label{display:block;font-size:clamp(10px,0.78vw,12px);letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-weight:600}
  .contact-form .input{height:clamp(44px,5vw,52px);border:1px solid var(--ink);background:#fff;padding:0 clamp(14px,1.5vw,20px);display:flex;align-items:center;color:var(--muted);font-size:clamp(13px,1vw,15px)}
  .contact-form .textarea{min-height:clamp(110px,14vw,160px);border:1px solid var(--ink);background:#fff;padding:clamp(14px,1.5vw,18px);color:var(--muted);font-size:clamp(13px,1vw,15px);font-style:italic}
  .contact-form .submit{padding:clamp(15px,1.8vw,20px) clamp(28px,3.5vw,44px);font-size:clamp(11px,0.88vw,13px);letter-spacing:0.18em;text-transform:uppercase;font-weight:700;background:var(--ink);color:#fff;border:1px solid var(--ink);cursor:pointer;transition:all 0.3s}
  .contact-form .submit:hover{background:var(--accent);border-color:var(--accent)}
  .contact-info h4{font-size:clamp(11px,0.88vw,13px);letter-spacing:0.18em;text-transform:uppercase;margin-bottom:clamp(10px,1.2vw,14px);color:var(--accent);font-weight:600;margin-top:clamp(20px,2.5vw,28px)}
  .contact-info h4:first-child{margin-top:0}
  .contact-info p{font-size:clamp(13px,1.1vw,16px);color:var(--ink-2);margin-bottom:clamp(16px,2vw,24px);line-height:1.6}

  /* SOLUCAO PAGE */
  .sol-detail{padding:clamp(60px,8vw,120px) 0;background:#fff;border-bottom:1px solid var(--line)}
  .sol-detail h2{font-size:clamp(24px,3.5vw,44px);font-weight:200;letter-spacing:-0.02em;line-height:1.15;max-width:880px;margin-bottom:clamp(28px,3.5vw,40px)}
  .sol-detail h2 strong{font-weight:700}
  .sol-detail h2 em{font-style:italic;font-family:'Montserrat',serif;color:var(--accent)}
  .sol-detail p{font-size:clamp(14px,1.15vw,17px);color:var(--ink-2);line-height:1.7;max-width:780px;margin-bottom:clamp(16px,2vw,24px)}
  .sol-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(20px,2.5vw,32px);margin-top:clamp(40px,5vw,60px)}
  .sol-feat{padding:clamp(24px,3vw,32px);border:1px solid var(--line);background:var(--soft)}
  .sol-feat h5{font-size:clamp(12px,1vw,14px);letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:clamp(10px,1.5vw,14px)}
  .sol-feat p{font-size:clamp(12px,0.95vw,14px);color:var(--muted);line-height:1.6;margin-bottom:0}

  /* big screens */
  @media(min-width:1920px){:root{--max-w:1680px;--pad:80px}}
  @media(min-width:2560px){:root{--max-w:2000px;--pad:120px}body{font-size:18px}}
