/* =========================================================
   NOBRE STUDIOS v2.3.1
   Preto como base, marca azul, acentos laranja.
   Hero automático em SVG inline + CSS, sem dependência do scroll.
   ========================================================= */

:root{
  --paper:#050505!important;
  --paper-2:#0a0a0a!important;
  --ink:#f5f5f5!important;
  --line:rgba(255,255,255,.10)!important;
  --muted:#9a9a9a!important;
  --accent:#ff6a00!important;
  --dark:#050505!important;
  --white:#fff;
  --nobre-orange:#ff6a00;
  --nobre-orange-deep:#d94f00;
  --nobre-blue:#2563eb;
  --nobre-blue-light:#7bd7ff;
  --nobre-black:#050505;
  --nobre-panel:#0b0b0b;
  --nobre-panel-2:#101010;
}

html{background:#050505;color-scheme:dark}
body{background:#050505!important;color:#f5f5f5!important}
::selection{background:#ff6a00;color:#080808}
.noise{opacity:.022!important}

/* HEADER */
.site-header{
  background:rgba(5,5,5,.58)!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.site-header.scrolled{
  background:rgba(5,5,5,.92)!important;
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:0 10px 34px rgba(0,0,0,.24)!important;
}
.desktop-nav,.header-account{color:#f4f4f4!important}
.desktop-nav a:after{background:#ff6a00!important}
.header-account span,.text-link span{color:#ff6a00!important}
.menu-toggle span{background:#fff!important}
.mobile-menu{background:#070707!important;border-color:rgba(255,255,255,.08)!important}
.mobile-menu a{color:#f5f5f5!important;border-color:rgba(255,255,255,.08)!important}
.header-logo{filter:drop-shadow(0 8px 18px rgba(37,99,235,.18))}

/* BOTÕES E LINKS */
.btn-primary,.btn-dark{
  background:linear-gradient(135deg,#ff6a00,#d94f00)!important;
  color:#090909!important;
  box-shadow:none!important;
  border-color:transparent!important;
}
.btn-primary:hover,.btn-dark:hover{
  background:linear-gradient(135deg,#ff7a18,#ff5a00)!important;
  color:#050505!important;
}
.btn-light{background:#f5f5f5!important;color:#080808!important}
.btn-ghost{border-color:rgba(255,255,255,.14)!important;color:#f5f5f5!important;background:transparent!important}
.btn-ghost:hover{border-color:#ff6a00!important;background:rgba(255,106,0,.06)!important}
.text-link{color:#f5f5f5!important}
.kicker{color:#b5b5b5!important}

/* =========================================================
   HERO AUTOMÁTICO — refinamento v2.3.2
   A fita vetorial é revelada pelo próprio traçado.
   Sem loop, sem rotação, sem JavaScript no hero.
   ========================================================= */
.hero.hero-auto{
  min-height:100svh!important;
  height:auto!important;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 73% 44%,rgba(255,255,255,.035),transparent 31%),
    linear-gradient(180deg,#030303 0%,#050505 58%,#070707 100%)!important;
}
.hero-auto::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),rgba(0,0,0,.15) 84%,transparent);
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),rgba(0,0,0,.15) 84%,transparent);
  opacity:.22;
}
.hero-auto-shell{
  min-height:100svh;
  padding:98px 3.2vw 28px;
  max-width:1680px;
  margin:0 auto;
  position:relative;
  z-index:1;
  display:grid;
  grid-template-rows:auto 1fr auto;
}
.hero-auto-topline,.hero-auto-bottomline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:42px;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.08);
  font:9px/1.3 DM Mono,monospace;
  letter-spacing:.22em;
  color:#a8a8a8;
  text-transform:uppercase;
}
.hero-auto-topline{padding:0 2px}
.hero-auto-layout{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr);
  gap:3.8vw;
  align-items:center;
  min-height:0;
  padding:4.5vh 0 3.5vh;
}
.hero-auto-copy{
  max-width:720px;
  opacity:0;
  transform:translateY(18px);
  animation:nobreCopyIn .78s cubic-bezier(.2,.75,.2,1) .12s forwards;
}
.hero-auto-copy h1{
  margin:20px 0 30px;
  color:#f8f8f8!important;
  font-size:clamp(58px,7.1vw,118px);
  line-height:.87;
  letter-spacing:-.065em;
  font-weight:500;
}
.hero-auto-copy p{
  max-width:575px;
  color:#a8a8a8!important;
  font-size:clamp(16px,1.35vw,21px);
  line-height:1.6;
}
.hero-auto-copy .hero-actions{margin-top:34px}

.nobre-signature{
  min-height:470px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.nobre-signature-stage{
  width:min(100%,720px);
  aspect-ratio:1.52/1;
  position:relative;
  display:grid;
  place-items:center;
  isolation:isolate;
}
.nobre-signature-stage::before{
  content:"";
  position:absolute;
  inset:10% 4%;
  border:1px solid rgba(255,255,255,.055);
  border-radius:4px;
  background:radial-gradient(circle at 54% 49%,rgba(37,99,235,.045),transparent 63%);
  opacity:0;
  animation:nobreFrameIn .5s ease .14s forwards;
}
.nobre-signature-stage::after{
  content:"";
  position:absolute;
  left:8%;right:8%;bottom:14%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,106,0,.9),transparent);
  transform:scaleX(0);
  opacity:.84;
  animation:nobreOrangeSweep .56s cubic-bezier(.22,.76,.2,1) 2.18s forwards;
}
.nobre-signature-svg{
  width:88%;
  height:auto;
  overflow:visible;
  position:relative;
  z-index:2;
  transform:translateZ(0);
  filter:drop-shadow(0 20px 26px rgba(0,42,140,.14));
}

/*
   Desenho premium da assinatura.
   Três strokes na mesma curva: profundidade, cor e luz.
   Não há máscara, ponto móvel, blur SVG ou imagem externa.
*/
.nobre-swoosh-shadow,
.nobre-swoosh-main,
.nobre-swoosh-highlight{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:1;
  stroke-dashoffset:1;
}
.nobre-swoosh-shadow{
  stroke:url(#nobreStrokeDeep);
  stroke-width:25;
  opacity:.86;
  animation:nobreStrokeDraw 1.48s cubic-bezier(.62,.02,.22,1) .28s forwards;
}
.nobre-swoosh-main{
  stroke:url(#nobreStrokeBlue);
  stroke-width:18.5;
  opacity:1;
  animation:nobreStrokeDraw 1.44s cubic-bezier(.62,.02,.22,1) .34s forwards;
}
.nobre-swoosh-highlight{
  stroke:url(#nobreStrokeLight);
  stroke-width:3.1;
  opacity:.92;
  animation:nobreStrokeDraw 1.12s cubic-bezier(.58,.03,.2,1) .58s forwards;
}
.nobre-swoosh-tail{
  fill:#24B5FF;
  opacity:0;
  transform-origin:325px 156px;
  transform:scale(.82);
  animation:nobreTailResolve .34s cubic-bezier(.2,.8,.22,1) 1.64s forwards;
}
.nobre-signature-svg-premium{
  transform-origin:50% 52%;
  animation:nobreMarkSettle .48s cubic-bezier(.2,.78,.2,1) 1.72s both;
}

.nobre-signature-accent{
  position:absolute;
  width:82px;
  height:2px;
  left:8%;
  top:18%;
  background:#ff6a00;
  transform:scaleX(0);
  transform-origin:left;
  animation:nobreAccentIn .44s cubic-bezier(.18,.82,.22,1) 2.08s forwards;
}
.nobre-signature-meta{
  position:absolute;
  left:8%;right:8%;bottom:8.5%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  color:#858585;
  font:8px/1.3 DM Mono,monospace;
  letter-spacing:.21em;
  opacity:0;
  transform:translateY(4px);
  animation:nobreMetaIn .34s ease 2.22s forwards;
}
.hero-auto-bottomline{border-bottom:0;padding-top:8px}
.hero-auto-bottomline i{
  flex:1;
  height:1px;
  background:rgba(255,255,255,.12);
  position:relative;
  overflow:hidden;
}
.hero-auto-bottomline i::after{
  content:"";
  position:absolute;
  inset:0;
  background:#ff6a00;
  transform:translateX(-100%);
  animation:nobreBottomSweep .68s cubic-bezier(.18,.82,.22,1) 2.12s forwards;
}

@keyframes nobreCopyIn{to{opacity:1;transform:none}}
@keyframes nobreFrameIn{to{opacity:1}}
@keyframes nobreStrokeDraw{to{stroke-dashoffset:0}}
@keyframes nobreTailResolve{
  0%{opacity:0;transform:scale(.82)}
  100%{opacity:1;transform:scale(1)}
}
@keyframes nobreMarkSettle{
  0%{transform:translateY(2px) scale(.997)}
  55%{transform:translateY(0) scale(1.006)}
  100%{transform:translateY(0) scale(1)}
}
@keyframes nobreOrangeSweep{to{transform:scaleX(1)}}
@keyframes nobreAccentIn{to{transform:scaleX(1)}}
@keyframes nobreMetaIn{to{opacity:1;transform:none}}
@keyframes nobreBottomSweep{to{transform:translateX(100%)}}

/* Hero antigo nunca interfere no novo. */
.hero-auto .hero-sticky,.hero-auto .hero-shell,.hero-auto .signature-visual,.hero-auto .signature-stage,.hero-auto .signature-svg,.hero-auto .signature-logo-final{display:none!important}

/* Sem animação contínua: will-change é só para os elementos da abertura. */
.nobre-swoosh-shadow,.nobre-swoosh-main,.nobre-swoosh-highlight,.nobre-swoosh-tail,.nobre-signature-accent,.hero-auto-copy,.nobre-signature-meta{will-change:transform,opacity,stroke-dashoffset}

@media(max-width:1120px){
  .hero-auto-layout{grid-template-columns:1fr 1fr;gap:2vw}
  .nobre-signature-stage{width:min(100%,620px)}
}

@media(max-width:820px){
  .hero-auto-shell{padding:82px 18px 24px;min-height:100svh}
  .hero-auto-topline span:last-child{display:none}
  .hero-auto-layout{grid-template-columns:1fr;padding:28px 0 18px;align-content:start;gap:18px}
  .hero-auto-copy{max-width:none}
  .hero-auto-copy h1{font-size:clamp(44px,12.8vw,72px);line-height:.91;margin:17px 0 22px}
  .hero-auto-copy p{font-size:15px;max-width:94%}
  .nobre-signature{min-height:285px;margin-top:-6px}
  .nobre-signature-stage{width:min(112%,570px)}
  .nobre-signature-svg{width:92%}
  .nobre-signature-meta{font-size:7px;bottom:7%}
  .hero-auto-bottomline>span:first-child{display:none}
  .hero-auto-bottomline{gap:12px}
}

@media(max-width:480px){
  .hero-auto-shell{padding-top:76px}
  .hero-auto-topline{font-size:8px}
  .hero-auto-copy h1{font-size:clamp(40px,12.5vw,59px)}
  .hero-auto-copy p{max-width:100%;font-size:14px}
  .hero-auto-copy .hero-actions{gap:12px;flex-wrap:wrap}
  .nobre-signature{min-height:235px}
  .nobre-signature-stage{width:116%;margin-left:-8%}
  .nobre-signature-meta{display:none}
  .nobre-signature-accent{left:10%;top:16%;width:58px}
  .hero-auto-bottomline{font-size:7px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .hero-auto-copy,.nobre-signature-stage::before,.nobre-signature-meta{opacity:1!important;transform:none!important;animation:none!important}
  .nobre-swoosh-shadow,.nobre-swoosh-main,.nobre-swoosh-highlight{stroke-dashoffset:0!important;animation:none!important}
  .nobre-swoosh-tail{opacity:1!important;transform:none!important;animation:none!important}
  .nobre-signature-svg-premium{transform:none!important;animation:none!important}
  .nobre-signature-accent{transform:scaleX(1)!important;animation:none!important}
  .nobre-signature-stage::after{transform:scaleX(1)!important;animation:none!important}
  .hero-auto-bottomline i::after{transform:translateX(100%)!important;animation:none!important}
  .cta-track{animation:none!important}
}

/* =========================================================
   HOME / SITE PÚBLICO PRETO
   ========================================================= */
.storyboard-grid{
  background:#070707!important;
  border-color:rgba(255,255,255,.10)!important;
}
.story-card{
  background:linear-gradient(180deg,#090909,#070707)!important;
  color:#f5f5f5!important;
  border-color:rgba(255,255,255,.10)!important;
}
.story-card h3{color:#f4f4f4!important}
.story-card p{color:#929292!important}
.story-label{color:#a7a7a7!important}
.story-no{color:#ff6a00!important}
.story-card::after{background:radial-gradient(circle at 30% 30%,rgba(255,106,0,.16),rgba(255,106,0,0) 72%)!important}
.color-dots span{border-color:rgba(255,255,255,.16)!important}

.products-section.products-nobre,
.process.process-nobre{
  background:#050505!important;
  color:#f5f5f5!important;
}
.section-heading h2,.process-heading h2{color:#f5f5f5!important}
.product-stack{border-color:rgba(255,255,255,.10)!important}
.product-card{
  background:#0a0a0a!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#f5f5f5!important;
}
.product-card:nth-child(even){background:#0d0d0d!important}
.product-card h3{color:#f7f7f7!important}
.product-card p,.product-number{color:#929292!important}
.product-visual{background:radial-gradient(circle at 66% 28%,rgba(255,106,0,.07),transparent 36%)!important}
.product-visual img{box-shadow:0 28px 65px rgba(0,0,0,.44)!important;border:1px solid rgba(255,255,255,.08)!important}
.process-nobre{border-color:rgba(255,255,255,.10)!important}
.process-nobre .process-step{border-color:rgba(255,255,255,.10)!important}
.process-nobre .process-step p{color:#919191!important}
.process-nobre .section-index,.process-nobre .process-step>span{color:#ff6a00!important}

.cta-band-nobre{
  background:#ff6a00!important;
  color:#080808!important;
  border-top:1px solid #ff8d42!important;
  border-bottom:1px solid #d94f00!important;
}
.cta-track{color:#080808!important}

.site-footer{
  background:#050505!important;
  color:#f5f5f5!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
}
.footer-main h2{color:#f5f5f5!important}
.footer-contact span,.footer-bottom{color:#828282!important}
.footer-contact a{color:#f5f5f5!important;border-color:rgba(255,255,255,.12)!important}
.footer-contact a:hover{color:#ff6a00!important}
.footer-logo{background:transparent!important;box-shadow:none!important}

/* Catálogo, produto, login e área do cliente acompanham o preto. */
.inner-page,.catalog-hero,.catalog-grid,.product-page,.product-hero,.product-body,
.auth-page,.checkout-page,.account-simple,.account-page{
  background:#050505!important;
  color:#f5f5f5!important;
}
.catalog-hero{border-color:rgba(255,255,255,.10)!important}
.catalog-hero h1,.catalog-card h2,.product-title h1,.features-title h2,.buy-heading h2,.auth-copy h1,.simple-head h1,.account-welcome h1{color:#f5f5f5!important}
.catalog-hero p,.catalog-card p,.product-title p,.auth-copy p,.account-welcome p{color:#969696!important}
.catalog-card{border-color:rgba(255,255,255,.10)!important}
.catalog-image,.product-page-visual{background:#0c0c0c!important;border:1px solid rgba(255,255,255,.08)!important}
.catalog-price{border-color:rgba(255,255,255,.10)!important}
.catalog-price span{color:#ff6a00!important}
.auth-card,.checkout-card,.profile-card,.table-card,.owned-card,.product-summary,.price-box,.feature-card,.plan-card{
  background:#0b0b0b!important;
  color:#f5f5f5!important;
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:none!important;
}
.plan-dark{background:#101010!important}
.account-sidebar{background:#090909!important;color:#f5f5f5!important}
.account-sidebar nav a{color:#b1b1b1!important}
.account-sidebar nav a.active,.account-sidebar nav a:hover{color:#fff!important;background:rgba(255,106,0,.08)!important}
.stack-form input,.stack-form textarea,.stack-form select,.search-bar input{
  background:#070707!important;
  color:#f5f5f5!important;
  border:1px solid rgba(255,255,255,.13)!important;
}
.stack-form input:focus,.stack-form textarea:focus,.stack-form select:focus{border-color:#ff6a00!important;outline:none!important}
.status-pill{background:rgba(255,106,0,.10)!important;color:#ff8533!important}

/* =========================================================
   NOBRE STUDIOS v2.4.0
   Conteúdo empresarial + logo por imagem com fade-in.
   Mantém base preta, marca azul e detalhe laranja configuráveis.
   ========================================================= */
html,body{background:var(--nobre-bg)!important;color:var(--nobre-text)!important;overflow-x:hidden}
body{min-width:0}
.site-header,.site-header.scrolled{background:color-mix(in srgb,var(--nobre-bg) 92%,transparent)!important}
.desktop-nav,.header-account,.text-link{color:var(--nobre-text)!important}
.desktop-nav a:after,.hero-auto-bottomline i,.nobre-signature-accent{background:var(--nobre-orange)!important}
.header-account span,.text-link span{color:var(--nobre-orange)!important}
.btn-primary,.btn-dark{background:var(--nobre-orange)!important;color:#070707!important}
.btn-primary:hover,.btn-dark:hover{filter:brightness(1.08)}
.kicker,.hero-auto-topline,.hero-auto-bottomline{color:var(--nobre-muted)!important}

.hero.hero-auto.hero-company{
  min-height:100svh!important;
  background:
    radial-gradient(circle at 74% 45%,color-mix(in srgb,var(--nobre-blue) 12%,transparent),transparent 31%),
    linear-gradient(180deg,color-mix(in srgb,var(--nobre-bg) 96%,#000) 0%,var(--nobre-bg) 100%)!important;
}
.hero-company .hero-auto-shell{min-height:100svh;display:grid;grid-template-rows:auto 1fr auto}
.hero-company .hero-auto-layout{grid-template-columns:minmax(0,.94fr) minmax(380px,1.06fr);gap:4vw;align-items:center}
.hero-company .hero-auto-copy{opacity:1!important;transform:none!important;animation:none!important}
.hero-company .hero-auto-copy h1{color:var(--nobre-text)!important;max-width:780px}
.hero-company .hero-auto-copy p{color:var(--nobre-muted)!important}

/* A animação usa apenas a imagem escolhida no Master. */
.hero-fade-visual{min-height:460px;display:flex;align-items:center;justify-content:center;position:relative}
.hero-fade-frame{width:min(100%,720px);aspect-ratio:1.48/1;position:relative;display:grid;place-items:center;isolation:isolate}
.hero-fade-frame::before{content:"";position:absolute;inset:9% 4%;border:1px solid color-mix(in srgb,var(--nobre-text) 7%,transparent);border-radius:4px;background:radial-gradient(circle at 52% 48%,color-mix(in srgb,var(--nobre-blue) 8%,transparent),transparent 62%);opacity:0;animation:nobreFadeFrame .65s ease .15s forwards}
.hero-fade-logo{position:relative;z-index:2;width:min(74%,520px);max-height:360px;object-fit:contain;opacity:0;transform:translateY(14px) scale(.965);filter:blur(8px) drop-shadow(0 18px 32px color-mix(in srgb,var(--nobre-blue) 18%,transparent));animation:nobreLogoFade 1.2s cubic-bezier(.2,.72,.2,1) .28s forwards;will-change:opacity,transform,filter}
.hero-fade-orbit{position:absolute;z-index:1;width:64%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--nobre-blue) 16%,transparent);border-radius:50%;opacity:0;transform:scale(.92);animation:nobreOrbitFade 1.15s ease .42s forwards}
.hero-fade-caption{position:absolute;z-index:3;right:8%;bottom:10%;font:8px/1.4 DM Mono,monospace;letter-spacing:.2em;color:var(--nobre-muted);opacity:0;transform:translateY(6px);animation:nobreCaptionFade .55s ease 1.02s forwards}
@keyframes nobreLogoFade{0%{opacity:0;transform:translateY(14px) scale(.965);filter:blur(8px) drop-shadow(0 18px 32px transparent)}58%{opacity:.9;filter:blur(1.5px) drop-shadow(0 20px 34px color-mix(in srgb,var(--nobre-blue) 16%,transparent))}100%{opacity:1;transform:none;filter:blur(0) drop-shadow(0 20px 34px color-mix(in srgb,var(--nobre-blue) 18%,transparent))}}
@keyframes nobreFadeFrame{to{opacity:1}}
@keyframes nobreOrbitFade{to{opacity:.48;transform:scale(1)}}
@keyframes nobreCaptionFade{to{opacity:1;transform:none}}

/* Apresentação empresarial */
.company-intro{max-width:1680px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5vw;border-top:1px solid color-mix(in srgb,var(--nobre-text) 10%,transparent);background:var(--nobre-bg)}
.company-intro-head{align-self:start;position:sticky;top:110px}
.company-intro-head h2{font-size:clamp(44px,5.2vw,84px);line-height:.94;letter-spacing:-.055em;font-weight:500;margin:22px 0 26px;color:var(--nobre-text)}
.company-intro-head p{max-width:650px;color:var(--nobre-muted);font-size:18px;line-height:1.65}
.company-services{display:grid;border-top:1px solid color-mix(in srgb,var(--nobre-text) 10%,transparent)}
.company-service{display:grid;grid-template-columns:64px minmax(180px,.42fr) 1fr;gap:18px;padding:30px 0;border-bottom:1px solid color-mix(in srgb,var(--nobre-text) 10%,transparent)}
.company-service>span{font:10px DM Mono,monospace;color:var(--nobre-orange)}
.company-service h3{margin:0;font-size:20px;color:var(--nobre-text)}
.company-service p{margin:0;color:var(--nobre-muted);line-height:1.58}
.section-heading-text{max-width:620px;color:var(--nobre-muted);line-height:1.6;margin:18px 0 0}
.products-section.products-nobre,.process.process-nobre,.site-footer,.catalog-hero,.catalog-grid,.product-page,.auth-page,.checkout-page,.account-page,.account-simple{background:var(--nobre-bg)!important;color:var(--nobre-text)!important}
.product-card,.catalog-image,.product-page-visual,.auth-card,.checkout-card,.profile-card,.table-card,.owned-card{background:var(--nobre-surface)!important;border-color:color-mix(in srgb,var(--nobre-text) 8%,transparent)!important}
.product-card p,.catalog-card p,.catalog-hero p,.product-title p,.process-step p,.process-heading p,.footer-bottom{color:var(--nobre-muted)!important}
.product-card h3,.catalog-card h2,.product-title h1,.process-heading h2,.section-heading h2{color:var(--nobre-text)!important}
.cta-band-nobre{background:linear-gradient(90deg,color-mix(in srgb,var(--nobre-orange) 78%,#000),var(--nobre-orange),color-mix(in srgb,var(--nobre-orange) 70%,#000))!important;color:#080808!important}

/* Mobile primeiro: evita largura quebrada e melhora leitura. */
@media(max-width:1100px){
  .hero-company .hero-auto-layout{grid-template-columns:1fr 1fr;gap:24px}
  .hero-fade-visual{min-height:380px}
  .company-intro{grid-template-columns:1fr}
  .company-intro-head{position:static}
}
@media(max-width:820px){
  .hero-company .hero-auto-shell{padding:88px 18px 22px}
  .hero-company .hero-auto-layout{grid-template-columns:1fr;padding:34px 0 18px;gap:8px}
  .hero-company .hero-auto-copy h1{font-size:clamp(46px,13vw,78px);line-height:.92}
  .hero-company .hero-auto-copy p{font-size:16px;max-width:94%}
  .hero-fade-visual{min-height:300px}
  .hero-fade-frame{width:min(100%,480px)}
  .hero-fade-logo{width:min(68%,360px);max-height:240px;filter:blur(6px) drop-shadow(0 12px 24px color-mix(in srgb,var(--nobre-blue) 14%,transparent))}
  .hero-fade-caption{right:7%;bottom:8%;font-size:7px}
  .company-intro{padding-top:82px;padding-bottom:82px}
  .company-intro-head h2{font-size:clamp(42px,12vw,66px)}
  .company-intro-head p{font-size:16px}
  .company-service{grid-template-columns:44px 1fr;padding:22px 0}
  .company-service p{grid-column:2}
}
@media(max-width:520px){
  .hero-auto-topline span:last-child{display:none}
  .hero-auto-bottomline span:last-child{display:none}
  .hero-auto-bottomline i{margin-left:auto}
  .hero-company .hero-auto-copy h1{font-size:clamp(42px,14vw,62px)}
  .hero-actions{width:100%}
  .hero-actions .btn{width:100%}
  .hero-fade-visual{min-height:250px}
  .hero-fade-frame::before{inset:7% 0}
  .hero-fade-logo{width:78%;max-height:200px}
  .hero-fade-orbit{width:72%}
  .hero-fade-caption{display:none}
  .company-service{grid-template-columns:36px 1fr}
  .product-actions{flex-direction:column;align-items:stretch!important}
  .product-actions .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .hero-fade-logo,.hero-fade-frame::before,.hero-fade-orbit,.hero-fade-caption{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
}

/* Ajustes gerais para telas pequenas em todas as áreas públicas. */
@media(max-width:820px){
  .site-header{padding-left:16px!important;padding-right:16px!important}
  .header-logo{max-width:132px!important;height:auto!important;max-height:30px!important}
  .mobile-menu{padding-left:18px!important;padding-right:18px!important}
  .catalog-hero,.catalog-grid,.product-hero,.product-story,.features-section,.buy-section,.auth-page,.checkout-page,.account-content,.account-simple{padding-left:18px!important;padding-right:18px!important}
  .catalog-grid{grid-template-columns:1fr!important}
  .catalog-card h2{font-size:clamp(38px,11vw,56px)!important}
  .product-hero{grid-template-columns:1fr!important;gap:30px!important}
  .product-title h1{font-size:clamp(64px,17vw,110px)!important}
  .plans{grid-template-columns:1fr!important}
  .auth-page,.checkout-page{grid-template-columns:1fr!important;gap:34px!important;padding-top:105px!important}
  .auth-copy h1{font-size:clamp(48px,14vw,70px)!important}
  .auth-card,.checkout-card,.profile-card{padding:22px!important}
  .account-page{grid-template-columns:1fr!important}
  .account-sidebar{min-height:0!important;border-right:0!important;border-bottom:1px solid color-mix(in srgb,var(--nobre-text) 10%,transparent)!important;padding:98px 18px 20px!important}
  .account-sidebar nav{display:flex!important;gap:8px!important;margin-top:20px!important;overflow-x:auto!important;scrollbar-width:none}
  .account-sidebar nav::-webkit-scrollbar{display:none}
  .account-sidebar nav a{flex:0 0 auto!important;padding:9px 11px!important;white-space:nowrap!important}
  .account-content{padding-top:34px!important}
  .account-metrics{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  .owned-grid{grid-template-columns:1fr!important}
  .simple-head{display:grid!important;gap:12px!important}
  .simple-head h1{font-size:clamp(40px,12vw,56px)!important}
  .table-card{overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .table-card table{min-width:680px}
  .footer-main{grid-template-columns:1fr!important}
  .footer-bottom{display:grid!important;gap:10px!important}
}
@media(max-width:480px){
  .account-metrics{grid-template-columns:1fr!important}
  .catalog-hero h1{font-size:clamp(50px,15vw,68px)!important}
  .product-page-visual{padding:14px!important}
  .plan-card{padding:22px!important}
}

/* =========================================================
   NOBRE STUDIOS v2.5.0 — produtos digitais / galeria / compra
   ========================================================= */
.product-sale-page{background:var(--nobre-bg)!important}
.product-hero-sale{align-items:start!important;padding-top:138px!important;gap:5vw!important}
.product-hero-sale .product-title{position:sticky;top:118px;padding-bottom:40px}
.product-hero-sale .product-title h1{margin-bottom:28px!important}
.product-delivery-inline{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.product-delivery-inline span{padding:8px 10px;border:1px solid color-mix(in srgb,var(--nobre-text) 12%,transparent);font:8px DM Mono,monospace;letter-spacing:.16em;color:var(--nobre-muted)}
.demo-button{border-color:color-mix(in srgb,var(--nobre-text) 16%,transparent)!important;color:var(--nobre-text)!important}
.product-gallery{min-width:0}
.product-gallery-stage{position:relative;aspect-ratio:1.36/1;background:var(--nobre-surface);border:1px solid color-mix(in srgb,var(--nobre-text) 9%,transparent);display:grid;place-items:center;overflow:hidden}
.product-gallery-stage>img{width:100%;height:100%;object-fit:cover;transition:opacity .22s ease,transform .32s ease;will-change:opacity,transform}
.product-gallery-stage>img.changing{opacity:.18;transform:scale(.992)}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(5,5,5,.68);backdrop-filter:blur(10px);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:2;transition:.2s}
.gallery-arrow:hover{background:var(--nobre-orange);color:#050505;border-color:var(--nobre-orange)}
.gallery-prev{left:16px}.gallery-next{right:16px}
.gallery-counter{position:absolute;right:16px;bottom:14px;background:rgba(5,5,5,.68);border:1px solid rgba(255,255,255,.12);padding:8px 10px;font:9px DM Mono,monospace;letter-spacing:.12em;color:#aaa;backdrop-filter:blur(10px)}
.gallery-counter b{color:#fff;font-weight:500}
.product-gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:12px 0 4px;scrollbar-width:thin;scrollbar-color:#333 transparent}
.gallery-thumb{position:relative;flex:0 0 104px;height:74px;padding:0;border:1px solid rgba(255,255,255,.08);background:#0a0a0a;cursor:pointer;overflow:hidden;opacity:.58;transition:.2s}
.gallery-thumb img{width:100%;height:100%;object-fit:cover}
.gallery-thumb span{position:absolute;left:6px;bottom:5px;padding:3px 5px;background:rgba(0,0,0,.7);font:7px DM Mono,monospace;color:#fff}
.gallery-thumb.active{opacity:1;border-color:var(--nobre-orange);transform:translateY(-2px)}
.source-only-buy{display:grid;grid-template-columns:.75fr 1.25fr;gap:5vw;align-items:start}
.buy-heading>p{max-width:520px;color:var(--nobre-muted);font-size:16px;line-height:1.6}
.source-package-card{display:grid;grid-template-columns:1fr minmax(250px,.42fr);gap:32px;padding:38px;background:var(--nobre-surface);border:1px solid color-mix(in srgb,var(--nobre-text) 9%,transparent)}
.source-package-card h3{font-size:clamp(34px,4vw,58px);line-height:.96;letter-spacing:-.05em;margin:16px 0 30px;color:var(--nobre-text)}
.source-package-card ul{list-style:none;padding:0;margin:0;display:grid}
.source-package-card li{padding:15px 0;border-top:1px solid color-mix(in srgb,var(--nobre-text) 9%,transparent);color:var(--nobre-muted);display:flex;gap:14px;align-items:center}
.source-package-card li b{font:9px DM Mono,monospace;color:var(--nobre-orange)}
.source-package-price{border-left:1px solid color-mix(in srgb,var(--nobre-text) 9%,transparent);padding-left:30px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:20px}
.source-package-price>span{font:9px DM Mono,monospace;letter-spacing:.14em;color:var(--nobre-muted);text-transform:uppercase}
.source-package-price>strong{font-size:clamp(34px,4vw,58px);letter-spacing:-.05em;color:var(--nobre-text)}
.purchase-modal{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;padding:24px;pointer-events:none;opacity:0;transition:opacity .22s ease}
.purchase-modal.open{opacity:1;pointer-events:auto}
.purchase-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}
.purchase-modal-card{position:relative;z-index:1;width:min(100%,620px);max-height:min(88vh,800px);overflow:auto;background:#0b0b0b;border:1px solid rgba(255,255,255,.12);padding:34px;color:#f5f5f5;box-shadow:0 34px 100px rgba(0,0,0,.55);transform:translateY(14px) scale(.985);transition:transform .25s cubic-bezier(.2,.75,.2,1)}
.purchase-modal.open .purchase-modal-card{transform:none}
.purchase-modal-close{position:absolute;right:18px;top:15px;width:36px;height:36px;border:1px solid rgba(255,255,255,.12);background:#111;color:#fff;font-size:24px;line-height:1;cursor:pointer}
.purchase-modal-card h2{font-size:clamp(34px,6vw,56px);letter-spacing:-.055em;line-height:.96;margin:18px 44px 12px 0}
.purchase-modal-lead{color:#999;line-height:1.55}
.purchase-summary-lines{margin:28px 0;border-top:1px solid rgba(255,255,255,.1)}
.purchase-summary-lines>div{display:flex;justify-content:space-between;gap:22px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:12px}
.purchase-summary-lines span{color:#888}.purchase-summary-lines strong{text-align:right}
.purchase-summary-lines .purchase-total{padding:20px 0}.purchase-total strong{font-size:26px;color:#fff}
.terms-check{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid rgba(255,255,255,.1);background:#080808;cursor:pointer}
.terms-check input{margin-top:3px;accent-color:var(--nobre-orange)}
.terms-check span{font-size:12px;line-height:1.55;color:#bbb}.terms-check a{color:var(--nobre-orange);text-decoration:underline;text-underline-offset:3px}
.terms-preview{font-size:10px;line-height:1.6;color:#777;padding:14px 2px 18px}
.js-payment-button:disabled{opacity:.38;cursor:not-allowed;filter:grayscale(.2)}
body.purchase-modal-open{overflow:hidden}
.terms-page{min-height:100vh;background:var(--nobre-bg);color:var(--nobre-text);padding:150px 5vw 100px}
.terms-page-head,.terms-document{max-width:1000px;margin:0 auto}
.terms-page-head h1{font-size:clamp(54px,8vw,108px);line-height:.87;letter-spacing:-.065em;margin:24px 0}
.terms-page-head p{max-width:650px;color:var(--nobre-muted);line-height:1.6}
.terms-document{margin-top:70px;padding:36px;background:var(--nobre-surface);border:1px solid rgba(255,255,255,.09);color:#bbb;font-size:15px;line-height:1.8}
.checkout-source-only .checkout-order-code{display:block;font:9px DM Mono,monospace;letter-spacing:.14em;color:var(--nobre-orange);margin-bottom:22px}
.checkout-terms-ok{display:flex;gap:13px;padding:16px 0;margin-top:4px;border-top:1px solid rgba(255,255,255,.1)}
.checkout-terms-ok>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,106,0,.12);color:var(--nobre-orange)}
.checkout-terms-ok strong{font-size:12px}.checkout-terms-ok p{margin:5px 0 0;font-size:10px;color:#888}
.owned-downloads{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.owned-downloads .btn{min-height:42px;flex:1 1 140px}
.product-delivery-note{display:flex;flex-direction:column;gap:5px;padding:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025)}
.product-delivery-note strong{font-size:11px}.product-delivery-note span{font-size:10px;color:var(--muted);line-height:1.5}
@media(max-width:980px){.product-hero-sale .product-title{position:static}.source-only-buy{grid-template-columns:1fr}.source-package-card{grid-template-columns:1fr}.source-package-price{border-left:0;border-top:1px solid color-mix(in srgb,var(--nobre-text) 9%,transparent);padding:26px 0 0}}
@media(max-width:640px){.product-hero-sale{padding-top:105px!important}.gallery-arrow{width:38px;height:38px}.gallery-prev{left:9px}.gallery-next{right:9px}.gallery-thumb{flex-basis:84px;height:60px}.source-package-card{padding:22px}.purchase-modal{padding:10px}.purchase-modal-card{padding:24px 18px}.purchase-summary-lines>div{font-size:11px}.terms-document{padding:22px}.hero-actions .demo-button,.hero-actions .js-open-purchase{width:100%!important}}
