/* web/glassTheme.css — landing page only. Quiz screens stay on app.css. */

body:has(#view-landing:not([hidden]))::before {
  background:
    radial-gradient(ellipse 46% 38% at 8% 0%, rgba(221, 195, 195, 0.42), transparent 68%),
    radial-gradient(ellipse 42% 36% at 100% 8%, rgba(163, 118, 162, 0.55), transparent 66%),
    radial-gradient(ellipse 40% 34% at 80% 100%, rgba(141, 95, 140, 0.45), transparent 70%),
    radial-gradient(ellipse 36% 30% at 0% 90%, rgba(107, 63, 105, 0.85), transparent 68%),
    linear-gradient(165deg, #3a2240 0%, #1a101c 55%, #241428 100%);
  filter: blur(36px);
}
#view-landing {
  --plum: #6b3f69;
  --mauve: #8d5f8c;
  --orchid: #a376a2;
  --beige: #ddc3c3;
  --ink: #24101c;
  --paper: #f7f1ec;
  --muted: #f0ddd6;
  color: var(--paper);
  background: transparent;
  padding: 0 0 40px;
}
body:has(#view-landing:not([hidden])) .top {
  display: flex;
  width: min(1040px, calc(100% - 40px));
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body:has(#view-landing:not([hidden])) .top .brand,
body:has(#view-landing:not([hidden])) .top button.link {
  color: #f7f1ec;
}
body:has(#view-landing:not([hidden])) main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 720px) {
  body:has(#view-landing:not([hidden])) .top { width: min(100% - 24px, 1040px); }
  body:has(#view-landing:not([hidden])) main { width: 100%; }
}

.land-wrap {
  width: min(1040px, calc(100% - 40px));
  margin: 0 auto;
  padding-top: 8px;
}
#view-landing h1 {
  max-width: 16ch;
  margin: 8px 0 12px;
  color: var(--paper);
  font-size: clamp(2rem, 4.4vw, 3.25rem);
  line-height: 1.08;
}
#view-landing h2 { margin: 0 0 14px; font-size: 1.45rem; color: var(--paper); }
#view-landing h3 { margin: 0 0 8px; font-size: 1.05rem; color: var(--paper); }
#view-landing .lede,
#view-landing .micro,
#view-landing .glass-panel p {
  color: var(--muted);
}
.trust {
  margin: 0;
  color: var(--beige);
  font-weight: 650;
  letter-spacing: 0.01em;
}
.hero { margin-bottom: 36px; }
#view-landing section { margin-bottom: 36px; scroll-margin-top: 24px; }

.pin-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  max-width: 34rem;
  margin-top: 18px;
}
.pin-row label { margin: 0; }
.hero-actions { margin-top: 14px; }
.micro { max-width: 38rem; margin-top: 12px; }

.glass-input {
  width: 100%;
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid rgba(107, 63, 105, 0.45);
  background: var(--beige);
  color: var(--ink);
  padding: 0 14px;
  transform: translateZ(0);
}
.glass-input::placeholder { color: #5c3a52; }
#view-landing label { color: var(--paper); }

.glass-pill {
  min-height: 48px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid rgba(221, 195, 195, 0.55);
  background: var(--beige);
  color: var(--ink);
  font-weight: 750;
  transform: translateZ(0);
}
.glass-pill.quiet {
  background: rgba(36, 16, 32, 0.55);
  color: var(--paper);
  border-color: rgba(163, 118, 162, 0.7);
}
.glass-pill:focus-visible,
.glass-input:focus-visible {
  outline: 2px solid var(--beige);
  outline-offset: 3px;
}

.use-grid,
.step-grid {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.glass-panel {
  background: rgba(28, 14, 28, 0.82);
  border: 1px solid rgba(221, 195, 195, 0.34);
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 0 0 1px rgba(163, 118, 162, 0.08), 0 14px 30px rgba(12, 6, 14, 0.28);
  backdrop-filter: blur(16px) saturate(1.15);
  -webkit-backdrop-filter: blur(16px) saturate(1.15);
  transform: translateZ(0);
}
.glass-panel span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-bottom: 10px;
  border-radius: 50%;
  background: var(--beige);
  color: var(--ink);
  font-weight: 750;
}
#view-landing .site-foot {
  margin-top: 8px;
  padding-top: 16px;
  border-top: 1px solid rgba(221, 195, 195, 0.28);
  color: var(--muted);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .glass-panel { transition: box-shadow 180ms ease; }
  .glass-panel:hover {
    box-shadow: 0 0 0 1px rgba(221, 195, 195, 0.45), 0 16px 36px rgba(163, 118, 162, 0.28);
  }
}

@media (min-width: 800px) {
  .use-grid { grid-template-columns: 1fr 1fr; }
  .step-grid { grid-template-columns: 1fr 1fr 1fr; }
}
@media (min-width: 1100px) {
  .use-grid { grid-template-columns: 1fr 1fr 1fr 1fr; }
}

@media (max-width: 720px) {
  .pin-row { grid-template-columns: 1fr; }
  #view-landing h1 { font-size: 2rem; }
}
