:root {
  --home-bg: #0b1519;
  --home-surface: #142329;
  --home-primary: #5dc9c6;
  --home-text: #edf4f4;
  --home-muted: #a6b6ba;
  --home-border: rgba(148, 183, 190, 0.2);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--home-text);
  background: var(--home-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}

a { color: inherit; }

.public-home { min-height: 100vh; overflow: hidden; }

.public-home-header,
.public-home-section,
.public-home-footer {
  width: min(100% - 2rem, 72rem);
  margin: 0 auto;
}

.public-home-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 0;
}

.public-home-brand { display: inline-flex; align-items: center; gap: .75rem; font-weight: 800; letter-spacing: -.02em; text-decoration: none; }
.public-home-brand img { width: 2.75rem; height: 2.75rem; border-radius: .85rem; object-fit: cover; }
.public-home-brand small { display: block; color: var(--home-muted); font-size: .75rem; font-weight: 500; }
.public-home-header-link { color: var(--home-muted); font-size: .9rem; text-decoration: none; }
.public-home-header-link:hover { color: var(--home-primary); }

.public-home-hero { position: relative; padding: 4.5rem 0 3rem; }
.public-home-hero::before { content: ""; position: absolute; z-index: -1; width: 32rem; height: 32rem; top: -12rem; right: -10rem; border-radius: 50%; background: rgba(93, 201, 198, .12); filter: blur(8px); }
.public-home-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr); gap: 4rem; align-items: center; }
.public-home-kicker { margin: 0 0 1rem; color: var(--home-primary); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.public-home h1 { max-width: 42rem; margin: 0; font-size: clamp(2.5rem, 6vw, 4.8rem); line-height: 1.04; letter-spacing: -.055em; }
.public-home-lead { max-width: 39rem; margin: 1.5rem 0 0; color: var(--home-muted); font-size: clamp(1.05rem, 2vw, 1.25rem); }
.public-home-actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2rem; }
.public-home-button { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: .75rem 1.15rem; border: 1px solid transparent; border-radius: .75rem; font-weight: 750; text-decoration: none; transition: transform .18s ease, background .18s ease; }
.public-home-button:hover { transform: translateY(-2px); }
.public-home-button-primary { color: #092025; background: var(--home-primary); }
.public-home-button-secondary { color: var(--home-text); border-color: var(--home-border); background: rgba(20, 35, 41, .7); }
.public-home-note { margin: 1rem 0 0; color: var(--home-muted); font-size: .85rem; }

.public-home-product-preview { max-width: 29rem; margin: auto; }
.public-home-product-screen { padding: 1.1rem; border: 1px solid var(--home-border); border-radius: 1.35rem; background: linear-gradient(155deg, #1a3038, #0e1b20 68%); box-shadow: 0 2rem 5rem rgba(0, 0, 0, .28); }
.public-home-product-header { display: flex; align-items: center; gap: .65rem; margin-bottom: 1.2rem; }
.public-home-product-header img { width: 2.5rem; height: 2.5rem; border-radius: .7rem; }
.public-home-product-header strong, .public-home-product-header small { display: block; }
.public-home-product-header small { color: var(--home-muted); font-size: .75rem; }
.public-home-product-card { padding: 1.1rem; border: 1px solid var(--home-border); border-radius: 1rem; background: rgba(20, 35, 41, .9); }
.public-home-product-kicker { display: block; margin: 0 0 .5rem; color: var(--home-primary); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.public-home-product-card strong { display: block; font-size: 1.15rem; line-height: 1.25; }
.public-home-product-progress { display: block; margin-top: .9rem; color: var(--home-muted); font-size: .8rem; }
.public-home-product-image { margin-top: .8rem; overflow: hidden; border-radius: .9rem; background: #f8fafa; }
.public-home-product-image img { display: block; width: 100%; height: 11.5rem; object-fit: cover; }
.public-home-product-preview > p { margin: .8rem 0 0; color: var(--home-muted); font-size: .8rem; text-align: center; }

.public-home-section { padding: 4.5rem 0; }
.public-home-section-heading { max-width: 39rem; margin-bottom: 2rem; }
.public-home h2 { margin: 0; font-size: clamp(1.8rem, 4vw, 2.7rem); line-height: 1.1; letter-spacing: -.035em; }
.public-home-section-heading p { margin: .85rem 0 0; color: var(--home-muted); }
.public-home-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.public-home-feature { padding: 1.35rem; border: 1px solid var(--home-border); border-radius: 1rem; background: rgba(20, 35, 41, .72); }
.public-home-feature-icon { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; margin-bottom: 1rem; border-radius: .75rem; color: var(--home-primary); background: rgba(93, 201, 198, .12); font-size: 1.2rem; }
.public-home-feature h3 { margin: 0; font-size: 1.05rem; }
.public-home-feature p { margin: .55rem 0 0; color: var(--home-muted); font-size: .92rem; }

.public-home-download { margin-bottom: 4.5rem; padding: 2rem 2.25rem; border: 1px solid rgba(93, 201, 198, .32); border-radius: 1.35rem; background: linear-gradient(120deg, rgba(93, 201, 198, .16), rgba(20, 35, 41, .85)); }
.public-home-download p { max-width: 42rem; margin: .75rem 0 1.5rem; color: var(--home-muted); }
.public-home-footer { display: flex; justify-content: space-between; gap: 1rem; padding: 1.5rem 0 2rem; border-top: 1px solid var(--home-border); color: var(--home-muted); font-size: .82rem; }
.public-home-footer a { text-decoration: none; }
.public-home-footer a:hover { color: var(--home-primary); }

@media (max-width: 760px) {
  .public-home-header { justify-content: center; padding: .65rem 0; }
  .public-home-brand { gap: .55rem; text-align: center; }
  .public-home-brand img { width: 2.25rem; height: 2.25rem; }
  .public-home-hero { padding: 1.4rem 0 1.25rem; text-align: center; }
  .public-home-hero-grid { grid-template-columns: 1fr; gap: 1.15rem; }
  .public-home-hero-grid > div:first-child { display: flex; flex-direction: column; align-items: center; }
  .public-home-kicker { margin-bottom: .7rem; font-size: .7rem; letter-spacing: .1em; }
  .public-home h1 { max-width: 20.5rem; font-size: clamp(1.9rem, 7vw, 2.4rem); line-height: 1.06; text-wrap: balance; }
  .public-home-lead { max-width: 22rem; margin-top: .8rem; font-size: clamp(.9rem, 3.8vw, .98rem); line-height: 1.38; }
  .public-home-actions { width: 100%; max-width: 23rem; margin-top: 1.2rem; }
  .public-home-button { width: 100%; min-height: 3.35rem; padding: .8rem 1rem; font-size: .93rem; line-height: 1.2; text-align: center; }
  .public-home-note { margin-top: .65rem; font-size: .78rem; }
  .public-home-product-preview { max-width: min(18rem, 82vw); }
  .public-home-product-screen { padding: .75rem; border-radius: 1.1rem; }
  .public-home-product-header { margin-bottom: .8rem; }
  .public-home-product-header img { width: 2.1rem; height: 2.1rem; }
  .public-home-product-card { padding: .85rem; }
  .public-home-product-card strong { font-size: 1rem; }
  .public-home-product-progress { margin-top: .65rem; font-size: .72rem; }
  .public-home-product-image img { height: 6.75rem; }
  .public-home-product-preview > p { max-width: 17rem; margin: .45rem auto 0; font-size: .7rem; line-height: 1.3; }
  .public-home-section { padding: 2.25rem 0; }
  .public-home-section-heading { max-width: 22rem; margin: 0 auto 1.45rem; text-align: center; }
  .public-home h2 { max-width: 20.5rem; margin-right: auto; margin-left: auto; font-size: clamp(1.55rem, 5.4vw, 2rem); line-height: 1.1; text-wrap: balance; }
  .public-home-section-heading p { max-width: 21rem; margin: .65rem auto 0; font-size: clamp(.88rem, 3.7vw, .94rem); line-height: 1.38; }
  .public-home-features { grid-template-columns: 1fr; }
  .public-home-feature { padding: 1rem 1.1rem; }
  .public-home-feature-icon { width: 2.15rem; height: 2.15rem; margin-bottom: .65rem; font-size: 1rem; }
  .public-home-feature h3 { font-size: 1rem; }
  .public-home-feature p { margin-top: .35rem; font-size: clamp(.82rem, 3.4vw, .86rem); line-height: 1.32; }
  .public-home-features { gap: .7rem; }
  .public-home-download { margin-bottom: 2.5rem; padding: 1.5rem 1rem; text-align: center; }
  .public-home-download p { max-width: 21rem; margin: .65rem auto 1.2rem; font-size: clamp(.88rem, 3.7vw, .94rem); line-height: 1.36; }
  .public-home-download .public-home-button { width: 100%; }
  .public-home-footer { flex-direction: column; align-items: center; gap: .35rem; padding: 1rem 0 1.25rem; text-align: center; }
}

@media (max-width: 380px) {
  .public-home-hero { padding-top: 1.1rem; }
  .public-home-product-preview { max-width: 16rem; }
  .public-home-product-image img { height: 5.5rem; }
  .public-home-product-preview > p { display: none; }
  .public-home h1 { max-width: 19rem; font-size: clamp(1.8rem, 7vw, 2rem); }
  .public-home-lead { max-width: 20rem; font-size: clamp(.88rem, 3.8vw, .93rem); }
  .public-home-download .public-home-button { width: calc(100% - 1rem); margin-right: auto; margin-left: auto; }
}
