/* VR-02: approved visual templates. The shared 1024px container is unchanged. */
.public-site a { text-decoration: none; }
.public-site :is(.article-content,.editorial-copy) a { text-decoration: none; }
.public-site a:hover { text-decoration: none; }
.public-site .button:hover { text-decoration: none; }
.public-site .section-heading { max-inline-size: 44rem; }
.public-site .pillar-card { isolation: isolate; overflow: hidden; gap: var(--mk-3); padding: var(--mk-6); min-block-size: 20rem; background: var(--mk-ink); border-radius: var(--mk-1); }
.public-site .pillar-card::after { content: ""; position: absolute; z-index: -2; inset: 0; background-image: var(--pillar-image); background-size: auto 100%; background-position: 72% center; opacity: .52; }
.public-site .pillar-card::before { content: ""; position: absolute; z-index: -1; inset: 0; inline-size: auto; block-size: auto; border: 0; border-radius: 0; background: linear-gradient(180deg, color-mix(in srgb,var(--pillar-accent) 16%,transparent),rgb(7 19 32 / 90%) 75%); }
.public-site .pillar-card .pillar-icon { margin-block-end: var(--mk-6); }
.public-site .pillar-card :is(h3,h4) { max-inline-size: 16ch; }
.public-site .pillar-card > p:not(.eyebrow) { font-size: var(--mk-small); line-height: 1.5; color: #e1e8ef; }
.public-site .pillar-card > a { font-size: var(--mk-small); color: color-mix(in srgb,var(--pillar-accent) 65%,white); }
.pillar-1 { --pillar-image: url('../images/services/diagnostic-concept-800.jpg'); }
.pillar-2 { --pillar-image: url('../images/home/recovery-concept-600.jpg'); }
.pillar-3 { --pillar-image: url('../images/home/advisory-concept-600.jpg'); }
.pillar-4 { --pillar-image: url('../images/home/technology-hero-600.jpg'); }
.pillar-5 { --pillar-image: url('../images/home/technology-hero-600.jpg'); }
.pillar-6 { --pillar-image: url('../images/services/diagnostic-concept-800.jpg'); }
.pillar-7 { --pillar-image: url('../images/home/advisory-concept-600.jpg'); }
.pillar-8 { --pillar-image: url('../images/home/recovery-concept-600.jpg'); }
.pillar-3::after,.pillar-8::after { filter: sepia(.8); }
.pillar-4::after,.pillar-5::after { filter: hue-rotate(35deg); }
.project-band .cta-panel { border-color: rgb(255 255 255 / 6%); box-shadow: 0 1rem 3rem rgb(0 0 0 / 15%); }
.project-band h2 { font-size: var(--mk-h3); }
.project-band .cta-panel > .stack { flex: 1 1 17rem; }
.project-band .cta-panel p:not(.eyebrow) { font-size: var(--mk-small); }
.support-points { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; gap: var(--mk-6); padding: 0; margin: 0; flex: 1 1 22rem; }
.support-points li { display: grid; align-content: start; gap: var(--mk-2); min-inline-size: 0; font-size: var(--mk-meta); }
.support-points svg { color: #65acff; margin-block-end: var(--mk-2); }
.support-points span { color: #c1cfdf; }
.quick-card { position: relative; padding: var(--mk-6); border: 0; border-radius: var(--mk-radius); box-shadow: 0 .5rem 2rem rgb(7 19 32 / 4%); }
.quick-card h3 { font-size: var(--mk-h4); }
.quick-card p { font-size: var(--mk-small); }
.quick-card .commercial-icon { padding: var(--mk-2); border-radius: var(--mk-radius); background: var(--mk-action-blue); color: white; inline-size: 48px; block-size: 48px; }
.quick-store .commercial-icon { background: #087858; }
.quick-maintenance .commercial-icon { background: #6251be; }
.quick-link { display: flex; justify-content: space-between; align-items: center; gap: var(--mk-3); margin-block-start: auto; min-block-size: 44px; color: var(--mk-action-blue); font-size: var(--mk-small); }
.quick-link span { background: var(--mk-light); border-radius: 50%; display: inline-grid; place-items: center; inline-size: 32px; block-size: 32px; flex-shrink: 0; }
.recovery-banner::before { background: linear-gradient(90deg, #240508 5%,rgb(36 5 8 / 86%) 45%,rgb(36 5 8 / 40%)); }
.recovery-banner .band-art { filter: sepia(.85) saturate(1.6) hue-rotate(310deg); }
.recovery-banner h2 { max-inline-size: 25ch; }
.recovery-banner .recovery-action { background: #ba1830; border-radius: var(--mk-radius); }
.recovery-banner .banner-layout > .stack { flex: 1 1 32rem; }
.advisory-band .cta-panel { background: linear-gradient(110deg,#0078cb,#164697 70%,#2a247b); color: white; border: 0; border-radius: var(--mk-radius); }
.advisory-band h2 { font-size: var(--mk-h3); }
.advisory-band p { font-size: var(--mk-small); }
.advisory-band .button { color: var(--mk-action-blue); border-radius: var(--mk-radius); }
.advisory-signature { font-style: italic; font-weight: 600; transform: rotate(-7deg); color: #d6e8ff; font-size: var(--mk-small); }
.advisory-banner::before { background: linear-gradient(90deg,#190609 4%,rgb(7 19 32 / 84%) 43%,rgb(7 19 32 / 24%)); }
.advisory-banner h2 { max-inline-size: 24ch; }
.advisory-banner .banner-layout > .stack { flex: 1 1 28rem; }
.public-site .contact-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--mk-6); align-items: start; }
.public-site .contact-grid > * { margin-block-start: 0; min-inline-size: 0; }
.public-site .contact-grid :is(label,legend) { font-size: var(--mk-small); }
.public-site .contact-grid :is(input,select,textarea) { border-color: var(--mk-line); background: #fbfcfe; border-radius: var(--mk-1); }
.public-site .contact-grid > .contact-span,.contact-grid > fieldset,.contact-grid > .button { grid-column: 1 / -1; }
.public-site .contact-grid > .button { justify-self: center; border-radius: var(--mk-1); min-inline-size: min(100%,18rem); }
.contact-grid #rut-hint { font-size: var(--mk-small); }
.contact-region { max-inline-size: var(--mk-content); }
.public-site .site-footer { background: radial-gradient(ellipse at 55% 90%,#0b2235,var(--mk-ink) 70%); }
.public-site .site-footer .brand { font-size: 2.25rem; }
.public-site .site-footer p { font-size: var(--mk-small); color: #c5d3e1; }
.public-site .site-footer .footer-tagline { font-size: var(--mk-meta); }
.public-site .footer-links a { padding-block: var(--mk-1) calc(var(--mk-1) + 2px); font-size: var(--mk-small); }
.public-site .footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--mk-6); }
.public-site .footer-bottom p { font-size: var(--mk-meta); }
@media (min-width: 48rem) {
    .public-site .contact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .company-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--mk-6); }
    .company-fields > p { grid-column: 1 / -1; }
    .company-fields > * { margin-block-start: 0; }
    .quick-card { display: flex; flex-direction: column; }
}
@media (min-width: 64rem) {
    .project-band .cta-panel { gap: var(--mk-6); }
    .project-band .button { font-size: var(--mk-small); padding-inline: var(--mk-4); }
}
@media (max-width: 47.99rem) {
    .support-points { grid-template-columns: minmax(0,1fr); }
    .support-points li { grid-template-columns: 32px 1fr; }
    .support-points svg { grid-row: span 2; }
    .advisory-signature { display: none; }
    .illustrated-band::before { background: rgb(7 19 32 / 84%); }
}
@media (prefers-reduced-motion: reduce) { .advisory-signature { transform: none; } }

/* Service and case narrative templates use the same full-bleed / inner-container system. */
.narrative-split { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--mk-12); align-items: start; }
.narrative-split > *, .capability-grid > * { min-inline-size: 0; overflow-wrap: anywhere; }
.service-template h1 { max-inline-size: 16ch; color: color-mix(in srgb,var(--pillar-accent) 65%,white); }
.service-hero .service-hero-copy { max-inline-size: 35rem; }
.service-hero .breadcrumb { margin-block-end: var(--mk-16); }
.service-hero .band-art { object-position: 65% center; }
.service-hero::before { background: linear-gradient(90deg,rgb(7 19 32 / 98%),rgb(7 19 32 / 90%) 40%,rgb(7 19 32 / 12%)); }
.service-hero .support-points { margin-block-start: var(--mk-12); }
.service-copy h2:not(:first-child) { margin-block-start: 0; }
.service-template .eyebrow { color: #526c86; }
.service-template .surface-dark .eyebrow { color: #a6c6e9; }
.feature-panel { background: var(--mk-light); border: 1px solid #e6eef7; border-radius: var(--mk-radius); padding: var(--mk-8); }
.feature-panel h2 { font-size: var(--mk-h3); }
.check-list { list-style: none; padding: 0; display: grid; gap: var(--mk-3); }
.check-list li { position: relative; padding-inline-start: var(--mk-8); }
.check-list li::before { content: "âœ“"; position: absolute; inset-inline-start: 0; color: var(--mk-action-blue); font-weight: 700; }
.capability-grid { display: grid; gap: var(--mk-6); }
.capability-card h3 { font-size: var(--mk-h4); }
.capability-card { box-shadow: none; border-color: #dce8f6; }
.capability-card .check-list { font-size: var(--mk-small); }
.process-band { background: radial-gradient(ellipse at 90% 100%,#0b3e59,var(--mk-ink) 70%); }
.process-track { list-style: none; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,7rem),1fr)); gap: var(--mk-6); padding: 0; }
.process-track li { display: grid; align-content: start; gap: var(--mk-4); padding: 0; font-size: var(--mk-small); }
.process-number { border: 1px solid #135873; background: #092d41; color: #54ddec; inline-size: 56px; block-size: 56px; display: grid; place-items: center; border-radius: 50%; }
.outcome-panel { border-inline-start: 3px solid var(--mk-blue); padding-inline-start: var(--mk-8); }
.related-pillar-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr)); }
.service-cta { background: var(--mk-ink) url('../images/services/diagnostic-concept-1600.jpg') 70% center / cover; }
.service-cta .button { align-self: start; justify-self: start; }
.cta-note { align-self: center; justify-self: center; color: #d2e4f5; font-size: var(--mk-h3); font-style: italic; transform: rotate(-7deg); }
.factual-case-card { padding: 0 0 var(--mk-6); overflow: hidden; box-shadow: none; background: #f5f8fc; border-color: #e6eef7; }
.factual-case-card > :not(.case-card-art) { margin-inline: var(--mk-6); }
.factual-case-card h3 { font-size: var(--mk-h4); }
.case-card-art { display: grid; place-items: center; min-block-size: 10rem; background: linear-gradient(100deg,rgb(7 19 32 / 82%),rgb(7 19 32 / 48%)),url('../images/services/diagnostic-concept-800.jpg') 80% center / cover; color: #66ddeb; margin: 0; }
.case-index, .case-tags { display: flex; flex-wrap: wrap; gap: var(--mk-4); padding: 0; list-style: none; }
.case-tags { font-size: var(--mk-small); }
.case-tags li { padding: var(--mk-1) var(--mk-3); border: 1px solid #244862; border-radius: var(--mk-pill); background: #102c40; }
.case-template.case-narrative { padding: 0; border: 0; }
.case-template.case-narrative section { margin-block: 0; }
.case-template h2 { font-size: var(--mk-h1); }
.case-template h3 { font-size: var(--mk-h2); }
.case-template h4 { font-size: var(--mk-h4); }
.case-hero::before { background: radial-gradient(ellipse at 80% 60%,#092d42,var(--mk-ink) 75%); }
.case-work { padding-inline-start: var(--mk-8); border-inline-start: 2px solid var(--mk-blue); }
.case-work p { position: relative; }
.case-work p::before { content: ""; position: absolute; inset-inline-start: calc(-1 * var(--mk-8) - 5px); inset-block-start: .55em; inline-size: 8px; block-size: 8px; border-radius: 50%; background: var(--mk-blue); }
.concept-visual { position: relative; aspect-ratio: 4 / 3; min-inline-size: 0; inline-size: 100%; border-radius: var(--mk-radius); background: #061625 url('../images/services/diagnostic-concept-800.jpg') 85% center / cover; }
/* Prefer AVIF without changing the JPEG fallback geometry or overlays. */
@supports (background-image: image-set(url("../images/home/technology-hero-600.avif") type("image/avif"))) {
 .pillar-1 { --pillar-image: image-set(url('../images/services/diagnostic-concept-800.avif') type("image/avif"), url('../images/services/diagnostic-concept-800.jpg') type("image/jpeg")); }
 .pillar-2 { --pillar-image: image-set(url('../images/home/recovery-concept-600.avif') type("image/avif"), url('../images/home/recovery-concept-600.jpg') type("image/jpeg")); }
 .pillar-3 { --pillar-image: image-set(url('../images/home/advisory-concept-600.avif') type("image/avif"), url('../images/home/advisory-concept-600.jpg') type("image/jpeg")); }
 .pillar-4 { --pillar-image: image-set(url('../images/home/technology-hero-600.avif') type("image/avif"), url('../images/home/technology-hero-600.jpg') type("image/jpeg")); }
 .pillar-5 { --pillar-image: image-set(url('../images/home/technology-hero-600.avif') type("image/avif"), url('../images/home/technology-hero-600.jpg') type("image/jpeg")); }
 .pillar-6 { --pillar-image: image-set(url('../images/services/diagnostic-concept-800.avif') type("image/avif"), url('../images/services/diagnostic-concept-800.jpg') type("image/jpeg")); }
 .pillar-7 { --pillar-image: image-set(url('../images/home/advisory-concept-600.avif') type("image/avif"), url('../images/home/advisory-concept-600.jpg') type("image/jpeg")); }
 .pillar-8 { --pillar-image: image-set(url('../images/home/recovery-concept-600.avif') type("image/avif"), url('../images/home/recovery-concept-600.jpg') type("image/jpeg")); }
 .service-cta { background-image: image-set(url('../images/services/diagnostic-concept-1600.avif') type("image/avif"), url('../images/services/diagnostic-concept-1600.jpg') type("image/jpeg")); }
 .case-card-art { background-image: linear-gradient(100deg,rgb(7 19 32 / 82%),rgb(7 19 32 / 48%)),image-set(url('../images/services/diagnostic-concept-800.avif') type("image/avif"), url('../images/services/diagnostic-concept-800.jpg') type("image/jpeg")); }
 .concept-visual { background-image: image-set(url('../images/services/diagnostic-concept-800.avif') type("image/avif"), url('../images/services/diagnostic-concept-800.jpg') type("image/jpeg")); }
}
.concept-visual > span { position: absolute; bottom: var(--mk-4); left: var(--mk-4); right: var(--mk-4); inline-size: fit-content; padding: var(--mk-1) var(--mk-2); color: white; background: rgb(7 19 32 / 90%); font-size: var(--mk-meta); }
.case-solution { background: linear-gradient(110deg,#041a29,#0b3450); }
.solution-panel { padding: var(--mk-8); border: 1px solid #295066; border-radius: var(--mk-radius); color: #dceefd; }
.text-link { color: var(--mk-action-blue); font-weight: 600; display: inline-flex; align-items: center; min-block-size: 44px; }
.surface-dark .text-link { color: #aad5ff; }
@media (min-width: 48rem) {
 .narrative-split { grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); }
 .capability-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 64rem) {
 .capability-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .public-site .footer-links a { min-block-size: 28px; padding-block: 2px 4px; }
 .public-site .site-footer { padding-block: var(--mk-12) var(--mk-6); }
}
@media (max-width: 47.99rem) {
 .service-hero::before { background: rgb(7 19 32 / 86%); }
 .cta-note { display: none; }
 .process-track { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce) { .cta-note { transform: none; } }

.case-template .pillar-card h4 { font-size: var(--mk-h4); }

/* Factual case composition: illustration and source-backed scope replace mockup evidence. */
.case-hero .case-subtitle { display: block; margin-block-start: var(--mk-4); color: #55deec; font-size: var(--mk-h3); }
.solution-grid { display: grid; grid-template-columns: minmax(0,1fr); }
.solution-grid > * { min-inline-size: 0; overflow-wrap: anywhere; }
.solution-grid .solution-copy { padding: var(--mk-8); }
.solution-grid .concept-visual { border-radius: 0; block-size: 100%; min-block-size: 16rem; }
.solution-grid .solution-panel { border: 0; border-radius: 0; background: var(--mk-light); color: var(--mk-ink); }
.case-outcomes { display: grid; gap: var(--mk-6); }
.case-outcomes .card { min-inline-size: 0; overflow-wrap: anywhere; border-color: #dce8f6; box-shadow: none; }
.case-template .related-pillar-grid .pillar-card { min-block-size: 0; background: #f6faff; color: var(--mk-ink); border: 1px solid #dce8f6; }
.case-template .related-pillar-grid .pillar-card::before,.case-template .related-pillar-grid .pillar-card::after { content: none; }
.case-template .related-pillar-grid .pillar-card p:not(.eyebrow) { color: var(--mk-ink); }
.case-template .related-pillar-grid .pillar-card a,.case-template .related-pillar-grid .pillar-icon { color: var(--mk-action-blue); }
.case-template .related-pillar-grid .pillar-icon { margin-block-end: 0; }
@media (min-width: 48rem) {
 .solution-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .solution-grid h3 { font-size: var(--mk-h3); }
 .case-outcomes { grid-template-columns: repeat(auto-fit,minmax(15rem,1fr)); }
}

@media (min-width: 64rem) {
 .service-template [data-service-section="related_cases"] .factual-case-card { display: grid; grid-template-columns: 35% minmax(0,1fr); align-content: stretch; column-gap: 0; row-gap: var(--mk-4); padding-block: 0 var(--mk-6); }
 .service-template [data-service-section="related_cases"] .factual-case-card > :not(.case-card-art) { grid-column: 2; margin-block: 0; }
 .service-template [data-service-section="related_cases"] .factual-case-card > .eyebrow { margin-block-start: var(--mk-6); }
 .service-template [data-service-section="related_cases"] .case-card-art { grid-column: 1; grid-row: 1 / span 4; block-size: calc(100% + var(--mk-6)); background-position: 80% center; }
}

[data-express-family] > .container > .commercial-icon { background: var(--mk-action-blue); color: white; padding: var(--mk-2); border-radius: var(--mk-radius); }
[data-express-family="store"] > .container > .commercial-icon { background: #087858; }
[data-express-family="maintenance"] > .container > .commercial-icon { background: #6251be; }
[data-express-family] .offer-card { border-color: #e6eef7; box-shadow: 0 .5rem 2rem rgb(7 19 32 / 4%); }

.service-template .pillar-card .eyebrow { color: #c1cfdf; background: var(--mk-ink); inline-size: fit-content; padding: 2px var(--mk-1); }

/* QA-PR-01: refinement within the existing content width and visual system. */
.public-site :is(.brand,.quick-link,.factual-case-card .text-link):hover { text-decoration: none; }
html:has(.public-site) { scroll-behavior: smooth; }
#home-contact { scroll-margin-block-start: var(--mk-8); }
.contact-channels { display: grid; gap: var(--mk-3); list-style: none; padding: 0; }
.contact-channels li { display: flex; align-items: center; gap: var(--mk-3); min-inline-size: 0; }
.contact-channels svg { flex: 0 0 20px; color: var(--mk-action-blue); }
.contact-channels a { overflow-wrap: anywhere; min-block-size: 44px; display: inline-flex; align-items: center; }
.site-footer .contact-channels { font-size: var(--mk-small); }
.site-footer .contact-channels svg { color: #8ec5ff; }
.hero-motion-toggle { position: absolute; inset-block-start: 100%; inset-inline-start: 0; z-index: 2; max-inline-size: 100%; background: rgb(7 19 32 / 85%); border: 1px solid #8cb6df; color: white; padding: .5rem .75rem; border-radius: var(--mk-radius); min-block-size: 44px; font-size: var(--mk-meta); justify-self: start; cursor: pointer; }
.hero-motion-toggle[hidden] { display: none; }
.public-hero .hero-frame { opacity: 0; pointer-events: none; }
.public-hero > picture:first-of-type .hero-frame { opacity: .9; }
.public-hero[data-motion="playing"] .hero-frame,
.public-hero[data-motion="paused"] .hero-frame { animation: hero-ambience 32s linear infinite; }
.public-hero[data-motion] > picture:nth-of-type(1) .hero-frame { animation-delay: -2s; }
.public-hero[data-motion] > picture:nth-of-type(2) .hero-frame { animation-delay: -26s; }
.public-hero[data-motion] > picture:nth-of-type(3) .hero-frame { animation-delay: -18s; }
.public-hero[data-motion] > picture:nth-of-type(4) .hero-frame { animation-delay: -10s; }
.public-hero[data-motion="paused"] .hero-frame { animation-play-state: paused; }
@keyframes hero-ambience {
    0% { opacity: 0; transform: scale(1); }
    6%,25% { opacity: .9; }
    31%,100% { opacity: 0; transform: scale(1.045); }
}
@media (prefers-reduced-motion: reduce) {
    html:has(.public-site) { scroll-behavior: auto; }
    .public-hero[data-motion] .hero-frame { animation: none; transform: none; }
    .public-hero > picture:not(:first-of-type) .hero-frame { display: none; }
}

/* Shared Contact: introduction / compact fields, recomposed into one column on narrow layouts. */
.contact-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--mk-12); align-items: start; }
.contact-layout > *, .contact-fields > *, .company-fields > * { min-inline-size: 0; }
.contact-intro h2 { font-size: var(--mk-h2); }
.contact-intro > p:not(.eyebrow) { color: #465b70; }
.public-site .contact-grid { gap: var(--mk-4); }
.public-site .contact-grid :is(input,select,textarea) { padding: .55rem .65rem; }
.public-site .contact-grid label { display: grid; gap: .35rem; }
.contact-grid small { font-size: var(--mk-meta); color: #465b70; }
.public-site .client-types { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; padding: 0; border: 0; }
.public-site .client-types label { display: inline-flex; align-items: center; min-block-size: 44px; gap: .5rem; }
.public-site .client-types input { inline-size: 1.1rem; min-block-size: 0; block-size: 1.1rem; margin: 0; accent-color: var(--mk-action-blue); }
.company-fields { border: 1px solid var(--mk-line); border-radius: var(--mk-radius); padding: var(--mk-4); }
.company-fields p { font-size: var(--mk-meta); color: #465b70; }
.request-card { --request-color: #87510b; --request-surface: #fff7e7; display: flex; align-items: start; gap: var(--mk-4); padding: var(--mk-4); border: 1px solid color-mix(in srgb,var(--request-color) 25%,white); border-radius: var(--mk-radius); background: var(--request-surface); }
.request-advisory { --request-color: #126644; --request-surface: #edfaf4; }
.request-consultation { --request-color: #155c9e; --request-surface: #eef6ff; }
.request-icon { display: grid; place-items: center; flex: 0 0 48px; block-size: 48px; border-radius: var(--mk-radius); color: white; background: var(--request-color); }
.request-copy { min-inline-size: 0; overflow-wrap: anywhere; display: grid; gap: .4rem; }
.request-type,.request-price { color: var(--request-color); font-weight: 700; }
.request-card h3 { font-size: var(--mk-h4); }
.request-note,.request-clear { font-size: var(--mk-meta); }
.request-clear { min-block-size: 44px; display: inline-flex; align-items: center; text-decoration: none; }
.contact-fields > .empty-panel { margin-block-end: var(--mk-6); }
@media (min-width: 64rem) { .contact-layout { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: var(--mk-12); } }
@media (max-width: 47.99rem) {
    .company-fields { display: grid; gap: var(--mk-4); }
    .request-card { gap: var(--mk-3); }
    .request-icon { flex-basis: 40px; block-size: 40px; }
}

.contact-grid [data-person-rut-slot] { grid-column: 1 / -1; }
.company-fields { gap: var(--mk-4); align-items: start; }
.public-site .client-types input { padding: 0; flex-shrink: 0; }
@media (min-width: 48rem) { [data-person-rut-slot] > label { max-inline-size: calc(50% - .5rem); } }

/* QA-PR-01F: approved local refinements, retaining the shared 1024px layout. */
.header-contact { background: #E9273E; color: white; }
.header-contact:hover { background: #c91b30; color: white; }
.header-contact:active { background: #aa1729; }
.public-hero .hero-layout > .stack { position: relative; }
.hero-motion-toggle:not(:focus-visible) { position: absolute; inline-size: 1px; block-size: 1px; min-block-size: 0; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* HeroBenefits: shared three/four-item grammar from the approved Services index. */
.hero-benefits { list-style: none; padding: 0; margin: var(--mk-12) 0 0; display: grid; gap: var(--mk-6); }
.hero-benefits li { display: flex; align-items: center; gap: var(--mk-4); margin: 0; min-inline-size: 0; font-size: var(--mk-small); line-height: 1.6; }
.hero-benefits svg { flex: 0 0 40px; inline-size: 40px; block-size: 40px; color: var(--mk-blue); }
.hero-benefits li > span { min-inline-size: 0; overflow-wrap: anywhere; }
.hero-benefits :is(strong,small) { display: block; font-size: inherit; }
@media (min-width:48rem) { .hero-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width:64rem) {
    .hero-benefits { grid-template-columns: repeat(auto-fit,minmax(min(100%,14rem),1fr)); }
}
.quick-card h3 a:hover { text-decoration: none; color: var(--mk-action-blue); }
.contact-context { border: 0; margin: 0; padding: 0; min-inline-size: 0; }
.generic-contact { display: grid; gap: var(--mk-4); border: 0; margin: 0; padding: 0; }
.generic-contact[hidden] { display: none; }
.generic-contact legend { padding: 0 0 var(--mk-2); font-weight: 700; }
.request-card { position: relative; --request-color: #C86B00; --request-accent: #F1870E; --request-border: #FACD18; --request-surface: #FFFCF2; border-color: var(--request-border); padding-inline-end: 3.5rem; }
.request-consultation { --request-color: #124A8D; --request-accent: #187FFA; --request-border: #187FFA; --request-surface: #F3F9FF; }
.request-advisory { --request-color: #138A27; --request-accent: #15C933; --request-border: #15C933; --request-surface: #F1FCF3; }
.request-icon { background: var(--request-color); box-shadow: inset 0 0 0 2px var(--request-accent); }
.request-type { color: var(--mk-ink); }
.request-card h3,.request-price { color: var(--request-color); font-size: 1.25rem; font-weight: 700; }
.request-disclaimer { color: #E9273E; font-size: 10px; font-weight: 700; line-height: 1.4; }
.request-close { position: absolute; inset-block-start: .25rem; inset-inline-end: .25rem; border: 0; background: transparent; color: #124A8D; inline-size: 44px; block-size: 44px; font-size: 1.75rem; cursor: pointer; }
.request-close:hover { background: rgb(7 19 32 / 7%); border-radius: var(--mk-radius); }
.request-close[hidden] { display: none; }
@media (min-width: 48rem) { .generic-contact { grid-template-columns: repeat(2,minmax(0,1fr)); } }

/* QA-PR-02: one ServiceDetail, scoped away from the human-approved Home and shell. */
.service-template { --service-accent: color-mix(in srgb,var(--pillar-accent) 45%,#0078b9); }
.service-template .surface-dark { --service-accent: color-mix(in srgb,var(--pillar-accent) 65%,white); }
.service-template .service-emphasis { color: var(--service-accent); }
.service-template .eyebrow { border-inline-start: 3px solid var(--mk-blue); padding-inline-start: var(--mk-3); font-size: var(--mk-meta); letter-spacing: .16em; }
.service-template .detail-icon { inline-size: 40px; block-size: 40px; flex: 0 0 40px; color: var(--service-accent); }
.service-template .section { padding-block: var(--mk-16); }
.service-template .service-hero { padding-block: var(--mk-8) var(--mk-12); }
.service-hero > .container,.service-cta > .container { position: relative; }
.service-hero .breadcrumb { margin-block-end: var(--mk-12); }
.service-template .service-hero-copy { max-inline-size: 32rem; }
.service-hero-copy > .eyebrow { border: 0; padding: 0; color: #cbd6e1; display: flex; gap: var(--mk-4); align-items: center; }
.service-number { background: var(--service-accent); color: var(--mk-ink); letter-spacing: .06em; padding: 0 var(--mk-2); font-weight: 800; }
.service-template .service-hero h1 { color: white; font-weight: 800; font-size: var(--mk-h1); max-inline-size: 18ch; }
.service-hero h1 .service-emphasis { color: var(--service-accent); }
.service-template .service-proposition { font-size: var(--mk-h3); line-height: 1.2; max-inline-size: 24ch; }
.service-description { font-size: var(--mk-body); max-inline-size: 49ch; line-height: 1.5; }
.service-hero::before,.service-cta::before { background: linear-gradient(90deg,rgb(7 19 32 / 55%),rgb(7 19 32 / 25%) 45%,transparent 70%); }
.service-template .service-benefits { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--mk-6); max-inline-size: 45rem; margin: var(--mk-8) 0 0; padding: 0; list-style: none; }
.service-benefits li { display: flex; gap: var(--mk-3); align-items: center; min-inline-size: 0; font-size: var(--mk-small); line-height: 1.4; margin: 0; }
.service-benefits-default { max-inline-size: 42rem; margin-block-start: var(--mk-8); }
.service-signature { position: absolute; inset-inline-end: var(--mk-4); inset-block-end: 0; max-inline-size: 10rem; color: #d4e7f1; font-size: var(--mk-body-lg); line-height: 1.4; font-style: italic; transform: rotate(-7deg); }
.service-problem { background: linear-gradient(100deg,#fbfdff,white); }
.service-template .feature-panel { border: 0; background: #f2f8ff; }
.feature-panel-title { display: flex; align-items: center; gap: var(--mk-6); }
.service-template .feature-panel h2 { font-size: var(--mk-h4); letter-spacing: -.015em; }
.service-template .check-list { margin-block-end: 0; font-size: var(--mk-small); gap: var(--mk-3); }
.service-template .check-list li::before { content: "✓"; }
.service-template .check-list li+li { margin-block-start: 0; }
.service-section-heading { display: grid; gap: var(--mk-6); align-items: center; }
.service-section-heading h2 { margin-block-start: var(--mk-3); }
.service-section-heading > p,.service-section-heading > .stack { font-size: var(--mk-small); }
.service-template .capability-card { background: #fbfdff; border-radius: var(--mk-radius); padding: var(--mk-6); gap: var(--mk-4); }
.capability-title { display: flex; align-items: center; gap: var(--mk-4); }
.capability-title h3 { font-size: var(--mk-body); }
.service-template .capability-card p { font-size: var(--mk-small); line-height: 1.5; }
.service-template .capability-card > * + * { margin-block-start: var(--mk-4); }
.service-template .capability-card .detail-icon { padding: var(--mk-1); background: #ecf9ff; border-radius: var(--mk-radius); }
.service-template .process-band { background: radial-gradient(ellipse at 90% 20%,#07304a, #030f19 75%); }
.service-template .process-track { grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--mk-8) var(--mk-6); margin-block: var(--mk-12) 0; }
.service-template .process-track li { position: relative; gap: var(--mk-3); margin: 0; }
.service-template .process-track h3 { font-size: var(--mk-small); }
.service-template .process-track p { font-size: var(--mk-meta); line-height: 1.5; }
.service-template .process-number { inline-size: 64px; block-size: 64px; }
.service-template .process-number .detail-icon { inline-size: 32px; block-size: 32px; }
.service-template .process-track li:not(:last-child)::after { content: "→"; position: absolute; inset-block-start: 18px; inset-inline-end: 0; color: var(--service-accent); font-size: 24px; }
.service-template .outcome-panel { border: 0; padding: 0; }
.service-outcomes .check-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--mk-6); }
.service-template .service-cases { background: #f8fbff; border-block: 1px solid #eef4fa; }
.service-case-grid { display: grid; gap: var(--mk-6); }
.service-case-card { display: grid; grid-template-columns: 38% minmax(0,1fr); background: white; border: 1px solid #e6eef7; border-radius: var(--mk-radius); overflow: hidden; }
.service-case-card > .stack { padding: var(--mk-4); min-inline-size: 0; }
.service-case-card .stack > * + * { margin-block-start: var(--mk-2); }
.service-case-card :is(h3,p,a) { font-size: var(--mk-small); line-height: 1.45; }
.service-case-tags { font-size: var(--mk-meta); font-weight: 600; color: #35536b; }
.service-case-art { position: relative; min-block-size: 13rem; background: var(--mk-ink); }
.service-case-art img { position: absolute; inline-size: 100%; block-size: 100%; object-fit: cover; object-position: 75% center; }
.service-case-art span { position: absolute; inset: auto var(--mk-2) var(--mk-2); color: white; background: rgb(7 19 32 / 86%); font-size: .625rem; padding: var(--mk-1); }
.service-related-grid { display: grid; gap: var(--mk-4); }
.service-related-card { display: flex; align-items: start; gap: var(--mk-4); padding: var(--mk-6); border-radius: var(--mk-radius); color: white; position: relative; isolation: isolate; overflow: hidden; background: var(--mk-ink); }
.service-related-card::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(110deg,color-mix(in srgb,var(--pillar-accent) 25%,#02111d),rgb(2 17 29 / 84%)),var(--pillar-image) center / cover; }
.service-related-card .pillar-icon { flex: 0 0 40px; inline-size: 40px; block-size: 40px; }
.service-related-card h3 { font-size: var(--mk-body); }
.service-related-card p { font-size: var(--mk-small); line-height: 1.45; color: #edf4fa; }
.service-related-card .text-link { color: color-mix(in srgb,var(--pillar-accent) 40%,white); font-size: var(--mk-small); }
.service-related-card .stack { min-inline-size: 0; }
.service-related-card .stack > * + * { margin-block-start: var(--mk-3); }
.service-template .service-cta { background: var(--mk-ink); }
.service-cta-copy { max-inline-size: 35rem; }
.service-cta-copy h2 { font-size: var(--mk-h3); }
.service-cta-copy p { font-size: var(--mk-small); }
.service-cta .service-benefits { max-inline-size: 46rem; }
@media (min-width: 48rem) {
 .service-template .narrative-split { grid-template-columns: minmax(0,1.2fr) minmax(0,.9fr); gap: var(--mk-24); }
 .service-section-heading { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: var(--mk-12); }
 .service-case-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .service-template .process-track { grid-template-columns: repeat(4,minmax(0,1fr)); }
 .service-related-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (min-width: 64rem) {
 .service-template .section { padding-block: var(--mk-24); }
 .service-template .service-hero { padding-block: var(--mk-8) var(--mk-12); }
 .service-template .service-problem .narrative-split { grid-template-columns: minmax(0,1.2fr) minmax(0,.85fr); gap: var(--mk-24); }
 .service-template .process-track { grid-template-columns: repeat(7,minmax(0,1fr)); }
 .service-template .service-outcomes .narrative-split { grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: var(--mk-12); }
}
@media (max-width: 63.99rem) {
 .service-template .service-signature { position: static; margin-block-start: var(--mk-8); margin-inline-start: auto; margin-inline-end: var(--mk-4); }
 .service-related-card { flex-direction: column; }
}
@media (max-width: 47.99rem) {
 .service-template .service-hero::before,.service-template .service-cta::before { background: rgb(7 19 32 / 84%); }
 .service-template .service-benefits { grid-template-columns: minmax(0,1fr); gap: var(--mk-6); }
 .service-template .service-benefits li { max-inline-size: 20rem; }
 .service-outcomes .check-list { grid-template-columns: minmax(0,1fr); }
 .service-template .process-track li:nth-child(2n)::after { content: none; }
}
@media (prefers-reduced-motion: reduce) { .service-signature { transform: none; } }

.service-template .eyebrow::before { content: none; }
.service-benefits .service-emphasis { display: block; color: inherit; font-weight: 600; }
@media (min-width: 48rem) {
 .service-outcomes .check-list { display: block; columns: 2; column-gap: var(--mk-8); }
 .service-outcomes .check-list li { break-inside: avoid; margin-block-end: var(--mk-6); }
}

/* QA-PR-03: shared breadcrumb; service identity derives from the existing pillar token. */
.service-template .breadcrumb ol { align-items: baseline; line-height: 1.5; }
.service-template .breadcrumb li { display: inline-flex; align-items: baseline; margin-block: 0; line-height: inherit; }
.service-template .breadcrumb li + li::before { content: "›"; line-height: inherit; }
.service-template:not(.pillar-1) { --service-accent: color-mix(in srgb,var(--pillar-accent) 52%,var(--mk-ink)); }
.service-template:not(.pillar-1) .surface-dark { --service-accent: var(--pillar-accent); }
.service-template:not(.pillar-1) .eyebrow { border-inline-start-color: var(--service-accent); }
.service-template:not(.pillar-1) .capability-card .detail-icon { background: color-mix(in srgb,var(--pillar-accent) 8%,white); }
.service-template:not(.pillar-1) .process-number { border-color: color-mix(in srgb,var(--pillar-accent) 35%,var(--mk-ink)); background: color-mix(in srgb,var(--pillar-accent) 10%,var(--mk-ink)); color: var(--service-accent); }
.service-template:is(.pillar-2,.pillar-3,.pillar-4,.pillar-5,.pillar-7,.pillar-8) :is(.service-hero,.service-cta) .button { background: var(--pillar-accent); color: var(--mk-ink); border-color: var(--pillar-accent); }
@media (hover: hover) {
 .service-template:is(.pillar-2,.pillar-3,.pillar-4,.pillar-5,.pillar-7,.pillar-8) :is(.service-hero,.service-cta) .button:hover { background: color-mix(in srgb,var(--pillar-accent) 84%,white); }
}

.service-template.pillar-2 .service-hero .band-art { object-position: right center; }

/* Approved service summaries may precede their expanded case publication. */
.service-case-card .text-link:disabled { appearance: none; padding: 0; border: 0; background: transparent; color: inherit; text-align: start; cursor: default; text-decoration: none; }

.service-case-card .text-link:disabled + small { display: block; }

/* ServiceDetail accommodates an approved six-step sequence without altering seven-step services. */
@media (min-width: 1024px) {
 .service-template .process-track:has(> li:nth-child(6):last-child) { grid-template-columns: repeat(6,minmax(0,1fr)); }
}
.service-case-card .case-availability { display: block; }

/* Format selection wrappers must not create boxes or change the approved image geometry. */
.illustrated-band > picture, .service-case-art > picture { display: contents; }

/* Shared in-page Contact anchor clears the existing navigation without shifting content. */
.service-contact { scroll-margin-block-start: 5rem; }

/* QA-PR-13: Services index composition; card geometry remains shared with Home. */
.services-index { overflow-wrap: anywhere; }
.services-index-hero { padding-block: var(--mk-8) var(--mk-12); }
.services-index .container { position: relative; }
.services-index-hero .breadcrumb { margin-block-end: var(--mk-12); }
.services-index-hero .band-art { object-position: 85% center; }
.services-index .breadcrumb ol { align-items: baseline; }
.services-index .breadcrumb li { display: inline-flex; align-items: baseline; margin-block: 0; }
.services-index-copy { min-inline-size: 0; max-inline-size: 34rem; }
.services-index-copy h1 { font-size: clamp(2rem,3.5vw,2.75rem); font-weight: 800; line-height: 1.12; text-wrap: initial; }
.services-index-copy h1 .text-blue { display: inline-block; max-inline-size: 100%; }
.services-index-copy .button { justify-self: start; align-self: start; }
.services-index :is(.services-index-hero,.services-index-cta)::before { background: linear-gradient(90deg,rgb(7 19 32 / 65%),rgb(7 19 32 / 30%) 45%,transparent 75%); }
.services-index-signature { max-inline-size: 10rem; margin-block: var(--mk-8); margin-inline-start: auto; color: #d4e7f1; font-size: var(--mk-body-lg); font-style: italic; }
.services-index-reason-grid svg { flex-shrink: 0; color: var(--mk-blue); }
.services-index-heading { display: grid; gap: var(--mk-8); align-items: center; margin-block-end: var(--mk-8); }
.services-index-heading > * { min-inline-size: 0; }
.services-index-motto { max-inline-size: 13rem; font-size: var(--mk-meta); text-transform: uppercase; font-weight: 700; letter-spacing: .15em; color: var(--mk-action-blue); }
.services-index-reason-grid { display: grid; gap: var(--mk-8); }
.services-index-reason-grid > div { min-inline-size: 0; border-inline-start: 1px solid var(--mk-line); padding-inline-start: var(--mk-6); }
.services-index-reason-grid h3 { font-size: var(--mk-h4); }
.services-index-reason-grid p { font-size: var(--mk-small); }
.services-index-cta { padding-block: var(--mk-16); }
@media (min-width: 48rem) {
    .services-index-reason-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .services-index-heading { grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); }
    .services-index-motto { justify-self: end; }
}
@media (min-width: 64rem) {
    .services-index-reason-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .services-index-signature { position: absolute; inset-inline-end: var(--mk-4); inset-block-start: var(--mk-12); margin: 0; }
    .services-index-reason-grid > div:first-child { border: 0; padding-inline-start: 0; }
}
@media (max-width: 63.999rem) {
    .services-index :is(.services-index-hero,.services-index-cta)::before { background: rgb(7 19 32 / 84%); }
}

/* QA-PR-15: About composition. Shared cards, timeline, buttons and shell retain their contracts. */
.about-page { overflow-wrap: anywhere; }
.about-page .container { position: relative; }
.about-page :not(.pillar-card) > .eyebrow { color: var(--mk-action-blue); }
.about-page .surface-dark .eyebrow { color: #b6d6f8; }
.about-page .breadcrumb ol { align-items: baseline; }
.about-page .breadcrumb li { display: inline-flex; align-items: baseline; margin-block: 0; }
.about-hero { padding-block: var(--mk-8) var(--mk-12); }
.about-hero .band-art { object-position: center; }
.about-hero .breadcrumb { margin-block-end: var(--mk-12); }
.about-hero-copy { min-inline-size: 0; max-inline-size: 34rem; }
.about-hero h1 { font-size: clamp(2rem,3.5vw,2.75rem); font-weight: 800; line-height: 1.12; text-wrap: initial; }
.about-actions { display: flex; flex-wrap: wrap; gap: var(--mk-4); }
.about-page :is(.about-hero,.about-final)::before { background: linear-gradient(90deg,rgb(7 19 32 / 65%),rgb(7 19 32 / 30%) 45%,transparent 75%); }
.about-page .about-final::before { background: linear-gradient(90deg,rgb(7 19 32 / 65%),rgb(7 19 32 / 30%) 45%,rgb(7 19 32 / 60%) 75%); }
.about-signature { max-inline-size: 15rem; margin-block: var(--mk-8); margin-inline-start: auto; color: #d4e7f1; font-size: var(--mk-body-lg); font-style: italic; text-shadow: 0 1px 4px var(--mk-ink); }
.about-benefits { list-style: none; padding: 0; margin: var(--mk-12) 0 0; display: grid; gap: var(--mk-6); max-inline-size: 45rem; }
.about-benefits :is(strong,small),.about-areas :is(strong,small) { display: block; font-size: inherit; }
.about-page .detail-icon { flex-shrink: 0; color: var(--mk-blue); }
.about-us-grid { display: grid; gap: var(--mk-8); align-items: center; }
.about-us-grid > *, .about-section-heading > *, .about-partnership > * { min-inline-size: 0; }
.about-office { position: relative; overflow: hidden; border-radius: var(--mk-radius); background: var(--mk-ink); color: white; }
.about-office picture > img { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 1; object-fit: cover; }
.about-office .brand { position: absolute; inset-block-start: 26%; inset-inline-start: 38%; max-inline-size: 58%; font-size: clamp(24px,3vw,32px); }
.about-areas { list-style: none; padding: var(--mk-4); margin: 0; display: grid; gap: var(--mk-4); }
.about-areas li { display: flex; align-items: center; gap: var(--mk-3); margin: 0; font-size: var(--mk-small); }
.about-areas .detail-icon { inline-size: 28px; block-size: 28px; }
.about-areas small { color: var(--mk-muted); }
.about-section-heading { display: grid; align-items: center; gap: var(--mk-8); margin-block-end: var(--mk-8); }
.about-capabilities { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--mk-6); }
.about-capability { display: flex; align-items: start; gap: var(--mk-4); padding: var(--mk-6); }
.about-capability .stack { min-inline-size: 0; flex: 1; }
.about-capability .stack > * + * { margin-block-start: var(--mk-2); }
.about-capability h3 { font-size: var(--mk-body); }
.about-capability p { font-size: var(--mk-small); line-height: 1.5; }
.about-capability .detail-icon { background: color-mix(in srgb,var(--pillar-accent) 12%,white); color: color-mix(in srgb,var(--pillar-accent) 65%,var(--mk-ink)); border-radius: var(--mk-radius); padding: var(--mk-1); }
.about-capability > span { color: var(--mk-action-blue); }
.about-process { background: radial-gradient(ellipse at 90% 20%,#07304a,#030f19 75%); }
.about-timeline .process-track { margin-block-start: var(--mk-12); }
.about-step { color: #7dc3ff; }
.about-partnership { display: grid; gap: var(--mk-8); align-items: center; }
.about-principles { display: grid; gap: var(--mk-6); padding: 0; margin: 0; font-size: var(--mk-small); }
.about-principles li::before { content: "✓"; }
.about-principles li + li { margin-block-start: 0; }
.about-trust { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--mk-6); }
.about-trust .card { display: flex; align-items: center; gap: var(--mk-4); padding: var(--mk-6); }
.about-trust h3 { font-size: var(--mk-body); }
.about-trust p { font-size: var(--mk-meta); margin-block-start: var(--mk-2); }
.about-count { display: block; color: var(--mk-ink); font-weight: 800; font-size: var(--mk-h4); line-height: 1.4; }
.about-final .button { align-self: start; }
@media (min-width: 768px) {
    .about-benefits { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .about-us-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .about-us-grid > .stack { grid-column: 1 / -1; }
    .about-section-heading { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); }
    .about-capabilities,.about-trust { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .about-principles { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(4,auto); grid-auto-flow: column; }
}
@media (min-width: 1024px) {
    .about-us-grid { grid-template-columns: minmax(0,1.75fr) minmax(0,1fr) minmax(0,1.05fr); }
    .about-us-grid > .stack { grid-column: auto; }
    .about-capabilities { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .about-partnership { grid-template-columns: minmax(0,1fr) minmax(0,1.4fr); gap: var(--mk-12); }
    .about-trust { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .about-trust .card { padding: var(--mk-4); gap: var(--mk-3); }
    .about-signature { position: absolute; inset-inline-end: var(--mk-4); inset-block-end: var(--mk-8); margin: 0; max-inline-size: 14rem; }
    .about-hero .about-signature { inset-block-end: var(--mk-16); }
    .about-final .about-signature { inset-block-start: 0; inset-block-end: auto; }
}
@media (max-width: 767px) {
    .about-page :is(.about-hero,.about-final)::before { background: rgb(7 19 32 / 84%); }
    .about-capability { padding: var(--mk-4); gap: var(--mk-2); }
}

/* QA-PR-14: News index composition; shared shell, buttons and article data remain authoritative. */
.news-index { overflow-wrap: anywhere; }
.news-index .container { position: relative; }
.news-index .eyebrow { color: var(--mk-action-blue); }
.news-index .surface-dark .eyebrow { color: #b6d6f8; }
.news-index .breadcrumb ol,.news-index .breadcrumb li { align-items: baseline; }
.news-index .breadcrumb li { display: inline-flex; margin-block: 0; }
.news-hero { padding-block: var(--mk-8) var(--mk-12); }
.news-hero .breadcrumb { margin-block-end: var(--mk-12); }
.news-index .band-art { object-position: center; }
.news-copy { max-inline-size: 34rem; }
.news-project,.news-final { padding-block: var(--mk-12); }
.news-copy .button { align-self: start; }
.news-hero h1 { font-size: clamp(2rem,3.5vw,2.75rem); font-weight: 800; line-height: 1.12; text-wrap: initial; }
.news-index .illustrated-band::before { background: linear-gradient(90deg,rgb(7 19 32 / 72%),rgb(7 19 32 / 36%) 45%,rgb(7 19 32 / 12%) 75%); }
.news-signature { max-inline-size: 16rem; margin-block: var(--mk-8); margin-inline-start: auto; color: #e0eff9; font-size: var(--mk-body-lg); font-style: italic; text-shadow: 0 1px 4px var(--mk-ink); }
.news-signature p + p { font-size: var(--mk-small); }
.news-highlights { list-style: none; padding: 0; margin: var(--mk-12) 0 0; display: grid; gap: var(--mk-6); max-inline-size: 47rem; }
.news-highlights li { display: flex; gap: var(--mk-3); align-items: center; font-size: var(--mk-small); margin: 0; }
.news-index .detail-icon { flex-shrink: 0; color: var(--mk-blue); }
.news-purpose,.news-section-heading { display: grid; gap: var(--mk-8); align-items: center; }
.news-purpose-items { display: grid; gap: var(--mk-6); text-align: center; }
.news-purpose-items .detail-icon { margin-inline: auto; }
.news-purpose-items h3,.news-reasons h3 { font-size: var(--mk-body); }
.news-purpose-items p,.news-reasons p { font-size: var(--mk-small); }
.news-purpose-items .stack > * + * { margin-block-start: var(--mk-3); }
.news-latest { scroll-margin-top: 6rem; }
.news-search { display: flex; flex-wrap: wrap; gap: var(--mk-4); align-items: end; margin-block-start: var(--mk-8); }
.news-search label { flex: 1 1 15rem; min-inline-size: 0; font-size: var(--mk-small); font-weight: 600; }
.news-search input { display: block; inline-size: 100%; margin-block-start: var(--mk-2); border: 1px solid #94a8bd; border-radius: var(--mk-radius); padding: var(--mk-3) var(--mk-4); background: white; color: var(--mk-ink); font: inherit; }
.news-filters { display: flex; flex-wrap: wrap; gap: var(--mk-2); }
.news-filters a { display: inline-flex; align-items: center; min-block-size: 44px; padding: var(--mk-2) var(--mk-4); border: 1px solid #cadbec; border-radius: var(--mk-radius); background: white; color: var(--mk-ink); font-size: var(--mk-small); text-decoration: none; }
.news-filters a:is(:hover,:focus-visible,[aria-current]) { background: var(--mk-action-blue); border-color: var(--mk-action-blue); color: white; text-decoration: none; }
.news-results { margin-block-start: var(--mk-6); }
.news-results > * + * { margin-block-start: var(--mk-8); }
.news-index .news-grid { grid-template-columns: minmax(0,1fr); gap: var(--mk-6); }
.news-index .news-index-card { display: flex; flex-direction: column; padding: 0; overflow: hidden; background: white; }
.news-media { position: relative; aspect-ratio: 16 / 9; background: #e2edf6; }
.news-media img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
.news-media-fallback { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: var(--mk-3); block-size: 100%; color: #395a79; font-size: var(--mk-small); }
.news-media [hidden] { display: none; }
.news-card-copy { padding: var(--mk-6); flex: 1; }
.news-card-copy h3 { font-size: var(--mk-h4); }
.news-card-copy > p { font-size: var(--mk-small); }
.news-date { color: #486079; }
.news-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--mk-6); }
.news-next[aria-disabled] { opacity: .7; cursor: wait; }
.news-cms-note,.news-load-status { text-align: center; font-size: var(--mk-small); }
.news-load-status:empty { display: none; }
.news-empty { text-align: center; padding: var(--mk-12) var(--mk-6); min-block-size: 15rem; }
.news-empty .detail-icon { margin-inline: auto; }
.news-empty h3 { margin-block: var(--mk-4); font-size: var(--mk-h4); }
.news-topics { display: grid; gap: var(--mk-6); margin-block-start: var(--mk-8); }
.news-topic { display: flex; gap: var(--mk-4); align-items: start; padding: var(--mk-6); }
.news-topic .stack { flex: 1; min-inline-size: 0; }
.news-topic .stack > * + * { margin-block-start: var(--mk-2); }
.news-topic h3 { font-size: var(--mk-body); }
.news-topic p { font-size: var(--mk-small); line-height: 1.5; }
.news-topic .detail-icon { inline-size: 32px; block-size: 32px; color: color-mix(in srgb,var(--pillar-accent) 65%,var(--mk-ink)); }
.news-topic > span { color: var(--mk-action-blue); }
.news-reasons { display: grid; gap: var(--mk-8); margin-block-start: var(--mk-12); }
.news-reasons > div { display: flex; align-items: start; gap: var(--mk-4); }
.news-reasons .stack > * + * { margin-block-start: var(--mk-2); }
@media (min-width: 768px) {
    .news-highlights,.news-purpose-items { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .news-section-heading { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); }
    .news-index .news-grid,.news-topics,.news-reasons { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .news-index .news-featured-grid { grid-template-columns: minmax(0,1fr); }
    .news-index .news-featured-card { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; }
    .news-featured-card .news-media { align-self: stretch; aspect-ratio: auto; min-block-size: 18rem; }
}
@media (min-width: 1024px) {
    .news-index .illustrated-band .container { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: var(--mk-8); }
    .news-index .illustrated-band .breadcrumb { grid-column: 1 / -1; }
    .news-index .illustrated-band .news-copy { grid-column: 1; min-inline-size: 0; }
    .news-highlights { grid-column: 1 / -1; }
    .news-project .news-copy { grid-row: 1 / 3; }
    .news-project .news-highlights { grid-column: 2; margin-block-start: var(--mk-6); gap: var(--mk-4); align-self: end; }
    .news-project .news-highlights li { font-size: var(--mk-meta); }
    .news-project .news-highlights .detail-icon { inline-size: 28px; block-size: 28px; }
    .news-purpose { grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: var(--mk-12); }
    .news-index .news-grid,.news-topics { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .news-index .news-featured-grid { grid-template-columns: minmax(0,1fr); }
    .news-reasons { grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--mk-6); }
    .news-signature { grid-column: 2; justify-self: end; align-self: center; margin: 0; max-inline-size: 14rem; }
    .news-hero .news-signature { align-self: end; }
}
@media (max-width: 767px) {
    .news-index .illustrated-band::before { background: rgb(7 19 32 / 84%); }
    .news-topic { padding: var(--mk-4); gap: var(--mk-3); }
}

/* QA-PR-16: standalone editorial composition; shared Contact remains unchanged. */
.contact-page-hero { padding-block: var(--mk-8) var(--mk-12); }
.contact-page-hero .breadcrumb { margin-block-end: var(--mk-12); }
.contact-page h1 { font-size: clamp(2rem,3.5vw,2.75rem); font-weight: 800; line-height: 1.12; }
.contact-page .illustrated-band::before { background: linear-gradient(90deg,rgb(7 19 32 / 70%),rgb(7 19 32 / 30%) 50%,rgb(7 19 32 / 8%) 80%); }
.contact-page-copy { max-inline-size: 34rem; }
.contact-page-benefits { display: flex; flex-wrap: wrap; gap: var(--mk-6); padding: 0; margin-block: var(--mk-8); list-style: none; }
.contact-page-benefits li { display: flex; gap: var(--mk-2); flex: 1 1 8rem; align-items: flex-start; font-size: var(--mk-small); }
.contact-page-benefits svg { flex: 0 0 1.5rem; color: var(--mk-blue); }
.contact-page-benefits strong { display: block; color: white; }
.contact-page-support { font-size: var(--mk-small); color: #d8e8f4; }
.contact-page-signature { color: #e0eff9; font-size: var(--mk-body-lg); font-style: italic; text-shadow: 0 1px 4px var(--mk-ink); }
.contact-page-hero .contact-page-signature { text-align: right; margin-block-start: var(--mk-8); }
.contact-page-heading { max-inline-size: 48rem; margin-inline: auto; text-align: center; margin-block-end: var(--mk-6); }
.contact-channel-cards,.contact-help-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--mk-4); }
.contact-channel-cards .card,.contact-help-cards .card { padding: var(--mk-6); background: white; border: 1px solid var(--mk-line); border-radius: var(--mk-radius); }
.contact-channel-cards svg,.contact-help-cards svg { color: var(--mk-blue); }
.contact-channel-cards h3,.contact-help-cards h3 { font-size: 1rem; }
.contact-channel-cards p,.contact-help-cards p { font-size: var(--mk-small); }
.contact-channel-value { color: var(--mk-ink); overflow-wrap: anywhere; font-weight: 600; }
.contact-channel-cards .text-link,.contact-help-cards .text-link { margin-block-start: auto; padding-block-start: var(--mk-4); font-size: var(--mk-small); }
.contact-page #contacto { scroll-margin-block-start: 6rem; }
.contact-faq-layout { display: grid; gap: var(--mk-8); }
.contact-faq { border: 1px solid var(--mk-line); border-radius: var(--mk-radius); margin-block-end: var(--mk-3); background: white; }
.contact-faq summary { padding: var(--mk-4); cursor: pointer; color: var(--mk-ink); font-weight: 600; }
.contact-faq[open] summary { color: var(--mk-blue); border-block-end: 1px solid var(--mk-line); }
.contact-faq > div { padding: var(--mk-4); font-size: var(--mk-small); }
.contact-faq-more > summary { cursor: pointer; font-weight: 600; color: var(--mk-blue); padding: var(--mk-4); }
.contact-faq-more[open] > div { margin-block-start: var(--mk-4); }
.contact-faq summary:focus-visible,.contact-faq-more > summary:focus-visible { outline: 2px solid var(--mk-blue); outline-offset: 3px; }
.contact-page-faq { background: #f8fbfe; }
.contact-page-final-support { align-self: center; }
@media (min-width: 64rem) {
    .contact-page .illustrated-band .container { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: var(--mk-8); }
    .contact-page .breadcrumb { grid-column: 1 / -1; }
    .contact-page-hero .contact-page-signature { align-self: end; padding-block-end: var(--mk-6); }
    .contact-channel-cards { grid-template-columns: repeat(5,minmax(0,1fr)); }
    .contact-channel-cards .card { padding: var(--mk-4); }
    .contact-help-cards { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .contact-faq-layout { grid-template-columns: minmax(0,1fr) minmax(0,1.7fr); }
    .contact-page-final-support { padding-inline-start: var(--mk-8); }
}
@media (max-width: 63.999rem) {
    .contact-page .illustrated-band::before { background: rgb(7 19 32 / 84%); }
    .contact-page-hero .band-art { object-position: 70% center; }
    .contact-page-final-support { margin-block-start: var(--mk-8); }
}
@media (max-width: 39.999rem) {
    .contact-channel-cards,.contact-help-cards { grid-template-columns: minmax(0,1fr); }
}
