/* Content, sizing and responsive grids live in the native Bricks document. */
body.page-id-1654 { background:#070707; color:#f2f1ed; }
.dc-page { --dc-line:#343434; }
.dc-page :is(h1,h2,h3,p) { margin:0; }
.dc-intro { background:transparent; color:#f2f1ed; opacity:1; visibility:visible; }
.dc-intro-stage,.dc-intro-stage canvas,.dc-intro-wash { position:absolute; inset:0; width:100%; height:100%; }
.dc-intro-stage { z-index:0; }
.dc-intro-wash { z-index:1; }
.dc-intro-stage canvas { display:block; }
.dc-intro-copy { text-align:center; pointer-events:none; }
.dc-intro-kicker { font:400 11px/1.2 Barlow,sans-serif; letter-spacing:.18em; text-transform:uppercase; color:#a6a5a2; }
.dc-intro-title { font:italic 700 clamp(54px,8vw,128px)/.92 Barlow,sans-serif; letter-spacing:-.045em; color:#f2f1ed; text-wrap:balance; }
.dc-intro-dot { color:#ff4f8b; }
.dc-intro-subtitle { font:400 clamp(16px,1.4vw,21px)/1.45 Barlow,sans-serif; color:#b6b4b4; }
.dc-intro-wash { display:none; }
.dc-intro-skip { appearance:none; border:0; background:transparent; color:#f2f1ed; padding:8px 0; font:400 11px/1 Barlow,sans-serif; letter-spacing:.16em; text-transform:uppercase; cursor:pointer; }
.dc-intro-skip:focus-visible { outline:1px solid #fff; outline-offset:6px; }
.dc-page .dc-intro { position:relative!important; height:auto!important; min-height:85svh; z-index:auto!important; padding-top:28svh; padding-bottom:12svh; justify-content:flex-start!important; overflow:visible!important; }
.dc-page.has-particle-field .dc-intro { min-height:140svh; }
.dc-intro-copy { position:sticky; top:28svh; }
.dc-intro-stage { display:none; }
.dc-page .dc-intro-skip { position:absolute; top:calc(85svh - 65px); bottom:auto!important; }
.dc-continuum { position:fixed; inset:0; width:100%; height:100%; pointer-events:none; z-index:4; }
.dc-page .dc-stage::after { display:none; }
.dc-page.has-particle-field .dc-stage-fallback { visibility:hidden; }
.dc-dot { color:#777772; }
.dc-stage { isolation:isolate; }
.dc-stage canvas { position:absolute; inset:0; width:100%; height:100%; display:block; mask-image:radial-gradient(ellipse at center,#000 48%,transparent 74%); }
.dc-stage-fallback { position:absolute; inset:0; display:grid; place-content:center; font:italic 700 clamp(160px,25vw,360px)/1 Barlow,sans-serif!important; color:#44434b!important; }
.dc-stage.is-ready .dc-stage-fallback { visibility:hidden; }
.dc-stage::after { content:''; position:absolute; inset:12%; border:1px solid #ffffff0b; border-radius:50%; pointer-events:none; z-index:-1; }
.dc-meter { pointer-events:none; }
.dc-phase { font-size:11px!important; letter-spacing:.06em; white-space:nowrap; }
.dc-chapter-transition { display:none; position:relative; min-height:160svh; width:100%; padding:0!important; pointer-events:none; }
.dc-page.has-particle-field .dc-chapter-transition { display:flex; }
.dc-transition-stage { position:sticky; top:0; width:100%; height:100svh; }
.dc-languages { position:relative; z-index:5; padding-top:clamp(110px,14vw,220px)!important; padding-bottom:clamp(120px,16vw,260px)!important; }
.dc-service-row { --dc-row-accent:#9d7cff; --dc-row-secondary:#ff4fa3; position:relative; isolation:isolate; overflow:visible; opacity:.28; transform:none!important; border:0!important; padding:clamp(28px,3.2vw,48px)!important; background:transparent; transition:opacity .45s ease; }
.dc-service-row:nth-child(3) { --dc-row-accent:#ff4fa3; --dc-row-secondary:#ff8a46; }
.dc-service-row:nth-child(4) { --dc-row-accent:#ff684f; --dc-row-secondary:#ffd23f; }
.dc-service-row:nth-child(5) { --dc-row-accent:#ffd23f; --dc-row-secondary:#9d7cff; }
.dc-service-row::before,.dc-service-row::after { display:none; }
.dc-service-row > * { position:relative; z-index:1; }
.dc-service-row :is(h3,p,span) { transition:color .45s ease,opacity .45s ease,transform .65s cubic-bezier(.16,.8,.18,1); }
.dc-service-row h3 { position:relative; width:max-content; max-width:100%; color:transparent!important; -webkit-text-stroke:1px #f6f3ed52; transform:translateX(-10px); }
.dc-service-row h3::before,.dc-service-row h3::after { content:attr(data-dc-label); position:absolute; inset:0; pointer-events:none; -webkit-text-stroke:0; opacity:0; transition:opacity .4s ease,transform .65s cubic-bezier(.16,.8,.18,1); }
.dc-service-row h3::before { color:var(--dc-row-accent); clip-path:inset(0 0 48% 0); transform:translateX(-.16em); }
.dc-service-row h3::after { color:var(--dc-row-secondary); clip-path:inset(52% 0 0 0); transform:translateX(.16em); }
.dc-service-row p { transform:translateY(10px); }
.dc-service-row.is-color-active { opacity:1; background:transparent; }
.dc-service-row.is-color-active h3 { color:#f7f4ef!important; -webkit-text-stroke-color:transparent; transform:translateX(0); }
.dc-service-row.is-color-active h3::before,.dc-service-row.is-color-active h3::after { opacity:.92; transform:translateX(0); }
.dc-service-row.is-color-active p { color:#f3eee7!important; opacity:1!important; transform:translateY(0); }
.dc-service-row.is-color-active span { color:var(--dc-row-accent)!important; opacity:1!important; }
.dc-to-work { min-height:180svh; }
.dc-work-cinematic { position:relative; z-index:5; padding-top:clamp(120px,16vw,260px)!important; }
.dc-work-grid { display:flex!important; flex-direction:column!important; gap:clamp(120px,15vw,230px)!important; counter-reset:dc-project; }
.dc-project { --dc-project-accent:#9d7cff; width:min(58%,780px); margin:0!important; counter-increment:dc-project; overflow:visible; align-self:flex-start; }
.dc-project:nth-child(2n) { --dc-project-accent:#ff4fa3; width:min(52%,700px); align-self:flex-end; }
.dc-project:nth-child(3n) { --dc-project-accent:#ffb13b; width:min(55%,740px); align-self:center; }
.dc-project-link { position:relative; display:block; perspective:1200px; }
.dc-project-link::before { content:'0' counter(dc-project); position:absolute; top:-38px; left:0; font:400 10px/1 Barlow,sans-serif; letter-spacing:.18em; color:#a6a5a2; }
.dc-project-image { position:relative; aspect-ratio:4/3!important; overflow:hidden; background:#111; transform:translateZ(0); transition:transform .7s cubic-bezier(.16,.8,.18,1),box-shadow .7s ease; }
.dc-project:nth-child(3n+2) .dc-project-image { aspect-ratio:5/4!important; }
.dc-project-image::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 18%,color-mix(in srgb,var(--dc-project-accent) 42%,transparent) 50%,transparent 78%); mix-blend-mode:screen; opacity:0; transform:translateX(-55%); transition:opacity .45s ease,transform .9s cubic-bezier(.16,.8,.18,1); }
.dc-project-photo { display:block; width:100%!important; height:120%!important; object-fit:cover!important; will-change:transform; }
.dc-project-link:hover .dc-project-image { transform:translateY(-10px) rotateX(1.4deg) rotateY(-1.2deg); box-shadow:0 34px 80px #0009,0 0 54px color-mix(in srgb,var(--dc-project-accent) 18%,transparent); }
.dc-project-link:hover .dc-project-image::after { opacity:.7; transform:translateX(55%); }
.dc-project-link:focus-visible { outline:2px solid #b6adcc; outline-offset:8px; }
.dc-service-row:hover { opacity:.86; }
.dc-page .dc-button { width:fit-content; }
.dc-hero-title { text-wrap:balance; }
@media(max-width:767px) {
  .dc-intro-copy { padding-inline:var(--mobile-gutter)!important; }
  .dc-intro-title { font-size:clamp(52px,16vw,76px); }
  .dc-intro-skip { right:var(--mobile-gutter)!important; bottom:24px!important; }
  .dc-chapter-transition { min-height:125svh; }
  .dc-to-work { min-height:140svh; }
  .dc-languages,.dc-work-cinematic { padding-top:100px!important; padding-bottom:110px!important; }
  .dc-project,.dc-project:nth-child(2n),.dc-project:nth-child(3n) { width:88%; align-self:flex-start; }
  .dc-project:nth-child(2n) { align-self:flex-end; }
  .dc-project:nth-child(3n) { align-self:center; }
  .dc-work-grid { gap:92px!important; }
  .dc-project-image,.dc-project:nth-child(3n+2) .dc-project-image { aspect-ratio:4/3!important; }
  .dc-project-link:hover .dc-project-image { transform:none; box-shadow:none; }
  .dc-service-row { padding:28px 18px!important; }
  .dc-service-row > :last-child { grid-column:2; }
  .dc-process-grid.is-pinned-mobile { background:#070707; z-index:2; }
  .dc-process-grid.is-pinned-mobile .dc-process-visual { height:30svh!important; }
  .dc-process-grid.is-pinned-mobile .dc-steps { position:relative; }
  .dc-process-grid.is-pinned-mobile .dc-step { position:absolute; inset:0 0 auto; height:auto; min-height:0; padding:0!important; border:0!important; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:14px; }
  .dc-process-grid.is-pinned-mobile .dc-step > * { flex-shrink:0; width:100%; }
  .dc-process-grid.is-pinned-mobile .dc-step .dc-kicker:last-child { font-size:9px!important; }
}
@media(prefers-reduced-motion:reduce) {
  .dc-intro { display:none!important; }
  .dc-page:not(.is-intro-complete) > :not(.dc-intro) { visibility:visible; }
  .dc-project-photo,.dc-service-row { transition:none; }
  .dc-chapter-transition { display:none!important; }
  .dc-service-row { opacity:1; transform:none!important; background:transparent; }
  .dc-service-row::before,.dc-service-row::after { display:none; }
  .dc-service-row h3 { color:var(--dc-row-accent)!important; -webkit-text-stroke:0; transform:none; }
  .dc-service-row h3::before,.dc-service-row h3::after { display:none; }
  .dc-service-row :is(p,span) { color:#f3eee7!important; opacity:1!important; transform:none; }
}
