/* ALVA v5: approved photographs and square compositions. */
html body main :is(section#capabilities[id],section#audiences[id]) .capability-panel[class]{margin-bottom:46px!important;gap:38px!important}
html body main :is(section#capabilities[id],section#audiences[id]) .capability-panel-media.v5-photo-review{position:relative!important;overflow:visible!important;padding:22px 20px!important;isolation:isolate}
.v5-photo-review{--v5-purple:#70449f;--v5-image-x:50%;--v5-image-y:50%;font-family:Alexandria,Arial,sans-serif}
/* Shared composition: 36% small squares, a 44% main square and an 8% gap in both directions. */
.v5-photo-review{--tile-gap:8;--main-x:6;--main-y:24;--main-s:44;--top-x:calc(6 + var(--main-s) + var(--tile-gap));--top-y:6;--top-s:36;--bottom-x:var(--top-x);--bottom-y:calc(var(--top-y) + var(--top-s) + var(--tile-gap));--bottom-s:var(--top-s)}
.v5-photo-review[data-photo-layout$="right"]{--main-x:calc(6 + var(--top-s) + var(--tile-gap));--top-x:6}
/* Selected sections use more varied square compositions on the same 8% spacing module. */
.v5-photo-review[data-photo-layout="floating-right"]{--main-x:46;--main-y:24;--main-s:48;--top-x:8;--top-y:10;--top-s:30;--bottom-x:8;--bottom-y:48;--bottom-s:30}
.v5-photo-review[data-photo-layout="mosaic-right"]{--main-x:46;--main-y:18;--main-s:48;--top-x:12;--top-y:4;--top-s:26;--bottom-x:6;--bottom-y:46;--bottom-s:32}
.v5-photo-review .v5-photo-art{position:relative;width:100%;max-width:540px;aspect-ratio:1;isolation:isolate}
.v5-photo-review .v5-photo-art::before{content:"";position:absolute;inset:9% 0 5%;background:radial-gradient(ellipse,#76419d24,transparent 68%);filter:blur(22px);z-index:-1}
.v5-photo-review .v5-photo-fragment{position:absolute;left:calc(var(--tile-x)*1%);top:calc(var(--tile-y)*1%);width:calc(var(--tile-size)*1%);aspect-ratio:1;overflow:hidden;border-radius:0;background:#e5dcec;box-shadow:0 22px 34px -12px #30154857,0 0 35px 4px #78409b29}
.v5-photo-review .v5-photo-fragment:nth-child(1){--tile-x:var(--main-x);--tile-y:var(--main-y);--tile-size:var(--main-s)}
.v5-photo-review .v5-photo-fragment:nth-child(2){--tile-x:var(--top-x);--tile-y:var(--top-y);--tile-size:var(--top-s)}
.v5-photo-review .v5-photo-fragment:nth-child(3){--tile-x:var(--bottom-x);--tile-y:var(--bottom-y);--tile-size:var(--bottom-s)}
.v5-photo-review[data-photo-layout="mosaic-right"] .v5-photo-fragment:nth-child(4){--tile-x:46;--tile-y:82;--tile-size:14;box-shadow:0 14px 25px -10px #30154840}
.v5-photo-review[data-photo-layout="mosaic-right"] .v5-photo-fragment:nth-child(5){--tile-x:78;--tile-y:74;--tile-size:16;box-shadow:0 14px 25px -10px #30154840}
.v5-photo-review .v5-photo-fragment img{position:absolute!important;display:block!important;max-width:none!important;width:calc(10000% / var(--tile-size))!important;height:calc(10000% / var(--tile-size))!important;left:calc(-100% * var(--tile-x) / var(--tile-size))!important;top:calc(-100% * var(--tile-y) / var(--tile-size))!important;object-fit:cover!important;object-position:var(--v5-image-x) var(--v5-image-y)!important;filter:grayscale(.88) saturate(.4) contrast(1.04) brightness(var(--photo-brightness,.92))!important;transform:none!important;opacity:1!important;margin:0!important}
.v5-photo-review .v5-photo-fragment::after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,#65349bbb,#602b99a6);mix-blend-mode:color;pointer-events:none}
.v5-photo-review .v5-photo-fragment::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(145deg,var(--photo-wash-top,#6d39a52b),var(--photo-wash-bottom,#32105b55));pointer-events:none}
/* One gradient surface spans both legs; the inner edge stays 2.2% of the canvas away from the photo. */
.v5-photo-review .v5-photo-corner{position:absolute;z-index:2;pointer-events:none;aspect-ratio:1;--line:12.65%;--gap:2.2;opacity:1;background:linear-gradient(135deg,#290059 0%,#521388 13%,#8e42cf 31%,#b774f1 49%,#cf9df7 70%,#eee0ff 100%);clip-path:polygon(0 0,100% 0,100% var(--line),var(--line) var(--line),var(--line) 100%,0 100%)}
.v5-photo-review .v5-photo-corner--main{--stroke:3.4155;left:calc((var(--main-x) - var(--gap) - var(--stroke))*1%);top:calc((var(--main-y) - var(--gap) - var(--stroke))*1%);width:27%}
.v5-photo-review .v5-photo-corner--secondary{--stroke:2.783;left:calc((var(--bottom-x) + var(--bottom-s) + var(--gap) + var(--stroke) - 22)*1%);top:calc((var(--bottom-y) + var(--bottom-s) + var(--gap) + var(--stroke) - 22)*1%);width:22%;transform:rotate(180deg)}
.v5-photo-review .v5-photo-corner--light{left:calc((var(--top-x) + var(--top-s) - 22)*1%);top:calc((var(--top-y) + 3)*1%);width:19%;--line:11.5%;background:linear-gradient(135deg,#c28af4 0%,#dcbbfa 25%,#f3e7ff 49%,#fff 78%);transform:scaleX(-1)}
.v5-photo-review[data-photo-layout$="right"] .v5-photo-corner--main{left:calc((var(--main-x) + var(--main-s) + var(--gap) + var(--stroke) - 27)*1%);transform:scaleX(-1)}
.v5-photo-review[data-photo-layout$="right"] .v5-photo-corner--secondary{left:calc((var(--bottom-x) - var(--gap) - var(--stroke))*1%);transform:scaleY(-1)}
.v5-photo-review[data-photo-layout$="right"] .v5-photo-corner--light{left:calc((var(--top-x) + 3)*1%);transform:none}
.v5-photo-review .v5-photo-glass{position:absolute;z-index:3;aspect-ratio:1;pointer-events:none;border:1px solid #ffffffb3;background:linear-gradient(135deg,#fff9,#c493f32b 70%,#e2c9ff77);box-shadow:0 16px 30px #5c287b24;backdrop-filter:blur(9px)}
.v5-photo-review .v5-photo-glass--one{left:46%;top:0;width:16%}
.v5-photo-review .v5-photo-glass--two{left:72%;top:80%;width:16%;opacity:.85}
.v5-photo-review .v5-photo-glass--accent{left:12%;top:62%;width:12%;background:linear-gradient(135deg,#481272c9,#9150c8a8 55%,#c999f488);box-shadow:0 12px 24px #4b167e24}
.v5-photo-review[data-photo-layout="floating-right"] .v5-photo-corner--light{display:none}
.v5-photo-review .v5-photo-controls{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;max-width:540px;gap:10px;margin:12px 0 0;padding:0;text-align:center}
.v5-photo-review .v5-photo-options{display:flex;justify-content:center;gap:9px;padding:6px;background:#ffffffbf;border:1px solid #dacde6;border-radius:12px;box-shadow:0 8px 22px -18px #3c0c76}
.v5-photo-review .v5-photo-option{display:flex;align-items:center;gap:8px;border:1px solid transparent;background:transparent;color:#766783;box-shadow:none;border-radius:7px;padding:5px 10px 5px 5px;cursor:pointer;font:400 12px/1.2 Alexandria,Arial,sans-serif;min-height:45px;transition:background .18s,border-color .18s,box-shadow .18s;transform:none}
.v5-photo-review .v5-photo-option img{position:static!important;width:42px!important;height:32px!important;object-fit:cover;display:block;border-radius:3px;filter:grayscale(.4);margin:0!important;transform:none!important}
.v5-photo-review .v5-photo-option[aria-pressed="true"]{background:#ede2f8;border-color:#aa85c8;color:#502b73;box-shadow:0 2px 7px #64378916}
.v5-photo-review .v5-photo-option:hover{background:#f3eafb;border-color:#bea3d5}
.v5-photo-review .v5-photo-option:focus-visible,.v5-photo-review a:focus-visible{outline:3px solid #9762c6;outline-offset:4px}
.v5-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1100px) and (min-width:768px){html body main :is(section#capabilities[id],section#audiences[id]) .capability-panel-copy{padding-inline:32px!important}.v5-photo-review .v5-photo-option{gap:5px;padding-right:6px}.v5-photo-review .v5-photo-options{gap:4px}}
@media(max-width:767px){html body main :is(section#capabilities[id],section#audiences[id]) .capability-panel[class]{gap:24px!important;margin-bottom:36px!important}html body main :is(section#capabilities[id],section#audiences[id]) .capability-panel-media.v5-photo-review{padding:8px 8px 18px!important;max-width:480px}.v5-photo-review .v5-photo-art{max-width:420px}.v5-photo-review .v5-photo-controls{margin-top:10px}.v5-photo-review .v5-photo-option{font-size:11px}}
@media(prefers-reduced-motion:reduce){.v5-photo-review *{transition:none!important}}

/* Preserve the complete aircraft nose and let portrait shots use a focused main crop. */
.v5-photo-review:is([data-photo-category="truck"],[data-photo-code="03A"],[data-photo-code="08B"]) .v5-photo-fragment:first-child img{width:100%!important;height:100%!important;left:0!important;top:0!important;object-position:50% 70%!important}
.v5-photo-review[data-photo-layout^="balanced-"] .v5-photo-controls{margin-top:-5%}

/* Keep the aircraft nose in view without changing the common square geometry. */
.v5-photo-review[data-photo-code="01C"] .v5-photo-fragment img{width:calc(14000% / var(--tile-size))!important;height:calc(14000% / var(--tile-size))!important;left:calc(-100% * (var(--tile-x) + 34) / var(--tile-size))!important}

.v5-photo-review:is([data-photo-code="01A"],[data-photo-code="06A"]) .v5-photo-fragment img{height:calc(9000% / var(--tile-size))!important}

/* Two review tones affect every photograph; the geometry and original assets stay shared. */

.v5-tone-options{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;color:#766783;font:400 10px/1.4 Alexandria,Arial,sans-serif}
.v5-tone-options>span{margin-right:4px}
.v5-tone-options button{appearance:none;min-height:32px;padding:6px 10px;border:1px solid #dacde6;border-radius:6px;background:#ffffffa8;color:#694c80;font:inherit;cursor:pointer;box-shadow:none;transform:none}
.v5-tone-options button[aria-pressed="true"]{background:#58317e;color:#fff;border-color:#58317e}
.v5-tone-options button:hover{border-color:#7847a4}
.v5-tone-options button:focus-visible{outline:3px solid #9762c6;outline-offset:3px}
/* A larger aircraft square, still with the same eight-unit gaps. */
.v5-photo-review[data-photo-code="01A"]{--main-s:50;--main-y:20;--top-s:30;--top-y:6}
/* Extra floating accents give the port compositions a different rhythm. */
.v5-photo-review:is([data-photo-category="crane"],[data-photo-category="port"]) .v5-photo-glass--one{left:22%;top:0;width:14%}
.v5-photo-review:is([data-photo-category="crane"],[data-photo-category="port"]) .v5-photo-glass--two{left:28%;top:82%;width:12%}
.v5-photo-review:is([data-photo-category="crane"],[data-photo-category="port"]) .v5-photo-glass--accent{left:12%;top:58%;width:11%}
.v5-photo-review:is([data-photo-category="crane"],[data-photo-category="port"]) .v5-photo-controls{margin-top:4%}
/* Individual focal adjustments keep each vehicle legible within the primary square. */
.v5-photo-review[data-photo-code="01A"] .v5-photo-controls{margin-top:-16%}
.v5-photo-review[data-photo-code="02B"] .v5-photo-fragment:first-child img{width:180%!important;height:180%!important;left:-40%!important;top:-68%!important;object-position:50% 50%!important}
.v5-photo-review[data-photo-code="02B"] .v5-photo-fragment:nth-child(2) img{width:391%!important;height:220%!important;left:-215%!important;top:-88%!important;object-position:50% 50%!important}
.v5-photo-review[data-photo-code="02B"] .v5-photo-fragment:nth-child(3) img{width:300%!important;height:300%!important;left:-108%!important;top:-188%!important;object-position:50% 50%!important}
.v5-photo-review[data-photo-code="03A"] .v5-photo-fragment:nth-child(3) img{width:375%!important;height:250%!important;left:-262%!important;top:-150%!important;object-position:50% 50%!important}
.v5-photo-review[data-photo-code="07A"] .v5-photo-fragment img{height:calc(9000% / var(--tile-size))!important}
.v5-photo-review[data-photo-code="07B"] .v5-photo-fragment img{height:calc(9000% / var(--tile-size))!important}

/* Gentle elevation around every edge, including the two small rail squares. */
.v5-photo-review .v5-photo-fragment:nth-child(n){box-shadow:0 0 0 1px #ffffff73,0 4px 9px #29104430,0 18px 30px -7px #30154873,0 0 24px 3px #78489f38}
.v5-photo-review .v5-photo-glass{box-shadow:0 0 16px 2px #9c6dbb38,0 10px 20px -4px #4b167e48,inset 0 1px 2px #ffffffa6}
/* Keep more of the cab up to the requested cut line; exclude the Scania wordmark and registration plate. */
.v5-photo-review[data-photo-code="07B"] .v5-photo-fragment:first-child img{width:320%!important;height:239.5%!important;left:-95%!important;top:-85%!important;object-fit:fill!important;object-position:center!important}

/* Smaller rail tiles keep the same raised treatment at a proportionate depth. */
.v5-photo-review[data-photo-layout="mosaic-right"] .v5-photo-fragment:nth-child(n+4){box-shadow:0 0 0 1px #ffffff73,0 3px 7px #29104430,0 12px 20px -5px #30154873,0 0 16px 2px #78489f38}
@media(max-width:767px){
 /* The aircraft artwork ends above its square canvas; reclaim only the empty tail. */
 html body main section#capabilities[id] .capability-panel[class]:has(#photo-air){padding-bottom:0!important;margin-bottom:16px!important}
 html body main section#capabilities[id] figure#photo-air .v5-photo-art{margin-bottom:-18%!important}
 /* The final collage already has room for its shadows inside the artboard. */
 html body main section#audiences[id] .capability-panel[class]:has(#photo-port){margin-bottom:0!important}
 html body main section#audiences[id] .section-inner[class]{padding-bottom:24px!important}
}
