/* --------------------------------------------------------- */
/* GD HOME — MS0 ARCHITECTURE                                */
/* Hero, void, CTA anomaly, fox trace                        */
/* --------------------------------------------------------- */


/* --------------------------------------------- */
/* HERO SECTION (primary GD signature)           */
/* --------------------------------------------- */

.gd-hero {
  background: var(--bone);
  padding-top: var(--space-xl);
  padding-bottom: var(--space-xl);
}



/* --------------------------------------------- */
/* HERO TEXT                                     */
/* --------------------------------------------- */

.gd-hero-title {
  grid-column: 1 / span 4;
  font-size: 56px;
  line-height: 1.05;
  font-weight: 500;
  color: var(--graphite);
}

.gd-hero-sub {
  grid-column: 1 / span 4;
  margin-top: var(--space-m);
  font-size: 20px;
  line-height: 1.4;
  color: var(--graphite);
}


/* --------------------------------------------- */
/* VOID + FOX TRACE                              */
/* --------------------------------------------- */

.gd-hero-void {
  grid-column: 5 / -1;
  position: relative;
}

/* Fox Trace — emotional atmospheric presence */
.gd-fox-trace {
  position: absolute;
  top: 22%;
  left: 58%;
  width: 200px;
  height: 200px;

  background: var(--fox-base);
  opacity: 0.03;                /* never solid */
  border-radius: 50%;
  pointer-events: none;

  filter: blur(18px);
}


/* --------------------------------------------- */
/* CTA + FOX EVENT (Home v1.0)                   */
/* --------------------------------------------- */

.gd-cta {
  position: relative;
  display: inline-block;
  margin-top: var(--space-m);
  text-decoration: none;
  color: var(--graphite);
  font-size: 18px;
}

/* Underline container */
.gd-cta-underline {
  position: absolute;
  bottom: -2px;
  left: 0;

  width: 100%;
  height: 1px;
  background: var(--fox-04);

  transform: translateX(0);
  transition: transform 0s linear; /* mandatory — no easing */
}


/* ----------------------------- */
/* FOX EVENT — CTA Underline     */
/* micro-misalignment anomaly     */
/* ----------------------------- */

.gd-cta:hover .gd-cta-underline {
  transform: translateX(1px); /* 1px Fox anomaly */
  transition: transform 0s linear;
}

/* Correction occurs when hover stops */
.gd-cta .gd-cta-underline {
  transition: transform 0s linear;
}


/* --------------------------------------------- */
/* RESPONSIVE                                     */
/* --------------------------------------------- */

@media (max-width: 680px) {

  /* Disable Fox anomaly on mobile */
  .gd-cta:hover .gd-cta-underline {
    transform: translateX(0);
  }

  .gd-hero-title {
    font-size: 42px;
    line-height: 1.1;
  }

  .gd-hero-inner {
    padding-left: var(--space-m);
    padding-right: var(--space-m);
  }
}

.gd-hero {
  background: var(--bone);
  padding: 0; /* remove excess vertical space */
  margin: 0;
}

.gd-hero-inner {
  max-width: 1200px;
  margin: 0 auto;

  /* vertical spacing – MS0 calibrated */
  padding-top: 14vh;   /* light breathing room */
  padding-bottom: 8vh; /* trimmed down */

  padding-left: var(--space-l);
  padding-right: var(--space-l);

  display: grid;
  grid-template-columns: repeat(12, 1fr);
  align-items: start;    /* important */
}

.gd-section {
  padding-top: var(--space-xl);
  padding-bottom: var(--space-xl);
}

.gd-home > *:first-child {
  margin-bottom: 0;
}

/* MS0 — Section spacing calibration */
.gd-section {
  padding-top: calc(var(--space-xl) * 1.4); /* bump section down */
  padding-bottom: var(--space-xl);
}

/* Prevent margin collapse between hero and next section */
.gd-hero + .gd-section {
  margin-top: var(--space-l);
}

/* MS0 — Footer typography + spacing correction */
.gd-footer {
  background: var(--bone);
  padding-top: var(--space-l);
  padding-bottom: var(--space-l);
  border-top: 1px solid rgba(0,0,0,0.06); /* ultra-light structure line */
}

.gd-footer p {
  margin: 0 0 var(--space-s) 0;
  font-size: 14px;
  line-height: 1.4;
  color: var(--graphite);
  opacity: 0.85; /* subtle hierarchy */
  text-align: center;
}

.gd-footer-nav {
  display: flex;
  justify-content: center;
  gap: var(--space-m);
}

.gd-footer-nav a {
  font-size: 14px;
  line-height: 1.4;
  color: var(--graphite);
  text-decoration: none;
  opacity: 0.9;
}

.gd-footer-nav a:hover {
  opacity: 1;
}
/* MS0 — Typography rhythm inside sections */
.gd-section h2 {
  margin-bottom: var(--space-s); /* adds controlled breathing room */
  line-height: 1.25; /* keeps it tight but elegant */
}

.gd-section p {
  margin-top: var(--space-xxs);
  margin-bottom: 0;
  line-height: 1.5; /* readable but refined */
}

/* --------------------------------------------------------- */
/* LAUNCH ANNOUNCEMENT SECTION                               */
/* Add this to gd-home.css at the bottom                    */
/* --------------------------------------------------------- */

.gd-launch {
    background: var(--bone);
    padding: var(--space-xl) var(--space-l);
    text-align: center;
    border-top: 1px solid color-mix(in srgb, var(--graphite) 6%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--graphite) 6%, transparent);
}

.gd-launch-content {
    max-width: 680px;
    margin: 0 auto;
}

.gd-launch h2 {
    font-size: 42px;
    font-weight: 500;
    margin-bottom: var(--space-m);
    line-height: 1.1;
}

.gd-launch p {
    font-size: 18px;
    line-height: 1.6;
    color: var(--graphite);
    margin-bottom: var(--space-s);
}

.gd-launch-date {
    display: inline-block;
    margin-top: var(--space-m);
    margin-bottom: var(--space-m);
    padding: var(--space-s) var(--space-m);
    background: transparent;
    color: var(--graphite);
    border: 1px solid var(--graphite);
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 0.5px;
}

.gd-contact {
    margin-top: var(--space-m);
    font-size: 18px;
}

.gd-contact a {
    color: var(--graphite);
    text-decoration: none;
    border-bottom: 1px solid var(--graphite);
    padding-bottom: 2px;
}

.gd-contact a:hover {
    opacity: 0.7;
}

/* Mobile adjustments */
@media (max-width: 680px) {
    .gd-launch h2 {
        font-size: 32px;
    }
    
    .gd-launch-date {
        font-size: 18px;
    }
}

/* MS0 — Section spacing fix */
.gd-section p {
    margin-bottom: var(--space-l);  /* 64px breathing room */
}

.gd-intro {
    margin-bottom: var(--space-l);  /* extra space after intro paragraphs */
}

/* MS0 — Additional section spacing fixes */
.gd-list {
    margin-bottom: var(--space-l);  /* 64px after lists */
}

.gd-intro-title {
    margin-top: var(--space-xl);  /* 96px before headings for strong separation */
}