.ucdm-home { background: radial-gradient(ellipse at 78% 16%, #38215d24, transparent 38%), radial-gradient(ellipse at 0% 36%, #06b6d411, transparent 30%), var(--bg); }
.ucdm-home .nav { min-height: 5.6rem; }
.nav-download { color: var(--text); border: 1px solid #6366f150; border-radius: 999px; padding: .55rem 1rem; background: #6366f115; }
.app-hero { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 3rem; padding: 5.4rem 0 5rem; }
.app-hero h1 { max-width: 13ch; font-size: clamp(2.7rem, 5.5vw, 4.65rem); line-height: 1.12; letter-spacing: -.055em; }
.app-hero .hero-copy { max-width: 35rem; font-size: 1.1rem; line-height: 1.85; color: #b6bfd0; }
.app-hero .eyebrow { font-size: .7rem; letter-spacing: .16em; margin-bottom: 1.6rem; }
.app-hero .actions { align-items: center; gap: 1.6rem; }
.download-button { gap: .9rem; text-align: left; min-height: 3.8rem; border-radius: 1rem; padding: .7rem 1.3rem; }
.download-button small { display: block; font-size: .64rem; font-weight: 500; line-height: 1.1; }
.download-button > span:nth-child(2) { font-size: 1.1rem; line-height: 1.6; }
.play-icon { font-size: 1.4rem; }
.button-arrow { font-size: 1.3rem; margin-left: 1rem; }
.text-link { font-size: .88rem; text-decoration: none; color: #cbd5e1; font-weight: 600; }
.text-link span { margin-left: .7rem; color: var(--cyan); }
.hero-footnote { margin-top: 1.3rem; font-size: .76rem; color: #8b98ae; }
.brand-scene { position: relative; min-height: 29rem; display: flex; justify-content: center; align-items: center; isolation: isolate; }
.brand-scene::before { content: ""; position: absolute; width: 75%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, #2563eb15, #7c3aed0c 60%, transparent 72%); }
.scene-logo { position: absolute; top: -1.6rem; width: min(100%, 29rem); height: auto; filter: drop-shadow(0 0 30px #06b6d40c); }
.scene-orbit { position: absolute; width: 94%; aspect-ratio: 1; border: 1px solid #6366f121; border-radius: 50%; top: .3rem; }
.orbit-two { width: 74%; top: 3rem; border-color: #22d3ee15; }
.scene-caption { position: absolute; bottom: 1.1rem; text-align: center; }
.scene-caption > span { color: #67e8f9; font-size: .65rem; letter-spacing: .18em; text-transform: uppercase; }
.scene-caption p { color: #dbe3f0; font-size: 1.18rem; font-weight: 650; line-height: 1.5; letter-spacing: -.02em; margin: .75rem 0 0; }
.scene-spark { position: absolute; color: #67e8f9; font-size: 1.5rem; }
.spark-one { top: 4rem; right: 1rem; }
.spark-two { left: 0; bottom: 7rem; color: #a78bfa; }
.journey-section { border-top: 1px solid #94a3b816; padding-top: 4rem; }
.section-heading .eyebrow { color: var(--cyan); }
.feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.15rem; }
.feature-card { position: relative; padding: 1.8rem; background: linear-gradient(145deg, #141b2e90, #0d132270); border-color: #94a3b820; }
.feature-number { display: block; font-size: .64rem; color: #67e8f9; letter-spacing: .14em; font-weight: 750; margin-bottom: 2.1rem; }
.feature-number span { color: #475569; margin: 0 .4rem; }
.feature-card:nth-child(2) .feature-number { color: #a5b4fc; }
.feature-card:nth-child(3) .feature-number { color: #c4b5fd; }
.feature-card h3 { font-size: 1.45rem; line-height: 1.25; margin-bottom: 1.1rem; }
.feature-card .muted { font-size: .93rem; color: #abb7ca; line-height: 1.8; }
.feature-tag { display: inline-block; font-size: .7rem; color: #b5c3d8; border-top: 1px solid #94a3b81a; padding-top: 1rem; margin-top: 1rem; width: 100%; }
.invitation-section { padding-top: 0; }
.invitation-card { position: relative; text-align: center; padding: 4.1rem 1.5rem; border-radius: 1.6rem; border: 1px solid #6366f138; background: radial-gradient(ellipse at top, #4f46e51b, transparent 80%), #0d132280; }
.invitation-card h2 { font-size: clamp(2.2rem, 4.2vw, 3.3rem); line-height: 1.17; margin: 0; }
.invitation-card .muted { margin: 1.5rem 0 1.8rem; }
.invitation-card .button { gap: 1.25rem; }
.about-site { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; padding-bottom: 4rem; align-items: start; }
.about-site .eyebrow { font-size: .64rem; }
.about-site h2 { font-size: 1.3rem; margin: 0; }
.about-site > p { font-size: .85rem; margin: 0; color: #94a3b8; }
@media (max-width: 48rem) {
  .ucdm-home .nav { align-items: center; min-height: 4.8rem; }
  .ucdm-home .nav-links { gap: 1rem; }
  .ucdm-home .nav-links a:first-child { display: none; }
  .app-hero { grid-template-columns: 1fr; gap: 1rem; padding: 3.7rem 0 3rem; }
  .app-hero h1 { font-size: clamp(2.7rem, 8.5vw, 4rem); }
  .brand-scene { min-height: 24rem; width: min(100%, 24rem); margin-inline: auto; }
  .scene-logo { top: -1.8rem; }
  .scene-caption { bottom: .5rem; }
  .feature-grid, .about-site { grid-template-columns: 1fr; }
  .feature-card { padding: 1.6rem; }
  .feature-number { margin-bottom: 1.4rem; }
  .about-site { gap: 1.2rem; }
}
@media (max-width: 28rem) {
  .ucdm-home .nav-links { gap: .7rem; font-size: .73rem; }
  .nav-download { padding: .45rem .65rem; }
  .app-hero .hero-copy { font-size: 1rem; }
  .app-hero .actions .button { width: auto; }
  .app-hero .actions { gap: 1.15rem; }
  .brand-scene { min-height: 22rem; }
  .scene-caption p { font-size: 1.05rem; }
}
