/* Shared laboratory showcase. Historical ai-* hooks are kept for compatibility.
   Industrial colours live in industrial-lab.css; Wagtail owns all content. */
[data-ai-lab] { --ai-ink:#100b20; --ai-surface:#1b1231; --ai-line:#b695ff38; --ai-light:#dac8ff; }
[data-ai-lab] .laboratory-hero { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 74% 12%,#793cd477,transparent 60%),linear-gradient(120deg,#150c29,#22103e 65%,#100b20); padding-top:36px; padding-bottom:36px; }
[data-ai-lab] .laboratory-hero::before { display:none; }
[data-ai-lab] .laboratory-hero > .container { position:relative; z-index:1; }
.ai-aurora { position:absolute; inset:0; z-index:0; opacity:.78; pointer-events:none; }
[data-ai-lab] .back-link { margin-bottom:26px; color:#e0d2f6; min-height:32px; }
[data-ai-lab] .laboratory-hero__grid { position:relative; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); min-height:570px; padding:12px; gap:12px; border:1px solid #c4a7ff45; border-radius:28px; background:linear-gradient(110deg,#100a24ed,#160e29c2); box-shadow:0 24px 70px #07030e40; backdrop-filter:none; }
[data-ai-lab] .laboratory-hero__copy { container-type:inline-size; padding:34px 30px 34px 32px; justify-content:center; }
[data-ai-lab] .laboratory-hero__copy::before { width:50px; margin-bottom:24px; box-shadow:0 0 24px #b178f766; }
[data-ai-lab] .laboratory-hero h1 { font-size:clamp(26px,8.1cqi,47px); line-height:1.08; letter-spacing:-.035em; margin-bottom:22px; }
[data-ai-lab] .laboratory-hero__subtitle { color:#eee5ff; font-size:21px; line-height:1.4; margin-bottom:0; }
[data-ai-lab] .laboratory-hero__summary { color:#ccc0df; font-size:17px; line-height:1.6; margin:24px 0; }
[data-ai-lab] .laboratory-tags { gap:8px; }
[data-ai-lab] .laboratory-tags span { border-color:#d2b5ff42; background:#ffffff06; padding:7px 12px; color:#e5d9f7; }
[data-ai-lab] .laboratory-hero__image { min-width:0; min-height:0; align-self:stretch; overflow:hidden; border-radius:19px; border:1px solid #d1b8ff26; background:#24123f; }
[data-ai-lab] .laboratory-hero__image img { display:block; height:100%; min-height:0; object-position:60% center; }
[data-ai-lab] .laboratory-hero__image::before { background:linear-gradient(160deg,#9b68ed20,transparent 55%,#12092066); mix-blend-mode:normal; }
[data-ai-lab] .laboratory-hero__image::after { display:none; }
.ai-hero-actions { display:flex; flex-wrap:wrap; gap:14px 24px; align-items:center; margin-top:30px; }
[data-ai-lab] .ai-button { gap:24px; background:#d9c2ff; color:#231136; border:1px solid #eee0ff; box-shadow:0 5px 24px #a36eff12; font-weight:600; }
[data-ai-lab] .ai-button:hover { background:#eadcff; }
[data-ai-lab] .ai-button::before { display:none; }
.ai-motion-bar { display:flex; justify-content:flex-end; align-items:center; min-height:42px; padding-top:12px; }
.ai-motion-toggle { display:inline-flex; align-items:center; gap:9px; min-height:32px; border:0; background:none; color:#ddccee; font-size:12px; padding:6px 10px; border-radius:8px; }
.ai-motion-toggle:hover { background:#ffffff0a; }
.ai-motion-indicator { width:6px; height:6px; border-radius:50%; background:#af84e6; box-shadow:0 0 10px #b28cf266; }
.ai-motion-toggle[aria-pressed=false] .ai-motion-indicator { background:#81738f; box-shadow:none; }
[data-ai-lab] .laboratory-about { background:#f7f5fb; }
[data-ai-lab] .laboratory-about__grid > div > p { color:#61566f; font-size:19px; line-height:1.65; }
[data-ai-lab] .laboratory-directions { background:radial-gradient(ellipse at 80% 0,#3e225c55,transparent 65%),#100b20; color:#f5efff; }
[data-ai-lab] .laboratory-directions .laboratory-eyebrow { color:#c5a4f6; }
[data-ai-lab] .direction-grid { gap:16px; }
[data-ai-lab] .direction-card { position:relative; isolation:isolate; display:flex; flex-direction:column; min-height:292px; padding:28px; overflow:hidden; border:1px solid #b899e52e; border-radius:22px; background:linear-gradient(145deg,#26183b,#191127); box-shadow:none; }
[data-ai-lab] .direction-card > span:not(.ai-card-glyph) { margin-bottom:42px; color:#ba96ec; font-size:12px; letter-spacing:.08em; }
[data-ai-lab] .direction-card h3 { font-size:23px; line-height:1.25; margin-bottom:16px; letter-spacing:-.015em; color:#f5efff; }
[data-ai-lab] .direction-card p { margin:0; color:#c9bed8; font-size:16px; line-height:1.6; }
[data-ai-lab] .direction-card:hover { transform:none; box-shadow:none; }
[data-ai-lab] .direction-card > :not(.ai-card-light) { position:relative; z-index:1; }
[data-ai-lab] .direction-card > .ai-card-glyph { position:absolute; right:28px; top:28px; width:36px; height:36px; display:grid; grid-template-columns:repeat(2,1fr); gap:5px; margin:0; opacity:.7; pointer-events:none; }
.ai-card-glyph i { border:1px solid #bf99fa80; border-radius:4px; }
.ai-card-glyph i:last-child { grid-column:2; background:#b184ef22; }
.ai-card-light { position:absolute; inset:0; pointer-events:none; z-index:0; border-radius:inherit; }
.ai-card-light .spotlight-card { position:absolute; inset:0; padding:0; border-radius:inherit; background:transparent; box-shadow:none; }
.ai-card-light .spotlight-card__border { background:transparent; }
[data-ai-lab] .laboratory-projects { background:#130d22; }
[data-ai-lab] .laboratory-project-card { background:linear-gradient(150deg,#26183b,#1b122c); border-color:#b899e52e; box-shadow:none; }
[data-ai-lab] .laboratory-project-card:focus-within { border-color:#c29cf6; }
[data-ai-lab] .laboratory-project-card__copy { padding:26px; }
[data-ai-lab] .laboratory-project-card p { color:#d1c6de; }
[data-ai-lab] .laboratory-capabilities { background:linear-gradient(125deg,#291542,#140c24); }
[data-ai-lab] .capability-grid span { background:#ffffff04; border-color:#c6a0f738; }
[data-ai-lab] .laboratory-team { background:#f7f5fb; }
[data-ai-lab] .member-card { border:1px solid #e5ddec; box-shadow:none; }
[data-ai-lab] .member-card--head { box-shadow:inset 0 0 0 1px #9961d5; }
[data-ai-lab] .laboratory-cta { background:radial-gradient(ellipse at 10% 80%,#63369455,transparent 65%),#201231; color:#f5efff; }
[data-ai-lab] .laboratory-cta .laboratory-eyebrow { color:#c5a4f6; }
[data-ai-lab] .laboratory-cta p:not(.laboratory-eyebrow) { color:#d1c6de; }
[data-ai-lab] .laboratory-cta .button--accent,[data-ai-lab] .laboratory-case-cta { background:#7544bf; color:white; }
/* Project showcase: the photograph moves, its caption and controls never do. */
[data-ai-lab] .laboratory-project-grid {
 display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;
}
[data-ai-lab] .ai-project {
 container-type:inline-size; border:1px solid #b899e530; border-radius:24px;
 background:linear-gradient(150deg,#281b3b,#1b132a); min-width:0;
}
[data-ai-lab] .ai-project:hover {
 transform:none; border-color:#cba4ff65; box-shadow:none;
}
[data-ai-lab] .ai-project .laboratory-project-card__image {
 aspect-ratio:16 / 10; padding:12px; background:#100b19;
 border-bottom:1px solid #b899e526; perspective:1000px;
}
[data-ai-lab] .ai-project-cover {
 display:block; width:100%; height:100%; object-fit:contain; border-radius:14px;
 transform-origin:center; pointer-events:none;
}
[data-ai-lab] .ai-project .project-gallery-open { border-radius:23px 23px 0 0; }
[data-ai-lab] .ai-project .project-gallery-open > span {
 display:flex; align-items:center; gap:18px; min-height:40px; padding:8px 14px;
 right:20px; bottom:20px; background:#160e24eb; border:1px solid #d1b3ff45;
 backdrop-filter:blur(10px); color:#f7f2ff;
}
[data-ai-lab] .ai-project .project-gallery-open:focus-visible {
 outline:3px solid #d9c2ff; outline-offset:-5px;
}
[data-ai-lab] .ai-project-placeholder {
 height:100%; display:flex; align-items:center; justify-content:space-between; gap:20px;
 padding:32px; color:#c5a4f6; border:1px solid #b899e526; border-radius:14px;
 background:radial-gradient(ellipse at 90% 0,#64388766,transparent 70%);
}
[data-ai-lab] .ai-project-placeholder > span:last-child { font-size:48px; }
[data-ai-lab] .ai-project .laboratory-project-card__copy { padding:28px; min-width:0; }
[data-ai-lab] .ai-project h3 {
 margin:0 0 20px; font-size:clamp(22px,5.3cqi,29px); line-height:1.2;
 letter-spacing:-.02em; color:#faf6ff; text-wrap:pretty;
}
[data-ai-lab] .ai-project h3 a { display:inline; }
[data-ai-lab] .ai-project-technologies {
 display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0 0 24px; list-style:none;
}
[data-ai-lab] .ai-project-technologies li {
 max-width:100%; padding:6px 11px; border:1px solid #c4a0f73b; border-radius:8px;
 background:#b78ae90b; color:#dfcafb; font-size:12px; line-height:1.5; overflow-wrap:anywhere;
}
[data-ai-lab] .ai-project-facts { display:grid; gap:18px; margin:0 0 24px; }
[data-ai-lab] .ai-project-facts > div { display:grid; gap:6px; min-width:0; }
[data-ai-lab] .ai-project-facts dt { font-size:12px; font-weight:600; color:#bfa0e7; }
[data-ai-lab] .ai-project-facts dd {
 margin:0; color:#e1d6ed; font-size:16px; line-height:1.6; overflow-wrap:anywhere;
}
[data-ai-lab] .ai-project p {
 display:block; overflow:visible; -webkit-line-clamp:unset; font-size:16px; line-height:1.6;
}
[data-ai-lab] .ai-project .laboratory-project-card__more {
 display:flex; width:100%; align-items:center; justify-content:space-between; gap:20px;
 min-height:56px; padding-top:16px; border-top:1px solid #b899e52e; margin-top:auto;
 color:#e5ceff; text-decoration:none; font-size:15px;
}
[data-ai-lab] .ai-project .laboratory-project-card__more:hover { color:#fff; }
/* Learning entry: an editorial, three-step route alongside the real case. */
[data-ai-lab] .ai-starter {
 background:radial-gradient(ellipse at 5% 70%,#ded0f866,transparent 70%),#f3eef9;
 color:#21142e;
}
[data-ai-lab] .ai-starter-grid {
 display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:64px; align-items:center;
}
[data-ai-lab] .ai-starter-intro { min-width:0; }
[data-ai-lab] .ai-starter .laboratory-eyebrow { color:#70439b; }
[data-ai-lab] .ai-starter .laboratory-section__heading { margin-bottom:36px; }
[data-ai-lab] .ai-starter h2 { color:#21142e; font-size:clamp(32px,3.6vw,46px); line-height:1.12; }
[data-ai-lab] .ai-starter-steps { padding:0; margin:0; list-style:none; display:grid; }
[data-ai-lab] .ai-starter-steps li {
 position:relative; display:grid; grid-template-columns:48px minmax(0,1fr); align-items:start;
 gap:20px; padding-bottom:32px; font-size:20px; line-height:1.4; font-weight:600;
}
[data-ai-lab] .ai-starter-steps li:last-child { padding-bottom:0; }
[data-ai-lab] .ai-starter-steps li::before {
 content:""; position:absolute; top:48px; bottom:0; left:23px; width:1px; background:#c8b5df;
}
[data-ai-lab] .ai-starter-steps li:last-child::before { display:none; }
[data-ai-lab] .ai-starter-step-number {
 display:grid; place-items:center; width:48px; height:48px; border:1px solid #b59bcf;
 border-radius:14px; background:#fbf8ff; color:#7546a3; font-size:13px; letter-spacing:.06em;
}
[data-ai-lab] .ai-starter-steps li > span:last-child { padding-top:9px; overflow-wrap:anywhere; }
[data-ai-lab] .ai-starter-preview {
 min-width:0; overflow:hidden; border:1px solid #cbbbdd; border-radius:24px;
 background:#fdfbff; box-shadow:0 20px 60px #30203f09;
}
[data-ai-lab] .ai-starter-visual {
 position:relative; display:grid; place-items:center; aspect-ratio:16 / 10; overflow:hidden;
 background:#1d1032; color:#e8d8ff;
}
[data-ai-lab] .ai-starter-visual img {
 position:absolute; inset:0; display:block; width:100%; height:100%; min-width:0; min-height:0; object-fit:contain;
}
[data-ai-lab] .ai-starter-visual:focus-visible { outline:3px solid #b887f2; outline-offset:-6px; }
[data-ai-lab] .ai-starter-placeholder {
 display:grid; gap:8px; font-size:clamp(24px,3vw,36px); font-weight:600; line-height:1.2; padding:28px;
}
[data-ai-lab] .ai-starter-copy { padding:30px; }
[data-ai-lab] .ai-starter-meta { display:flex; flex-wrap:wrap; gap:8px 20px; color:#69448b; margin-bottom:14px; font-size:12px; }
[data-ai-lab] .ai-starter h3 { margin:0 0 16px; color:#21142e; font-size:28px; line-height:1.2; text-wrap:pretty; }
[data-ai-lab] .ai-starter h3 a { color:inherit; text-decoration:none; }
[data-ai-lab] .ai-starter h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
[data-ai-lab] .ai-starter-copy p { margin:0 0 24px; color:#5d4c70; font-size:16px; line-height:1.65; }
[data-ai-lab] .ai-starter .laboratory-case-cta {
 margin:0; background:#63339a; color:#fff; border-color:#63339a; box-shadow:none; min-height:52px;
}
[data-ai-lab] .ai-starter .laboratory-case-cta:hover { background:#512481; }
[data-ai-lab] .ai-starter-more { margin-top:32px; }
[data-ai-lab] .ai-starter-more .learning-case-card__visual::after { display:none; }
/* Editorial introduction and a static, fully editable process diagram. */
[data-ai-lab] .ai-about-layout {
 display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr); align-items:center; gap:64px;
}
[data-ai-lab] .ai-about-copy { min-width:0; }
[data-ai-lab] .ai-about-copy .laboratory-eyebrow { color:#75489e; margin-bottom:20px; }
[data-ai-lab] .ai-about-copy h2 {
 margin:0 0 24px; font-size:clamp(28px,3vw,38px); line-height:1.2; text-transform:none; letter-spacing:-.025em;
}
[data-ai-lab] .ai-about-copy > p:last-child { margin:0; font-size:18px; line-height:1.7; color:#60536e; }
[data-ai-lab] .ai-process-panel {
 min-width:0; padding:30px; border:1px solid #8063975c; border-radius:24px; color:#eee3ff;
 background:linear-gradient(#cbb1f10b 1px,transparent 1px),linear-gradient(90deg,#cbb1f10b 1px,transparent 1px),linear-gradient(145deg,#291a3e,#160f26);
 background-size:32px 32px,32px 32px,auto; box-shadow:0 20px 60px #23113212;
}
[data-ai-lab] .ai-process-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:36px; }
[data-ai-lab] .ai-process-heading h3 { margin:0; font-size:13px; line-height:1.4; font-weight:500; color:#d5c1ef; }
[data-ai-lab] .ai-process-heading > span { display:flex; gap:5px; flex-shrink:0; }
[data-ai-lab] .ai-process-heading i { width:5px; height:5px; border:1px solid #b18ddb; border-radius:50%; }
[data-ai-lab] .ai-process-heading i:first-child { background:#cdaaf7; }
[data-ai-lab] .ai-process-flow { display:grid; gap:24px; padding:0; margin:0; list-style:none; }
[data-ai-lab] .ai-process-flow li {
 position:relative; display:flex; align-items:center; gap:18px; min-width:0; padding:20px;
 border:1px solid #c4a3ee4a; border-radius:16px; background:#38234fbd;
 color:#eee3ff; font-size:19px; line-height:1.4; font-weight:500;
}
[data-ai-lab] .ai-process-flow li:nth-child(even) { margin-left:24px; background:#50316dbd; }
[data-ai-lab] .ai-process-flow li:last-child { background:#d6b8fc; border-color:#e9d8ff; color:#29163c; }
[data-ai-lab] .ai-process-flow li:not(:last-child)::after {
 content:""; position:absolute; top:100%; left:29px; width:24px; height:24px;
 border-left:1px solid #b18ddb80; border-bottom:1px solid #b18ddb80; border-radius:0 0 0 6px;
}
[data-ai-lab] .ai-process-node { width:12px; height:12px; flex-shrink:0; border:1px solid currentColor; border-radius:4px; opacity:.8; }
[data-ai-lab] .ai-process-flow li:last-child .ai-process-node { background:currentColor; }
[data-ai-lab] .ai-process-flow li > span:last-child { min-width:0; overflow-wrap:anywhere; }
/* Magic Bento: information cards, never pretend buttons. */
[data-ai-lab] .laboratory-capabilities { background:#f3eef9; color:#261736; }
[data-ai-lab] .laboratory-capabilities .laboratory-eyebrow { color:#75489e; }
[data-ai-lab] .ai-bento-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:18px; }
[data-ai-lab] .ai-bento-card {
 position:relative; isolation:isolate; container-type:inline-size; grid-column:span 2;
 min-width:0; min-height:218px; padding:28px; overflow:hidden; border:1px solid #cab7df;
 border-radius:22px; background:#fdfbff; color:#2a1939; cursor:default;
}
[data-ai-lab] .ai-bento-card:nth-child(-n+2) { grid-column:span 3; }
[data-ai-lab] .ai-bento-card:last-child:nth-child(3n) { grid-column:span 6; }
[data-ai-lab] .ai-bento-card:nth-last-child(2):nth-child(3n),
[data-ai-lab] .ai-bento-card:last-child:nth-child(3n+1) { grid-column:span 3; }
[data-ai-lab] .ai-bento-card:only-child { grid-column:1 / -1; }
[data-ai-lab] .ai-bento-card:first-child { background:linear-gradient(125deg,#39214f,#211330); color:#f5ebff; border-color:#846299; }
[data-ai-lab] .ai-bento-card:nth-child(2) { background:#e4d5f5; }
[data-ai-lab] .ai-bento-card > :not(.ai-bento-light) { position:relative; z-index:1; }
[data-ai-lab] .ai-bento-icon { width:48px; height:48px; display:grid; place-items:center; color:#8652b1; }
[data-ai-lab] .ai-bento-icon svg { display:block; width:38px; height:38px; }
[data-ai-lab] .ai-bento-card:first-child .ai-bento-icon { color:#d3a9ff; }
[data-ai-lab] .ai-bento-card h3 {
 margin:24px 0 0; font-size:clamp(20px,6.6cqi,26px); font-weight:600;
 line-height:1.25; letter-spacing:-.02em; text-wrap:pretty; color:inherit;
}
[data-ai-lab] .ai-bento-card p { margin:14px 0 0; color:#675373; font-size:16px; line-height:1.6; overflow-wrap:anywhere; }
[data-ai-lab] .ai-bento-card:first-child p { color:#d8c5e8; }
.ai-bento-light { position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:var(--ai-bento-active,0); transition:opacity 180ms ease; }
.ai-bento-light::before {
 content:""; position:absolute; inset:0; border-radius:inherit;
 background:radial-gradient(320px circle at var(--ai-bento-x,50%) var(--ai-bento-y,50%),#bb80ef26,transparent 75%);
}
.ai-bento-light::after {
 content:""; display:none; position:absolute; inset:0; border-radius:inherit; padding:1px;
 background:radial-gradient(280px circle at var(--ai-bento-x,50%) var(--ai-bento-y,50%),#c38af6,transparent 75%);
 -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
 mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
 -webkit-mask-composite:xor; mask-composite:exclude;
}
/* Chroma Grid: names and roles remain outside the portrait's colour mask. */
[data-ai-lab] .laboratory-team { background:linear-gradient(135deg,#21152f,#130d20); color:#f4ecff; }
[data-ai-lab] .laboratory-team .laboratory-eyebrow { color:#c5a4f6; }
[data-ai-lab] .laboratory-team-grid { gap:20px; align-items:stretch; }
/* Keep larger teams balanced too: editors may add people without a code change. */
[data-ai-lab] .laboratory-team-grid:has(> :nth-child(5)) { display:flex; flex-wrap:wrap; justify-content:center; }
[data-ai-lab] .laboratory-team-grid:has(> :nth-child(5)) > .member-card { flex:0 1 calc((100% - 40px) / 3); }
[data-ai-lab] .member-card {
 display:flex; flex-direction:column; min-width:0; border-radius:22px; border:1px solid #bb96e43b;
 background:#251a34; color:#f5edff; box-shadow:none;
}
[data-ai-lab] .member-card--head { border-color:#b98de3; box-shadow:none; }
[data-ai-lab] .member-card:hover { transform:none; box-shadow:none; }
[data-ai-lab] .member-card__image { position:relative; height:auto; aspect-ratio:4 / 5; min-width:0; overflow:hidden; background:#352449; isolation:isolate; }
[data-ai-lab] .member-card__image img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; filter:none; }
[data-ai-lab] .member-card__image > span { color:#e2ccef; padding:24px; text-align:center; }
[data-ai-lab] .member-card__copy { padding:24px 22px; flex:1; }
[data-ai-lab] .member-card__copy > span { margin:0 0 12px; font-size:11px; color:#d8b6fb; background:transparent; line-height:1.5; letter-spacing:.03em; }
[data-ai-lab] .member-card h3 { margin:0 0 12px; font-size:21px; line-height:1.25; letter-spacing:-.015em; text-transform:none; }
[data-ai-lab] .member-card p { margin:0; color:#d0bfdc; font-size:15px; line-height:1.6; }
.ai-chroma-light { display:none; position:absolute; inset:0; z-index:1; pointer-events:none; }
@supports ((backdrop-filter:saturate(.65)) or (-webkit-backdrop-filter:saturate(.65))) and ((mask-image:radial-gradient(circle,transparent,#000)) or (-webkit-mask-image:radial-gradient(circle,transparent,#000))) {
 @media (min-width:768px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  [data-ai-effects-state=active] .ai-chroma-light {
   display:block; opacity:var(--ai-chroma-active,0); transition:opacity 180ms ease;
   -webkit-backdrop-filter:saturate(.65); backdrop-filter:saturate(.65);
   -webkit-mask-image:radial-gradient(circle var(--ai-chroma-radius,180px) at var(--ai-chroma-x,50%) var(--ai-chroma-y,50%),var(--ai-chroma-stops,transparent 0%,#000 100%));
   mask-image:radial-gradient(circle var(--ai-chroma-radius,180px) at var(--ai-chroma-x,50%) var(--ai-chroma-y,50%),var(--ai-chroma-stops,transparent 0%,#000 100%));
  }
 }
}
/* Border Glow: one framed invitation, with an ordinary stable CTA. */
[data-ai-lab] .laboratory-cta { background:#f3eef9; }
[data-ai-lab] .ai-cta-panel {
 position:relative; isolation:isolate; display:flex; align-items:center; justify-content:space-between; gap:40px;
 overflow:hidden; padding:52px; border:1px solid #ad8dca; border-radius:28px;
 background:radial-gradient(ellipse at 0 100%,#62378766,transparent 65%),#20132e; color:#f5edff;
}
[data-ai-lab] .ai-cta-panel > :not(.ai-border-light) { position:relative; z-index:1; }
[data-ai-lab] .ai-cta-copy { min-width:0; flex:1; }
[data-ai-lab] .ai-cta-panel h2 { max-width:650px; margin:0 0 20px; font-size:clamp(30px,3.2vw,42px); line-height:1.15; text-transform:none; }
[data-ai-lab] .ai-cta-panel p:not(.laboratory-eyebrow) { max-width:640px; margin:0; color:#d8c9e7; font-size:17px; line-height:1.65; }
[data-ai-lab] .ai-cta-panel > .button { flex-shrink:0; min-height:54px; }
.ai-border-light { display:none; position:absolute; inset:0; border-radius:inherit; pointer-events:none; }
@supports (mask-composite:exclude) or (-webkit-mask-composite:xor) {
 .ai-bento-light::after { display:block; }
 .ai-border-light {
  display:block; padding:2px;
  background:conic-gradient(from var(--ai-border-angle,0deg),#9b6cce00,#cfadff80 18%,#f1deff 26%,#b983ea 34%,#9b6cce00 52%);
  opacity:calc(var(--ai-border-active,0) * (.25 + var(--ai-border-edge,0) * .75));
  transition:opacity 180ms ease;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
 }
}
[data-ai-effects-state=paused] *,[data-ai-effects-state=paused] *::before,[data-ai-effects-state=paused] *::after { animation-play-state:paused !important; }
@media(min-width:640px) { [data-ai-lab] .direction-card h3 { min-height:2.5em; } }
@media(max-width:1119px) {
 [data-ai-lab] .laboratory-hero__grid { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); }
 [data-ai-lab] .laboratory-hero__copy { padding:26px 18px; }
 [data-ai-lab] .direction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 [data-ai-lab] .ai-starter-grid { gap:32px; }
 [data-ai-lab] .ai-project .laboratory-project-card__copy { padding:24px; }
 [data-ai-lab] .ai-about-layout { gap:32px; }
 [data-ai-lab] .ai-process-panel { padding:24px; }
 [data-ai-lab] .ai-bento-card { padding:24px; }
 [data-ai-lab] .ai-cta-panel { padding:36px; gap:28px; }
 [data-ai-lab] .laboratory-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 [data-ai-lab] .laboratory-team-grid:has(> :nth-child(5)) > .member-card { flex-basis:calc((100% - 20px) / 2); }
}
@media(max-width:979px) {
 [data-ai-lab] .ai-about-layout { grid-template-columns:1fr; }
 [data-ai-lab] .ai-process-flow { grid-template-columns:repeat(3,minmax(0,1fr)); }
 [data-ai-lab] .ai-process-flow li:nth-child(even) { margin-left:0; }
 [data-ai-lab] .ai-process-flow li { padding:18px 14px; gap:12px; font-size:17px; }
 [data-ai-lab] .ai-process-flow li:not(:last-child)::after { display:none; }
 [data-ai-lab] .ai-process-heading { margin-bottom:24px; }
 [data-ai-lab] .ai-bento-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
 [data-ai-lab] .ai-bento-grid > .ai-bento-card:nth-child(n) { grid-column:span 1; }
 [data-ai-lab] .ai-bento-grid .ai-bento-card:last-child:nth-child(odd) { grid-column:1 / -1; }
 [data-ai-lab] .ai-cta-panel { align-items:flex-start; flex-direction:column; }
}
@media(max-width:767px) {
 [data-ai-lab] .laboratory-hero { padding-top:24px; padding-bottom:28px; }
 [data-ai-lab] .laboratory-hero__grid { grid-template-columns:1fr; min-height:0; gap:0; padding:0; border-radius:24px; }
 [data-ai-lab] .laboratory-hero__copy { padding:30px 24px 32px; }
 [data-ai-lab] .laboratory-hero h1 { font-size:clamp(23px,8.9cqi,38px); }
 [data-ai-lab] .laboratory-hero__subtitle { font-size:19px; }
 [data-ai-lab] .laboratory-hero__summary { font-size:16px; }
 [data-ai-lab] .laboratory-hero__image { height:260px; margin:0 12px 12px; border-radius:16px; }
 [data-ai-lab] .laboratory-hero__image img { width:100%; height:100%; }
 .ai-motion-bar { min-height:0; padding:0; }
 [data-ai-lab] .laboratory-about__grid > div > p { font-size:17px; }
 [data-ai-lab] .direction-card { min-height:0; padding:24px; }
 [data-ai-lab] .direction-card h3 { font-size:22px; }
 [data-ai-lab] .direction-card > .ai-card-glyph { top:24px; right:24px; }
 [data-ai-lab] .laboratory-project-grid { grid-template-columns:1fr; gap:20px; }
 [data-ai-lab] .ai-project { border-radius:20px; }
 [data-ai-lab] .ai-project .laboratory-project-card__copy { padding:22px; }
 [data-ai-lab] .ai-project .laboratory-project-card__image { padding:10px; }
 [data-ai-lab] .ai-project .project-gallery-open > span { right:16px; bottom:16px; }
 [data-ai-lab] .ai-project-facts dd { font-size:15px; }
 [data-ai-lab] .ai-starter-grid { grid-template-columns:1fr; gap:32px; }
 [data-ai-lab] .ai-starter .laboratory-section__heading { margin-bottom:24px; }
 [data-ai-lab] .ai-starter-steps li { font-size:18px; padding-bottom:24px; gap:16px; }
 [data-ai-lab] .ai-starter-copy { padding:24px; }
 [data-ai-lab] .ai-starter h3 { font-size:25px; }
 [data-ai-lab] .ai-about-copy > p:last-child { font-size:17px; }
 [data-ai-lab] .ai-process-flow { grid-template-columns:1fr; gap:16px; }
 [data-ai-lab] .ai-process-flow li { padding:18px; }
 [data-ai-lab] .ai-process-flow li:nth-child(even) { margin-left:20px; }
 [data-ai-lab] .ai-process-flow li:not(:last-child)::after { display:block; height:16px; width:20px; }
 [data-ai-lab] .ai-bento-grid { grid-template-columns:1fr; }
 [data-ai-lab] .ai-bento-grid > .ai-bento-card:nth-child(n) { grid-column:1 / -1; }
 [data-ai-lab] .ai-bento-card { min-height:0; padding:24px; }
 [data-ai-lab] .ai-bento-card h3 { font-size:23px; margin-top:20px; }
 [data-ai-lab] .ai-cta-panel { padding:28px; border-radius:24px; }
 [data-ai-lab] .ai-cta-panel p:not(.laboratory-eyebrow) { font-size:16px; }
}
@media(max-width:639px) {
 [data-ai-lab] .direction-grid { grid-template-columns:1fr; }
 .ai-hero-actions { width:100%; align-items:stretch; gap:10px; flex-direction:column; }
 .ai-hero-actions .button { width:100%; justify-content:space-between; }
 .ai-hero-actions .text-link { align-self:flex-start; }
 [data-ai-lab] .ai-starter .laboratory-case-cta { width:100%; justify-content:space-between; gap:12px; }
 [data-ai-lab] .ai-starter-copy { padding:22px; }
 [data-ai-lab] .laboratory-team-grid { grid-template-columns:1fr; }
 [data-ai-lab] .laboratory-team-grid:has(> :nth-child(5)) > .member-card { flex-basis:100%; }
 [data-ai-lab] .member-card__image { aspect-ratio:1 / 1; }
 [data-ai-lab] .member-card__image img { object-position:center 25%; }
 [data-ai-lab] .member-card__copy { padding:24px; }
 [data-ai-lab] .member-card h3 { font-size:23px; }
 [data-ai-lab] .ai-cta-panel { padding:26px 22px; }
 [data-ai-lab] .ai-cta-panel > .button { width:100%; justify-content:space-between; gap:16px; }
}
@media(prefers-reduced-motion:reduce) { [data-ai-lab] *,[data-ai-lab] *::before,[data-ai-lab] *::after { animation:none !important; transition:none !important; } }
