/* VRA: approved Solution language, concise content-first modules. */
.vra-page{--cs-line:#cdd8dc;--cs-muted:#526771}.vra-page main{overflow:clip}.vra-page em{font-style:normal;color:#077a8d}.vra-page .ip-section{scroll-margin-top:95px}.vra-page .ip-heading{max-width:960px}.vra-media{margin:0;min-width:0}.vra-placeholder{background:#e8eeee;border-block:1px solid #cad8dc;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;aspect-ratio:2.5}.vra-placeholder span{font:12px/1.5 var(--mono,monospace);letter-spacing:.06em;color:#5a7881;text-align:center;padding-inline:20px}.vra-placeholder small{font-size:12px;color:#778990}.vra-media-hero .vra-placeholder{aspect-ratio:1.2}.vra-media img,.vra-media video{width:100%;height:auto;display:block}.vra-items{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.vra-four{grid-template-columns:repeat(4,minmax(0,1fr))}.vra-items li{border-top:1px solid #bfcfd3;padding-top:18px}.vra-items li>span{font:12px monospace;color:#077a8d}.vra-items h3{font-size:22px;font-weight:400;line-height:1.25;margin:18px 0 12px}.vra-items p{font-size:16px;line-height:1.65;color:#526771;margin:0}.vra-classifications{margin-top:34px;border-top:1px solid #c4d2d6;padding-top:22px}.vra-classifications ul{display:flex;gap:24px 40px;flex-wrap:wrap;list-style:none;padding:0;margin:14px 0 0;font-size:15px;color:#526771}.vra-media-output{margin-top:30px}.vra-case-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.vra-case-note{font-size:14px;color:#637982;line-height:1.6;max-width:520px}.vra-page .cs-card-image .cs-media img{object-fit:contain;aspect-ratio:auto}.vra-final{background:#202b31;color:#eef2f3}.vra-final .ip-lead{color:#c2cfd3}.vra-final em,.vra-final .ip-kicker{color:#90bfc7}.vra-final .ip-button{background:#e1ecee;color:#203840}
@media(max-width:1000px){.vra-four{grid-template-columns:repeat(2,minmax(0,1fr))}.vra-case-layout{gap:30px}.vra-items h3{font-size:20px}}
@media(max-width:700px){.vra-items,.vra-case-layout{grid-template-columns:1fr}.vra-items{gap:24px}.vra-placeholder{aspect-ratio:1.5}.vra-media-hero .vra-placeholder{aspect-ratio:1.4}.vra-classifications ul{display:grid;gap:12px}.vra-page .ip-section{padding-block:46px}}

.vra-city-motion{position:relative;aspect-ratio:1.2;overflow:hidden;background:#e8eeee}.vra-city-motion canvas{display:block;width:100%;height:100%}.vra-city-motion button{position:absolute;right:16px;bottom:16px;padding:7px 12px;border:1px solid #96aab1;background:#eef3f2dd;color:#344b54;font:12px monospace;cursor:pointer}.vra-city-motion button:hover{background:#f3f6f5}.vra-city-motion button:focus-visible{outline:2px solid #077a8d;outline-offset:3px}@media(max-width:700px){.vra-city-motion{aspect-ratio:1.4}}
/* Scoped real-project processing sequence. */
.vra-processing-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:26px 0 8px}.vra-processing-tabs button{border:0;border-top:2px solid #bdcfd3;background:none;text-align:left;padding:10px 0;font:14px inherit;color:#677c82;cursor:pointer}.vra-processing-tabs span{display:block;font:12px monospace;margin-bottom:5px}.vra-processing-tabs [aria-pressed=true]{color:#077a8d;border-top-color:#077a8d}.vra-processing-media{position:relative;height:clamp(400px,35vw,490px);overflow:hidden;background:#edf1ef}.vra-processing-media canvas{display:block;width:100%;height:100%}.vra-processing-pause{position:absolute;right:16px;bottom:16px;z-index:3;border:1px solid #91aab1;background:#f1f5f1e8;color:#35555e;padding:7px 12px;font:12px monospace;cursor:pointer}.vra-processing-report{position:absolute;right:0;top:0;bottom:0;width:68%;display:flex;flex-direction:column;background:#f4f6f1fa;opacity:var(--report-show,0);transform:translateY(calc((1 - var(--report-show,0))*24px));visibility:hidden;pointer-events:none;transition:visibility .5s,opacity .3s}.vra-processing[data-stage="3"] .vra-processing-report{visibility:visible;pointer-events:auto}.vra-processing-report header{padding:18px 22px;border-bottom:1px solid #c3d3d6;font:12px monospace;color:#24727f}.vra-table-scroll{overflow:auto;flex:1;min-height:0}.vra-processing-report table{border-collapse:collapse;width:100%;min-width:650px;font-size:13px}.vra-processing-report th,.vra-processing-report td{text-align:left;font-weight:400;padding:14px 16px;border-bottom:1px solid #d0dcdd;line-height:1.5}.vra-processing-report thead th{position:sticky;top:0;background:#e7efec;font:10px/1.5 monospace}.vra-processing-report code{font:11px monospace;white-space:nowrap}.vra-a1-row{background:#dcebea;color:#176e7b}.vra-processing-report footer{font-size:11px;line-height:1.5;padding:12px 80px 12px 18px;color:#59737a}.vra-processing-note{font-size:12px;line-height:1.6;color:#657d84;margin:14px 0 0;max-width:920px}@media(max-width:700px){.vra-processing-tabs{display:flex;overflow:auto;gap:18px}.vra-processing-tabs button{min-width:125px}.vra-processing-media{height:360px}.vra-processing-report{width:100%;top:90px}.vra-processing-report header{padding:12px}.vra-processing-report footer{font-size:10px}}

/* Real archaeological deliverable, preserving source colours and complete geometry. */
.vra-media-output img{width:100%;height:auto;aspect-ratio:1812/1104;object-fit:cover;border:1px solid #cad8dc;box-sizing:border-box}.vra-media-output figcaption{margin-top:12px;font:12px/1.5 var(--mono,monospace);color:#637982}

/* Final archaeology-page media and control consistency. */
.vra-page :is(.vra-city-motion,.vra-processing-media,.vra-media-output img,.vra-case-layout .cs-card){border-radius:var(--ip-media-radius,10px);overflow:hidden}
.vra-processing-tabs{scrollbar-width:thin;scrollbar-color:#9eb3ba transparent;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
.vra-processing-tabs button{min-height:48px;scroll-snap-align:start;transition:border-color var(--x-motion-ui,320ms) var(--x-ease,ease),color var(--x-motion-ui,320ms) var(--x-ease,ease)}
.vra-processing-tabs button:focus-visible,.vra-processing-pause:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
@media(max-width:700px){
 .vra-page .ip-section{padding-block:var(--ip-section-space-mobile,44px)}
 .vra-page :is(.vra-city-motion,.vra-processing-media,.vra-media-output img,.vra-case-layout .cs-card){border-radius:var(--ip-media-radius,8px)}
}
