/* Complete photographic CTA contract, measured against the approved live service
   page on 5 Nov 2026. Neutral classes isolate it from imported .content/.title
   rules. Page composition owns spacing around the component; hosts own copy,
   image, destination and licensed font files. No page-specific ID is required. */
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"]{
 --sk-cta-gutter:64px;--sk-cta-inset:64px;
 box-sizing:border-box;width:calc(100% - var(--sk-cta-gutter)*2);max-width:1312px;
 margin:0 auto;padding:0;position:relative;overflow:hidden;container-type:inline-size;
 background:none;color:#fff;font:400 16px/1.85 Manrope,Arial,sans-serif
}
:is(#site-content,body) .sk-photo-cta *{box-sizing:border-box}
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__link{
 display:block;position:relative;isolation:isolate;width:100%;height:370px;min-height:370px;
 padding:0;margin:0;color:#fff;text-decoration:none;background-size:cover;
 background-position:center;background-repeat:no-repeat
}
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__link::before{content:none;display:none}
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__link::after{
 content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
 background:linear-gradient(90deg,rgba(20,19,17,.85),rgba(20,19,17,.42))
}
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__content{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:center;
 position:absolute;z-index:1;left:50%;right:auto;top:50%;transform:translate(-50%,-50%);
 width:calc(100% - 128px);max-width:960px;margin:0;padding:0;color:#fff
}
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__title{display:block;min-width:0;width:100%;max-width:none;margin:0;padding:0;text-align:start}
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__label{
 display:block;margin:0 0 20px;padding:0;color:#fff;font:500 11px/1.5 "Space Grotesk",Arial,sans-serif;
 letter-spacing:.14em;text-transform:uppercase
}
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__heading{
 display:block;margin:0;padding:0;color:#fff;font:500 32px/1.125 "Space Grotesk",Arial,sans-serif;
 letter-spacing:-.035em;text-transform:uppercase;text-align:inherit;overflow-wrap:break-word
}
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__action{display:block;position:relative;width:100%;min-width:0;margin:0;padding:0}
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__action-text{
 display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;
 position:relative;width:100%;margin:0;padding:0;color:#fff;text-align:center;white-space:nowrap;
 font:500 12px/1.6 "Space Grotesk",Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase
}
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__action-text::before,
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__action-text::after{
 content:'';display:block;position:static;height:2px;min-width:0;width:auto;transform:none;
 background-color:hsla(0,0%,100%,.25);background-image:linear-gradient(#fff,#fff);
 background-repeat:no-repeat;background-position:left center;background-size:0 100%;box-shadow:none
}
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__action-text::after{width:calc(100% + max(var(--sk-cta-inset),(100cqw - 960px)/2))}
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__action:hover .sk-photo-cta__action-text::before,
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__link:focus-visible .sk-photo-cta__action-text::before{animation:sk-photo-cta-line .75s linear forwards}
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__action:hover .sk-photo-cta__action-text::after,
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__link:focus-visible .sk-photo-cta__action-text::after{animation:sk-photo-cta-line 1.75s linear .75s forwards}
:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__link:focus-visible{outline:2px solid currentColor;outline-offset:-6px}
@keyframes sk-photo-cta-line{from{background-size:0 100%}to{background-size:100% 100%}}
@media(max-width:1023px){
 :is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"]{--sk-cta-gutter:40px;--sk-cta-inset:40px}
 :is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__content{width:calc(100% - 80px);gap:32px}
}
@media(max-width:767px){
 :is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"]{--sk-cta-gutter:20px}
 :is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__link{height:270px;min-height:270px}
 :is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__content{display:flex;flex-direction:column;justify-content:center;gap:0;width:100%;max-width:540px;padding:0 15px}
 :is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__title{margin-bottom:40px;text-align:center}
 :is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__heading{font-size:24px;line-height:1.25}
 :is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__action{text-align:center}
 :is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__action-text{display:flex;justify-content:center;white-space:normal}
 :is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__action-text::before,
 :is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__action-text::after{display:none}
}
@media(max-width:359px){:is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"]{--sk-cta-gutter:16px}}
@media(prefers-reduced-motion:reduce){
 :is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__action:hover .sk-photo-cta__action-text::before,
 :is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__action:hover .sk-photo-cta__action-text::after,
 :is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__link:focus-visible .sk-photo-cta__action-text::before,
 :is(#site-content,body) .sk-photo-cta[data-photo-cta="standard"] .sk-photo-cta__link:focus-visible .sk-photo-cta__action-text::after{animation:none;background-size:100% 100%}
}
