/* Version 1.1 — photographic context, interface references and purposeful motion. */
.reference-visual{margin:0;min-width:0;overflow:hidden}.reference-visual picture{display:block;overflow:hidden;background:#1d1d1d}.reference-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.3,1)}.reference-visual figcaption{font-size:11px;line-height:1.6;color:#b3b0a6;padding:10px 0;margin:0}.reference-visual figcaption a{text-decoration:underline;text-underline-offset:3px}.light .reference-visual figcaption{color:#66645b}.visual-expand{display:block;padding:0;border:0;background:none;color:inherit;position:relative;width:100%;cursor:zoom-in;text-align:left}.visual-expand:hover img{transform:scale(1.025)}.expand-hint{position:absolute;bottom:12px;right:12px;padding:7px 11px;background:#080808e8;border:1px solid #ffffff40;color:#F3F1EA;font-size:11px;letter-spacing:.03em}.visual-expand:focus-visible{outline:2px solid #C9A227;outline-offset:3px}
.tile-image{margin:-22px -22px 16px;height:120px;overflow:hidden;position:relative;border-bottom:1px solid #ffffff20}.tile-image picture,.tile-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 35%}.tile-image img{transition:transform .6s}.tile-image span{position:absolute;bottom:0;left:0;right:0;padding:6px 12px;font-size:9px;line-height:1.4;color:#eee;background:#080808dc}.work-tile:hover .tile-image img,.work-tile:focus-within .tile-image img{transform:scale(1.05)}.work-tile{overflow:hidden}.work-tile h3{margin-top:13px}.work-library .tile-image{height:158px}.case-related .work-tile{display:grid;grid-template-columns:180px 1fr;column-gap:24px}.case-related .tile-image{grid-row:1/5;margin:-20px 0 -20px -24px;height:auto;min-height:180px}.case-related .work-tile h3,.case-related .work-tile p,.case-related .tile-sector,.case-related .tile-meta{grid-column:2}.case-related .tile-sector{padding-top:8px}
.case-visual-pair{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.75fr);gap:24px;align-items:start;margin-top:28px}.case-reference picture{aspect-ratio:16/9}.case-reference.interface-reference picture{aspect-ratio:1.65;background:#202020}.case-reference.interface-reference img{object-fit:contain}.case-visual-pair .case-flow{margin:0;height:100%;padding:22px}.case-visual-pair .case-flow ol{display:grid;grid-template-columns:1fr;gap:16px}.case-visual-pair .case-flow li{padding:0 0 13px;border-left:0;border-bottom:1px solid #ffffff25}.case-visual-pair .case-flow li:last-child{border-bottom:0;padding-bottom:0}.case-visual-pair .case-flow figcaption{flex-wrap:wrap;font-size:9px}.case-flow li strong{font-size:15px}
.service-reference picture{aspect-ratio:1.3}.service-reference.interface-reference img{object-fit:contain;background:#202020}.art-service-hero{align-items:center}.service-composition .service-reference{align-self:center}.service-composition .service-reference picture{aspect-ratio:1.5}.visual-explanation{margin-top:24px;border-top:1px solid #ffffff30;padding-top:14px}.visual-explanation summary{cursor:pointer;display:flex;justify-content:space-between;padding:10px 0;min-height:44px;font-size:14px}.visual-explanation>figure{max-width:700px;margin:20px auto}.home-capability-reference{margin-bottom:24px}.home-capability-reference picture{height:200px}.home-capability-reference.interface-reference img{object-position:top}.home-capability-reference figcaption{font-size:10px}.about-reference{margin-top:25px}.about-reference picture{aspect-ratio:1.3}.contact-reference{margin-top:24px;max-width:440px}.contact-reference picture{height:150px}.solutions-reference{max-width:580px;margin-top:24px}.solutions-reference picture{aspect-ratio:2;object-position:top}.solution-reference{margin-top:20px}.solution-reference picture{height:190px}.solution-reference figcaption{font-size:10px}.industry-reference{margin-top:22px}.industry-reference picture{aspect-ratio:1.8}.industry-reference.interface-reference img{object-position:top}
#visual-dialog{width:min(1100px,94vw);max-width:1100px;padding:22px;background:#151515;color:#F3F1EA;max-height:92dvh}#visual-dialog::backdrop{background:#000c}#visual-dialog-image{width:100%;height:auto;max-height:70dvh;object-fit:contain;background:#080808}#visual-dialog-caption{font-size:13px;color:#c7c3b6;line-height:1.6;margin:12px 0 0}#visual-dialog .dialog-top{margin-bottom:14px}.dialog-close{min-width:44px;min-height:44px}
/* Content is visible by default; animations run once on entry. */
.visual-arrived{animation:visual-enter .6s cubic-bezier(.16,.7,.3,1) both}.visual-arrived .case-flow li{animation:workflow-enter .45s both}.visual-arrived .case-flow li:nth-child(2){animation-delay:.12s}.visual-arrived .case-flow li:nth-child(3){animation-delay:.24s}.visual-arrived .case-flow li:nth-child(4){animation-delay:.36s}
.system-art .orbit{animation:system-arrive 1.5s ease-out both}.system-art .orbit-two{animation-delay:.12s}.system-art .orbit-three{animation-delay:.24s}.system-art .art-label{transition:background .3s,border-color .3s,transform .3s}.system-art .art-label:hover,.system-art .art-label:focus-visible{border-color:#C9A227;background:#151515;transform:scale(1.07)}.solution-panel{animation:visual-enter .4s}.menu-links a i{transition:transform .2s}.menu-links a:hover i{transform:translate(3px,-3px)}
@keyframes visual-enter{from{opacity:.5;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes workflow-enter{from{opacity:.5;transform:translateX(-6px)}to{opacity:1;transform:none}}@keyframes system-arrive{from{opacity:0;scale:.9}to{opacity:1;scale:1}}
@media(max-width:900px){.case-visual-pair{grid-template-columns:1fr}.case-visual-pair .case-flow ol{grid-template-columns:repeat(4,1fr);gap:12px}.case-visual-pair .case-flow li{border-bottom:0;display:block}.case-visual-pair .case-flow li span{display:block;margin-bottom:9px}.case-visual-pair .case-flow{height:auto}.service-reference picture{aspect-ratio:1.5}}
@media(max-width:700px){.tile-image{margin:-18px -18px 14px;height:125px}.work-library .tile-image{height:140px}.reference-visual figcaption{font-size:10px}.case-related .work-tile{display:flex}.case-related .tile-image{margin:-20px -24px 14px;height:130px;min-height:0}.case-visual-pair .case-flow ol{grid-template-columns:1fr 1fr}.home-capability-reference picture{height:180px}.service-reference picture{aspect-ratio:1.5}.contact-reference picture{height:130px}.case-reference.interface-reference picture{aspect-ratio:1.38}.case-visual-pair{gap:14px}.about-reference picture{aspect-ratio:1.8}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.visual-expand:hover img,.work-tile:hover .tile-image img{transform:none}.system-art:hover .art-label{transform:none}}
