:root{
 --paper:#f4f3ef;--white:#fff;--ink:#1a1a19;--soft:#595955;--muted:#8a8982;--line:#d5d3cd;--accent:#aa4535;--black:#141414;
 --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
::selection{background:var(--ink);color:var(--paper)}
.grain{position:fixed;inset:0;z-index:200;pointer-events:none;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.2' filter='url(%23n)'/%3E%3C/svg%3E")}
.site-header{height:92px;margin:0 auto;padding:0 4.1vw;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:50;border-bottom:1px solid var(--line);background:var(--paper)}
.identity{display:flex;gap:16px;align-items:center}
.monogram{font-size:38px;letter-spacing:-.105em;font-weight:600;line-height:.9;padding-right:5px}.monogram-period,.accent{color:var(--accent)}
.identity-words{display:flex;flex-direction:column;gap:5px;border-left:1px solid var(--line);padding-left:14px}
.identity-words strong{font-size:10px;letter-spacing:.095em;font-weight:700}.identity-words small{font-size:9px;letter-spacing:.11em;color:var(--muted)}
.main-nav{display:flex;gap:35px;align-items:center}.main-nav a{font-size:10px;letter-spacing:.09em;font-weight:700;transition:opacity .2s}.main-nav a:hover{opacity:.55}.main-nav .nav-index{font-size:8px;font-weight:400;opacity:.43;position:relative;top:-5px;margin-left:2px}.nav-current{border-bottom:1px solid var(--ink);padding-bottom:6px}
.menu-toggle{display:none;background:none;border:0;font-size:11px;letter-spacing:.09em;font-weight:700}
.app-shell{padding:0 4.1vw}.eyebrow{font-size:10px;letter-spacing:.12em;font-weight:700}.micro{font-size:10px;letter-spacing:.095em;line-height:1.65}.light{color:var(--muted)}.accent-type{color:var(--accent)}
.hero-title-grid{display:grid;grid-template-columns:75% 25%;align-items:end;padding:80px 0 50px;gap:20px}
.kicker-row{display:flex;gap:34px;margin-bottom:28px}.hero-h1{font-size:clamp(64px,9.55vw,165px);font-weight:600;letter-spacing:-.105em;line-height:.82;margin:0 0 10px -8px;white-space:nowrap}.hero-h1 span{display:block}
.hero-aside{display:flex;flex-direction:column;align-items:flex-start;justify-content:end;padding:0 0 14px 15px;gap:23px}.hero-aside p{font-size:clamp(13px,1vw,17px);line-height:1.45;letter-spacing:-.02em;max-width:210px;margin:0}.hero-aside .serial{font-size:11px;letter-spacing:.045em;color:var(--muted)}
.hairline{height:1px;width:100%;background:var(--line)}
.section-meta{display:flex;align-items:center;justify-content:space-between;padding:22px 0 24px}.section-meta>div{display:flex;gap:25px;align-items:center}
.dot{height:6px;width:6px;background:var(--accent);display:inline-block;border-radius:50%;vertical-align:middle;margin-right:8px}
.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 22px}
.work-card{display:block;min-width:0;overflow:hidden}.work-card.wide{grid-column:1/-1}
.work-card-visual{position:relative;background:#d3d1cb;overflow:hidden;isolation:isolate;display:block;aspect-ratio:16/7.4}.work-card.half .work-card-visual{aspect-ratio:16/10}
.work-card-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.05s cubic-bezier(.18,.75,.14,1),filter .5s;filter:grayscale(0)}
.work-card:hover .work-card-visual img{transform:scale(1.045)}
.work-card .index-numeral{position:absolute;top:21px;left:25px;color:#fff;font-size:10px;letter-spacing:.1em;mix-blend-mode:difference;z-index:2;font-weight:700}
.card-arrow{position:absolute;right:22px;bottom:22px;height:42px;width:42px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--paper);font-size:19px;transform:translateY(72px);transition:transform .38s cubic-bezier(.18,.75,.14,1);z-index:2}
.work-card:hover .card-arrow{transform:translateY(0)}
.work-card-info{display:flex;align-items:start;justify-content:space-between;padding-top:17px;gap:15px}
.work-card-info h2{font-weight:600;font-size:clamp(21px,2.25vw,35px);letter-spacing:-.06em;margin:2px 0 7px;line-height:1.08}
.work-card-info p{margin:0;color:var(--soft);font-size:10px;letter-spacing:.085em;text-transform:uppercase}
.work-card-info .count{font-size:11px;letter-spacing:.08em;white-space:nowrap;color:var(--muted)}
.work-card.wide .work-card-info h2{font-size:clamp(28px,3vw,45px)}
.statement{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:end;margin-top:110px;padding:40px 0 110px;border-top:1px solid var(--line)}
.statement-title{font-size:clamp(35px,5vw,83px);font-weight:550;line-height:.98;letter-spacing:-.075em;margin:0;max-width:670px}
.statement-copy{margin:0 0 7px auto;max-width:315px;font-size:13px;line-height:1.6;color:var(--soft)}
.info-panel{padding:55px 0 105px;display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid var(--line)}.info-panel .large{font-size:clamp(32px,4.2vw,63px);letter-spacing:-.075em;line-height:1.02;margin:35px 0 20px;font-weight:540}.info-panel p{color:var(--soft);font-size:15px;max-width:470px;line-height:1.65}.info-panel a{text-decoration:underline;text-underline-offset:5px}
.footer{background:var(--ink);color:#f5f4ed;padding:46px 4.1vw 26px}.footer-top{display:flex;justify-content:space-between;align-items:start;padding-bottom:125px;border-bottom:1px solid #41413d}.footer-top>span{font-size:clamp(36px,5.8vw,100px);letter-spacing:-.08em;font-weight:600;line-height:1}.footer-top a{font-size:10px;letter-spacing:.12em;padding-top:13px}.footer-bottom{display:flex;justify-content:space-between;gap:15px;padding-top:23px;color:#aaa9a2;font-size:9px;letter-spacing:.12em}
/* Project */
.project-wrap{padding:0 4.1vw}.project-crumb{display:flex;justify-content:space-between;align-items:center;padding:27px 0;border-bottom:1px solid var(--line)}
.back-link{font-size:10px;letter-spacing:.115em;font-weight:700}.back-link span{font-size:18px;vertical-align:-2px;margin-right:12px}.project-intro{display:grid;grid-template-columns:60% 40%;padding:69px 0 47px;gap:18px;align-items:end}
.project-intro h1{font-size:clamp(51px,7.8vw,120px);line-height:.89;letter-spacing:-.095em;font-weight:600;margin:25px 0 0}.project-intro-right{align-self:end;justify-self:end;width:min(360px,95%)}
.project-intro-right .project-description{font-size:13px;line-height:1.5;color:var(--soft);margin:25px 0 0;max-width:330px}.project-stats{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:15px;padding-top:13px}.project-stats>div{display:flex;flex-direction:column;gap:7px}.project-stats strong{font-size:14px;letter-spacing:-.025em;font-weight:500}
.viewer-shell{background:var(--black);color:#f0efeb;margin:0 -4.1vw;padding:0 4.1vw 35px}.viewer-nav{display:flex;justify-content:space-between;align-items:center;min-height:77px;gap:15px;border-bottom:1px solid #3c3c3a}.viewer-nav>span{font-size:10px;letter-spacing:.11em;color:#b3b2ad;font-weight:600}
.view-modes{display:flex;gap:5px}.mode-button{border:1px solid transparent;background:transparent;color:#a1a09b;font-size:10px;letter-spacing:.09em;padding:13px 18px;transition:color .2s,border .2s;white-space:nowrap}.mode-button:hover{color:#fff}.mode-button.active{border-color:#7e7d76;color:#fff}.mode-button span{opacity:.5;margin-left:6px;font-size:9px}
.viewer-stage{position:relative;margin:26px auto 0;max-width:1440px}.frame-display{height:min(67vw,70vh);min-height:320px;display:flex;align-items:center;justify-content:center;background:#242424;position:relative;overflow:hidden;isolation:isolate}.frame-display img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;user-select:none}.frame-display img.animating{animation:fadeFrame .25s ease}
@keyframes fadeFrame{from{opacity:.64;transform:scale(.997)}to{opacity:1;transform:scale(1)}}
.frame-display:fullscreen{background:#161616}.frame-display:fullscreen img{object-fit:contain}
.frame-paddle{position:absolute;z-index:3;top:0;bottom:0;width:19%;background:transparent;color:#fff;border:0;font-size:26px;opacity:0;transition:opacity .2s;display:flex;align-items:center}.frame-paddle.prev{left:0;justify-content:flex-start;padding-left:24px}.frame-paddle.next{right:0;justify-content:flex-end;padding-right:24px}.frame-display:hover .frame-paddle{opacity:.7}.frame-paddle:disabled{cursor:default;opacity:0!important}
.viewer-under{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0}.viewer-under .counter{font-size:11px;letter-spacing:.08em;white-space:nowrap}.viewer-under .title{font-size:10px;letter-spacing:.1em;color:#92918c}.viewer-tools{display:flex;gap:6px}.viewer-tools button{background:transparent;color:#e8e7e2;border:1px solid #484847;min-width:36px;min-height:33px;padding:5px 10px;font-size:15px;transition:background .2s}.viewer-tools button:hover{background:#383838}
.film-strip{display:flex;overflow-x:auto;gap:7px;padding-bottom:9px;scrollbar-width:thin;scrollbar-color:#666 #1c1c1c}.film-strip button{padding:0;border:1px solid #444;background:transparent;flex:none;width:118px;height:73px;position:relative;opacity:.52;transition:opacity .2s,border-color .2s;overflow:hidden}.film-strip button.active{opacity:1;border:2px solid #f5f4ee}.film-strip button:hover{opacity:1}.film-strip button img{width:100%;height:100%;object-fit:cover}.film-strip .frame-num{position:absolute;bottom:3px;right:4px;padding:2px 4px;background:rgba(0,0,0,.7);font-size:8px;color:white}
.viewer-note{font-size:10px;color:#83827f;letter-spacing:.06em;line-height:1.5;text-align:right;margin-top:13px}
.contact-panel{padding:28px 0 10px}.contact-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;color:#a8a7a0;font-size:10px;letter-spacing:.09em}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px 12px}.contact-cell{background:transparent;color:white;border:0;padding:0;display:block;text-align:left;min-width:0}.contact-cell img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#262626;display:block}.contact-cell:hover img{filter:brightness(.85)}.contact-cell span{display:block;font-size:9px;letter-spacing:.07em;padding-top:8px;color:#a5a49d}
.film-panel{padding:28px 0 0;max-width:1440px;margin:0 auto}.film-panel video{width:100%;background:#000;max-height:75vh;aspect-ratio:16/9;display:block}.film-caption{display:flex;justify-content:space-between;padding:19px 0 0;color:#92918c;font-size:10px;letter-spacing:.09em}
.project-end{padding:85px 0 110px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end}.project-end .details{font-size:13px;color:var(--soft);max-width:350px;line-height:1.65}.next-project{justify-self:end;text-align:right}.next-project h2{font-size:clamp(38px,5.6vw,83px);line-height:1;letter-spacing:-.078em;font-weight:550;margin:20px 0 0}.next-project:hover h2{color:var(--accent)}
@media(max-width:900px){.hero-title-grid{grid-template-columns:1fr;padding-top:65px}.hero-h1{font-size:clamp(53px,11.5vw,100px);margin-left:-5px}.hero-aside{padding:12px 0;max-width:550px;flex-direction:row;gap:40px}.hero-aside p{max-width:300px}.project-intro{grid-template-columns:1fr;padding-top:55px}.project-intro-right{justify-self:start;width:100%;margin-top:30px}.project-stats{max-width:460px}.frame-display{height:min(72vw,69vh)}.work-card-visual{aspect-ratio:16/9}}
@media(max-width:620px){.site-header{height:74px;padding:0 5vw}.monogram{font-size:31px}.identity-words strong{font-size:8px}.identity-words small{font-size:8px}.main-nav{display:none;position:absolute;left:0;right:0;top:74px;background:var(--paper);padding:25px 5vw 28px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:20px}.site-header.open .main-nav{display:flex}.menu-toggle{display:block}.app-shell,.project-wrap{padding-left:5vw;padding-right:5vw}.hero-title-grid{padding:66px 0 34px}.hero-h1{font-size:clamp(43px,13vw,82px);letter-spacing:-.09em;margin-left:-3px}.kicker-row{gap:19px;margin-bottom:30px}.hero-aside{gap:20px}.hero-aside p{font-size:12px}.section-meta{padding-top:15px}.section-meta>div{gap:10px}.work-grid{grid-template-columns:1fr;gap:38px}.work-card.wide{grid-column:auto}.work-card-visual,.work-card.half .work-card-visual{aspect-ratio:16/10}.work-card-info h2,.work-card.wide .work-card-info h2{font-size:26px}.card-arrow{transform:none;height:33px;width:33px;right:12px;bottom:12px;font-size:16px}.statement{grid-template-columns:1fr;margin-top:75px;padding:29px 0 75px;gap:35px}.statement-copy{margin:0;max-width:330px}.info-panel{grid-template-columns:1fr;padding:45px 0 80px;gap:20px}.info-panel p{font-size:13px}.footer{padding:42px 5vw 22px}.footer-top{padding-bottom:95px}.footer-top a{font-size:9px}.footer-bottom{flex-wrap:wrap;gap:15px}.project-intro h1{font-size:clamp(49px,12vw,80px)}.project-crumb{padding:21px 0}.viewer-shell{margin:0 -5vw;padding:0 5vw 25px}.viewer-nav{min-height:70px;flex-direction:column;align-items:stretch;padding:17px 0 15px}.view-modes{justify-content:space-between}.mode-button{padding:9px 11px;font-size:9px}.viewer-stage{margin-top:14px}.frame-display{height:58vw;min-height:210px}.viewer-under .title{display:none}.film-strip button{width:95px;height:61px}.contact-grid{grid-template-columns:repeat(2,1fr);gap:17px 10px}.contact-header{gap:10px;flex-wrap:wrap}.project-end{grid-template-columns:1fr;gap:45px;padding:65px 0 75px}.next-project{justify-self:start;text-align:left}.next-project h2{font-size:47px}.viewer-note{text-align:left}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V2 / artwork at scale, finished-film chapter */
.film-indicator{position:absolute;z-index:2;top:16px;right:16px;color:#f4f3ef;border:1px solid rgba(255,255,255,.5);font-size:9px;letter-spacing:.11em;padding:9px 12px;background:rgba(0,0,0,.26);backdrop-filter:blur(7px)}
.film-jump{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:17px 0 15px;margin-top:24px;width:100%;background:transparent;border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);text-align:left;font-size:10px;letter-spacing:.09em;font-weight:700;color:var(--ink);transition:padding .25s,color .25s}
.film-jump:hover{color:var(--accent);padding-left:7px}.film-jump-icon{font-size:10px;border:1px solid currentColor;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;padding-left:1px}.film-jump .jump-arrow{margin-left:auto;font-size:17px;font-weight:400}
.detail-opener{position:relative;margin:0 -4.1vw;overflow:hidden;height:clamp(300px,43vw,720px);background:#191817;isolation:isolate}
.detail-opener>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.2);filter:contrast(1.035)}
.detail-opener:after{content:"";position:absolute;z-index:0;left:0;right:0;bottom:0;height:25%;background:linear-gradient(transparent,rgba(0,0,0,.7));pointer-events:none}
.detail-opener figcaption{position:absolute;z-index:1;bottom:0;left:0;width:100%;padding:22px 4.1vw;color:#fff;display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;letter-spacing:.12em}
.detail-opener figcaption span:last-child{font-weight:400;color:#dedcd6}
.viewer-shell{scroll-margin-top:0}
.frame-display{cursor:default}
.frame-display img{transform-origin:var(--zoom-x,50%) var(--zoom-y,50%);transform:scale(1);transition:transform .34s cubic-bezier(.15,.8,.25,1)}
.frame-display.inspecting{cursor:crosshair}
.frame-display.inspecting img{transform:scale(1.8);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.viewer-tools .inspect-tool{font-size:10px;letter-spacing:.08em;min-width:124px;white-space:nowrap}
.viewer-tools .inspect-tool.on{color:#151515;background:#f4f3ef;border-color:#f4f3ef}
.film-tab{color:#eee!important;border-color:rgba(240,239,231,.32)!important}
.film-tab:hover{border-color:#fff!important;background:rgba(255,255,255,.08)}
.film-chapter{background:#0d0d0e;color:#f3f2eb;margin:0 -4.1vw;padding:85px 4.1vw 92px;scroll-margin-top:0;border-top:1px solid #343434}
.film-chapter-top{max-width:1440px;margin:0 auto 32px;display:flex;justify-content:space-between;align-items:end;gap:20px}
.chapter-label{display:flex;align-items:flex-start;gap:25px}
.chapter-number{font-size:11px;letter-spacing:.08em;color:#a6a6a0;border:1px solid #555451;border-radius:50%;height:44px;width:44px;display:grid;place-items:center;flex:none}
.film-chapter-top .eyebrow{font-size:10px;letter-spacing:.17em;color:#a9a8a2}
.film-chapter-top h2{font-size:clamp(40px,6vw,94px);font-weight:520;line-height:.95;letter-spacing:-.075em;margin:11px 0 0}
.film-chapter-top h2 em{font-style:normal;color:#8f8d88}
.chapter-aside{text-align:right;color:#97968f;line-height:1.8;font-size:10px;letter-spacing:.10em}
.film-reveal{max-width:1440px;margin:0 auto;background:#000;aspect-ratio:16/9;position:relative;overflow:hidden}
.film-poster{display:block;width:100%;height:100%;position:absolute;inset:0;border:0;background:#000;color:#fff;padding:0;overflow:hidden;text-align:left;isolation:isolate}
.film-poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.3s cubic-bezier(.2,.75,.1,1),filter .5s}
.film-poster:hover>img,.film-poster:focus-visible>img{transform:scale(1.035);filter:brightness(.88)}
.film-poster-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),transparent 30%,transparent 65%,rgba(0,0,0,.36));z-index:1}
.film-poster-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:19px}
.play-triangle{display:grid;place-items:center;width:clamp(70px,9vw,138px);height:clamp(70px,9vw,138px);border:1px solid rgba(255,255,255,.9);border-radius:50%;font-size:clamp(16px,2vw,29px);padding-left:7px;background:rgba(0,0,0,.15);backdrop-filter:blur(3px);transition:background .3s,transform .3s}
.film-poster:hover .play-triangle,.film-poster:focus-visible .play-triangle{transform:scale(1.08);background:rgba(255,255,255,.22)}
.play-caption{font-size:10px;letter-spacing:.2em;font-weight:700;text-shadow:0 1px 5px rgba(0,0,0,.65)}
.poster-corner{position:absolute;z-index:2;font-size:10px;letter-spacing:.1em;font-weight:600;text-shadow:0 2px 8px #0007}
.poster-corner.top-left{top:26px;left:26px}.poster-corner.bottom-left{bottom:25px;left:26px}.poster-corner.bottom-right{bottom:25px;right:26px}
.film-playing{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.film-after{max-width:1440px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #3b3a38;padding:19px 0 0;color:#99978f;font-size:10px;letter-spacing:.09em;gap:20px}
.film-after button{background:transparent;border:0;color:#f3f2eb;font-size:10px;letter-spacing:.09em;padding:3px 0}
.film-after button:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.detail-opener{height:clamp(330px,56vw,600px)}.chapter-label{gap:18px}}
@media(max-width:620px){.film-indicator{font-size:8px;top:10px;right:10px;padding:7px 9px}.detail-opener{height:320px;margin:0 -5vw}.detail-opener>img{transform:scale(1.2)}.detail-opener figcaption{padding:18px 5vw;font-size:9px;gap:15px}.detail-opener figcaption span:last-child{max-width:50%;text-align:right}.film-chapter{margin:0 -5vw;padding:58px 5vw 60px}.film-chapter-top{display:block;margin-bottom:27px}.chapter-number{width:33px;height:33px;font-size:9px}.chapter-label{gap:14px}.film-chapter-top h2{font-size:clamp(35px,9vw,60px)}.chapter-aside{display:block;margin-top:20px;text-align:left;padding-left:47px;font-size:9px}.film-reveal{aspect-ratio:16/10}.poster-corner{font-size:8px}.poster-corner.top-left{top:14px;left:14px}.poster-corner.bottom-left{bottom:14px;left:14px}.poster-corner.bottom-right{display:none}.play-triangle{width:76px;height:76px}.play-caption{font-size:8px}.film-after{font-size:8px}.film-after button{font-size:9px}.viewer-tools .inspect-tool{min-width:95px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.film-poster>img,.play-triangle,.frame-display img{transition:none!important}}

.frame-display #current-frame{cursor:zoom-in}.frame-display.inspecting #current-frame{cursor:zoom-out}
.contact-chapter + .contact-chapter{margin-top:43px}
.contact-chapter-label{display:flex;justify-content:space-between;align-items:center;color:#dad8d0;border-bottom:1px solid #444440;margin:0 0 20px;padding:0 0 14px;font-size:10px;letter-spacing:.11em}

/* V2.1 / direct-contact signature — independent, understated, one-touch inquiry */
.contact-direct-details{padding-top:2px;min-width:0}
.contact-email{display:flex;align-items:baseline;justify-content:space-between;gap:18px;width:100%;font-size:clamp(20px,2.65vw,43px);font-weight:500;line-height:1.15;letter-spacing:-.055em;padding:24px 0 26px;border-bottom:1px solid var(--ink);overflow-wrap:anywhere;text-decoration:none!important;transition:color .2s ease}
.contact-email:hover,.contact-phone:hover{color:var(--accent)}
.contact-email span{flex:none;font-size:clamp(19px,2vw,32px);font-weight:350;line-height:1;transition:transform .2s ease}
.contact-email:hover span{transform:translate(3px,-3px)}
.contact-phone-row{display:flex;justify-content:space-between;gap:30px;align-items:baseline;padding:21px 0 28px;border-bottom:1px solid var(--line)}
.contact-phone{font-size:clamp(17px,1.4vw,23px);font-weight:450;letter-spacing:-.035em;text-decoration:none!important;white-space:nowrap;transition:color .2s}
.contact-phone span{color:var(--muted);font-size:15px;margin-left:9px}
.contact-direct .contact-footnote{font-size:10px;letter-spacing:.105em;margin:28px 0 0;color:var(--muted);max-width:100%}
@media(max-width:620px){.contact-direct-details{padding-top:13px}.contact-email{font-size:clamp(18px,5vw,31px);padding-top:23px}.contact-phone-row{gap:20px}.contact-phone{font-size:20px}.contact-direct .contact-footnote{font-size:9px;line-height:1.7}}
/* V3 / Four disciplines; original V2 design language retained. */
.discipline-section{padding-bottom:24px}
.discipline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.discipline-button{border:0;border-right:1px solid var(--line);background:transparent;text-align:left;min-height:166px;padding:20px 15px 16px 17px;display:flex;flex-direction:column;align-items:stretch;transition:background .22s,color .22s}
.discipline-button:first-child{padding-left:0}.discipline-button:last-child{border-right:0}
.discipline-button:hover,.discipline-button.selected{background:var(--ink);color:var(--paper);padding-left:20px}
.discipline-button .cat-number{font-size:9px;letter-spacing:.11em;opacity:.55}
.discipline-button strong{font-size:clamp(15px,1.7vw,25px);letter-spacing:-.055em;line-height:1.12;font-weight:550;margin-top:27px;display:flex;align-items:flex-start;gap:6px;justify-content:space-between}
.discipline-button .cat-arrow{font-size:16px;font-weight:400;opacity:.65}
.discipline-button small{font-size:10px;margin-top:auto;padding-top:10px;line-height:1.5;letter-spacing:.02em;color:var(--muted)}.discipline-button.selected small,.discipline-button:hover small{color:#c6c3bb}
.portfolio-index{scroll-margin-top:12px}.portfolio-index .section-meta{margin-top:9px}
.reset-filter{font-size:9px;color:var(--ink);background:none;border:0;letter-spacing:.1em;border-bottom:1px solid var(--ink);padding:7px 0}.reset-filter.hidden{visibility:hidden}
.work-grid .work-card.half .work-card-visual{aspect-ratio:16/10}
.empty-work{background:#e7e5e0;min-height:400px;padding:60px clamp(30px,5vw,88px);border:1px solid var(--line)}
.empty-work h2{font-size:clamp(54px,8vw,123px);letter-spacing:-.09em;line-height:.89;margin:30px 0}.empty-work p{max-width:420px;line-height:1.6;color:var(--soft)}
.about-teaser{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:55px 0 100px;border-top:1px solid var(--line);align-items:center}
.about-teaser .large{font-size:clamp(48px,6vw,100px);letter-spacing:-.078em;line-height:.93;font-weight:550;margin:26px 0 35px}
.about-teaser-image{height:clamp(240px,31vw,520px);overflow:hidden;background:#c8c7c1}.about-teaser-image img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.84)}
.text-cta{display:inline-block;border-bottom:1px solid var(--ink);padding:0 0 9px;font-size:11px;letter-spacing:.10em}
.text-cta:hover{color:var(--accent)}
.about-page{padding:0 4.1vw}.about-page-heading{padding:68px 0 44px}.about-page-heading h1{font-size:clamp(60px,10vw,173px);line-height:.81;letter-spacing:-.095em;font-weight:570;margin:25px 0 0}
.about-editorial{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:7.1%;align-items:start;border-top:1px solid var(--ink);padding-top:24px}
.about-primary-image{margin:0}.about-primary-image img{display:block;width:100%;height:auto;max-height:960px;object-fit:contain}
.about-primary-image figcaption{font-size:9px;letter-spacing:.11em;color:var(--muted);padding:18px 0 0}
.bio-column{padding:11px 0 20px}.bio-text{max-width:530px}.bio-lead{font-size:clamp(22px,2.75vw,42px)!important;line-height:1.14!important;letter-spacing:-.06em;color:var(--ink)!important;font-weight:550;margin:0 0 46px!important}
.bio-one-line{font-size:clamp(21px,2.3vw,35px)!important;letter-spacing:-.045em;line-height:1.2!important;color:var(--ink)!important;margin:0 0 26px!important}
.bio-text>p:not(.bio-lead):not(.bio-one-line){font-size:clamp(14px,1.07vw,17px);line-height:1.78;color:#50504b;margin:0 0 21px;max-width:520px}
.signature-area{margin-top:40px;display:flex;flex-direction:column;align-items:flex-start;gap:1px}.signature-area span{color:var(--muted);letter-spacing:.13em;font-size:9px}
.signature-area img{display:block;width:clamp(150px,17vw,254px);height:auto;mix-blend-mode:multiply}
.about-outro{display:flex;justify-content:space-between;align-items:center;padding:80px 0 38px}.about-outro a{font-size:10px;letter-spacing:.12em;border-bottom:1px solid;padding-bottom:8px}
.artwork-editorial{padding:0 0 80px;scroll-margin-top:0}.artwork-stage-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ink);padding:22px 0}
.stages-main{background:#171717;position:relative;height:clamp(320px,63vw,875px);overflow:hidden;display:grid;place-items:center}
.stages-main img{width:100%;height:100%;object-fit:contain;transition:transform .3s ease;transform-origin:var(--zoom-x,50%) var(--zoom-y,50%);cursor:zoom-in}
.stages-main.inspecting img{transform:scale(1.8);cursor:zoom-out}.stages-main:fullscreen{background:#151515}
.stage-paddle{position:absolute;top:0;bottom:0;width:13%;background:transparent;border:0;color:white;font-size:33px;opacity:0;transition:opacity .25s}.stage-paddle.left{left:0;text-align:left;padding-left:24px;background:linear-gradient(90deg,rgba(0,0,0,.35),transparent)}.stage-paddle.right{right:0;text-align:right;padding-right:24px;background:linear-gradient(270deg,rgba(0,0,0,.35),transparent)}.stages-main:hover .stage-paddle,.stage-paddle:focus-visible{opacity:1}
.stage-annotation{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:23px 0;border-bottom:1px solid var(--line)}.stage-annotation>div:first-child{display:grid;grid-template-columns:80px auto;align-items:baseline;gap:10px}.stage-annotation .stage-count{color:var(--muted);font-size:11px;letter-spacing:.08em}.stage-annotation strong{font-size:19px;letter-spacing:-.03em;font-weight:550}.stage-annotation p{grid-column:2;font-size:12px;color:var(--muted);margin:0}
.stage-annotation .viewer-tools button{border-color:var(--line);color:var(--ink)}.stage-annotation .viewer-tools button:hover{background:var(--ink);color:#fff}
.stage-filmstrip{display:flex;gap:11px;overflow-x:auto;padding:18px 0;scrollbar-width:thin}.stage-filmstrip button{flex:0 0 155px;border:0;padding:0;background:transparent;text-align:left;opacity:.52;transition:opacity .2s}.stage-filmstrip button:hover,.stage-filmstrip button.active{opacity:1}.stage-filmstrip button img{width:100%;height:96px;object-fit:cover;background:#dedbd3;display:block;border:2px solid transparent}.stage-filmstrip button.active img{border:2px solid var(--accent)}.stage-filmstrip button span{font-size:9px;line-height:1.4;letter-spacing:.05em;color:var(--soft);display:block;padding-top:7px}
.credit-note{max-width:650px;font-size:12px;line-height:1.7;color:var(--soft);margin:15px 0}
.project-wrap .film-chapter{margin-top:0}.film-chapter-top h2{max-width:820px;font-size:clamp(35px,5.15vw,79px)}.film-dot{color:var(--accent)}
@media(max-width:900px){.discipline-grid{grid-template-columns:1fr 1fr}.discipline-button:nth-child(2){border-right:0}.discipline-button:nth-child(-n+2){border-bottom:1px solid var(--line)}.about-editorial{gap:5%}.about-page-heading h1{font-size:clamp(56px,10vw,110px)}.bio-lead{margin-bottom:27px!important}}
@media(max-width:620px){.discipline-button{min-height:135px;padding:17px 12px}.discipline-button strong{font-size:18px;margin-top:18px}.discipline-button small{font-size:9px}.discipline-button:hover,.discipline-button.selected{padding-left:13px}.about-teaser{grid-template-columns:1fr;padding:45px 0 65px;gap:22px}.about-teaser-image{height:74vw}.about-page{padding:0 5vw}.about-page-heading{padding:45px 0 30px}.about-page-heading h1{font-size:clamp(52px,13vw,90px)}.about-editorial{grid-template-columns:1fr;gap:44px}.bio-text>p:not(.bio-lead):not(.bio-one-line){font-size:15px}.bio-lead{font-size:30px!important}.bio-one-line{font-size:27px!important}.signature-area img{width:180px}.about-outro{padding:45px 0 30px}.stage-annotation{align-items:flex-start;flex-direction:column}.stage-annotation>div:first-child{grid-template-columns:58px auto}.stage-annotation strong{font-size:17px}.stage-filmstrip button{flex-basis:118px}.stage-filmstrip button img{height:75px}.stages-main{height:70vw;min-height:280px}.stage-paddle{opacity:.4}.artwork-stage-meta{gap:20px}.stage-annotation .viewer-tools{align-self:end}.film-chapter-top h2{font-size:33px}.work-card-info .count{white-space:normal;text-align:right;font-size:9px;max-width:140px}}

/* V3.1 / Hierarchy, natural-scrolling illustration pages, selective process. */
.accent-gus{color:var(--accent)}
.editorial-art{max-width:1600px;margin:0 auto;padding-bottom:90px;scroll-margin-top:0}
.editorial-chapter{display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:baseline;border-top:1px solid var(--ink);padding:24px 0 19px;margin-top:72px}
.editorial-chapter:first-child{margin-top:0}
.ed-number{font-size:10px;letter-spacing:.16em;color:var(--accent)}
.ed-label{font-size:clamp(15px,1.5vw,20px);font-weight:600;letter-spacing:-.045em}
.editorial-chapter p{max-width:600px;margin:10px 0 0;font-size:13px;line-height:1.7;color:var(--soft)}
.natural-art{margin:0}
.natural-art img{width:100%;height:auto;max-height:none;display:block;object-fit:unset;object-position:unset}
.natural-art figcaption{display:flex;justify-content:flex-end;align-items:center;padding:12px 0 0}
.natural-art.hero-art{width:100%}
.natural-art.dark-art{background:#151515}
.natural-art.supporting-art{width:min(100%,1110px);margin:0 auto}
.natural-art.photo-credit{max-width:960px}
.natural-art.render-art{width:min(100%,1280px);margin:auto}
.source-link{font-size:9px;color:var(--soft);text-decoration:none;letter-spacing:.14em;border-bottom:1px solid var(--line);padding-bottom:7px}
.source-link:hover{color:var(--accent);border-color:var(--accent)}
.product-study{max-width:1110px;margin:6px auto 0}
.product-study img{width:100%;height:auto;display:block;background:#eae9e4}
.product-study figcaption{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:14px 0;font-size:9px;letter-spacing:.12em;color:var(--muted)}
.process-intro{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--ink);padding:28px 0 32px;margin-top:100px;align-items:start}
.process-intro>div{display:flex;flex-direction:column;gap:12px}
.process-intro .ed-label{font-size:clamp(24px,3.6vw,56px);line-height:1.1;letter-spacing:-.06em}
.process-intro p{max-width:370px;font-size:14px;line-height:1.7;color:var(--soft);margin:0}
.process-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 0 40px}
.process-card{margin:0;min-width:0}
.process-card img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#eae9e5}
.process-card figcaption{border-top:1px solid var(--line);padding:14px 0;display:flex;align-items:baseline;justify-content:space-between;gap:20px}
.process-card figcaption span{font-size:10px;letter-spacing:.12em;font-weight:650;white-space:nowrap}
.process-card figcaption p{font-size:12px;line-height:1.6;color:var(--soft);margin:0;text-align:right}
.process-outro{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:18px 0 0}
@media(max-width:700px){.editorial-chapter{grid-template-columns:32px minmax(0,1fr);margin-top:55px}.process-intro{grid-template-columns:1fr;gap:15px;margin-top:64px}.process-row{grid-template-columns:1fr;margin-bottom:16px}.process-card figcaption{padding:12px 0 20px}.process-outro{display:block}.process-outro>span{display:block;margin-bottom:5px}.product-study figcaption{font-size:8px}}

/* V4 / art directed project hierarchy and immersive picture-book spreads */
.archive-link-row{padding:36px 0 5px;text-align:right}.archive-link{border:0;border-bottom:1px solid #77736c;padding:4px 0 9px;background:none;color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.13em}.archive-link:hover{color:var(--accent)}
.book-embed-wrap{margin:25px auto 80px;max-width:1400px}.book-embed{display:block;width:100%;height:clamp(400px,82vw,1140px);border:0;background:var(--paper);overflow:hidden}.book-embed-wrap .credit-note{margin-top:14px}
.book-fullbleed{width:calc(100% + 8.2vw);margin:0 -4.1vw 70px}.book-plate{margin:0 auto 58px;width:100%;max-width:1920px}.book-plate img{display:block;width:100%;height:auto;object-fit:contain}.book-plate figcaption{display:flex;justify-content:space-between;gap:15px;margin:0 4.1vw;padding:14px 0;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.1em;color:var(--soft)}.book-plate figcaption a{color:var(--ink);font-weight:700}.book-plate figcaption a:hover{color:var(--accent)}
.keyart-editorial{max-width:1440px;margin:0 auto}.keyart-plate{width:min(100%,850px);margin:30px auto 100px}.keyart-plate.lead{width:min(100%,950px)}.keyart-image{display:flex;align-items:center;justify-content:center;width:100%;background:transparent}.keyart-plate img{display:block;max-width:100%;height:auto;max-height:none;object-fit:contain}.keyart-plate figcaption{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:14px 0;font-size:10px;letter-spacing:.09em}.keyart-plate figcaption a{font-weight:700}.keyart-plate figcaption a:hover{color:var(--accent)}
@media (max-width:620px){.book-fullbleed{width:calc(100% + 10vw);margin:0 -5vw 50px}.book-plate{margin-bottom:35px}.book-plate figcaption{margin:0 5vw;font-size:8px}.book-embed{height:clamp(390px,93vw,650px)}.keyart-plate{margin-bottom:55px}.keyart-plate figcaption{font-size:8px}}

/* V4.1 / Artwork-first editorial scale. Keep the big art big; subordinate images stay subordinate. */
.natural-art.hero-art:not(.nationwide-wide-hero){width:100vw;margin-left:calc(50% - 50vw)}
.natural-art.hero-art:not(.nationwide-wide-hero) figcaption{padding:15px max(4.1vw,calc((100vw - 1600px)/2)) 0}
.nationwide-wide-hero{width:100vw!important;max-width:none;margin:0 0 0 calc(50% - 50vw)!important;background:#e5e6dc}
.nationwide-wide-hero img{width:100%;height:auto;display:block;max-width:none;object-fit:contain}
.nationwide-wide-hero figcaption{padding:17px 4.1vw 0;justify-content:space-between}
.nationwide-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px;margin-bottom:85px}
.nationwide-detail{margin:0;min-width:0}
.nationwide-detail img{display:block;width:100%;height:auto;aspect-ratio:1.55;object-fit:cover}
.nationwide-detail figcaption{padding:14px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.09em}
.nationwide-detail figcaption span:last-child{color:var(--muted)}
/* Goodnight Boo / two deliberate readings of the art; physical book remains unchanged. */
.book-art-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);margin:25px 0 22px;padding:19px 0}
.book-layout-buttons{display:flex;gap:7px}
.book-layout-buttons button{font-size:10px;letter-spacing:.09em;background:transparent;border:1px solid var(--line);color:var(--soft);padding:12px 17px;transition:background .2s,color .2s,border-color .2s}
.book-layout-buttons button.selected,.book-layout-buttons button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.book-layout-buttons button span{opacity:.45;padding-left:8px;font-size:9px}
.book-pages-full{width:100vw;margin:0 0 70px calc(50% - 50vw)}
.book-page-plate{width:min(100% - 7vw,1120px);margin:0 auto 76px;}
.book-page-plate img{display:block;width:100%;height:auto;object-fit:contain}
.book-page-plate figcaption{border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center;padding:12px 0 15px;font-size:10px;letter-spacing:.1em;color:var(--soft)}
.book-page-plate figcaption a{color:var(--ink);font-weight:600;white-space:nowrap}
.book-page-plate figcaption a:hover{color:var(--accent)}
.book-cover-plate{width:min(100% - 7vw,1400px)}
.book-fullbleed[hidden],.book-pages-full[hidden]{display:none!important}
@media(min-width:1500px){.book-page-plate{width:min(78vw,1250px)}.book-cover-plate{width:min(84vw,1540px)}}
@media(max-width:700px){.nationwide-detail-grid{grid-template-columns:1fr;gap:28px;margin-bottom:50px}.nationwide-detail figcaption{font-size:8px}.nationwide-wide-hero figcaption{padding:15px 5vw}.book-art-controls{flex-direction:column;align-items:flex-start;gap:13px}.book-layout-buttons{width:100%}.book-layout-buttons button{flex:1;font-size:9px;padding:12px 8px}.book-page-plate{width:100%;margin-bottom:50px}.book-page-plate figcaption{margin:0 5vw;font-size:8px;gap:10px}.book-page-plate figcaption a{font-size:8px}.book-cover-plate{width:100%}.natural-art.hero-art:not(.nationwide-wide-hero) figcaption{padding:12px 5vw 0}}

/* Final artwork reading: full-viewport spreads at native-resolution-safe scale. */
.book-fullbleed{width:100vw;margin:0 0 70px calc(50% - 50vw)}
.book-plate{width:100%;max-width:1920px}
.nationwide-detail a{display:block}
.nationwide-detail figcaption a{color:var(--ink);font-weight:600;white-space:nowrap}
.nationwide-detail figcaption a:hover{color:var(--accent)}
@media(max-width:700px){.book-fullbleed{width:100vw;margin:0 0 50px calc(50% - 50vw)}}

/* V4.2: Home is a selected-work index, not a shooting-only landing page.
   The first three flagship shooting board campaigns occupy complete rows. */
.hero-h1{white-space:normal}
@media(min-width:901px) { .hero-title-grid .hero-h1{font-size:clamp(65px,9.25vw,153px)} }
@media(max-width:620px) { .hero-title-grid .hero-h1{font-size:clamp(43px,11.9vw,73px)} }

/* V4.3 / Print-resolution Goodnight Boo originals, kept at cinematic scale */
.book-plate{max-width:none}
.book-page-plate{width:min(calc(100% - 6vw),1440px)}
.book-cover-plate{width:min(calc(100% - 6vw),1620px)}
@media (min-width:1800px){.book-page-plate{width:min(80vw,1530px)}.book-cover-plate{width:min(85vw,1760px)}}
@media (max-width:700px){.book-page-plate,.book-cover-plate{width:100%}}

/* Avoid redundant page-slice files; show each page from the original hi-res illustration. */
.book-page-crop{overflow:hidden;width:100%}
.book-page-crop img{display:block;width:200%!important;max-width:none!important;height:auto!important;object-fit:unset!important}
.book-page-crop.right img{transform:translateX(-50%)}
