/* CEG Visual Identity Application
   Computational refinement only: typography, measure, logo proportion,
   vertical rhythm, whitespace, and hero equilibrium.

   This file intentionally follows site.v1.1.visual.css and does not introduce
   a new aesthetic direction, new copy, new navigation, new commerce behavior,
   new analytics, or new forms. */

:root {
  --ceg-hero-measure: min(620px, 54vw);
  --ceg-hero-heading-measure: 14.5ch;
  --ceg-page-hero-heading-measure: 18ch;
  --ceg-hero-headline: clamp(2.55rem, 3.75vw, 3.85rem);
  --ceg-page-headline: clamp(2.45rem, 3.55vw, 3.75rem);
  --ceg-hero-logo-size: min(29vw, 320px);
  --ceg-hero-logo-offset: max(5vw, calc((100% - var(--max)) / 2 + 18px));
  --ceg-hero-cta-gap: 0.86rem;
  --ceg-section-heading-measure: 20ch;
  --ceg-headline-compact-measure: 12.5ch;
  --ceg-headline-standard-measure: 15.25ch;
  --ceg-headline-wide-measure: 18.75ch;
  --ceg-logo-compact-scale: min(22vw, 220px);
  --ceg-logo-standard-scale: min(24vw, 260px);
  --ceg-logo-wide-scale: min(18vw, 205px);
  --ceg-logo-wide-offset-x: max(2vw, calc((100% - var(--max)) / 2 - 90px));
  --ceg-logo-compact-offset-y: 24%;
  --ceg-logo-standard-offset-y: 23%;
  --ceg-logo-wide-offset-y: 25%;
  --ceg-hero-support-gap: 1rem;
  --ceg-hero-next-gap: 2.2rem;
  --ceg-section-continuity-padding: 5.35rem;
  --ceg-transaction-card-measure: min(520px, 100%);
  --ceg-transaction-card-padding: 1.3rem;
}

.hero h1,
.hero .product-name {
  max-width: var(--ceg-page-hero-heading-measure);
  font-size: var(--ceg-page-headline);
  line-height: 1.06;
  letter-spacing: -0.048em;
  text-wrap: balance;
}

.hero-copy-block {
  width: var(--ceg-hero-measure);
}

.hero-copy-block h1 {
  max-width: var(--ceg-hero-heading-measure);
  font-size: var(--ceg-hero-headline);
  line-height: 1.06;
  letter-spacing: -0.048em;
  text-wrap: balance;
}

.hero::before,
.hero-art {
  right: var(--ceg-hero-logo-offset);
  top: 22%;
  width: var(--ceg-hero-logo-size);
}

.hero .lead {
  max-width: 34rem;
}

.hero-actions {
  gap: var(--ceg-hero-cta-gap);
  margin-top: 1.75rem;
}

[data-ceg-headline="compact"] h1,
[data-ceg-headline="compact"] .product-name {
  max-width: var(--ceg-headline-compact-measure);
}

[data-ceg-headline="standard"] h1,
[data-ceg-headline="standard"] .product-name {
  max-width: var(--ceg-headline-standard-measure);
}

[data-ceg-headline="wide"] h1,
[data-ceg-headline="wide"] .product-name {
  max-width: var(--ceg-headline-wide-measure);
}

[data-ceg-headline="compact"]::before,
[data-ceg-headline="compact"] .hero-art {
  top: var(--ceg-logo-compact-offset-y);
  width: var(--ceg-logo-compact-scale);
}

[data-ceg-headline="standard"]::before,
[data-ceg-headline="standard"] .hero-art {
  top: var(--ceg-logo-standard-offset-y);
  width: var(--ceg-logo-standard-scale);
}

[data-ceg-headline="wide"]::before,
[data-ceg-headline="wide"] .hero-art {
  right: var(--ceg-logo-wide-offset-x);
  top: var(--ceg-logo-wide-offset-y);
  width: var(--ceg-logo-wide-scale);
}

[data-ceg-hero] .lead,
[data-ceg-hero] .hero-copy {
  margin-top: var(--ceg-hero-support-gap);
}

[data-ceg-hero="coreos"] {
  --ceg-page-headline: clamp(2.35rem, 3.25vw, 3.45rem);
  --ceg-hero-support-gap: 0.92rem;
}

[data-ceg-hero="coreos"] .purchase-grid {
  width: var(--ceg-transaction-card-measure);
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin-top: 1.45rem;
}

[data-ceg-hero="coreos"] .purchase-card {
  min-height: 0;
  padding: var(--ceg-transaction-card-padding);
}

[data-ceg-hero="coreos"] .purchase-card > * + * {
  margin-top: 0.72rem;
}

[data-ceg-hero="coreos"] .purchase-price {
  margin: 0.8rem 0;
}

[data-ceg-hero="how-it-works"] {
  --ceg-page-headline: clamp(2.32rem, 3.2vw, 3.4rem);
  --ceg-hero-support-gap: 0.95rem;
}

[data-ceg-hero="about"] {
  --ceg-hero-support-gap: 0.9rem;
}

[data-ceg-hero="home"] {
  --ceg-hero-headline: clamp(2.55rem, 3.55vw, 3.7rem);
}

[data-ceg-transition="light-continuity"] + .difference-section {
  margin-top: 1.15rem;
  padding-top: var(--ceg-section-continuity-padding);
}

[data-ceg-transition="breathing-continuation"] + .section {
  margin-top: 0;
  padding-top: 4.25rem;
  background: linear-gradient(180deg, #0d1721 0%, #0b141d 42%, #08111a 100%);
}

[data-ceg-transition="product-continuation"] + .product-stage {
  margin-top: var(--ceg-hero-next-gap);
}

[data-ceg-transition="form-continuation"] + .section {
  padding-top: 3.1rem;
}

h2 {
  max-width: var(--ceg-section-heading-measure);
  text-wrap: balance;
}

@media (min-width: 1280px) {
  .hero-shell {
    min-height: 630px;
    padding-top: 11.8rem;
  }

  .hero {
    min-height: 600px;
    padding-top: 11rem;
  }
}

@media (max-width: 900px) {
  .hero-copy-block {
    width: min(560px, 64vw);
  }

  .hero-art {
    right: -0.5rem;
    width: min(34vw, 300px);
  }

  [data-ceg-headline="wide"]::before,
  [data-ceg-headline="wide"] .hero-art {
    right: -4rem;
    width: min(24vw, 190px);
  }

  [data-ceg-headline="standard"]::before,
  [data-ceg-headline="standard"] .hero-art {
    width: min(22vw, 190px);
  }

  [data-ceg-headline="compact"]::before,
  [data-ceg-headline="compact"] .hero-art {
    width: min(22vw, 190px);
  }
}

@media (max-width: 700px) {
  :root {
    --ceg-hero-heading-measure: 12.5ch;
    --ceg-page-hero-heading-measure: 12.5ch;
  }

  .hero h1,
  .hero .product-name,
  .hero-copy-block h1 {
    line-height: 1.04;
  }

  [data-ceg-headline="wide"]::before,
  [data-ceg-headline="wide"] .hero-art {
    right: -5.5rem;
    width: min(23vw, 130px);
  }
}
