:root{--bg:#10110f;--text:#f2f2eb;--muted:#a6a99f;--line:#363830;--accent:#d6ff5f;--space:clamp(24px,4.4vw,80px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{background:none;border:0}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}.skip{position:fixed;top:-100px;left:20px;background:var(--accent);color:#111;z-index:200;padding:15px}.skip:focus{top:15px}.header{height:96px;padding:0 var(--space);display:flex;align-items:center;justify-content:space-between;gap:35px;position:absolute;top:0;left:0;right:0;z-index:10;border-bottom:1px solid #ffffff25}.brand img{width:190px;height:auto;display:block}.header nav{display:flex;gap:35px;font-size:14px}.header nav span{font-size:12px;opacity:.5;margin-left:4px}.header a:not(.brand){transition:color .2s}.header a:hover{color:var(--accent)}.contact-link{font-size:14px;display:flex;align-items:center;gap:25px}.contact-link span{font-size:24px}.hero{min-height:760px;height:100svh;position:relative;overflow:hidden;background:#161b18}.hero-poster,.hero-video,.hero-shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.hero-video{opacity:0;transition:opacity 1.2s}.hero-video.ready{opacity:1}.hero-shade{background:linear-gradient(180deg,#05080570,transparent 35%,#080b08b8),linear-gradient(90deg,#06090660,transparent 80%)}.hero-top{position:absolute;top:135px;left:var(--space);right:var(--space);display:flex;justify-content:space-between;color:#eceee8}.eyebrow{font-size:12px;font-family:'Courier New',monospace;letter-spacing:.11em;line-height:1.6;font-weight:400}.hero-main{position:absolute;left:var(--space);bottom:135px;right:var(--space)}h1{font-size:clamp(64px,8.4vw,150px);font-weight:500;letter-spacing:-.067em;line-height:.98;margin:24px 0 36px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.065em}h1 em{color:var(--accent)}.reel-button{display:flex;gap:18px;align-items:center;padding:0;text-align:left;font-size:16px}.reel-button small{display:block;font-family:'Courier New',monospace;font-size:12px;margin-top:7px;color:#d7dbd0;letter-spacing:.08em}.play-disc{width:54px;height:54px;border:1px solid #ffffff80;border-radius:50%;display:grid;place-items:center;font-size:14px;padding-left:3px;transition:background .3s,color .3s,transform .3s}.reel-button:hover .play-disc{background:var(--accent);color:#10110f;transform:scale(1.12)}.hero-bottom{position:absolute;bottom:38px;left:var(--space);right:var(--space);display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:20px}.hero-bottom a,.hero-bottom button{display:flex;gap:32px;align-items:center}.hero-caption{letter-spacing:.14em;font:12px 'Courier New',monospace}.hero-bottom button{font-size:12px;padding:12px 0}.hero-progress{position:absolute;bottom:0;left:0;height:2px;width:100%;background:#ffffff30}.hero-progress i{display:block;height:100%;width:0;background:var(--accent)}.section{padding:105px var(--space)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:65px}h2{font-size:clamp(44px,5.6vw,88px);line-height:1.03;letter-spacing:-.055em;font-weight:400;margin:20px 0 0}.accent{color:var(--accent);margin-right:15px}.section-note{font-size:16px;line-height:1.7;color:var(--muted);margin:0;max-width:310px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 26px}.project-card{min-width:0}.project-card:first-child{grid-column:1/-1}.project-button{display:block;width:100%;padding:0;text-align:left}.project-visual{position:relative;overflow:hidden;aspect-ratio:16/10;background:#21241e}.project-card:first-child .project-visual{aspect-ratio:2.15}.project-visual img,.project-visual video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .6s}.project-visual video{position:absolute;inset:0;opacity:0;pointer-events:none}.project-visual video.ready{opacity:1}.project-button:hover img{transform:scale(1.035)}.project-play{position:absolute;bottom:22px;right:22px;width:48px;height:48px;display:grid;place-items:center;border:1px solid #ffffff80;border-radius:50%;background:#1114;font-size:13px;transition:background .3s,color .3s}.project-button:hover .project-play{background:var(--accent);color:#111}.project-info{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding-top:19px}.project-info h3{font-size:25px;font-weight:400;letter-spacing:-.04em;margin:6px 0 0}.project-info .eyebrow{margin:0;color:var(--muted)}.project-index{font:12px 'Courier New',monospace;color:var(--muted);padding-top:6px}.project-card:last-child{grid-column:1/-1;width:64%;margin-left:auto}.photography{background:#1b1d18;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.photography h2 em{color:var(--accent)}.photo-main{display:block;width:100%;padding:0;position:relative;background:#080a07;overflow:hidden}.photo-main img{width:100%;aspect-ratio:2.1;object-fit:contain;display:block;transition:opacity .2s,transform .8s}.photo-main:hover img{transform:scale(1.015)}.enlarge{position:absolute;right:25px;bottom:23px;font-size:13px;background:#1119;padding:12px 16px;border:1px solid #ffffff50}.enlarge span{margin-left:25px}.photo-caption{display:flex;justify-content:space-between;align-items:center;padding:25px 0}.photo-caption h3{font-size:22px;font-weight:400;margin:7px 0 0}.photo-caption .eyebrow{color:var(--muted)}.photo-arrows{display:flex;gap:10px}.photo-arrows button{border:1px solid #ffffff35;width:50px;height:50px;border-radius:50%;font-size:23px}.photo-arrows button:hover{background:var(--accent);color:#111}.photo-strip{display:flex;gap:12px;overflow-x:auto;padding:5px 2px 12px}.photo-strip button{padding:0;flex:1;min-width:95px;opacity:.4;transition:opacity .2s}.photo-strip button[aria-pressed=true]{opacity:1;outline:1px solid var(--accent);outline-offset:3px}.photo-strip button:hover{opacity:1}.photo-strip img{width:100%;height:85px;object-fit:cover;display:block}.about-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end}.about-intro>p{font-size:23px;line-height:1.5;color:var(--muted);max-width:440px}.people{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:85px}.people article{border-top:1px solid var(--line);padding-top:30px}.people .eyebrow{color:var(--muted)}.people h3{font-size:30px;font-weight:400;letter-spacing:-.04em;margin:18px 0}.people p{font-size:16px;color:var(--muted);line-height:1.7;max-width:430px}footer{background:var(--accent);color:#10110f}footer.section{padding-bottom:30px}.coffee{font-size:clamp(60px,9vw,145px);line-height:1.05;letter-spacing:-.07em;display:block;margin:35px 0 75px}.coffee span{display:inline-block;transition:transform .4s}.coffee:hover span{transform:translate(12px,-12px)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;padding-top:25px;border-top:1px solid #10110f50;font-size:14px}.footer-bottom>span{font:12px 'Courier New',monospace}dialog{color:var(--text);background:#0a0b09;border:1px solid var(--line);padding:28px;width:min(1180px,94vw);max-height:94svh;overscroll-behavior:contain}dialog::backdrop{background:#000e;backdrop-filter:blur(10px)}.cinema-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.cinema-top h2{font-size:30px;margin:0}.cinema-top p{margin:0 0 4px;color:var(--muted)}.close{display:flex;align-items:center;gap:20px;font-size:14px;padding:10px 0}.close span{font-size:28px}.close:hover{color:var(--accent)}#cinema-screen video{display:block;width:100%;max-height:65svh;aspect-ratio:16/9;background:#000}#video-message{color:var(--muted);font-size:14px}#original-link{font-size:13px;text-decoration:underline;color:var(--muted)}#lightbox{padding:20px;width:min(1500px,96vw)}#lightbox .close{margin-left:auto}#lightbox-image{display:block;width:100%;max-height:75svh;object-fit:contain}#lightbox-caption{font:13px 'Courier New',monospace;color:var(--muted)}body.modal-open{overflow:hidden}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(30px);transition:opacity .85s,transform .85s}.js-motion .reveal.visible{opacity:1;transform:none}@media(min-width:1500px){.hero-main{bottom:150px}}@media(max-width:760px){.header{height:80px;gap:15px}.brand img{width:135px}.header nav{gap:15px;font-size:13px}.header nav span{display:none}.header nav a:last-child,.contact-link{display:none}.hero{min-height:690px;max-height:1000px}.hero-top{top:110px}.hero-top span:last-child{display:none}.hero-top.eyebrow{font-size:10px}.hero-main{bottom:145px}h1{font-size:clamp(59px,11.5vw,90px)}.hero-main>.eyebrow{font-size:10px}.hero-bottom{bottom:30px;align-items:center;gap:12px}.hero-caption{display:none}.hero-bottom a,.hero-bottom button{gap:14px}.section{padding-top:70px;padding-bottom:70px}.section-heading{display:block;margin-bottom:35px}.section-note{margin-top:25px;font-size:15px}.project-grid{grid-template-columns:1fr;gap:36px}.project-card:first-child,.project-card:last-child{grid-column:auto;width:100%;margin:0}.project-card:first-child .project-visual,.project-visual{aspect-ratio:16/10}.project-info h3{font-size:23px}.photo-main img{aspect-ratio:4/3}.photo-strip img{height:65px}.enlarge{right:12px;bottom:12px}.photo-strip button{min-width:86px}.about-intro{display:block}.about-intro>p{font-size:20px;margin-top:30px}.people{grid-template-columns:1fr;gap:30px;margin-top:40px}.coffee{font-size:clamp(60px,12vw,88px);margin-bottom:45px}.footer-bottom{flex-direction:column;gap:18px}.footer-bottom>span{margin-top:12px}dialog{padding:16px}.cinema-top h2{font-size:24px}.cinema-top .eyebrow{font-size:10px}.close{gap:10px}.photo-caption h3{font-size:19px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
/* The reel is a sticky scene; ordinary page scrolling drives its playhead. */
.hero-scroll{height:300svh;position:relative;--title-opacity:1;--title-y:0px;--shade-opacity:1}.hero-scroll .hero{height:100svh;min-height:620px;position:sticky;top:0}.hero-main{bottom:225px;opacity:var(--title-opacity);transform:translateY(var(--title-y));will-change:opacity,transform}.hero-shade{opacity:var(--shade-opacity);transition:opacity .1s}.hero-top{top:125px}.hero-bottom{bottom:150px}.film-timeline{position:absolute;bottom:30px;left:var(--space);right:var(--space);--progress:0%;font:11px 'Courier New',monospace;letter-spacing:.05em;background:#080b0866;padding:13px 18px 10px;border:1px solid #ffffff28;backdrop-filter:blur(12px)}.timeline-labels{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#d5d7ce}.timeline-labels output{color:var(--accent);font-size:13px}.timeline-track{position:relative;height:40px;margin-top:6px}.timeline-ticks{position:absolute;inset:13px 0 9px;background:repeating-linear-gradient(90deg,#ffffff60 0 1px,transparent 1px 2%);border-bottom:1px solid #ffffff40}.timeline-fill{position:absolute;left:0;bottom:9px;height:2px;width:var(--progress);background:var(--accent);pointer-events:none}.timeline-track input{appearance:none;-webkit-appearance:none;width:100%;height:40px;background:transparent;position:absolute;inset:0;z-index:2;margin:0;cursor:ew-resize}.timeline-track input::-webkit-slider-runnable-track{height:32px;background:transparent}.timeline-track input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:3px;height:32px;background:var(--accent);box-shadow:0 0 12px #d6ff5f50}.timeline-track input::-moz-range-track{background:transparent}.timeline-track input::-moz-range-thumb{border:0;border-radius:0;width:3px;height:32px;background:var(--accent)}.timeline-bottom{display:flex;justify-content:space-between;color:#afb4a7;font-size:10px}.scroll-hint{position:absolute;right:var(--space);top:48%;font:11px 'Courier New',monospace;letter-spacing:.12em;opacity:var(--title-opacity)}.scroll-hint span{display:block;text-align:center;font-size:26px;margin-top:20px;animation:floatDown 1.7s ease-in-out infinite}@keyframes floatDown{50%{transform:translateY(9px)}}@media(max-width:760px){.hero-scroll{height:260svh}.hero-scroll .hero{min-height:640px}.hero-main{bottom:255px}.hero-main h1{font-size:clamp(56px,10.7vw,82px)}.hero-top{top:110px}.hero-bottom{bottom:164px}.hero-caption{display:none}.scroll-hint{top:auto;bottom:133px;left:var(--space);right:auto;font-size:10px}.scroll-hint span{display:inline;font-size:16px;margin-left:15px}.film-timeline{bottom:24px;left:20px;right:20px;padding:12px}.timeline-labels>span:last-child{display:none}.hero-main>.eyebrow{font-size:10px}.hero-top>span{font-size:10px}}@media(prefers-reduced-motion:reduce){.hero-scroll{height:auto}.hero-scroll .hero{position:relative}.hero-main{opacity:1;transform:none}.hero-shade{opacity:1}.scroll-hint,.hero-caption{display:none}}

.brand img{filter:none;max-height:50px;object-fit:contain}.header{gap:20px}@media(min-width:761px) and (max-width:1000px){.brand img{width:160px}.header nav{gap:20px}.contact-link{font-size:12px;gap:12px}}

.timeline-bottom,.film-timeline,.scroll-hint,.hero-top.eyebrow,.hero-top>span,.hero-main>.eyebrow{font-size:12px}.hero-main{pointer-events:none}.hero-main .reel-button{pointer-events:auto}.hero-scroll[style*="--title-opacity: 0;"] .hero-main .reel-button{pointer-events:none}@media(max-width:760px){.hero-top{max-width:280px}.hero-main>.eyebrow{font-size:12px}.hero-main h1{margin-top:18px}.hero-caption{display:none}.hero-top span{font-size:12px}}
@media(max-width:760px){.hero-main{top:27%;bottom:auto}.hero-main h1{font-size:clamp(42px,10.8vw,72px);margin:18px 0 24px;line-height:1.02}.hero-top{top:100px}.hero-top>span{max-width:260px}.hero-main>.eyebrow{font-size:12px}.brand img{width:120px}.header nav{gap:12px}.header nav a{font-size:12px}.timeline-bottom span:nth-child(2),.timeline-bottom span:nth-child(4){display:none}.hero-bottom a,.hero-bottom button{font-size:12px;gap:10px}.scroll-hint{font-size:12px}.hero-scroll .hero{min-height:640px}}
/* Originis — signal red, black and white. */
:root{--bg:#0c0c0c;--text:#f7f5f2;--muted:#aaa6a4;--line:#383534;--accent:#ed1b2f}body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:80;opacity:.06;background-image:repeating-linear-gradient(0deg,transparent 0 2px,#fff 2px 3px),repeating-linear-gradient(93deg,transparent 0 4px,#000 4px 5px);mix-blend-mode:soft-light}.header{height:100px;border:0}.header::after{content:"";position:absolute;bottom:0;left:var(--space);right:var(--space);height:1px;background:#fff5}.brand img{width:185px}.hero-scroll{height:155svh;background:#0c0c0c;--frame-inset:0%}.hero-scroll .hero{position:sticky;top:0;height:100svh;min-height:720px;clip-path:inset(var(--frame-inset));background:#0c0c0c}.hero-shade{opacity:1;background:linear-gradient(0deg,#070707dd,transparent 65%,#08080888),linear-gradient(90deg,#05050560,transparent)}.hero-top{top:132px;font-size:12px}.hero-main{top:auto;bottom:220px}.hero-main>.eyebrow{display:inline-block;border-left:3px solid var(--accent);padding-left:13px;margin:0;color:#fff}h1{font-size:clamp(76px,9.5vw,165px);font-weight:600;line-height:.9;letter-spacing:-.075em;margin:28px 0 30px}h1 em{font-size:.78em;color:#fff;letter-spacing:-.065em}.reel-button{position:absolute;right:0;bottom:12px;font-size:15px}.play-disc{width:72px;height:72px;background:var(--accent);border:0;color:white}.reel-button:hover .play-disc{background:#fff;color:#111}.hero-bottom{bottom:160px}.hero-bottom a{font-size:13px}.hero-caption{font-size:12px}.film-timeline{bottom:36px;background:#090909a0;border:1px solid #fff4;padding:13px 20px;backdrop-filter:blur(10px)}.timeline-labels{color:#f7f5f2}.timeline-labels output{color:#fff}.timeline-track input::-webkit-slider-thumb{background:var(--accent);box-shadow:none;width:5px}.timeline-track input::-moz-range-thumb{background:var(--accent)}.timeline-bottom{color:#c0bcba}.scroll-hint{display:none}.hero-top>span:last-child{max-width:280px;text-align:right}.statement{position:relative;overflow:hidden;padding:65px 0 58px;background:var(--accent);color:#0b0b0b;border-top:1px solid #000}.statement-track{white-space:nowrap;font-size:clamp(70px,10vw,160px);font-weight:700;letter-spacing:-.055em;line-height:1.1;will-change:transform}.statement-track em{color:#fff;font-weight:400}.statement-index{position:absolute;right:var(--space);bottom:18px;font:12px 'Courier New',monospace;letter-spacing:.1em}.work{position:relative;padding-top:110px;background-image:radial-gradient(#ffffff12 .7px,transparent .7px);background-size:8px 8px}.section-heading{margin-bottom:70px}.section-heading h2{font-size:clamp(64px,8vw,118px);line-height:.95;font-weight:500}.section-heading h2 em{color:var(--accent)}.section-note{border-left:1px solid var(--accent);padding-left:20px}.project-grid{column-gap:50px;row-gap:100px;align-items:start}.project-card:first-child{width:88%;position:relative}.project-card:first-child::after{content:"01 / SELECTED FILM";position:absolute;right:-50px;top:0;writing-mode:vertical-rl;font:12px 'Courier New',monospace;letter-spacing:.15em;color:var(--muted)}.project-card:nth-child(3){margin-top:155px}.project-card:nth-child(4){width:90%;margin-top:-75px}.project-card:nth-child(5){margin-top:90px}.project-card:last-child{width:74%}.project-visual{aspect-ratio:1.5;border:1px solid #fff1}.project-card:first-child .project-visual{aspect-ratio:2}.project-visual img{transform:scale(1.06) translateY(var(--parallax,0px));transition:transform .7s ease}.project-button:hover img{transform:scale(1.1) translateY(var(--parallax,0px))}.project-visual video.ready{transform:scale(1.015)}.project-play{background:var(--accent);border:0;border-radius:0;width:48px;height:48px;bottom:0;right:0;color:white}.project-info{border-top:1px solid var(--line);margin-top:15px;padding-top:16px}.project-info h3{font-size:clamp(24px,2.8vw,40px);font-weight:500}.project-info .eyebrow{font-size:12px}.project-index{color:var(--accent);font-size:14px}.photography{background:#f2f1ef;color:#111;position:relative;padding-top:110px}.photography::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background:repeating-linear-gradient(90deg,transparent 0 9px,#7771 9px 10px)}.photography .section-note,.photography .photo-caption .eyebrow{color:#5a5754}.photography .photo-main{background:#080808;padding:25px 0}.photo-caption h3{font-weight:500}.photo-strip{background:#111;padding:22px 12px;gap:10px;border-top:8px dashed #f2f1ef;border-bottom:8px dashed #f2f1ef}.photo-strip button{opacity:.6}.photo-strip button[aria-pressed=true]{outline:2px solid var(--accent);opacity:1}.photo-strip img{height:100px}.photo-arrows button{border:1px solid #1115;border-radius:0}.photo-arrows button:hover{background:#111;color:#fff}.photo-caption{padding:24px 0 35px}.enlarge{color:#fff;border:0;background:var(--accent)}.about{background:#0c0c0c}.about h2{font-size:clamp(55px,7vw,106px)}.people article{border-top:1px solid var(--accent)}footer{background:var(--accent);color:#fff}.coffee{font-weight:500}.footer-bottom{border-color:#fff6}.footer-bottom a:hover{text-decoration:underline}.js-motion .reveal{transform:translateY(60px);transition:opacity 1s,transform 1.1s cubic-bezier(.2,.7,.2,1)}.js-motion .reveal.visible{transform:translateY(0)}@media(max-width:1000px){.reel-button{position:static;margin-top:26px}.hero-main{bottom:230px}h1{font-size:clamp(64px,10vw,105px)}.hero-top>span:last-child{max-width:220px}.project-grid{column-gap:25px}.project-card:nth-child(3){margin-top:100px}}@media(max-width:760px){.header{height:80px}.brand img{width:130px}.hero-scroll{height:135svh}.hero-scroll .hero{height:100svh;min-height:660px}.hero-top{top:106px;max-width:270px}.hero-main{top:27%;bottom:auto}.hero-main>.eyebrow{font-size:12px;max-width:260px}.hero-main h1{font-size:clamp(51px,13.5vw,82px);line-height:.94;margin:24px 0 26px}.hero-main h1 em{font-size:.75em}.hero-top>span:last-child{display:none}.reel-button{position:static;margin-top:20px}.play-disc{width:50px;height:50px}.hero-bottom{bottom:151px}.film-timeline{left:var(--space);right:var(--space);bottom:30px;padding:12px}.hero-bottom a{max-width:150px}.section-heading h2{font-size:clamp(56px,13vw,86px)}.section-heading{margin-bottom:42px}.statement{padding:38px 0 47px}.statement-track{font-size:76px}.statement-index{font-size:12px}.work,.photography{padding-top:75px}.project-grid{gap:50px}.project-card:first-child,.project-card:last-child,.project-card:nth-child(3),.project-card:nth-child(4),.project-card:nth-child(5){width:100%;margin:0}.project-card:first-child::after{display:none}.project-card:first-child .project-visual,.project-visual{aspect-ratio:1.5}.photo-main img{aspect-ratio:1.5}.photo-strip img{height:72px}.photography .photo-main{padding:16px 0}.photo-caption h3{max-width:210px}.photo-arrows button{width:42px;height:42px}.about-intro>p{font-size:20px}.coffee{font-size:clamp(60px,13vw,90px)}}@media(prefers-reduced-motion:reduce){.hero-scroll{height:auto}.hero-scroll .hero{position:relative;clip-path:none}.hero-main{opacity:1;transform:none}.project-visual img{transform:none}.statement-track{transform:none!important}}
/* Full-screen film interface. */
html{scroll-padding-top:0}body::after{opacity:.035}.header{position:fixed;height:86px;background:linear-gradient(#000b,transparent);z-index:30}.header::after{background:#ffffff20}.header nav a{font-family:'Courier New',monospace;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.hero-main h1{font-size:clamp(70px,11.5vw,175px);font-weight:700;letter-spacing:-.07em;line-height:.92}.hero-main h1 em{font:inherit;color:transparent;-webkit-text-stroke:1px #fff}.hero-main{bottom:235px}.hero-top{top:120px}.hero-main>.eyebrow{font-size:12px}.hero-scroll{height:135svh}.hero-scroll .hero{min-height:740px}.reel-button{position:static;margin-top:28px}.play-disc{width:55px;height:55px;border-radius:0}.work.section{padding:0;background:#080808}.work>.section-heading{padding:55px var(--space);margin:0;align-items:center;border-top:1px solid #343434}.work>.section-heading .eyebrow{display:none}.work>.section-heading h2{font:14px 'Courier New',monospace;letter-spacing:.1em;margin:0}.work>.section-heading h2 span{color:#666}.work>.section-heading .section-note{font:12px 'Courier New',monospace;letter-spacing:.06em;border:0;padding:0}.project-grid{display:block}.project-card,.project-card:first-child,.project-card:last-child,.project-card:nth-child(3),.project-card:nth-child(4),.project-card:nth-child(5){width:100%;margin:0;position:relative;min-height:720px;height:100svh}.project-card:first-child::after{display:none}.project-button{height:100%;position:relative;isolation:isolate}.project-visual,.project-card:first-child .project-visual{height:100%;width:100%;aspect-ratio:auto;border:0;position:relative;background:#141414}.project-visual img,.project-visual video,.project-visual video.ready{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none;transition:opacity .6s,transform 1.2s}.project-visual img{z-index:0}.project-visual video{z-index:1;opacity:0}.project-visual video.ready{opacity:1}.project-button:hover img{transform:scale(1.02)}.scene-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,#0006,transparent 45%,#000c)}.scene-corners{position:absolute;inset:115px var(--space) 74px;z-index:3;pointer-events:none;background:linear-gradient(#ffffff80,#ffffff80) left top/28px 1px no-repeat,linear-gradient(#ffffff80,#ffffff80) left top/1px 28px no-repeat,linear-gradient(#ffffff80,#ffffff80) right top/28px 1px no-repeat,linear-gradient(#ffffff80,#ffffff80) right top/1px 28px no-repeat,linear-gradient(#ffffff80,#ffffff80) left bottom/28px 1px no-repeat,linear-gradient(#ffffff80,#ffffff80) left bottom/1px 28px no-repeat,linear-gradient(#ffffff80,#ffffff80) right bottom/28px 1px no-repeat,linear-gradient(#ffffff80,#ffffff80) right bottom/1px 28px no-repeat}.scene-top{position:absolute;z-index:3;top:138px;left:calc(var(--space) + 22px);right:calc(var(--space) + 22px);display:flex;justify-content:space-between;font:12px 'Courier New',monospace;letter-spacing:.12em;color:#eee}.scene-title{position:absolute;z-index:3;bottom:130px;left:var(--space);right:150px;pointer-events:none}.scene-category{font:12px 'Courier New',monospace;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:12px}.scene-category::before{content:"";width:25px;height:2px;background:var(--accent)}.scene-title h3{font-size:clamp(66px,11vw,180px);letter-spacing:-.065em;font-weight:600;line-height:.96;margin:20px 0 16px;overflow-wrap:normal}.scene-title p{font-size:clamp(16px,2vw,28px);font-weight:400;margin:0;color:#fff}.scene-play{position:absolute;right:var(--space);bottom:139px;z-index:4;font:12px 'Courier New',monospace;letter-spacing:.07em;display:flex;flex-direction:column;align-items:flex-end;gap:15px}.scene-play>span{display:grid;place-items:center;width:68px;height:68px;font:32px Arial;background:var(--accent);transition:background .2s,transform .2s}.project-button:hover .scene-play>span{background:#fff;color:#111;transform:translate(3px,-3px)}.scene-bottom{position:absolute;left:var(--space);right:var(--space);bottom:32px;z-index:3;display:flex;justify-content:space-between;font:12px 'Courier New',monospace;letter-spacing:.1em}.scene-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#fff3;z-index:4}.scene-progress i{display:block;height:100%;width:0;background:var(--accent)}.scene-cursor{position:absolute;z-index:4;width:90px;height:90px;border:1px solid #fff9;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%) scale(.7);opacity:0;pointer-events:none;font:12px 'Courier New',monospace;background:#0003;backdrop-filter:blur(8px);transition:opacity .25s,transform .25s}.project-button:hover .scene-cursor{opacity:1;transform:translate(-50%,-50%) scale(1)}.film-rail{position:fixed;right:18px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:5px;z-index:25;opacity:0;pointer-events:none;transition:opacity .3s}.film-rail.visible{opacity:1;pointer-events:auto}.film-rail a{font:12px 'Courier New',monospace;padding:9px;color:#fff8;border-right:2px solid #fff3;background:#0004}.film-rail a.active{color:#fff;border-color:var(--accent);background:#ed1b2f55}.photography{background:#111;color:white;border-color:#333}.photography::before{background:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:64px 64px;opacity:1}.photography .section-heading,.photo-stage{position:relative}.photography .section-note,.photography .photo-caption .eyebrow{color:#aaa}.photography h2 em,.about h2 em{font-family:inherit;font-style:normal;font-weight:500}.photography .section-heading h2{font-size:clamp(48px,6.5vw,105px);font-weight:500}.photo-strip{border-color:#111}.photo-arrows button{color:#fff;border-color:#555}.photo-arrows button:hover{background:var(--accent)}.about .eyebrow{font-family:'Courier New',monospace}.section-heading h2 em{letter-spacing:-.055em}.coffee{font-family:Arial,Helvetica,sans-serif}.scene-title h3{max-width:1100px}.film-scene:last-child .scene-title h3{font-size:clamp(52px,7.8vw,120px);max-width:950px}@media(max-width:760px){.header{height:80px}.brand img{width:125px}.hero-scroll .hero{min-height:700px}.hero-main{top:27%;bottom:auto}.hero-main h1{font-size:clamp(47px,12.5vw,90px)}.hero-main h1 em{font-size:inherit}.hero-main>.eyebrow{max-width:220px}.hero-top{max-width:260px}.work>.section-heading{padding:35px var(--space);display:flex;gap:20px}.work>.section-heading .section-note{display:none}.project-card,.project-card:first-child,.project-card:last-child,.project-card:nth-child(3),.project-card:nth-child(4),.project-card:nth-child(5){min-height:660px;height:100svh}.project-visual,.project-card:first-child .project-visual{aspect-ratio:auto}.scene-top{top:126px;left:calc(var(--space) + 12px);right:calc(var(--space) + 12px);font-size:12px;letter-spacing:0}.scene-top span:first-child{max-width:165px}.scene-title{bottom:170px;left:var(--space);right:var(--space)}.scene-title h3{font-size:clamp(54px,15vw,100px);max-width:100%;line-height:1.02}.film-scene:last-child .scene-title h3{font-size:clamp(40px,10vw,64px)}.scene-play{bottom:100px;right:var(--space);flex-direction:row-reverse;align-items:center;gap:12px}.scene-play>span{width:45px;height:45px;font-size:25px}.scene-bottom{font-size:12px;letter-spacing:0;bottom:25px}.scene-bottom span:last-child{max-width:150px;text-align:right}.scene-corners{inset:105px 15px 75px}.film-rail{right:3px;gap:4px}.film-rail a{padding:7px 4px;font-size:10px}.scene-cursor{display:none}.photography .section-heading h2{font-size:clamp(45px,10vw,65px)}}@media(prefers-reduced-motion:reduce){.hero-scroll .hero{clip-path:none}.scene-cursor{display:none}}
/* Project typography: client, title, then film type. */
.scene-title h3,.film-scene:last-child .scene-title h3{font-size:clamp(62.7px,10.45vw,171px);max-width:1100px;margin:0 0 16px}.scene-category{margin-top:18px}.scene-title{transition:opacity .85s ease}.scene-top,.scene-bottom,.scene-play,.scene-corners{transition:opacity .85s ease}.scene-shade{transition:opacity .85s ease}.scene-title h3,.scene-title p,.scene-title .scene-category{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .85s cubic-bezier(.16,1,.3,1)}.scene-entered .scene-title h3,.scene-entered .scene-title p,.scene-entered .scene-title .scene-category{opacity:1;transform:translateY(0)}.scene-entered .scene-title p{transition-delay:.12s}.scene-entered .scene-title .scene-category{transition-delay:.24s}.project-button.scene-idle .scene-title,.project-button.scene-idle .scene-top,.project-button.scene-idle .scene-bottom,.project-button.scene-idle .scene-play{opacity:0}.project-button.scene-idle .scene-corners{opacity:.15}.project-button.scene-idle .scene-shade{opacity:.35}.project-button:focus-visible .scene-title,.project-button:focus-visible .scene-top,.project-button:focus-visible .scene-bottom,.project-button:focus-visible .scene-play{opacity:1;transition-duration:.15s}.scene-cursor{display:none!important}@media(max-width:760px){.scene-title h3,.film-scene:last-child .scene-title h3{font-size:clamp(51.3px,14.25vw,95px);line-height:1.02}.scene-category{margin-top:14px}.scene-title{bottom:175px}}@media(prefers-reduced-motion:reduce){.scene-title h3,.scene-title p,.scene-title .scene-category{opacity:1;transform:none;transition:none}}
/* Curated photography: full frames and spatial exchange */
.photography .photo-stage{max-width:1400px;margin-inline:auto}.photography .photo-main{width:100%;height:auto;aspect-ratio:16/9;display:block;overflow:hidden;background:#050505}.photography #photo-image{width:100%;height:100%;object-fit:contain;aspect-ratio:16/9;transform:none}.photography .photo-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;overflow:visible;padding:0;margin-top:25px}.photography .photo-strip button{width:100%;min-width:0;height:auto;aspect-ratio:16/9;padding:0;border:1px solid #ffffff30;opacity:1;overflow:hidden;background:#050505;transition:border-color .2s,transform .2s}.photography .photo-strip button:hover,.photography .photo-strip button:focus-visible{border-color:var(--accent);transform:translateY(-3px)}.photography .photo-strip img{width:100%;height:100%;object-fit:contain;filter:none}.photo-flight{position:fixed;z-index:90;object-fit:contain;background:#050505;transform-origin:top left;pointer-events:none;will-change:transform}.photography .photo-caption h3{font-size:clamp(18px,2vw,27px)}@media(max-width:760px){.photography .photo-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.photography .photo-main{aspect-ratio:16/9;height:auto;min-height:0}.photography .photo-caption{gap:16px}.photography .photo-caption h3{font-size:17px}}@media(prefers-reduced-motion:reduce){.photography .photo-strip button{transition:none}}
@media(min-width:1000px){.photography .photo-stage{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:22px 24px;align-items:start}.photography .photo-main{grid-column:1;grid-row:1}.photography .photo-caption{grid-column:1;grid-row:2;margin:0}.photography .photo-strip{grid-column:2;grid-row:1/3;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.photography .photo-main .enlarge{bottom:20px}}
.photography .photo-main{padding:0}#fotografia{scroll-margin-top:100px}
/* Photography as a near edge-to-edge screening surface. */
.photography.section{padding-left:clamp(16px,2vw,36px);padding-right:clamp(16px,2vw,36px)}
.photography .section-heading{padding-inline:clamp(0px,2vw,32px)}
.photography .photo-stage{max-width:none;display:block}
.photography .photo-main{width:100%;aspect-ratio:16/9;max-height:none}
.photography .photo-caption{margin-top:24px}
.photography .photo-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:24px}
@media(min-width:1600px){.photography .photo-strip{grid-template-columns:repeat(11,minmax(0,1fr))}}
@media(max-width:760px){.photography .photo-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}
/* Keep the selected frame and contact strip together in one viewport. */
.photography .photo-stage{width:100%;max-width:1200px;margin-inline:auto}
.photography .photo-main{height:clamp(220px,calc(100svh - 285px),760px);width:100%;aspect-ratio:auto;background:transparent}
.photography #photo-image{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
.photography .photo-caption{margin-top:14px;padding:0}
.photography .photo-caption h3{margin:6px 0 0;font-size:20px}
.photography .photo-strip{display:flex;gap:8px;margin-top:16px;overflow-x:auto;padding:3px 0 8px;scrollbar-width:thin}
.photography .photo-strip button{flex:1 0 0;min-width:74px;width:auto;max-width:none;aspect-ratio:16/9}
.photography .photo-main .enlarge{bottom:16px;right:16px}
@media(max-width:760px){.photography .photo-main{height:auto;aspect-ratio:16/9}.photography .photo-strip button{flex:0 0 100px;min-width:100px}.photography .photo-caption h3{font-size:17px}.photography .photo-caption{margin-top:12px}}

.project-visual.preview-contain video,.project-visual.preview-contain video.ready{object-fit:contain;transform:none;background:#050505}

.all-projects-callout{padding:65px 6vw 85px;background:#0b0b0b;border-bottom:1px solid #ffffff24;text-align:center}.all-projects-callout p{font:11px monospace;letter-spacing:.14em;color:#999}.all-projects-callout a{display:inline-flex;align-items:center;gap:32px;font-size:clamp(26px,4vw,52px);letter-spacing:-.04em;padding:15px 0;border-bottom:1px solid #ef233c}.all-projects-callout a span{color:#ef233c;transition:transform .25s}.all-projects-callout a:hover span{transform:translateX(8px)}
/* Larger photography canvas; preserve the complete frame and the strip below. */
.photography{padding-inline:3vw}.photography .photo-stage{max-width:none}.photography .photo-main{height:min(52.875vw,calc(100svh - 230px));min-height:240px}.photography .photo-caption{margin-top:10px}.photography .photo-strip{margin-top:12px}.photography .photo-strip button{flex:0 0 clamp(90px,9vw,170px)}.photography .section-heading{padding-inline:0}
@media(max-width:760px){.photography{padding-inline:0}.photography .section-heading,.photography .photo-caption,.photography .photo-strip{padding-inline:20px}.photography .photo-main{height:auto;min-height:0;aspect-ratio:16/9}.photography .photo-strip button{flex-basis:100px}.photography .photo-caption h3{max-width:none}}
/* Opaque mobile navigation, including the iPhone safe area. */
@media(max-width:760px){
 html{scroll-padding-top:calc(96px + env(safe-area-inset-top,0px))}
 .header,.detail-page .header{height:calc(80px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:#080808!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;isolation:isolate}
 .header::before{content:"";position:absolute;left:0;right:0;bottom:0;top:calc(-1 * env(safe-area-inset-top,0px));background:#080808;z-index:-1;pointer-events:none}
 .detail-page .detail-nav{top:calc(80px + env(safe-area-inset-top,0px))}
 .catalog-header{padding-top:calc(24px + env(safe-area-inset-top,0px));background-color:#080808}
}
