@font-face{font-family:Jakarta;src:url('/fonts/plus-jakarta-sans.ttf') format('truetype');font-weight:200 800;font-display:swap}@font-face{font-family:Inter;src:url('/fonts/inter.ttf') format('truetype');font-weight:100 900;font-display:swap}:root{--bg:#070a0d;--panel:#111a22;--panel2:#18232d;--line:#293743;--text:#fff8ef;--muted:#b9c7d4;--orange:#ff6b18;--orange2:#ff3300;--green:#9cff57;--blue:#91d8ff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;line-height:1.55}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.skip{position:absolute;top:-60px;left:16px;background:var(--orange);color:#111;padding:10px;z-index:50}.skip:focus{top:12px}.container{width:min(1180px,calc(100% - 56px));margin:auto}.nav{position:sticky;top:0;z-index:30;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));background:rgba(7,10,13,.78);backdrop-filter:blur(18px);border-bottom:1px solid #ffffff12}.brand{display:flex;align-items:center;gap:11px}.brand img{width:42px;height:42px}.brand span{font:800 24px Jakarta,sans-serif;letter-spacing:-1px}.brand small{display:block;font:600 8px Inter,sans-serif;letter-spacing:1.2px;color:var(--muted);text-transform:uppercase}.nav nav{display:flex;gap:26px;color:#c7d0d8;font-size:13px}.nav nav a:hover{color:var(--orange)}.nav-actions{display:flex;align-items:center;gap:12px}.ghost{color:#d9e1e8;font-weight:700;font-size:13px}.cta,.outline{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:14px 20px;border-radius:999px;font-weight:800;font-size:14px;transition:.2s ease}.cta{background:linear-gradient(135deg,var(--orange),#ff9b3d);color:#120805;box-shadow:0 16px 45px #ff5a0035}.outline{border:1px solid #ffffff2a;color:var(--text);background:#ffffff08}.cta:hover,.outline:hover{transform:translateY(-2px)}.small{min-height:42px;padding:10px 16px;font-size:12px}.menu-button{display:none;background:#ffffff08;border:1px solid #ffffff22;color:#fff;border-radius:12px;width:42px;height:42px}.hero{position:relative;min-height:calc(100vh - 82px);overflow:hidden;display:grid;align-items:center}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,#070a0df0 0%,#070a0dbd 44%,#070a0d54),url('/brand/upmora-hero-wide.jpg') center/cover no-repeat;transform:scale(1.03)}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 80%,#ff5a002e,transparent 31%),linear-gradient(140deg,transparent 0 55%,#ff4b0014 56%,transparent 64%)}.glow{position:absolute;border-radius:50%;filter:blur(50px);opacity:.55}.glow-a{width:240px;height:240px;background:#ff5a00;left:20%;top:20%}.glow-b{width:180px;height:180px;background:#9cff57;right:20%;bottom:12%;opacity:.18}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) 420px;gap:70px;align-items:center;padding:80px 0}.eyebrow{display:inline-flex;align-items:center;width:max-content;border:1px solid #ff6b18aa;color:var(--orange);border-radius:999px;padding:7px 14px;background:#ff6b1815;font-size:11px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}.hero h1,.section h2,.final-cta h2{font-family:Jakarta,sans-serif;font-size:clamp(46px,6vw,86px);line-height:1.02;letter-spacing:-4px;margin:24px 0}.hero p{font-size:19px;color:#d0d9e1;max-width:680px}.hero-actions{display:flex;gap:14px;margin:34px 0}.audience-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.audience-strip span{padding:9px 13px;border:1px solid #ffffff18;border-radius:999px;background:#ffffff08;color:#d9e1e8;font-size:12px}.hero-panel{background:linear-gradient(180deg,#111a22e8,#0b1117e8);border:1px solid #ffffff1c;border-radius:28px;padding:24px;box-shadow:0 30px 90px #0008;backdrop-filter:blur(12px)}.panel-top{display:flex;align-items:center;gap:12px}.panel-top img{width:42px}.panel-top span{font-weight:800}.panel-top b{margin-left:auto;color:var(--green);font-size:11px;text-transform:uppercase}.metric-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}.metric-row div{border-radius:18px;background:#ffffff09;border:1px solid #ffffff10;padding:18px}.metric-row strong{display:block;font:800 30px Jakarta;color:#fff}.metric-row span{color:var(--muted);font-size:12px}.pipeline{display:grid;gap:12px}.pipeline span{height:12px;border-radius:999px;background:linear-gradient(90deg,var(--orange),#ffb65f);width:var(--w);box-shadow:0 0 25px #ff6b1840}.next-card{margin-top:28px;border-radius:22px;background:#ff6b1812;border:1px solid #ff6b1844;padding:20px}.next-card small{color:var(--orange);text-transform:uppercase;font-weight:900}.next-card strong{display:block;margin:8px 0;font-size:20px}.next-card em{font-style:normal;color:var(--muted)}.section{position:relative;padding:105px 0;background:var(--bg)}.section:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 0,#ff6b1814,transparent 30%),radial-gradient(circle at 90% 70%,#91d8ff0c,transparent 25%)}.section>.container{position:relative}.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.section h2{font-size:clamp(34px,4.4vw,62px);letter-spacing:-3px}.section p{color:var(--muted);font-size:17px}.problem-grid,.feature-grid,.target-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.problem-grid article,.feature-grid article,.target-grid article,.diff-list li,.steps-line article,.demo li{background:linear-gradient(180deg,#121b24d9,#0d131ad9);border:1px solid #ffffff14;border-radius:24px;padding:24px;box-shadow:inset 0 1px #ffffff0d}.problem-grid b,.feature-grid span{color:var(--orange);font-size:12px;text-transform:uppercase;letter-spacing:1px}.problem-grid h3,.feature-grid h3,.target-grid h3{font:800 22px Jakarta;margin:10px 0}.problem-grid p,.feature-grid p,.target-grid p{font-size:14px}.solution{background:#0b0f13}.solution-grid{display:grid;grid-template-columns:360px 1fr;gap:80px;align-items:center}.phone-preview{border-radius:34px;overflow:hidden;border:1px solid #ffffff18;box-shadow:0 30px 100px #000b;max-height:520px}.phone-preview img{width:100%;height:100%;object-fit:cover}.quote{margin-top:30px;padding:24px;border-left:4px solid var(--orange);background:#ffffff08;border-radius:0 18px 18px 0;font:800 24px Jakarta}.section-head{max-width:820px;margin-bottom:36px}.feature-grid{grid-template-columns:repeat(4,1fr)}.feature-grid article{min-height:220px}.differentials{background:linear-gradient(180deg,#070a0d,#0e141b)}.diff-list{display:grid;grid-template-columns:1fr 1fr;gap:13px;list-style:none;padding:0;margin:0}.diff-list li{position:relative;padding-left:48px;font-weight:800}.diff-list li:before{content:"✓";position:absolute;left:20px;color:var(--green)}.target-grid{grid-template-columns:repeat(5,1fr)}.target-grid article{min-height:210px}.steps{background:#0b0f13}.steps-line{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:34px}.steps-line b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--orange);color:#111;font:900 20px Jakarta}.steps-line h3{font:800 20px Jakarta}.demo-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.demo ol{display:grid;gap:12px;margin:0;padding:0;list-style:none}.demo li{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center}.demo li b{font:800 18px Jakarta;color:#fff}.demo li span{color:var(--muted)}.final-cta{padding:110px 0;background:linear-gradient(90deg,#070a0df2,#070a0dbc),url('/brand/upmora-hero-wide.jpg') center/cover fixed;color:#fff}.final-grid{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}.final-actions{display:flex;gap:14px;flex-wrap:wrap}footer{padding:32px 0;background:#05080a;border-top:1px solid #ffffff12}.footer-grid{display:flex;align-items:center;justify-content:space-between;color:var(--muted)}@media(max-width:980px){.nav nav{display:none;position:absolute;top:82px;left:0;right:0;background:#070a0df4;padding:18px 28px;border-bottom:1px solid #ffffff12}.nav nav.open{display:grid}.menu-button{display:block}.ghost{display:none}.hero-grid,.two-col,.solution-grid,.demo-grid,.final-grid{grid-template-columns:1fr}.hero-grid{gap:30px}.hero-panel{max-width:520px}.feature-grid,.target-grid{grid-template-columns:repeat(2,1fr)}.steps-line{grid-template-columns:1fr 1fr}.solution-grid{gap:35px}.phone-preview{max-width:300px}.footer-grid{align-items:flex-start;gap:20px;flex-direction:column}}@media(max-width:620px){.container{width:calc(100% - 32px)}.nav{height:74px}.brand span{font-size:20px}.brand small{font-size:6px}.nav-actions .cta{display:none}.hero{min-height:auto}.hero-grid{padding:64px 0}.hero h1{font-size:46px;letter-spacing:-2px}.hero p,.section p{font-size:15px}.hero-actions,.final-actions{flex-direction:column}.cta,.outline{width:100%}.section{padding:70px 0}.section h2{font-size:36px;letter-spacing:-1.5px}.problem-grid,.feature-grid,.target-grid,.diff-list,.steps-line{grid-template-columns:1fr}.demo li{grid-template-columns:1fr}.metric-row{grid-template-columns:1fr}.audience-strip span{font-size:11px}.final-cta{background-attachment:scroll}}

/* Efeitos visuais premium da landing. */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -3;
  background:
    radial-gradient(circle at 18% 20%, rgba(244,122,53,.22), transparent 22rem),
    radial-gradient(circle at 88% 12%, rgba(255,176,122,.14), transparent 20rem),
    radial-gradient(circle at 70% 82%, rgba(244,122,53,.18), transparent 26rem),
    #07090b;
  animation: ambientGlow 12s ease-in-out infinite alternate;
}
body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -2;
  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: 58px 58px;
  mask-image: radial-gradient(circle at 50% 18%, #000 0%, transparent 72%);
}
.hero::before,
.hero::after {
  content: '';
  position: absolute;
  pointer-events: none;
  border-radius: 999px;
  filter: blur(34px);
  opacity: .8;
}
.hero::before {
  width: 260px;
  height: 260px;
  left: 48%;
  top: 16%;
  background: rgba(244,122,53,.2);
  animation: floatOrb 9s ease-in-out infinite;
}
.hero::after {
  width: 180px;
  height: 180px;
  right: 8%;
  bottom: 18%;
  background: rgba(255,176,122,.16);
  animation: floatOrb 11s ease-in-out infinite reverse;
}
.hero-bg {
  transform: scale(1.03);
  animation: heroPulse 14s ease-in-out infinite alternate;
}
.nav {
  box-shadow: 0 1px 0 rgba(255,255,255,.06), 0 18px 55px rgba(0,0,0,.28);
}
.nav::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(244,122,53,.75), transparent);
  opacity: .85;
}
.brand img,
.panel-top img {
  filter: drop-shadow(0 0 18px rgba(244,122,53,.45));
}
.cta {
  position: relative;
  overflow: hidden;
  box-shadow: 0 18px 38px rgba(244,122,53,.28), inset 0 1px 0 rgba(255,255,255,.28);
}
.cta::before {
  content: '';
  position: absolute;
  inset: -80% auto -80% -55%;
  width: 42%;
  transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  animation: buttonShine 3.8s ease-in-out infinite;
}
.outline,
.ghost,
.problem-grid article,
.feature-grid article,
.target-grid article,
.hero-panel,
.phone-preview,
.diff-list li,
.steps-line article,
.demo ol li {
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.outline:hover,
.ghost:hover,
.problem-grid article:hover,
.feature-grid article:hover,
.target-grid article:hover,
.diff-list li:hover,
.steps-line article:hover,
.demo ol li:hover {
  transform: translateY(-4px);
  border-color: rgba(244,122,53,.55);
  box-shadow: 0 18px 55px rgba(0,0,0,.22), 0 0 0 1px rgba(244,122,53,.08);
}
.hero-panel {
  transform-style: preserve-3d;
  animation: panelFloat 6s ease-in-out infinite;
}
.hero-panel::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(244,122,53,.8), rgba(255,255,255,.12), rgba(255,176,122,.45));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.pipeline span {
  position: relative;
  overflow: hidden;
}
.pipeline span::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  animation: lineSweep 2.5s ease-in-out infinite;
}
.phone-preview {
  position: relative;
  overflow: hidden;
}
.phone-preview::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 20%, rgba(255,255,255,.16), transparent 48%);
  transform: translateX(-100%);
  animation: glassSweep 5s ease-in-out infinite;
}
.section {
  position: relative;
}
.section::before {
  content: '';
  position: absolute;
  left: max(20px, calc((100vw - 1180px) / 2));
  top: 0;
  width: 120px;
  height: 1px;
  background: linear-gradient(90deg, rgba(244,122,53,.85), transparent);
}
.feature-grid article,
.problem-grid article,
.target-grid article,
.demo ol li,
.steps-line article {
  background-image: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  backdrop-filter: blur(14px);
}
.diff-list li::before {
  box-shadow: 0 0 20px rgba(244,122,53,.35);
}
.final-cta {
  position: relative;
  overflow: hidden;
}
.final-cta::before {
  content: '';
  position: absolute;
  width: 420px;
  height: 420px;
  right: -120px;
  top: -180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(244,122,53,.32), transparent 68%);
  filter: blur(8px);
  animation: floatOrb 10s ease-in-out infinite;
}
@keyframes ambientGlow {
  from { filter: saturate(1) brightness(1); transform: scale(1); }
  to { filter: saturate(1.2) brightness(1.08); transform: scale(1.02); }
}
@keyframes heroPulse {
  from { transform: scale(1.03) translate3d(0,0,0); opacity: .52; }
  to { transform: scale(1.09) translate3d(-1.5%, -1%, 0); opacity: .68; }
}
@keyframes floatOrb {
  0%,100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(22px,-24px,0) scale(1.08); }
}
@keyframes panelFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
@keyframes buttonShine {
  0%, 42% { transform: translateX(0) rotate(18deg); opacity: 0; }
  55% { opacity: .9; }
  100% { transform: translateX(420%) rotate(18deg); opacity: 0; }
}
@keyframes lineSweep {
  from { transform: translateX(-100%); }
  to { transform: translateX(140%); }
}
@keyframes glassSweep {
  0%, 45% { transform: translateX(-100%); opacity: 0; }
  55% { opacity: .85; }
  100% { transform: translateX(100%); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Animações de entrada e interação. */
.reveal {
  opacity: 0;
  transform: translateY(28px) scale(.985);
  transition: opacity .38s ease, transform .46s cubic-bezier(.16, 1, .3, 1);
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.hero-copy .reveal,
.hero-panel.reveal {
  transition-duration: .46s;
}
.hero-panel {
  will-change: transform;
}
.feature-grid article::before,
.problem-grid article::before,
.target-grid article::before,
.steps-line article::before,
.demo ol li::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 0%), rgba(244,122,53,.18), transparent 42%);
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}
.feature-grid article:hover::before,
.problem-grid article:hover::before,
.target-grid article:hover::before,
.steps-line article:hover::before,
.demo ol li:hover::before {
  opacity: 1;
}
.feature-grid article,
.problem-grid article,
.target-grid article,
.steps-line article,
.demo ol li {
  position: relative;
  overflow: hidden;
}
.audience-strip span {
  animation: chipPulse 5s ease-in-out infinite;
  animation-delay: calc(var(--i, 0) * .22s);
}
.audience-strip span:nth-child(1) { --i: 0; }
.audience-strip span:nth-child(2) { --i: 1; }
.audience-strip span:nth-child(3) { --i: 2; }
.audience-strip span:nth-child(4) { --i: 3; }
.audience-strip span:nth-child(5) { --i: 4; }
@keyframes chipPulse {
  0%, 100% { border-color: rgba(255,255,255,.12); box-shadow: none; }
  50% { border-color: rgba(244,122,53,.6); box-shadow: 0 0 22px rgba(244,122,53,.18); }
}
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
}
