:root{--red:#dc221a;--white:#fff;--ink:#171717;font-family:Arial,Helvetica,sans-serif;color:var(--white);background:var(--red);font-synthesis:none}
.universe .identity .identity-intro{max-width:440px;margin:18px 0 0;font:16px/1.45 Arial,Helvetica,sans-serif;letter-spacing:0;text-transform:none}
.universe .identity .identity-disciplines{margin-top:10px}
@media(max-width:650px){.universe .identity .identity-intro{max-width:86vw;font-size:14px}}
.identity .logo,.universe .identity p{color:#fff}.identity .logo img{filter:brightness(0) invert(1)}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.universe{height:100svh;position:relative;overflow:hidden}#field{position:absolute;width:100%;height:100%;inset:0;pointer-events:none}
.identity{position:absolute;top:clamp(24px,4vw,54px);left:5vw;z-index:2}.logo{display:flex;align-items:baseline;gap:7px;font-family:"Arial Black","Helvetica Neue",Arial,sans-serif;font-size:32px;font-weight:900;letter-spacing:-2.8px;line-height:1;white-space:nowrap;color:var(--ink);text-decoration:none}.logo img{align-self:center;filter:brightness(0);margin-right:5px}.logo .studio-word{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:200;letter-spacing:-1.4px;font-size:28px}.identity p{margin:17px 0 0;font:12px/1.6 monospace;letter-spacing:1.3px;text-transform:uppercase;color:#171717}
.coordinates{position:absolute;inset:0;pointer-events:none}.coordinate{position:absolute;left:var(--x,30%);top:var(--y,40%);transform:translateY(-50%);display:flex;align-items:center;gap:16px;min-height:54px;width:clamp(166px,17vw,250px);padding:10px 4px 10px 0;background:transparent;border:0;color:#fff;text-align:left;pointer-events:auto;transition:color .25s}
.coordinate:nth-child(2){left:65%;top:40%}.coordinate:nth-child(3){left:20%;top:70%}.coordinate:nth-child(4){left:66%;top:78%}
.coord-number{font:12px monospace;opacity:.65;align-self:flex-start;margin-top:5px}.coord-title{font-size:clamp(22px,2.5vw,38px);letter-spacing:-1px;font-weight:400}.coord-action{margin-left:auto;font-size:20px;opacity:0;transform:translate(-5px,5px);transition:.3s}.coordinate:hover .coord-action,.coordinate:focus-visible .coord-action{opacity:1;transform:none}
.field-caption{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;pointer-events:none;font:12px monospace;letter-spacing:.6px;color:#ffffffb8;white-space:nowrap}.changing-chaos{display:inline-block;color:#fff;font-style:normal;min-width:3.5em}
dialog{width:min(1120px,88vw);height:min(860px,86svh);max-height:90svh;padding:0;border:1px solid #fff;border-radius:3px;color:var(--ink);background:#fff;box-shadow:0 32px 120px #00000026;overflow:hidden}
dialog::backdrop{background:#00000012;backdrop-filter:blur(2px)}dialog[open]{display:flex;flex-direction:column;animation:enter .45s cubic-bezier(.2,.8,.2,1)}@keyframes enter{from{opacity:0;transform:translateY(25px) scale(.985)}to{opacity:1;transform:none}}
.reader-bar{padding:20px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #17171720;flex-shrink:0;font:12px monospace;letter-spacing:.6px}.close{display:flex;align-items:center;gap:22px;background:none;border:0;color:inherit;padding:8px 0;font:12px monospace}.close span{font:26px Arial}.reader-content{overflow:auto;overscroll-behavior:contain;padding:38px clamp(22px,5vw,72px) 48px;scrollbar-color:#17171755 transparent;flex:1}
[hidden]{display:none!important}.eyebrow,.section-top{font:12px/1.5 monospace;text-transform:uppercase;letter-spacing:1px;color:#636363}.section-top{display:flex;justify-content:space-between;gap:20px}h2{font-size:clamp(32px,4.3vw,60px);line-height:1.05;font-weight:400;letter-spacing:-2px;margin:24px 0 28px}h3{font-size:28px;font-weight:500;letter-spacing:-.8px;margin:18px 0}p{font-size:16px;line-height:1.65;max-width:700px;margin:16px 0}.atlas-intro{max-width:800px}.atlas-instruction{font:12px/1.6 monospace;color:#636363;margin:26px 0 10px}.atlas-options{display:flex;flex-wrap:wrap;gap:8px 24px;border-bottom:1px solid #17171728}.atlas-options button{min-height:48px;background:none;border:0;border-bottom:2px solid transparent;padding:10px 0;color:#666;font:14px Arial}.atlas-options button[aria-pressed=true]{color:var(--red);border-color:var(--red)}.atlas-explanation{display:grid;grid-template-columns:1.1fr 1fr;gap:35px;padding:20px 0 26px}.atlas-explanation .question{font:italic 25px/1.3 Georgia,serif}.atlas-note{border-top:1px solid #17171725;padding-top:22px;color:#555;font-size:14px}
details{border-top:1px solid #17171728;padding:20px 0}summary{cursor:pointer;list-style:none;display:flex;gap:16px;align-items:baseline}summary::-webkit-details-marker{display:none}summary span{font:12px monospace;color:#777}summary strong{font-size:22px;font-weight:400;flex:1}summary b{font-size:25px;font-weight:400}details[open] summary b{transform:rotate(45deg)}details p{margin-left:30px}.services-intro>p{margin-bottom:32px}
.about{display:grid;grid-template-columns:164px 1fr;gap:28px 36px}.about-heading,.clients{grid-column:1/-1}.about-heading h2{font-style:italic;font-family:Georgia,serif}.portrait{margin:0}.portrait img{display:block;width:100%;height:auto;background:#fff}.bio h3{font-weight:700;margin:0 0 18px}.bio p{margin-top:0}.cta{display:inline-flex;gap:24px;align-items:center;border-bottom:1px solid #17171766;text-decoration:none;padding:12px 0;margin:10px 0;font-size:14px}.cta:hover{color:var(--red);border-color:var(--red)}.clients{border-top:1px solid #17171728;padding-top:24px}.client-names{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:20px;font-size:16px}.contact h2 em{font-family:Georgia,serif;font-weight:400}.contact footer{border-top:1px solid #17171728;margin-top:44px;padding-top:24px;display:flex;flex-wrap:wrap;gap:20px;font-size:12px}.social{display:flex;gap:20px}.reader-nav{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #17171720;padding:14px 30px;flex-shrink:0}.reader-nav button{font:12px monospace;background:none;border:0;color:#666;padding:8px 0}.reader-nav button[aria-current=true]{color:var(--red);text-decoration:underline;text-underline-offset:6px}

.reader-bar>span,.section-top,.eyebrow{color:var(--red)}.close:hover,.reader-nav button:hover{color:var(--red)}.contact h2 em{color:var(--red)}
@media(max-width:650px){.identity{left:6vw;top:25px}.logo{font-size:27px}.logo .studio-word{font-size:23px}.logo img{width:27px;height:27px}.identity p{font-size:10px}.coordinate{width:38vw;gap:10px;min-height:50px}.coord-title{font-size:25px}.coord-number{font-size:10px}.coord-action{opacity:.65}.field-caption{font-size:10px;bottom:24px}.motion{bottom:50px;font-size:11px}dialog{width:94vw;height:88svh;max-height:94svh}.reader-bar{padding:12px 18px;font-size:10px}.close{font-size:10px;gap:12px}.reader-content{padding:24px 22px}.reader-nav{padding:12px 20px;gap:10px}.reader-nav button{font-size:11px}.atlas-explanation{grid-template-columns:1fr;gap:0}.about{grid-template-columns:105px 1fr;gap:24px 18px}.bio{grid-column:1/-1}.portrait{grid-column:1/-1;width:125px}.section-top{font-size:10px}.atlas-options{gap:4px 15px}h2{letter-spacing:-1.3px}.social{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.coordinates .coordinate{left:0;top:0;transform-origin:0 100%;will-change:transform;contain:layout style;min-height:48px;gap:10px;width:auto;padding-right:22px}
.coord-title{font-size:clamp(22px,2.2vw,32px);letter-spacing:-.8px}
.coord-number{font-size:10px;opacity:.55}
.coord-action{font-size:16px;margin-left:4px}
@media(max-width:650px){.coord-title{font-size:24px}.coordinates .coordinate{gap:8px;padding-right:8px}.coord-action{font-size:14px}}
/* A single typographic composition gives the four directions a shared rhythm. */
.coordinates{inset:auto;left:50%;top:53%;transform:translate(-50%,-50%);width:min(680px,80vw);display:grid;gap:4px;pointer-events:none}
.coordinates .coordinate{position:relative;left:auto;top:auto;transform:none;will-change:auto;contain:none;width:fit-content;min-height:66px;padding:9px 20px 9px 0;gap:18px;border:0;transition:opacity .3s}
.coordinates .coordinate:nth-child(2){margin-left:12%}
.coordinates .coordinate:nth-child(3){margin-left:24%}
.coordinates .coordinate:nth-child(4){margin-left:36%}
.coordinates .coord-title{font-family:"Helvetica Neue",Arial,sans-serif;font-size:clamp(38px,5.5vw,70px);font-weight:400;line-height:1.05;letter-spacing:-2.4px;transition:transform .35s}
.coordinates .coord-number{font:11px monospace;opacity:.65;align-self:center;margin:0;letter-spacing:.5px}
.coordinates .coord-action{font-size:26px;align-self:center;margin-left:12px}
.coordinates:has(.coordinate:hover) .coordinate:not(:hover){opacity:.55}
.coordinates .coordinate:hover .coord-title,.coordinates .coordinate:focus-visible .coord-title{transform:translateX(5px)}
@media(max-width:650px){.coordinates{width:86vw;top:52%;gap:9px}.coordinates .coordinate{min-height:60px;gap:12px;padding-right:0}.coordinates .coordinate:nth-child(2){margin-left:8%}.coordinates .coordinate:nth-child(3){margin-left:16%}.coordinates .coordinate:nth-child(4){margin-left:24%}.coordinates .coord-title{font-size:clamp(36px,10vw,52px);letter-spacing:-1.5px}.coordinates .coord-action{font-size:20px;margin-left:6px}}
@media(max-height:560px){.coordinates{top:57%;gap:0}.coordinates .coordinate{min-height:45px;padding:5px 0}.coordinates .coord-title{font-size:34px}}
.coordinates .coordinate{padding-bottom:24px}
.coord-description{position:absolute;left:32px;bottom:3px;font:13px/1.3 Arial,sans-serif;letter-spacing:.2px;white-space:nowrap;color:#fff;opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s;pointer-events:none}
.coordinate:hover .coord-description,.coordinate:focus-visible .coord-description{opacity:.85;transform:translateY(0)}
@media(max-width:650px){.coord-description{left:26px;font-size:12px}}
@media(hover:none){.coord-description{opacity:.8;transform:none}}
@media(max-height:560px){.coordinates{gap:0}.coordinates .coordinate{padding-bottom:18px}.coord-description{bottom:1px;font-size:11px}}
.home-composition{position:absolute;inset:125px 5vw 92px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5vw;pointer-events:none}
.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.email-link{color:var(--red);font:clamp(22px,3vw,38px) Arial,sans-serif;letter-spacing:-1px;text-decoration:none}.email-link:hover{text-decoration:underline;text-underline-offset:6px}
.manifesto{margin:0;max-width:520px;font-family:"Arial Black","Helvetica Neue",Arial,sans-serif;font-size:clamp(32px,3.65vw,56px);font-weight:800;line-height:1.13;letter-spacing:-2.2px;color:#fff}
.manifesto em{font-family:inherit;font-weight:800}
.manifesto em:not(.changing-form){color:#171717;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.12em}
.manifesto .changing-form{display:inline-block;position:relative;width:3.6em;height:1.2em;white-space:nowrap;vertical-align:-.2em}
.changing-form>span{position:absolute;left:0;top:0;line-height:1.2;color:#171717}
.home-composition .coordinates{position:relative;inset:auto;transform:none;width:100%}
.home-composition .coord-title{font-size:clamp(36px,4.5vw,62px)}
.home-composition .coordinate:nth-child(2){margin-left:8%}
.home-composition .coordinate:nth-child(3){margin-left:16%}
.home-composition .coordinate:nth-child(4){margin-left:24%}
@media(max-width:700px){.home-composition{inset:112px 7vw 68px;grid-template-columns:1fr;align-content:center;gap:18px}.manifesto{max-width:520px;font-size:clamp(24px,5.6vw,34px);line-height:1.2;letter-spacing:-1px}.home-composition .coordinates{width:min(100%,400px);justify-self:center;gap:0}.home-composition .coord-title{font-size:32px;letter-spacing:-1px}.home-composition .coordinate{min-height:52px;padding-top:5px;padding-bottom:21px}}
@media(max-height:650px) and (max-width:700px){.home-composition{inset:96px 7vw 46px;gap:10px}.manifesto{font-size:22px}.home-composition .coordinate{min-height:44px;padding-top:2px;padding-bottom:18px}.home-composition .coord-title{font-size:27px}.field-caption{bottom:16px}}

/* Fine print texture; the field remains independent of the case film. */
.universe::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background-image:radial-gradient(circle,#260600 .55px,transparent .8px);background-size:3px 3px;opacity:.10}
#field{z-index:2}.universe .identity,.home-composition,.field-caption{z-index:3}
.intro-work{display:grid;gap:26px;min-width:0}.case-card{width:min(100%,390px);pointer-events:auto;border:1px solid #ffffff35;border-radius:9px;overflow:hidden;background:#ae1b1580}
.case-screen{display:block;position:relative;height:clamp(110px,19svh,190px);overflow:hidden;background:#31110e;text-decoration:none}
.case-screen video,.case-screen img{display:block;width:100%;height:100%;object-fit:cover;filter:contrast(1.08)}
.case-screen::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,#131313 1px,transparent 1.3px) 0 0/4px 4px;mask-image:linear-gradient(90deg,transparent 30%,#000 100%);opacity:.6}
.case-screen::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(#0006,transparent 35%,transparent 60%,#0008);pointer-events:none}
.case-screen-label,.case-watch-label,.case-media-count{position:absolute;z-index:2;left:13px;color:white;font:9px/1.4 monospace;letter-spacing:1px}.case-screen-label{top:12px}.case-watch-label{bottom:12px;letter-spacing:.2px}.case-media-count{right:16px;bottom:12px;left:auto}.case-screen:hover .case-watch-label{text-decoration:underline;text-underline-offset:3px}
.case-info{padding:12px 14px}.case-info p{font:12px/1.5 Arial,sans-serif;margin:0;max-width:330px}.case-info a{font-weight:bold;text-underline-offset:3px}.case-controls{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.case-controls button{padding:3px 0;background:none;border:0;color:#fff;font:10px monospace;opacity:.75}.case-controls button:hover{opacity:1}.case-controls #case-pagination{display:flex;align-items:center;gap:16px;font:10px monospace}
@media(max-width:700px){.intro-work{gap:14px}.case-card{width:100%;max-width:390px}.case-screen{height:clamp(85px,15svh,135px)}.case-info{padding:8px 11px}.case-info p{font-size:11px}.home-composition{inset:112px 7vw 56px;gap:14px}.home-composition .coordinates{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.home-composition .coordinate:nth-child(n){margin:0;width:100%;min-height:44px}.home-composition .coord-title{font-size:24px}.home-composition .coord-description{font-size:10px}.home-composition .coord-number{font-size:9px}}
@media(max-height:650px){.intro-work{gap:12px}.case-screen{height:85px}.case-info{padding:7px 10px}.case-info p{font-size:10px}.case-controls{margin-top:3px}}
@media(max-width:700px) and (max-height:650px){.home-composition{inset:96px 7vw 40px;gap:8px}.manifesto{font-size:20px}.case-screen{height:70px}.case-screen-label{top:6px}.case-watch-label{bottom:6px}.identity .identity-disciplines{font-size:9px}}

/* Case catalog lives in the white reading module. */
.case-screen::after{opacity:.25}
#ctx-cases .case-card{background:#faf9f6;border-color:#17171720;color:#171717}
#ctx-cases .case-controls button{color:#171717}
.home-composition .coordinate:nth-child(5){margin-left:24%}
.home-composition .coordinate:nth-child(4){margin-left:18%}
.home-composition .coordinate:nth-child(3){margin-left:12%}
.home-composition .coordinate:nth-child(2){margin-left:6%}
@media(max-width:700px){.home-composition .coordinate:nth-child(n){margin-left:0}}

/* Full-width case sheet and an editorial preview of the next project. */
#ctx-cases .case-card{width:100%;max-width:none;border-radius:10px}
#ctx-cases .case-screen{display:block;width:100%;height:auto;aspect-ratio:16/8;max-height:34svh}
#ctx-cases .case-screen video,#ctx-cases .case-screen img{position:absolute;inset:0}
#ctx-cases .case-screen-label{top:18px;left:20px;font-size:10px}
#ctx-cases .case-watch-label{bottom:18px;left:20px;font-size:12px}
#ctx-cases .case-info{padding:20px 24px}
#ctx-cases .case-info p{font-size:17px;line-height:1.5;max-width:680px}
.case-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.case-tags span{display:inline-flex;align-items:center;min-height:25px;padding:4px 10px;border:1px solid var(--red);border-radius:999px;color:var(--red);font:10px/1.2 monospace;letter-spacing:.25px;text-transform:uppercase}
#ctx-cases .case-controls{margin-top:18px;padding-top:15px;border-top:1px solid #17171718;gap:20px}
#ctx-cases .case-controls #case-pagination{flex:1;justify-content:flex-end;gap:18px}
#ctx-cases #case-next{display:flex;align-items:center;gap:20px;text-align:left;border-left:1px solid #17171720;padding:6px 0 6px 22px;opacity:1;max-width:440px}
.next-case-copy{display:grid;gap:5px}.next-case-label{font:9px monospace;letter-spacing:1.3px;color:#777}
#case-next-title{font:14px/1.4 Arial,sans-serif;color:#171717}.next-case-arrow{font:26px Arial;color:var(--red);transition:transform .2s}
#ctx-cases #case-next:hover #case-next-title{color:var(--red)}#ctx-cases #case-next:hover .next-case-arrow{transform:translateX(4px)}
#ctx-cases #case-prev{font-size:20px;min-width:30px;min-height:36px}#case-count{white-space:nowrap}
@media(max-width:700px){#ctx-cases .case-info{padding:14px}#ctx-cases .case-info p{font-size:14px}#ctx-cases .case-controls{flex-wrap:wrap;gap:10px}#ctx-cases .case-controls #case-pagination{flex-basis:100%;gap:10px}#ctx-cases #case-next{padding-left:12px;gap:10px;flex:1}#case-next-title{font-size:12px}#ctx-cases .case-screen{aspect-ratio:16/9}#ctx-cases .case-screen-label{font-size:8px;left:12px;top:12px}}
@media(max-width:700px){.home-composition .coord-action{display:none}}
