@import url("/landing.css");

.app-hero {
  min-height: 790px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, 0.72fr);
  align-items: center;
  gap: clamp(54px, 8vw, 110px);
  padding-block: clamp(72px, 9vw, 122px);
  overflow: hidden;
}

.app-hero-copy { position: relative; z-index: 2; }
.app-hero h1 { max-width: 800px; margin-bottom: 28px; font-size: clamp(3.7rem, 6.5vw, 6.7rem); line-height: 0.98; letter-spacing: -0.065em; }
.app-hero h1 em { color: var(--cyan); font-style: normal; }
.app-lede { max-width: 650px; color: var(--soft); font-size: clamp(1.08rem, 1.6vw, 1.35rem); }
.fact-row { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.fact-row span { padding: 8px 13px; border: 1px solid var(--line); border-radius: 999px; color: var(--soft); background: rgba(255, 255, 255, 0.035); font-size: 0.8rem; font-weight: 750; }

.app-phone { width: min(340px, 76vw); margin: 0 auto; padding: 7px; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 42px; background: #06080c; box-shadow: 0 32px 80px rgba(0, 0, 0, 0.5); overflow: hidden; }
.app-phone img { width: 100%; border-radius: 35px; }
.app-phone-hero { position: relative; transform: rotate(2deg); }
.app-phone-hero::before { content: ""; position: absolute; z-index: -1; inset: 12% -30%; border-radius: 50%; background: radial-gradient(circle, rgba(103, 217, 244, 0.25), rgba(128, 170, 255, 0.08) 48%, transparent 72%); filter: blur(18px); }

.app-section { padding-block: clamp(80px, 10vw, 128px); }
.feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.feature-grid article { min-height: 310px; padding: clamp(28px, 4vw, 42px); border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, rgba(255,255,255,0.055), rgba(255,255,255,0.018)); }
.feature-number { color: var(--cyan); font-size: 0.78rem; font-weight: 850; letter-spacing: 0.12em; }
.feature-grid h3 { margin: 44px 0 14px; font-size: clamp(1.55rem, 2.8vw, 2.45rem); line-height: 1.08; letter-spacing: -0.04em; }
.feature-grid p, .app-product-copy > p { color: var(--soft); }

.app-product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 0.7fr); align-items: center; gap: clamp(60px, 10vw, 140px); }
.app-product-reverse .app-product-copy { order: 2; }
.app-product-reverse .app-phone { order: 1; }
.app-product h2, .safety-panel h2 { margin-bottom: 24px; font-size: clamp(2.7rem, 5vw, 5rem); line-height: 1.02; letter-spacing: -0.055em; }
.plain-list { display: grid; gap: 13px; margin: 28px 0; padding-left: 1.25rem; color: var(--soft); }
.plain-list li::marker { color: var(--cyan); }
.boundary-note { padding: 20px 22px; border-left: 3px solid var(--violet); background: rgba(255,255,255,0.025); color: var(--muted) !important; font-size: 0.9rem; }

.safety-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 0.8fr); gap: clamp(42px, 8vw, 100px); padding: clamp(32px, 6vw, 68px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: radial-gradient(circle at 88% 18%, rgba(103, 217, 244, 0.13), transparent 27%), linear-gradient(145deg, #151d2a, #101620); box-shadow: var(--shadow); }
.safety-panel p { color: var(--soft); }
.resource-links { display: grid; gap: 8px; margin-top: 24px; }
.resource-links a { display: flex; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid var(--line); color: var(--text); font-weight: 750; }
.resource-links a:hover { color: var(--cyan); }

@media (max-width: 960px) {
  .app-hero, .app-product, .safety-panel { grid-template-columns: 1fr; }
  .app-hero { text-align: center; }
  .app-hero-copy { display: grid; justify-items: center; }
  .app-product-reverse .app-product-copy, .app-product-reverse .app-phone { order: initial; }
}

@media (max-width: 680px) {
  .app-hero { min-height: auto; padding-block: 70px 82px; }
  .app-hero h1 { font-size: clamp(3.1rem, 15vw, 4.8rem); }
  .app-phone { width: min(290px, 76vw); }
  .feature-grid { grid-template-columns: 1fr; }
  .feature-grid article { min-height: 270px; }
  .app-section { padding-block: 76px; }
  .safety-panel { padding: 28px 24px; }
}
