@layer djb.reset,djb.base,djb.theme,djb.elements,djb.classes,djb.global,djb.nodes,djb.custom;@layer djb.base{.djb-button:where(:not(.djb-button--plain)){display:inline-flex;align-items:center;justify-content:center;gap:.5em;cursor:pointer;text-decoration:none;border:0;font:inherit;line-height:1.2}.djb-button--sm{padding:.5em 1em;font-size:.875em}.djb-button--md{padding:.75em 1.5em}.djb-button--lg{padding:1em 2em;font-size:1.125em}
.djb-button__icon{flex-shrink:0;width:1em;height:1em}.djb-image{display:block;max-width:100%;height:auto}figure.djb-image{margin:0}figure.djb-image img{display:block;width:100%;height:auto}
figure.djb-image img,a.djb-image img{border-radius:inherit;aspect-ratio:inherit;object-fit:inherit;object-position:inherit}.djb-svg{max-width:100%}
.djb-svg:where(svg):not([height]),.djb-svg__svg:not([height]){height:auto}
.djb-svg--link{display:inline-block;line-height:0;color:inherit}
.djb-svg--link:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.djb-svg--empty{display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:8px;background:repeating-linear-gradient(45deg,#f3f1f7,#f3f1f7 10px,#eeebf4 10px,#eeebf4 20px);color:#9a93ad}.djb-post-taxonomy{display:flex;flex-wrap:wrap;align-items:center;gap:.4em .5em;line-height:1.4}
.djb-post-taxonomy__list{display:flex;flex-wrap:wrap;align-items:center;gap:.4em}
.djb-post-taxonomy--list .djb-post-taxonomy__list{gap:0}
.djb-post-taxonomy__item{display:inline-flex}
.djb-post-taxonomy__sep{white-space:pre}
.djb-post-taxonomy__icon{display:block;width:1em;height:1em;opacity:.8}
.djb-post-taxonomy__prefix{font-weight:600}
.djb-post-taxonomy--list .djb-post-taxonomy__term{text-decoration:none}
.djb-post-taxonomy--list a.djb-post-taxonomy__term:hover{text-decoration:underline;text-underline-offset:.2em}
.djb-post-taxonomy--pills .djb-post-taxonomy__term{display:inline-flex;align-items:center;min-height:2em;padding:.25em .8em;border-radius:var(--radius-full,999px);background:var(--color-primary-soft,rgba(124,58,237,.1));font-size:.8125em;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s}
.djb-post-taxonomy--pills a.djb-post-taxonomy__term:hover{background:var(--color-primary,#7c3aed)}
@media (prefers-reduced-motion:reduce){.djb-post-taxonomy--pills .djb-post-taxonomy__term{transition:none}}}@layer djb.elements{.djb-post-taxonomy__list{list-style:none;margin:0;padding:0}
.djb-post-taxonomy--list .djb-post-taxonomy__term{color:inherit}
.djb-post-taxonomy--pills .djb-post-taxonomy__term{color:var(--color-primary,#6d28d9)}
.djb-post-taxonomy--pills a.djb-post-taxonomy__term:hover{color:var(--color-white,#fff)}}@layer djb.global{/* ==========================================================================
   PAGE: home  →  Bricks Page settings → Custom CSS
   ========================================================================== */
/* @page:start home */
/* --- Intro loader (first visit / reload only) --- */
.home-loader { --sx: 30vw; --sy: 50vh; position: fixed; inset: 0; z-index: 70; overflow: hidden; color: var(--color-dark); background: radial-gradient(ellipse farthest-corner at bottom left, var(--color-white) 66%, var(--color-primary) 134%); transition: background-color .24s ease, opacity .24s ease; }
.home-loader--out { background: transparent; pointer-events: none; }
.home-loader__glow { position: absolute; left: var(--sx); top: var(--sy); width: min(110vh, 90vw); aspect-ratio: 1; border-radius: 50%; translate: -50% -50%; background: radial-gradient(circle, rgba(3,226,156,.34) 0, rgba(3,226,156,.1) 34%, transparent 64%); opacity: 0; transform: scale(.6); transition: opacity .9s ease .2s, transform 1.6s cubic-bezier(.16, 1, .3, 1) .2s; }
.home-loader--on .home-loader__glow { opacity: 1; transform: none; }
.home-loader__rings { position: absolute; left: var(--sx); top: var(--sy); width: min(88vh, 96vw); height: min(88vh, 96vw); translate: -50% -50%; overflow: visible; pointer-events: none; }
.home-loader__ring { transform: scale(0); opacity: 0; transition: transform 1.1s cubic-bezier(.16, 1, .3, 1), opacity .6s ease; }
.home-loader--on .home-loader__ring { transform: scale(var(--s)); opacity: var(--o); }
.home-loader__ring:nth-child(1) { --s: .27; --o: .9; transition-delay: .55s; } .home-loader__ring:nth-child(2) { --s: .43; --o: .7; transition-delay: .65s; }
.home-loader__ring:nth-child(3) { --s: .6; --o: .5; transition-delay: .75s; } .home-loader__ring:nth-child(4) { --s: .8; --o: .34; transition-delay: .85s; }
.home-loader__ring:nth-child(5) { --s: 1; --o: .22; transition-delay: .95s; }
.home-loader__ring-in { transform-box: view-box; transform-origin: 0 0; animation: loaderSpin 16s linear infinite; }
.home-loader__ring:nth-child(even) .home-loader__ring-in { animation-direction: reverse; animation-duration: 21s; }
.home-loader__shape { fill: none; stroke: var(--color-primary-line); stroke-width: 1.1; vector-effect: non-scaling-stroke; opacity: 0; animation: loaderShape 4.8s ease-in-out infinite; }
.home-loader__shape:nth-child(2) { animation-delay: -3.6s; } .home-loader__shape:nth-child(3) { animation-delay: -2.4s; } .home-loader__shape:nth-child(4) { animation-delay: -1.2s; }
@keyframes loaderSpin { to { transform: rotate(360deg); } }
@keyframes loaderShape { 0% { opacity: 0; } 4%, 22% { opacity: 1; } 27%, 100% { opacity: 0; } }
.home-loader__logo { position: absolute; left: 50%; top: 50%; display: flex; align-items: baseline; white-space: nowrap; font-size: 120px; line-height: 1; translate: -50% -50%; }
.home-loader__slash { position: relative; flex: none; display: inline-block; width: .2em; height: .74em; margin-right: .16em; border-radius: .03em; overflow: hidden; background: rgba(3,226,156,.18); transform: skewX(-22deg); clip-path: inset(50% 0 50% 0); }
.home-loader__fill { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-loader__wave { fill: var(--color-primary); }
.home-loader__fx { position: absolute; pointer-events: none; }
.home-loader__fx svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.home-loader__fx g { fill: none; stroke: var(--color-primary-line); stroke-width: 1.5; vector-effect: non-scaling-stroke; transform-box: fill-box; transform-origin: 50% 50%; opacity: 0; }
.home-loader__drop { position: absolute; border-radius: 50%; background: var(--color-primary); opacity: 0; }
.home-loader__spark { position: absolute; left: 50%; top: 50%; width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; border-radius: 50%; background: var(--color-primary); opacity: 0; }
.home-loader__word { display: inline-flex; align-items: baseline; letter-spacing: -.045em; }
.home-loader__l { display: inline-block; overflow: hidden; padding: .12em .02em .16em; margin: -.12em -.02em -.16em; font-weight: 700; }
.home-loader__l--light { font-weight: 300; letter-spacing: -.02em; }
.home-loader__l > span { display: inline-block; transform: translateY(150%); transform-origin: 0 100%; }
.home-loader__dot-box { position: relative; display: inline-block; width: .27em; height: .2em; margin: 0 .02em 0 .05em; }
.home-loader__dot { position: absolute; left: .03em; bottom: 0; width: .2em; height: .2em; border-radius: 50%; background: var(--color-primary); transform: scale(0); }
.home-loader__shadow { position: absolute; left: 0; bottom: -.06em; width: .26em; height: .06em; border-radius: 50%; background: rgba(10,33,41,.28); filter: blur(2px); opacity: 0; }
.home-loader__num { position: absolute; left: 5.55vw; bottom: 4vh; color: var(--color-dark); }
.home-loader__odo { display: flex; height: 1em; overflow: hidden; font-size: clamp(64px, 10.4vw, 170px); font-weight: 300; line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.home-loader__digit { display: block; width: .62em; height: 1em; overflow: hidden; text-align: center; transition: width .45s cubic-bezier(.65, 0, .25, 1); }
.home-loader__digit--off { width: 0; }
.home-loader__strip { display: flex; flex-direction: column; transition: transform .3s cubic-bezier(.65, 0, .25, 1); }
.home-loader__strip > span { display: block; height: 1em; }
.home-loader__bar { display: block; height: 2px; margin-top: .9vh; background: rgba(10,33,41,.1); overflow: hidden; }
.home-loader__bar b { display: block; height: 100%; background: var(--color-primary); transform: scaleX(0); transform-origin: 0 50%; }
.home-loader__cap { position: absolute; right: 4vw; bottom: 5.5vh; color: var(--color-text-muted); font-size: clamp(13px, 1.05vw, 17px); font-weight: 500; opacity: 0; transition: opacity .8s ease .6s; }
.home-loader--on .home-loader__cap { opacity: 1; }
.home-loader__num, .home-loader__cap, .home-loader__glow, .home-loader__rings { transition-property: opacity, transform; }
.home-loader--out .home-loader__num, .home-loader--out .home-loader__cap, .home-loader--out .home-loader__glow, .home-loader--out .home-loader__rings { opacity: 0; transition: opacity .3s ease; }
.home-loader__flight { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.home-loader__line { fill: none; stroke: var(--color-primary); stroke-linecap: butt; stroke-linejoin: round; opacity: 0; }
.home-is-loading { overflow: hidden; }
/* hero copy waits for the loader; arriving from another page it is simply there */
.home-hero__in { opacity: 0; transform: translateY(30px); transition: opacity .9s ease, transform 1s cubic-bezier(.16, 1, .3, 1); }
.home-hero__in--d2 { transition-delay: .2s; } .home-hero__in--d3 { transition-delay: .3s; }
.home-hero__copy--in .home-hero__in { opacity: 1; transform: none; }
.home-hero--instant .home-hero__title span, .home-hero--instant .home-hero__in { transition: none; }
@media (max-width: 767px) {
  .home-loader__cap { left: 20px; right: auto; bottom: auto; top: 24px; }
  .home-loader__num { left: 20px; }
}

/* --- Hero (slash → tube → frame) --- */
.home-hero { position: relative; background: var(--color-background-hero); }
.home-hero__fx { position: absolute; inset: 0 0 auto; height: 100vh; min-height: 640px; overflow: hidden; pointer-events: none; }
.home-hero__fx::before { content: ""; position: absolute; right: -14vw; top: -22vw; width: 60vw; height: 60vw; border-radius: 50%; background: radial-gradient(circle, rgba(3,226,156,.22) 0, transparent 62%); }
.home-hero__glass { position: absolute; border-radius: 34px; border: 1px solid rgba(255,255,255,.95); background: linear-gradient(155deg, rgba(255,255,255,.7), rgba(225,240,234,.25)); box-shadow: inset 0 0 0 1px rgba(10,33,41,.03), 0 40px 70px -40px rgba(10,33,41,.22); transform: rotate(-22deg); opacity: calc(1 - var(--hero-rest-out, 0)); transition: opacity .2s linear; }
.home-hero__glass--1 { width: 35vw; height: 53vw; max-height: 104vh; left: 56%; top: -4vh; }
.home-hero__glass--2 { width: 28vw; height: 44vw; max-height: 82vh; left: 51%; top: 10vh; animation: floatY 8s ease-in-out infinite; }
.home-hero__glass--3 { width: 19vw; height: 34vw; max-height: 63vh; left: 79%; top: 16vh; animation: floatY 10s ease-in-out infinite reverse; }
.home-hero__glass--4 { width: 14vw; height: 20vw; max-height: 38vh; left: 47%; top: 46vh; animation: floatY 9s ease-in-out infinite; }
.home-hero__canvas { position: fixed; inset: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none; }
.home-hero__canvas--off { display: none; }
.home-hero__fallback { display: none; position: absolute; left: 57%; top: 50vh; width: 14vh; height: 66vh; background: linear-gradient(180deg, var(--color-primary), var(--color-primary-dark)); transform: translate(-50%, -50%) skewX(-22deg); border-radius: 12px; z-index: 1; }
.home-hero--no-gl .home-hero__fallback { display: block; }
.home-hero__copy { position: relative; z-index: 2; max-width: none; height: 100vh; min-height: 640px; display: flex; flex-direction: column; justify-content: space-between; padding-top: clamp(120px, 52.5px + 11.71875vw, 240px); padding-bottom: 7vh; pointer-events: none; }
.home-hero__copy a { pointer-events: auto; }
.home-hero__title { font-size: max(50px, min(9.765625vw - 6.25px, 9.375vw)); line-height: 1.15; letter-spacing: -.02em; }
.home-hero__word, .home-hero__line { display: inline-block; font-size: .9em; }
.home-hero__word { padding-bottom: .1em; background-image: linear-gradient(90deg, var(--color-primary), var(--color-dark), var(--color-primary)); background-size: 1600px 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: heroGradient 3s linear infinite; }
@keyframes heroGradient { to { background-position: 1600px 0; } }
@media (prefers-reduced-motion: reduce) { .home-hero__word { animation: none; } }
.home-hero__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px 40px; margin-top: clamp(28px, 4vh, 56px); }
@media (min-width: 576px) { .home-hero__bottom { margin-top: clamp(60px, 26.25px + 5.859375vw, 120px); } }
.home-hero__right { display: flex; flex-wrap: wrap; gap: 20px 40px; align-items: center; }
.home-hero__lede { max-width: 17em; font-size: clamp(20px, 11.5px + .78125vw, 24px); line-height: 1.4; }
.home-hero__intro { position: relative; z-index: 2; padding-block: 16vh 8vh; }
.home-hero__intro-text { max-width: 34em; font-size: 20px; line-height: 1.5; }
.home-hero__intro-actions { margin-top: 2em; }
.home-hero__slot-wrap { position: relative; z-index: 2; padding-bottom: clamp(60px, 12vh, 160px); }
.home-hero__slot { position: relative; display: block; width: 100%; max-width: 1400px; max-height: 78vh; margin-inline: auto; aspect-ratio: 16 / 9; border-radius: var(--radius-lg); }
.home-hero__slot-media { position: absolute; inset: 0; overflow: hidden; border-radius: 22px; clip-path: inset(var(--slot-iy, 50%) var(--slot-ix, 50%) round 22px); opacity: var(--slot-o, 0); }
.home-hero__slot-image { width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.12 - var(--slot-e, 0) * .12)); }
.home-hero__slot-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,33,41,.1), rgba(10,33,41,.45)); }
.home-hero__play { position: absolute; left: 50%; top: 50%; display: inline-grid; place-items: center; width: 7.5rem; height: 4.8rem; border-radius: var(--radius-pill); background: var(--color-white); color: var(--color-dark); transform: translate(-50%, -50%) scale(.6); opacity: 0; transition: transform .7s var(--ease-io), opacity .5s ease, background var(--transition-base); }
.home-hero__slot--open .home-hero__play { transform: translate(-50%, -50%) scale(1); opacity: 1; }
.home-hero__slot:hover .home-hero__play { background: var(--color-primary); }
.home-hero__play-icon { width: 2rem; height: 2rem; fill: currentColor; stroke: none; }
.home-hero--no-gl .home-hero__slot-media { clip-path: none; opacity: 1; }
.home-hero--no-gl .home-hero__play { opacity: 1; transform: translate(-50%, -50%); }
@media (max-width: 767px) {
  .home-hero__glass { display: none; }
  .home-hero__copy { padding-top: 120px; }
}

@media (max-width: 600px) { .home-hero__title { font-size: 55px; } }

/* animated gradient text (accent words) */
.home-grad { background-image: linear-gradient(90deg, var(--color-primary), var(--color-dark), var(--color-primary)); background-size: 1600px 100%; background-attachment: fixed; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; -webkit-box-decoration-break: clone; box-decoration-break: clone; animation: heroGradient 3s linear infinite; }
.home-grad span { background: inherit; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: inherit; }
@media (prefers-reduced-motion: reduce) { .home-grad { animation: none; } }

/* --- About (words light up) --- */
.home-about__text { max-width: 22em; font-size: var(--fs-h2); font-weight: 600; line-height: 1.4; }
.home-about__text em { font-style: normal; color: var(--color-primary); }
.home-about__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: max(40px, var(--fs-h2)); }

/* --- Projects (horizontal on vertical scroll) --- */
.home-projects__pin { position: relative; height: 325vh; margin-top: clamp(30px, 4vw, 70px); }
.home-projects__sticky { position: sticky; top: 0; height: 100vh; height: 100svh; display: flex; align-items: center; overflow: hidden; }
.home-projects__track { display: flex; gap: clamp(12px, 1.2vw, 20px); padding-inline: 20px; will-change: transform; transform: translate3d(var(--projects-x, 0px), 0, 0); }
@media (min-width: 768px) { .home-projects__track { padding-inline: 40px; } }
@media (min-width: 1024px) { .home-projects__track { padding-inline: 5.55vw; } }
@media (min-width: 1622px) { .home-projects__track { padding-inline: 90px; } }
.home-projects__intro, .home-projects__more { flex: 0 0 auto; width: clamp(260px, 24vw, 400px); height: min(62vh, 700px); padding: clamp(24px, 2.6vw, 44px); border-radius: var(--radius-lg); display: flex; flex-direction: column; }
.home-projects__intro { justify-content: space-between; background: var(--color-white); box-shadow: 0 0 0 1px var(--color-border); }
.home-projects__eyebrow { display: block; font-size: clamp(16px, 11.5px + .78125vw, 24px); line-height: 1.4; margin-bottom: 16px; }
.home-projects__intro-title { margin: clamp(24px, 3vw, 48px) 0 clamp(16px, 1.96vw, 32px); font-size: calc(var(--fs-h2) * .8); line-height: 1.75; }
.home-projects__intro-text { color: var(--color-text-muted); font-size: clamp(15px, 1.1vw, 18px); line-height: 1.4; }
.home-projects__intro-button { margin-top: auto; align-self: center; }
.project-card { position: relative; flex: 0 0 auto; display: block; width: clamp(300px, 44vw, 760px); height: min(62vh, 700px); border-radius: var(--radius-lg); overflow: hidden; background: var(--color-dark-surface); color: var(--color-white); box-shadow: 0 0 0 0 var(--color-primary); opacity: 0; transform: translateX(30%); transition: opacity .7s ease-out, transform .7s cubic-bezier(.45, 0, .55, 1), box-shadow .45s ease-in-out; }
.home-projects__pin--in .project-card { opacity: 1; transform: none; }
.home-projects__pin--in .project-card:nth-child(3) { transition-delay: .085s; }
.home-projects__pin--in .project-card:nth-child(4) { transition-delay: .17s; }
.project-card:hover { box-shadow: inset 0 0 0 4px var(--color-primary); }
.project-card__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 1.2s var(--ease-out); }
.project-card:hover .project-card__image { transform: scale(1); }
.project-card::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(179deg, rgba(0,0,0,.1) 40%, rgba(0,0,0,.72)); pointer-events: none; }
.project-card__meta { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: flex; flex-direction: column; gap: 14px; padding: clamp(20px, 2.4vw, 40px); }
.project-card__title { font-size: clamp(26.4px, 6px + 2.1875vw, 48px); font-weight: 500; line-height: 1.4; }
.project-card__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.project-card__tag { display: inline-flex; align-items: center; height: 40px; padding: 0 24px; border-radius: 100px; border: 1px solid var(--color-text-muted); color: var(--color-white); font-size: 16px; font-weight: 500; line-height: 1; }
.home-projects__more { align-items: flex-start; justify-content: center; gap: 24px; background: var(--color-dark); color: var(--color-white); }
.home-projects__more-title { font-size: var(--fs-h2); font-weight: 600; line-height: 1.4; }
.home-projects__more-title em { font-style: normal; color: var(--color-primary); }
@media (max-width: 900px) { .home-projects__intro, .home-projects__more, .project-card { height: 54vh; } .home-projects__intro, .home-projects__more { width: clamp(280px, 28vw, 460px); } }
@media (max-width: 800px) {
  .home-projects__pin { height: auto; }
  .home-projects__sticky { position: relative; height: auto; }
  .home-projects__track { transform: none; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; scrollbar-width: none; }
  .home-projects__track::-webkit-scrollbar { display: none; }
  .home-projects__track > * { scroll-snap-align: start; }
  .project-card { width: 82vw; }
}
@media (max-width: 600px) { .project-card__tag { height: 32px; padding: 0 16px; font-size: 14px; } }
@media (prefers-reduced-motion: reduce) { .project-card { opacity: 1; transform: none; } }

/* --- Services (dark): full-width rows, info fades in on hover --- */
.home-services__title { margin-bottom: clamp(24px, 3vw, 48px); color: var(--color-text-on-dark-muted); }
.home-services__list { border-top: 1px solid var(--color-border-dark); }
.service-row { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-block: clamp(18px, 2vw, 32px); color: var(--color-white); }
.service-row__name { font-size: var(--fs-h2); font-weight: 600; line-height: 1.4; transform-origin: left center; transition: transform .25s ease-in-out; }
.service-row:hover .service-row__name { transform: scale(.95); }
.service-row__info { display: flex; align-items: center; gap: clamp(14px, 1.6vw, 28px); opacity: 0; transform: translateX(-2%); transition: opacity .25s ease-in-out, transform .25s ease-out; }
.service-row:hover .service-row__info, .service-row:focus-visible .service-row__info { opacity: 1; transform: none; }
.service-row__case { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.service-row__case-label { font-size: 14px; line-height: 1.5; color: var(--color-text-on-dark-muted); }
.service-row__case-name { font-size: clamp(16px, 11.5px + .78125vw, 24px); line-height: 1.4; }
.service-row__thumb { flex: none; width: clamp(56px, 5vw, 86px); height: clamp(56px, 5vw, 86px); border-radius: 50%; overflow: hidden; background: var(--color-dark-raised); }
.service-row__thumb-image { width: 100%; height: 100%; object-fit: cover; }
.service-row__arrow { flex: none; display: grid; place-items: center; width: clamp(40px, 3.4vw, 56px); height: clamp(40px, 3.4vw, 56px); border-radius: 50%; background: var(--color-primary); color: var(--color-dark); font-size: clamp(18px, 1.53vw, 25px); }
@media (hover: none) { .service-row__info { opacity: 1; transform: none; } .service-row__case { display: none; } }
@media (max-width: 700px) { .service-row__thumb { display: none; } }
.home-services__sep { height: 1px; margin: clamp(40px, 5.4vw, 90px) 0 clamp(28px, 3.6vw, 60px); background: var(--color-border-dark); }
.home-services__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 28px; }
.home-services__brand { font-size: var(--fs-h2); font-weight: 600; line-height: 1.4; color: var(--color-primary); }
.home-services__brand-text { max-width: 30em; margin-top: .8em; font-size: 20px; line-height: 1.5; color: var(--color-text-on-dark-muted); }
.home-services__facts { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }

/* --- Clients: heading is held in place while the shape grid scrolls over it --- */
.home-clients { position: relative; padding: 10.4167vw 0 125vh; }
.home-clients__head { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; will-change: transform; }
.home-clients__eyebrow { display: block; margin-bottom: 16px; color: var(--color-primary); font-size: clamp(16px, 11.5px + .78125vw, 24px); line-height: 1.4; }
.home-clients__title { max-width: 14.05em; }
.home-clients__title-in { font-size: 1.1em; font-weight: 700; line-height: 1.4; }
.home-clients__items { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(24px, 4vw, 60px); margin-top: 5.5556vw; }
.client-tile { position: relative; display: grid; place-items: center; aspect-ratio: 1 / 1; text-align: center; font-weight: 700; font-size: max(.8rem, 1.25vw); line-height: 1.2; letter-spacing: -.02em; transition: color .4321s ease-out; }
.client-tile__line, .client-tile__fill { position: absolute; inset: -6%; transition: background .4321s ease-out, transform .6s cubic-bezier(.34, 1.56, .64, 1); }
.client-tile__line { background: rgba(10,33,41,.14); }
.client-tile__fill { inset: calc(-6% + 1px); background: var(--color-white); }
.client-tile:hover .client-tile__fill, .client-tile:focus-visible .client-tile__fill { background: var(--color-primary); transform: scale(1.04); }
.client-tile:hover .client-tile__line, .client-tile:focus-visible .client-tile__line { transform: scale(1.04); }
.client-tile:hover, .client-tile:focus-visible { color: var(--color-white); }
.client-tile__name { position: relative; padding: .5rem; }
.client-tile__line--circle, .client-tile__fill--circle { border-radius: 50%; }
.client-tile__line--hex, .client-tile__fill--hex { clip-path: polygon(50% 0, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%); }
.client-tile__line--diamond, .client-tile__fill--diamond { clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); inset: -14%; }
.client-tile__fill--diamond { inset: calc(-14% + 1px); }
.client-tile__line--penta, .client-tile__fill--penta { clip-path: polygon(50% 0, 100% 38%, 82% 100%, 18% 100%, 0 38%); }
@media (max-width: 767px) {
  .home-clients { padding: 20.4545vw 0; }
  .home-clients__items { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 9.0909vw; }
  .client-tile { font-size: .78rem; }
}

/* --- Running statement: one line moved sideways by scroll --- */
.home-statement { overflow: hidden; padding-block: clamp(20px, 3vw, 50px); }
.home-statement__line { display: flex; align-items: center; gap: clamp(24px, 5vw, 80px); width: max-content; padding-left: 20vw; white-space: nowrap; will-change: transform; }
.home-statement__item { font-size: clamp(16px, 11.5px + .78125vw, 24px); font-weight: 500; line-height: 1.5; color: var(--color-text-muted); }
.home-statement__item--big { font-size: max(40px, 11.875px + 4.8828vw); font-weight: 600; line-height: 1.15; letter-spacing: -.02em; color: var(--color-text); }
@media (min-width: 1600px) { .home-statement__item--big { font-size: 5.625vw; } }

/* --- Stats --- */
.home-stats__title { max-width: 13em; }
.home-stats__title em { font-style: italic; font-weight: 500; color: inherit; }
.home-stats__row { display: grid; gap: 30px; margin-top: max(40px, 4vw); }
@media (min-width: 1024px) { .home-stats__row { grid-template-columns: 1fr 1fr; align-items: end; gap: 4vw; } }
.home-stats__numbers { display: flex; flex-wrap: wrap; }
.home-stats__numbers > div { display: flex; flex-direction: column; gap: 6px; padding: clamp(20px, 2vw, 36px) clamp(24px, 3vw, 48px) clamp(20px, 2vw, 36px) 0; }
.home-stats__value { display: block; font-size: var(--fs-h2); font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; }
.home-stats__label { display: block; color: var(--color-text-muted); font-size: clamp(16px, 11.5px + .78125vw, 24px); line-height: 1.4; }
.home-stats__aside { display: grid; gap: 28px; justify-items: center; }
.home-stats__text { justify-self: start; max-width: 24em; margin-bottom: 1em; font-size: clamp(20px, 11.5px + .78125vw, 24px); line-height: 1.4; }

/* --- Good at --- */
.home-good__title { max-width: 13em; }
.home-good__grid { display: grid; gap: 30px; margin-top: max(40px, 4vw); }
@media (min-width: 1024px) { .home-good__grid { grid-template-columns: 1fr 1fr; align-items: end; gap: 4vw; } }
.home-good__label { margin-bottom: clamp(24px, 2.5vw, 40px); font-size: 14px; color: var(--color-text-muted); }
.home-good__list { display: grid; gap: 12px; }
.home-good__link { display: inline-flex; align-items: center; gap: .4em; font-size: clamp(16px, 11.5px + .78125vw, 24px); font-weight: 500; line-height: 1.5; transition: color var(--transition-base), transform .45s var(--ease-io); }
.home-good__link:hover { color: var(--color-primary-ink); transform: translateX(6px); }
.home-good__mask { overflow: hidden; border-radius: var(--radius-lg); }
.home-good__card { display: flex; flex-direction: column; gap: 32px; padding: clamp(28px, 3vw, 52px); background: var(--color-primary); color: var(--color-dark); transform: translateY(-100.5%); transition: transform 1.1s cubic-bezier(.77, 0, .18, 1); }
.home-good__mask--in .home-good__card { transform: none; }
.home-good__card-title { font-size: clamp(26.4px, 6px + 2.1875vw, 48px); font-weight: 500; line-height: 1.4; }
.home-good__card-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.home-good__button { border-color: var(--color-dark); }
@media (prefers-reduced-motion: reduce) { .home-good__card { transform: none; } }}@layer djb.nodes{.djb-ykzyuz{display:contents}.djb-qjn2wz{display:contents}.djb-nfa0cu{display:contents}.djb-oawtiz{display:contents}}