/* Client motion, project pages and the Albasra family. */
[hidden]{display:none!important}
.clients-section{padding:58px 0 46px;border-bottom:1px solid var(--line);overflow:hidden;background:#fff}
.clients-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px}
.clients-heading .eyebrow{color:var(--purple);margin-bottom:10px;font-size:14px}
.clients-heading h2{font-size:clamp(26px,2.5vw,38px);letter-spacing:-.025em;line-height:1.2}
.motion-toggle{display:flex;align-items:center;gap:10px;min-height:44px;white-space:nowrap;border:0;background:transparent;color:var(--muted);padding:9px 0;font-size:14px}
.motion-symbol{font-size:20px;color:var(--purple);width:22px;text-align:center}
.client-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.client-track{display:flex;width:max-content;animation:clients-to-right 90s linear infinite;will-change:transform}
.client-cluster{list-style:none;margin:0;padding:0 48px 0 0;display:flex;align-items:center;gap:48px;flex-shrink:0}
.client-cluster li{display:flex;align-items:center;justify-content:center;width:154px;height:88px;flex-shrink:0}
.client-cluster img{width:135px;height:68px;object-fit:contain;filter:grayscale(1) contrast(1.65);mix-blend-mode:multiply}
.clients-section.is-paused .client-track,.client-window:hover .client-track{animation-play-state:paused}
@keyframes clients-to-right{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
.carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:-10px 0 28px}
.carousel-controls>p{font-size:16px}.carousel-buttons{display:flex;gap:12px}
.circle-button{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border:1px solid #cbbcd1;border-radius:50%;background:transparent;color:var(--purple);font-size:24px;transition:background .2s,color .2s}
.circle-button:hover:not(:disabled){background:var(--purple);color:#fff}.circle-button:disabled{opacity:.3;cursor:default}
.featured-track{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#c7b2cf transparent;padding:0 0 20px;overscroll-behavior-x:contain;outline-offset:5px}
.featured-track>.work-card{flex:0 0 47%;scroll-snap-align:start}
.work-card{min-width:0}.work-card-link{display:block}.work-image{position:relative;aspect-ratio:1.6;overflow:hidden;background:var(--soft)}
.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.work-card-link:hover .work-image img{transform:scale(1.035)}
.work-open{position:absolute;bottom:18px;right:18px;display:flex;align-items:center;justify-content:center;width:45px;height:45px;background:#fff;color:var(--purple);border-radius:50%;font-size:23px;box-shadow:0 3px 15px #0001}
.work-sector{color:var(--purple);font-size:14px;margin:22px 0 8px}
.work-card h3{font-size:clamp(25px,2.4vw,34px);line-height:1.16;letter-spacing:-.025em;margin-bottom:12px}
.work-description{font-size:16px;line-height:1.65;max-width:530px}
.work-more{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:var(--purple);border-bottom:1px solid var(--line);padding:15px 0 12px;margin-top:10px;min-height:44px}.work-more span{font-size:23px}
.sister-companies{background:#f5f2f7;border-top:1px solid var(--line)}
.company-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0;padding:0}
.company-card{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center;padding:28px 20px 25px;background:#eee;border:1px solid #e0d8e4;border-radius:4px}
.company-logo{height:95px;display:flex;align-items:center;justify-content:center;width:100%;margin-bottom:18px}
.company-logo img{object-fit:contain;max-height:83px;width:auto;max-width:164px}
.company-card h3{font-size:17px;line-height:1.35;font-weight:600;max-width:220px;margin-bottom:10px}
.company-card p{font-size:14px;line-height:1.5;max-width:230px;margin-top:auto}
.catalogue-page .site-header{color:var(--ink);background:#fff;border-color:var(--line)}
.catalogue-page .brand-light{opacity:0}.catalogue-page .brand-dark{opacity:1}
.catalogue-page .header-contact{background:var(--purple);color:white;border-color:var(--purple)}
.catalogue-intro{padding-top:calc(var(--header-h) + 24px);padding-bottom:45px}
.breadcrumb{display:flex;align-items:baseline;flex-wrap:wrap;gap:9px 16px;margin:26px 0 42px;font-size:14px;color:var(--muted);line-height:1.6}
.breadcrumb a{color:var(--ink);padding:6px 0}.breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}.breadcrumb>span[aria-hidden]{color:#b8abbf}
.catalogue-intro>.eyebrow{color:var(--purple);margin-bottom:22px}
.catalogue-intro h1{font-size:clamp(46px,6.5vw,92px);line-height:1.06;letter-spacing:-.045em}
.catalogue-description{font-size:20px;max-width:700px;margin-top:27px;line-height:1.6}
.catalogue-section{padding-bottom:60px}
.project-filters{display:flex;flex-wrap:wrap;gap:10px;border-block:1px solid var(--line);padding:22px 0;margin-bottom:24px}
.filter-button{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:2px;font-size:14px;min-height:44px;padding:11px 17px;line-height:1.35}
.filter-button:hover{border-color:var(--purple);color:var(--purple)}.filter-button[aria-pressed=true]{color:#fff;background:var(--purple);border-color:var(--purple)}
.result-count{font-size:14px;margin:0 0 26px;color:var(--muted)}
.catalogue-grid,.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 28px}
.catalogue-grid .work-image{aspect-ratio:1.4}.catalogue-grid .work-card h3,.related-grid .work-card h3{font-size:27px}
.sector-portfolios{border-top:1px solid var(--line);padding-top:70px}
.sector-portfolios h2{font-size:clamp(36px,4vw,58px)}
.sector-list{margin:40px 0}
.sector-entry{border-top:1px solid var(--line)}.sector-entry:last-child{border-bottom:1px solid var(--line)}
.sector-entry summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;padding:23px 0;font-size:24px;line-height:1.3}
.sector-entry summary::-webkit-details-marker{display:none}.sector-entry summary span{color:var(--purple);font-size:27px}.sector-entry[open] summary span{transform:rotate(45deg)}
.sector-content{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;padding:0 0 34px}.sector-content img{width:100%;aspect-ratio:2;object-fit:cover}.sector-content p{font-size:17px;line-height:1.75}
.project-hero{height:70svh;min-height:520px;max-height:800px;position:relative;background:var(--night);color:white;isolation:isolate}
.project-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.project-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#10081799,transparent 32%,#100817cc);z-index:-1}
.project-hero-copy{position:absolute;bottom:62px;left:0;right:0}
.project-hero-copy .eyebrow{color:#f0dff6;margin-bottom:18px;font-size:14px}
.project-hero h1{font-size:clamp(45px,6vw,86px);line-height:1.1;letter-spacing:-.035em;max-width:1000px;text-wrap:balance}
.project-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:25px 32px;padding:0 0 36px;border-bottom:1px solid var(--line);margin:0}
.project-facts div{border-left:2px solid #e7deea;padding-left:22px}
.project-facts dt{color:var(--muted);font-size:14px;margin-bottom:12px}.project-facts dd{font-size:23px;line-height:1.3;margin:0;color:var(--purple)}
.project-story{display:grid;grid-template-columns:1fr 1.05fr;gap:7%;padding:78px 0 80px}
.project-story .eyebrow{color:var(--purple);margin-bottom:22px}
.project-story h2{font-size:clamp(36px,4vw,58px);max-width:570px}
.project-story p{font-size:17px;line-height:1.8;margin-bottom:24px}
.project-story .project-lead{font-size:22px;line-height:1.55;color:var(--ink)}
.project-story .text-link{margin-top:4px}
.project-gallery{padding-bottom:80px}
.gallery-heading{display:flex;justify-content:space-between;gap:24px;align-items:baseline;margin-bottom:32px}
.gallery-heading h2{font-size:36px}.gallery-heading>p{font-size:14px}
.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:26px;align-items:start}.gallery-grid.single-image{display:block;max-width:1056px;margin-inline:auto}
.gallery-image{display:block;background:var(--soft)}.gallery-image img{width:100%;height:auto}
.gallery-image>span{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:48px;padding:12px 18px;color:var(--purple);font-size:14px}.gallery-image>span>span{font-size:24px}
.more-projects{background:var(--soft)}.more-projects h2{font-size:clamp(34px,3.5vw,52px)}
.project-enquiry{background:var(--purple);color:white;padding:70px 0}.project-enquiry .wrap{display:flex;justify-content:space-between;align-items:center;gap:35px}.project-enquiry h2{font-size:clamp(35px,3.8vw,56px)}.project-enquiry .button{white-space:nowrap}
body.gallery-open{overflow:hidden}
.gallery-dialog{width:calc(100% - 60px);max-width:1450px;max-height:calc(100dvh - 40px);border:0;background:#18111d;color:white;padding:20px 24px;overflow:auto}
.gallery-dialog::backdrop{background:#0c0712ed}
.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:15px}.gallery-caption{color:#eee1f3;font-size:15px;line-height:1.5}.gallery-close{border:1px solid #806788;background:transparent;color:white;display:flex;align-items:center;gap:20px;padding:6px 15px;min-height:44px;font-size:15px}.gallery-close span{font-size:26px}
.gallery-full{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 210px);object-fit:contain;margin:auto}.gallery-navigation{display:flex;justify-content:center;gap:18px;padding-top:16px}.gallery-navigation .circle-button{color:#fff}
@media(min-width:1700px){.featured-track>.work-card{flex-basis:45%}}
@media(max-width:1100px){.company-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalogue-grid,.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related-grid .work-card:last-child{grid-column:1 / -1;max-width:calc(50% - 14px)}.project-story{gap:5%}.project-story h2{font-size:42px}}
@media(max-width:700px){.clients-section{padding:38px 0 30px}.clients-heading{align-items:start;gap:15px}.clients-heading h2{font-size:27px;max-width:290px}.motion-toggle{font-size:13px;min-width:44px}.motion-label{max-width:50px;white-space:normal;text-align:left;line-height:1.3}.client-cluster{gap:30px;padding-right:30px}.client-cluster li{width:130px;height:80px}.client-cluster img{width:118px;height:58px}.featured-track>.work-card{flex-basis:85%}.featured-track{gap:20px}.carousel-controls>p{max-width:190px}.company-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.company-card{padding:22px 12px}.company-logo{height:80px;margin-bottom:14px}.company-logo img{max-width:130px;max-height:68px}.company-card h3{font-size:16px}.company-card p{font-size:14px}.catalogue-grid,.related-grid{gap:36px 22px}.catalogue-intro h1{font-size:52px}.catalogue-description{font-size:18px}.catalogue-grid .work-card h3,.related-grid .work-card h3{font-size:25px}.project-story{grid-template-columns:1fr;gap:28px;padding:50px 0}.project-story h2{font-size:39px}.project-story .project-lead{font-size:20px}.project-hero{min-height:510px;height:68svh}.project-hero-copy{bottom:40px}.project-hero h1{font-size:48px}.project-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.project-facts dd{font-size:20px}.project-facts div{padding-left:15px}.breadcrumb{margin:24px 0 32px;gap:7px 11px}.gallery-grid{grid-template-columns:1fr;gap:22px}.gallery-heading h2{font-size:31px}.project-gallery{padding-bottom:55px}.sector-content{grid-template-columns:1fr;gap:22px}.sector-entry summary{font-size:22px}.project-enquiry .wrap{flex-direction:column;align-items:start;gap:28px}.project-enquiry{padding:50px 0}.gallery-dialog{width:calc(100% - 20px);padding:14px;max-height:calc(100dvh - 20px)}.gallery-toolbar{gap:15px}.gallery-caption{font-size:14px}.gallery-close{padding-inline:12px}}
@media(max-width:520px){.catalogue-grid,.related-grid{grid-template-columns:minmax(0,1fr)}.related-grid .work-card:last-child{grid-column:auto;max-width:none}.catalogue-intro h1{font-size:44px}.company-logo img{max-width:112px}.company-card{padding-inline:10px}.company-card h3{font-size:16px}.work-sector{margin-top:18px}.work-card h3{font-size:27px}.filter-button{padding:10px 13px}.project-hero h1{font-size:43px}.project-story h2{font-size:36px}.gallery-heading{gap:16px}.gallery-heading h2{font-size:29px}.clients-heading h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.client-window{mask-image:none}.client-track{animation:none;transform:none;width:auto;display:block;will-change:auto}.client-cluster{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;padding:0 var(--gutter)}.client-cluster li{width:auto}.client-copy{display:none}.motion-toggle{display:none}.featured-track{scroll-behavior:auto}}
@media(prefers-reduced-motion:reduce) and (max-width:700px){.client-cluster{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.client-cluster img{max-width:100%;width:110px}}
@media print{.client-track{animation:none;width:auto;display:block;transform:none}.client-cluster{display:flex;flex-wrap:wrap;gap:20px}.client-copy,.motion-toggle,.carousel-buttons,.project-filters,.gallery-dialog{display:none!important}.featured-track{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.company-grid{grid-template-columns:repeat(4,1fr)}.project-hero{height:380px;min-height:0;print-color-adjust:exact}.catalogue-intro{padding-top:0}.company-card,.work-card{break-inside:avoid}.project-hero-copy{bottom:35px}}
