/* Gizlen Global — final premium layout contract.
   Content-driven openings, balanced proof rails, restrained portraits,
   consistent section rhythm, and reliable desktop/mobile composition. */

:root {
  --gg-premium-max: 1210px;
  --gg-premium-gutter: clamp(20px, 3vw, 34px);
  --gg-premium-section: clamp(72px, 6.2vw, 96px);
  --gg-premium-tight: clamp(54px, 4.5vw, 72px);
  --gg-premium-radius: 22px;
  --gg-premium-line-dark: rgba(145, 178, 204, .23);
  --gg-premium-panel-dark: linear-gradient(145deg, rgba(29, 54, 77, .94), rgba(12, 34, 53, .98));
}

html { scroll-padding-top: 112px; }

body.gg-refined :is(.container, .gg-footer-inner, .gg-nav-row) {
  width: min(calc(100% - (2 * var(--gg-premium-gutter))), var(--gg-premium-max)) !important;
}

body.gg-refined :is(section[id], article[id], div[id], h2[id], h3[id]) {
  scroll-margin-top: 112px !important;
}

/* Never manufacture empty space simply to equalize unrelated pages. */
body.gg-refined .page-hero,
body.page-insights .hero,
body.page-speaking .hero {
  min-height: 0 !important;
  padding: clamp(58px, 5vw, 76px) 0 clamp(62px, 5.4vw, 82px) !important;
}

body.gg-refined .page-hero h1,
body.page-insights .hero h1,
body.page-speaking .hero h1 {
  max-width: 17ch !important;
  margin: 0 0 20px !important;
  font-size: clamp(3rem, 4.35vw, 4.35rem) !important;
  line-height: 1 !important;
  letter-spacing: -.052em !important;
  text-wrap: balance;
}

body.gg-refined .page-hero :is(.lead, .hero-sub),
body.page-insights .hero .hero-sub,
body.page-speaking .hero .hero-sub {
  max-width: 64ch !important;
  font-size: clamp(1.02rem, 1.14vw, 1.16rem) !important;
  line-height: 1.65 !important;
}

body.gg-refined .breadcrumb {
  margin: 0 0 26px !important;
  font-size: .8rem !important;
  line-height: 1.4 !important;
}

body.gg-refined .section {
  padding-top: var(--gg-premium-section) !important;
  padding-bottom: var(--gg-premium-section) !important;
}

body.gg-refined .section-tight {
  padding-top: var(--gg-premium-tight) !important;
  padding-bottom: var(--gg-premium-tight) !important;
}

body.gg-refined .section-head {
  margin-bottom: clamp(32px, 3.2vw, 46px) !important;
}

body.gg-refined :is(.card, .offer, .result-card, .contact-card, .form-card, .program-card, .home-route-card, .plain-language-card) {
  border-radius: var(--gg-premium-radius) !important;
}

body.gg-refined :is(.card-grid, .card-grid-3, .offer-grid, .portfolio-grid, .pricing-program-grid, .plain-language-grid) {
  gap: clamp(18px, 2vw, 24px) !important;
}

/* Shared dark proof rail language. */
.premium-hero-grid,
.results-hero-grid,
.editorial-hero-grid,
.about-hero-grid,
.intent-hero-grid,
.media-hero-grid,
.page-speaking .hero-two-col {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr) !important;
  align-items: center !important;
  gap: clamp(42px, 5vw, 76px) !important;
}

:is(.proof-summary, .editorial-feature, .about-portrait-card, .intent-rail, .page-speaking .hero-rail) {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 2.5vw, 34px) !important;
  border: 1px solid var(--gg-premium-line-dark) !important;
  border-radius: 24px !important;
  background: var(--gg-premium-panel-dark) !important;
  box-shadow: 0 24px 60px rgba(0, 11, 25, .18) !important;
}

:is(.proof-summary, .editorial-feature, .intent-rail, .page-speaking .hero-rail)::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #4ccfbe, #e8b556);
}

:is(.proof-summary, .editorial-feature, .intent-rail, .page-speaking .hero-rail) h2 {
  max-width: 20ch;
  margin: 0 0 12px !important;
  color: #f7fbff !important;
  font-size: clamp(1.42rem, 1.8vw, 1.9rem) !important;
  line-height: 1.14 !important;
  letter-spacing: -.025em !important;
}

:is(.proof-summary, .editorial-feature, .intent-rail, .page-speaking .hero-rail) :is(p, li, dt) {
  color: #c4d0dc !important;
}

.feature-kicker,
.proof-kicker,
.portrait-kicker {
  display: block;
  margin-bottom: 12px;
  color: #7be0d3 !important;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .15em;
  line-height: 1.3;
  text-transform: uppercase;
}

/* Results: proof, not vacant decoration. */
body.page-results .page-hero { padding-block: clamp(60px, 5vw, 76px) !important; }
body.page-results .page-hero h1 { max-width: 14ch !important; }

.proof-number {
  display: block;
  margin: 4px 0 13px;
  color: #fff !important;
  font-family: Manrope, Inter, sans-serif;
  font-size: clamp(2.55rem, 4.3vw, 4.3rem);
  font-weight: 800;
  letter-spacing: -.06em;
  line-height: .94;
}

.proof-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.proof-meta span {
  padding: 7px 10px;
  border: 1px solid rgba(123, 224, 211, .24);
  border-radius: 999px;
  background: rgba(71, 207, 189, .08);
  color: #e1ebf3 !important;
  font-size: .75rem;
  font-weight: 700;
}

/* Insights: a featured answer gives the opening a reason to use two columns. */
body.page-insights .hero { padding-block: clamp(60px, 5vw, 76px) !important; }
body.page-insights .hero > .editorial-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr) !important;
  align-items: center !important;
  gap: clamp(42px, 5vw, 76px) !important;
}
body.page-insights .editorial-hero-grid .hero-copy { max-width: none !important; }
body.page-insights .hero h1 { max-width: 13ch !important; }

.editorial-feature > .text-link {
  display: inline-flex;
  margin-top: 12px;
  color: #70ddce !important;
  font-weight: 800;
}

.feature-links {
  display: grid;
  gap: 10px;
  margin: 22px 0 0;
  padding: 18px 0 0;
  border-top: 1px solid rgba(151, 184, 208, .18);
}

.feature-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: #e9f2fa !important;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}

.feature-links a::after { content: "→"; color: #5bd4c4; }

/* Workflow and advisory intent pages. */
body.intent-page .intent-hero-grid { grid-template-columns: minmax(0, 1.14fr) minmax(340px, .86fr) !important; }
body.intent-page .page-hero h1 { max-width: 16ch !important; }
body.page-workflow .page-hero h1 { max-width: 15ch !important; }

.intent-rail .check-list {
  display: grid;
  gap: 0;
  margin: 16px 0 0 !important;
}

.intent-rail .check-list li {
  padding: 11px 0 11px 28px !important;
  border-bottom: 1px solid rgba(151, 184, 208, .14);
  line-height: 1.45;
}

.intent-rail .check-list li:last-child { border-bottom: 0; padding-bottom: 0 !important; }

/* About: credibility without letting the portrait take over. */
body.page-about .page-hero { padding-block: clamp(58px, 4.8vw, 72px) !important; }
body.page-about .page-hero h1 { max-width: 14ch !important; }

.about-portrait-card {
  display: grid;
  grid-template-columns: 136px minmax(0, 1fr) !important;
  min-height: 276px !important;
  padding: 0 !important;
}

.about-portrait-card img {
  display: block;
  width: 136px !important;
  height: 100% !important;
  min-height: 276px !important;
  object-fit: cover !important;
  object-position: center 20% !important;
}

.portrait-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 25px !important;
}

.portrait-copy strong { color: #fff !important; font-size: 1.4rem; line-height: 1.15; }
.portrait-copy > span:not(.portrait-kicker) { margin: 5px 0 14px; color: #c4d0dc !important; font-size: .9rem; }
.portrait-credentials { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.portrait-credentials li { position: relative; padding-left: 14px; color: #eef5fa !important; font-size: .8rem; font-weight: 650; }
.portrait-credentials li::before { content: ""; position: absolute; top: .55em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: #4dcebd; }

body.page-about .founder {
  grid-template-columns: 210px minmax(0, 1fr) !important;
  gap: clamp(34px, 4vw, 58px) !important;
  align-items: center !important;
}

body.page-about .founder-photo {
  display: block !important;
  width: 210px !important;
  max-width: 210px !important;
  border-radius: 20px !important;
  overflow: hidden;
}

body.page-about .founder-photo img {
  display: block;
  width: 100% !important;
  aspect-ratio: 4 / 5;
  object-fit: cover !important;
  object-position: center 20%;
}

body.page-about .founder > div:nth-child(2) { min-width: 0; }
body.page-about .founder .lead { max-width: 68ch; }
body.page-about .founder .service-crosslink {
  grid-column: 1 / -1;
  max-width: none;
  margin: 2px 0 0 !important;
  padding: 18px 22px !important;
  border: 1px solid #d8e4e3;
  border-left: 3px solid #4cc9b7;
  border-radius: 16px;
  background: #eef6f5;
}

body.page-about .section > .split {
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr) !important;
  gap: clamp(46px, 6vw, 86px) !important;
  align-items: start !important;
}

body.page-about .definition-list { margin: 0; }

/* Media and speaking: useful information gets the visual weight. */
body.media-page .media-hero-grid { grid-template-columns: minmax(0, 1fr) 220px !important; gap: clamp(42px, 6vw, 88px) !important; }
body.media-page .page-hero h1 { max-width: 16ch !important; }
body.media-page .media-photo { width: 220px !important; max-width: 220px !important; border-radius: 20px !important; }

body.page-speaking .hero-two-col { grid-template-columns: minmax(0, 1.03fr) minmax(390px, .97fr) !important; align-items: center !important; }
body.page-speaking .hero h1 { max-width: 13ch !important; }

/* Editorial guides and the no-email calculator should not consume a full
   screen merely because an older template imposed a viewport minimum. */
body.page-pricing:not(.page-insights):not(.page-speaking) .hero {
  min-height: 0 !important;
  padding: clamp(62px, 5vw, 78px) 0 clamp(68px, 5.5vw, 84px) !important;
}

body.page-pricing:not(.page-insights):not(.page-speaking) .hero h1 {
  max-width: 15ch !important;
  font-size: clamp(3rem, 4.6vw, 4.65rem) !important;
  line-height: 1 !important;
  letter-spacing: -.052em !important;
}

body.page-services .hero {
  min-height: 0 !important;
  padding: clamp(62px, 5vw, 78px) 0 clamp(68px, 5.5vw, 84px) !important;
}

.speaker-identity {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 20px !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid rgba(151, 184, 208, .18) !important;
}

.speaker-identity img {
  display: block !important;
  width: 64px !important;
  height: 64px !important;
  min-width: 64px !important;
  min-height: 64px !important;
  border: 2px solid rgba(123, 224, 211, .42) !important;
  border-radius: 14px !important;
  object-fit: cover !important;
  object-position: center 20% !important;
}

.speaker-identity > div { display: grid; gap: 2px; min-width: 0; }
.speaker-identity strong { color: #fff !important; }
.speaker-identity span { color: #bdcbd8 !important; font-size: .86rem; }
.speaker-identity a { color: #6edbcc !important; font-size: .82rem; font-weight: 750; }

.page-speaking .hero-rail .rail-row {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 11px 0 !important;
  border-bottom: 1px solid rgba(151, 184, 208, .14) !important;
}

.page-speaking .hero-rail dd { margin: 0 !important; color: #fff !important; font-weight: 800; white-space: nowrap; }

/* Home and AI training stay immersive but must hand off within the first screen. */
@media (min-width: 981px) {
  body.page-home .hero { min-height: clamp(700px, calc(100svh - 190px), 820px) !important; }
  body.page-ai-training .hero { min-height: clamp(650px, calc(100svh - 205px), 800px) !important; }
}

/* Every layout child must be allowed to shrink rather than clip. */
:is(.premium-hero-grid, .results-hero-grid, .editorial-hero-grid, .about-hero-grid, .intent-hero-grid, .media-hero-grid, .hero-two-col, .split) > * {
  min-width: 0;
}

@media (max-width: 980px) {
  :is(.premium-hero-grid, .results-hero-grid, .editorial-hero-grid, .about-hero-grid, .intent-hero-grid, .media-hero-grid, .page-speaking .hero-two-col),
  body.page-insights .hero > .editorial-hero-grid,
  body.intent-page .intent-hero-grid,
  body.page-about .section > .split {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 32px !important;
  }

  :is(.proof-summary, .editorial-feature, .intent-rail, .page-speaking .hero-rail) { max-width: 720px; }
  body.media-page .media-hero-grid { grid-template-columns: minmax(0, 1fr) 180px !important; }
  body.media-page .media-photo { width: 180px !important; max-width: 180px !important; }
  body.page-about .founder { grid-template-columns: 180px minmax(0, 1fr) !important; }
  body.page-about .founder-photo { width: 180px !important; max-width: 180px !important; }
}

@media (max-width: 720px) {
  html { scroll-padding-top: 88px; }
  body.gg-refined :is(section[id], article[id], div[id], h2[id], h3[id]) { scroll-margin-top: 88px !important; }

  body.gg-refined .page-hero,
  body.page-insights .hero,
  body.page-speaking .hero,
  body.page-pricing:not(.page-insights):not(.page-speaking) .hero,
  body.page-services .hero {
    padding: 42px 0 48px !important;
  }

  body.gg-refined .page-hero h1,
  body.page-insights .hero h1,
  body.page-speaking .hero h1 {
    max-width: none !important;
    margin-bottom: 16px !important;
    font-size: clamp(2.35rem, 11vw, 3.05rem) !important;
    line-height: 1.02 !important;
  }

  body.gg-refined .breadcrumb { margin-bottom: 20px !important; }
  body.gg-refined .section { padding-block: clamp(56px, 15vw, 72px) !important; }
  body.gg-refined .section-tight { padding-block: clamp(46px, 12vw, 60px) !important; }

  :is(.proof-summary, .editorial-feature, .about-portrait-card, .intent-rail, .page-speaking .hero-rail) {
    padding: 22px !important;
    border-radius: 20px !important;
  }

  .about-portrait-card { grid-template-columns: 108px minmax(0, 1fr) !important; min-height: 228px !important; padding: 0 !important; }
  .about-portrait-card img { width: 108px !important; min-height: 228px !important; }
  .portrait-copy { padding: 18px !important; }
  .portrait-credentials li { font-size: .73rem; }

  body.page-about .founder { grid-template-columns: 1fr !important; gap: 24px !important; align-items: start !important; }
  body.page-about .founder-photo { width: 132px !important; max-width: 132px !important; }
  body.page-about .founder .service-crosslink { grid-column: 1; margin-top: 0 !important; }

  body.media-page .media-hero-grid { grid-template-columns: 1fr !important; }
  body.media-page .media-hero-grid > div:last-child { justify-self: start !important; text-align: left !important; }
  body.media-page .media-photo { width: 132px !important; max-width: 132px !important; }

  body.page-speaking .hero > .hero-two-col {
    width: min(calc(100% - 40px), var(--gg-premium-max)) !important;
    margin-inline: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 32px !important;
  }
  body.page-speaking .hero-copy { order: 1 !important; }
  body.page-speaking .hero-rail {
    order: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body.page-speaking .speaker-identity,
  body.page-speaking .speaker-identity > div { min-width: 0 !important; max-width: 100% !important; }
  .page-speaking .hero-rail .rail-row { align-items: flex-start !important; }
  .page-speaking .hero-rail dt { max-width: 60%; }
}

@media (max-width: 460px) {
  .about-portrait-card { grid-template-columns: 1fr !important; }
  .about-portrait-card img { width: 116px !important; height: 136px !important; min-height: 136px !important; margin: 18px 0 0 18px; border-radius: 16px !important; }
  .portrait-copy { padding-top: 14px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}
