/* Supporting pages: the same grid and components, with an editorial reading pace. */
.wp-site-blocks > .matrix-inner,
.wp-site-blocks > .matrix-inner + footer,
.matrix-inner > .wp-block-post-content > .wp-block-group { margin-block: 0; }
.matrix-inner { color: var(--matrix-text); background: var(--matrix-bg); }
.matrix-inner :is(h1,h2,h3,p,ul,ol,figure) { margin-block-start: 0; }
.matrix-inner a:not(.wp-element-button) { text-underline-offset: .2em; }
.matrix-inner a:not(.wp-element-button):hover { color: var(--matrix-green-deep); }
.matrix-inner :is(h2,h3,[id]) { scroll-margin-top: var(--matrix-space-120); }

/* A quiet opening, with one display role for services, guides and company pages. */
.matrix-inner-hero {
 background: var(--matrix-bg-soft);
 border-block-end: 1px solid var(--matrix-border);
 padding-block: var(--matrix-space-24) var(--matrix-space-48);
}
.matrix-breadcrumbs {
 font-size: var(--matrix-type-meta);
 line-height: 1.5;
 margin-block-end: var(--matrix-space-24);
}
.matrix-breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--matrix-space-12); padding: 0; margin: 0; list-style: none; }
.matrix-breadcrumbs li { display: inline-flex; align-items: center; min-height: 44px; }
.matrix-breadcrumbs li + li::before { content: '/'; color: var(--matrix-text-muted); margin-inline-end: var(--matrix-space-12); }
.matrix-breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; }
.matrix-breadcrumbs [aria-current] { color: var(--matrix-text-muted); }
.matrix-inner .matrix-inner__eyebrow {
 font-size: var(--matrix-type-eyebrow);
 font-weight: 600;
 text-transform: uppercase;
 letter-spacing: var(--wp--custom--type--label-tracking);
 color: var(--matrix-green);
 margin-block-end: var(--matrix-space-20);
}
.matrix-inner__intro::before {
 content: ''; display: block; width: var(--matrix-space-64); height: 1px;
 background: var(--matrix-border-strong); border-inline-start: var(--matrix-space-16) solid var(--matrix-green-bright);
 margin-block-end: var(--matrix-space-24);
}
.matrix-inner__intro { --matrix-span-tablet: 8; --matrix-span-desktop: 9; }
.matrix-inner h1 {
 font-size: var(--matrix-type-display); font-weight: 600; line-height: 1.06;
 letter-spacing: var(--wp--custom--type--heading-tracking);
 max-width: 21ch; margin-block-end: var(--matrix-space-24); text-wrap: balance;
}
.matrix-inner .matrix-inner__lead {
 font-size: var(--matrix-type-lead); line-height: var(--matrix-leading-body);
 max-width: var(--matrix-measure-body); margin-block-end: var(--matrix-space-32);
}
.matrix-inner .matrix-inner__meta {
 font-size: var(--matrix-type-meta); line-height: var(--matrix-leading-body);
 color: var(--matrix-text-muted); margin-block: var(--matrix-space-24) 0;
}
.matrix-inner__actions { gap: var(--matrix-space-12) var(--matrix-space-16); }
.matrix-inner__hero-grid { align-items: center; row-gap: var(--matrix-space-40); }
.matrix-inner__visual { --matrix-span-tablet: 4; --matrix-span-desktop: 5; }
.matrix-inner__image { margin: 0; }
.matrix-inner__image img { display: block; width: 100%; height: auto; border-radius: var(--matrix-radius-standard); }
.matrix-inner-hero--about .matrix-inner__image { aspect-ratio: 1.25; overflow: hidden; border-radius: var(--matrix-radius-standard); }
.matrix-inner-hero--about .matrix-inner__image img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }

/* Full-width reading on tablet; the reference rail joins at the 12-column grid. */
.matrix-inner-body { padding-block: var(--matrix-section-compact); }
.matrix-inner__article { --matrix-span-tablet: 8; --matrix-span-desktop: 8; min-width: 0; }
.matrix-inner__aside {
 --matrix-span-tablet: 8; --matrix-span-desktop: 4; align-self: start;
 padding: var(--matrix-space-24) 0 0; border-block-start: 1px solid var(--matrix-border);
 font-size: var(--matrix-type-small); color: var(--matrix-text-muted);
}
.matrix-inner .matrix-inner__section {
 margin-block-end: var(--matrix-space-48); max-width: var(--matrix-measure-reading);
}
.matrix-inner h2 {
 font-size: var(--matrix-type-editorial); line-height: var(--matrix-leading-heading);
 letter-spacing: -.025em; font-weight: 500; margin-block-end: var(--matrix-space-24); text-wrap: balance;
}
.matrix-inner h3 {
 font-size: var(--matrix-type-component); line-height: 1.3; letter-spacing: -.015em;
 font-weight: 500; margin-block-end: var(--matrix-space-12);
}
.matrix-inner__article p { line-height: var(--matrix-leading-body); margin-block-end: var(--matrix-space-20); max-width: var(--matrix-measure-reading); }
.matrix-inner__article :is(ul,ol) { padding-inline-start: var(--matrix-space-24); line-height: var(--matrix-leading-body); }
.matrix-inner__article li { margin-block-end: var(--matrix-space-12); padding-inline-start: var(--matrix-space-4); }
.matrix-inner__article li::marker { color: var(--matrix-text-muted); }
.matrix-inner__article a { color: var(--matrix-green); text-decoration-thickness: 1px; }
.matrix-inner__contents { border-block: 1px solid var(--matrix-border-strong); padding-block: var(--matrix-space-24); margin-block-end: var(--matrix-space-32); }
.matrix-inner__contents p { font-weight: 600; color: var(--matrix-text); }
.matrix-inner__contents ol { list-style: none; padding: 0; margin: 0; }
.matrix-inner__contents li { margin: 0; padding: 0; }
.matrix-inner__contents a {
 display: flex; align-items: center; box-sizing: border-box; min-height: 44px;
 padding-block: var(--matrix-space-8); line-height: 1.5; color: var(--matrix-text);
 text-decoration-color: var(--matrix-border-strong);
}
.matrix-inner__aside > p { max-width: var(--matrix-measure-small); line-height: var(--matrix-leading-body); }
.matrix-inner__aside > p:last-child a { display: inline-flex; align-items: center; min-height: 44px; }
.matrix-inner__aside .matrix-inner__contents { display: none; }
.matrix-inner__mobile-contents { margin-block: 0 var(--matrix-space-40); border-block: 1px solid var(--matrix-border-strong); }
.matrix-inner__mobile-contents summary { display: flex; justify-content: space-between; align-items: center; gap: var(--matrix-space-24); min-height: 56px; font-weight: 500; cursor: pointer; list-style: none; }
.matrix-inner__mobile-contents summary::-webkit-details-marker { display: none; }
.matrix-inner__mobile-contents summary::after { content: '+'; font-size: 1.25rem; color: var(--matrix-green); }
.matrix-inner__mobile-contents[open] summary::after { content: '−'; }
.matrix-inner__mobile-contents .matrix-inner__contents { margin: 0; padding-block: 0 var(--matrix-space-16); border: 0; }

/* Service pages are photographic chapters on the full master grid. Guides keep
 * their quieter reading rail; existing section IDs and reading content stay intact. */
.matrix-inner-hero--service .matrix-inner__intro { --matrix-span-tablet: 8; --matrix-span-desktop: 7; }
.matrix-inner-hero--service .matrix-inner__lead { max-width: var(--matrix-measure-body); }
.matrix-service-photo { overflow: hidden; border-radius: var(--matrix-radius-standard); background: var(--matrix-bg-soft); }
.matrix-service-photo--hero { aspect-ratio: 8 / 5; }
.matrix-service-photo--detail { aspect-ratio: 3 / 2; }
.matrix-service-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 62% center; }
.matrix-service-photo--detail img { object-position: 70% center; }
.matrix-inner-body--service .matrix-inner__article { --matrix-span-desktop: 12; }
.matrix-inner-body--service .matrix-inner__mobile-contents { display: block; margin-block-end: var(--matrix-space-48); }
.matrix-inner-body--service .matrix-inner__contents ol { columns: 1; }
.matrix-inner .matrix-service-chapter {
 display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--matrix-space-24);
 max-width: none; margin-block: 0 var(--matrix-space-64);
 padding-block-start: var(--matrix-space-32); border-block-start: 1px solid var(--matrix-border);
}
.matrix-service-chapter > .wp-block-group { min-width: 0; margin-block: 0; }
.matrix-service-chapter__heading h2 { max-width: 24ch; }
.matrix-service-chapter__copy p { max-width: var(--matrix-measure-reading); }
.matrix-service-chapter__copy > :last-child { margin-block-end: 0; }
.matrix-service-chapter--photo { align-items: center; }
.matrix-service-chapter--photo .matrix-service-chapter__copy p { max-width: var(--matrix-measure-body); }
.matrix-inner__article .matrix-service-chapter--register ul { padding-inline-start: 0; list-style: none; border-block-start: 1px solid var(--matrix-border); }
.matrix-inner__article .matrix-service-chapter--register li { padding: var(--matrix-space-16) 0; margin: 0; border-block-end: 1px solid var(--matrix-border); }
.matrix-inner-body--service .matrix-inner__faq { max-width: var(--matrix-measure-reading); margin-inline: auto; padding-block: var(--matrix-space-24); }
.matrix-inner-body--service .matrix-service-note {
 --matrix-span-desktop: 12; max-width: none; padding: var(--matrix-space-24);
 border: 0; border-inline-start: 2px solid var(--matrix-accent); background: var(--matrix-bg-tint);
}
.matrix-service-note > p { max-width: var(--matrix-measure-reading); }
.matrix-service-note > p:last-child { margin-block-end: 0; }
/* Supporting company and area content remains editorial rather than nested cards. */
.matrix-inner-body--about .matrix-inner__section { padding-block-start: var(--matrix-space-24); border-block-start: 1px solid var(--matrix-border); }
.matrix-inner-body--area .matrix-inner__section { padding-block-start: var(--matrix-space-24); border-block-start: 1px solid var(--matrix-border); }
.matrix-inner-body--area .matrix-inner__section h2 { font-size: var(--matrix-type-compact-heading); }
.matrix-inner-body--contact .matrix-inner__section { max-width: var(--matrix-measure-reading); }

/* Ruled discovery links and one purposeful dark ending, never nested cards. */
.matrix-inner-related { background: var(--matrix-bg-soft); }
.matrix-inner-related h2, .matrix-inner-final h2 { font-size: var(--matrix-type-section); }
.matrix-inner__related-grid { row-gap: 0; }
.matrix-inner__related-grid > * { --matrix-span-desktop: 4; }
.matrix-inner .matrix-inner__related-item { border-block-start: 1px solid var(--matrix-border-strong); padding-block: var(--matrix-space-24); margin-block: 0; }
.matrix-inner__related-item h3 { margin: 0; }
.matrix-inner__related-item a { display: block; min-height: 44px; color: var(--matrix-text); text-decoration: none; }
.matrix-inner__related-item a:hover { text-decoration: underline; }
.matrix-inner__related-item a span { display: inline-block; transition: transform var(--matrix-duration-standard) var(--matrix-ease); }
.matrix-inner__related-item a:hover span { transform: translateX(3px); }
.matrix-inner-final { background: var(--matrix-bg-dark); color: var(--matrix-text-on-dark); }
.matrix-inner-final p { max-width: var(--matrix-measure-body); color: var(--matrix-text-on-dark-muted); line-height: var(--matrix-leading-body); margin-block-end: var(--matrix-space-32); }
.matrix-inner-final h2 { max-width: 21ch; }

@media (min-width: 768px) {
 .matrix-inner-hero { padding-block: var(--matrix-space-32) var(--matrix-space-64); }
 .matrix-breadcrumbs { margin-block-end: var(--matrix-space-32); }
 .matrix-inner .matrix-inner__section { margin-block-end: var(--matrix-space-64); }
 .matrix-inner__aside { max-width: var(--matrix-measure-reading); }
}
@media (min-width: 1024px) {
 .matrix-inner-hero--service .matrix-inner__intro { --matrix-span-tablet: 4; --matrix-span-desktop: 7; }
 .matrix-inner-hero--service .matrix-service-photo--hero { aspect-ratio: 1; }
 .matrix-inner-body--service .matrix-inner__contents ol { columns: 2; column-gap: var(--matrix-space-48); }
 .matrix-inner-body--service .matrix-inner__contents li { break-inside: avoid; }
 .matrix-inner-hero--about .matrix-inner__intro, .matrix-inner-hero--area .matrix-inner__intro { --matrix-span-tablet: 4; --matrix-span-desktop: 7; }
 .matrix-inner-body--area .matrix-inner__article { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--matrix-space-32); --matrix-span-desktop: 9; }
 .matrix-inner-body--area .matrix-inner__aside { --matrix-span-desktop: 3; }
 .matrix-inner-body--area :is(.matrix-inner__faq,.matrix-inner__mobile-contents) { grid-column: 1/-1; }
}
@media (min-width: 1200px) {
 .matrix-inner .matrix-service-chapter { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--matrix-grid-gap); margin-block-end: var(--matrix-space-96); padding-block-start: var(--matrix-space-48); }
 .matrix-service-chapter--split .matrix-service-chapter__heading { grid-column: span 5; padding-inline-end: var(--matrix-space-32); }
 .matrix-service-chapter--split .matrix-service-chapter__copy { grid-column: span 7; }
 .matrix-service-chapter--comparison .matrix-service-chapter__heading { grid-column: span 4; }
 .matrix-service-chapter--comparison .matrix-service-chapter__copy { grid-column: span 8; }
 .matrix-service-chapter--photo .matrix-service-chapter__copy { grid-column: span 5; padding-inline-end: var(--matrix-space-24); }
 .matrix-service-chapter--photo .matrix-service-chapter__visual { grid-column: span 7; }
 .matrix-service-chapter--reverse .matrix-service-chapter__copy { padding-inline: var(--matrix-space-24) 0; }
 .matrix-service-photo--detail { aspect-ratio: 4 / 3; }
 .matrix-inner-body--service .matrix-service-note { display: grid; grid-template-columns: 3fr 6fr 3fr; gap: var(--matrix-space-32); align-items: center; padding: var(--matrix-space-32); }
 .matrix-inner-body--service .matrix-service-note > p { margin: 0; }
 .matrix-inner-body--service .matrix-inner__mobile-contents { display: block; }

 /* Text-only openings use a 7/5 editorial split instead of an empty image slot. */
 .matrix-inner-hero:not(.matrix-inner-hero--about):not(.matrix-inner-hero--area):not(.matrix-inner-hero--service) .matrix-inner__intro {
  --matrix-span-desktop: 12;
  display: grid; grid-template-columns: 7fr 5fr;
  column-gap: var(--matrix-space-64); align-items: start;
 }
 .matrix-inner-hero:not(.matrix-inner-hero--about):not(.matrix-inner-hero--area):not(.matrix-inner-hero--service) .matrix-inner__intro::before { grid-column: 1; }
 .matrix-inner-hero:not(.matrix-inner-hero--about):not(.matrix-inner-hero--area):not(.matrix-inner-hero--service) .matrix-inner__eyebrow { grid-column: 1; }
 .matrix-inner-hero:not(.matrix-inner-hero--about):not(.matrix-inner-hero--area):not(.matrix-inner-hero--service) h1 { grid-column: 1; grid-row: 3; }
 .matrix-inner-hero:not(.matrix-inner-hero--about):not(.matrix-inner-hero--area):not(.matrix-inner-hero--service) .matrix-inner__lead { grid-column: 2; grid-row: 3; }
 .matrix-inner-hero:not(.matrix-inner-hero--about):not(.matrix-inner-hero--area):not(.matrix-inner-hero--service) .matrix-inner__actions { grid-column: 1; grid-row: 4; margin-block: 0; }
 .matrix-inner-hero:not(.matrix-inner-hero--about):not(.matrix-inner-hero--area):not(.matrix-inner-hero--service) .matrix-inner__meta { grid-column: 2; grid-row: 4; align-self: center; margin-block: 0; }
 .matrix-inner__aside { padding: 0 0 0 var(--matrix-space-32); border-block-start: 0; border-inline-start: 1px solid var(--matrix-border); }
 .matrix-inner__aside .matrix-inner__contents { display: block; }
 .matrix-inner__mobile-contents { display: none; }
 .matrix-inner-final > .matrix-container { display: grid; grid-template-columns: 7fr 5fr; column-gap: var(--matrix-grid-gap); align-items: center; }
 .matrix-inner-final h2 { grid-column: 1; }
 .matrix-inner-final p { grid-column: 1; margin-block-end: 0; }
 .matrix-inner-final .matrix-inner__actions { grid-column: 2; grid-row: 1 / span 2; justify-content: flex-end; margin-block: 0; }
}
@media (max-width: 1023px) {
 .matrix-inner__visual { --matrix-span-tablet: 8; }
 .matrix-inner-hero--about .matrix-inner__image { aspect-ratio: 16/9; }
 .matrix-inner-hero--area .matrix-inner__visual { max-width: 36rem; }
}
@media (max-width: 599px) {
 .matrix-inner__actions .wp-block-button, .matrix-inner__actions .wp-block-button__link { width: 100%; }
}
/* Native contextual guide links keep the homepage row hierarchy. */
.matrix-scenarios__text h3 a { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.matrix-scenarios__text h3 a:hover { color: var(--matrix-green-deep); }
@media (prefers-reduced-motion: reduce) {
 .matrix-inner__related-item a span { transition: none; }
 .matrix-inner__related-item a:hover span { transform: none; }
}
