@font-face{font-family:Royal Serif;src:url('/assets/bodoni-moda-normal.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Royal Serif;src:url('/assets/bodoni-moda-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
:root{--paper:#eeefef;--ink:#2430ca;--bright:#2d36ee;--line:rgba(45,54,238,.27);--display:'Royal Serif','Bodoni MT',Didot,Georgia,serif}
body{background-color:var(--paper);background-image:url('/assets/grain.svg'),radial-gradient(ellipse at 18% 15%,#fafafa 0,transparent 60%),radial-gradient(ellipse at 85% 65%,#d6d9db 0,transparent 60%);background-size:180px 180px,100% 100%,100% 100%;background-attachment:fixed}
.editorial-header h1{font-size:clamp(72px,9.25vw,158px);line-height:1.1;letter-spacing:-.052em}.editorial-header .profession{font-size:.85em;letter-spacing:-.05em}.based{font-size:clamp(28px,3.2vw,52px)}.wordmark{font-size:23px;letter-spacing:-.06em}
.portfolio-section{padding:0 3vw 10px}.grid-heading{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0 24px;font-size:14px;margin:0 1vw}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}.portfolio-card{min-width:0}.project-tile{display:block}.tile-frame{aspect-ratio:16/10;position:relative;overflow:hidden;background:#d5d7d9;isolation:isolate;container-type:size}.tile-poster,.tile-moving{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.tile-poster{object-position:center 80%;transition:scale 1s var(--ease)}.project-tile:hover .tile-poster{scale:1.025}.tile-moving{opacity:0;z-index:1;transition:opacity .8s var(--ease);pointer-events:none;border:0}.tile-moving.ready{opacity:1}.tile-frame iframe.tile-moving{left:50%;top:50%;width:max(100%,177.78cqh);height:max(100%,56.25cqw);transform:translate(-50%,-50%)}.tile-caption{display:flex;justify-content:space-between;gap:15px;padding:17px 4px 14px;align-items:end}.tile-client{font-size:12px;letter-spacing:.065em;text-transform:uppercase}.tile-caption h2{font:400 clamp(25px,2.7vw,43px)/1.12 var(--display);letter-spacing:-.04em;margin:7px 0 0;color:var(--bright)}.tile-year{font-size:12px;padding-bottom:4px;flex-shrink:0}.project-tile:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.tile-awards{position:absolute;left:20px;bottom:20px;display:flex;align-items:center;gap:15px;z-index:3;opacity:0;transition:opacity .4s;filter:drop-shadow(0 1px 5px #0007)}.playing .tile-awards{opacity:1}.tile-award{display:block;width:35px;height:40px;background:white;mask:var(--symbol) center/contain no-repeat;-webkit-mask:var(--symbol) center/contain no-repeat}.project-tile[data-slug="mommyphone"] .tile-award{background:var(--bright);filter:none}.motion-toggle{background:#eef0f0e8;color:var(--ink);backdrop-filter:blur(12px)}
.case-copy{color:#3039b4}.case-copy h2,.case-header h1,.next h2{color:var(--bright)}.case-cover{isolation:isolate}.case-cover img{object-position:center}.awards-heading h2,.awards-heading h1{letter-spacing:-.055em}.award-cell-bottom h3{font-size:clamp(24px,2.1vw,34px)}.footer h2{letter-spacing:-.045em}.award-icon-club-des-da{width:90px;height:100px}
@view-transition{navigation:auto}::view-transition-group(project-image){animation-duration:.75s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(project-image){animation:tile-out .65s ease both}::view-transition-new(project-image){animation:tile-in .7s ease both}@keyframes tile-out{to{opacity:0}}@keyframes tile-in{from{opacity:0}to{opacity:1}}
@media(max-width:800px){.editorial-header h1{font-size:10vw}.editorial-header .profession{font-size:.9em}.portfolio-grid{gap:25px 16px}.tile-caption h2{font-size:30px}.tile-awards{left:12px;bottom:14px;gap:8px}.tile-award{width:28px;height:32px}}
@media(max-width:600px){.editorial-header h1{font-size:14.6vw}.editorial-header .profession{font-size:9.35vw;line-height:1.18}.based{font-size:6.2vw}.portfolio-section{padding:0 12px}.portfolio-grid{grid-template-columns:1fr;gap:24px}.grid-heading{margin:0 8px;font-size:12px}.tile-caption{padding:16px 8px 10px}.tile-caption h2{font-size:31px}.tile-award{width:31px;height:36px}.tile-awards{left:15px;bottom:17px}.case-header h1{font-size:13vw}.footer h2{font-size:13vw}.award-icon-club-des-da{width:58px;height:65px}}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.tile-moving,.tile-awards{display:none}}

/* September refinement: readable roman serif, only the signature initials in script. */
@font-face{font-family:Portfolio Serif;src:url('/assets/libre-caslon-display.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Signature Script;src:url('/assets/pinyon-script.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--display:'Portfolio Serif',Georgia,serif}
.editorial-header{min-height:620px;padding:65px 5vw 60px;position:relative;align-items:flex-start;justify-content:center}
.editorial-header h1.signature{font-size:clamp(75px,10.2vw,160px);letter-spacing:-.035em;line-height:1.06;margin:0;width:100%;font-weight:400}
.editorial-header h1.signature>span{display:block;white-space:nowrap}
.editorial-header h1.signature>span+span{padding-left:12%}
.signature .calligraphic{font-family:'Signature Script',cursive;font-style:normal;display:inline-block;font-size:1.15em;line-height:.8;margin-right:.01em;font-weight:400}
.professional-line{font:400 clamp(18px,1.7vw,25px)/1.55 Arial,Helvetica,sans-serif;margin:34px 0 0 auto;color:var(--ink);letter-spacing:-.01em}
.professional-line span{color:var(--ink)}
.wordmark em{font-style:normal}.case-header h1 em,.awards-heading em{font-style:normal}
.tile-caption h2{letter-spacing:-.02em}.tile-frame img,.case-cover img,.source-composition img{filter:none;mix-blend-mode:normal;opacity:1}
.festival-wordmark{font:700 clamp(23px,3vw,42px)/1 Arial,Helvetica,sans-serif;letter-spacing:-.06em;margin:auto}
.award-footnote{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.award-footnote a{font-size:15px;text-decoration:underline;text-underline-offset:5px}
.full-awards{margin:0 4vw 100px}.full-awards-heading{padding:50px 0;border-top:1px solid var(--line)}.full-awards-heading>span{font-size:14px}.full-awards-heading h2{font:400 clamp(46px,6vw,90px)/1.1 var(--display);margin:15px 0 0;letter-spacing:-.035em}
.festival-list{display:grid;grid-template-columns:1fr 2fr;gap:6vw;padding:42px 0;border-top:1px solid var(--line)}.festival-list h3{font:400 clamp(30px,3.2vw,48px)/1.12 var(--display);margin:0;letter-spacing:-.02em}.festival-results{columns:2;column-gap:35px;font:400 16px/1.65 Arial,Helvetica,sans-serif}.festival-results p{margin:0 0 26px;break-inside:avoid}.festival-results strong{font-weight:600}.festival-results a{color:inherit}
@media(min-width:1500px){.editorial-header{min-height:720px}}
@media(max-width:800px){.editorial-header{min-height:520px}.editorial-header h1.signature{font-size:12.6vw}.professional-line{font-size:20px}.festival-list{grid-template-columns:1fr;gap:25px}}
@media(max-width:600px){.editorial-header{min-height:455px;padding:48px 6vw 40px}.editorial-header h1.signature{font-size:14vw;line-height:1.13}.editorial-header h1.signature>span+span{padding-left:4%}.professional-line{font-size:18px;margin-top:34px}.full-awards{margin:0 6vw 65px}.festival-results{columns:1}.festival-list{padding:30px 0}.festival-wordmark{font-size:28px}}
.awards-heading h1{font:400 clamp(60px,8vw,124px)/1.04 var(--display);margin:0;max-width:1000px;color:var(--bright)}.awards-heading h1 em{display:block;padding-left:.35em}
@media(max-width:600px){.festival-wordmark{position:absolute;left:0;top:43px}.awards-heading h1{font-size:15vw}.award-footnote p:last-child{display:block}}

/* Centered capital signature: two carefully spaced calligraphic interventions. */
@font-face{font-family:Signature Ballet;src:url('/assets/ballet.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.editorial-header{align-items:center;min-height:680px;padding:76px 5vw 60px}
.editorial-header h1.signature{width:100%;text-align:center;font-size:clamp(66px,9.6vw,153px);line-height:1.19;letter-spacing:.005em}
.editorial-header h1.signature>span.name-line{display:flex;align-items:baseline;justify-content:center;white-space:nowrap;padding:0;gap:0}
.editorial-header h1.signature .calligraphic{font-family:'Signature Ballet',cursive;font-size:1.06em;font-style:normal;font-weight:400;line-height:1;letter-spacing:0;position:relative;flex:0 0 auto;margin:0}
.editorial-header h1.signature .initial-r{margin-right:.055em;transform:translateY(.015em)}
.editorial-header h1.signature .internal-a{margin-left:.025em;margin-right:.045em;transform:translateY(.015em)}
.professional-line{margin:34px auto 0;text-align:center;font-size:clamp(17px,1.45vw,22px);line-height:1.6}
.about-original{display:grid;grid-template-columns:minmax(calc(4vw - 11px),1fr) repeat(24,minmax(0,calc((1500px - 253px)/24))) minmax(calc(4vw - 11px),1fr);grid-template-rows:repeat(49,minmax(calc(min(1500px,92vw)*.0215),auto));gap:11px;margin:0 auto;position:relative}
.about-image{grid-area:var(--about-area);margin:0;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center}.about-image img{width:100%;height:100%;display:block;filter:none;mix-blend-mode:normal}
.about-bio{grid-area:4/11/17/24;font:400 16px/1.55 Arial,Helvetica,sans-serif;align-self:start;color:var(--ink)}.about-bio p{margin:0 0 1.35em}.about-bio a{text-decoration:underline;text-underline-offset:3px}.about-bio strong{font-weight:600}.about-back{text-align:center;margin:0 0 80px;font-size:16px}.about-back a{text-decoration:underline;text-underline-offset:5px}
@media(min-width:1500px){.editorial-header{min-height:740px}}
@media(max-width:800px){.editorial-header{min-height:520px;padding:65px 4vw 45px}.editorial-header h1.signature{font-size:10.5vw;line-height:1.25}.professional-line{font-size:18px}}
@media(max-width:767px){.about-original{display:flex;flex-direction:column;padding:35px 6vw 70px;gap:30px}.about-bio{font-size:16px;order:1}.about-image{width:100%;height:auto}.about-image img{height:auto;max-height:none}.about-image-1{order:0}.about-image-1 img{aspect-ratio:1.12;object-fit:cover}.about-image-2{order:2}.about-image-3{order:3}.about-image-4{order:4}.about-image-5{order:5}.about-image-6{order:6}.about-back{margin-bottom:45px}}
@media(max-width:600px){.editorial-header{min-height:450px;padding:60px 4vw 45px}.editorial-header h1.signature{font-size:10.8vw;line-height:1.3}.professional-line{font-size:17px;margin-top:30px}}
.editorial-header h1.signature .calligraphic{font-size:.9em}.editorial-header h1.signature .initial-r{margin-right:.18em}.editorial-header h1.signature .internal-a{margin-left:.035em;margin-right:.52em}
@media(max-width:767px){.about-image-1 img{aspect-ratio:.9}}
