/* Homepage semantic type roles. Loaded after the legacy and workflow styles.
   Diagram labels, synthetic application data and illustrative code retain their
   own compact scale. Shared navigation and footer roles live in the shell sheet. */
.gr-home-2027 {
  font-family: "DM Sans", Arial, sans-serif;
  font-size: var(--type-body);
  line-height: var(--leading-body);
}

.gr-home-2027 :is(h1, h2, h3, h4, h5, h6),
.gr-home-2027 .gr-serp-playground,
.gr-home-2027 :is(button, input, select, textarea) {
  font-family: "DM Sans", Arial, sans-serif;
}

/* One hierarchy for the main headline and section headings. */
.gr-home-2027 .gr-command-copy h1 {
  font-size: var(--type-h1);
  line-height: var(--leading-heading);
  letter-spacing: -.045em;
}
.gr-home-2027 .gr-command-copy h1 span {
  white-space: normal;
}
.gr-home-2027 :is(
  .gr-service-router__heading,
  .gr-confidence-band__heading,
  .gr-seo-story-intro,
  .gr-product-story__copy,
  .gr-intelligence-foundation__copy,
  .gr-section-heading,
  .gr-final-cta--decision .gr-final-cta__decision-heading
) h2 {
  font-size: var(--type-h2);
  line-height: var(--leading-heading);
  letter-spacing: -.035em;
}
.gr-home-2027 .gr-intelligence-foundation__copy h2 .gr-intelligence-title__line--accent {
  font-size: inherit;
  letter-spacing: inherit;
}
.gr-home-2027 :is(
  .gr-service-card,
  .gr-seo-explorer__rail-heading,
  .gr-seo-explorer__stage-heading,
  .gr-final-path
) h3,
.gr-home-2027 .gr-use-case-switcher__panel-copy h4 {
  font-size: var(--type-h3);
  line-height: 1.25;
  letter-spacing: -.025em;
}
/* This h3 introduces a whole section, so it shares the section-heading role. */
.gr-home-2027 .gr-use-case-ledger--interactive .gr-use-case-ledger__heading h3 {
  font-size: var(--type-h2);
  line-height: var(--leading-heading);
  letter-spacing: -.035em;
}

/* Align the SEO introduction columns at their shared starting edge.
   Bottom alignment offsets the heading when the description wraps to more lines. */
.gr-home-2027 .gr-seo-story-intro {
  align-items: start;
}

/* Marketing prose, lead copy and compact descriptions. */
.gr-home-2027 :is(
  .gr-service-router__heading,
  .gr-confidence-band__heading,
  .gr-final-cta__decision-heading
) > p,
.gr-home-2027 .gr-intelligence-foundation__copy > p:not(.gr-eyebrow),
.gr-home-2027 .gr-use-case-ledger--interactive .gr-use-case-ledger__heading > p,
.gr-home-2027 .gr-use-case-switcher__panel-copy p,
.gr-home-2027 .gr-section-heading > p:not(.gr-eyebrow) {
  font-size: var(--type-body);
  line-height: var(--leading-body);
}
.gr-home-2027 .gr-command-copy__lead,
.gr-home-2027 .gr-product-story__lead,
.gr-home-2027 .gr-product-story__promise {
  font-size: var(--type-lead);
  line-height: var(--leading-body);
  letter-spacing: -.015em;
}
.gr-home-2027 .gr-service-card__statement {
  font-size: var(--type-body) !important;
  line-height: 1.5 !important;
}
.gr-home-2027 .gr-service-card__description {
  font-size: var(--type-compact) !important;
  line-height: var(--leading-body) !important;
}
.gr-home-2027 .gr-trust-band p,
.gr-home-2027 .gr-seo-explorer__rail-heading > p:last-child,
.gr-home-2027 .gr-seo-explorer__stage-heading p,
.gr-home-2027 .gr-feature-item span,
.gr-home-2027 .gr-final-path p,
.gr-home-2027 .gr-use-case-switcher__panel-actions li {
  font-size: var(--type-compact);
  line-height: var(--leading-body);
}

/* Eyebrows and status labels. */
.gr-home-2027 .gr-eyebrow,
.gr-home-2027 .gr-hero-quickpaths > span,
.gr-home-2027 .gr-service-card__kicker,
.gr-home-2027 .gr-final-path__kicker,
.gr-home-2027 .gr-seo-explorer__stage-kicker,
.gr-home-2027 .gr-seo-explorer__mobile-control label,
.gr-home-2027 .gr-use-case-switcher__tabs button span,
.gr-home-2027 .gr-use-case-switcher__active-label,
.gr-home-2027 .gr-confidence-band__metrics dd,
.gr-home-2027 .gr-serp-control > span,
.gr-home-2027 .gr-serp-control > label,
.gr-home-2027 .gr-serp-playground__header > div span,
.gr-home-2027 .gr-serp-playground__scope-note strong {
  font-size: var(--type-label);
  line-height: 1.5;
  letter-spacing: .075em;
}
.gr-home-2027 .gr-service-card__channel,
.gr-home-2027 .gr-service-card__channel small {
  font-size: var(--type-label);
  line-height: 1.4;
}
.gr-home-2027 .gr-seo-explorer__live-label,
.gr-home-2027 .gr-infrastructure-strip dd,
.gr-home-2027 .gr-serp-region-search__hint,
.gr-home-2027 .gr-serp-playground__scope-note,
.gr-home-2027 .gr-serp-playground__connection,
.gr-home-2027 .gr-serp-response__status,
.gr-home-2027 .gr-serp-response__meta {
  font-size: var(--type-meta);
  line-height: 1.5;
}
.gr-home-2027 .gr-confidence-band__metrics dt {
  font-size: var(--type-h3);
  line-height: 1.25;
  letter-spacing: -.025em;
}
.gr-home-2027 .gr-infrastructure-strip dt,
.gr-home-2027 .gr-feature-item strong,
.gr-home-2027 .gr-serp-playground__header > div strong {
  font-size: var(--type-compact);
  line-height: 1.5;
}

/* User-operated links, buttons, menus and form fields share a readable scale. */
.gr-home-2027 .gr-button,
.gr-home-2027 .gr-text-link,
.gr-home-2027 .gr-hero-quickpaths a,
.gr-home-2027 .gr-service-card__cta,
.gr-home-2027 .gr-final-path__link,
.gr-home-2027 .gr-seo-explorer__tabs button strong,
.gr-home-2027 .gr-seo-explorer__mobile-control select,
.gr-home-2027 .gr-use-case-switcher__tabs button strong,
.gr-home-2027 .gr-serp-control input,
.gr-home-2027 .gr-serp-control select,
.gr-home-2027 .gr-serp-control textarea,
.gr-home-2027 .gr-serp-region-search__results button,
.gr-home-2027 .gr-serp-request__submit,
.gr-home-2027 .gr-serp-response__toolbar button,
.gr-home-2027 .gr-serp-examples button,
.gr-home-2027 .gr-agent-scenarios button,
.gr-home-2027 .gr-agent-delivery > a {
  font-size: var(--type-control);
  line-height: 1.5;
}
.gr-home-2027 .gr-agent-delivery > a {
  font-family: "DM Sans", Arial, sans-serif;
  height: auto;
  min-height: 40px;
  padding-block: 7px;
}
.gr-home-2027 .gr-agent-pause {
  font-size: var(--type-control) !important;
  line-height: 1.5;
}
.gr-home-2027 .gr-seo-explorer__tabs button strong {
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
}
.gr-home-2027 .gr-button,
.gr-home-2027 .gr-serp-request__submit {
  height: auto;
  padding-block: 12px;
}
.gr-home-2027 .gr-command-actions {
  flex-wrap: wrap;
  row-gap: 18px;
}
.gr-home-2027 .gr-command-actions :is(.gr-button, .gr-text-link) {
  max-width: 100%;
  white-space: normal;
}
.gr-home-2027 .gr-hero-quickpaths > div {
  flex-wrap: wrap;
  gap: 12px 20px;
}

/* Larger user-facing descriptions must not be cropped by legacy viewport locks. */
.gr-home-2027 .gr-seo-explorer,
.gr-home-2027 .gr-seo-app-screen {
  height: auto;
}
.gr-home-2027 .gr-seo-explorer__stage-heading {
  flex-wrap: wrap;
  gap: 14px 24px;
  padding-bottom: 20px;
}
.gr-home-2027 .gr-serp-playground__header,
.gr-home-2027 .gr-serp-playground__header > div,
.gr-home-2027 .gr-serp-response__toolbar,
.gr-home-2027 .gr-serp-response__meta {
  flex-wrap: wrap;
}
.gr-home-2027 .gr-serp-control :is(input, select) {
  height: auto;
  min-height: 48px;
  padding-block: 10px;
}
.gr-home-2027 .gr-serp-control textarea {
  min-height: 88px;
}
.gr-home-2027 .gr-serp-region-search__results button {
  min-height: 48px;
}
/* Live JSON is functional output, distinct from the animated illustrative code. */
.gr-home-2027 .gr-serp-response > pre {
  font-size: var(--type-meta);
  line-height: 1.65;
}

@media (max-width: 767px) {
  .gr-home-2027 .gr-agent-scenarios {
    flex-wrap: wrap;
  }
  .gr-home-2027 .gr-agent-workflow__actions {
    flex-wrap: wrap;
  }
  .gr-home-2027 .gr-button {
    text-align: center;
  }
}
