.cms-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.cms-service{border-top:1px solid #65536e;padding-top:26px}.cms-service h2{font-size:32px;margin:22px 0}.cms-service p{line-height:1.8}.cms-card-art{display:flex;align-items:center;justify-content:center;height:100%;min-height:300px;font:italic 130px Georgia,serif;background:radial-gradient(ellipse at 70% 30%,#6f4d8060,transparent),#151822;color:#cdb2df;position:relative}.cms-card-art i{font-size:120px;opacity:.2;position:absolute;right:20px;bottom:0}.cms-body{max-width:930px}.cms-body p{font-size:16px;line-height:1.9}.cms-body h2{font-size:34px;margin-top:36px;line-height:1.25}.cms-preview{padding:16px;text-align:center;background:#31233f;color:#e1c7ff}.cms-preview a{text-decoration:underline}.project-image{display:block}.project-feature-image img{height:auto}.cms-service .eyebrow{font-size:12px}@media(max-width:767px){.cms-services{grid-template-columns:1fr}.cms-card-art{min-height:230px}}
/* Show complete portfolio artwork, including on hover. */
.work-grid .project-image img{aspect-ratio:auto;width:100%;height:auto;object-fit:contain}
.work-grid .project-image:hover img{transform:none}
.project-masonry.is-masonry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1px;column-gap:32px;row-gap:0;margin:0}
.project-masonry.is-masonry>.project{width:100%;max-width:100%;padding:0;margin:0;align-self:start;min-width:0}
@media(max-width:767px){.project-masonry.is-masonry{grid-template-columns:minmax(0,1fr)}}
/* Uploaded client logos stay black and white, including on hover. */
.clients-grid li>a{display:flex;width:100%;align-items:center;justify-content:center}
.clients-grid .client-logo{width:100%;max-width:220px;height:100px;object-fit:contain;padding:16px;background:#f4f4f4;border-radius:10px;filter:grayscale(1)}
.clients-grid li:hover .client-logo{filter:grayscale(1)}
/* Preserve the supplied logo proportions and blend its black canvas into the site. */
.brand-image{display:block;position:relative;width:150px;aspect-ratio:1445/420;overflow:hidden;mix-blend-mode:screen}
.brand-image img{position:absolute;max-width:none;width:122.768%;height:auto;left:-11.419%;top:-53.571%}
@media(max-width:767px){.brand-image{width:128px}}
/* Live text wordmark and a tiny three-face CSS prism; no logo image request. */
.brand-wordmark{display:inline-block;position:relative;color:#f7f7fa;font-family:"Courier New",Courier,monospace;font-size:42px;font-weight:700;font-style:normal;font-kerning:none;font-variant-ligatures:none;letter-spacing:0;line-height:1;white-space:nowrap}
.brand-cube{position:absolute;left:1.5ch;top:.59em;width:.20em;height:.25em;transform:translate(-50%,-50%);letter-spacing:normal;pointer-events:none}
.brand-cube i{position:absolute;inset:0;display:block;background:#0a1016}
.brand-cube i:nth-child(1){clip-path:polygon(50% 0,100% 25%,50% 50%,0 25%);background:linear-gradient(135deg,#b4bcb3,#172534 40%,#68a4b0 60%,#101720 80%)}
.brand-cube i:nth-child(2){clip-path:polygon(0 25%,50% 50%,50% 100%,0 75%);background:linear-gradient(85deg,#31b8e2,#08121a 18%,#0c1920 85%,#777bca)}
.brand-cube i:nth-child(3){clip-path:polygon(50% 50%,100% 25%,100% 75%,50% 100%);background:linear-gradient(100deg,#50d4dc,#09121a 20%,#111b22 80%,#d9a765)}
@media(max-width:767px){.brand-wordmark{font-size:36px}}
/* Iridescent liquid highlights remain selectable, indexable headline text. */
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .hero-message{background-image:linear-gradient(115deg,#dceeff 0%,#86e3ee 12%,#7d95dc 24%,#c7a3f0 35%,#f3b6d1 44%,#ffe2ae 49%,#b8ecf5 54%,#9991e2 64%,#dcbbf5 78%,#dceeff 100%);background-size:240% 200%;background-position:0% 45%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:hero-liquid-flow 12s ease-in-out infinite alternate;animation-play-state:paused}
 .hero-message.is-active{animation-play-state:running}
 .hero-message .serif{color:inherit;-webkit-text-fill-color:inherit}
 .hero-rotator.motion-paused .hero-message{animation-play-state:paused}
}
@keyframes hero-liquid-flow{0%{background-position:0% 45%}50%{background-position:65% 70%}100%{background-position:100% 35%}}
@media(prefers-reduced-motion:reduce){.hero-message{animation:none;background-position:45% 50%}}
@media(forced-colors:active){.hero-message,.hero-message .serif{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}}

.brand-evolution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:38px}.identity-card{margin:0;border:1px solid #37313f;border-radius:20px;overflow:hidden;background:#11151e}.identity-art{height:230px;display:flex;align-items:center;justify-content:center;padding:32px}.identity-art-original{background:#eeeef1}.identity-art-original>img{width:170px;height:auto}.identity-art-current{background:radial-gradient(ellipse at 65% 70%,#292039,#0d111a 75%)}.identity-art-current .brand-image{width:230px;max-width:100%}.identity-card figcaption{padding:28px}.identity-card .eyebrow{font-size:12px;letter-spacing:1.6px}.identity-card h3{font-size:27px;margin:15px 0}.identity-card p{margin:0;line-height:1.8}.identity-continuity{max-width:850px;line-height:1.85;margin:30px 0 0}@media(max-width:767px){.brand-evolution-grid{grid-template-columns:1fr;gap:22px}.identity-art{height:200px}.identity-card figcaption{padding:24px}}

/* Match header edges to the same content grid used by breadcrumbs and sections. */
.header .header-inner{max-width:1240px;padding-left:40px;padding-right:40px}
.header .brand{display:flex;align-items:center;flex-shrink:0}
.header #navigation>a:not(.nav-cta){position:relative}
.header #navigation>a[aria-current="page"]:not(.nav-cta)::after{position:absolute;left:0;right:0;bottom:-8px;margin:0}
@media(max-width:991px){.header .header-inner{padding-left:28px;padding-right:28px}}
@media(max-width:600px){.header .header-inner{padding-left:21px;padding-right:21px}}

/* Banner description size on desktop and mobile. */
.hero .hero-description{font-size:16px}

/* Homepage service descriptions. */
.home-overview .overview-grid p{font-size:16px}

.home-company-description>p{font-size:16px}

/* Shared client section description. */
.clients-heading>p{font-size:16px}

/* Shared flowing glossy border for hero cards and the primary hero button. */
@property --ai-border-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
.digital-stage .floating-project,.hero-actions .button-dark{
 --ai-border-angle:0deg;
 border:1px solid transparent;
 background:linear-gradient(115deg,#1c1d2b 0%,#11141e 40%,#171925 100%) padding-box,conic-gradient(from var(--ai-border-angle),#514463 0%,#79dce9 12%,#e9faff 16%,#a292e4 22%,#42364f 38%,#665075 52%,#e9b1db 64%,#fff1dc 68%,#9a8cda 74%,#514463 100%) border-box;
 box-shadow:inset 0 1px 0 #ffffff14,0 15px 30px #0004,0 0 18px #a18ae314;
 animation:ai-border-flow 7s linear infinite;
}
@keyframes ai-border-flow{to{--ai-border-angle:360deg}}
@media(prefers-reduced-motion:reduce){.digital-stage .floating-project,.hero-actions .button-dark{animation:none;--ai-border-angle:45deg}}
@media(forced-colors:active){.digital-stage .floating-project,.hero-actions .button-dark{background:Canvas;border-color:LinkText;box-shadow:none}}

.enquiry-honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#enquiry-form button:disabled{opacity:.65;cursor:wait}

/* Let the hero artwork and gradient meet the disciplines divider. */
.hero + .disciplines{margin-top:0}

/* Anchor the portrait to the banner edge instead of centering it above the divider. */
.hero .ai-portrait{margin-bottom:0;mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 100%)}
.hero .ai-portrait img{object-position:center bottom}
.hero .stage-signature{z-index:1;text-shadow:0 1px 8px #0b0e16,0 1px 3px #0b0e16}
