:root { --ink:#171815; --sans:"Manrope",sans-serif; --display:"Manrope",sans-serif; }
* { box-sizing:border-box; }
html { scrollbar-width:none; }
html::-webkit-scrollbar,body::-webkit-scrollbar { display:none; width:0; height:0; }
body { margin:0; color:#fff; background:#5f5d55; font-family:var(--sans); -ms-overflow-style:none; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
/* Icons are vectors, never font glyphs that mobile platforms may render as emoji. */
.ui-icon { display:inline-block; width:1em; height:1em; flex:none; vertical-align:-.12em; pointer-events:none; }
.ui-icon--chevron { width:22px; height:22px; vertical-align:middle; }
.ui-icon--spark { width:.66em; height:.66em; vertical-align:.02em; margin-inline:.12em; }

.scroll-progress { position:fixed; top:0; left:0; z-index:100; width:100%; height:2px; pointer-events:none; background:#ff6134; transform:scaleX(0); transform-origin:left center; animation:root-scroll-progress linear both; animation-timeline:scroll(root block); animation-range:0% 100%; will-change:transform; }
@keyframes root-scroll-progress { to { transform:scaleX(1); } }

.site-header { position:fixed; top:0; left:0; z-index:5; width:100%; min-height:116px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 5.15%; color:#fff; background:transparent; isolation:isolate; transform:translateY(0); transition:transform .32s cubic-bezier(.22,1,.36,1); will-change:transform; }
.site-header.is-hidden-by-scroll { transform:translateY(-100%); }
.cryox-start,.cryox-brand,.cryox-actions { position:relative; z-index:2; }
.cryox-start,.cryox-actions { display:flex; align-items:center; }
.cryox-start { gap:24px; }
.cryox-menu-toggle { position:relative; z-index:3; width:26px; display:grid; gap:4px; padding:0; border:0; background:transparent; color:inherit; transition:transform .2s ease-out; }
.cryox-menu-toggle span { width:24px; height:1px; display:block; background:currentColor; transform-origin:center; transition:transform .2s ease-out,opacity .2s ease-out; }
.cryox-header.is-cryox-menu-open .cryox-menu-toggle span:first-child { transform:translateY(6px) rotate(45deg); }
.cryox-header.is-cryox-menu-open .cryox-menu-toggle span:nth-child(2) { opacity:0; }
.cryox-header.is-cryox-menu-open .cryox-menu-toggle span:last-child { transform:translateY(-6px) rotate(-45deg); }
.header-nav { display:flex; align-items:center; }
.cryox-nav { gap:28px; margin:0; }
.cryox-nav a { position:relative; display:grid; height:1em; overflow:hidden; font:500 13px/1 var(--display); letter-spacing:-.035em; }
.cryox-link-label { grid-area:1 / 1; white-space:nowrap; }
.brand { white-space:nowrap; }
.visioners-brand { display:block; width:210px; height:42px; overflow:hidden; }
.visioners-brand-crop { display:block; width:100%; height:100%; overflow:hidden; }
.visioners-brand img { display:block; width:210px; max-width:none; transform:translateY(-87px); }
.cryox-actions { justify-content:flex-end; gap:18px; }
.cryox-cta { position:relative; display:block; min-width:180px; height:42px; overflow:hidden; background:#ff6134; color:#10110e; font:600 13px/1 var(--display); letter-spacing:-.035em; }
.cryox-cta-label { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; white-space:nowrap; }
.cryox-menu-panel { position:fixed; inset:0; z-index:1; width:100vw; height:100dvh; display:none; background:#171815; }
.cryox-menu-panel[aria-hidden="false"] { display:block; }
.cryox-menu-links { position:relative; z-index:4; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:116px 5% 64px; }
.cryox-menu-links a { position:relative; z-index:0; isolation:isolate; color:#fff; font:800 clamp(42px,4.8vw,92px)/.88 var(--display); letter-spacing:-.04em; transition:color .32s ease-out; }
.cryox-menu-links:has(a:hover) a { color:#3f3e3c; }
.cryox-menu-links:has(a:hover) a:hover,.cryox-menu-links a:focus-visible { color:#fff; outline:0; }
.menu-hover-image { position:absolute; top:50%; left:50%; z-index:-1; width:100vw; height:118px; object-fit:cover; opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,-50%); filter:brightness(.62); }

.hero-pin-stage { position:relative; }
.cryox-fill { position:sticky; top:0; z-index:0; isolation:isolate; min-height:100dvh; overflow:hidden; color:#f2efe8; background:#050606; }
.cryox-fill::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,rgba(4,5,5,.86),rgba(4,5,5,.62) 48%,rgba(4,5,5,.84)),linear-gradient(180deg,rgba(5,6,6,.26),rgba(5,6,6,.38)); }
.cryox-fill::after { content:""; position:absolute; inset:-20%; z-index:7; pointer-events:none; opacity:.18; mix-blend-mode:soft-light; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.72'/%3E%3C/svg%3E"); }
.hero-backdrops { position:absolute; inset:0; z-index:-2; width:100%; height:100dvh; overflow:hidden; pointer-events:none; background:#050606; }
.hero-backdrop { position:absolute; inset:0; visibility:hidden; opacity:0; transform:scale(1.04); transform-origin:center; will-change:transform,opacity; }
.hero-backdrop.is-active { visibility:visible; opacity:1; }
.hero-backdrop img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; filter:grayscale(1) contrast(1.15) brightness(.72); }
.hero-backdrop:nth-child(1) img { object-position:center 35%; }
.hero-backdrop:nth-child(2) img { object-position:center; }
.hero-backdrop:nth-child(3) img { object-position:center; }
.hero-backdrop:nth-child(4) img { object-position:center; }
.hero-display { position:absolute; top:clamp(118px,14vh,154px); left:3vw; right:3vw; z-index:2; display:flex; justify-content:space-between; align-items:flex-start; margin:0; font:800 clamp(5.5rem,10.4vw,12rem)/.78 var(--display); letter-spacing:-.075em; text-transform:uppercase; pointer-events:none; }
.hero-display span { display:block; white-space:nowrap; }
.hero-direction { position:absolute; top:10%; left:50%; z-index:4; display:grid; justify-items:center; gap:7px; color:#f2efe8; text-align:center; transform:translateX(-50%); }
.hero-direction strong { font:800 clamp(13px,1.25vw,22px)/1 var(--display); letter-spacing:-.045em; }
.hero-direction span { font:600 clamp(8px,.67vw,11px)/1 var(--sans); letter-spacing:.06em; }
.hero-capabilities { position:absolute; top:29%; z-index:2; color:rgba(242,239,232,.78); font:600 clamp(8px,.72vw,12px)/1.65 var(--sans); }
.hero-capabilities--left { left:3vw; }
.hero-capabilities--right { right:3vw; text-align:right; }
.hero-axis { position:absolute; top:56%; left:3vw; right:3vw; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); padding-top:13px; border-top:1px solid rgba(242,239,232,.2); color:rgba(242,239,232,.78); font:600 clamp(8px,.64vw,10px)/1 var(--sans); letter-spacing:.05em; }
.hero-axis span:nth-child(2),.hero-axis span:nth-child(3) { text-align:center; }
.hero-axis span:last-child { text-align:right; }
.hero-object { position:absolute; top:50%; left:50%; z-index:3; width:clamp(235px,25vw,430px); height:min(68dvh,650px); margin:0; perspective:900px; transform:translate(-50%,-43%); }
.hero-object-card { position:relative; width:100%; height:100%; overflow:hidden; touch-action:pan-y; user-select:none; background:#101111; transform:rotate(-7deg); transform-style:preserve-3d; box-shadow:0 24px 80px rgba(0,0,0,.44),0 0 0 1px rgba(255,255,255,.12); will-change:transform; }
.hero-object-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.44)); }
.hero-slide { position:absolute; inset:0; visibility:hidden; opacity:0; overflow:hidden; transform-origin:center; will-change:transform,opacity; }
.hero-slide.is-active { visibility:visible; opacity:1; }
.hero-slide img { width:100%; height:100%; display:block; object-fit:cover; object-position:58% center; filter:saturate(.7) contrast(1.12); transform:scale(1.05); }
.hero-slide:nth-child(2) img { object-position:center; }
.hero-slide:nth-child(3) img { object-position:center; filter:grayscale(1) contrast(1.14); }
.hero-slide:nth-child(4) img { object-position:center; filter:grayscale(.45) contrast(1.15); }
.hero-object-mark { position:absolute; left:50%; top:54%; z-index:1; color:#fff; font:800 clamp(11px,1vw,17px)/.84 var(--display); letter-spacing:-.055em; text-align:center; transform:translate(-50%,-50%); }
.hero-carousel-arrow { position:absolute; top:50%; z-index:5; width:46px; height:46px; display:grid; place-items:center; padding:0; border:1px solid rgba(242,239,232,.32); border-radius:50%; color:#f2efe8; background:rgba(5,6,6,.38); font:300 29px/1 var(--sans); opacity:.78; transform:translateY(-50%); transition:opacity .25s ease,border-color .25s ease,background-color .25s ease; }
.hero-carousel-arrow--prev { left:-82px; }
.hero-carousel-arrow--next { right:-82px; }
.hero-carousel-arrow:hover,.hero-carousel-arrow:focus-visible { opacity:1; border-color:rgba(242,239,232,.85); background:rgba(5,6,6,.72); outline:0; }
.hero-object figcaption { position:absolute; left:50%; bottom:-58px; display:grid; grid-template-columns:auto auto auto; gap:9px; align-items:center; color:#f2efe8; font:600 10px/1 var(--sans); transform:translateX(-50%); white-space:nowrap; }
.hero-object figcaption i { opacity:.5; font-style:normal; }
.hero-object figcaption strong { grid-column:1 / -1; margin-top:5px; font-size:10px; font-weight:500; letter-spacing:.05em; text-align:center; }
.hero-quicklinks { position:absolute; left:3vw; bottom:45%; z-index:4; display:flex; gap:clamp(22px,3vw,56px); }
.hero-quicklinks a { position:relative; font:700 clamp(10px,.8vw,13px)/1 var(--sans); letter-spacing:.07em; }
.hero-quicklinks a::after { content:""; position:absolute; left:0; right:100%; bottom:-7px; height:1px; background:currentColor; transition:right .3s ease; }
.hero-quicklinks a:hover::after,.hero-quicklinks a:focus-visible::after { right:0; }
.hero-showreel { position:absolute; left:50%; bottom:7%; z-index:4; width:min(38vw,580px); transform:translateX(-50%); }
.hero-meter { height:32px; display:flex; align-items:flex-end; gap:clamp(4px,.42vw,8px); margin-bottom:7px; opacity:.74; pointer-events:none; }
.hero-wave-bar { width:1px; height:100%; flex:1 1 1px; max-width:1px; background:rgba(242,239,232,.82); transform:scaleY(.28); transform-origin:center bottom; will-change:transform,opacity; }
.hero-thumbnails { height:46px; display:grid; grid-template-columns:repeat(4,1fr); gap:2px; }
.hero-thumbnails button { position:relative; overflow:hidden; padding:0; border:0; opacity:.42; background:#090a0a; transition:opacity .25s ease; }
.hero-thumbnails button:hover,.hero-thumbnails button:focus-visible { opacity:.76; outline:0; }
.hero-thumbnails button:focus-visible::before { content:""; position:absolute; inset:2px; z-index:2; border:1px solid #ff6134; }
.hero-thumbnails button.is-active { opacity:1; }
.hero-thumbnails button.is-active::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.7); }
.hero-thumbnails img { width:100%; height:100%; display:block; object-fit:cover; filter:grayscale(1); }
.hero-footer-copy { position:absolute; bottom:4%; z-index:4; color:rgba(242,239,232,.78); font:600 clamp(8px,.67vw,11px)/1.55 var(--sans); letter-spacing:.015em; }
.hero-footer-copy--left { left:3vw; }
.hero-footer-copy--right { right:3vw; text-align:right; }
.hero-socials { display:grid; justify-items:end; gap:3px; }
.hero-socials a,.footer-socials a { text-underline-offset:.25em; text-decoration-thickness:1px; }
.hero-socials a:hover,.footer-socials a:hover,.hero-socials a:focus-visible,.footer-socials a:focus-visible { text-decoration:underline; }
.hero-socials a:focus-visible,.footer-socials a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.black-overlap-section { position:relative; z-index:3; min-height:100dvh; background:#000; }
.editorial-gallery { position:relative; min-height:390dvh; overflow:clip; background:#000; isolation:isolate; }
.projects-title-layer { position:sticky; top:0; z-index:1; height:100dvh; display:grid; place-items:center; pointer-events:none; isolation:isolate; }
.projects-title-layer::after { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.72) 9%,rgba(0,0,0,.2) 22%,transparent 36%); }
.projects-atmosphere { position:absolute; inset:-28%; z-index:0; pointer-events:none; background:radial-gradient(circle at 25% 50%,rgba(184,202,197,.42),rgba(98,115,111,.15) 22%,rgba(0,0,0,0) 52%); will-change:transform; }
.projects-title-copy { position:relative; z-index:1; display:grid; justify-items:center; gap:14px; }
.projects-kicker { margin:0; color:rgba(242,239,232,.68); font:600 clamp(8px,.65vw,11px)/1 var(--sans); letter-spacing:.08em; }
.projects-title { position:relative; margin:0; color:#f2efe8; font:800 clamp(3.3rem,8.2vw,8.7rem)/.82 var(--display); letter-spacing:-.055em; white-space:nowrap; text-align:center; transform-origin:center; will-change:transform; }
.gallery-shot { position:absolute; z-index:2; overflow:hidden; margin:0; background:#111; color:#f2efe8; transform-origin:center; }
.gallery-shot::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(0,0,0,.02) 38%,rgba(0,0,0,.72) 100%); }
.gallery-shot img { width:100%; height:100%; display:block; object-fit:cover; }
.gallery-project-link { position:absolute; inset:0; z-index:3; }
.gallery-project-link:focus-visible { outline:3px solid #f2efe8; outline-offset:-6px; }
.project-index { position:absolute; top:clamp(14px,1.5vw,24px); left:clamp(14px,1.5vw,24px); z-index:2; font:600 clamp(8px,.62vw,10px)/1 var(--sans); letter-spacing:.08em; }
.project-caption { position:absolute; left:clamp(18px,2vw,34px); right:clamp(18px,2vw,34px); bottom:clamp(18px,2vw,34px); z-index:2; display:grid; gap:8px; will-change:transform,opacity; }
.project-caption span { color:rgba(242,239,232,.7); font:600 clamp(8px,.66vw,11px)/1 var(--sans); letter-spacing:.1em; }
.project-caption strong { max-width:16ch; font:800 clamp(1.45rem,2.6vw,3.4rem)/.9 var(--display); letter-spacing:-.055em; }
.project-caption small { max-width:54ch; padding-top:10px; border-top:1px solid rgba(242,239,232,.32); font:600 clamp(8px,.62vw,10px)/1.35 var(--sans); letter-spacing:.04em; }
.gallery-shot--one { top:26dvh; left:4vw; width:41vw; height:68dvh; }
.gallery-shot--two { top:112dvh; right:4vw; width:45vw; height:72dvh; }
.gallery-shot--three { top:204dvh; left:16vw; width:50vw; height:78dvh; }
.gallery-shot--four { top:298dvh; right:7vw; width:43vw; height:70dvh; }
.services-track { position:relative; min-height:400dvh; background:#000; }
.services-stage { --service-row-height:clamp(46px,7vh,68px); position:sticky; top:0; height:100dvh; overflow:hidden; isolation:isolate; background:linear-gradient(90deg,#0b100f 0%,#18211f 48%,#0b100f 100%); }
.services-stage::before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(to bottom,transparent 54%,rgba(0,0,0,.18) 70%,rgba(0,0,0,.62) 87%,#000 100%),linear-gradient(to right,#000 0%,rgba(0,0,0,.62) 6%,rgba(0,0,0,.18) 17%,transparent 32%); }
.services-stage::after { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.16; mix-blend-mode:soft-light; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.72'/%3E%3C/svg%3E"); }
/* Overscan keeps the moving glow's box edges outside the viewport. */
.services-atmosphere { position:absolute; inset:-28% -50%; z-index:0; pointer-events:none; background:radial-gradient(ellipse 98vw 143vh at 50% 50%,rgba(184,202,197,.34) 0%,rgba(98,115,111,.18) 42%,rgba(16,23,22,.04) 74%,transparent 100%); will-change:transform; }
.services-axis { position:absolute; top:50%; left:0; z-index:1; width:100%; height:1px; background:rgba(242,239,232,.15); }
.services-chapter { position:absolute; top:14%; left:50%; z-index:6; width:min(88vw,680px); text-align:center; transform:translateX(-50%); }
.services-chapter p { margin:0 0 10px; color:#f2efe8; font:600 clamp(9px,.75vw,12px)/1.2 var(--sans); letter-spacing:.08em; }
.services-chapter h2 { margin:0; color:rgba(242,239,232,.5); font:500 clamp(11px,.9vw,14px)/1 var(--sans); letter-spacing:.18em; }
.services-rail { position:absolute; top:50%; z-index:2; width:42vw; display:flex; flex-direction:column; will-change:transform; }
.services-rail--left { left:4vw; align-items:flex-start; text-align:left; }
.services-rail--right { right:4vw; align-items:flex-end; text-align:right; }
.services-rail-item { position:relative; width:100%; height:var(--service-row-height); display:grid; align-items:center; color:#f2efe8; font:500 clamp(1.65rem,2.65vw,3.3rem)/1 var(--display); letter-spacing:-.05em; white-space:nowrap; transform-origin:center; transform-style:preserve-3d; }
.services-rail-item > span { grid-area:1 / 1; }
.services-rail--right .services-rail-item > span { justify-self:end; }
.service-rail-main { opacity:.22; }
.service-rail-focus { visibility:hidden; opacity:0; font-size:.84em; letter-spacing:-.035em; transform:translateY(55%) rotateX(-70deg); }
.services-rail-item:first-child .service-rail-main { visibility:hidden; opacity:0; }
.services-rail-item:first-child .service-rail-focus { visibility:visible; opacity:1; transform:none; }
.services-visual { position:absolute; top:50%; left:50%; z-index:5; width:clamp(190px,20vw,310px); aspect-ratio:1; overflow:hidden; background:#121313; transform:translate(-50%,-50%); box-shadow:0 0 0 1px rgba(255,255,255,.06); }
.services-visual-slide { position:absolute; inset:0; visibility:hidden; opacity:0; will-change:transform,opacity; }
.services-visual-slide--active { visibility:visible; opacity:1; }
.services-visual-slide img { width:100%; height:100%; display:block; object-fit:cover; filter:saturate(.72) contrast(1.08); }
.services-visual-slide--motion img { object-position:75% center; filter:grayscale(1) contrast(1.3); }
.services-visual-slide::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.5)); }
.services-visual-slide span { position:absolute; left:50%; bottom:12%; z-index:1; color:#f2efe8; font:600 clamp(9px,.72vw,12px)/1 var(--sans); letter-spacing:.08em; white-space:nowrap; transform:translateX(-50%); }
.services-meta { position:absolute; z-index:4; color:rgba(242,239,232,.62); font:600 clamp(8px,.68vw,11px)/1.35 var(--sans); letter-spacing:-.02em; will-change:transform,opacity; }
.services-meta--left { top:22%; left:26%; }
.services-meta--right { top:33%; right:24%; text-align:right; }
.services-meta--bottom { left:27%; bottom:13%; }
.services-down { position:absolute; left:50%; bottom:4%; z-index:6; display:grid; justify-items:center; gap:7px; color:#f2efe8; transform:translateX(-50%); }
.services-down span { width:18px; height:18px; display:block; border-right:3px solid currentColor; border-bottom:3px solid currentColor; transform:rotate(45deg); }
.services-down small { font:600 9px/1 var(--sans); letter-spacing:.08em; }
.pixel-debris { position:fixed; inset:0; z-index:90; overflow:hidden; pointer-events:none; contain:strict; }
.pixel-debris-cursor,.pixel-debris-piece { position:absolute; top:0; left:0; background-image:url("../images/visioners-hero.png"); background-repeat:no-repeat; }
.pixel-debris-cursor { width:76px; aspect-ratio:1; display:grid; place-items:center; opacity:0; overflow:hidden; border:1px solid rgba(255,255,255,.55); clip-path:polygon(0 0,72% 0,72% 18%,100% 18%,100% 100%,28% 100%,28% 82%,0 82%); box-shadow:0 0 22px rgba(255,97,52,.18); transition:clip-path .26s ease,background-color .26s ease,border-color .26s ease,box-shadow .26s ease; will-change:transform,opacity; }
.pixel-debris-cursor.is-clickable { border-color:#f2efe8; border-radius:50%; clip-path:circle(50%); background-color:#f2efe8; background-image:none!important; box-shadow:0 8px 28px rgba(0,0,0,.36); }
.pixel-debris-cursor-label { opacity:0; color:#050606; font:800 10px/1 var(--sans); letter-spacing:.04em; text-align:center; transition:opacity .18s ease; }
.pixel-debris-cursor.is-clickable .pixel-debris-cursor-label { opacity:1; }
.pixel-debris-piece { width:clamp(12px,1.55vw,26px); aspect-ratio:1; opacity:0; will-change:transform,opacity; }

.site-footer { position:relative; z-index:4; height:90dvh; overflow:hidden; color:#f2efe8; background:#050606; isolation:isolate; }
.footer-contact { position:relative; height:54dvh; min-height:0; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); grid-template-rows:auto auto 1fr auto; gap:clamp(16px,2.3vh,26px); padding:clamp(24px,3.5vh,40px) clamp(24px,4vw,72px) clamp(26px,3.8vh,44px); background:#050606; }
.footer-contact::after { content:""; position:absolute; inset:-20%; z-index:0; pointer-events:none; opacity:.15; mix-blend-mode:soft-light; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.72'/%3E%3C/svg%3E"); }
.footer-contact > * { position:relative; z-index:1; }
.footer-contact__topline { grid-column:1 / -1; display:flex; justify-content:space-between; align-items:center; font:700 clamp(9px,.72vw,12px)/1 var(--sans); letter-spacing:.13em; }
.footer-intro { align-self:start; max-width:700px; }
.footer-intro p { max-width:62ch; margin:0; color:rgba(242,239,232,.62); font:500 clamp(10px,.82vw,14px)/1.65 var(--sans); }
.footer-intro .footer-intro__eyebrow { margin-bottom:14px; color:#f2efe8; font-weight:700; letter-spacing:.08em; }
.footer-direct { align-self:end; display:grid; gap:14px; }
.footer-direct a { position:relative; width:max-content; max-width:100%; display:block; font:500 clamp(2.1rem,3.75vw,4.8rem)/.96 var(--display); letter-spacing:-.06em; overflow-wrap:anywhere; }
.footer-direct a::after { content:""; position:absolute; left:0; bottom:-7px; width:100%; height:1px; background:currentColor; transform:scaleX(0); transform-origin:right center; transition:transform .4s cubic-bezier(.22,1,.36,1); }
.footer-direct a:hover::after,.footer-direct a:focus-visible::after { transform:scaleX(1); transform-origin:left center; }
.footer-direct span { color:rgba(242,239,232,.58); font:600 clamp(9px,.68vw,11px)/1 var(--sans); letter-spacing:.08em; }
.footer-visual { grid-column:2; grid-row:2 / 4; align-self:center; justify-self:end; width:min(100%,360px); margin:0; }
.footer-visual img { width:100%; aspect-ratio:16 / 9; display:block; object-fit:cover; filter:grayscale(1) contrast(1.14); }
.footer-visual figcaption { margin-top:12px; color:rgba(242,239,232,.52); font:600 clamp(8px,.62vw,10px)/1.4 var(--sans); letter-spacing:.06em; text-align:right; }
.footer-socials { grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:clamp(20px,2.6vw,46px); padding-top:22px; border-top:1px solid rgba(242,239,232,.16); font:700 clamp(9px,.7vw,12px)/1 var(--sans); letter-spacing:.1em; }
.footer-monument { position:relative; height:36dvh; min-height:0; overflow:hidden; padding:clamp(24px,3vw,42px) clamp(24px,4vw,72px); color:#f2efe8; background:#000; isolation:isolate; }
.footer-monument::before,.footer-monument::after { display:none; }
.footer-monument p { position:relative; z-index:2; max-width:480px; margin:0; color:rgba(242,239,232,.56); font:700 clamp(8px,.68vw,11px)/1.4 var(--sans); letter-spacing:.08em; }
.footer-monument .footer-credits { position:absolute; top:clamp(24px,3vw,42px); right:clamp(24px,4vw,72px); max-width:none; text-align:right; }
.footer-credits span { display:inline-block; margin:0 .65em; color:#ff6134; }
.footer-monument__word { position:absolute; left:2vw; right:auto; bottom:-.16em; z-index:1; color:#f2efe8; font:800 clamp(7rem,14.5vw,18rem)/.78 var(--display); letter-spacing:-.085em; white-space:nowrap; -webkit-text-stroke:1px rgba(255,255,255,.7); text-shadow:0 8px 28px rgba(0,0,0,.42); }

@media (max-width:950px) {
  .site-header { min-height:112px; padding:0 5%; }
  .cryox-start { gap:25px; }
  .cryox-menu-toggle { width:28px; gap:5px; }
  .cryox-menu-toggle span { width:27px; }
  .cryox-nav { gap:24px; }
  .cryox-nav a { font-size:17px; }
  .visioners-brand { width:190px; height:38px; }
  .visioners-brand img { width:190px; transform:translateY(-79px); }
  .cryox-actions { gap:17px; }
  .cryox-cta { height:46px; padding:0 18px; font-size:15px; }
  .cryox-fill { min-height:100dvh; padding-top:112px; }
  .hero-display { top:116px; font-size:11.5vw; }
  .hero-object { width:34vw; height:60dvh; }
  .hero-showreel { width:44vw; }
  .menu-hover-image { display:none; }
}
@media (max-width:620px) {
  .site-header { min-height:76px; display:flex; justify-content:space-between; padding:0 18px; }
  .visioners-brand { position:relative; order:1; width:185px; height:38px; }
  .visioners-brand img { width:185px; transform:translateY(-77px); }
  .cryox-start { order:2; margin-left:auto; gap:0; }
  .cryox-menu-toggle { width:52px; height:52px; display:grid; place-content:center; gap:5px; }
  .cryox-nav,.cryox-actions { display:none; }
  .cryox-header.is-cryox-menu-open .cryox-menu-toggle { background:#256278; }
  .cryox-header.is-cryox-menu-open .cryox-menu-toggle span { width:28px; background:#d3e8ef; }
  .cryox-header.is-cryox-menu-open .cryox-menu-panel { top:0; width:100%; height:100dvh; background:#171815; }
  .cryox-header.is-cryox-menu-open .cryox-menu-links { padding-top:33px; gap:25px; }
  .cryox-header.is-cryox-menu-open .cryox-menu-links a { font-size:clamp(38px,11vw,62px); line-height:.88; }
  .cryox-fill { min-height:100dvh; padding:0; }
  .hero-display { top:94px; left:18px; right:18px; display:grid; justify-content:stretch; gap:7px; font-size:15.5vw; line-height:.82; }
  .hero-display span:last-child { justify-self:end; }
  .hero-direction { top:20%; }
  .hero-direction strong { font-size:12px; }
  .hero-capabilities { display:none; }
  .hero-axis { top:61%; left:18px; right:18px; grid-template-columns:1fr 1fr; row-gap:12px; }
  .hero-axis span:nth-child(2),.hero-axis span:nth-child(3) { display:none; }
  .hero-object { top:51%; width:54vw; max-width:245px; height:46dvh; transform:translate(-50%,-43%); }
  .hero-object figcaption { bottom:-48px; }
  .hero-carousel-arrow { width:34px; height:34px; font-size:23px; }
  .hero-carousel-arrow--prev { left:-43px; }
  .hero-carousel-arrow--next { right:-43px; }
  .hero-quicklinks { left:18px; bottom:24%; gap:18px; }
  .hero-quicklinks a { font-size:9px; }
  .hero-showreel { bottom:7%; width:58vw; }
  .hero-meter { height:20px; }
  .hero-thumbnails { height:32px; }
  .hero-footer-copy--left { display:none; }
  .hero-footer-copy--right { right:18px; bottom:2.5%; font-size:8px; }
  .editorial-gallery { min-height:430dvh; }
  .projects-title-copy { gap:10px; }
  .projects-title { max-width:92vw; font-size:clamp(2.7rem,12vw,5.2rem); white-space:normal; }
  .gallery-shot { width:82vw; height:58dvh; }
  .project-caption strong { max-width:14ch; font-size:clamp(1.4rem,7vw,2.5rem); }
  .gallery-shot--one { top:34dvh; left:0; }
  .gallery-shot--two { top:132dvh; right:-5vw; }
  .gallery-shot--three { top:232dvh; left:7vw; }
  .gallery-shot--four { top:332dvh; right:2vw; }
  .services-track { min-height:380dvh; }
  .services-stage { --service-row-height:clamp(42px,6.7vh,58px); }
  .services-chapter { top:12%; }
  .services-rail { width:48vw; }
  .services-rail--left { left:4vw; }
  .services-rail--right { right:4vw; }
  .services-rail-item { font-size:clamp(1.25rem,5.7vw,2rem); }
  .services-visual { width:42vw; max-width:220px; }
  .services-meta { display:none; }
  .services-atmosphere { inset:-30% -50%; }
  .site-footer { height:auto; }
  .footer-contact { height:auto; min-height:auto; grid-template-columns:1fr; grid-template-rows:auto; gap:34px; padding:64px 20px 72px; }
  .footer-contact__topline { align-items:flex-start; gap:24px; }
  .footer-contact__topline span:last-child { text-align:right; }
  .footer-intro,.footer-direct,.footer-visual,.footer-socials { grid-column:1; grid-row:auto; }
  .footer-direct { gap:12px; }
  .footer-direct a { font-size:clamp(1.75rem,8vw,3.2rem); }
  .footer-visual { width:100%; max-width:520px; justify-self:start; }
  .footer-visual figcaption { text-align:left; }
  .footer-socials { gap:18px 24px; }
  .footer-monument { height:46dvh; min-height:0; padding:32px 20px; }
  .footer-monument .footer-credits { position:relative; top:auto; right:auto; max-width:28ch; margin-top:14px; text-align:left; }
  .footer-credits span { margin:0 .35em; }
  .footer-monument__word { left:10px; bottom:-.08em; font-size:23vw; }
}
/* Shared interaction and responsive composition. Desktop art direction stays above. */
html { scroll-padding-top:100px; }
body { background:#050606; }
html.is-menu-open,html.is-menu-open body { overflow:hidden; }
a:focus-visible,button:focus-visible { outline:2px solid #f2efe8; outline-offset:5px; }
.skip-link { position:fixed; top:12px; left:12px; z-index:200; padding:14px 18px; background:#f2efe8; color:#050606; transform:translateY(-180%); }
.skip-link:focus { transform:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.cryox-menu-toggle { width:44px; height:44px; place-content:center; flex:none; }
.cryox-menu-panel { overflow-y:auto; overscroll-behavior:contain; }
.cryox-menu-links { min-height:100%; height:auto; padding-block:max(116px,env(safe-area-inset-top)) max(40px,env(safe-area-inset-bottom)); }
.cryox-menu-links a { padding-block:8px; }
.cryox-menu-links a:focus-visible { outline:2px solid #f2efe8; outline-offset:8px; }
.compact-header-email,.compact-header-brand { display:none; }
.hero-carousel-pause { position:absolute; top:100%; right:0; display:block; min-height:44px; margin:8px auto 0; padding:8px 12px; color:#f2efe8; background:#050606; border:1px solid rgba(242,239,232,.35); font:700 10px/1.2 var(--sans); letter-spacing:.06em; }
.services-rail-window { display:contents; }
.services-all-link { position:absolute; top:20%; left:50%; z-index:6; display:flex; align-items:center; gap:8px; min-height:44px; transform:translateX(-50%); font:700 11px/1.3 var(--sans); text-underline-offset:5px; }
.services-all-link:hover { text-decoration:underline; }
.footer-contact > * { min-width:0; }
.footer-direct a { width:fit-content; }

@media (max-width:1180px) {
  html { scroll-padding-top:calc(88px + env(safe-area-inset-top)); }
  .site-header,.site-header.is-hidden-by-scroll { min-height:calc(76px + env(safe-area-inset-top)); display:grid; grid-template-columns:1fr auto 1fr; padding:calc(8px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 8px max(24px,env(safe-area-inset-left)); z-index:50; transform:none; will-change:auto; }
  .site-header::before { content:""; position:absolute; inset:calc(8px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left)); z-index:2; border-radius:3px; background:#111211; pointer-events:none; }
  .visioners-brand { display:none; }
  .compact-header-email,.compact-header-brand { position:relative; z-index:3; display:grid; place-items:center; width:44px; height:44px; color:#f2efe8; }
  .compact-header-email { grid-area:1 / 1; justify-self:start; }
  .compact-header-email svg { width:24px; height:24px; }
  .compact-header-brand { grid-area:1 / 2; font:800 36px/1 var(--display); letter-spacing:-.08em; }
  .compact-header-brand span { padding-right:.08em; -webkit-text-stroke:.45px currentColor; }
  .cryox-start { grid-area:1 / 3; justify-self:end; margin-left:0; z-index:3; }
  .cryox-menu-toggle { width:44px; height:44px; gap:4px; }
  .cryox-menu-toggle span { width:18px; height:2px; }
  .cryox-menu-toggle span:nth-child(2) { display:none; }
  .cryox-header.is-cryox-menu-open .cryox-menu-toggle span:first-child { transform:translateY(3px) rotate(45deg); }
  .cryox-header.is-cryox-menu-open .cryox-menu-toggle span:last-child { transform:translateY(-3px) rotate(-45deg); }
  .cryox-nav,.cryox-actions { display:none; }
  .cryox-header.is-cryox-menu-open .cryox-menu-toggle { background:transparent; }
  .cryox-header.is-cryox-menu-open .cryox-menu-toggle span { background:#f2efe8; }
  .cryox-header.is-cryox-menu-open .cryox-menu-links { min-height:100dvh; padding:112px 24px 40px; gap:20px; }
  .cryox-header.is-cryox-menu-open .cryox-menu-links a { font-size:clamp(38px,8vw,88px); line-height:1; }
  .menu-hover-image,.pixel-debris,.services-ambient { display:none; }

  .cryox-fill { --hero-art-height:clamp(260px,34svh,460px); position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:space-between; gap:18px; padding:112px 24px 24px; min-height:100svh; }
  .hero-backdrops { height:100%; }
  .hero-display { position:relative; inset:auto; grid-column:1 / -1; display:flex; font-size:11.3vw; line-height:.9; }
  .hero-capabilities,.hero-axis,.hero-footer-copy--left { display:none; }
  .hero-quicklinks { position:relative; inset:auto; grid-column:1 / -1; grid-row:2; width:min(100%,500px); justify-self:center; justify-content:space-between; gap:12px; }
  .hero-quicklinks a { display:flex; align-items:center; min-height:44px; font-size:11px; }
  .hero-object { position:relative; inset:auto; grid-column:1 / -1; grid-row:3; justify-self:center; width:min(42vw,360px); max-width:none; height:auto; margin:0; transform:none; }
  .hero-object-card { height:var(--hero-art-height); transform:none; }
  .hero-object-mark { font-size:14px; line-height:1.05; }
  .hero-object figcaption { position:relative; inset:auto; justify-content:center; margin:16px 0 0; font-size:11px; transform:none; }
  .hero-object figcaption strong { font-size:11px; margin-top:1px; }
  .hero-carousel-arrow { top:calc(var(--hero-art-height) / 2); width:44px; height:44px; font-size:28px; }
  .hero-carousel-arrow--prev { left:-62px; }
  .hero-carousel-arrow--next { right:-62px; }
  .hero-showreel { position:relative; inset:auto; grid-column:1 / -1; grid-row:4; justify-self:center; width:min(100%,480px); transform:none; }
  .hero-meter { height:20px; margin-bottom:8px; }
  .hero-thumbnails { height:48px; gap:6px; }
  .hero-carousel-pause { position:relative; inset:auto; margin:10px auto 0; background:transparent; }
  .hero-footer-copy--right { position:relative; inset:auto; grid-column:1 / -1; grid-row:5; width:min(100%,540px); justify-self:center; font-size:11px; }
  .hero-socials { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:0 12px; }
  .hero-socials a { display:flex; align-items:center; min-height:44px; }

  .services-track { min-height:340svh; }
  .services-stage { --service-row-height:clamp(38px,5svh,58px); height:100svh; }
  .services-chapter { top:7%; }
  .services-chapter p { font-size:11px; line-height:1.4; }
  .services-chapter h2 { font-size:13px; color:#b6bcb8; }
  .services-all-link { top:auto; bottom:3%; }
  .services-down,.services-meta { display:none; }
  .services-rail-window { position:absolute; left:24px; right:24px; z-index:2; display:block; height:20%; overflow:hidden; mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent); }
  .services-rail-window--left { top:19%; }
  .services-rail-window--right { top:74%; height:16%; }
  .services-rail { top:50%; left:0; right:0; width:100%; align-items:center; text-align:center; }
  .services-rail-item { width:100%; justify-items:center; font-size:clamp(20px,4.1vw,38px); }
  .services-rail--right .services-rail-item > span { justify-self:center; }
  .services-axis { top:29%; left:24px; width:calc(100% - 48px); }
  .services-visual { top:56%; width:min(32svh,40vw,340px); max-width:none; }
  .services-visual-slide span { white-space:normal; width:90%; text-align:center; font-size:11px; line-height:1.4; }

  .projects-title-copy { gap:20px; }
  .projects-kicker { font-size:11px; line-height:1.4; text-align:center; padding-inline:20px; }
  .projects-title { max-width:70vw; font-size:clamp(38px,7.2vw,84px); line-height:.95; white-space:normal; }
  .project-index,.project-caption span,.project-caption small { font-size:11px; line-height:1.45; }
  .project-caption strong { font-size:clamp(28px,4vw,46px); line-height:1; }

  .site-footer { height:auto; }
  .footer-contact { height:auto; min-height:0; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); grid-template-rows:auto; gap:36px; padding:64px 32px 44px; }
  .footer-contact__topline { font-size:11px; line-height:1.5; gap:24px; }
  .footer-contact__topline span:last-child { text-align:right; }
  .footer-intro p { font-size:15px; line-height:1.65; color:#b4b7b2; }
  .footer-intro .footer-intro__eyebrow { font-size:12px; line-height:1.5; }
  .footer-direct { gap:18px; }
  .footer-direct a { font-size:clamp(27px,3.8vw,44px); line-height:1.12; letter-spacing:-.05em; }
  .footer-direct span { font-size:11px; line-height:1.4; color:#b4b7b2; }
  .footer-visual figcaption { font-size:11px; line-height:1.5; color:#b4b7b2; }
  .footer-socials { gap:8px 28px; padding-top:20px; font-size:12px; }
  .footer-socials a { display:flex; align-items:center; min-height:44px; }
  .footer-monument { height:auto; min-height:280px; padding:30px 32px 18vw; }
  .footer-monument p { font-size:10px; line-height:1.7; color:#b4b7b2; }
  .footer-monument .footer-credits { position:relative; inset:auto; max-width:none; margin-top:14px; text-align:left; }
  .footer-monument__word { left:2vw; bottom:.02em; font-size:14.5vw; line-height:1; -webkit-text-stroke:0; }
}

@media (max-width:700px) {
  .site-header { padding-inline:max(24px,env(safe-area-inset-left)) max(24px,env(safe-area-inset-right)); }
  .cryox-fill { --hero-art-height:clamp(240px,31svh,350px); padding:94px 20px max(20px,env(safe-area-inset-bottom)); gap:16px; }
  .hero-display { display:grid; grid-template-columns:minmax(0,1fr); justify-content:stretch; gap:8px; font-size:15vw; line-height:.9; }
  .hero-display span:last-child { justify-self:end; }
  .hero-object { width:56vw; }
  .hero-carousel-arrow--prev { left:-56px; }
  .hero-carousel-arrow--next { right:-56px; }
  .hero-quicklinks { width:100%; }
  .hero-socials { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0 4px; font-size:10px; }
  .hero-socials a { justify-content:center; }
  .services-stage { --service-row-height:42px; }
  .services-rail-window { left:16px; right:16px; }
  .services-rail-item { font-size:5vw; letter-spacing:-.035em; }
  .services-visual { width:min(30svh,58vw); }
  .services-chapter p { font-size:10px; }
  .services-chapter h2 { font-size:12px; }
  .editorial-gallery { min-height:390svh; }
  .projects-title { max-width:68vw; font-size:9.4vw; }
  .projects-kicker { font-size:clamp(8px,2.4vw,11px); padding-inline:12px; }
  .gallery-shot { width:84vw; height:58svh; }
  .gallery-shot--one { top:38svh; left:3vw; }
  .gallery-shot--two { top:125svh; right:3vw; }
  .gallery-shot--three { top:215svh; left:9vw; }
  .gallery-shot--four { top:305svh; right:6vw; }
  .project-caption { left:18px; right:18px; bottom:20px; }
  .project-caption strong { font-size:clamp(26px,7.5vw,44px); }
  .footer-contact { grid-template-columns:minmax(0,1fr); gap:32px; padding:56px 20px 36px; }
  .footer-intro,.footer-direct,.footer-visual,.footer-socials { grid-column:1; grid-row:auto; }
  .footer-contact__topline { font-size:10px; }
  .footer-direct a { font-size:clamp(19px,6.2vw,40px); overflow-wrap:anywhere; }
  .footer-visual { width:100%; max-width:none; justify-self:stretch; }
  .footer-visual figcaption { text-align:left; }
  .footer-socials { gap:0 22px; }
  .footer-monument { padding:28px 20px 26vw; min-height:230px; }
  .footer-monument .footer-credits { max-width:42ch; }
}
@media (max-width:359px) {
  .hero-socials { grid-template-columns:repeat(3,minmax(0,1fr)); font-size:11px; }
  .hero-object { width:54vw; }
  .hero-carousel-arrow--prev { left:-51px; }
  .hero-carousel-arrow--next { right:-51px; }
}
@media (max-width:1180px) and (max-height:600px) {
  .cryox-fill { --hero-art-height:280px; }
  .cryox-menu-links { justify-content:flex-start; }
  .services-track { min-height:0; }
  .services-stage { position:relative; height:780px; }
}
@media (hover:none),(pointer:coarse) {
  .pixel-debris,.menu-hover-image { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; }
  .services-track { min-height:0; }
  .services-stage { position:relative; min-height:880px; }
}
/* Short landscape and reduced motion use a readable, non-pinned service index. */
@media (max-width:1180px) and (max-height:600px), (prefers-reduced-motion:reduce) {
  .services-track { min-height:0; }
  .services-stage { position:relative; display:flex; flex-direction:column; align-items:center; gap:32px; height:auto; min-height:0; padding:64px 24px 48px; }
  .services-chapter { position:relative; inset:auto; width:100%; transform:none; }
  .services-all-link { position:relative; inset:auto; order:4; transform:none; }
  .services-rail-window--left { position:relative; inset:auto; display:block; width:100%; height:auto; mask-image:none; }
  .services-rail--left { position:relative; inset:auto; width:100%; text-align:center; }
  .services-rail-item { height:auto; min-height:44px; justify-items:center; font-size:clamp(18px,3.5vw,30px); line-height:1.5; white-space:normal; }
  .services-rail--left .services-rail-item .service-rail-main { opacity:1; visibility:visible; }
  .service-rail-focus,.services-rail-window--right,.services-axis,.services-meta,.services-down { display:none; }
  .services-visual { position:relative; inset:auto; width:min(280px,70vw); transform:none; }
  .editorial-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; min-height:0; padding:64px 24px; }
  .projects-title-layer { position:relative; height:auto; grid-column:1 / -1; padding-bottom:32px; }
  .projects-title { max-width:none; font-size:7.5vw; }
  .gallery-shot { position:relative; inset:auto; width:100%; height:auto; aspect-ratio:4 / 5; }
}
@media (max-width:700px) and (prefers-reduced-motion:reduce) {
  .editorial-gallery { grid-template-columns:minmax(0,1fr); padding-inline:20px; }
}

/* ===== WordPress default page / 404 ===== */
.default-content { min-height:70vh; padding:clamp(120px,18vh,200px) clamp(20px,6vw,96px) clamp(80px,12vh,140px); background:#050606; color:#f2efe8; }
.default-content__kicker { font-size:.72rem; letter-spacing:.22em; color:#b3b7b0; margin:0 0 1.2rem; }
.default-content__title { font-weight:800; font-size:clamp(2.4rem,8vw,7rem); line-height:.95; letter-spacing:-.02em; margin:0 0 2rem; text-transform:uppercase; }
.default-content__body { max-width:70ch; font-size:1.05rem; line-height:1.7; color:#c0c4bd; }
.default-content__body a { color:#ff6134; }
.default-content__link { display:inline-flex; align-items:center; gap:.5rem; margin-top:2rem; color:#f2efe8; text-decoration:none; font-weight:700; letter-spacing:.14em; font-size:.8rem; border-bottom:1px solid #ff6134; padding-bottom:.35rem; }
.default-content__link .ui-icon { width:18px; height:18px; }
