/* Original Gizlen Global layout restoration.
   Re-establishes the opening geometry, section rhythm, and component spacing
   from the supplied beginning-of-chat build while retaining newer content. */

:root {
  --gg-page-max: 1210px;
  --gg-card-pad: clamp(24px, 2.4vw, 32px);
  --gg-card-radius: 22px;
}

body.gg-refined :is(.container, .gg-footer-inner, .gg-nav-row) {
  width: min(calc(100% - 40px), var(--gg-page-max)) !important;
  margin-inline: auto !important;
}

/* The original inner-page opening contract. */
body.gg-design-v2 .page-hero,
body.gg-refined .page-hero {
  padding: clamp(64px, 6vw, 88px) 0 clamp(66px, 6.5vw, 92px) !important;
}

@media (min-width: 981px) {
  body.gg-design-v2 .page-hero,
  body.gg-refined .page-hero,
  body.page-insights .hero,
  body.page-speaking .hero {
    min-height: clamp(600px, calc(100svh - 227px), 840px) !important;
  }

  body.page-home .hero {
    min-height: clamp(646px, calc(100svh - 168px), 930px) !important;
  }
}

body.gg-design-v2 .page-hero > .container,
body.gg-refined .page-hero > .container {
  position: relative;
}

body.gg-design-v2 .breadcrumb,
body.gg-refined .breadcrumb {
  margin: 0 0 28px !important;
  color: #9eb0c5 !important;
  font-size: .8rem !important;
  line-height: 1.4 !important;
}

body.gg-design-v2 .page-hero h1,
body.gg-refined .page-hero h1 {
  max-width: 18ch !important;
  margin: 0 0 22px !important;
  font-size: clamp(2.7rem, 5vw, 4.9rem) !important;
  line-height: .99 !important;
  letter-spacing: -.052em !important;
  text-wrap: balance;
}

body.gg-design-v2 .page-hero .lead,
body.gg-refined .page-hero .lead {
  max-width: 720px !important;
  margin: 0 !important;
  color: #c1cddd !important;
  line-height: 1.65 !important;
}

body.gg-design-v2 .page-hero .button-row,
body.gg-refined .page-hero .button-row {
  margin-top: 26px !important;
}

/* Original section and section-heading rhythm. */
body.gg-design-v2 .section,
body.gg-refined .section {
  padding-top: clamp(78px, 6.2vw, 96px) !important;
  padding-bottom: clamp(78px, 6.2vw, 96px) !important;
}

body.gg-design-v2 .section-tight,
body.gg-refined .section-tight {
  padding-top: clamp(54px, 4.6vw, 72px) !important;
  padding-bottom: clamp(54px, 4.6vw, 72px) !important;
}

body.gg-design-v2 .section-head,
body.gg-refined .section-head {
  margin-bottom: clamp(36px, 3.5vw, 48px) !important;
}

body.gg-design-v2 .section-head > :is(.lead, .section-lead),
body.gg-refined .section-head > :is(.lead, .section-lead) {
  max-width: 62ch !important;
  line-height: 1.68 !important;
}

/* Original card geometry. */
body.gg-refined :is(
  .card,
  .offer,
  .result-card,
  .contact-card,
  .form-card,
  .brand-price-card,
  .program-card,
  .home-route-card,
  .home-symptom-panel,
  .plain-language-card
) {
  padding: var(--gg-card-pad) !important;
  border-radius: var(--gg-card-radius) !important;
}

body.gg-refined :is(.card-grid, .offer-grid, .portfolio-grid, .pricing-program-grid) {
  gap: 20px !important;
}

/* Homepage: keep the original two-column placement and compact board rhythm. */
body.page-home .hero {
  padding: clamp(48px, 5vw, 66px) 0 clamp(46px, 4.5vw, 62px) !important;
}

body.page-home .hero-grid {
  grid-template-columns: minmax(0, 1.04fr) minmax(500px, .96fr) !important;
  gap: clamp(42px, 4.25vw, 60px) !important;
  align-items: center !important;
}

body.page-home .hero h1 {
  max-width: none !important;
  margin: 0 0 20px !important;
  font-size: clamp(3rem, 3.65vw, 3.35rem) !important;
  line-height: .98 !important;
  letter-spacing: -.048em !important;
}

body.page-home .hero h1 .hero-line {
  display: block !important;
  white-space: normal !important;
}

body.page-home .hero .lead {
  max-width: 36em !important;
  font-size: clamp(1.03rem, 1.18vw, 1.17rem) !important;
  line-height: 1.62 !important;
}

body.page-home .hero .button-row {
  margin-top: 24px !important;
}

body.page-home .system-board {
  min-height: 0 !important;
  padding: 20px !important;
  border-radius: 24px !important;
}

body.page-home .board-top { margin-bottom: 15px !important; }
body.page-home .flow { gap: 10px !important; }

body.page-home .flow-step {
  min-height: 0 !important;
  padding: 12px 14px 12px 49px !important;
  border-radius: 14px !important;
}

body.page-home .flow-step::before { top: 13px !important; }
body.page-home .flow-step b { font-size: .92rem !important; }
body.page-home .flow-step small { font-size: .79rem !important; line-height: 1.42 !important; }
body.page-home .board-metrics { margin-top: 14px !important; }
body.page-home .metric { padding: 11px !important; }

body.page-home .trust-item {
  min-height: 126px !important;
  padding-block: 22px !important;
  font-size: .85rem !important;
  line-height: 1.55 !important;
}

body.page-home .trust-item * { line-height: 1.55 !important; }

/* Preserve the original editorial and speaking opening positions. */
body.page-insights .hero {
  padding: 92px 0 86px !important;
}

body.page-insights .hero .container {
  display: block !important;
}

body.page-insights .hero-copy {
  max-width: 900px !important;
}

body.page-insights .hero h1 {
  max-width: 18ch !important;
  margin-bottom: 22px !important;
  font-size: clamp(3rem, 5.1vw, 5rem) !important;
}

body.page-speaking .hero {
  padding: clamp(58px, 5vw, 74px) 0 clamp(62px, 5.4vw, 80px) !important;
}

body.page-speaking .hero-two-col {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
  gap: clamp(32px, 4vw, 72px) !important;
  align-items: start !important;
}

body.page-speaking .hero h1 {
  max-width: 24ch !important;
  font-size: clamp(3.1rem, 4.55vw, 4.1rem) !important;
}

body.page-speaking .hero-rail,
body.page-workflow .intent-rail {
  padding: clamp(22px, 2vw, 30px) !important;
  border-radius: 24px !important;
}

/* New authority pages follow the same opening contract without changing it. */
body.page-workflow .intent-hero-grid,
body.media-page .media-hero-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr) !important;
  gap: clamp(2rem, 5vw, 5rem) !important;
  align-items: center !important;
}

body.page-workflow .intent-hero-grid h1,
body.media-page .media-hero-grid h1 {
  max-width: 18ch !important;
}

body.page-workflow .intent-hero-grid h1 {
  max-width: 22ch !important;
  font-size: clamp(3.15rem, 4.15vw, 3.8rem) !important;
}

body.page-workflow .page-hero {
  padding-bottom: 66px !important;
}

/* AI training keeps the original two-column placement, but fits the promise,
   diagram, and actions inside the same first-screen rhythm as the other pages. */
body.page-ai-training .hero {
  min-height: clamp(600px, calc(100svh - 227px), 840px) !important;
  padding: 56px 0 62px !important;
}

body.page-ai-training .hero-grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr) !important;
  gap: 44px !important;
  align-items: center !important;
}

body.page-ai-training .hero h1 {
  max-width: none !important;
  margin-bottom: 16px !important;
  font-size: clamp(3rem, 4.22vw, 3.8rem) !important;
  line-height: 1 !important;
}

body.page-ai-training .hero .lead {
  max-width: 57ch !important;
  font-size: 1rem !important;
  line-height: 1.58 !important;
}

body.page-ai-training .hero .button-row { margin-top: 24px !important; }
body.page-ai-training .system-board { padding: 20px !important; }
body.page-ai-training .system-board .board-top { margin-bottom: 16px !important; }
body.page-ai-training .system-board .flow { gap: 10px !important; }

body.page-ai-training .system-board .flow-step {
  min-height: 0 !important;
  padding: 11px 13px 11px 48px !important;
}

body.page-ai-training .system-board .flow-step b { font-size: .9rem !important; }
body.page-ai-training .system-board .flow-step small { font-size: .78rem !important; line-height: 1.38 !important; }
body.page-ai-training .system-board .board-metrics { margin-top: 14px !important; }
body.page-ai-training .system-board .metric { padding: 11px !important; }

/* A portrait remains supporting evidence, never the dominant layout object. */
body.page-about .founder {
  grid-template-columns: 15rem minmax(0, 1fr) !important;
  gap: clamp(2.5rem, 5vw, 3.6rem) !important;
}

body.page-about .founder-photo {
  display: block !important;
  width: 15rem !important;
  max-width: 15rem !important;
}

@media (max-width: 1120px) {
  body.page-home .hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(440px, .94fr) !important;
    gap: 36px !important;
  }

  body.page-workflow .intent-hero-grid,
  body.media-page .media-hero-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 980px) {
  body.page-home .hero-grid,
  body.page-speaking .hero-two-col,
  body.page-ai-training .hero-grid {
    grid-template-columns: 1fr !important;
  }

  body.page-home .system-board { max-width: 720px !important; }

  body.page-about .founder {
    grid-template-columns: 11rem minmax(0, 1fr) !important;
  }

  body.page-about .founder-photo {
    width: 11rem !important;
    max-width: 11rem !important;
  }
}

@media (max-width: 680px) {
  body.gg-refined :is(.container, .gg-footer-inner, .gg-nav-row) {
    width: min(calc(100% - 28px), var(--gg-page-max)) !important;
  }

  body.gg-design-v2 .page-hero,
  body.gg-refined .page-hero {
    padding: 52px 0 58px !important;
  }

  body.gg-design-v2 .breadcrumb,
  body.gg-refined .breadcrumb {
    margin-bottom: 22px !important;
  }

  body.gg-design-v2 .page-hero h1,
  body.gg-refined .page-hero h1 {
    max-width: none !important;
    margin-bottom: 18px !important;
    font-size: clamp(2.4rem, 11.8vw, 3.45rem) !important;
  }

  body.gg-design-v2 .section,
  body.gg-refined .section {
    padding-top: 68px !important;
    padding-bottom: 68px !important;
  }

  body.gg-design-v2 .section-tight,
  body.gg-refined .section-tight {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  body.gg-design-v2 .section-head,
  body.gg-refined .section-head {
    margin-bottom: 34px !important;
  }

  body.page-home .hero { padding: 48px 0 52px !important; }

  body.page-home .hero h1 {
    font-size: clamp(2.55rem, 11.2vw, 3.15rem) !important;
    line-height: .99 !important;
  }

  body.page-home .system-board { padding: 17px !important; }

  body.page-insights .hero {
    padding: 58px 0 62px !important;
  }

  body.page-ai-training .hero {
    min-height: 0 !important;
    padding: 48px 0 52px !important;
  }

  body.page-ai-training .hero h1 {
    font-size: clamp(2.4rem, 10.4vw, 3rem) !important;
  }

  body.page-insights .hero h1,
  body.page-speaking .hero h1 {
    max-width: none !important;
    font-size: clamp(2.45rem, 11.5vw, 3.35rem) !important;
  }

  body.page-about .founder {
    grid-template-columns: 1fr !important;
  }

  body.page-about .founder-photo {
    width: 9rem !important;
    max-width: 9rem !important;
  }
}
