/* A single, locally hosted type family across the complete website. */
body { font-family: "Astreon Sans", Arial, sans-serif; }
h1, h2, h3, .solutions-menu strong, .hero-scenes strong,
.outcome-strip strong, .product-slide-copy strong {
  font-family: "Astreon Sans", Arial, sans-serif !important;
  font-weight: 600;
  text-transform: none !important;
  letter-spacing: -.035em !important;
  line-height: 1.18 !important;
}
h1, .hero-content h1, .product-hero-copy h1, .catalogue-hero h1,
.serverguard-hero h1, .legal-page h1 {
  font-size: clamp(2.5rem, 4.1vw, 4rem) !important;
  max-width: 900px;
}
h2 { font-size: clamp(1.9rem, 2.65vw, 2.8rem) !important; }
h3, .card-copy h3, .catalogue-card h3, .feature-card h3,
.resource-card h3, .detail-steps article h3 {
  font-size: clamp(1.2rem, 1.55vw, 1.5rem) !important;
  letter-spacing: -.02em !important;
}
.button, .header-cta, .text-link, .card-link, .catalogue-link,
.hero-kicker, .hero-mantra, .pilot-status, .product-status,
.product-name, .section-label, .micro-label, .division-tag,
.leadership-role, .card-copy > p, .card-image > span,
.product-slide-copy span, .photo-viewer-toolbar,
.terrametric-film-runtime, .terrametric-film-steps span {
  font-family: "Astreon Sans", Arial, sans-serif !important;
  letter-spacing: .025em !important;
  font-weight: 600;
}
.button, .header-cta, .text-link, .card-link, .catalogue-link {
  font-size: .85rem !important;
  text-transform: none !important;
  line-height: 1.45;
}
.section-label, .hero-kicker, .hero-mantra, .product-status,
.product-name, .division-tag { font-size: .75rem !important; line-height: 1.6; }
.micro-label, .card-copy > p, .card-image > span { font-size: .68rem !important; line-height: 1.6; }
.primary-nav { font-size: .88rem; }
.solutions-menu strong, .hero-scenes strong { font-size: 1rem !important; letter-spacing: -.015em !important; }
.outcome-strip strong { font-size: 1.05rem; }
.product-slide-copy strong { font-size: 1rem !important; letter-spacing: -.01em !important; }
.product-slide-copy span { font-size: .7rem; }
.card-copy > strong, .catalogue-card p, .feature-card p,
.resource-card p, .detail-steps p, .truth-flow p, .pilot-grid p,
.industry-grid p, .capability-grid p, .product-workflow p { font-size: .94rem; line-height: 1.75; }
.card-copy { min-height: 290px; }
main:has(.home-hero) .hero-content h1 { max-width: 600px; }
main:has(.home-hero) .hero-content { padding-top: 125px; }
main:has(.home-hero) .hero-kicker { margin-bottom: 28px; }
.hero-content h1 em { font-style: normal; }
.demo-copy h2, .tej-feature h2 { font-size: clamp(1.8rem, 2.4vw, 2.5rem) !important; }
.photo-viewer-caption h3 { font-size: 1.25rem !important; }
.leadership-grid h3 { overflow-wrap: anywhere; }

/* TerraMetric: mineral surfaces, surveying graphite and restrained scan teal. */
body:has(.product-terrametric) {
  --navy: #20343d;
  --navy-2: #20323b;
  --ink: #20343d;
  --blue: #087f83;
  --blue-soft: #a0d6d8;
  --cyan: #087f83;
  --paper: #f3f7f8;
  --muted: #506566;
  --line: #c7d5d5;
  --dark-line: rgba(185, 218, 205, .25);
  background: #f3f7f8;
}
body:has(.product-terrametric) .site-header,
body:has(.product-terrametric) .site-footer { background: #20343d; border-color: #3f5a5b; }
body:has(.product-terrametric) .brand span { color: #c6d5d6; }
body:has(.product-terrametric) .header-cta { background: #087f83 !important; border-color: #7eacae !important; }
body:has(.product-terrametric) .header-cta:hover { background: #06676a !important; }
body:has(.product-terrametric) .solutions-menu { background: #1c2d35; border-color: #527475; }
body:has(.product-terrametric) .solutions-menu small { color: #c5d8d9; }
body:has(.product-terrametric) .solutions-menu a:hover { background: #2c3f48; }
.product-terrametric { background: #f3f7f8; }
.product-terrametric .product-hero { background: #20343d; min-height: 820px; }
.product-terrametric .product-hero-shade {
  background: linear-gradient(90deg, rgba(16,34,30,.98) 0%, rgba(16,34,30,.92) 36%, rgba(16,34,30,.55) 64%, rgba(16,34,30,.08) 100%);
}
.product-terrametric .product-hero-copy h1 { max-width: 770px; }
.product-terrametric .product-status { border-color: #688c8d; color: #e3f1f1; background: #18262da8; }
.product-terrametric .product-status i { background: #9cd0d2; box-shadow: 0 0 0 4px #9cd0d219; }
.product-terrametric .product-intro { color: #d8e7e8; max-width: 650px; }
.product-terrametric .product-name { color: #c6e0e1; }
.product-terrametric .button-primary { background: #b9dcdd; color: #1c2e36; }
.product-terrametric .button-primary:hover { background: #d1eaeb; }
.product-terrametric .button-quiet { background: #17252c80; border-color: #9db5b6; color: #edf6f6; }
.product-terrametric .button-quiet:hover { background: #29414c; }
.product-terrametric .product-slide-ui { background: #18262ded; border-color: #759e9f; box-shadow: 0 18px 50px #111c2128; }
.product-terrametric .product-slide-copy p { color: #d4e6e7; }
.product-terrametric .product-slide-controls { border-color: #6b8b8c; }
.product-terrametric .product-slide-controls > button { background: #283e48; border-color: #769a9b; }
.product-terrametric .product-slide-dots button.is-active::after { background: #b9dcdd; }
.product-terrametric .outcome-strip { background: #dce7e7; }
.product-terrametric .outcome-strip div { border-color: #b6cacb; }
.product-terrametric .product-story { padding-block: 90px; }
.product-terrametric .brochure-photo-grid figure { background: #f6fafa; border-color: #c0d0d1; }
.product-terrametric .brochure-photo-grid button > span { background: #18262def; font-size: .75rem; }
.product-terrametric .brochure-photo-grid figcaption > p:last-child { color: #506566; font-size: .94rem; }
.product-terrametric .terrametric-film { background: #1c2d35; box-shadow: 0 22px 55px #1b2c3414; }
.product-terrametric .terrametric-film::after { border-color: #6c9799; }
.product-terrametric .terrametric-film-media { background: #131f25; }
.product-terrametric .demo-copy p, .product-terrametric .demo-copy small { color: #d2e4e5; }
.product-terrametric .terrametric-film-runtime { background: #18262ded; border-color: #8cb3b4; color: #eef7f7; }
.product-terrametric .terrametric-film-steps span { border-color: #709697; color: #e0eff0; }
.product-terrametric .capabilities-section { background: #dfe9e9; }
.product-terrametric .capability-grid article { background: #f6fafa; border-color: #bbcecf; }
.product-terrametric .capability-grid article > span { color: #506a6b; }
.product-terrametric .capability-grid svg { color: #087f83; }
.product-terrametric .workflow-section { background: #1b2b32; }
.product-terrametric .product-workflow p { color: #d1e3e4; }
.product-terrametric .product-workflow span { color: #a8cfd0; }
.product-terrametric .section-head.light > p { color: #d1e3e4; }
.product-terrametric .industry-chips span { background: #f0f8f8; border-color: #bbcccd; }
.product-terrametric .boundary-section { background: #d8e6e6; border-color: #b5cacb; }
.product-terrametric .boundary-section .section-label, .product-terrametric .boundary-section svg { color: #345b5c; }
.product-terrametric .boundary-section p { color: #364952; }
.product-terrametric .product-cta { background: #20343d; }
.product-terrametric .product-cta .section-label { color: #c5dedf; }
.product-terrametric .button-light { background: #edf7f7; color: #273f4b; }
.product-terrametric .photo-viewer { background: #18262d; border-color: #89b1b2; }
.product-terrametric .photo-viewer-content > img { background: #111c21; }
.product-terrametric .photo-viewer button { background: #2c4551; border-color: #9ab7b8; }
.product-terrametric .photo-viewer-toolbar, .product-terrametric .photo-viewer-caption p { color: #d0e6e7; }
body:has(.product-terrametric) .footer-brand p,
body:has(.product-terrametric) .footer-main > div:not(.footer-brand) > a,
body:has(.product-terrametric) .footer-contact > a,
body:has(.product-terrametric) .footer-contact > span { color: #ccdbdc !important; }
body:has(.product-terrametric) .footer-bottom { color: #b0c6c7; }
body:has(.product-terrametric) :focus-visible { outline-color: #579597; }
@media (max-width: 1080px) {
  body:has(.product-terrametric) .primary-nav { background: #20343d; }
  .primary-nav { max-height: calc(100dvh - var(--header)); overflow-y: auto; }
}
@media (max-width: 760px) {
  h1, .hero-content h1, .product-hero-copy h1, .catalogue-hero h1,
  .serverguard-hero h1, .legal-page h1 { font-size: clamp(2rem, 7.8vw, 2.65rem) !important; line-height: 1.2 !important; }
  h2 { font-size: clamp(1.7rem, 6.4vw, 2.1rem) !important; }
  h3 { font-size: 1.25rem !important; }
  .button { padding: 14px 18px; min-height: 52px; }
  main:has(.home-hero) .hero-content { padding-top: 30px; }
  main:has(.home-hero) .hero-kicker { font-size: .65rem !important; }
  main:has(.home-hero) .hero-content h1 { max-width: 100%; }
  .section-label { margin-bottom: 16px; }
  .hero-scenes strong { font-size: .93rem !important; }
  .product-terrametric .product-hero { min-height: 900px; }
  .product-terrametric .product-hero-copy { padding-top: 350px; padding-bottom: 50px; }
  .product-terrametric .product-hero-shade { background: linear-gradient(0deg, #111c21fc 0%, #111c21e8 56%, #111c2144 100%); }
  .product-terrametric .product-story { padding-block: 65px; }
  .product-terrametric .hero-actions { gap: 10px; }
}

/* TerraMetric hero imagery remains; the caption/control overlay is removed. */
.product-terrametric .product-slide-ui { display: none; }
@media (max-width: 760px) {
  .product-terrametric .product-hero-copy { padding-top: 140px; }
  .product-terrametric .product-hero { min-height: 760px; }
}
