
:root{--bg:#111110;--fg:#f4f1e9;--muted:#a7a49c;--accent:#ffff00;--line:#383833}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:"Neue Haas Local","Neue Haas Grotesk Display Pro","Neue Haas Grotesk Display","Neue Haas Grotesk Text Pro",Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}header{position:sticky;top:0;background:#111110eb;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:10}.nav{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 28px}.logo{font-size:25px;font-weight:950;letter-spacing:-2px}.logo span{color:var(--accent)}nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap}nav a{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#ddd}nav a.active,nav a[aria-current="page"],nav a:hover{color:var(--accent)}.navcta,.btn{background:var(--accent);color:#151515;padding:15px 20px;font-weight:800;border:0;display:inline-flex;gap:20px;align-items:center;cursor:pointer}.btn.outline{background:transparent;color:var(--fg);border:1px solid #777}.wrap{max-width:1280px;margin:auto;padding:0 28px}.hero{padding:105px 0 90px;min-height:620px;display:flex;align-items:center;position:relative;overflow:hidden}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--accent);text-transform:uppercase;font-weight:400}.hero h1{font-size:clamp(55px,9.2vw,132px);line-height:.91;letter-spacing:-.085em;text-transform:uppercase;margin:22px 0 30px;max-width:1080px}.hero p{max-width:630px;font-size:20px;line-height:1.5;color:#c8c6be}.hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.band{background:var(--accent);color:#111;padding:19px 0;font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase}.band .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}section{padding:95px 0;border-bottom:1px solid var(--line)}.sectiontop{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}.sectiontop h2,h2{font-size:clamp(36px,5vw,70px);letter-spacing:-.065em;line-height:1.03;margin:15px 0}.sub{max-width:530px;color:var(--muted);line-height:1.65}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.card{background:#1c1c1a;padding:35px;min-height:320px;border:1px solid #333;display:flex;flex-direction:column;justify-content:space-between;transition:background .2s,transform .2s}.card:hover{background:#282923;transform:translateY(-3px)}.card .num{font-size:12px;color:var(--accent)}.card h3{font-size:clamp(28px,4vw,52px);line-height:1;letter-spacing:-.06em;margin:20px 0}.card p{color:#b9b8b0;max-width:410px;line-height:1.5}.arrow{color:var(--accent);font-size:26px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{padding-top:20px;border-top:1px solid #666}.step strong{color:var(--accent)}.step h3{font-size:24px}.step p{color:var(--muted);line-height:1.6}.packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.package{padding:30px;background:#1c1c1a;border:1px solid #393932;display:flex;flex-direction:column}.package.featured{border-color:#393932}
/* Contorno amarelo em todos os cards de pacotes ao passar o mouse */
.package{transition:border-color .22s ease,box-shadow .22s ease}
.package:hover,.package:focus-within{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
@media(hover:none){.package:hover{box-shadow:none}.package:focus-within{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}}.package h3{font-size:27px;letter-spacing:-1px;margin:15px 0}.price{font-size:38px;font-weight:900;letter-spacing:-2px;margin:12px 0}.package ul{padding-left:18px;color:#c5c3bb;line-height:1.8;flex:1}.package li{margin:7px 0}.package .btn{justify-content:space-between;margin-top:20px}.small{font-size:12px;color:var(--muted)}.faq details{border-top:1px solid #454540;padding:22px 0}.faq summary{font-size:19px;font-weight:700;cursor:pointer}.faq p{color:var(--muted);max-width:800px;line-height:1.7}.cta-panel{background:var(--accent);color:#111;padding:65px}.cta-panel h2{max-width:850px}.cta-panel p{max-width:600px;line-height:1.6}.cta-panel .btn{background:#111;color:white}footer{padding:45px 0;color:#aaa;font-size:13px}.footerrow{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.back{color:var(--accent);font-size:13px;letter-spacing:1px;text-transform:uppercase}.hidden{display:none}.mini-tag{display:inline-block;border:1px solid #666;padding:9px 12px;margin:5px 5px 0 0;font-size:12px;text-transform:uppercase;letter-spacing:1px}.notice{border-left:3px solid var(--accent);padding:16px 20px;background:#22231e;color:#ddd;line-height:1.6;margin-top:24px}@media(max-width:850px){nav{display:none}.hero{padding:80px 0;min-height:540px}.grid,.packages,.steps{grid-template-columns:1fr}.sectiontop{display:block}section{padding:65px 0}.cta-panel{padding:40px 24px}.hero h1{font-size:clamp(52px,12vw,90px)}}
 .logo{display:inline-flex;align-items:center;gap:12px;letter-spacing:-1px;white-space:nowrap}.logo .brandmark{height:41px;width:auto;max-width:240px;display:block}.logo .brandname{font-size:20px;font-weight:900;color:var(--fg)}@media(max-width:650px){.logo .brandmark{height:32px;max-width:190px}.logo .brandname{font-size:16px}} h1,h2,h3,.price{font-family:"Neue Haas Local","Neue Haas Grotesk Display Pro","Neue Haas Grotesk Display",Helvetica,Arial,sans-serif;font-weight:700}.hero h1{letter-spacing:-.025em}.sectiontop h2,h2{letter-spacing:-.015em}.card h3{letter-spacing:-.015em}.package h3{letter-spacing:0}.price{letter-spacing:-.025em}
/* Mobile navigation */
.menu-toggle{display:none;background:transparent;color:var(--fg);border:1px solid #555;min-width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;padding:10px}
.menu-toggle span{display:block;width:22px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:850px){
 .nav{position:relative;padding:14px 20px;gap:12px}
 .navcta{display:none}
 .menu-toggle{display:flex;margin-left:auto}
 #nav{display:none;position:absolute;top:100%;left:0;right:0;background:#171715;border-bottom:1px solid #555;padding:12px 20px 24px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 30px #0008}
 #nav.is-open{display:flex}
 #nav a{display:block;font-size:16px;padding:17px 8px;border-bottom:1px solid #383833;letter-spacing:.04em}
 #nav a:last-child{border-bottom:0}
}
@media(min-width:851px){#nav{display:flex!important}}
.footer-social a{display:inline-block;padding:6px 0}.footer-social a:hover{color:var(--accent)}

/* Heroes de serviços: conteúdo à esquerda e PNG transparente à direita. */
.hero--product{min-height:660px;padding:80px 0}
.hero--product .hero-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(28px,4vw,70px);width:100%}
.hero--product .hero-copy{min-width:0;position:relative;z-index:1}
.hero--product h1{font-size:clamp(48px,6.4vw,90px);max-width:740px;overflow-wrap:normal}
.hero--product p{font-size:19px;max-width:580px}
.hero-visual{height:clamp(360px,39vw,560px);position:relative;display:flex;align-items:center;justify-content:center;min-width:0}
/* V15: nao exibir placeholder durante o carregamento do PNG. */
.hero-visual img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;opacity:0;transition:opacity .28s ease;filter:drop-shadow(0 22px 35px #0005)}
.hero-visual.has-image img{opacity:1}
/* O neon e o credito aparecem junto com a imagem, sem flashes durante o carregamento. */
.hero--packaging .hero-visual::before,.hero--launch .hero-visual::before,.hero--rescue .hero-visual::before{opacity:0;transition:opacity .32s ease}
.hero--packaging .hero-visual.has-image::before,.hero--launch .hero-visual.has-image::before,.hero--rescue .hero-visual.has-image::before{opacity:1}
.hero--product .hero-visual .hero-credit{opacity:0;transition:opacity .28s ease}
.hero--product .hero-visual.has-image .hero-credit{opacity:1}
/* V23 — Cada imagem leva seu acabamento visual ao novo servico. */
/* V27 — NUUDO: PNG revisado; preservado o neon da V26. */
/* V41 — Launch Kit: neon NUUDO mais difuso (blur maior), sem alterar a cor ou o produto. */
.hero--launch .hero-visual::before{content:"";position:absolute;z-index:0;inset:20% 0% 19%;border-radius:50%;background:radial-gradient(ellipse at 50% 56%,rgba(45,208,196,.88) 0%,rgba(17,168,163,.69) 29%,rgba(7,110,115,.40) 58%,transparent 83%);filter:blur(50px) saturate(1.14);pointer-events:none}
.hero--launch .hero-visual img{position:relative;z-index:1;transform:scale(1.31);transform-origin:center center}
/* Brand Rescue: JAH, com neon roxo do hero anterior de Launch Kit. */
.hero--rescue .hero-visual::before{content:"";position:absolute;z-index:0;inset:3%;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,rgba(214,116,255,.96) 0%,rgba(173,69,232,.88) 24%,rgba(117,28,176,.72) 46%,rgba(62,8,96,.43) 67%,transparent 85%);filter:blur(48px) saturate(1.28);pointer-events:none}
.hero--rescue .hero-visual img{position:relative;z-index:1;transform:scale(1.38);transform-origin:center center}
/* Packaging Lab: Rock Water, sem alteracoes. */
.hero--packaging .hero-visual::before{content:"";position:absolute;z-index:0;inset:0;border-radius:50%;background:radial-gradient(ellipse at 50% 51%,rgba(105,225,255,.92) 0%,rgba(26,158,255,.80) 24%,rgba(16,90,246,.58) 47%,rgba(10,45,142,.35) 67%,transparent 84%);filter:blur(48px) saturate(1.4);pointer-events:none}
.hero--packaging .hero-visual img{position:relative;z-index:1;transform:scale(1.30);transform-origin:center center}
.hero--product .hero-visual .hero-credit{position:absolute;z-index:3;right:8px;bottom:0;color:#aaa9a4;font-size:11px;font-weight:400;letter-spacing:.08em;line-height:1.5;text-align:right;pointer-events:none}
@media(max-width:900px){
 .hero--launch .hero-visual::before{inset:23% 3% 21%;filter:blur(40px)}
 .hero--launch .hero-visual img{transform:scale(1.12)}
 .hero--rescue .hero-visual img{transform:scale(1.18)}
}
@media(max-width:550px){
 .hero--launch .hero-visual::before{inset:26% 3% 24%;filter:blur(32px)}
 .hero--launch .hero-visual img{transform:scale(.99)}
 .hero--rescue .hero-visual img{transform:scale(1.05)}
}
@media(max-width:900px){.hero--product .hero-layout{grid-template-columns:1fr;gap:30px}.hero--product{padding:70px 0 55px}.hero--product h1{font-size:clamp(46px,9vw,78px)}.hero-visual{height:clamp(300px,65vw,480px)}}
@media(max-width:550px){.hero--product h1{font-size:clamp(43px,11vw,62px)}.hero--product p{font-size:17px}.hero-visual{height:340px}}
/* Responsividade: evita recortes laterais nas telas menores. */
@media(max-width:900px){.hero--packaging .hero-visual img{transform:scale(1.20)}.hero--packaging .hero-visual::before{inset:3%;filter:blur(39px) saturate(1.3)}}
@media(max-width:550px){.hero--packaging .hero-visual img{transform:scale(1.12)}.hero--packaging .hero-visual::before{inset:4%;filter:blur(30px) saturate(1.25)}}
/* V18 — os créditos de Packaging Lab e Launch Kit tornam-se visíveis quando o PNG carrega. */

/* Página institucional — O Estúdio */
.studio-intro{max-width:900px;font-size:clamp(24px,3.1vw,43px);line-height:1.22;letter-spacing:-.025em;margin:0}
.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,110px);align-items:start}
.studio-grid p{color:#c8c6be;font-size:18px;line-height:1.7;margin:0 0 20px}
.studio-stat{font-size:clamp(72px,12vw,170px);font-weight:700;line-height:.9;letter-spacing:-.07em;color:var(--accent)}
.studio-stat-label{font-size:13px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin-top:22px}
.studio-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:35px}
.studio-service{border:1px solid var(--line);padding:26px;background:#1c1c1a;transition:border-color .2s}
.studio-service:hover{border-color:var(--accent)}
.studio-service h3{font-size:27px;margin:10px 0 14px}
.studio-service p{color:var(--muted);line-height:1.55;margin:0}
@media(max-width:850px){.studio-grid,.studio-services{grid-template-columns:1fr}}

/* V19: Home — hero editorial com fotografia do gorila à direita. */
.hero--home{min-height:700px;isolation:isolate;background:var(--bg);padding:105px 0 100px}
.hero--home .home-hero-art{position:absolute;inset:0 0 0 auto;width:72%;z-index:-1;overflow:hidden;pointer-events:none}
.hero--home .home-hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:51% 48%}
.hero--home .home-hero-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--bg) 0%,rgba(17,17,16,.95) 10%,rgba(17,17,16,.55) 32%,rgba(17,17,16,.04) 63%),linear-gradient(0deg,var(--bg) 0%,rgba(17,17,16,0) 24%)}
.hero--home .home-hero-inner{position:relative;z-index:1;width:100%}
.hero--home .home-hero-copy{max-width:680px}
.hero--home h1{font-size:clamp(59px,7.5vw,106px);line-height:.94;max-width:680px;letter-spacing:-.027em}
.hero--home p{max-width:560px}
@media(max-width:1000px){
 .hero--home .home-hero-art{width:83%}
 .hero--home .home-hero-art::after{background:linear-gradient(90deg,var(--bg) 0%,rgba(17,17,16,.92) 18%,rgba(17,17,16,.42) 55%,rgba(17,17,16,.03) 95%),linear-gradient(0deg,var(--bg) 0%,transparent 22%)}
 .hero--home .home-hero-copy{max-width:620px}
 .hero--home h1{font-size:clamp(55px,9vw,90px)}
}
@media(max-width:650px){
 .hero--home{min-height:780px;padding:315px 0 76px;align-items:flex-start}
 .hero--home .home-hero-art{width:100%;height:430px;inset:0 0 auto;}
 .hero--home .home-hero-art img{object-position:50% 36%}
 .hero--home .home-hero-art::after{background:linear-gradient(0deg,var(--bg) 0%,rgba(17,17,16,.55) 22%,transparent 62%),linear-gradient(90deg,rgba(17,17,16,.12),transparent 65%)}
 .hero--home .home-hero-copy{max-width:100%}
 .hero--home h1{font-size:clamp(50px,12.4vw,76px);line-height:.97;max-width:100%;margin:18px 0 24px}
 .hero--home p{font-size:17px;line-height:1.55}
 .hero--home .actions{margin-top:27px}
}
@media(max-width:390px){.hero--home{padding-top:280px;min-height:745px}.hero--home .home-hero-art{height:390px}.hero--home h1{font-size:clamp(46px,12vw,56px)}}

/* V30 — White Label usa exatamente o mesmo componente e estilo do hero de O Estúdio. */
/* V31 — Âncoras internas: os títulos não ficam escondidos pelo cabeçalho fixo. */
#pacotes, #solutions {scroll-margin-top: 96px;}


/* V32: páginas estáticas, âncoras e acessibilidade */
#pacotes, #solutions {scroll-margin-top: 106px;}
a:focus-visible, button:focus-visible {outline:2px solid var(--accent);outline-offset:4px;}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-visual img,.hero-visual::before,.card,.package{transition:none!important}}

/* V36 — PT / EN language navigation, accessible on desktop and mobile */
.lang-switch{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;margin-left:8px;flex-shrink:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:700;letter-spacing:.09em}
.lang-switch a{color:#a9a9a4;text-decoration:none;padding:9px 2px;transition:color .18s ease}
.lang-switch a:hover,.lang-switch a.selected{color:#ffff00}
.lang-switch span{color:#5b5b55}
@media(max-width:1200px) and (min-width:851px){.lang-switch{gap:5px;margin-left:0;font-size:11px}.nav{gap:12px}.nav .logo .brandmark{max-width:195px}}
@media(max-width:850px){.lang-switch{margin-left:auto;margin-right:6px;gap:6px}.menu-toggle{margin-left:0}}
@media(max-width:400px){.nav{padding-left:12px;padding-right:12px;gap:8px}.logo .brandmark{max-width:150px;height:29px}.lang-switch{font-size:11px}}

@media(min-width:851px) and (max-width:1100px){.nav{gap:10px}.nav .logo .brandmark{max-width:155px}.nav nav{gap:9px}.nav nav a{font-size:10.5px;letter-spacing:.035em}.nav .navcta{padding:12px;font-size:11px}.lang-switch{font-size:11px;gap:5px;margin-left:0}}

/* V37: fixed quote labels on English pricing cards */
.price--quote{font-size:clamp(24px,2.3vw,32px);line-height:1.15;letter-spacing:-.015em}

/* V38 — institutional heroes: consistent left alignment regardless of heading length.
   A shared width fixes the previous shrink-to-content layout shift between
   White Label and O Estúdio, in both Portuguese and English. */
.hero--institutional {
  align-items: flex-start;
}
.hero--institutional > .wrap {
  width: 100%;
  max-width: 1136px;
  margin: 0 auto;
}
/* Preserve O Estúdio’s original top offset around tablet / compact desktop. */
@media (min-width: 851px) and (max-width: 1100px) {
  .hero--institutional { padding-top: 138px; }
}

/* V42 — pricing grids: responsive classes instead of inline grid styles.
   Previously inline grid-template-columns won against the mobile media query. */
.packages--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.packages--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.package{min-width:0}
.package .btn{min-width:0}
@media(max-width:850px){
  .packages,.packages--two,.packages--three{grid-template-columns:minmax(0,1fr);width:100%}
}
/* V42 — avoid emoji arrows on mobile Safari: always use vector SVG icons. */
.ui-arrow{display:inline-block;width:19px;height:19px;flex:none;vertical-align:-.2em;color:inherit}
.arrow .ui-arrow{width:24px;height:24px}
.btn .ui-arrow{display:block}

/* V43 — Instagram access on phones: preserve desktop CTA; show inside mobile menu. */
#nav a.mobile-instagram{display:none}
@media(max-width:850px){
  #nav{max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain}
  #nav a.mobile-instagram,
  #nav a.mobile-instagram:visited{
    display:flex;align-items:center;justify-content:space-between;gap:18px;
    margin-top:18px;padding:17px 20px;background:var(--accent);
    border:1px solid var(--accent);color:#111110;font-weight:850;
    letter-spacing:.06em;line-height:1.2;
  }
  #nav a.mobile-instagram:hover,
  #nav a.mobile-instagram:focus-visible{color:#111110;background:#f0f000}
  #nav a.mobile-instagram .ui-arrow{color:#111110;width:19px;height:19px}
}
