@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--paper:#eeeae1;--ink:#11110f;--signal:#ff0000;--line:rgba(17,17,15,.35);--orange:#df5c24}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;overflow-x:hidden}.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.07;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}header{height:54px;position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line);mix-blend-mode:difference;color:white;font-size:11px;font-weight:700;letter-spacing:-.02em}.wordmark,nav a{color:inherit;text-decoration:none}nav{display:flex;gap:24px;align-items:center}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}.cover{height:100svh;min-height:720px;position:relative;padding:70px 18px 18px;overflow:hidden}.meta{font-size:10px;font-weight:700;display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding-top:5px}.topmeta{width:46%;margin-left:53%}.cover h1{font-size:clamp(86px,16.4vw,265px);font-weight:800;letter-spacing:-.085em;line-height:.69;margin:13vh 0 0;position:relative;z-index:4}.cover h1 span{display:block}.cover h1 span:last-child{margin-left:8.5vw}.photo{position:absolute;margin:0;overflow:hidden}.photo img,.case img,.process img,.about img{width:100%;height:100%;object-fit:cover;display:block}.p1{width:27vw;height:51vh;right:8.5vw;top:19vh;z-index:3;}.p1 img{object-position:50% 45%}.p2{width:13vw;height:23vh;left:4vw;top:11vh;z-index:2;}.p3{width:18vw;height:24vh;right:29vw;bottom:2vh;z-index:5;}.p4{width:16vw;height:29vh;left:35vw;bottom:4vh;z-index:6;}.p4 img{object-position:50% 35%}.p5{width:10vw;height:18vh;left:1.5vw;bottom:25vh;z-index:7;}.principle{position:absolute;left:18px;bottom:10vh;z-index:8;display:flex;flex-direction:column;gap:5px}.principle span{font-size:9px;font-weight:700;letter-spacing:.08em}.principle strong{font-size:clamp(18px,2vw,34px);line-height:.92;letter-spacing:-.055em;font-weight:800}.principle:before{content:"";width:38px;height:8px;background:var(--signal);display:block;margin-bottom:8px}.cover-copy{position:absolute;right:18px;bottom:13vh;width:240px;font-size:12px;line-height:1.25;text-transform:uppercase}.down{position:absolute;bottom:18px;left:18px;color:inherit;text-decoration:none;font-size:10px;font-weight:700}.down:hover{background:var(--signal);color:var(--paper)}.register{position:absolute;font-size:32px;font-weight:300}.r1{left:47%;top:11%;color:var(--signal)}.r2{right:2%;top:56%;color:var(--signal)}.indexno{position:absolute;right:1.5%;top:12%;font-size:10px;writing-mode:vertical-rl}.selected{padding:80px 18px 120px;border-top:1px solid var(--ink)}.section-label{position:relative;display:grid;grid-template-columns:70px 1fr 1fr;font-size:10px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:8px}.section-label span:last-child{text-align:right}.section-label:after{content:"";position:absolute;left:70px;bottom:-1px;width:52px;height:5px;background:var(--signal)}.case{min-height:90vh;border-bottom:1px solid var(--ink);position:relative}.ns-case{min-height:125vh;padding:8vh 0 10vh;display:grid;grid-template-columns:34% 66%;grid-template-rows:auto 1fr auto;overflow:hidden}.ns-title{position:relative;z-index:4;padding-right:2vw}.ns-title>span,.ns-note>span{font-size:9px;font-weight:700;letter-spacing:.04em}.ns-title h2{font-size:clamp(70px,10vw,168px);line-height:.72;letter-spacing:-.085em;margin:4vh 0 3vh;font-weight:800}.ns-title p{font-size:10px;text-transform:uppercase;max-width:260px;line-height:1.35}.ns-collage{grid-column:2;grid-row:1/4;position:relative;min-height:102vh;background:var(--orange);overflow:hidden}.ns-collage figure{position:absolute;margin:0;overflow:hidden}.ns-a{width:44%;height:69%;left:8%;top:7%;z-index:2}.ns-b{width:57%;height:38%;right:-3%;top:18%;z-index:1}.ns-c{width:34%;height:47%;right:7%;bottom:4%;z-index:3}.ns-mark{position:absolute;right:2%;top:2%;font-size:9px;font-weight:700;writing-mode:vertical-rl}.ns-note{grid-column:1;align-self:end;padding:0 5vw 1vh 0}.ns-note p{font-size:15px;line-height:1.35;max-width:390px;margin:2vh 0 4vh}.ns-note a{font-size:10px;font-weight:700;color:inherit;text-decoration:none;border-bottom:1px solid;padding-bottom:4px}.case-b{min-height:90vh;display:grid;grid-template-columns:42% 58%;align-items:center}.case-b figure{margin:0;height:72vh;overflow:hidden}.case-info{padding:5vw}.case-info>span{font-size:10px;font-weight:700}.case-b h2{font-size:clamp(58px,8.7vw,150px);line-height:.75;letter-spacing:-.075em;margin:8vh 0 4vh}.case-b p{font-size:11px;text-transform:uppercase}.process{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:18px;align-items:center;padding:14vh 5vw;border-bottom:1px solid var(--ink)}.process figure{margin:0;height:42vh}.process figure:first-child{}.process p{text-align:center;font-size:clamp(20px,3vw,48px);font-weight:700;letter-spacing:-.055em}.allwork{display:flex;justify-content:space-between;color:inherit;text-decoration:none;font-size:clamp(44px,9vw,140px);font-weight:800;letter-spacing:-.07em;padding:6vh 0 1vh;border-bottom:1px solid var(--ink)}.allwork:hover{font-weight:500;letter-spacing:-.085em;color:var(--signal)}.about{min-height:100vh;padding:100px 18px;display:grid;grid-template-columns:40% 60%;gap:7vw;align-items:center;background:var(--ink);color:var(--paper)}.about figure{height:72vh;margin:0;overflow:hidden}.about-copy>span{font-size:10px}.about h2{font-size:clamp(65px,9vw,150px);line-height:.75;letter-spacing:-.075em;margin:8vh 0 5vh}.about p{max-width:450px;font-size:16px;line-height:1.35}.services{display:grid;grid-template-columns:1fr 1fr;margin-top:10vh;border-top:1px solid #777}.services span{font-size:10px;padding:10px 0;border-bottom:1px solid #555}footer{height:70px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;background:var(--signal);color:var(--paper)}footer a{color:inherit;text-decoration:none}@media(max-width:760px){header nav{gap:12px}.topmeta{width:100%;margin:0}.topmeta span:nth-child(2){display:none}.cover h1{margin-top:19vh;font-size:24vw}.cover h1 span:last-child{margin-left:0}.p1{width:54vw;height:42vh;right:5vw;top:26vh}.p2{width:30vw;height:20vh;left:5vw;top:12vh}.p3{width:35vw;height:18vh;right:4vw;bottom:8vh}.p4{width:28vw;height:21vh;left:37vw;bottom:2vh}.p5{width:23vw;height:15vh;left:2vw;bottom:26vh}.cover-copy{display:block;right:4vw;bottom:28vh;width:42vw;font-size:9px}.principle{bottom:8vh}.principle strong{font-size:20px}.section-label{grid-template-columns:40px 1fr}.section-label span:last-child{display:none}.ns-case{display:block;min-height:auto;padding:8vh 0}.ns-title h2{font-size:21vw}.ns-collage{min-height:78vh;margin-top:5vh}.ns-a{width:58%;height:65%;left:5%}.ns-b{width:64%;height:34%;right:-12%;top:22%}.ns-c{width:43%;height:40%;right:4%;bottom:3%}.ns-note{padding:7vh 0 1vh}.case-b{grid-template-columns:1fr;padding:9vh 0}.case-b figure{height:55vh}.case-b .case-info{order:2}.case-info{padding:7vh 0 0}.case-b h2{margin:4vh 0 2vh}.process{grid-template-columns:1fr 1fr;padding:10vh 0}.process p{grid-column:1/-1;grid-row:1}.process figure{height:32vh}.about{grid-template-columns:1fr;padding:90px 18px}.about figure{height:60vh}.about h2{margin:6vh 0 4vh}footer span:nth-child(2){display:none}}

/* V5 — photographic rhythm. Typography intentionally unchanged. */
.visual-intro{position:relative;min-height:128vh;padding:18px;overflow:hidden;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.visual-rule{display:flex;justify-content:space-between;font-size:9px;font-weight:700;padding-top:6px;border-top:1px solid var(--ink)}
.visual-intro figure{position:absolute;margin:0;overflow:hidden}
.visual-intro figure img{width:100%;height:100%;object-fit:cover;display:block}
.vi-a{left:5vw;top:15vh;width:39vw;height:74vh;z-index:2;}
.vi-a img{object-position:50% 48%}
.vi-b{right:-2vw;top:30vh;width:31vw;height:52vh;z-index:3;}
.vi-c{left:44vw;bottom:6vh;width:23vw;height:32vh;z-index:4;}
.visual-statement{position:absolute;right:4vw;top:9vh;z-index:5;width:53vw;margin:0;font-size:clamp(32px,5.2vw,86px);font-weight:800;line-height:.86;letter-spacing:-.07em;text-transform:uppercase}
.visual-cross{position:absolute;left:48%;top:17%;z-index:7;color:var(--signal);font-size:48px;font-weight:400}
.visual-code{position:absolute;right:18px;bottom:18px;font-size:9px;font-weight:700;writing-mode:vertical-rl}
@media(max-width:760px){.visual-intro{min-height:112vh}.visual-rule span:last-child{display:none}.visual-statement{top:8vh;left:18px;right:auto;width:90%;font-size:11.7vw}.vi-a{left:4vw;top:29vh;width:61vw;height:51vh}.vi-b{right:-7vw;top:46vh;width:48vw;height:39vh}.vi-c{left:16vw;bottom:4vh;width:41vw;height:27vh}.visual-cross{left:auto;right:8vw;top:23%;font-size:38px}}

/* V6 — rectilinear image system + adaptive overlap contrast */
.photo,.visual-intro figure,.ns-collage figure,.process figure{transform:none!important;}
.cover h1,.visual-statement{color:#fff;mix-blend-mode:difference;}
.cover h1{isolation:auto;}
.visual-statement{isolation:auto;}

/* V8 DARK — dark master branch. V6 composition preserved. */
:root{
  --paper:#171715;
  --ink:#f1eee8;
  --signal:#ff0000;
  --line:rgba(241,238,232,.34);
  --orange:#df5c24;
}
body{background:var(--paper);color:var(--ink)}
.meta,.selected,.visual-intro,.visual-rule,.section-label,.case,.process,.allwork{border-color:var(--ink)}
.about{background:#0d0d0c;color:var(--ink)}
footer{color:#f1eee8}
.down:hover{color:#f1eee8}
.services{border-top-color:rgba(241,238,232,.45)}
.services span{border-bottom-color:rgba(241,238,232,.28)}

/* Every image remains perfectly rectilinear; V6 size/position rhythm is untouched. */
.photo,.visual-intro figure,.ns-collage figure,.process figure,.case-b figure,.about figure{transform:none!important;rotate:0deg!important}

/* Global negative/difference language for display text that can cross imagery. */
.cover h1,
.visual-statement,
.ns-title h2,
.case-b h2,
.process p,
.about h2,
.allwork{
  color:#fff;
  mix-blend-mode:difference;
}

/* Ensure overlap-capable display text sits above imagery when their geometry intersects. */
.ns-title,.case-info,.process p,.about-copy{position:relative;z-index:6}
/* V9: extend the approved inversion behavior to small overlapping Home copy. */
.cover-copy,.principle span,.principle strong,.ns-mark{color:#fff;mix-blend-mode:difference;z-index:8}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:520px){header,.inner header{height:auto;min-height:64px;box-sizing:border-box;flex-wrap:wrap;gap:9px;padding:10px 14px}header nav,.inner header nav{width:100%;justify-content:space-between;gap:8px;font-size:9px}}

.language-switch{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.language-switch a{opacity:.55}.language-switch a[aria-current="true"]{opacity:1;text-decoration:underline;text-underline-offset:4px}.language-switch a:hover{opacity:1}.language-switch a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
