/* Client outcomes, compact service overview and readable technical articles. */
.project-case{scroll-margin-top:2rem;border-top:4px solid var(--blue);padding-top:2rem}
.project-case>header{max-width:850px;margin-bottom:2rem}
.project-case .project-phase{margin-top:1rem;font-size:1rem;color:var(--muted)}
.project-case .stacker-model{margin:2rem 0 3rem}
.project-case .stacker-model figcaption{margin-top:1rem;font-size:.9375rem;line-height:1.6;color:var(--muted)}
.project-case-body{max-width:780px;margin-inline:auto}
.project-case-body>section+section{margin-top:2.5rem}
.project-case-body h3{font-size:1.55rem;margin-bottom:1rem}
.project-case-body p{color:var(--muted)}
.project-case-body>.text-link{margin-top:2rem}
.project-output{padding:1.5rem;border-left:3px solid var(--blue);background:var(--pale)}
.project-output p:last-child{color:var(--ink)}
.service-group-links{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;margin-top:1.75rem;padding:0;width:auto}
.service-group-links a{white-space:normal;min-height:44px;font-size:1rem;font-weight:600;color:var(--blue)}
.service-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.service-hub-card{border-top:2px solid var(--blue);background:#fff;padding:1.75rem;scroll-margin-top:2rem;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.service-hub-card h3{font-size:1.5rem;line-height:1.25;max-width:38ch}
.service-hub-card h3 a{text-decoration:none}
.service-hub-card h3 a:hover{color:var(--blue)}
.service-hub-card>p{margin:1rem 0 1.25rem;color:var(--muted);font-size:1.0625rem}
.service-hub-card>.text-link{margin-top:auto;min-height:44px;display:inline-flex;align-items:center}
.service-hub-card .standards-cover{float:none;width:180px;max-width:100%;align-self:flex-start;margin-bottom:1.5rem}
.service-breadcrumb{padding-top:1.5rem}
.service-breadcrumb .text-link{font-size:1.125rem;padding:.65rem 0;min-height:48px;display:inline-flex;align-items:center}
.service-return{padding-top:2rem;padding-bottom:2.5rem}
.all-services{font-size:1.25rem;line-height:1.4;min-height:52px;padding:1rem 1.4rem;white-space:normal;text-align:center}
footer a.footer-services{display:inline-block;font-size:1.125rem;font-weight:700;line-height:1.4;padding:.6rem 0;text-decoration:underline;text-underline-offset:.25em}
footer [data-admin-access][hidden]{display:none!important}
@media(max-width:600px){.service-return .all-services{width:100%;justify-content:center}.all-services{font-size:1.125rem}}
.service-detail-wrap .scope-heading h1{font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.12}
.service-detail-wrap .section-head h1{font-size:clamp(2rem,4vw,3.65rem)}
.service-detail-wrap .section-head{max-width:900px}
.service-detail-wrap .scope-heading>p:not(.eyebrow){margin-top:1.25rem}
.related-service-reading{padding-top:0}
.related-service-reading .scope-reading{margin-top:0}
.standards-enquiry h3{margin-bottom:1rem}
.insight-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.text-feature .insight-feature-copy{border-top:3px solid var(--blue);padding:1.5rem}
.text-feature h2,.text-feature h3{font-size:1.5rem;line-height:1.3}
.editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.text-feature .eyebrow{font-size:.875rem;line-height:1.5;letter-spacing:1.1px}
.text-feature .text-link{min-height:44px;display:inline-flex;align-items:center}
.article-card-photo{display:block;position:relative;aspect-ratio:3/2;overflow:hidden;background:#fff;flex-shrink:0}
.article-card-photo img{display:block;width:100%;height:100%;object-fit:cover}
.article-card-photo.image-contain img{object-fit:contain;padding:1rem}
.article-card-photo.image-cover img{object-fit:contain;padding:1.25rem}
.article-card-inline-photo{margin:0 0 1.5rem}
.article-card-inline-photo .article-card-photo{aspect-ratio:auto;max-width:320px;margin-inline:auto}
.article-card-inline-wide .article-card-photo{max-width:100%}
.article-card-inline-photo .article-card-photo img{height:auto;padding:0}
.article-card-inline-photo figcaption{margin-top:.8rem;color:var(--muted);font-size:.9375rem;line-height:1.6}
.article-card-photo.image-drive-window img,.article-card-photo.image-heavier-drive-window img,.article-card-photo.image-pantograph-window img{position:absolute;top:50%;height:auto;object-fit:initial}
.article-card-photo.image-drive-window img{transform:translateY(-42%);clip-path:inset(20% 0 36% 0)}
.article-card-photo.image-heavier-drive-window img{transform:translateY(-28.5%);clip-path:inset(12% 0 55% 0)}
.article-card-photo.image-pantograph-window img{transform:translateY(-12.6%);clip-path:inset(5.2% 0 80% 0)}
.article-image-label{position:absolute;left:.75rem;bottom:.75rem;background:var(--navy);color:white;border:1px solid white;padding:.18rem .6rem;font-size:.8125rem;line-height:1.5;font-weight:600}
.text-feature h2 a,.text-feature h3 a{text-decoration:none}
.text-feature h2 a:hover,.text-feature h3 a:hover{text-decoration:underline;color:var(--blue)}
.text-feature .article-summary{font-size:1.0625rem;line-height:1.65;margin:1rem 0 1.5rem}
.article-card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.35rem 1rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line)}
.article-reading-time{font-size:.875rem;line-height:1.5;color:var(--muted)}
.article-card-footer .text-link{gap:.45rem;white-space:normal}
.article-cover{margin-bottom:2rem}
.article-cover figcaption{margin-top:.85rem;font-size:.9375rem;color:var(--muted)}
.article-cover-portrait img{max-height:420px}
.insight-toc summary{font-weight:700;cursor:pointer;min-height:44px;line-height:1.45;padding-block:.4rem}
.insight-toc details>a{display:block;padding:.55rem 0;font-size:.9375rem;line-height:1.5;text-decoration:none;color:var(--muted)}
.insight-toc details>a:hover{text-decoration:underline;color:var(--blue)}
.article-service{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}
.article-service>a{display:block;font-size:1rem;line-height:1.5;padding:.4rem 0}
.editorial-layout{grid-template-columns:220px minmax(0,780px);justify-content:space-between}
.reader-takeaway{background:var(--pale);border-left:3px solid var(--blue);padding:1.4rem 1.5rem}
.reader-takeaway ul{margin-bottom:0}
.article-illustration{margin-top:2rem;padding:1rem;border:1px solid var(--line)}
.article-illustration img{width:100%;height:auto;object-fit:contain;max-height:none}
.article-cover-supplied-portrait img{max-height:560px}
/* Display only the supplied alert photograph; retain the original screenshot asset unchanged. */
.rshq-photo-window{display:block;position:relative;width:100%;aspect-ratio:1126/845;overflow:hidden}
.article-illustration .rshq-photo-window img,.article-card-photo .rshq-photo-window img{position:absolute;left:-1.509769%;top:-.473373%;width:101.865009%;height:auto;max-width:none;max-height:none;padding:0;object-fit:initial}
.article-illustration figcaption{display:flex;flex-direction:column;gap:.6rem}
.insight-body .article-illustration+p{margin-top:1.5rem}
.article-subtitle{font-size:clamp(1.15rem,2.3vw,1.5rem);font-weight:600;color:var(--navy);margin:1rem 0}
.insight-heading .article-context{max-width:740px;color:var(--muted);font-size:1rem;margin-top:1rem}

/* Article identity and scope remain visible on screen and in printed copies. */
.article-publication{display:flex;align-items:center;gap:1rem;max-width:100%;margin:0 0 1.5rem}
.article-publication img{width:76px;height:auto;flex:0 0 76px;background:#fff}
.article-publication p{font-size:1rem;font-weight:700;line-height:1.45;color:var(--navy);margin:0;min-width:0}
.article-publication p span{display:block;font-size:.875rem;font-weight:400;color:var(--muted);margin-top:.15rem}
.article-scope-notice{max-width:740px;margin-top:1.5rem;padding-left:1rem;border-left:3px solid var(--blue);font-size:1rem;line-height:1.65;color:var(--ink)}
.article-scope-notice a{color:var(--blue);font-weight:600}
.technical-article-page .page-intro .article-publication p,.technical-article-page .page-intro .article-scope-notice{color:#fff}
.technical-article-page .page-intro .article-publication p span{color:#cad8e3}
.technical-article-page .page-intro .article-byline{color:#cad8e3}
.technical-article-page .page-intro .article-scope-notice{border-color:#92c8ee}
.technical-article-page .page-intro .article-scope-notice a{color:#92c8ee}
.article-disclaimer{margin-top:2.5rem;padding:1.5rem;border:1px solid var(--line);border-top:3px solid var(--blue);background:var(--pale);scroll-margin-top:2rem}
.article-disclaimer h2,.insight-body .article-disclaimer h2{font-size:1.375rem;line-height:1.35;margin:0 0 1rem;letter-spacing:0}
.article-disclaimer p,.insight-body .article-disclaimer p{font-size:1rem;line-height:1.7;color:var(--ink)}
.article-disclaimer p+p,.insight-body .article-disclaimer p+p{margin-top:1rem}
.article-disclaimer-section{padding-top:0;padding-bottom:3rem}
.article-disclaimer-section .article-disclaimer{max-width:780px;margin-top:0}
@media(max-width:600px){.article-publication img{width:64px;flex-basis:64px}.article-publication{gap:.75rem}.article-disclaimer{padding:1.15rem}.article-disclaimer h2,.insight-body .article-disclaimer h2{font-size:1.25rem}}
@media print{
 .technical-article-page .header,.technical-article-page footer,.technical-article-page .mobile-contact,.technical-article-page .insight-toc,.technical-article-page .closing,.technical-article-page .updates-invitation{display:none!important}
 .technical-article-page .wrap{width:100%;max-width:none}
 .technical-article-page .insight-layout{display:block;padding:1rem 0}
 .technical-article-page .insight-heading,.technical-article-page .page-intro{padding:0 0 1rem;background:white}
 .technical-article-page .page-intro,.technical-article-page .page-intro .lead,.technical-article-page .page-intro .eyebrow,.technical-article-page .page-intro .article-publication p,.technical-article-page .page-intro .article-publication p span,.technical-article-page .page-intro .article-byline,.technical-article-page .page-intro .article-scope-notice,.technical-article-page .page-intro .article-scope-notice a{color:#000}
 .technical-article-page .article-publication{break-inside:avoid;break-after:avoid}
 .technical-article-page .article-publication img{width:76px;flex-basis:76px}
 .technical-article-page .article-disclaimer{display:block!important;background:white;border-color:#777;padding:1rem;break-inside:avoid}
 .technical-article-page .article-disclaimer p{font-size:10pt;line-height:1.5}
 .technical-article-page .article-disclaimer h2{font-size:13pt;break-after:avoid}
}
.practical-checks{border-top:3px solid var(--blue);background:var(--pale);padding:1.5rem}
.article-references{font-size:1rem;overflow-wrap:anywhere;border-top:1px solid var(--line);padding-top:1.5rem}
.article-references h2{font-size:1.4rem}
.article-references .reference-entry{font:inherit;white-space:normal;background:none;padding:0;color:inherit;overflow-wrap:anywhere}
.article-references [id]{scroll-margin-top:2rem}
.balance-table-label{display:none}
.balance-check-table td:before{display:none}
@media(max-width:760px){.balance-table-label{display:block;font-weight:700;color:var(--navy);margin-bottom:5px}}
.repair-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}
.repair-review-item{border:1px solid var(--line);background:var(--pale);padding:1.25rem;min-width:0}
.repair-review-item h3{margin:0 0 1rem;font-size:1.25rem}
.repair-review-item dl{margin:0}
.repair-review-item dt{font-size:.9375rem;font-weight:700;color:var(--ink);margin-top:1rem}
.repair-review-item dd{margin:.3rem 0 0;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}
.technical-diagram{margin-bottom:1.5rem}
.insight-body .related-insight p+p{margin-top:1rem}
.insight-body section{scroll-margin-top:2rem}
.insight-body h2{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.25}
.insight-body p,.insight-body li{line-height:1.75}
.guide-crosslink{margin-top:2rem}
.legacy-note section+section{margin-top:2rem}
.legacy-note h2{font-size:1.6rem;margin-bottom:1rem}
.button{overflow-wrap:anywhere;white-space:normal}
.client-constraints{max-width:820px;color:var(--muted);margin-bottom:2rem}
.home-deliverables{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:2.5rem 0}
.home-deliverables article{border-top:1px solid var(--line);padding-top:1.5rem;min-width:0}
.home-deliverables h3{font-size:1.35rem;line-height:1.3}
.home-deliverables p{color:var(--muted);margin:1rem 0}
.home-deliverables a{min-height:44px;display:inline-flex;align-items:center}
.service-page-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:0 0 2rem}
.service-page-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);font-weight:600}
.service-output{margin-top:2rem;padding:1.5rem;border-left:3px solid var(--blue);background:#fff}
.service-output h3,.service-follow-on h3{margin-bottom:1rem}
.service-follow-on{margin-top:2.5rem}
.service-boundary{font-size:1rem;line-height:1.65}
.output-example{margin-top:1.5rem;border:1px solid var(--line);background:#fff;padding:1.25rem}
.output-example summary{font-weight:700;min-height:44px;cursor:pointer;line-height:1.45}
.output-example[open] summary{margin-bottom:1rem}
.example-status{font-size:1rem;color:var(--muted)}
.example-register{margin:1.5rem 0}
.example-register>div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,3fr);gap:1.5rem;padding:1rem 0;border-top:1px solid var(--line)}
.example-register dt{font-weight:700;line-height:1.5}
.example-register dd{margin:0;line-height:1.65;overflow-wrap:anywhere}
#review-scope,#review-output,#review-stages,#audit-support{scroll-margin-top:2rem}
@media(max-width:1050px){.insight-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-layout{grid-template-columns:180px minmax(0,1fr);gap:2rem}}
@media(max-width:760px){
 .repair-review-grid{grid-template-columns:minmax(0,1fr)}
 .home-deliverables{grid-template-columns:minmax(0,1fr);gap:1.5rem;margin:2rem 0}
 .example-register>div{grid-template-columns:minmax(0,1fr);gap:.5rem}
 .service-output,.output-example{padding:1.1rem}
 .service-hub-grid,.editorial-grid,.editorial-layout,.insight-feature-grid{grid-template-columns:minmax(0,1fr)}
 .text-feature .insight-feature-copy{padding:1.25rem}
 .service-hub-card{padding:1.25rem}
 .service-hub-card .standards-cover{width:160px}
 .service-hub-card h3{font-size:1.4rem}
 .service-group-links{display:flex}
 .service-group-links a{padding:.5rem 0}
 .editorial-layout{gap:1.25rem}
 .editorial-layout .insight-toc{border:1px solid var(--line);padding:.65rem 1rem}
 .article-service{margin-top:.4rem;padding-top:.7rem}
 .article-service .eyebrow{margin-bottom:.25rem}
 .reader-takeaway{padding:1.1rem}
 .insight-heading h1{font-size:clamp(2rem,7.5vw,2.6rem);line-height:1.16}
 .insight-heading .lead{font-size:1.0625rem;line-height:1.65}
 .article-byline{font-size:.9375rem}
 .project-case{padding-top:1.5rem}
 .project-case .stacker-model{margin:1.5rem 0 2rem}
 .project-output{padding:1.1rem}
 .project-case-body h3{font-size:1.4rem}
 .project-case-body>section+section{margin-top:1.8rem}
 .practical-checks{padding:1.1rem}
 .service-detail-wrap .scope-heading h1,.service-detail-wrap .section-head h1{font-size:2rem}
 .standards-card h3{font-size:1.35rem}
 .article-illustration{padding:.6rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* The full policy stays readable on phones, with optional section shortcuts. */
.privacy-copy{max-width:900px}
.privacy-copy .policy-updated{margin-top:0;color:var(--muted);font-size:.9375rem}
.policy-contents{margin:1.5rem 0 2.5rem;border:1px solid var(--line);padding:1rem 1.25rem;background:var(--pale)}
.policy-contents summary{cursor:pointer;font-weight:700;color:var(--navy);min-height:44px;align-content:center}
.policy-contents ol{margin:1rem 0 0;padding-left:1.5rem;columns:2;column-gap:2.25rem}
.policy-contents li{break-inside:avoid;padding:.25rem 0}
.policy-contents a{display:inline-block;padding:.4rem 0;line-height:1.5;text-underline-offset:3px}
.privacy-section{margin-top:2.5rem;scroll-margin-top:155px}
.privacy-section h2{font-size:clamp(1.4rem,2.8vw,1.75rem);line-height:1.35}
.privacy-section p{line-height:1.75}
.privacy-section p+p{margin-top:1.1rem}
.privacy-section a{overflow-wrap:anywhere}
@media(max-width:650px){.policy-contents ol{columns:1}.policy-contents a{min-height:44px}.privacy-section{margin-top:2rem}}
