/* Compact public pages. Shared scale; preserve each business line's branding. */
body { font-size: .875rem; line-height: 1.5; }
h1 { font-size: 1.5rem; line-height: 1.2; }
h2 { font-size: 1.125rem; line-height: 1.3; }
h3 { font-size: 1rem; line-height: 1.3; }
.service-hero h1 { font-size: 1.5rem; line-height: 1.2; }
button, .button, .gtt-button, .storefront-button {
  min-height: 2.25rem; padding: .375rem .75rem; font-size: .8125rem; line-height: 1.4;
}
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea {
  min-height: 2.25rem; padding: .375rem .625rem; font-size: 1rem;
}
.gtt-header { gap: .75rem; padding: .75rem 0; }
.gtt-brand { gap: .5rem; }
.gtt-brand img { width: 36px; height: 36px; border-radius: 9px; }
.gtt-brand strong { font-size: .8125rem; letter-spacing: .06em; }
.gtt-brand small { font-size: .75rem; }
.gtt-nav { gap: .375rem; }
.gtt-nav a { min-height: 2rem; padding: .375rem .5rem; font-size: .8125rem; }
.gtt-hero, .subpage-hero { min-height: 0; gap: 1.5rem; padding: 2rem 0; }
.gtt-hero h1, .subpage-hero h1 { font-size: clamp(1.75rem,4vw,2.75rem); line-height: 1.12; }
.gtt-lead { font-size: .9375rem; line-height: 1.55; }
.gtt-eyebrow { font-size: .75rem; letter-spacing: .07em; }
.gtt-actions { gap: .5rem; margin-top: 1rem; }
.gtt-actions .gtt-button { min-height: 2.25rem; padding: .375rem .75rem; font-size: .8125rem; border-radius: 8px; }
.trust-row { gap: .5rem; margin-top: 1rem; font-size: .75rem; }
.hero-compass, .price-card, .service-proof { padding: 1rem; border-radius: 14px; }
.hero-compass > p { margin: 1rem 0; font-size: 1.25rem; }
.hero-compass ol, .service-proof ul { gap: .5rem; }
.compass-mark { font-size: 1.75rem; }
.path-section, .content-band, .process-section, .standard-section, .split-story, .intake-section { padding: 2rem 0; gap: 1.5rem; }
.section-intro { gap: 1rem; margin-bottom: 1rem; }
.section-intro h2, .standard-section h2, .split-story h2, .readiness-card h2,
.intake-section h2, .gtt-closing h2 { font-size: clamp(1.375rem,3vw,2rem); line-height: 1.2; }
.section-intro > p:last-child { font-size: .875rem; line-height: 1.5; }
.path-grid, .feature-grid { gap: .75rem; }
.path-card { min-height: 0; padding: 1rem; border-radius: 14px; }
.path-number { font-size: 2rem; }
.path-card h3 { font-size: 1.25rem; margin: .375rem 0 .5rem; }
.path-card > p:not(.gtt-eyebrow), .path-card li, .feature-grid p,
.standard-grid p, .check-list ul, .readiness-card p:not(.gtt-eyebrow) { line-height: 1.5; }
.path-card > a { padding-top: .75rem; }
.feature-grid article, .standard-grid article { padding: 1rem; border-radius: 12px; }
.feature-grid h3 { margin: 1rem 0 .5rem; font-size: 1.125rem; }
.standard-grid strong, .process-section strong { font-size: 1rem; }
.check-list { padding: 1rem; }
.readiness-card { gap: 1rem; margin-bottom: 2rem; padding: 1rem; border-radius: 14px; }
.readiness-list span { padding: .625rem .75rem; }
.service-proof > strong { font-size: 1.375rem; margin: .5rem 0 1rem; }
.price-card strong b, .digital-price strong { font-size: 1.75rem; }
.price-card p { margin-top: 1rem; padding-top: .75rem; }
.gtt-closing { gap: 1rem; margin: 1rem 0 2rem; padding: 1rem; border-radius: 14px; }
.gtt-footer { gap: 1rem; padding: 1rem 0 1.5rem; }
.gtt-form { gap: .75rem; padding: 1rem; border-radius: 14px; }
.gtt-form input, .gtt-form select, .gtt-form textarea { min-height: 2.25rem; padding: .375rem .625rem; font-size: 1rem; }
.login-shell, .login-shell-minimal { padding-top: 1.5rem; }
.login-card, .login-story { gap: .75rem; }
.login-card h1, .request-status-shell h1 { font-size: 1.5rem; }
.shop-shell { padding-block: 1.5rem 2rem; }
.shop-hero { gap: 1.25rem; padding-bottom: 1.5rem; }
.shop-hero h1 { font-size: clamp(1.75rem,4vw,2.75rem); line-height: 1.12; }
.shop-hero > p { font-size: .875rem; line-height: 1.5; }
.catalog-toolbar h2, .cart-heading h2, .digital-feature h2 { font-size: 1.25rem; }
.product-body h3 { font-size: 1rem; }
.product-body select { min-height: 2.25rem; padding: .375rem .625rem; font-size: 1rem; }
.product-actions .button { min-height: 2.25rem; padding-inline: .75rem; }
.store-header { min-height: 64px; }
@media (max-width: 680px) {
  .gtt-hero, .subpage-hero { padding: 1.5rem 0; }
  .gtt-hero h1, .subpage-hero h1 { font-size: 1.75rem; }
  .shop-hero h1 { font-size: 1.75rem; }
  .path-section, .content-band, .process-section, .standard-section, .split-story, .intake-section { padding: 1.5rem 0; }
  .gtt-header, .gtt-footer, .gtt-body main { width: calc(100% - 24px); }
  .gtt-nav a { padding: .375rem .5rem; }
  .gtt-closing .gtt-actions { flex-shrink: 1; }
}
