/* Shared footer artwork must retain its original aspect ratio on every page. */
body .footer{background:#101419;color:#f6f5f1;position:relative;isolation:isolate;overflow:hidden}
body .footer .footer-watermark{position:absolute;inset:0 auto auto 0;width:100%;height:auto;aspect-ratio:1440 / 354;max-width:none;object-fit:contain;object-position:left top;transform:none;opacity:1;filter:none;z-index:0;pointer-events:none}
body .footer .footer-top,body .footer .footer-bottom,body .footer .footer-mantra{position:relative;z-index:1}
.contact-social .project-enquiry-link{display:inline-flex;align-items:center;gap:14px;min-height:36px;color:#dc633e;border-bottom:1px solid #dc633e70;padding:4px 0;font-weight:700}
.project-enquiry-link svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.contact-social .project-enquiry-link:hover{color:#ed8a6c}.project-enquiry-link:hover svg{transform:translateY(3px)}
@media(max-width:800px){body .footer .footer-watermark{width:1440px;height:354px;max-width:none}}
@media(prefers-reduced-motion:reduce){.project-enquiry-link svg{transition:none}.project-enquiry-link:hover svg{transform:none}}
/* Restrained pagination, with the XAI diamond reserved for prominent actions. */
.portfolio-list .portfolio-row[hidden]{display:none!important}
.pagination-wrap{padding:0 5% 65px}.portfolio-pagination{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #a7c7df30;padding-top:32px}.pagination-numbers{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.pagination-numbers button{min-width:40px;min-height:44px;font-size:13px;font-family:var(--sans);color:#8997a4;position:relative}.pagination-numbers button[aria-current=page]{color:#a7c7df}.pagination-numbers button[aria-current=page]:after{content:'';position:absolute;width:4px;height:4px;left:50%;bottom:3px;background:#4987bd;transform:translateX(-50%) rotate(45deg)}.pagination-numbers button:hover{color:var(--paper)}.pagination-arrows{display:flex;gap:20px}.diamond-arrow{position:relative;display:grid;place-items:center;width:48px;height:48px;color:#a7c7df;padding:0}.diamond-arrow:before{content:'';position:absolute;inset:7px;border:1px solid currentColor;transform:rotate(45deg);transition:background .25s}.diamond-arrow svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;z-index:1}.previous-page svg{transform:rotate(180deg)}.diamond-arrow:hover:not(:disabled):before{background:#4987bd25}.diamond-arrow:disabled{opacity:.22;cursor:default}.pagination-status{color:#8997a4;font-size:10px;margin-top:20px;letter-spacing:.06em}.enquiry-submit .enquiry-submit-icon{position:relative;border:0;border-radius:0;background:none;isolation:isolate}.enquiry-submit .enquiry-submit-icon:before{content:'';position:absolute;inset:7px;border:1px solid #4987bd90;transform:rotate(45deg);z-index:-1}.enquiry-submit:hover .enquiry-submit-icon{background:none}.enquiry-submit:hover .enquiry-submit-icon:before{background:#4987bd15}
@media(max-width:600px){.pagination-numbers{gap:4px}.pagination-arrows{gap:8px}.portfolio-pagination{gap:12px}.pagination-wrap{padding-inline:7%}.pagination-numbers button{min-width:32px}}
/* Every selected-work image fills its clipped diamond, including the third frame. */
.work .project-image img,.work .project-image video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:transparent}

/* Give the process its own unhurried chapter after the fading hero. */
@media(min-width:801px){
 .process{padding-top:clamp(95px,8vw,150px);padding-bottom:clamp(140px,11vw,205px)}
 .process-aside{justify-content:flex-end;padding-right:clamp(115px,12vw,225px)}
}
@media(min-width:1200px){
 .process-art{height:clamp(470px,34vw,540px);aspect-ratio:auto}
 .process-steps .step{width:clamp(220px,15vw,270px);font-size:clamp(15px,1.2vw,19px)}
 .process-steps .step:nth-child(1){left:4%;top:0}
 .process-steps .step:nth-child(2){left:24%;top:42%}
 .process-steps .step:nth-child(3){left:44%;top:0}
 .process-steps .step:nth-child(4){left:83%;top:22%}
 .process-copy{margin-top:-8%}
 .process-main h2{margin-bottom:30px}
 .process-description{max-width:560px}
}
@media(max-width:800px){
 .process{padding-top:75px;padding-bottom:130px}
}
@media(max-width:480px){
 .process{padding-top:90px;padding-bottom:145px}
 .process-art{height:400px}
}
