/* Lusion reference, adapted to Visioners content. HTML/CSS/GSAP, no 3D. */
.redesign { --rd-paper:#f0f0f8; --rd-text:#111216; --rd-blue:#1145aa; --rd-gutter:5vw; --rd-gap:2vw; --rd-radius:20px; }
.home-redesign { color:var(--rd-text); background:var(--rd-paper); }
.redesign :focus-visible { outline:2px solid var(--rd-blue); outline-offset:6px; }
.redesign main { overflow:clip; }
.redesign .rd-header { position:fixed; inset:50px var(--rd-gutter) auto; z-index:120; width:auto; min-height:45px; display:flex; justify-content:space-between; align-items:flex-start; padding:0; color:#f8f8fa; background:transparent; transform:none; isolation:isolate; will-change:auto; transition:color .25s; }
.redesign .rd-header.is-hidden-by-scroll { transform:none; }
.redesign .rd-header::before { display:none; }
.rd-brand { position:relative; z-index:3; display:block; width:180px; height:42px; }
.rd-brand__crop { position:absolute; inset:0; display:block; overflow:hidden; }
.rd-brand img { display:block; width:180px; height:180px; max-width:none; transform:translateY(-74px); transition:filter .25s; }
.rd-header.is-light { color:var(--rd-text); }
.rd-header.is-light .rd-brand img { filter:invert(1); }
.rd-header__controls { display:flex; align-items:center; gap:16px; }
.rd-header__email,.rd-header__talk,.redesign .rd-menu-button { position:relative; z-index:3; display:flex; justify-content:center; align-items:center; gap:16px; height:45px; border:0; border-radius:100px; color:var(--rd-text); background:#fdfdff; font:600 12px/1 var(--sans); letter-spacing:0; text-transform:uppercase; }
.rd-header__email { width:45px; background:#e5e6ed; }
.rd-header__email svg { width:21px; height:21px; }
.rd-header__contact { position:relative; z-index:3; }
.rd-contact-panel { position:absolute; top:calc(100% + 12px); left:calc(50% - 24px); display:flex; flex-direction:column; align-items:center; gap:8px; width:48px; padding:0; color:var(--rd-text); background:transparent; }
.rd-contact-panel[hidden] { display:none; }
.rd-contact-panel a { position:relative; display:flex; align-items:center; justify-content:center; flex:none; width:48px; height:48px; padding:0; border-radius:50%; background:#fdfdff; }
.rd-contact-panel svg { width:19px; height:19px; flex:none; }
.rd-contact-panel a:hover,.rd-contact-panel a:focus-visible { background:var(--rd-paper); }
.rd-header__email[aria-expanded="true"] { background:#fdfdff; }
.rd-header__talk { padding:0 23px; color:#fdfdff; background:#2b2e3a; }
.rd-header__talk i { width:4px; height:4px; border-radius:50%; background:currentColor; }
.rd-header__talk-arrow { position:absolute; top:0; right:15px; bottom:0; display:grid; place-items:center; width:20px; height:20px; margin-block:auto; opacity:0; transform:translateX(-6px); pointer-events:none; transition:transform .3s cubic-bezier(.4,0,.1,1),opacity .2s; }
.rd-header__talk-arrow svg { display:block; width:20px; height:20px; }
.rd-header__talk-icon,.rd-menu-icon { display:none; }
.rd-header__talk-icon svg { display:block; width:22px; height:22px; }
.rd-menu-icon__close { display:none; }
.redesign .rd-header .rd-menu-button { width:102px; padding:0 21px; gap:10px; background:#fdfdff; }
.redesign .rd-header .rd-menu-button > span { display:block; width:auto; height:auto; background:none; transform:none!important; opacity:1!important; }
.redesign .rd-header .rd-menu-button .rd-menu-dots { display:flex; gap:3px; transition:transform .25s; }
.rd-menu-dots i { display:block; width:4px; height:4px; border-radius:50%; background:currentColor; }
.redesign .is-cryox-menu-open .rd-menu-button .rd-menu-dots { transform:rotate(270deg)!important; }
.redesign .rd-header .rd-menu { position:absolute; inset:58px 0 auto auto; z-index:2; width:310px; height:auto; max-height:calc(100dvh - 128px); overflow-y:auto; overscroll-behavior:contain; align-content:start; scrollbar-width:none; background:transparent; }
.redesign .rd-menu::-webkit-scrollbar { display:none; }
.redesign .rd-menu[aria-hidden="false"] { display:grid; gap:10px; }
.rd-menu__links,.rd-menu__conversation,.rd-menu__work { border-radius:10px; color:var(--rd-text); background:#fdfdff; }
.redesign .rd-header.is-cryox-menu-open .rd-menu__links,.redesign .rd-menu__links { position:relative; min-height:0; height:auto; display:flex; align-items:stretch; justify-content:flex-start; gap:0; padding:18px 30px; }
.redesign .rd-menu__links a { position:relative; display:flex; align-items:center; min-height:52px; color:var(--rd-text); font:400 25px/1.15 var(--sans); letter-spacing:-.035em; text-transform:uppercase; transition:padding .25s,color .25s; }
.redesign .rd-menu__links a::after { content:""; position:absolute; right:1px; width:6px; height:6px; border-radius:50%; opacity:0; background:currentColor; }
.redesign .rd-menu__links a[aria-current]::after,.redesign .rd-menu__links a:hover::after { opacity:1; }
.redesign .rd-menu__links:has(a:hover) a { color:#6a6b71; }
.redesign .rd-menu__links a:hover,.redesign .rd-menu__links a:focus-visible { color:var(--rd-text); }
.rd-menu__conversation { padding:30px; }
.rd-menu__conversation p { margin:0 0 28px; font:400 34px/1.15 var(--sans); letter-spacing:-.045em; }
.rd-menu__conversation a { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:58px; padding:12px 18px; border-radius:18px; background:var(--rd-paper); font-size:12px; }
.rd-menu svg { flex:none; width:25px; height:25px; }
.rd-menu__work { display:flex; align-items:center; justify-content:space-between; min-height:78px; padding:20px 30px; color:#f7f7fb; background:#101115; font-size:18px; letter-spacing:-.03em; }
.redesign.rd-menu-open .rd-header::before { content:""; position:fixed; inset:0; z-index:-1; display:block; background:rgba(25,27,48,.04); pointer-events:none; }

.rd-section { padding-inline:var(--rd-gutter); overflow-anchor:none; }
.rd-media { position:relative; display:block; overflow:hidden; border-radius:var(--rd-radius); background:#dddde6; }
.rd-media > img { display:block; width:100%; height:100%; object-fit:cover; }
.rd-image-drift { position:absolute; inset:0; display:block; overflow:hidden; pointer-events:none; }
.rd-image-drift > img { display:block; width:100%; height:100%; object-fit:cover; }
.rd-project__media .rd-image-drift > img { object-position:center 38%; }
.rd-hero { position:relative; height:100svh; min-height:650px; padding:200px var(--rd-gutter) 50px; overflow-anchor:none; }
.rd-hero__title { position:absolute; top:48px; left:28vw; width:37vw; max-width:590px; margin:0; font:400 clamp(24px,2.28vw,40px)/1.1 var(--sans); letter-spacing:-.045em; }
.rd-hero__title > span { display:block; }
.rd-hero__media { width:100%; height:100%; }
.rd-hero__media > img { object-position:50% 35%; }
.rd-registration { position:relative; display:flex; align-items:center; justify-content:space-between; height:48px; }
.rd-registration i,.rd-outro__marks i { position:relative; display:block; width:14px; height:14px; flex:none; }
.rd-registration i::before,.rd-registration i::after,.rd-outro__marks i::before,.rd-outro__marks i::after { content:""; position:absolute; top:50%; left:50%; width:13px; height:1.5px; background:currentColor; transform:translate(-50%,-50%); }
.rd-registration i::after,.rd-outro__marks i::after { transform:translate(-50%,-50%) rotate(90deg); }
.rd-registration > span { font:600 12px/1 var(--sans); text-transform:uppercase; }
.rd-display { margin:0; font:400 clamp(64px,9vw,144px)/1.04 var(--sans); letter-spacing:-.065em; }
.rd-intro { padding-top:180px; }
.rd-intro__title > span { display:block; overflow:clip; }
.rd-intro__title > span:first-child { padding-left:16.5vw; }
.rd-intro__stage { position:relative; display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:var(--rd-gap); margin-top:100px; }
.rd-intro__stage .rd-intro__copy { grid-column:2; grid-row:1; }
.rd-intro__stage .rd-reel { grid-column:1; grid-row:1; margin:0; height:430px; min-height:0; }
.rd-intro__stage.has-reel-motion { display:block; min-height:0; }
.rd-intro__stage.has-reel-motion .rd-intro__copy { position:absolute; top:0; right:0; width:calc(50% - 1vw); }
.rd-intro__stage.has-reel-motion .rd-reel { z-index:2; width:100%; height:45vw; max-height:calc(100svh - 180px); transform-origin:left top; }
.rd-intro__copy,.rd-manifesto__copy { padding-top:5px; font:400 clamp(17px,1.45vw,24px)/1.4 var(--sans); letter-spacing:-.035em; }
.rd-intro__copy p,.rd-manifesto__copy p { max-width:43ch; margin:0 0 25px; }
.rd-pill { display:inline-flex; align-items:center; justify-content:center; gap:13px; min-height:48px; padding:15px 24px; border-radius:50px; color:var(--rd-text); background:#fdfdff; box-shadow:0 4px 7px rgba(30,30,50,.04); font:600 12px/1 var(--sans); text-transform:uppercase; }
.rd-pill i { width:6px; height:6px; border-radius:50%; background:currentColor; transition:transform .3s; }
.rd-pill:hover i { transform:scale(1.5); }
.rd-reel { height:72svh; min-height:430px; max-height:850px; margin-top:100px; color:#fdfdff; }
.rd-reel > img { object-position:50% 42%; transition:transform .8s cubic-bezier(.16,1,.3,1); }
.rd-reel::after { content:""; position:absolute; inset:0; background:rgba(8,10,15,.15); }
.rd-reel__label { position:absolute; inset:0; z-index:1; display:flex; align-items:center; justify-content:center; gap:35px; font:400 clamp(44px,8.5vw,140px)/1 var(--sans); letter-spacing:-.06em; text-transform:uppercase; }
.rd-reel__play { position:relative; display:block; flex:none; width:110px; height:90px; border-radius:50px; color:#fdfdff; background:var(--rd-blue); }
.rd-reel__arrows { position:absolute; top:50%; left:50%; display:block; width:28px; height:28px; overflow:hidden; transform:translate(-50%,-50%); }
.rd-reel__play svg { width:28px; height:28px; }
.rd-reel__arrows svg { position:absolute; inset:0; }
.rd-reel__arrow-next { opacity:0; transform:translateX(-42px); }
.rd-reel:hover > img { transform:scale(1.035); }
.rd-work { padding-top:180px; padding-bottom:150px; }
.rd-work__heading { display:grid; grid-template-columns:1fr 1fr; gap:var(--rd-gap); align-items:center; margin-bottom:90px; }
.rd-work__heading .rd-display { font-size:clamp(64px,7.6vw,122px); }
.rd-work__heading > p { justify-self:end; max-width:29ch; margin:0; font:500 12px/1.45 var(--sans); text-transform:uppercase; }
.rd-work__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:84px var(--rd-gap); }
.home-redesign .rd-project.gallery-shot { position:relative; inset:auto; width:auto; height:auto; margin:0; overflow:visible; background:none; }
.home-redesign .rd-project.gallery-shot::after { display:none; }
.home-redesign .rd-project.gallery-shot { aspect-ratio:auto; }
.home-redesign .rd-project .gallery-project-link { position:relative; inset:auto; display:block; width:100%; aspect-ratio:1.55; }
.rd-project__media > img { object-position:center 38%; transition:transform .75s cubic-bezier(.16,1,.3,1); }
.rd-project__arrow { position:absolute; top:24px; right:24px; display:grid; place-items:center; width:52px; height:52px; border-radius:50%; color:#111216; background:#fafafe; opacity:0; transform:translateY(12px); transition:opacity .25s,transform .35s; }
.rd-project__arrow svg { width:24px; height:24px; }
.rd-project:hover img,.rd-project:focus-within img { transform:scale(1.035); }
.rd-project:hover .rd-project__arrow,.rd-project:focus-within .rd-project__arrow { opacity:1; transform:none; }
.home-redesign .rd-project figcaption { position:static; padding:18px 0 0; color:var(--rd-text); background:none; }
.rd-project figcaption p { margin:0 0 9px; font:500 10px/1.4 var(--sans); text-transform:uppercase; }
.rd-project figcaption h3 { margin:0; font:400 clamp(24px,2.65vw,42px)/1.15 var(--sans); letter-spacing:-.045em; }
.rd-work__all { display:flex; width:max-content; margin:85px auto 0; }
.rd-manifesto { padding-top:60px; padding-bottom:180px; }
.rd-manifesto > .rd-display { font-size:clamp(50px,7vw,112px); }
.rd-manifesto__grid { display:grid; grid-template-columns:1.1fr .9fr; gap:8vw; align-items:center; margin-top:80px; }
.rd-manifesto__media { aspect-ratio:1.2; }
.rd-services { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px 30px; margin-top:90px; padding-top:26px; border-top:1px solid rgba(20,20,30,.2); }
.rd-services a { padding-block:8px; font-size:14px; letter-spacing:-.02em; }
.rd-services a:hover { text-decoration:underline; text-underline-offset:5px; }

.redesign .site-footer.rd-footer { height:auto; overflow:visible; color:var(--rd-text); background:#fdfdff; }
.rd-outro { position:relative; min-height:100svh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:150px var(--rd-gutter); overflow:hidden; overflow-anchor:none; color:#f4f4fb; background:#101115; text-align:center; }
.rd-outro__content > p { margin:0 0 40px; font:500 12px/1.3 var(--sans); text-transform:uppercase; }
.rd-outro h2 { margin:0; font:400 clamp(60px,10vw,160px)/1.06 var(--sans); letter-spacing:-.06em; }
.rd-outro h2 a { display:block; position:relative; }
.rd-outro h2 svg { position:absolute; right:-85px; top:20px; width:65px; height:65px; opacity:0; transform:translate(-12px,12px); transition:opacity .3s,transform .3s; }
.rd-outro h2 a:hover svg,.rd-outro h2 a:focus-visible svg { opacity:1; transform:none; }
.rd-outro__continue { position:absolute; left:50%; bottom:45px; transform:translateX(-50%); display:flex; align-items:center; gap:20px; min-height:48px; padding:13px 23px; border-radius:50px; color:var(--rd-text); background:#fdfdff; font:500 11px/1 var(--sans); text-transform:uppercase; }
.rd-outro__continue svg { width:18px; height:18px; }
.rd-outro__marks { position:absolute; inset:25% var(--rd-gutter); display:flex; justify-content:space-between; pointer-events:none; }
.rd-outro__marks i:nth-child(2),.rd-outro__marks i:nth-child(3) { align-self:flex-end; }
.rd-footer__details { position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; gap:80px; padding:clamp(120px,40vh,380px) var(--rd-gutter) 48px; background:#fdfdff; }
.rd-footer__main { display:grid; grid-template-columns:1fr 1fr; gap:var(--rd-gap); }
.rd-footer__contact { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:45px var(--rd-gap); font:400 clamp(14px,1.18vw,19px)/1.5 var(--sans); letter-spacing:-.035em; }
.rd-footer__socials { display:grid; justify-items:start; }
.rd-footer__contact p { margin:0; }
.rd-footer__email { grid-column:1 / -1; }
.rd-footer__phone { grid-column:1 / -1; }
.rd-footer__contact a:hover { text-decoration:underline; text-underline-offset:4px; }
.rd-footer__conversation h2 { margin:0 0 35px; font:400 clamp(36px,3.4vw,60px)/1.13 var(--sans); letter-spacing:-.05em; }
.rd-footer__conversation > a { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:70px; padding:20px 24px; border-radius:20px; background:var(--rd-paper); font-size:14px; }
.rd-footer__conversation svg { flex:none; width:26px; height:26px; transition:transform .3s; }
.rd-footer__conversation > a:hover svg { transform:translateX(5px); }
.rd-footer__bottom { display:grid; grid-template-columns:1fr 1fr; gap:24px var(--rd-gap); align-items:end; font:400 11px/1.5 var(--sans); }
.rd-footer__bottom p { margin:0; }
.rd-footer__bottom > a { justify-self:end; font-size:10px; }
.rd-footer__bottom nav { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:20px; }
.rd-footer__bottom button { padding:0; border:0; color:inherit; background:none; font:inherit; }
.rd-footer__bottom a:hover,.rd-footer__bottom button:hover { text-decoration:underline; text-underline-offset:4px; }
.rd-back-top { display:none; }
.redesign .cookie-banner { border:1px solid #dfdfe8; border-radius:14px; color:var(--rd-text); background:#fdfdff; box-shadow:0 10px 40px rgba(20,20,30,.12); }
.redesign .cookie-banner p { color:#50505c; }
.redesign .cookie-banner h2 { font-weight:500; }
.redesign .cookie-actions button { border-radius:50px; color:var(--rd-blue); font-weight:600; }
.redesign .cookie-actions button:hover,.redesign .cookie-actions button:focus-visible { color:#fdfdff; }
.redesign .cookie-actions .cookie-customize { border-color:#d7d7e2; }

/* Reference motion: masked type, rolling project names and line-by-line UI. */
/* Negative tracking leaves glyph ink outside its advance box. Keep that ink
   inside the reveal clip without changing line breaks or character spacing. */
.rd-type-mask { display:inline-block; overflow:clip; vertical-align:top; white-space:nowrap; padding:.16em .1em; margin:-.16em -.1em; }
.rd-type-unit { display:inline-block; }
.redesign .about-hero h1 .rd-type-mask,.redesign .about-hero h1 .rd-type-unit { display:inline-block; }
.rd-intro__title { overflow:clip; }
.rd-intro__title .rd-type-mask { overflow:visible; }
.rd-roll-cell { position:relative; height:1.15em; overflow:hidden; vertical-align:top; padding-inline:.1em; margin-inline:-.1em; }
.rd-roll-track { display:block; }
.rd-roll-track > span { display:block; height:1.15em; line-height:1.15; }
.rd-project figcaption p { position:relative; }
.rd-scramble-source { visibility:hidden; }
.rd-scramble-text { position:absolute; inset:0; }
.rd-project figcaption h3 { position:relative; overflow:clip; }
.rd-project figcaption h3 .rd-type-mask { overflow:visible; }
.rd-title-arrow { position:absolute; inset:0 auto auto 0; opacity:0; transform:translateX(-1em); font-size:.85em; line-height:1.3; }
.home-redesign .rd-project__arrow { display:none; }
.rd-menu-link__mask { display:block; overflow:hidden; height:1.15em; }
.rd-menu-link__text { display:block; position:relative; transition:transform .3s cubic-bezier(.4,0,.1,1); }
.rd-menu-link__text > span { position:absolute; left:0; top:100%; white-space:nowrap; }
.redesign .rd-header .rd-menu-button > .rd-menu-label { flex:none; width:38px; height:1.1em; overflow:hidden; }
.rd-menu-label__track { display:block; transition:transform .3s cubic-bezier(.4,0,.1,1); }
.rd-menu-label__track > span { display:block; height:1.1em; }
.redesign .rd-header .rd-menu-button .rd-menu-label__track,.redesign .rd-header .rd-menu-button .rd-menu-label__track > span { width:auto; background:none; }
.redesign .rd-header .rd-menu-button .rd-menu-label__track { height:auto; }
.redesign .rd-header .rd-menu-button .rd-menu-label__track > span { display:block; height:1.1em; opacity:1; transform:none; }
.redesign .rd-header.is-cryox-menu-open .rd-menu-button .rd-menu-label__track { transform:translateY(-50%); }
.rd-pill,.rd-header__talk { overflow:hidden; }
.rd-pill > span { transition:transform .3s cubic-bezier(.4,0,.1,1); }
.rd-pill::after { content:'→'; position:absolute; left:24px; font-size:18px; opacity:0; transform:translateX(-2em); transition:transform .3s cubic-bezier(.4,0,.1,1),opacity .3s; }
.rd-pill { position:relative; }
.rd-header__talk i { transition:transform .1s cubic-bezier(.4,0,.1,1); }
.rd-outro__content { position:relative; width:100%; }
.rd-outro__line { position:relative; display:inline-block; }
.rd-outro__line::after { content:''; position:absolute; left:0; bottom:.02em; width:100%; height:.065em; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .7s cubic-bezier(.65,0,.35,1); }
.rd-outro__line:last-child::after { transition-delay:.2s; }
.rd-outro h2 a:hover .rd-outro__line::after,.rd-outro h2 a:focus-visible .rd-outro__line::after { transform:scaleX(1); }
.rd-motion .rd-reel > img,.rd-motion .rd-reel__play,.rd-motion .rd-project__media > img { transition:none; }
.rd-motion .rd-reel:hover > img,.rd-motion .rd-reel:hover .rd-reel__play,.rd-motion .rd-project:hover img,.rd-motion .rd-project:focus-within img { transform:none; }
.rd-motion .rd-header .rd-menu-button { transition:background .25s,color .25s; }
.rd-button-arrow { position:absolute; top:50%; left:24px; width:20px; height:20px; margin-top:-10px; pointer-events:none; }
.rd-button-arrow svg { display:block; width:20px; height:20px; }
.rd-motion .rd-pill::after { display:none; }
.rd-motion .rd-pill > span,.rd-motion .rd-header__talk-arrow,.rd-motion .rd-pill i,.rd-motion .rd-header__talk i,.rd-motion .rd-menu-link__text { transition:none; }
.rd-motion .rd-pill:hover > span,.rd-motion .rd-pill:hover i,.rd-motion .rd-header__talk:hover i { transform:none; }
.redesign.rd-motion .rd-menu__links a:hover .rd-menu-link__text,.redesign.rd-motion .rd-menu__links a:focus-visible .rd-menu-link__text { transform:none; }
.rd-motion .rd-services a { text-decoration:none; }
@media (hover:hover) {
  .redesign .rd-menu__links a:hover .rd-menu-link__text { transform:translateY(-100%); }
  .redesign .rd-header .rd-menu-button:hover .rd-menu-dots { transform:rotate(270deg)!important; }
  .rd-pill:hover > span { transform:translateX(1.5em); }
  .rd-pill:hover i,.rd-header__talk:hover i { transform:scale(0); }
  .rd-pill:hover::after,.rd-header__talk:hover .rd-header__talk-arrow { opacity:1; transform:translateX(0); }
}
.rd-header__talk:focus-visible .rd-header__talk-arrow { opacity:1; transform:translateX(0); }
.rd-header__talk:focus-visible i { transform:scale(0); }
.redesign .rd-menu__links a:focus-visible .rd-menu-link__text { transform:translateY(-100%); }

@media (min-width:1800px) { .rd-hero { padding-top:230px; } .rd-hero__title { top:50px; } }
@media (max-width:1180px) and (min-width:701px) {
  .redesign .rd-header { top:30px; }
  .rd-brand,.rd-brand img { width:150px; }
  .rd-brand img { height:150px; transform:translateY(-62px); }
  .rd-hero { padding-top:200px; }
  .rd-hero__title { top:98px; left:var(--rd-gutter); width:70%; max-width:680px; font-size:25px; }
  .rd-intro { padding-top:120px; }
  .rd-footer__contact { font-size:14px; }
}
@media (max-width:700px) {
  .redesign { --rd-gutter:15px; --rd-gap:20px; --rd-radius:10px; }
  .redesign .rd-header { top:16px; align-items:center; min-height:44px; }
  .redesign .rd-header { gap:8px; }
  .rd-brand { width:clamp(104px,20vw,140px); height:44px; flex:none; }
  .rd-brand img { width:100%; height:auto; transform:translateY(calc(22px - 50%)); }
  .rd-header__controls { gap:4px; }
  .rd-header__email { display:flex; width:44px; height:44px; }
  .rd-header__email svg { width:19px; height:19px; }
  .rd-header__talk { display:flex; width:94px; height:44px; padding:0 10px; gap:8px; font-size:9.5px; }
  .rd-header__talk-arrow { right:9px; width:14px; height:14px; }
  .rd-header__talk-arrow svg { width:14px; height:14px; }
  .redesign .rd-header .rd-menu-button { width:60px; height:44px; padding:0 8px; gap:5px; font-size:9.5px; background:#fdfdff; }
  .redesign .rd-header .rd-menu-button > .rd-menu-label { display:block; width:31px; }
  .rd-menu-dots i { width:3px; height:3px; }
  .redesign.rd-menu-open .rd-header::before { background:rgba(240,240,248,.9); }
  @supports ((backdrop-filter:blur(8px)) or (-webkit-backdrop-filter:blur(8px))) {
    /* One static backdrop; never animate a fullscreen blur on a phone. */
    .redesign.rd-menu-open .rd-header::before { background:rgba(240,240,248,.56); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
  }
  .rd-menu-open .rd-header .rd-brand img { filter:invert(1); }
  .redesign .rd-header .rd-menu { position:absolute; top:64px; width:100%; height:auto; max-height:calc(100dvh - 95px); }
  .redesign .rd-menu[aria-hidden="false"] { gap:14px; }
  .redesign .rd-header.is-cryox-menu-open .rd-menu__links { padding:15px 30px; }
  .redesign .rd-header.is-cryox-menu-open .rd-menu__links a { min-height:49px; font-size:25px; line-height:1.15; }
  .rd-menu__conversation { padding:22px 30px; }
  .rd-menu__conversation p { display:none; }
  .rd-menu__conversation a { min-height:44px; padding:0; background:none; border-radius:0; font-size:18px; }
  .rd-menu__work { min-height:76px; font-size:20px; }
  .rd-hero { height:100svh; min-height:650px; padding-top:160px; padding-bottom:45px; }
  .rd-hero__title { top:67px; left:15px; width:calc(100% - 30px); max-width:none; font-size:23px; line-height:1.1; letter-spacing:-.045em; }
  .rd-hero__media > img { object-position:48% 37%; }
  .rd-registration { height:44px; }
  .rd-registration > span { font-size:11px; }
  .rd-registration i:nth-child(2),.rd-registration i:nth-last-child(2) { display:none; }
  .rd-display { font-size:clamp(53px,15.8vw,110px); line-height:1.05; }
  .rd-intro { padding-top:100px; }
  .rd-intro__title > span:first-child { padding-left:0; }
  .rd-intro__stage { display:flex; flex-direction:column; gap:40px; margin-top:45px; }
  .rd-intro__copy,.rd-manifesto__copy { font-size:18px; line-height:1.45; }
  .rd-pill { min-height:46px; font-size:11px; }
  .rd-intro__stage .rd-reel { width:100%; height:440px; min-height:0; margin:0; }
  .rd-reel__label { gap:16px; font-size:48px; }
  .rd-reel__play { width:66px; height:56px; }
  .rd-work { padding-top:100px; padding-bottom:90px; }
  .rd-work__heading { grid-template-columns:1fr; gap:30px; margin-bottom:45px; }
  .rd-work__heading .rd-display { font-size:16vw; }
  .rd-work__heading > p { justify-self:start; font-size:11px; }
  .rd-work__grid { grid-template-columns:1fr; gap:45px; }
  .home-redesign .rd-project .gallery-project-link { aspect-ratio:1.25; }
  .rd-project figcaption p { font-size:9px; }
  .rd-project figcaption h3 { font-size:26px; }
  .rd-work__all { margin-top:45px; }
  .rd-manifesto { padding-top:20px; padding-bottom:100px; }
  .rd-manifesto > .rd-display { font-size:12.5vw; }
  .rd-manifesto__grid { grid-template-columns:1fr; gap:35px; margin-top:40px; }
  .rd-manifesto__media { aspect-ratio:1.2; }
  .rd-services { justify-content:flex-start; gap:9px 20px; margin-top:45px; }
  .rd-services a { font-size:13px; }
  .rd-outro { min-height:80svh; padding:130px 15px; }
  .rd-outro__content > p { margin-bottom:30px; font-size:11px; }
  .rd-outro h2 { font-size:14vw; }
  .rd-outro h2 svg { display:none; }
  .rd-outro__continue { bottom:35px; white-space:nowrap; }
  .rd-footer__details { min-height:100svh; padding:150px 15px 25px; gap:65px; }
  .rd-footer__main { grid-template-columns:1fr; gap:65px; }
  .rd-footer__conversation { grid-row:1; }
  .rd-footer__conversation h2 { font-size:44px; margin-bottom:30px; }
  .rd-footer__conversation > a { min-height:62px; padding:18px 20px; font-size:12px; border-radius:17px; }
  .rd-footer__contact { grid-template-columns:1fr 1fr; gap:40px 18px; font-size:14px; letter-spacing:-.04em; }
  .rd-footer__email,.rd-footer__phone { grid-column:1 / -1; }
  .rd-footer__email a { overflow-wrap:anywhere; }
  .rd-footer__bottom { grid-template-columns:1fr; gap:26px; padding-bottom:45px; font-size:10px; }
  .rd-footer__bottom p { grid-row:3; }
  .rd-footer__bottom > a { justify-self:start; max-width:28ch; }
  .rd-footer__bottom nav { gap:13px; max-width:83%; }
  .rd-back-top { position:absolute; right:15px; bottom:25px; display:grid; place-items:center; width:45px; height:45px; border-radius:50%; color:#fdfdff; background:#101115; }
  .rd-back-top svg { width:22px; height:22px; }
}
@media (max-width:1180px) {
  .rd-header__controls { gap:8px; }
  .rd-header__email,.rd-header__talk,.redesign .rd-header .rd-menu-button { width:44px; height:44px; padding:0; gap:0; flex:none; }
  .rd-header__talk > span:not(.rd-header__talk-icon),.rd-header__talk > i { display:none; }
  .rd-header__talk > .rd-header__talk-icon { display:block; }
  .redesign .rd-header .rd-menu-button > .rd-menu-label,.redesign .rd-header .rd-menu-button > .rd-menu-dots { display:none; }
  .redesign .rd-header .rd-menu-button > .rd-menu-icon { display:block; width:22px; height:22px; }
  .rd-menu-button[aria-expanded="true"] .rd-menu-icon__open { display:none; }
  .rd-menu-button[aria-expanded="true"] .rd-menu-icon__close { display:block; }
}
@media (prefers-reduced-motion:reduce) {
  .redesign *, .redesign *::before,.redesign *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }
  .rd-menu-link__text,.rd-menu-label__track { transition-duration:.01ms!important; }
}
