/* Creators-inspired composition, using Artsay content, assets and brand colours. */
:root{--red:#c10100}
.hero{min-height:780px;height:100svh;max-height:1180px;display:flex;padding-top:100px;padding-bottom:46px}
.hero-main{position:relative;margin-top:-15px;width:100%}
.hero h1,html[lang=en] .hero h1,html[lang=fr-BE] .hero h1{font-size:clamp(52px,7.2vw,126px);line-height:1.14;letter-spacing:-.052em;font-weight:300}
.hero .headline-line{display:block;white-space:nowrap;font-weight:300}
.hero .headline-line.second{text-align:right;margin-top:0}
.hero-description{position:absolute;left:0;bottom:4px;margin:0;font-size:14px;line-height:1.4;max-width:270px;width:24%}
.hero-bottom{font-size:12px}
.gradient-band{background:#1a0504;height:370px}
.gradient-orb{inset:0;filter:none;transform:none;translate:none;animation:none}
.band-words{text-shadow:none;font-size:clamp(25px,3vw,48px)}
.split-section{grid-template-columns:.8fr 1.2fr;gap:8vw}
.about{padding-top:170px;padding-bottom:170px}.about-copy>p{font-size:clamp(20px,1.7vw,28px)}.about-copy>p+p{font-size:16px}
.expertise{padding-top:80px}.service-number{font-size:13px}.expertise-hint{font-size:14px}.service-group h4{font-weight:700}
.approach{padding-top:160px}.process-row>span{font-size:13px}
.outline-button,.inquiry-submit{font-weight:700}.statement .eyebrow{font-size:14px}
@media(min-width:1600px){.hero{min-height:900px}}
@media(max-width:1000px){.hero-description{position:static;width:auto;max-width:410px;margin-top:35px;font-size:15px}.hero{min-height:730px}.hero-main{margin-top:0}.split-section{gap:6vw}.about{padding-top:115px;padding-bottom:115px}.gradient-band{height:300px}}
@media(max-width:650px){.hero{height:90svh;min-height:640px;max-height:950px;padding-top:86px;padding-bottom:46px}.hero-main{margin-top:-25px}.hero h1,html[lang=en] .hero h1,html[lang=fr-BE] .hero h1{font-size:clamp(30px,7.6vw,50px);line-height:1.28;letter-spacing:-.045em}.hero-description{font-size:14px;line-height:1.55;max-width:310px;margin-top:32px}.hero-bottom{bottom:30px;font-size:11px}.gradient-band{height:220px}.band-words{font-size:21px;gap:25px}.about{padding-top:90px;padding-bottom:60px}.about h2{font-size:43px}.about-copy>p{font-size:21px}.about-copy>p+p{font-size:16px}.expertise{padding-top:70px}.sticky-title p{font-size:16px}.service h3{font-size:28px}.service-content{padding-left:45px}.approach{padding-top:100px}.statement{padding-top:70px}.contact-main h2{font-size:20vw}.contact-main>span{font-size:18vw}}

/* Supplied portfolio inside the original scroll-driven project carousel. */
.project-slot{display:block}.project-slot .empty-canvas img{display:block;width:100%;height:100%;object-fit:contain;background:#171717}.orbit-gallery .empty-canvas:before{background:none}.orbit-gallery .slot-caption{inset:auto 0 0;flex-direction:row;justify-content:space-between;align-items:end;gap:15px;padding:28px 16px 14px;background:linear-gradient(transparent,#000b);color:white;font-size:15px;font-weight:700}.orbit-gallery .slot-caption>span:last-child{display:block}.project-slot:focus-visible{outline:3px solid var(--red);outline-offset:5px}.project-slot .empty-canvas:after{pointer-events:none}@media(max-width:650px){.orbit-gallery .slot-caption{font-size:12px;padding:24px 10px 10px}}
/* Hover enlarges the artwork inside the rotating card, preserving its scroll orbit. */
.project-preview{position:relative;width:100%;height:100%;aspect-ratio:1.6;transform:translateZ(0) scale(1);transform-origin:center;transition:transform .55s cubic-bezier(.22,1,.36,1);backface-visibility:hidden}
.project-slot .project-preview>.empty-canvas{width:100%;height:100%;aspect-ratio:inherit}
.project-slot:hover .project-preview,.project-slot:focus-visible .project-preview{transform:translateZ(0) scale(1.13)}
.project-orbit:has(.project-slot:hover),.project-orbit:has(.project-slot:focus-visible){z-index:20}
.project-slot .slot-caption{position:absolute;inset:auto 0 0;display:flex;flex-direction:row;justify-content:space-between;align-items:end;padding:40px 18px 17px;gap:15px;background:linear-gradient(transparent,#000d);font-size:16px;font-weight:700;line-height:1.3;color:#fff;opacity:0;translate:0 10px;transition:opacity .35s,translate .45s;pointer-events:none}
.project-slot .slot-caption>span:last-child{display:block;font-size:25px;line-height:1;font-weight:300}
.project-slot:hover .slot-caption,.project-slot:focus-visible .slot-caption{opacity:1;translate:0 0}
.project-slot:focus-visible{outline-offset:12px}
@media(hover:none),(pointer:coarse){.project-slot .slot-caption{opacity:1;translate:0 0}.project-slot:hover .project-preview{transform:none;filter:none}}
@media(max-width:650px){.project-slot .slot-caption{padding:30px 12px 12px;font-size:13px}.project-slot .slot-caption>span:last-child{font-size:20px}}
@media(prefers-reduced-motion:reduce){.project-slot:hover .project-preview,.project-slot:focus-visible .project-preview{transform:none;filter:none}.project-slot .slot-caption{opacity:1;translate:none}}
.site-header{position:fixed;background:linear-gradient(to bottom,#080808d9,transparent)}
@media(prefers-reduced-motion:reduce){.hero .headline-line{translate:none!important}}
/* Soft black gradients follow the pointer across the two brand-red sections. */
.expertise{position:relative;isolation:isolate;background:#1a0504;overflow:clip}
.expertise:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none}
.gradient-orb,.expertise:before{
 background:
  radial-gradient(ellipse farthest-corner at var(--ink-x,50%) var(--ink-y,50%),#080808ed 0%,#080808c4 23%,#08080852 52%,#08080800 78%),
  radial-gradient(ellipse at 98% 6%,#080808aa,transparent 64%),
  linear-gradient(0deg,#08080880,transparent 30%,transparent 75%,#08080873),
  linear-gradient(112deg,#3a0302,#c10100 48%,#8f0201 78%,#300403);
 background-size:100% 100%;animation:none;
}
.expertise>.mouse-atmosphere{display:none}
.expertise .muted,.expertise .expertise-hint,.expertise .service-content p,.expertise .service-content .service-group ul{color:#eee}.expertise .service-number{color:#e7bdbc}.expertise .service,.expertise .service:last-child{border-color:#ffffff40}.expertise .service-content a{border-color:#ffffff70}.expertise .service:hover .service-number{color:white}

/* Isolate every project plane: neighbouring cards can never cut through one another. */
.work.orbit-gallery{--project-width:min(62vw,1000px,98svh)}
.orbit-gallery .project-grid{transform-style:flat}
.orbit-gallery .project-orbit{height:calc(var(--project-width)*.8 + 72px);transform:none;transform-style:flat;will-change:auto;z-index:var(--orbit-z,0)}
.orbit-gallery .project-slot,.orbit-gallery .project-slot:nth-child(even){position:absolute;left:50%;top:50%;width:var(--project-width);height:auto;aspect-ratio:16/9;transform:translate3d(calc(-50% + var(--orbit-x,0px)),-50%,0) perspective(var(--orbit-perspective,2200px)) rotateY(var(--orbit-angle,0deg)) scale(var(--orbit-scale,1));transform-style:flat;backface-visibility:hidden;will-change:auto;transition:opacity .18s ease}
.orbit-gallery .project-preview{height:auto;aspect-ratio:16/9;will-change:auto}
.orbit-gallery .is-near .project-slot,.orbit-gallery .is-near .project-preview{will-change:transform}
.orbit-gallery .project-preview:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;box-shadow:0 24px 42px #0007;opacity:0;transition:opacity .4s ease}
.orbit-gallery .project-slot .empty-canvas{aspect-ratio:16/9;border:0;box-shadow:none;backface-visibility:hidden}
.orbit-gallery .empty-canvas:after{border:0}
.orbit-gallery .project-slot:hover .project-preview,.orbit-gallery .project-slot:focus-visible .project-preview{transform:translateZ(0) scale(1.16)}
.orbit-gallery .project-orbit:has(.project-slot:hover),.orbit-gallery .project-orbit:has(.project-slot:focus-visible){z-index:20}
.orbit-gallery .project-slot:hover,.orbit-gallery .project-slot:focus-visible{opacity:1}
.orbit-gallery .is-featured .slot-caption{opacity:1;translate:0 0}
@media(hover:hover) and (pointer:fine){.orbit-gallery .project-slot:hover .project-preview:after,.orbit-gallery .project-slot:focus-visible .project-preview:after{opacity:1}}
.orbit-gallery .work-heading{top:110px;margin:0;mix-blend-mode:normal;text-shadow:0 2px 12px #080808}
@media(max-width:650px){
 .work.orbit-gallery{--project-width:80vw}
 .orbit-gallery .project-orbit{height:calc(var(--project-width)*.8 + 56px)}
 .orbit-gallery .work-heading{top:105px}
 .orbit-gallery .project-slot .slot-caption{font-size:14px}
}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){
 .orbit-gallery .project-slot:hover .project-preview,.orbit-gallery .project-slot:focus-visible .project-preview{transform:none;filter:none}
}

/* A small founding signature replaces the oversized date beside the contact details. */
.contact-grid{grid-template-columns:1fr 1fr;gap:40px}
.contact-grid>div{display:flex;flex-direction:column;align-items:start;gap:10px;font-size:15px}
.site-footer{display:grid;grid-template-columns:1fr auto;gap:30px 40px;align-items:center;padding-top:38px}
.footer-signature{display:flex;align-items:center;gap:28px;font-size:14px;line-height:1.5}
.footer-signature img{width:96px;flex-shrink:0}
.footer-brand-copy{max-width:280px;min-width:0;display:grid;gap:10px}
.founding-mark{display:flex;align-items:baseline;gap:12px;justify-self:end;color:var(--ink);border-bottom:2px solid var(--red);padding-bottom:8px}
.founding-mark>span{font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.founding-mark>strong{font-size:42px;line-height:1;font-weight:700;letter-spacing:-.04em}
.footer-legal{display:flex;flex-wrap:wrap;gap:14px 24px;font-size:12px}
.footer-top{justify-self:end;font-size:12px}
.site-footer>.cookie-reopen{justify-self:start;grid-column:1}
@media(max-width:650px){
 .contact-grid{grid-template-columns:1fr;gap:30px}
 .site-footer{gap:28px 18px}
 .footer-signature{grid-column:1/-1;gap:22px;font-size:13px}
 .footer-brand-copy{max-width:200px}
 .founding-mark{grid-column:2;grid-row:2;flex-direction:column;gap:7px;align-items:flex-start}
 .founding-mark>strong{font-size:34px}
 .footer-legal{grid-column:1;grid-row:2;flex-direction:column;align-items:start;gap:12px}
.footer-top{grid-column:1/-1;justify-self:start}
}

/* A branded opening: the same wordmark, Nexa typography and soft red-on-black ink. */
.intro-loader{--intro-vw:100vw;--intro-vh:100svh;isolation:isolate;overflow:hidden;background:#080808;inset:auto;left:var(--intro-left,0px);top:var(--intro-top,0px);width:var(--intro-vw);height:var(--intro-vh);padding:clamp(16px,calc(var(--intro-vw)*.04),48px);padding-bottom:clamp(44px,calc(var(--intro-vh)*.12),76px);color:#f4f3ef}
.intro-loader:before{content:'';position:absolute;inset:-30%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 30% 72%,#c1010075, #61050455 25%,transparent 58%),radial-gradient(ellipse at 82% 20%,#c101003b,transparent 48%);animation:introBrandInk 3.5s ease-out both}
.intro-loader:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,#08080880,transparent 45%,#08080899)}
.intro-content{position:relative;z-index:2;width:min(760px,100%);min-width:0;flex-shrink:0;text-align:center;display:flex;flex-direction:column;align-items:center}
.intro-logo{display:block;width:clamp(96px,min(calc(var(--intro-vw)*.18),calc(var(--intro-vh)*.28)),210px);height:auto;flex-shrink:0;animation:introBrandReveal .8s cubic-bezier(.16,1,.3,1) both}
.intro-slogan{width:100%;max-width:100%;margin-top:clamp(12px,calc(var(--intro-vh)*.035),32px);font-size:clamp(20px,min(calc(var(--intro-vw)*.065),calc(var(--intro-vh)*.09)),64px);line-height:1.2;letter-spacing:-.035em;overflow-wrap:break-word}
.intro-slogan>span,.intro-slogan>strong{display:block;animation:introBrandReveal .9s cubic-bezier(.16,1,.3,1) both}
.intro-slogan>span{font-weight:300;color:#c9c7c5;animation-delay:.12s}
.intro-slogan>strong{font-weight:700;animation-delay:.28s}
.intro-progress{width:min(420px,100%);margin-top:clamp(16px,calc(var(--intro-vh)*.045),40px);animation:introBrandReveal .8s .3s both}
.intro-progress-label{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:16px;text-align:left;font-size:14px;color:#bbb8b6}
.intro-meter{display:flex;align-items:baseline;gap:5px;flex-shrink:0;font-size:12px}
.intro-loader .intro-count{font-size:24px;line-height:1;font-weight:700;font-variant-numeric:tabular-nums;color:#f4f3ef;min-width:3ch;text-align:right}
.intro-loader .intro-track{position:relative;inset:auto;width:100%;height:2px;background:#ffffff24;overflow:hidden}
.intro-loader .intro-track>span{height:100%;background:#c10100;animation:none;transform:scaleX(var(--intro-progress,0));transform-origin:left}
.intro-disciplines{position:absolute;z-index:2;left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;font-size:12px;line-height:1.4;letter-spacing:.03em;color:#a59d9a}
@keyframes introBrandReveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes introBrandInk{from{opacity:.55;transform:translate(-3%,4%) scale(1.06)}to{opacity:1;transform:translate(3%,-3%) scale(1)}}
@media(max-width:650px){
 .intro-progress{width:min(340px,100%)}
 .intro-progress-label{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.intro-loader{display:none!important}}

.project-slot .slot-caption>.project-open-label{display:block;font-size:14px;line-height:1.35;font-weight:300;border-bottom:1px solid #ffffff80;padding-bottom:3px;white-space:nowrap;flex-shrink:0}
.project-slot .slot-caption>span:first-child{min-width:0}
.project-slot:hover .project-open-label,.project-slot:focus-visible .project-open-label{border-bottom-color:#c10100}
.contact-main{justify-content:flex-start}
@media(max-width:650px){.project-slot .slot-caption{flex-wrap:wrap;row-gap:8px}.project-slot .slot-caption>.project-open-label{font-size:13px}}
