/* Project cards orbit a shared centre at different heights and depths. */
.work-orbit-section{position:relative;margin:5rem 0 0;background:#fff;scroll-margin-top:90px}
.work-orbit-stage{padding:3.5rem 0 2rem}
.work-orbit-section .section-heading{position:relative;z-index:3;margin-bottom:2rem}
.work-orbit-section .projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;width:min(1280px,calc(100% - 7rem));margin:0 auto;padding:0;overflow:visible;perspective:none}
.work-orbit-section .project{width:auto;min-width:0;max-width:none;flex:none;container-type:inline-size}
.work-orbit-section .project-cover{height:300px}
.work-orbit-section .project-info h3{white-space:normal;font-size:1.15rem;line-height:1.2;letter-spacing:-.01em}
.work-orbit-section .work-controls,.work-orbit-footer,.work-orbit-hub,.work-orbit-portal{display:none}
#work-end{scroll-margin-top:110px}
.site-header{transition:transform .25s ease,opacity .2s ease,box-shadow .3s,background .3s}
.work-immersive .site-header{transform:translate3d(0,-110%,0);opacity:0;visibility:hidden;pointer-events:none}
.work-orbit-section.orbit-ready{height:calc(100svh + var(--orbit-distance,3000px));scroll-margin-top:0}
.work-orbit-section.orbit-ready[data-phase="approach"]>.work-orbit-portal{display:block;position:fixed;inset:0;overflow:clip;z-index:19;pointer-events:none;opacity:var(--orbit-portal-opacity,0)}
.work-orbit-portal>span{position:absolute;left:50%;top:50%;width:clamp(100px,10vw,150px);aspect-ratio:1;border-radius:50%;background:var(--heading-spectrum-light);transform:translate(-50%,-50%) scale(var(--orbit-portal-scale,1));-webkit-mask:radial-gradient(circle,transparent var(--orbit-portal-hole,0%),#000 calc(var(--orbit-portal-hole,0%) + 1%));mask:radial-gradient(circle,transparent var(--orbit-portal-hole,0%),#000 calc(var(--orbit-portal-hole,0%) + 1%));will-change:transform;}
.work-orbit-section.orbit-ready .work-orbit-stage{position:sticky;top:0;height:100svh;min-height:420px;padding:0;overflow:clip;isolation:isolate;display:block}
.work-orbit-section.orbit-ready .section-heading{position:absolute;left:50%;top:1.5rem;width:min(1280px,calc(100% - 7rem));margin:0;align-items:center;transform:translateX(-50%) translateY(var(--orbit-heading-shift,0px));opacity:var(--orbit-heading-opacity,1);transition:none;pointer-events:none;z-index:180}
.work-orbit-section.orbit-ready .section-heading h2{font-size:clamp(2rem,4.2vw,3.5rem);letter-spacing:-.025em;line-height:1.08}
.work-orbit-section.orbit-ready .section-heading .eyebrow{font-size:.8125rem;letter-spacing:.065em;margin-bottom:.6rem}
.work-orbit-section.orbit-ready .work-heading-side p{font-size:.9375rem;line-height:1.5}
.work-orbit-scene{position:relative}
.work-orbit-section.orbit-ready .work-orbit-scene{position:absolute;inset:0;min-height:0;width:100%;height:100%;isolation:isolate;touch-action:pan-y}
.work-orbit-section.orbit-ready .projects{position:absolute;inset:0;width:100%;height:100%;display:block;margin:0;padding:0;overflow:visible;perspective:none;touch-action:pan-y;cursor:grab;transform:none;isolation:auto;user-select:none}
.work-orbit-section.orbit-ready .projects.is-dragging,.work-orbit-section.orbit-ready .projects.is-dragging .project-cover{cursor:grabbing}
.work-orbit-section.orbit-ready .project{position:absolute;left:50%;top:50%;width:var(--orbit-card-width,420px);height:var(--orbit-tile,294px);transform:translate(-50%,-50%) var(--orbit-transform);transform-origin:50% 50%;transition:none;opacity:var(--orbit-opacity,0);z-index:var(--orbit-z,1);will-change:transform;filter:blur(var(--orbit-depth-blur,0px))}
.work-orbit-section.orbit-ready .project.is-active,.work-orbit-section.orbit-ready .project:focus-within{opacity:var(--orbit-entry,0);filter:none}
.work-orbit-section.orbit-ready .project-cover{height:100%;padding:1rem;border-radius:18px;backface-visibility:hidden;cursor:grab}
.work-orbit-section.orbit-ready .project-cover:active{cursor:grabbing}
.work-orbit-section.orbit-ready .project-cover .cover-top{font-size:.8125rem;letter-spacing:.025em;line-height:1.35;gap:.5rem}
.work-orbit-section.orbit-ready .project-cover .cover-bottom{font-size:.9375rem;line-height:1.35;padding-right:28px;gap:.35rem}
.work-orbit-section.orbit-ready .cover-pill{display:none}
.work-orbit-section.orbit-ready .project-brand{font-size:clamp(.875rem,6cqw,1.15rem);min-height:64px;transform:none}
.work-orbit-section.orbit-ready .project-name{white-space:normal;line-height:1.2;text-align:center;text-wrap:balance}
.work-orbit-section.orbit-ready .project-brand .logo-plaque{max-width:94%;padding:10px 12px;border-radius:12px}
.work-orbit-section.orbit-ready .project-brand .supplied-logo{max-height:86px;max-width:280px}
.work-orbit-section.orbit-ready .project-info,.work-orbit-section.orbit-ready .tags{display:none}
.work-orbit-section.orbit-ready .project-scene{top:27%;left:0;right:0;opacity:.27}
.work-orbit-section.orbit-ready .peel-corner{width:35px;height:35px}
.work-orbit-section.orbit-ready .project-cursor{display:none!important}
.work-orbit-section.orbit-ready .work-orbit-hub{display:flex;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--orbit-hub-scale,1));width:clamp(100px,10vw,150px);aspect-ratio:1;border-radius:50%;align-items:center;justify-content:center;flex-direction:column;gap:.5rem;z-index:100;background:var(--heading-spectrum-light,linear-gradient(110deg,#b5d2ea,#f1dfc1,#f0bde9));color:#283a55;box-shadow:inset 0 1px 0 #ffffffc2,0 10px 35px #667da522;pointer-events:auto;cursor:grab;touch-action:pan-y;user-select:none;text-align:center;font-size:1rem;font-weight:700;line-height:1.15;letter-spacing:.03em;opacity:var(--orbit-hub-opacity,1);will-change:transform}
.work-orbit-section.orbit-ready[data-phase="approach"] .work-orbit-hub,.work-orbit-section.orbit-ready[data-phase="exit"] .work-orbit-hub{pointer-events:none}
.work-orbit-section.orbit-ready .work-orbit-hub:active{cursor:grabbing}
.work-orbit-hub small{font-size:.875rem;font-weight:550;letter-spacing:0}
.work-orbit-section.orbit-ready .work-orbit-footer{opacity:var(--orbit-exit,1)}
.work-orbit-section.orbit-ready .work-orbit-footer{display:flex;position:absolute;left:50%;bottom:max(.4rem,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(1280px,calc(100% - 7rem));margin:0;z-index:180;align-items:center;justify-content:space-between;gap:1.5rem;padding:.25rem 0;font-size:.875rem;color:var(--muted);pointer-events:none}
.work-orbit-section.orbit-ready .orbit-skip{pointer-events:auto}
.orbit-progress{height:2px;background:#1557a618;flex:1;max-width:220px;overflow:hidden}
.orbit-progress>span{display:block;height:100%;background:var(--heading-spectrum-light);transform-origin:left;transform:scaleX(var(--orbit-progress,0))}
.orbit-skip{flex-shrink:0;min-height:44px;display:inline-flex;align-items:center;color:var(--navy);border-bottom:1px solid #1557a640}
/* Brand artwork and colours remain independent of the spatial camera. */
.work-orbit-section .project-cover{background:radial-gradient(ellipse at var(--light-x,82%) var(--light-y,12%),color-mix(in srgb,var(--brand-secondary,var(--project-accent)) 34%,transparent),transparent 64%),radial-gradient(ellipse at 8% 92%,color-mix(in srgb,var(--brand-primary,var(--project-accent)) 23%,transparent),transparent 66%),linear-gradient(135deg,#fff,var(--brand-light,var(--project-tint)));transform:perspective(900px) rotateX(var(--work-tilt-x,0deg)) rotateY(var(--work-tilt-y,0deg));box-shadow:var(--work-shadow-x,0px) var(--work-shadow-y,20px) 48px -24px color-mix(in srgb,var(--brand-primary,#0b2a55) 35%,transparent);transition:transform .2s ease-out,box-shadow .2s ease-out}
.work-orbit-section .project-cover>.cover-top,.work-orbit-section .project-cover>.cover-bottom{position:relative;z-index:2}
.work-orbit-section .project-cover.work-hover{box-shadow:var(--work-shadow-x,0px) var(--work-shadow-y,24px) 60px -18px color-mix(in srgb,var(--brand-primary,#0b2a55) 50%,transparent),0 4px 20px -10px color-mix(in srgb,var(--brand-secondary,#1557a6) 35%,transparent)}
@media(max-width:1000px){
 .work-orbit-section .projects{width:calc(100% - 4rem);grid-template-columns:repeat(2,minmax(0,1fr))}
 .work-orbit-section.orbit-ready .projects{width:100%}
 .work-orbit-section.orbit-ready .work-heading-side{display:none}
}
@media(max-width:760px){
 .work-orbit-section{margin-top:2rem;scroll-margin-top:72px}
 .work-orbit-stage{padding:2rem 0}
 .work-orbit-section .projects{width:calc(100% - 2.5rem);grid-template-columns:1fr;gap:2rem}
 .work-orbit-section.orbit-ready .projects{width:100%}
 .work-orbit-section.orbit-ready .section-heading{width:calc(100% - 2.5rem);align-items:start;gap:.6rem}
 .work-orbit-section.orbit-ready .section-heading h2{font-size:clamp(1.65rem,6.5vw,2.3rem);max-width:none;line-height:1.15}
 .work-orbit-section.orbit-ready .project-cover{padding:.75rem;border-radius:14px}
 .work-orbit-section.orbit-ready .project-cover .cover-top{font-size:.75rem;letter-spacing:.015em}
 .work-orbit-section.orbit-ready .project-cover .cover-bottom{font-size:.8125rem}
 .work-orbit-section.orbit-ready .project-brand{min-height:40px}
 .work-orbit-section.orbit-ready .project-brand .logo-plaque{padding:7px 9px;border-radius:9px}
 .work-orbit-section.orbit-ready .project-brand .supplied-logo{max-height:56px}
 .work-orbit-section.orbit-ready .section-heading{top:1rem}
 .work-orbit-section.orbit-ready .work-orbit-footer{width:calc(100% - 2.5rem);gap:.75rem;font-size:.875rem;padding:0}
 .work-orbit-section.orbit-ready .work-orbit-footer p{max-width:220px}
 .work-orbit-section.orbit-ready .work-orbit-hub{width:100px;font-size:.875rem}
 .work-orbit-portal>span{width:100px}
 .orbit-progress{display:none}
}
@media(prefers-reduced-motion:reduce){.work-orbit-section .project-cover{transform:none!important}.site-header{transition:none}}

/* The next section fills the lower empty part of the exit stage. */
body .about-layout.orbit-handoff{position:relative;z-index:2;margin-top:calc(-1 * var(--orbit-handoff-overlap,0px));padding-top:32px;background:var(--one-paper,#fff)}
@media(max-width:760px){body .about-layout.orbit-handoff{padding-top:24px}}
