/* Shared text rhythm and alignment. Product specifications retain their wording. */
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3 { text-wrap: balance; overflow-wrap: break-word; }
body h1 { line-height: 1.16 !important; letter-spacing: -.035em !important; }
body h2 { line-height: 1.23 !important; letter-spacing: -.025em !important; }
body h3 { line-height: 1.35 !important; letter-spacing: -.015em !important; }
p { text-wrap: pretty; }
main p { line-height: 1.75; }
.section-label { line-height: 1.6 !important; letter-spacing: .045em !important; margin-bottom: 16px; }
.section-head { align-items: start; gap: 64px; }
.section-head > p { padding-top: 4px; max-width: 45ch; }
.section-head h2 { max-width: 26ch; }
.hero-lead, .product-intro, .tej-section-intro { max-width: 62ch; }
main:has(.home-hero) .hero-content h1 { max-width: 600px; }
main:has(.home-hero) .home-intro { grid-template-columns: .55fr 1.45fr; gap: 64px; }
.home-intro > .section-label { padding-top: 7px; }
.home-intro > div > p { max-width: 64ch; }
.card-copy { align-items: flex-start; }
.card-copy > p { margin: 18px 0 10px; line-height: 1.6; min-height: 2.8em; }
.card-copy h3 { margin-bottom: 14px; }
.card-copy > strong { font-size: .95rem; line-height: 1.65; }
.card-link { width: 100%; justify-content: space-between; padding-top: 24px; }
.truth-flow article, .industry-grid article, .pilot-grid article,
.capability-grid article, .product-workflow article { display: flex; flex-direction: column; align-items: flex-start; }
.truth-flow h3, .industry-grid h3, .pilot-grid h3,
.capability-grid h3, .product-workflow h3 { margin-bottom: 14px; }
.truth-flow h3 { margin-top: 24px !important; }
.industry-grid h3 { margin-top: 30px !important; }
.pilot-grid h3, .product-workflow h3 { margin-top: 36px !important; }
.truth-flow p, .industry-grid p, .pilot-grid p, .product-workflow p { margin-bottom: 0; }
.product-story, .company-manifesto { gap: 72px; }
.product-story h2, .company-manifesto h2 { max-width: 25ch; }
.product-story > div:last-child p:last-child { margin-bottom: 0; }
.closing-cta h2, .product-cta h2 { max-width: 27ch; margin-inline: auto; }
.cta-description { max-width: 58ch; margin-inline: auto; margin-bottom: 26px; }
.product-demo .demo-copy { padding: 40px; }
.demo-copy h2 { margin-bottom: 22px; }
.demo-copy p { max-width: 52ch; }
figcaption { font-size: .8rem !important; line-height: 1.7 !important; text-align: left; }
.brochure-photo-grid figure { display: flex; flex-direction: column; }
.brochure-photo-grid figcaption { flex: 1; padding: 24px; }
.brochure-photo-grid figcaption .section-label { min-height: 0; font-size: .68rem !important; }
.brochure-photo-grid figcaption h3 { font-size: 1.15rem !important; margin-bottom: 12px; }
.resource-card { padding: 30px; }
.resource-card .section-label { min-height: 2.8em; }
.resource-card h3 { margin-bottom: 18px; }
.resource-card strong { line-height: 1.6; }
.resource-checklist h2 { margin-bottom: 18px; }
.detail-steps article h3 { margin-bottom: 16px; }
.outcome-strip strong { line-height: 1.5 !important; }
.leadership-grid article > div { padding: 28px; }
.leadership-role { font-size: .74rem; line-height: 1.7; letter-spacing: .02em; }
.leadership-grid h3 { font-size: clamp(1.25rem,1.65vw,1.65rem) !important; }
.contact-copy h1 { max-width: 19ch; }
.contact-copy > p:not(.section-label) { max-width: 55ch; }
.contact-details small { margin-bottom: 5px; line-height: 1.5; }
.contact-form label { line-height: 1.5; }
.tej-spec-title h3 { max-width: 24ch; text-wrap: pretty; }
.tej-spec-highlights dd { font-variant-numeric: tabular-nums; }
.tej-spec-highlights dt, .tej-spec-details dt { line-height: 1.6; }
.tej-spec-copy > p { min-height: 3.5em; }
.tej-group-heading { align-items: baseline; }
.tej-section-hero h1 { max-width: 22ch; }
.tej-breadcrumb { align-items: baseline; }
.tej-resource-product { display: flex; flex-direction: column; }
.tej-resource-product > div { display: flex; flex-direction: column; flex: 1; }
.tej-resource-product h3 { min-height: 2.7em; }
.tej-resource-product .catalogue-link { margin-top: auto; }
.footer-main h3 { font-size: .95rem !important; margin-bottom: 22px; }
.footer-brand p { line-height: 1.8; }
.footer-contact > span { line-height: 1.7; }
.legal-page { max-width: 920px; }
.legal-page h1 { margin-bottom: 28px; }
.legal-page h2 { font-size: 1.4rem !important; margin-top: 36px; margin-bottom: 14px; }
@media(min-width:1101px) {
 .truth-flow h3 { min-height: 1.35em; }
 .industry-grid h3 { min-height: 1.35em; }
 .solution-grid .card-copy h3 { min-height: 2.7em; }
 .tej-spec-grid { align-items: stretch; }
 .tej-spec-card { display: flex; flex-direction: column; }
 .tej-spec-copy { display: flex; flex-direction: column; flex: 1; }
 .tej-spec-enquire { margin-top: auto; }
 .tej-spec-title { min-height: 4em; }
}
@media(max-width:1080px) {
 .section-head, .product-story, .company-manifesto { gap: 30px; }
 main:has(.home-hero) .home-intro { grid-template-columns: 1fr; gap: 24px; }
 .section-head > p { max-width: 65ch; }
}
@media(max-width:760px) {
 body h1 { line-height: 1.2 !important; }
 .section-head { gap: 20px; padding-bottom: 30px; }
 .section-head h2 { max-width: 100%; }
 .section-label { font-size: .7rem !important; margin-bottom: 14px; }
 .card-copy > p, .card-copy h3, .resource-card .section-label { min-height: 0; }
 .card-copy > strong { font-size: .92rem; }
 .product-demo .demo-copy { padding: 26px; }
 .demo-copy h2 { font-size: 1.8rem !important; }
 .brochure-photo-grid figcaption { padding: 22px; }
 .resource-card { padding: 24px; }
 .tej-spec-copy > p { min-height: 0; }
 .tej-group-heading { display: block; }
 .tej-resource-product h3 { min-height: 0; }
 .closing-cta h2, .product-cta h2 { max-width: 100%; }
 .contact-copy h1 { max-width: 100%; }
 .footer-main h3 { margin-bottom: 18px; }
}

/* Deliberate two-line homepage headline, contained within its text column. */
main:has(.home-hero) .hero-content .home-headline {
  display: grid;
  gap: 7px;
  max-width: 520px;
  margin: 0 0 26px;
  font-size: clamp(2.65rem, 3.35vw, 3.35rem) !important;
  line-height: 1.14 !important;
  letter-spacing: -.035em !important;
  text-align: left;
  text-wrap: initial;
}
.home-headline > span { display: block; white-space: nowrap; }
.home-headline-accent { color: #984323; }
main:has(.home-hero) .hero-lead { max-width: 480px; }
main:has(.home-hero) .hero-actions { max-width: 520px; }
@media(max-width:1080px) and (min-width:761px) {
  main:has(.home-hero) .hero-content .home-headline { font-size: clamp(2.1rem, 4vw, 2.65rem) !important; }
  main:has(.home-hero) .hero-lead { max-width: 420px; }
}
@media(max-width:760px) {
  main:has(.home-hero) .hero-content .home-headline {
    font-size: clamp(1.75rem, 7.2vw, 2.1rem) !important;
    gap: 6px;
    max-width: 100%;
    margin-bottom: 24px;
  }
  main:has(.home-hero) .hero-lead, main:has(.home-hero) .hero-actions { max-width: 100%; }
}

/* Cinematic industrial homepage, with a restrained copper accent. */
main:has(.home-hero) .home-hero { min-height:760px;height:min(940px,100svh);background:#19221f;color:#fff; }
main:has(.home-hero) .hero-media { left:0;bottom:114px; }
main:has(.home-hero) .hero-scene img { object-position:70% center; }
main:has(.home-hero) .hero-overlay { bottom:114px;background:linear-gradient(90deg,rgba(16,27,24,.96) 0%,rgba(16,27,24,.88) 28%,rgba(16,27,24,.51) 57%,rgba(16,27,24,.12) 100%),linear-gradient(0deg,rgba(16,27,24,.6),transparent 45%); }
main:has(.home-hero) .hero-content { padding-top:140px;padding-bottom:180px; }
main:has(.home-hero) .hero-kicker { color:#c6d1c8;letter-spacing:.12em; }
main:has(.home-hero) .hero-content .home-headline { max-width:850px;font-size:clamp(3rem,4.8vw,5rem)!important;line-height:1.09!important;gap:8px;letter-spacing:-.045em!important; }
main:has(.home-hero) .home-headline-accent { color:#e5b18b; }
main:has(.home-hero) .hero-mantra { color:#d7dfd7;border-left-color:#d49a70;letter-spacing:.11em; }
main:has(.home-hero) .hero-lead { color:#d4ddd6;font-size:1.08rem;max-width:500px; }
main:has(.home-hero) .button-primary { background:#a64e2c; }
main:has(.home-hero) .button-quiet { background:#17251e70;color:#fff;border-color:#aab8ae; }
main:has(.home-hero) .button-quiet:hover { background:#304137;color:#fff; }
main:has(.home-hero) .hero-scenes { background:#f6f3ed; }
main:has(.home-hero) .hero-scenes a { padding-inline:clamp(22px,4vw,70px); }
@media(max-width:1080px) and (min-width:761px) { main:has(.home-hero) .hero-content .home-headline { font-size:clamp(2.8rem,5vw,4rem)!important; } }
@media(max-width:760px) {
 main:has(.home-hero) .home-hero { height:auto;min-height:0;padding-top:68px;display:flex;flex-direction:column;align-items:stretch; }
 main:has(.home-hero) .hero-content { order:0;padding-top:42px;padding-bottom:38px; }
 main:has(.home-hero) .hero-media { order:1;position:relative;left:auto;bottom:auto;height:270px; }
 main:has(.home-hero) .hero-overlay { display:none; }
 main:has(.home-hero) .hero-scenes { order:2; }
 main:has(.home-hero) .hero-content .home-headline { font-size:clamp(1.9rem,7.5vw,2.8rem)!important; }
 main:has(.home-hero) .hero-lead { font-size:1rem; }
 main:has(.home-hero) .hero-scenes a { padding:18px; }
}
