@font-face{font-family:'Manrope';src:url('assets/fonts/Manrope/Manrope-VariableFont_wght.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
.editorial-section{border-top:1px solid var(--line)}.credit-list{border-top:1px solid var(--line)}.credit-row{display:grid;grid-template-columns:1.2fr .8fr auto;gap:4vw;align-items:start;border-bottom:1px solid var(--line);padding:30px 0;position:relative}.credit-main h3{font-size:clamp(1.8rem,3.4vw,4.5rem);line-height:.95;font-weight:300;letter-spacing:-.06em;margin:10px 0 18px}.credit-main p:last-child{color:var(--muted);max-width:560px;margin:0}.credit-meta{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-family:var(--font);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.credit-meta small{color:var(--accent);line-height:1.5}.media-status{color:var(--accent);font-family:var(--font);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.media-status{position:absolute;left:16px;bottom:16px;padding:8px 10px;border:1px solid rgba(232,225,211,.35);background:rgba(17,17,15,.62);backdrop-filter:blur(6px)}.rnd-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:5vw}.rnd-feature .card-media{height:min(42vw,500px)}.rnd-study{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;align-items:flex-start}.rnd-study h3{font-size:clamp(3rem,6vw,7rem);font-weight:300;letter-spacing:-.07em;line-height:.9;margin:54px 0 24px}.rnd-study>p:not(.work-type){color:var(--muted);max-width:340px}.experience-list{padding:0;margin:28px 0 0;list-style:none;color:var(--paper);font-family:var(--font);font-size:12px;line-height:1.8}.experience-list li{border-top:1px solid var(--line);padding:8px 0}.tool-line{font-family:var(--font);font-size:11px;line-height:1.7;color:var(--accent)!important;letter-spacing:.05em}.placeholder-visual{min-height:240px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;background:linear-gradient(135deg,rgba(201,162,108,.09),transparent 70%);color:var(--paper);font-family:var(--font);font-size:12px;font-weight:500;letter-spacing:.1em;text-align:center;text-transform:uppercase}.placeholder-visual small{color:var(--accent);font-size:10px}.modal-visual--wide.placeholder-visual{aspect-ratio:16/7}@media(max-width:800px){.credit-row,.rnd-grid{grid-template-columns:1fr;gap:18px}.credit-row{padding:24px 0}.credit-meta{flex-direction:row;flex-wrap:wrap}.rnd-feature .card-media{height:90vw;max-height:560px}.rnd-study h3{margin-top:38px}.placeholder-visual,.modal-visual--wide.placeholder-visual{min-height:190px;aspect-ratio:auto}}
:root{--bg:#11110f;--paper:#e8e1d3;--muted:#9d998f;--line:rgba(232,225,211,.18);--accent:#c9a26c;--font:'Manrope','Helvetica Neue',Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--paper);font-family:var(--font);font-size:16px;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.site-shell{max-width:1600px;margin:auto}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid var(--line);position:relative;z-index:5}.wordmark{display:flex;align-items:baseline;gap:12px;font-family:var(--font);font-weight:500}.wordmark span{font-size:18px;letter-spacing:.08em}.wordmark small,.eyebrow,.section-index,.work-type,.meta-row,.muted,.footer,.card-number{font-family:var(--font);font-weight:500;text-transform:uppercase;letter-spacing:.11em;font-size:11px;color:var(--muted)}.nav{display:flex;gap:32px;font-size:13px;font-weight:500}.nav a:hover,.text-link:hover,.case-link:hover,.contact-email:hover{color:var(--accent)}.menu-toggle{display:none;font-family:var(--font);font-weight:500}.section-pad{padding:7.5vw 7vw}.hero{display:grid;grid-template-columns:.85fr 1.35fr;gap:8vw;align-items:end;min-height:720px}.hero-copy{padding-bottom:8vw}.eyebrow{margin:0 0 34px;color:var(--paper);font-weight:500}.eyebrow span{color:var(--accent);padding:0 6px}.hero h1,.intro-grid h2,.contact-grid h2{font-size:clamp(3.8rem,7vw,8.8rem);line-height:.9;letter-spacing:-.075em;font-weight:300;margin:0 0 38px}.hero h1 em,.intro-grid h2 em,.contact-grid h2 em,.work-card h3 em{font-family:var(--font);font-style:normal;font-weight:300;letter-spacing:-.075em}.hero-deck{max-width:390px;color:var(--muted);font-size:1.05rem;font-weight:400;margin-bottom:38px}.text-link,.case-link,.contact-email{font-family:var(--font);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.09em}.text-link span,.case-link span,.contact-email span{color:var(--accent);font-size:16px;margin-left:8px}.media-frame{overflow:hidden;background:#222;position:relative}.media-frame img{width:100%;height:100%;display:block;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1)}.media-frame:hover img{transform:scale(1.035)}.hero-visual{height:min(68vw,720px);margin:0}.hero-visual figcaption{position:absolute;bottom:16px;left:18px;right:18px;display:flex;justify-content:space-between;font-family:var(--font);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--paper)}.intro-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-index{margin:0;color:var(--accent)}.intro-grid{display:grid;grid-template-columns:1.1fr .7fr;gap:10vw;margin-top:70px}.intro-grid h2{font-size:clamp(3rem,5.5vw,7rem);margin:0}.intro-copy{max-width:440px;color:var(--muted);padding-top:12px;font-weight:400}.intro-copy p+p{margin-top:28px;color:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:70px}.work-section{padding-top:8vw}.feature-work{display:grid;grid-template-columns:1.7fr .72fr;gap:5vw;align-items:end}.feature-media{height:min(56vw,700px)}.play-mark{position:absolute;left:18px;bottom:18px;padding:10px 12px;border:1px solid rgba(255,255,255,.35);font-family:var(--font);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;backdrop-filter:blur(6px)}.play-mark span{color:var(--accent);margin-right:8px}.feature-info{padding-bottom:4px}.feature-info h3,.work-card h3{font-size:clamp(2rem,3vw,4.6rem);line-height:.96;font-weight:300;letter-spacing:-.06em;margin:22px 0}.work-summary,.work-card p{color:var(--muted);max-width:340px;font-weight:400}.meta-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;margin:48px 0 28px}.work-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;margin-top:13vw}.card-media{height:min(48vw,540px)}.card-number{position:absolute;top:14px;left:16px;color:var(--paper)}.card-info{padding-top:20px}.card-info h3{font-size:clamp(2rem,4vw,5rem);margin:12px 0}.work-card--text{border-top:1px solid var(--line);min-height:300px;display:flex;flex-direction:column;justify-content:space-between;padding-top:18px}.work-card--text h3{font-size:clamp(3rem,6vw,7rem);margin:50px 0 25px}.process-section{border-top:1px solid var(--line)}.process-list{border-top:1px solid var(--line)}.process-row{display:grid;grid-template-columns:8% 27% 1fr 5%;align-items:center;border-bottom:1px solid var(--line);min-height:112px}.process-row span{font-family:var(--font);font-size:11px;font-weight:500;color:var(--accent)}.process-row h3{font-size:clamp(1.8rem,3vw,3.3rem);letter-spacing:-.06em;font-weight:300;margin:0}.process-row p{max-width:400px;color:var(--muted);margin:0;font-weight:400}.process-row span:last-child{font-size:22px;color:var(--paper)}.contact-section{border-top:1px solid var(--line);padding-bottom:9vw}.contact-grid{display:grid;grid-template-columns:1fr .7fr;gap:10vw;margin-top:80px}.contact-grid h2{font-size:clamp(3.6rem,6vw,8rem)}.contact-grid>div{padding-top:18px;color:var(--muted);font-weight:400}.contact-email{display:block;color:var(--paper);margin-top:42px;font-size:14px}.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:24px 7vw}.footer a:hover{color:var(--accent)}.case-modal{position:fixed;inset:0;background:rgba(17,17,15,.9);backdrop-filter:blur(14px);z-index:20;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;transition:.3s}.case-modal.is-open{opacity:1;visibility:visible}.modal-inner{max-width:760px;width:100%;border:1px solid var(--line);padding:46px;background:#171714;position:relative}.modal-close{position:absolute;right:20px;top:10px;font-size:30px;font-weight:300}.modal-inner h2{font-family:var(--font);font-size:clamp(3rem,7vw,6.5rem);line-height:.9;font-weight:300;letter-spacing:-.06em;margin:36px 0}.modal-sequence{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;font-family:var(--font);font-size:11px;font-weight:500;text-transform:uppercase;color:var(--muted)}.modal-sequence span:nth-child(odd){color:var(--paper)}#modal-copy{max-width:570px;color:var(--muted);font-size:1.1rem;font-weight:400;margin:30px 0}.modal-note{font-family:var(--font);font-size:11px;font-weight:500;text-transform:uppercase;color:var(--accent);letter-spacing:.08em}@media(max-width:800px){.topbar{height:70px;padding:0 6vw}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--bg);padding:20px 6vw;border-bottom:1px solid var(--line);flex-direction:column;gap:18px}.nav.is-open{display:flex}.menu-toggle{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.section-pad{padding:18vw 6vw}.hero{display:flex;flex-direction:column;gap:50px;min-height:auto}.hero-copy{padding:0}.hero h1{font-size:clamp(3.6rem,16vw,6rem)}.hero-visual{height:118vw;max-height:650px;width:100%}.intro-grid,.contact-grid,.feature-work,.work-grid{grid-template-columns:1fr;gap:48px}.intro-grid{margin-top:48px}.feature-info{padding-bottom:0}.feature-media{height:110vw;max-height:600px}.work-grid{margin-top:28vw}.card-media{height:100vw;max-height:580px}.section-heading{align-items:flex-start;gap:18px;flex-direction:column;margin-bottom:44px}.process-row{grid-template-columns:15% 1fr 10%;gap:8px;padding:22px 0}.process-row p{grid-column:2/3;font-size:.95rem}.process-row span:last-child{grid-column:3;grid-row:1}.footer{padding:24px 6vw;gap:12px;flex-wrap:wrap}.footer span:nth-child(2){display:none}.modal-inner{padding:34px 22px}.modal-sequence{line-height:2}}
/* Fullscreen opening film */
.credit-row{grid-template-columns:1.2fr .8fr}
.hero{position:relative;display:flex;align-items:flex-end;min-height:100svh;height:100svh;width:100vw;margin-left:calc(50% - 50vw);margin-top:-82px;padding:0 7vw 8vw;overflow:hidden;background:#111}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,15,.28),rgba(17,17,15,.05) 42%,rgba(17,17,15,.5));pointer-events:none}
.hero-copy{position:relative;z-index:2;max-width:900px}
.hero-visual{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0}
[data-cover-video] video{width:100%;height:100%;display:block;object-fit:cover}
[data-cover-video="enemy"] video{object-position:50% 48%}
[data-cover-video="digitalDouble"] video{object-position:50% 50%}
.hero-visual video{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}
.hero-visual figcaption{z-index:2;left:7vw;right:7vw;bottom:24px}
@media(max-width:800px){.hero{min-height:100svh;height:100svh;margin-top:-70px;padding:0 6vw 18vw}.hero h1{font-size:clamp(3.6rem,16vw,6rem);max-width:9ch}.hero-visual video{object-position:center center}.hero-visual figcaption{left:6vw;right:6vw;bottom:18px;font-size:9px;gap:12px}}

@media(max-width:1600px){.hero{width:100%;margin-left:0}}

/* Full-bleed selected-work canvases: media remains the primary visual surface. */
.feature-work--canvas{display:block;width:100vw;margin-left:calc(50% - 50vw)}
.feature-work--canvas .feature-media{width:100%;height:100svh;min-height:640px;border-radius:0}
.feature-work--canvas .feature-media::after,.digital-double-canvas::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(17,17,15,.12),transparent 45%,rgba(17,17,15,.58))}
.feature-work--canvas .feature-media video{width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.feature-work--canvas .play-mark{display:none}
.canvas-overlay,.dual-overlay{position:absolute;z-index:2;text-shadow:0 2px 22px rgba(0,0,0,.42)}
.canvas-overlay{left:7vw;right:7vw;bottom:8vw;max-width:720px}
.canvas-role-label{margin:0 0 6px;color:var(--accent);font-family:var(--font);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.canvas-overlay h3{font-size:clamp(4.2rem,10vw,11rem);line-height:.82;font-weight:300;letter-spacing:-.08em;margin:20px 0 24px}
.canvas-meta{color:var(--paper);font-family:var(--font);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.canvas-overlay .case-link,.dual-overlay .case-link{margin-top:28px}
.work-grid{display:block;margin-top:12vw}
.work-card--canvas{width:100%}
.digital-double-canvas{position:relative;display:grid;grid-template-columns:38% 62%;width:100vw;height:min(100svh,920px);min-height:680px;margin-left:calc(50% - 50vw);overflow:hidden;background:#11110f}
.dual-panel{position:relative;min-width:0;height:100%;overflow:hidden}
.dual-panel video{width:100%;height:100%;display:block;object-fit:cover}
.dual-panel--metahuman video{object-position:50% 50%}
.dual-panel--oplo video{object-position:50% 46%}
.dual-overlay{left:7vw;right:7vw;bottom:7vw;max-width:820px}
.dual-overlay h3{font-size:clamp(3.4rem,7vw,8rem);line-height:.85;font-weight:300;letter-spacing:-.075em;margin:16px 0 12px}
.dual-subtitle{margin:0;color:var(--paper);font-size:clamp(1rem,1.6vw,1.4rem);font-weight:400}
.dual-meta{margin:18px 0 0;color:var(--paper);font-family:var(--font);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:800px){
  .feature-work--canvas{margin-left:calc(50% - 50vw)}
  .feature-work--canvas .feature-media{height:max(100svh,100vh);min-height:max(100svh,100vh)}
  .feature-work--canvas .feature-media video{object-position:50% 45%}
  .canvas-overlay{left:6vw;right:6vw;bottom:18vw}
  .canvas-overlay h3{font-size:clamp(4rem,18vw,7rem);max-width:8ch}
  .digital-double-canvas{display:flex;flex-direction:column;width:100vw;height:auto;min-height:0;margin-left:calc(50% - 50vw)}
  .dual-panel--oplo{order:1;height:68svh;min-height:500px}
  .dual-panel--metahuman{order:2;height:58svh;min-height:420px}
  .dual-panel--oplo video{object-position:50% 44%}
  .dual-overlay{left:6vw;right:6vw;bottom:6vw}
  .dual-overlay h3{font-size:clamp(3.4rem,15vw,6.5rem)}
  .dual-meta{max-width:30ch;line-height:1.5}
}

