:root{
  --om-black:#000000;
  --om-primary:#5b2eff;
  --om-secondary:#8a6cff;
  --om-accent:#ffd166;
  --om-surface:#0f0b12;
  --om-text:#ffffff;
  --om-muted:#bdbdbd;
  --om-radius:12px;
}

*,*::before,*::after{box-sizing:border-box;}

html,body{height:100%;}

body.om-body{
  margin:0;
  min-height:100vh;
  min-height:100dvh;
  font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--om-text);
  background-color:var(--om-black);
  background-image:
    radial-gradient(120% 110% at 100% 100%, rgba(91,46,255,.95) 0%, rgba(74,36,214,.75) 26%, rgba(40,18,120,.45) 50%, rgba(0,0,0,0) 78%),
    radial-gradient(90% 80% at 85% 65%, rgba(138,108,255,.35) 0%, rgba(0,0,0,0) 60%),
    linear-gradient(135deg, #000000 0%, #06030f 38%, #240f7a 72%, #5b2eff 100%);
  background-attachment:fixed;
  background-repeat:no-repeat;
  background-size:cover;
  -webkit-font-smoothing:antialiased;
}

/* Acessibilidade: link de salto */
.om-skip{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:100;
  padding:.6rem 1rem;
  background:var(--om-surface);
  color:var(--om-text);
  border-radius:var(--om-radius);
  text-decoration:none;
}
.om-skip:focus{left:1rem;top:1rem;}

/* Estrutura */
.om-shell{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  padding:20px 24px 24px;
}

/* Header */
.om-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  flex:0 0 auto;
}

.om-logo{
  font-size:1.125rem;
  font-weight:700;
  letter-spacing:.2px;
  color:var(--om-muted);
  text-decoration:none;
  padding:.35rem 0;
  transition:color .2s ease;
}
.om-logo:hover,.om-logo:focus-visible{color:#ffffff;}

/* Botão compartilhar */
.om-share{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.7rem 1.15rem;
  font-size:1rem;
  font-weight:500;
  color:#ffffff;
  background-color:rgba(15,11,18,.6);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--om-radius);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:0 8px 24px rgba(0,0,0,.35);
  transition:background-color .2s ease,border-color .2s ease,transform .2s ease;
}
.om-share i{font-size:1.15rem;line-height:1;}
.om-share:hover,.om-share:focus-visible{
  background-color:rgba(91,46,255,.45);
  border-color:rgba(255,255,255,.28);
  transform:translateY(-1px);
}
.om-share.dropdown-toggle::after{margin-left:.15rem;opacity:.6;}
.om-share:focus-visible{outline:2px solid var(--om-accent);outline-offset:3px;}

.om-share-menu{
  --bs-dropdown-bg:rgba(15,11,18,.96);
  --bs-dropdown-border-color:rgba(255,255,255,.12);
  --bs-dropdown-link-color:#e9e6f2;
  --bs-dropdown-link-hover-bg:rgba(91,46,255,.35);
  --bs-dropdown-link-hover-color:#ffffff;
  --bs-dropdown-link-active-bg:var(--om-primary);
  --bs-dropdown-header-color:var(--om-muted);
  border-radius:var(--om-radius);
  box-shadow:0 18px 40px rgba(0,0,0,.5);
  min-width:14rem;
  padding:.4rem;
}
.om-share-menu .dropdown-header{
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:600;
  margin:0;
}
.om-share-menu .dropdown-item{
  display:flex;
  align-items:center;
  gap:.6rem;
  border-radius:8px;
  padding:.55rem .75rem;
  font-size:.95rem;
}

/* Hero */
.om-hero{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:4rem 1rem;
  gap:1.25rem;
}

.om-title{
  margin:0;
  font-weight:700;
  line-height:1.02;
  letter-spacing:-.01em;
  color:#ffffff;
  font-size:clamp(2rem, 9vw, 6rem);
  text-shadow:0 10px 36px rgba(0,0,0,.55), 0 2px 6px rgba(0,0,0,.4);
  animation:om-in .9s cubic-bezier(.22,1,.36,1) both;
}

.om-subtitle{
  margin:0;
  color:var(--om-muted);
  font-size:clamp(.9rem, 2.2vw, 1.25rem);
  font-weight:400;
  max-width:38ch;
  animation:om-in 1.1s .12s cubic-bezier(.22,1,.36,1) both;
}

@keyframes om-in{
  from{opacity:0;transform:translateY(14px) scale(.985);}
  to{opacity:1;transform:none;}
}

/* Footer */
.om-footer{
  flex:0 0 auto;
  text-align:center;
  padding-top:1rem;
}

.om-footer-links{
  margin:0 0 .5rem;
  font-size:.95rem;
  font-weight:600;
}
.om-footer-links a{
  color:var(--om-muted);
  text-decoration:none;
  transition:color .2s ease;
}
.om-footer-links a:hover,.om-footer-links a:focus-visible{color:#ffffff;}

.om-copy{
  margin:0;
  font-size:.9rem;
  color:var(--om-muted);
  opacity:.85;
}

/* Responsivo */
@media (max-width:575.98px){
  .om-shell{padding:16px 16px 20px;}
  .om-logo{font-size:1rem;}
  .om-share{padding:.55rem .85rem;font-size:.9rem;}
  .om-share span{display:none;}
  .om-share i{font-size:1.2rem;}
  .om-hero{padding:3rem .5rem;}
  .om-subtitle{font-size:.95rem;}
  .om-copy{font-size:.8rem;}
}

@media (min-width:1400px){
  .om-shell{padding:24px 40px 32px;}
}

@media (prefers-reduced-motion:reduce){
  .om-title,.om-subtitle{animation:none;}
  *{transition-duration:.01ms !important;}
}
