*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#06101f;color:#f8fbff;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{font:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.nav{position:sticky;top:0;z-index:20;background:rgba(6,16,31,.84);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}.navin{height:74px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:850;letter-spacing:.02em;font-size:1.1rem}.brand span{color:#8d7cff}.navlinks{display:flex;gap:24px;align-items:center;font-size:.94rem;color:#c9d3e4}.pill{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;background:linear-gradient(135deg,#6a63ff,#b24cff);font-weight:800;color:white;box-shadow:0 10px 30px rgba(106,99,255,.22)}.hero{padding:84px 0 56px;overflow:hidden}.heroGrid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:800;color:#8aa0bd}.hero h1{font-size:clamp(3.1rem,7vw,6.4rem);line-height:.92;margin:14px 0 24px;letter-spacing:-.055em}.grad{background:linear-gradient(90deg,#82e7ff,#8870ff 48%,#ff6fd8);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-size:1.18rem;color:#bfcbdb;max-width:650px}.heroActions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.ghost{padding:12px 18px;border:1px solid rgba(255,255,255,.16);border-radius:999px;font-weight:750}.mosaic{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;padding:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);border-radius:28px;box-shadow:0 30px 70px rgba(0,0,0,.3)}.mosaic .stack{display:grid;gap:14px}.mediaBox{background:#0b1729;border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:180px}.mediaBox img{width:100%;height:auto;object-fit:contain}.section{padding:92px 0}.section.light{background:#f6f8fb;color:#0a1630}.kicker{font-size:.8rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:#755fff}.section h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1;margin:10px 0 18px;letter-spacing:-.045em}.lead{font-size:1.08rem;color:#aebbd0;max-width:760px}.light .lead{color:#56647a}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}.service{padding:22px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.035);min-height:160px}.light .service{background:#fff;border-color:#e3e8f0}.service b{display:block;font-size:1.05rem;margin:12px 0 8px}.service p{margin:0;color:#9fb0c8;font-size:.93rem}.light .service p{color:#627087}.icon{font-size:1.5rem}.projects{display:grid;gap:34px;margin-top:38px}.project{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:24px;background:#fff;border:1px solid #e1e6ee;border-radius:26px;box-shadow:0 18px 55px rgba(10,22,48,.08)}.project:nth-child(even) .projectCopy{order:2}.projectCopy{padding:22px;align-self:center}.project h3{font-size:clamp(1.8rem,3vw,3rem);line-height:1.02;margin:5px 0 14px;letter-spacing:-.04em}.project p{color:#5b697f}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tag{font-size:.76rem;font-weight:800;padding:7px 10px;border-radius:999px;background:#eef2f9;color:#33445f}.gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;align-content:center}.gallery .thumbs{display:grid;gap:10px}.gallery figure{margin:0;background:#eef2f7;border-radius:15px;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:150px}.gallery img{width:100%;height:auto;object-fit:contain}.darkCards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.darkCard{padding:18px;background:#0a172a;border:1px solid rgba(255,255,255,.1);border-radius:22px}.darkCard .frame{background:#07101d;border-radius:15px;display:flex;align-items:center;justify-content:center;min-height:220px}.darkCard img{width:100%;height:auto;object-fit:contain}.darkCard h3{font-size:1.35rem;margin:18px 4px 8px}.darkCard p{margin:0 4px 10px;color:#aab9cc;font-size:.93rem}.partner{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}.partnerBox{border-radius:24px;padding:28px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035)}.partnerBox h3{margin-top:0;font-size:1.55rem}.partnerBox ul{padding-left:18px;color:#b7c5d8}.cta{padding:95px 0;background:radial-gradient(circle at 15% 20%,rgba(104,92,255,.32),transparent 38%),radial-gradient(circle at 85% 40%,rgba(255,72,197,.22),transparent 36%),#07101e}.ctaBox{padding:48px;border:1px solid rgba(255,255,255,.14);border-radius:30px;background:rgba(255,255,255,.04);text-align:center}.ctaBox h2{font-size:clamp(2.4rem,5vw,4.8rem);margin:0 0 14px;letter-spacing:-.05em}.ctaBox p{color:#b9c6d7;font-size:1.08rem}.footer{padding:26px 0 42px;color:#7e8da4;font-size:.9rem}.footerin{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}@media(max-width:900px){.navlinks a:not(.pill){display:none}.heroGrid,.project,.partner{grid-template-columns:1fr}.hero{padding-top:58px}.project:nth-child(even) .projectCopy{order:initial}.services{grid-template-columns:repeat(2,1fr)}.darkCards{grid-template-columns:1fr 1fr}.mosaic{max-width:700px}.section{padding:68px 0}}@media(max-width:620px){.wrap{width:min(100% - 24px,1180px)}.hero h1{font-size:3.25rem}.services,.darkCards{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.mosaic{grid-template-columns:1fr}.ctaBox{padding:34px 18px}.project{padding:12px}.projectCopy{padding:14px}}


/* Cropped editorial image layout — preserves aspect ratio while filling frames */
.hero .mediaBox{aspect-ratio:4/3;min-height:0}
.hero .mediaBox img{width:100%;height:100%;object-fit:cover}
.hero .stack:first-child .mediaBox:first-child img{object-position:center 42%}
.hero .stack:first-child .mediaBox:last-child img{object-position:center 40%}
.hero .stack:last-child .mediaBox:first-child img{object-position:center 52%}
.hero .stack:last-child .mediaBox:last-child img{object-position:center 45%}

.project{overflow:hidden}
.project>div:first-child{min-width:0}
.gallery{height:100%;min-height:440px;grid-template-columns:1.32fr .68fr}
.gallery .thumbs{grid-template-rows:repeat(auto-fit,minmax(0,1fr));min-height:0}
.gallery figure{min-height:0;height:100%;aspect-ratio:auto}
.gallery>figure{min-height:440px}
.gallery img{width:100%;height:100%;object-fit:cover}
/* Per-project crops, tuned to keep the subject/action readable */
.project:nth-child(1) .gallery>figure img{object-position:center 45%}
.project:nth-child(1) .thumbs figure:nth-child(1) img{object-position:center 45%}
.project:nth-child(1) .thumbs figure:nth-child(2) img{object-position:center 50%}
.project:nth-child(2) .gallery>figure img{object-position:center 35%}
.project:nth-child(2) .thumbs figure:nth-child(1) img{object-position:center 42%}
.project:nth-child(2) .thumbs figure:nth-child(2) img{object-position:center 40%}
.project:nth-child(2) .thumbs figure:nth-child(3) img{object-position:center 48%}
.project:nth-child(2) .thumbs figure:nth-child(4) img{object-position:center 44%}
.project:nth-child(2) .thumbs figure:nth-child(5) img{object-position:center 44%}
.project:nth-child(3) .gallery>figure img{object-position:center 48%}
.project:nth-child(3) .thumbs img{object-position:center 45%}
.project:nth-child(4) .gallery>figure img{object-position:center 48%}
.project:nth-child(4) .thumbs img{object-position:center 48%}
.project:nth-child(5) .gallery>figure img{object-position:center 44%}
.project:nth-child(5) .thumbs img{object-position:center 44%}

.darkCard .frame{aspect-ratio:4/3;min-height:0;overflow:hidden}
.darkCard img{width:100%;height:100%;object-fit:cover}
.darkCard:nth-child(1) img{object-position:center 36%}
.darkCard:nth-child(2) img{object-position:center center}
.darkCard:nth-child(3) img{object-position:center center}
.darkCard:nth-child(4) img{object-position:center 45%}
.darkCard:nth-child(5) img{object-position:center center}
.darkCard:nth-child(6) img{object-position:center center}

@media(min-width:901px){
  .project:nth-child(odd){grid-template-columns:1.08fr .92fr}
  .project:nth-child(even){grid-template-columns:.92fr 1.08fr}
}
@media(max-width:900px){
  .gallery{min-height:390px}
  .gallery>figure{min-height:390px}
}
@media(max-width:620px){
  .hero .mediaBox{aspect-ratio:16/10}
  .gallery{height:auto;min-height:0;grid-template-columns:1fr 1fr}
  .gallery>figure{grid-column:1/-1;min-height:0;aspect-ratio:16/10}
  .gallery .thumbs{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:none}
  .gallery .thumbs figure{aspect-ratio:1/1;min-height:0}
  .darkCard .frame{aspect-ratio:16/10}
}


/* Clickable project cards */
.project-clickable{position:relative;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.project-clickable:hover{transform:translateY(-4px);box-shadow:0 26px 68px rgba(10,22,48,.14);border-color:#cbd5e5}
.project-clickable .projectCopy,.project-clickable .gallery{position:relative;z-index:2;pointer-events:none}
.project-clickable .projectCopy a,.project-clickable .gallery a{pointer-events:auto}
.project-title-link{position:relative;z-index:4}
.project-title-link:hover{color:#624cff}
.view-project{position:relative;z-index:4;display:inline-flex;gap:10px;align-items:center;margin-top:22px;padding:11px 15px;border-radius:999px;background:#0a1630;color:#fff;font-weight:800;font-size:.88rem;pointer-events:auto!important}
.view-project span{font-size:1rem}
.project-overlay-link{position:absolute;inset:0;z-index:1;border-radius:inherit}
.project-clickable:focus-within{outline:3px solid rgba(117,95,255,.32);outline-offset:4px}

/* Project detail pages */
.case-body{background:#f6f8fb;color:#0a1630}
.case-body .nav{background:rgba(6,16,31,.92);color:#fff}
.case-hero{padding:82px 0 58px;background:#06101f;color:#fff;overflow:hidden}
.case-back{display:inline-flex;align-items:center;gap:8px;color:#aab9cc;font-weight:750;margin-bottom:34px}
.case-back:hover{color:#fff}
.case-hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:center}
.case-hero h1{font-size:clamp(3rem,6.5vw,6rem);line-height:.94;letter-spacing:-.055em;margin:12px 0 20px}
.case-subtitle{font-size:1.3rem;color:#c0ccdb;max-width:680px}
.case-hero-media{aspect-ratio:4/3;border-radius:28px;overflow:hidden;background:#0b1729;box-shadow:0 32px 80px rgba(0,0,0,.35)}
.case-hero-media img{width:100%;height:100%;object-fit:cover}
.case-section{padding:76px 0}
.case-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:54px;align-items:start}
.case-intro h2,.case-gallery-section h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1;letter-spacing:-.045em;margin:8px 0 22px}
.case-copy{font-size:1.12rem;color:#526176;max-width:760px}
.case-copy p:first-child{margin-top:0}
.tech-panel{background:#fff;border:1px solid #e0e6ef;border-radius:24px;padding:26px;box-shadow:0 14px 38px rgba(10,22,48,.06)}
.tech-panel h3{margin:0 0 14px;font-size:1.05rem}
.case-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:28px}
.flow-step{padding:16px;border-radius:16px;background:#fff;border:1px solid #e1e7ef;font-weight:850}
.flow-step small{display:block;color:#755fff;margin-bottom:5px}
.case-gallery-section{background:#fff}
.case-gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;margin-top:30px}
.case-gallery-grid figure{margin:0;border-radius:22px;overflow:hidden;background:#eef2f7;min-height:280px}
.case-gallery-grid figure:nth-child(3n+1){grid-column:span 7}
.case-gallery-grid figure:nth-child(3n+2){grid-column:span 5}
.case-gallery-grid figure:nth-child(3n+3){grid-column:span 12;max-height:620px}
.case-gallery-grid img{width:100%;height:100%;min-height:280px;object-fit:cover}
.case-details{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.case-detail{background:#fff;border:1px solid #e0e6ef;border-radius:22px;padding:25px}
.case-detail .kicker{font-size:.72rem}
.case-detail h3{font-size:1.35rem;margin:8px 0 10px}
.case-detail p{color:#607087;margin:0}
.case-next{padding:70px 0;background:#06101f;color:#fff}
.next-grid{display:flex;align-items:center;justify-content:space-between;gap:28px}
.next-grid h2{font-size:clamp(2rem,4vw,3.7rem);line-height:1;margin:7px 0 0;letter-spacing:-.04em}
.next-link{display:inline-flex;align-items:center;gap:12px;padding:15px 22px;border-radius:999px;background:linear-gradient(135deg,#6a63ff,#b24cff);font-weight:850;white-space:nowrap}
@media(max-width:900px){.case-hero-grid,.case-intro{grid-template-columns:1fr}.case-hero-media{max-width:760px}.case-details{grid-template-columns:1fr}.case-gallery-grid figure,.case-gallery-grid figure:nth-child(n){grid-column:span 12}.next-grid{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.case-hero{padding-top:50px}.case-flow{grid-template-columns:repeat(2,1fr)}.case-gallery-grid figure,.case-gallery-grid img{min-height:220px}.case-section{padding:56px 0}}


/* v2 capability links */
.section-title-link{display:inline-block;position:relative}
.section-title-link::after{content:" ↗";font-size:.65em;vertical-align:top;color:#755fff}
.section-title-link:hover{color:#39456a}
.darkCardLink{display:block;position:relative;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.darkCardLink:hover{transform:translateY(-4px);box-shadow:0 20px 54px rgba(0,0,0,.22);border-color:rgba(255,255,255,.18)}
.cardCta{display:inline-block;margin:8px 4px 2px;font-weight:800;color:#9fb2ff}
.case-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;font-weight:800;color:#9fb2ff}
.case-subtitle{font-size:1.2rem;color:#bfcbdb;margin-top:0}
.cap-index-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.cap-index-card{display:block;padding:18px;background:#fff;border:1px solid #e1e6ee;border-radius:22px;box-shadow:0 18px 55px rgba(10,22,48,.08);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.cap-index-card:hover{transform:translateY(-4px);box-shadow:0 26px 68px rgba(10,22,48,.14);border-color:#cbd5e5}
.cap-index-card .frame{background:#eef2f7;border-radius:15px;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;overflow:hidden}
.cap-index-card img{width:100%;height:100%;object-fit:cover}
.cap-index-card h3{font-size:1.35rem;margin:18px 2px 8px;color:#0a1630}
.cap-index-card p{margin:0 2px 8px;color:#5b697f}
.cap-index-card .cardCta{margin-left:2px}
@media(max-width:900px){.cap-index-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.cap-index-grid{grid-template-columns:1fr}}

.project:nth-child(2) .thumbs figure:nth-child(1) img{object-position:center 42%}
.project:nth-child(2) .thumbs figure:nth-child(2) img{object-position:center 44%}


/* === Premium minimal refinement v3 === */
:root{--ink:#071225;--paper:#f7f8fb;--line:#e4e8ef;--muted:#69768a;--violet:#765dff;--navy:#06101f;--ease:cubic-bezier(.2,.75,.25,1)}
body{letter-spacing:-.008em}.nav{border-bottom-color:rgba(255,255,255,.06)}.navin{height:70px}.navlinks{gap:28px}.brand{letter-spacing:.04em}
.section{padding:104px 0}.section.light{background:#f7f8fa}.section h2{max-width:900px}.lead{line-height:1.75}
.services{gap:18px}.service{border-radius:22px;padding:26px;background:rgba(255,255,255,.028);transition:transform .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease)}
.service:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.05)}.light .service:hover{border-color:#cfd6e3;background:#fff}
.project{gap:30px;padding:28px;border-radius:30px;box-shadow:0 16px 42px rgba(10,22,48,.055);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.project:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(10,22,48,.105)}.projectCopy{padding:28px}.project h3{margin-top:8px}.tag{padding:7px 11px;background:#f0f3f8}
.gallery figure,.case-gallery-grid figure,.darkCard .frame,.cap-index-card .frame{cursor:zoom-in}.gallery figure img,.case-gallery-grid img,.darkCard img,.cap-index-card img{transition:transform .65s var(--ease),filter .4s var(--ease)}
.gallery figure:hover img,.case-gallery-grid figure:hover img,.darkCard .frame:hover img,.cap-index-card .frame:hover img{transform:scale(1.035);filter:saturate(1.035) contrast(1.015)}
.gallery figure{border-radius:18px}.darkCards{gap:20px}.darkCard{border-radius:24px;padding:16px;background:#091526}.darkCard h3{margin-top:17px}.darkCard p{line-height:1.65}.cardCta{opacity:.72;transition:opacity .25s ease,transform .25s ease}.darkCardLink:hover .cardCta,.cap-index-card:hover .cardCta{opacity:1;transform:translateX(3px)}
.partner{gap:20px}.partnerBox{border-radius:26px;padding:32px}.ctaBox{max-width:1050px;margin:auto;padding:60px;border-radius:34px}
.case-hero{padding:72px 0 84px}.case-hero-grid{gap:52px}.case-hero-media{border-radius:28px;overflow:hidden}.case-section{padding:92px 0}.case-detail,.tech-panel{border-radius:24px}.case-gallery-grid{gap:18px}.case-gallery-grid figure{border-radius:24px}
.cap-index-card{border-radius:26px;padding:16px}.cap-index-card .frame{border-radius:18px}.cap-index-card h3{font-size:1.45rem}
.view-project,.next-link{transition:transform .25s ease,box-shadow .25s ease}.view-project:hover,.next-link:hover{transform:translateY(-2px)}
.section-title-link{transition:opacity .25s ease}.section-title-link:hover{opacity:.68;color:inherit}

/* entrance motion */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease) var(--reveal-delay,0ms),transform .65s var(--ease) var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none!important}.gallery figure img,.case-gallery-grid img,.darkCard img,.cap-index-card img{transition:none!important}}

/* image + video lightbox */
html.lightbox-open,html.lightbox-open body{overflow:hidden}.lightbox{position:fixed;inset:0;z-index:9999;display:grid;grid-template-columns:72px minmax(0,1fr) 72px;grid-template-rows:64px minmax(0,1fr) 56px;align-items:center;background:rgba(3,8,18,.94);backdrop-filter:blur(18px);opacity:0;pointer-events:none;transition:opacity .25s ease}.lightbox.open{opacity:1;pointer-events:auto}.lightbox-stage{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:14px}.lightbox-stage img,.lightbox-stage video{max-width:min(92vw,1500px);max-height:80vh;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 28px 90px rgba(0,0,0,.45)}.lightbox-close{position:absolute;top:18px;right:22px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:30px;line-height:1;cursor:pointer}.lightbox-nav{border:0;background:transparent;color:#fff;font-size:58px;opacity:.72;cursor:pointer;transition:opacity .2s ease,transform .2s ease}.lightbox-nav:hover{opacity:1;transform:scale(1.06)}.lightbox-prev{grid-column:1;grid-row:2}.lightbox-next{grid-column:3;grid-row:2}.lightbox-caption{grid-column:2;grid-row:3;text-align:center;color:#cbd4e3;font-size:.9rem;padding:0 18px}.lightbox.single .lightbox-nav{display:none}

/* video / GIF-ready containers */
.media-slot,.video-frame{position:relative;overflow:hidden;border-radius:20px;background:#091526}.media-slot video,.video-frame video,.media-slot img,.video-frame img{display:block;width:100%;height:100%;object-fit:cover}.project-video{background:#091526}.video-frame.is-landscape{aspect-ratio:16/9}.video-frame.is-portrait{aspect-ratio:4/5}.video-frame.is-square{aspect-ratio:1/1}
.video-badge{position:absolute;left:14px;bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(4,10,22,.72);backdrop-filter:blur(10px);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff}
@media(max-width:900px){.section{padding:78px 0}.project{padding:20px}.projectCopy{padding:18px}.case-section{padding:72px 0}.lightbox{grid-template-columns:48px minmax(0,1fr) 48px}.lightbox-stage img,.lightbox-stage video{max-height:78vh}}
@media(max-width:620px){.section{padding:62px 0}.project{border-radius:22px}.gallery figure{border-radius:14px}.lightbox{grid-template-columns:1fr;grid-template-rows:60px minmax(0,1fr) 74px}.lightbox-stage{grid-column:1;grid-row:2;padding:8px}.lightbox-nav{position:absolute;bottom:18px;font-size:44px}.lightbox-prev{left:22px}.lightbox-next{right:22px}.lightbox-caption{grid-column:1;grid-row:3;padding:18px 70px 0}.lightbox-stage img,.lightbox-stage video{max-width:94vw;max-height:74vh}}


/* Featured project video heroes */
.case-hero-video{position:relative;background:linear-gradient(145deg,#07101e,#0c1930)}
.case-hero-video video{width:100%;height:100%;object-fit:contain;background:#07101e;cursor:zoom-in}
.case-hero-video::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(120,103,255,.08),transparent 58%)}
.case-hero-video .video-badge{z-index:2;left:16px;bottom:16px;background:rgba(4,10,22,.78);border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 24px rgba(0,0,0,.2)}
@media(max-width:900px){.case-hero-video{aspect-ratio:16/10;max-width:760px}.case-hero-video video{object-fit:contain}}


/* Brand logo navigation */
.brand-logo{display:flex;align-items:center;flex:0 0 auto}
.brand-logo img{display:block;width:170px;max-height:46px;object-fit:contain;object-position:left center}
@media(max-width:620px){.brand-logo img{width:142px;max-height:40px}}

/* Homepage featured project video media */
.gallery figure.homepage-video{position:relative;background:#07101e;cursor:pointer}
.gallery figure.homepage-video video{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;transition:transform .65s cubic-bezier(.2,.75,.2,1),filter .4s ease}
.project:hover figure.homepage-video video{transform:scale(1.025);filter:saturate(1.05)}
.homepage-video .video-badge{z-index:2;left:14px;bottom:14px;background:rgba(4,10,22,.76);border:1px solid rgba(255,255,255,.12)}
@media(prefers-reduced-motion:reduce){.gallery figure.homepage-video video{transition:none}.project:hover figure.homepage-video video{transform:none}}

/* Selected clients & partners */
.clients-section{padding:96px 0 86px;background:#2d1f70;color:#fff;overflow:hidden}
.clients-section h2{font-size:clamp(2.35rem,4.6vw,4.5rem);line-height:.98;letter-spacing:-.048em;max-width:950px;margin:10px 0 34px}
.clients-kicker{color:#a99cff}
.client-quote{margin:0 0 50px;padding:4px 0 4px 24px;border-left:2px solid rgba(255,255,255,.82);max-width:1080px}
.client-quote p{margin:0 0 14px;font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.4;letter-spacing:.02em;color:#fff}
.client-quote cite{font-style:normal;color:#d8d2f0;font-size:.92rem}
.client-region{margin-top:34px}
.client-region>span{display:block;margin:0 0 14px;font-size:.9rem;text-transform:uppercase;letter-spacing:.14em;color:#e5e0fb}
.client-strip{overflow:hidden;border-radius:16px;background:#2d1f70}
.client-strip img{display:block;width:100%;height:auto;mix-blend-mode:normal}
@media(max-width:900px){.clients-section{padding:76px 0}.client-quote{margin-bottom:38px}}
@media(max-width:620px){.clients-section{padding:60px 0 54px}.client-quote{padding-left:16px}.client-strip{overflow-x:auto}.client-strip img{width:980px;max-width:none}}


/* Individual client and partner logos */
.clients-section{padding:96px 0;background:linear-gradient(180deg,#0c1730 0%,#111c38 100%);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.clients-section h2{max-width:900px;font-size:clamp(2.35rem,4.8vw,4.6rem);line-height:.98;letter-spacing:-.05em;margin:10px 0 34px}
.client-quote{max-width:1040px;margin:0 0 62px;padding:0 0 0 24px;border-left:2px solid rgba(255,255,255,.72)}
.client-quote p{font-size:clamp(1.15rem,2vw,1.65rem);line-height:1.38;letter-spacing:.015em;margin:0 0 14px;color:#f4f6fb}
.client-quote cite{font-style:normal;color:#aebbd0;font-size:.9rem}
.client-region{margin-top:48px}
.client-region-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.client-region-head span{text-transform:uppercase;letter-spacing:.14em;font-size:.9rem;font-weight:850;color:#fff}
.client-region-head small{color:#7586a0}
.client-logo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.client-logo-grid-ph{grid-template-columns:repeat(5,minmax(0,1fr))}
.client-logo-card{height:116px;border-radius:18px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;padding:22px;transition:transform .25s ease,background .25s ease,border-color .25s ease}
.client-logo-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.13)}
.client-logo-card img{display:block;width:100%;height:100%;object-fit:contain;filter:none;opacity:.9;transition:opacity .25s ease,transform .25s ease}
.client-logo-card:hover img{opacity:1;transform:scale(1.025)}
@media(max-width:900px){.client-logo-grid,.client-logo-grid-ph{grid-template-columns:repeat(3,minmax(0,1fr))}.clients-section{padding:72px 0}}
@media(max-width:620px){.client-logo-grid,.client-logo-grid-ph{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.client-logo-card{height:92px;padding:16px;border-radius:14px}.client-region-head small{display:none}.client-quote{margin-bottom:44px}}


/* Clients & partners — looping testimonials + logo marquees */
.clients-section{padding:96px 0 92px;background:#2d1f70;color:#fff;overflow:hidden;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.clients-intro{position:relative}
.clients-section h2{max-width:920px;font-size:clamp(2.35rem,4.8vw,4.6rem);line-height:.98;letter-spacing:-.05em;margin:10px 0 38px}
.clients-kicker{color:#b5a9ff}
.testimonial-carousel{position:relative;max-width:1180px;margin:0 0 70px;padding:0 0 0 24px;border-left:2px solid rgba(255,255,255,.82);min-height:190px}
.testimonial-stage{position:relative;min-height:156px}
.testimonial-slide{position:absolute;inset:0;margin:0;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .55s ease,transform .55s ease}
.testimonial-slide.is-active{position:relative;opacity:1;transform:none;pointer-events:auto}
.testimonial-slide blockquote{margin:0;max-width:1120px}
.testimonial-slide p{margin:0 0 18px;font-size:clamp(1.25rem,2.25vw,1.85rem);line-height:1.37;letter-spacing:.035em;color:#fff;font-weight:400}
.testimonial-slide footer{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;font-size:.93rem;color:#ddd8f3}
.testimonial-slide footer strong{color:#fff;font-weight:700}.testimonial-slide footer span::before{content:'·';margin-right:8px;color:#a99cff}
.testimonial-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}
.testimonial-dots{display:flex;gap:7px}.testimonial-dot{width:26px;height:3px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.25);cursor:pointer;transition:width .25s ease,background .25s ease}.testimonial-dot.is-active{width:48px;background:#fff}
.testimonial-counter{font-size:.76rem;letter-spacing:.13em;color:#b9b0df}.testimonial-counter b{color:#fff;font-weight:800}
.client-marquee-block{margin-top:42px}.client-region-label{margin-bottom:16px}.client-region-label span{text-transform:uppercase;letter-spacing:.16em;font-size:.98rem;color:#fff}
.logo-marquee{position:relative;overflow:hidden;width:100%;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
.logo-marquee-track{display:flex;align-items:center;width:max-content;gap:54px;padding:14px 27px;animation:client-marquee-left 42s linear infinite;will-change:transform}
.logo-marquee-reverse .logo-marquee-track{animation-name:client-marquee-right;animation-duration:58s}
.logo-marquee:hover .logo-marquee-track{animation-play-state:paused}
.marquee-logo{width:155px;height:92px;flex:0 0 155px;display:flex;align-items:center;justify-content:center;padding:13px 8px;opacity:.82;transition:opacity .25s ease,transform .25s ease}
.marquee-logo:hover{opacity:1;transform:translateY(-2px) scale(1.025)}
.marquee-logo img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1);opacity:.94}
@keyframes client-marquee-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes client-marquee-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(max-width:900px){.clients-section{padding:76px 0 70px}.testimonial-carousel{margin-bottom:56px}.logo-marquee-track{gap:36px}.marquee-logo{width:132px;height:78px;flex-basis:132px}}
@media(max-width:620px){.clients-section{padding:60px 0 56px}.testimonial-carousel{padding-left:16px;min-height:260px;margin-bottom:46px}.testimonial-stage{min-height:220px}.testimonial-slide p{font-size:1.08rem;letter-spacing:.015em}.testimonial-slide footer{display:block}.testimonial-slide footer span{display:block;margin-top:3px}.testimonial-slide footer span::before{display:none}.testimonial-counter{display:none}.logo-marquee{mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent)}.logo-marquee-track{gap:26px;padding-inline:13px;animation-duration:34s}.logo-marquee-reverse .logo-marquee-track{animation-duration:48s}.marquee-logo{width:112px;height:68px;flex-basis:112px;padding:10px 5px}}
@media(prefers-reduced-motion:reduce){.logo-marquee-track{animation:none!important}.logo-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.testimonial-slide{transition:none}}


/* Toy Kingdom Drawing Comes to Life enriched gallery */
.case-gallery-grid figure.full-span{grid-column:span 12;max-height:none}
.case-gallery-grid video{width:100%;height:100%;min-height:280px;object-fit:cover;display:block}
.case-gallery-grid figure:hover video{filter:saturate(1.035) contrast(1.015)}
.case-gallery-grid .video-card{position:relative;cursor:zoom-in;background:#000}
.case-gallery-grid .video-card::after{content:"Project video";position:absolute;right:18px;bottom:18px;padding:8px 12px;border-radius:999px;background:rgba(6,16,31,.74);color:#fff;font-size:.8rem;font-weight:800;letter-spacing:.02em;backdrop-filter:blur(6px)}
@media(max-width:620px){.case-gallery-grid video{min-height:220px}}


/* Compact gallery for Toy Kingdom — Drawing Comes to Life.
   Source stills are portrait/mobile resolution, so keep them near native size
   instead of stretching them across large case-study grid cells. */
.drawing-comes-to-life-page .case-gallery-grid{
  grid-template-columns:repeat(2,minmax(0,360px));
  justify-content:center;
  align-items:start;
  gap:24px;
}
.drawing-comes-to-life-page .case-gallery-grid .video-card{
  grid-column:1 / -1;
  width:100%;
  max-width:920px;
  justify-self:center;
  aspect-ratio:16/9;
  min-height:0;
}
.drawing-comes-to-life-page .case-gallery-grid .video-card video{
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
}
.drawing-comes-to-life-page .case-gallery-grid .compact-gallery-image,
.drawing-comes-to-life-page .case-gallery-grid .compact-gallery-image:nth-child(n){
  grid-column:auto;
  width:100%;
  max-width:360px;
  min-height:0;
  max-height:none;
  justify-self:center;
  background:#eef2f7;
}
.drawing-comes-to-life-page .case-gallery-grid .compact-gallery-image img{
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  object-fit:contain;
}
@media(max-width:820px){
  .drawing-comes-to-life-page .case-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
  .drawing-comes-to-life-page .case-gallery-grid .compact-gallery-image,
  .drawing-comes-to-life-page .case-gallery-grid .compact-gallery-image:nth-child(n){max-width:300px}
}
@media(max-width:560px){
  .drawing-comes-to-life-page .case-gallery-grid{grid-template-columns:1fr;gap:16px}
  .drawing-comes-to-life-page .case-gallery-grid .video-card{grid-column:1}
  .drawing-comes-to-life-page .case-gallery-grid .compact-gallery-image,
  .drawing-comes-to-life-page .case-gallery-grid .compact-gallery-image:nth-child(n){max-width:290px}
}


/* Compact gallery for Toy Kingdom — Catch & Win. */
.catch-and-win-page .case-gallery-grid{
  grid-template-columns:repeat(2,minmax(0,360px));
  justify-content:center;
  align-items:start;
  gap:24px;
}
.catch-and-win-page .case-gallery-grid .compact-gallery-image,
.catch-and-win-page .case-gallery-grid .compact-gallery-image:nth-child(n){
  grid-column:auto;
  width:100%;
  max-width:360px;
  min-height:0;
  max-height:none;
  justify-self:center;
  background:#eef2f7;
}
.catch-and-win-page .case-gallery-grid .compact-gallery-image img{
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  object-fit:contain;
}
@media(max-width:820px){
  .catch-and-win-page .case-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .catch-and-win-page .case-gallery-grid .compact-gallery-image,
  .catch-and-win-page .case-gallery-grid .compact-gallery-image:nth-child(n){max-width:300px}
}
@media(max-width:560px){
  .catch-and-win-page .case-gallery-grid{grid-template-columns:1fr;gap:16px}
  .catch-and-win-page .case-gallery-grid .compact-gallery-image,
  .catch-and-win-page .case-gallery-grid .compact-gallery-image:nth-child(n){max-width:290px}
}


/* Optimized animated gallery for Ajinomoto. */
.ajinomoto-page .case-gallery-grid{
  grid-template-columns:repeat(2,minmax(0,360px));
  justify-content:center;
  align-items:start;
  gap:24px;
}
.ajinomoto-page .case-gallery-grid .animated-card,
.ajinomoto-page .case-gallery-grid .compact-gallery-image,
.ajinomoto-page .case-gallery-grid .animated-card:nth-child(n),
.ajinomoto-page .case-gallery-grid .compact-gallery-image:nth-child(n){
  grid-column:auto;
  width:100%;
  max-width:360px;
  min-height:0;
  max-height:none;
  justify-self:center;
}
.ajinomoto-page .case-gallery-grid .animated-card{
  aspect-ratio:600/291;
  background:#000;
}
.ajinomoto-page .case-gallery-grid .animated-card::after{content:"Animated walkthrough"}
.ajinomoto-page .case-gallery-grid .animated-card video{
  width:100%;height:100%;min-height:0;object-fit:cover;display:block
}
.ajinomoto-page .case-gallery-grid .compact-gallery-image{background:#eef2f7}
.ajinomoto-page .case-gallery-grid .compact-gallery-image img{
  width:100%;height:auto;min-height:0;max-height:none;object-fit:contain
}
@media(max-width:820px){
  .ajinomoto-page .case-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .ajinomoto-page .case-gallery-grid .animated-card,
  .ajinomoto-page .case-gallery-grid .compact-gallery-image,
  .ajinomoto-page .case-gallery-grid .animated-card:nth-child(n),
  .ajinomoto-page .case-gallery-grid .compact-gallery-image:nth-child(n){max-width:300px}
}
@media(max-width:560px){
  .ajinomoto-page .case-gallery-grid{grid-template-columns:1fr;gap:16px}
  .ajinomoto-page .case-gallery-grid .animated-card,
  .ajinomoto-page .case-gallery-grid .compact-gallery-image,
  .ajinomoto-page .case-gallery-grid .animated-card:nth-child(n),
  .ajinomoto-page .case-gallery-grid .compact-gallery-image:nth-child(n){max-width:290px}
}


/* McDonald's grouped media galleries */
.mcd-page .mcd-groups-section h2{margin-bottom:18px}
.mcd-page .mcd-gallery-group + .mcd-gallery-group{margin-top:72px}
.mcd-page .mcd-group-header{max-width:760px;margin-bottom:24px}
.mcd-page .mcd-group-header h3{font-size:clamp(1.5rem,2vw,2rem);margin:8px 0 10px}
.mcd-page .mcd-group-header p{margin:0;color:var(--muted)}
.mcd-page .mcd-gallery-grid{grid-template-columns:repeat(2,minmax(0,360px));justify-content:center;align-items:start;gap:24px;margin-top:0}
.mcd-page .mcd-gallery-grid .media-card,.mcd-page .mcd-gallery-grid .media-card:nth-child(n){grid-column:auto;width:100%;max-width:360px;min-height:0;max-height:none;justify-self:center;background:#eef2f7}
.mcd-page .mcd-gallery-grid .media-card.wide,.mcd-page .mcd-gallery-grid .media-card.wide:nth-child(n){grid-column:1 / -1;max-width:920px;width:100%}
.mcd-page .mcd-gallery-grid .media-card img,.mcd-page .mcd-gallery-grid .media-card video{width:100%;height:auto;min-height:0;max-height:none;object-fit:contain;display:block}
.mcd-page .mcd-gallery-grid .media-card.video-card{background:#000;position:relative}
.mcd-page .mcd-gallery-grid .media-card.video-card::after{content:"Sample video"}
@media(max-width:820px){.mcd-page .mcd-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mcd-page .mcd-gallery-grid .media-card,.mcd-page .mcd-gallery-grid .media-card:nth-child(n){max-width:300px}}
@media(max-width:560px){.mcd-page .mcd-gallery-group + .mcd-gallery-group{margin-top:56px}.mcd-page .mcd-gallery-grid{grid-template-columns:1fr;gap:16px}.mcd-page .mcd-gallery-grid .media-card,.mcd-page .mcd-gallery-grid .media-card:nth-child(n),.mcd-page .mcd-gallery-grid .media-card.wide,.mcd-page .mcd-gallery-grid .media-card.wide:nth-child(n){max-width:290px;grid-column:auto}}


/* McDonald's ZIP-source media refinements */
.mcd-zip-page .mcd-gallery-grid{grid-template-columns:repeat(2,minmax(0,360px));justify-content:center;align-items:start;gap:24px;margin-top:0}
.mcd-zip-page .mcd-gallery-grid .media-card,.mcd-zip-page .mcd-gallery-grid .media-card:nth-child(n){grid-column:auto;width:100%;max-width:360px;min-height:0;max-height:none;justify-self:center;background:#eef2f7}
.mcd-zip-page .mcd-gallery-grid .media-card.wide,.mcd-zip-page .mcd-gallery-grid .media-card.wide:nth-child(n){grid-column:1/-1;max-width:920px}
.mcd-zip-page .mcd-gallery-grid img,.mcd-zip-page .mcd-gallery-grid video{width:100%;height:auto;min-height:0;max-height:none;object-fit:contain;display:block}
.mcd-zip-page .mcd-gallery-group + .mcd-gallery-group{margin-top:76px}
.mcd-zip-page .mcd-group-header{max-width:760px;margin-bottom:24px}
.mcd-zip-page .mcd-group-header h3{font-size:clamp(1.55rem,2vw,2.15rem);margin:8px 0 10px}
.mcd-zip-page .mcd-group-header p{margin:0;color:#667389}
@media(max-width:820px){.mcd-zip-page .mcd-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.mcd-zip-page .mcd-gallery-grid .media-card,.mcd-zip-page .mcd-gallery-grid .media-card:nth-child(n){max-width:300px}}
@media(max-width:560px){.mcd-zip-page .mcd-gallery-grid{grid-template-columns:1fr}.mcd-zip-page .mcd-gallery-grid .media-card,.mcd-zip-page .mcd-gallery-grid .media-card:nth-child(n),.mcd-zip-page .mcd-gallery-grid .media-card.wide,.mcd-zip-page .mcd-gallery-grid .media-card.wide:nth-child(n){max-width:290px;grid-column:auto}}


/* Compact gallery for Queensland Symphony Orchestra. */
.qso-page .case-gallery-grid{
  grid-template-columns:repeat(2,minmax(0,360px));
  justify-content:center;
  align-items:start;
  gap:24px;
}
.qso-page .case-gallery-grid .video-card{
  grid-column:1 / -1;
  width:100%;
  max-width:920px;
  justify-self:center;
  aspect-ratio:16/9;
  min-height:0;
}
.qso-page .case-gallery-grid .video-card video{
  width:100%;height:100%;min-height:0;object-fit:cover;display:block
}
.qso-page .case-gallery-grid .compact-gallery-image,
.qso-page .case-gallery-grid .compact-gallery-image:nth-child(n){
  grid-column:auto;
  width:100%;
  max-width:360px;
  min-height:0;
  max-height:none;
  justify-self:center;
  background:#eef2f7;
}
.qso-page .case-gallery-grid .compact-gallery-image img{
  width:100%;height:auto;min-height:0;max-height:none;object-fit:contain
}
@media(max-width:820px){
  .qso-page .case-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .qso-page .case-gallery-grid .compact-gallery-image,
  .qso-page .case-gallery-grid .compact-gallery-image:nth-child(n){max-width:300px}
}
@media(max-width:560px){
  .qso-page .case-gallery-grid{grid-template-columns:1fr;gap:16px}
  .qso-page .case-gallery-grid .video-card{grid-column:1}
  .qso-page .case-gallery-grid .compact-gallery-image,
  .qso-page .case-gallery-grid .compact-gallery-image:nth-child(n){max-width:290px}
}


/* Ajinomoto ZIP-only animated gallery */
.ajinomoto-page .ajinomoto-zip-grid{grid-template-columns:repeat(2,minmax(0,420px));justify-content:center;gap:24px;align-items:start}
.ajinomoto-page .ajinomoto-zip-grid .animated-card,.ajinomoto-page .ajinomoto-zip-grid .animated-card:nth-child(n){grid-column:auto;width:100%;max-width:420px;min-height:0;max-height:none;justify-self:center;aspect-ratio:auto;background:#000}
.ajinomoto-page .ajinomoto-zip-grid .animated-card video{width:100%;height:auto;min-height:0;object-fit:contain;display:block}
.ajinomoto-page .ajinomoto-zip-grid .animated-card::after{content:"Animated experience"}
@media(max-width:820px){.ajinomoto-page .ajinomoto-zip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ajinomoto-page .ajinomoto-zip-grid .animated-card,.ajinomoto-page .ajinomoto-zip-grid .animated-card:nth-child(n){max-width:360px}}
@media(max-width:560px){.ajinomoto-page .ajinomoto-zip-grid{grid-template-columns:1fr}.ajinomoto-page .ajinomoto-zip-grid .animated-card,.ajinomoto-page .ajinomoto-zip-grid .animated-card:nth-child(n){max-width:320px}}


/* Campaign Games — autoplay WebM gallery */
.campaign-games-page .campaign-video-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,320px));
  justify-content:center;
  gap:28px;
  margin-top:34px;
}
.campaign-games-page .campaign-game-card{
  background:#fff;
  border:1px solid #e1e6ee;
  border-radius:26px;
  padding:14px;
  box-shadow:0 18px 54px rgba(10,22,48,.07);
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease);
}
.campaign-games-page .campaign-game-card:hover{
  transform:translateY(-5px);
  box-shadow:0 26px 64px rgba(10,22,48,.12);
  border-color:#cfd8e8;
}
.campaign-games-page .campaign-video-frame{
  aspect-ratio:9/16;
  max-height:570px;
  border-radius:18px;
  overflow:hidden;
  background:#07101e;
  cursor:zoom-in;
}
.campaign-games-page .campaign-video-frame video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.campaign-games-page .campaign-game-copy{padding:18px 8px 8px}
.campaign-games-page .campaign-game-copy h3{font-size:1.35rem;margin:6px 0 8px}
.campaign-games-page .campaign-game-copy p{margin:0;color:var(--muted)}
@media(max-width:760px){
  .campaign-games-page .campaign-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .campaign-games-page .campaign-video-frame{max-height:none}
}
@media(max-width:520px){
  .campaign-games-page .campaign-video-grid{grid-template-columns:1fr}
  .campaign-games-page .campaign-game-card{max-width:320px;width:100%;justify-self:center}
}

/* Interactive Installations — optimized autoplay WebM gallery */
.interactive-installations-page .installation-video-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,420px));
  justify-content:center;
  gap:28px;
  margin-top:34px;
}
.interactive-installations-page .installation-card{
  background:#fff;
  border:1px solid #e1e6ee;
  border-radius:26px;
  padding:14px;
  box-shadow:0 18px 54px rgba(10,22,48,.07);
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease);
  min-width:0;
}
.interactive-installations-page .installation-card:hover{
  transform:translateY(-5px);
  box-shadow:0 26px 64px rgba(10,22,48,.12);
  border-color:#cfd8e8;
}
.interactive-installations-page .installation-video-frame{
  width:100%;
  aspect-ratio:16/10;
  border-radius:18px;
  overflow:hidden;
  background:#07101e;
  cursor:zoom-in;
  display:flex;
  align-items:center;
  justify-content:center;
}
.interactive-installations-page .installation-video-frame video{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:#07101e;
}
.interactive-installations-page .installation-video-frame-portrait video{
  width:auto;
  max-width:100%;
}
.interactive-installations-page .installation-card-copy{padding:18px 8px 8px}
.interactive-installations-page .installation-card-copy h3{font-size:1.35rem;margin:6px 0 8px}
.interactive-installations-page .installation-card-copy p{margin:0;color:var(--muted)}
@media(max-width:820px){
  .interactive-installations-page .installation-video-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
@media(max-width:580px){
  .interactive-installations-page .installation-video-grid{grid-template-columns:1fr}
  .interactive-installations-page .installation-card{max-width:420px;width:100%;justify-self:center}
}

/* Other technologies: external WebAR + non-clickable R&D panels */
.techStaticCard{cursor:default}
.techStaticCard:hover{transform:none!important;box-shadow:0 18px 55px rgba(10,22,48,.08);border-color:inherit}
.darkCard.techStaticCard:hover{box-shadow:none;border-color:rgba(255,255,255,.1)}
[data-no-lightbox] .frame{cursor:default!important}
[data-no-lightbox] .frame img{transform:none!important;filter:none!important}


/* Featured project CTA: keep the action on its own line below technology tags */
.projectActions{display:block;margin-top:20px;}
.projectActions .view-project{margin-top:0;}
