/* UK editorial photography extension. Shared typography and spacing tokens only. */
.editorial-rollout{--image-bleed:max(var(--gutter),calc((100vw - var(--container))/2))}
.editorial-rollout .service-hero-visual .rollout-hero-photo{overflow:hidden}
.editorial-rollout .rollout-hero-photo img{animation:none}
/* External CSS keeps every focal point compatible with the strict local CSP. */
.editorial-rollout [data-editorial-photo="privacyAuditHero"] img{object-position:50% 50%}
.editorial-rollout [data-editorial-photo="privacyAuditEvidence"] img{object-position:50% 36%}
.editorial-rollout [data-editorial-photo="privacyWorkshop"] img{object-position:50% 45%}
.editorial-rollout [data-editorial-photo="privacyDecisions"] img{object-position:50% 40%}
.editorial-rollout [data-editorial-photo="riskHero"] img{object-position:50% 100%}
.editorial-rollout [data-editorial-photo="riskWorkshop"] img{object-position:50% 48%}
.editorial-rollout [data-editorial-photo="qualityHero"] img{object-position:50% 45%}
.editorial-rollout [data-editorial-photo="qualityEvidence"] img{object-position:50% 50%}
.editorial-rollout [data-editorial-photo="soxHero"] img{object-position:50% 50%}
.editorial-rollout [data-editorial-photo="soxEvidence"] img{object-position:50% 50%}
.editorial-rollout [data-editorial-photo="safetyHero"] img{object-position:50% 35%}
.editorial-rollout [data-editorial-photo="safetyOperations"] img{object-position:50% 15%}
.editorial-rollout [data-editorial-photo="socHero"] img{object-position:50% 45%}
.editorial-rollout [data-editorial-photo="socReview"] img{object-position:50% 45%}
.editorial-rollout [data-editorial-photo="itgcHero"] img{object-position:50% 45%}
.editorial-rollout [data-editorial-photo="itgcReview"] img{object-position:50% 50%}
.editorial-rollout [data-editorial-photo="m365Hero"] img{object-position:50% 38%}
.editorial-rollout [data-editorial-photo="m365Detail"] img{object-position:50% 50%}
.editorial-rollout [data-editorial-photo="emailHero"] img{object-position:50% 35%}
.editorial-rollout [data-editorial-photo="emailReview"] img{object-position:50% 35%}
.editorial-rollout [data-editorial-photo="dataHero"] img{object-position:50% 38%}
.editorial-rollout [data-editorial-photo="dataReview"] img{object-position:50% 45%}
.editorial-rollout [data-editorial-photo="pentestHero"] img{object-position:50% 50%}
.editorial-rollout [data-editorial-photo="pentestDetail"] img{object-position:55% 50%}
.editorial-rollout .service-hero-grid .rollout-hero-photo{height:clamp(400px,39vw,570px)}
.editorial-rollout--risk .service-hero-visual .rollout-hero-photo{height:clamp(360px,32vw,500px)}
.editorial-rollout .rollout-body-photo{margin:var(--space-7) 0 0;position:relative;isolation:isolate}
.editorial-rollout .rollout-body-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.editorial-rollout .rollout-body-photo figcaption{position:relative;font-size:var(--text-ui);font-weight:var(--weight-heading);line-height:var(--leading-body);padding:var(--space-5) var(--space-6);background:var(--black);color:var(--paper);margin:calc(-1 * var(--space-5)) 0 0 var(--space-6);max-width:32rem}
.editorial-rollout .rollout-body-photo--context{margin-left:calc(-1 * var(--image-bleed))}
.editorial-rollout .rollout-body-photo--context figcaption{margin-left:var(--image-bleed);background:var(--blue)}
.editorial-rollout .rollout-body-photo--deliverables{margin-left:calc(-1 * var(--image-bleed))}
.editorial-rollout .rollout-body-photo--deliverables figcaption{margin-left:var(--image-bleed)}
.editorial-rollout .rollout-body-photo--method img{aspect-ratio:5/4}
.editorial-rollout .rollout-body-photo--method figcaption{background:var(--blue)}
.editorial-rollout .deliverable-intro{max-width:none;min-width:0}
.editorial-rollout .service-context>div,.editorial-rollout .service-method .split>div{min-width:0}
.editorial-rollout .service-context,.editorial-rollout .deliverable-layout{align-items:center}
.editorial-rollout .service-method .process-track{display:flex;flex-direction:column;justify-content:space-between}
.editorial-rollout--quality .rollout-body-photo img,.editorial-rollout--sox .rollout-body-photo img{aspect-ratio:3/2}
.editorial-rollout--safety .rollout-body-photo img{aspect-ratio:1/1}
.editorial-rollout--privacy-audit .rollout-body-photo img{aspect-ratio:1/1}
.editorial-rollout--portrait .service-editorial-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-7);align-items:center;padding-left:var(--image-bleed);padding-right:0}
.editorial-rollout--portrait .service-editorial-hero>.wrap{padding:0;margin:0;width:auto}
.editorial-rollout--portrait .service-title{display:block}
.editorial-rollout--portrait .service-hero-visual{margin:0}
.editorial-rollout--portrait .service-hero-visual .rollout-hero-photo{height:clamp(420px,40vw,600px)}
.editorial-rollout--portrait .hero-note{margin-left:var(--space-6);width:calc(100% - var(--space-6));background:var(--blue)}
.rollout-privacy-trail{background:var(--black);color:var(--paper);padding-block:var(--space-8)}
.rollout-privacy-trail .audit-trail-visual{padding:0;margin:0}
.rollout-privacy-trail .audit-trail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-7);border-left:0;border-top:3px solid var(--blue);padding:0;margin-block:var(--space-6)}
.rollout-privacy-trail .audit-trail li{border:0;padding-block:var(--space-5)}
.rollout-privacy-trail .audit-trail-visual>p:last-child{max-width:var(--reading);margin-bottom:0}
@media(prefers-reduced-motion:no-preference){
 .editorial-rollout .editorial-waiting{transform:translateY(18px)}
 .editorial-rollout .editorial-visible{transform:none;transition:transform 700ms var(--ease)}
 .editorial-rollout .rollout-hero-photo img{animation:editorial-photo-settle 900ms var(--ease) both}
 @keyframes editorial-photo-settle{from{transform:scale(1.025)}to{transform:scale(1)}}
}
@media(max-width:1000px){
 .editorial-rollout--portrait .service-editorial-hero{gap:var(--space-6)}
 .editorial-rollout .rollout-body-photo figcaption{padding:var(--space-4) var(--space-5)}
}
@media(max-width:750px){
 .editorial-rollout .service-hero-grid .rollout-hero-photo{height:360px}
 .editorial-rollout--risk .service-hero-visual .rollout-hero-photo{height:300px}
 .editorial-rollout .service-method .process-track{display:block}
 .editorial-rollout--portrait .service-editorial-hero{display:block;padding-inline:0}
 .editorial-rollout--portrait .service-editorial-hero>.wrap{padding-inline:var(--gutter)}
 .editorial-rollout--portrait .service-hero-visual .rollout-hero-photo{height:420px}
 .editorial-rollout .rollout-body-photo{margin-top:var(--space-6);margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter))}
 .editorial-rollout .rollout-body-photo img{aspect-ratio:4/3}
 .editorial-rollout .rollout-body-photo figcaption{margin-left:var(--gutter);margin-right:var(--gutter);max-width:none}
 .rollout-privacy-trail .audit-trail{grid-template-columns:1fr;gap:0}
 .rollout-privacy-trail .audit-trail li{border-bottom:1px solid var(--muted)}
}
