:root{--ease-out:cubic-bezier(.2,.75,.2,1);--motion-entry:700ms;--motion-fast:180ms}
html{scroll-padding-top:110px} :focus-visible{scroll-margin-block:120px} .service-poster,.work-archive aside{top:110px}
.motion-toggle{background:transparent;border:1px solid var(--line);border-radius:4px;color:inherit;padding:9px 12px;min-height:44px;font:inherit;font-size:13px}.motion-toggle:disabled{opacity:.8;cursor:default}
[data-motion="heading"],[data-motion="rise"],[data-motion="image"]{transition:opacity var(--motion-entry) var(--ease-out),transform var(--motion-entry) var(--ease-out)}
.motion-ready:not(.motion-visible){opacity:0;transform:translateY(32px)}
[data-motion="image"].motion-ready:not(.motion-visible){transform:translateY(45px) scale(.97)}
[data-motion="image"] img{transition:transform 900ms var(--ease-out)}
[data-motion="image"].motion-ready:not(.motion-visible) img{transform:scale(1.08)}
.project-image{overflow:hidden}.project:hover .project-image img,.project:focus-visible .project-image img{transform:scale(1.025)}
.capability-story{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start;padding-block:120px}.capability-story-intro{position:sticky;top:160px;padding-block:50px}.capability-story h2{font-size:clamp(38px,4.5vw,70px);line-height:1.02;margin:25px 0}.capability-story-intro>p:not(.eyebrow){max-width:400px;font-size:18px;line-height:1.6;color:var(--muted)}.capability-story .pill{margin-top:30px}.capability-story-cards{display:grid;gap:100px;padding-bottom:30px}.capability-visual{background:var(--cream);color:#24201c;border-radius:10px;display:block;overflow:hidden;transform-origin:50% 80%}.capability-visual:hover,.capability-visual:focus-visible{color:#c82032}.capability-visual>div:last-child{padding:28px}.capability-visual h3{font-family:var(--display);font-size:clamp(26px,3vw,44px);line-height:1.05;margin:18px 0}.capability-visual h3 span{float:right}.capability-visual p{font-size:16px;margin:16px 0 0;line-height:1.5}.capability-picture{height:300px;overflow:hidden;background:#a9b19b;display:grid;place-items:center}.capability-picture img{width:100%;height:100%;object-fit:cover;object-position:top}.identity-picture{background:#eadfc2}.identity-picture img{width:130px;height:auto;object-fit:contain}.type-picture{background:#a9b19b;font-family:var(--display);font-size:60px;line-height:.9;color:#24342a}.capability-visual:hover .capability-picture img{scale:1.025}.capability-picture img{transition:scale .6s var(--ease-out)}
.project-spotlight{position:relative;min-height:650px;height:85svh;max-height:1000px;isolation:isolate;overflow:hidden;background:#38131c}.spotlight-media{position:absolute;inset:0;overflow:hidden;transform-origin:center}.spotlight-media img{width:100%;height:100%;object-fit:cover;object-position:center}.spotlight-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#260d17e8,transparent 85%)}.spotlight-caption{position:absolute;bottom:65px;left:var(--gutter);right:var(--gutter)}.spotlight-caption h2{font-size:clamp(38px,5vw,76px);line-height:1.06;margin:22px 0 30px}.spotlight-caption em{color:#f5efce}.spotlight-caption .pill{background:var(--cream);color:#c82032}
.home-page .work{background:#f5efce;color:#24201c;max-width:none;padding:100px var(--gutter);--muted:#575148;--line:#bbb59c}.home-page .work h2 em{color:#a01d21}.home-page .work .project-caption span{color:#575148}.home-page .work a:hover{color:#8e1826}.home-page .work .projects{max-width:1480px;margin:auto}
.related-work,.project-enquiry{padding-block:30px 80px}.related-work h2{font-size:clamp(28px,4vw,50px);margin:20px 0}.project-enquiry{display:flex;gap:28px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line)}.project-enquiry p{width:100%}.project-enquiry .pill{margin-left:auto}
.lightbox[open]{animation:gallery-enter .3s var(--ease-out)}@keyframes gallery-enter{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
details[open]>*:not(summary){animation:detail-enter .3s var(--ease-out)}@keyframes detail-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.mega.is-closing{animation:menu-exit 160ms ease-in both;pointer-events:none}@keyframes menu-exit{to{opacity:0;transform:translateY(-8px)}}
#brief-help{font-size:14px;line-height:1.5;color:var(--muted)}#brief-help a{text-decoration:underline}.privacy-copy{max-width:820px;padding-block:70px}.privacy-copy h1{font-size:clamp(40px,6vw,70px);margin-bottom:30px}.privacy-copy h2{font-family:'IBM Plex Sans';font-size:26px;margin:35px 0 16px}.privacy-copy p{line-height:1.7;margin-bottom:18px}.privacy-copy a{text-decoration:underline}
@media(min-width:801px){.service-deck:focus-within .service-card:focus-visible{transform:translateY(-8px) rotate(0)!important}.about-hero{isolation:isolate}.orbit{z-index:0}.about-hero h1{position:relative;z-index:1}.closing .footer-word{overflow:hidden}}
@media(max-width:800px){.capability-story{grid-template-columns:1fr;padding-block:65px;gap:45px}.capability-story-intro{position:static;padding:0}.capability-story-cards{gap:35px}.capability-picture{height:240px}.capability-visual h3{font-size:32px}.project-spotlight{height:70svh;min-height:500px}.spotlight-caption{bottom:35px}.spotlight-caption .pill{font-size:13px}.home-page .work{padding-block:65px}.project-enquiry{display:block}.project-enquiry .text-link{display:block;margin:20px 0}.work-archive aside,.service-poster{position:static}.privacy-copy{padding-block:40px}.motion-ready:not(.motion-visible){transform:translateY(18px)}}
.reduce-motion *, .reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reduce-motion [data-motion]{opacity:1!important;transform:none!important}.reduce-motion .spotlight-media{transform:none!important}.reduce-motion .reveal{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){[data-motion]{opacity:1!important;transform:none!important}.spotlight-media{transform:none!important}}
/* Keep keyboard focus visible on the new light portfolio and menu surfaces. */
.home-page .work :focus-visible,.mega :focus-visible,.capability-visual:focus-visible{outline:3px solid #24201c;outline-offset:4px;box-shadow:0 0 0 7px #f5efce}
.reduce-motion::view-transition-old(root),.reduce-motion::view-transition-new(root){animation:none!important}
