30 CSS Hero Sections

Conic Orbit Hero

Solar-corona conic gradient ring orbits the headline using <code>@property</code> animatable angle. Gold and ember orange on jet black — the AI / launch treatment with a stellar feel.

Pure CSS MIT licensed
Live Demo Open in tab
Open in playground

The code

<section class="hs-orb" aria-label="Hero">
  <div class="hs-orb-stage">
    <div class="hs-orb-ring" aria-hidden="true"></div>
    <div class="hs-orb-core" aria-hidden="true"></div>
  </div>
  <div class="hs-orb-inner">
    <span class="hs-orb-eye">solar v3</span>
    <h2>Compute that <em>moves at the speed of light.</em></h2>
    <p>The new generation of inference cards. 3× the throughput. Half the heat.</p>
    <a class="hs-orb-cta" href="#preorder">Pre-order →</a>
  </div>
</section>
@property --hs-orb-a {
  syntax: '<angle>'; initial-value: 0deg; inherits: false;
}
.hs-orb {
  position: relative; overflow: hidden;
  display: grid; grid-template-columns: 1fr 1fr;
  width: 100%; min-height: 480px;
  padding: clamp(28px, 5vw, 56px);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  background: #0a0805;
  font-family: 'Inter', system-ui, sans-serif;
  color: #f8e8c8;
  box-sizing: border-box;
}
.hs-orb-stage {
  position: relative;
  height: 100%; min-height: 320px;
  display: grid; place-items: center;
}
.hs-orb-ring {
  width: 320px; height: 320px;
  border-radius: 50%;
  background:
    conic-gradient(from var(--hs-orb-a),
      #f8d248, #ff6b1a, #d63a18, #ff6b1a, #f8d248);
  filter: blur(8px);
  animation: hs-orb-spin 12s linear infinite;
  -webkit-mask: radial-gradient(circle, transparent 96px, #000 100px, #000 158px, transparent 162px);
          mask: radial-gradient(circle, transparent 96px, #000 100px, #000 158px, transparent 162px);
}
.hs-orb-core {
  position: absolute;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, #ff6b1a 0%, #d63a18 50%, #6b1a08 100%);
  box-shadow: 0 0 80px rgba(255,107,26,0.4);
}
@keyframes hs-orb-spin { to { --hs-orb-a: 360deg; } }
.hs-orb-inner { position: relative; z-index: 1; }
.hs-orb-eye {
  display: inline-block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11.5px; letter-spacing: 0.16em;
  color: #f8d248; padding: 4px 12px;
  background: rgba(248,210,72,0.12);
  border: 1px solid rgba(248,210,72,0.4);
  border-radius: 999px;
  margin-bottom: 18px;
}
.hs-orb h2 {
  margin: 0 0 16px;
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 800; letter-spacing: -0.025em; line-height: 1.1;
  color: #f8e8c8;
  word-wrap: break-word;
}
.hs-orb h2 em {
  background: linear-gradient(90deg, #f8d248, #ff6b1a);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  font-style: italic;
  display: inline-block;
}
.hs-orb p { margin: 0 0 26px; font-size: 16px; line-height: 1.55; color: #b89878; max-width: 420px; }
.hs-orb-cta {
  display: inline-block; padding: 13px 26px;
  background: linear-gradient(135deg, #ff6b1a, #d63a18);
  color: #0a0805; border-radius: 999px;
  text-decoration: none; font-weight: 800; font-size: 14.5px;
  box-shadow: 0 14px 36px rgba(255,107,26,0.35);
  transition: transform 0.15s;
}
.hs-orb-cta:hover { transform: translateY(-1px); }
@media (max-width: 720px) {
  .hs-orb { grid-template-columns: 1fr; }
  .hs-orb-ring, .hs-orb-core { width: 200px; height: 200px; }
  .hs-orb-core { width: 130px; height: 130px; }
  .hs-orb-ring { -webkit-mask: radial-gradient(circle, transparent 60px, #000 64px, #000 98px, transparent 102px); mask: radial-gradient(circle, transparent 60px, #000 64px, #000 98px, transparent 102px); }
}
@media (prefers-reduced-motion: reduce) {
  .hs-orb-ring { animation: none; }
  .hs-orb-cta { transition: none; }
}

Search CodeFronts

Loading…