*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:#fff;color:#333;font-family:'Arial',sans-serif;line-height:1.45}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible{outline:2px solid #222;outline-offset:4px}header{position:relative;margin:0 auto 20px;text-align:center;width:90%;padding:6px 0 0}.logo{display:block;width:166px;margin:auto}.logo img{width:100%;height:auto;display:block}nav{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:12px;font-size:15px}.social{position:absolute;left:12%;top:0;display:flex;gap:5px;font-size:15px;color:#000;font-weight:700}.gallery{display:flex;gap:5px;width:87%;margin:0 auto}.column{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.tile{display:block;position:relative;overflow:hidden;border-radius:20px}.tile img{display:block;width:100%;height:auto}.tile span{position:absolute;top:15px;right:0;background:white;color:#222;padding:9px 15px;border-radius:15px 0 0 15px;font-size:20px;opacity:0;transition:opacity .2s}.tile:hover span,.tile:focus-visible span{opacity:1}footer{text-align:center;font-size:12px;margin:38px 15px 24px}.project{width:70%;margin:45px auto 55px;font-size:16px}.project h1{font-size:32px;line-height:1.2;margin:0 0 24px;color:#222}.project h2{font-size:18px;font-weight:400;margin:0 0 12px}.project a{text-decoration:underline}.project img{max-width:100%;height:auto}.project [grid-row]{display:flex;gap:28px}.project [grid-col]{min-width:0;flex:1}.project [grid-col="4"]{flex:0 0 31%}.project [grid-col="8"]{flex:1}.project [grid-col="x12"]{width:100%}.project [grid-col="6"]{width:50%}.embed-container{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden}.embed-container iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.embed-container:has(video),.embed-container:has(.reel-wrap){height:auto!important;padding:0!important;aspect-ratio:auto}.reel-wrap,.reel-video{display:block;width:100%;height:auto}.project video{max-width:100%}.project [data-scale="80"]{width:80%}.project [data-scale="50"]{width:50%}.project [data-scale="20"]{width:20%}dialog{border:0;background:transparent;padding:30px;max-width:95vw;max-height:95vh}dialog::backdrop{background:#000d}dialog img{display:block;max-width:85vw;max-height:85vh;object-fit:contain}dialog button{position:fixed;right:25px;top:15px;border:0;background:#fff;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer}.project img:not([data-no-zoom]){cursor:zoom-in}@media(max-width:700px){header{width:94%;padding-top:20px}.social{left:0;top:5px}.logo{width:145px}nav{gap:12px 20px;font-size:14px;margin-top:14px}.gallery{width:94%;flex-wrap:wrap;gap:5px}.column{flex:0 0 calc(50% - 2.5px)}.tile{border-radius:13px}.project{width:90%;margin:32px auto}.project [grid-row]{flex-direction:column;gap:20px}.project [grid-col]{width:100%!important}.project [data-scale="80"]{width:100%;max-height:420px;object-fit:contain}.project h1{font-size:27px}.tile span{font-size:16px}.project iframe{max-width:100%}}

/* Readability and interaction refinements; preserve the original gallery. */
:root{--ink:#333;--paper:#fff;--focus:#222}
body{color:var(--ink);background:var(--paper)}
a{text-underline-offset:3px}
::selection{background:#222;color:#fff}
nav{gap:4px 16px;margin-top:8px}
nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 6px}
nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px}
.social{left:0;top:8px;gap:0;font-size:0;font-weight:400;max-width:28%;flex-wrap:nowrap;color:inherit}
.social a{display:inline-flex;align-items:center;justify-content:center;width:24px;height:28px;padding:3px;border-radius:50%;opacity:.9}
.social svg{display:block;width:18px;height:18px;fill:currentColor}
.social a:hover{opacity:.55;text-decoration:none}
.skip-link{position:fixed;left:12px;top:12px;z-index:20;padding:12px 16px;background:#fff;color:#222;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.project{overflow-wrap:anywhere}
.project .icon-link{display:inline-flex;align-items:center;min-height:44px;margin-right:12px;padding:0 4px}
.tile:focus-visible{outline:3px solid var(--focus);outline-offset:3px;z-index:1}
.tile span{max-width:100%;overflow-wrap:anywhere;line-height:1.35}
.gallery-controls{width:87%;margin:0 auto 6px;text-align:right}
.motion-toggle{min-height:44px;padding:8px 0 8px 12px;background:transparent;border:0;text-decoration:underline;text-underline-offset:3px;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}
dialog{background:#fff;border-radius:8px;padding:54px 16px 16px}
dialog button{position:absolute;right:5px;top:5px;width:44px;height:44px}
dialog img{max-width:calc(95vw - 32px);max-height:calc(95vh - 90px)}
.site-lightbox{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;width:max-content;height:auto;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:0;background:transparent;color:#fff;overflow:visible}
.site-lightbox[open]{display:block}
.site-lightbox::backdrop{background:rgba(7,9,12,.78);backdrop-filter:blur(5px)}
.site-lightbox figure{width:max-content;max-width:calc(100vw - 32px);margin:0;display:grid;gap:10px}
.site-lightbox img{display:block;width:auto;height:auto;max-width:calc(100vw - 32px);max-height:calc(100dvh - 92px);object-fit:contain;border-radius:3px;filter:drop-shadow(0 14px 34px rgba(0,0,0,.32))}
.site-lightbox figcaption{max-width:100%;margin:0;text-align:right;font:12px/1.4 Arial,sans-serif;color:rgba(255,255,255,.72)}
.site-lightbox button{position:absolute;z-index:1;right:0;top:-42px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(20,23,28,.48);color:#fff;font:300 24px/1 Arial,sans-serif;cursor:pointer}
.site-lightbox button:hover{background:rgba(255,255,255,.14)}
.site-lightbox button:focus-visible{outline-color:#fff}
.media-error{padding:12px 0;font-size:16px}
@media(max-width:1000px){.social{position:static;max-width:none;justify-content:center;margin-bottom:4px}header{padding-top:0}}
@media(max-width:700px){nav{gap:0 4px;font-size:14px}.site-menu{flex-wrap:nowrap;justify-content:safe center;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.site-menu::-webkit-scrollbar{display:none}.site-menu>a{flex:0 0 auto;white-space:nowrap}.gallery-controls{width:94%}.tile{overflow:visible}.tile img{border-radius:13px}.tile span{position:static;display:block;opacity:1;background:transparent;padding:7px 3px 12px;border-radius:0;font-size:14px;text-align:left}.column{gap:5px}.project h1{overflow-wrap:normal}}
@media(hover:none){.tile span{position:static;display:block;opacity:1;padding:7px 3px 12px;border-radius:0;font-size:14px}}
@media(prefers-reduced-motion:reduce){.tile span{transition:none}}

/* Editorial masonry: imagery first, captions available on hover and focus. */
.tile{border-radius:8px;overflow:hidden;isolation:isolate}
.tile img{border-radius:0}
.tile span{position:absolute;inset:12px auto auto 12px;display:block;max-width:calc(100% - 24px);padding:9px 12px;border-radius:3px;background:rgba(18,23,28,.96);color:#fffaf2;font-family:Georgia,'Times New Roman',serif;font-size:clamp(18px,1.6vw,26px);font-weight:400;line-height:1.15;text-align:left;opacity:0;transform:translateY(-3px);transition:opacity .10s ease-out,transform .10s ease-out;pointer-events:none;text-wrap:balance}
.tile:hover span,.tile:focus-visible span{opacity:1;transform:none}
.tile:focus-visible{outline-offset:3px;z-index:1}
.project.project-feature{width:100%;margin:36px 0 0;padding:64px 0 80px;background:var(--project-background);color:var(--project-foreground)}
.project-inner{width:87%;max-width:1160px;margin:auto}
.project-intro{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:60px;align-items:end;margin-bottom:48px}
.project-intro h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(44px,6.7vw,96px);line-height:1.02;letter-spacing:-.045em;font-weight:400;margin:0;text-wrap:balance}
.project-contribution{max-width:310px;padding-bottom:5px;font-size:19px;line-height:1.5}
.project-contribution p{margin:0}
.project-contribution .eyebrow{font:12px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.14em;margin-bottom:12px}
.project-mark{width:auto!important;max-width:160px!important;max-height:70px;object-fit:contain;margin:0 0 20px;cursor:default!important}
.project-body{line-height:1.7}
.project-body>br:first-child{display:none}
.project-feature a{color:inherit}
.project-body video{background:#10151b}
.more-work{width:87%;margin:64px auto 12px;display:flex;align-items:baseline;justify-content:space-between;gap:20px}
.more-work h2{font:400 clamp(30px,3vw,42px)/1.2 Georgia,serif;letter-spacing:-.025em;margin:0}
.more-work p{font-size:14px;color:#606667;margin:0}
@media(max-width:700px){
 .tile{overflow:hidden;border-radius:6px}.tile img{border-radius:0}
 .tile span{position:absolute;inset:8px auto auto 8px;max-width:calc(100% - 16px);padding:7px 9px;background:rgba(18,23,28,.96);color:#fffaf2;font-size:17px;opacity:1;transform:none;border-radius:3px}
 .project.project-feature{margin-top:24px;padding:36px 0 44px}.project-inner{width:90%}
 .project-intro{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.project-intro h1{font-size:clamp(42px,10vw,64px)}
 .project-contribution{font-size:17px;max-width:none}.project-contribution .eyebrow{margin-bottom:5px}
 .more-work{width:94%;margin-top:40px;display:block}.more-work p{margin-top:8px}
}
@media(hover:none){.tile span{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.tile span{transition:none;transform:none}}
.project-feature h1,.project-feature h2,.project-feature h3{color:inherit}

/* Optional full-bleed project surface with a readable frosted site header. */
.project-header-surface{min-height:1px;max-width:100%;overflow-x:clip;color:var(--project-foreground)}
.project-header-surface>.frosted-header{z-index:2;margin-top:0;margin-bottom:20px;padding:6px 20px 16px;background:transparent;isolation:isolate}
.project-header-surface>.frosted-header::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-35px -18vw -190px;background:linear-gradient(180deg,rgba(255,255,255,.3) 0,rgba(255,255,255,.2) 34%,rgba(255,255,255,.08) 66%,transparent 100%),radial-gradient(ellipse 66% 78% at 27% 8%,rgba(255,255,255,.38) 0,rgba(255,255,255,.23) 43%,transparent 84%),radial-gradient(ellipse 70% 82% at 73% 15%,rgba(255,255,255,.34) 0,rgba(255,255,255,.2) 45%,transparent 86%),radial-gradient(ellipse 92% 86% at 50% 4%,rgba(255,255,255,.2),transparent 88%);backdrop-filter:blur(34px) saturate(150%);-webkit-backdrop-filter:blur(34px) saturate(150%);-webkit-mask-image:linear-gradient(180deg,#000 0 38%,rgba(0,0,0,.88) 55%,rgba(0,0,0,.42) 78%,transparent 100%);mask-image:linear-gradient(180deg,#000 0 38%,rgba(0,0,0,.88) 55%,rgba(0,0,0,.42) 78%,transparent 100%);transform-origin:50% 0;animation:header-mist-breathe 19s ease-in-out infinite alternate;will-change:transform,opacity}
.project-header-surface>.frosted-header::after{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-18px -7% -115px;background:radial-gradient(ellipse 82% 72% at 50% 14%,rgba(255,255,255,.2) 0,rgba(255,255,255,.11) 48%,transparent 88%);filter:blur(24px);opacity:.72;transform-origin:50% 0;animation:header-mist-drift 23s ease-in-out infinite alternate;will-change:transform,opacity}
@keyframes header-mist-breathe{0%{transform:translate3d(-1.2%,0,0) scale(1.015);opacity:.88}100%{transform:translate3d(1.2%,1%,0) scale(1.04);opacity:1}}
@keyframes header-mist-drift{0%{transform:translate3d(1.1%,-.5%,0) scale(1.01);opacity:.62}100%{transform:translate3d(-1.1%,1%,0) scale(1.055);opacity:.78}}
.project-header-surface>.project.project-feature{position:relative;z-index:3;margin-top:0;background:transparent!important}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.project-header-surface>.frosted-header::before{background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.55) 48%,transparent 100%)}}
@media(max-width:700px){.project-header-surface>.frosted-header{width:94%;margin-bottom:12px;padding:0 10px 8px}.project-header-surface>.frosted-header::before{inset:-12px -8vw -95px;backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);-webkit-mask-image:radial-gradient(ellipse 86% 105% at 50% 0%,#000 0 42%,rgba(0,0,0,.72) 64%,rgba(0,0,0,.22) 82%,transparent 100%);mask-image:radial-gradient(ellipse 86% 105% at 50% 0%,#000 0 42%,rgba(0,0,0,.72) 64%,rgba(0,0,0,.22) 82%,transparent 100%)}}
@media(prefers-reduced-motion:reduce){.project-header-surface>.frosted-header::before,.project-header-surface>.frosted-header::after{animation:none;transform:none}}

/* Flow all five desktop columns into two continuous mobile columns. */
@media(max-width:700px){.gallery{display:flex;flex-wrap:nowrap;column-count:auto;gap:5px}.gallery .column{display:flex;flex:1;min-width:0}.gallery .tile{margin-bottom:0}}

/* Subtle image movement for pointer users; respect reduced motion. */
@media(hover:hover) and (prefers-reduced-motion:no-preference){.tile img{transition:transform .24s ease-out}.tile:hover img,.tile:focus-visible img{transform:scale(1.025)}}

/* Icon-only preview control with a generous keyboard/touch target. */
.motion-toggle{width:44px;height:44px;padding:12px;border-radius:50%;text-decoration:none;vertical-align:middle}
.motion-toggle:hover{background:#eeeef0}
.motion-toggle svg{display:block;width:20px;height:20px;fill:currentColor}
.motion-toggle .preview-play,.motion-toggle[data-paused="true"] .preview-pause{display:none}
.motion-toggle[data-paused="true"] .preview-play{display:block}

/* Google I/O 18: film, context, development, and shot reel. */
.film-study{display:grid;gap:56px}
.film-study h2{font:400 clamp(25px,3vw,36px)/1.2 Georgia,serif;margin:0 0 24px}
.film-figure{margin:0;min-width:0}
.video-title{width:100%;margin:0 0 clamp(18px,2.5vw,28px);padding-bottom:12px;border-bottom:1px solid currentColor;font:600 clamp(20px,2.2vw,var(--section-heading-size,28px))/1.25 var(--body-font,Arial,sans-serif);letter-spacing:-.015em;text-align:inherit}
.film-figure video{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
.film-figure figcaption{font:14px/1.5 Arial,sans-serif;margin-top:14px;opacity:.8;text-align:right}
.film-notes{display:grid;grid-template-columns:1fr 2fr;gap:48px;padding:4px 0}
.film-notes>div{max-width:720px}
.film-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.project .plyr{border-radius:8px;--plyr-color-main:#456772;--plyr-video-background:#111820;--plyr-control-radius:4px;--plyr-font-family:Arial,sans-serif;--plyr-control-icon-size:14px;--plyr-control-spacing:6px;--plyr-control-padding:7px;--plyr-font-size-small:12px}
.project .plyr__controls{padding:22px 10px 8px;background:linear-gradient(transparent,rgba(10,16,22,.85));color:#fff;position:absolute;bottom:0;left:0;right:0}
.project .plyr__video-wrapper{background:#111820}
.project .plyr__control--overlaid{background:#17212ae6;padding:15px}
.project .plyr__menu__container{color:#24313b}
.project .plyr--fullscreen .plyr__controls{position:absolute}
@media(max-width:700px){.film-study{gap:36px}.film-notes,.film-pair{grid-template-columns:1fr;gap:24px}.film-notes h2{margin:0}.project .plyr__controls{padding:20px 8px 8px}.project .plyr__volume{max-width:70px}}
.project .plyr>.plyr__controls{order:2;width:100%;flex-shrink:0}
.project .plyr>.plyr__video-wrapper{order:1;width:100%}

/* Match source dimensions; reveal the compact overlay without changing layout. */
.project .plyr:not(.plyr--fullscreen) .plyr__video-wrapper{aspect-ratio:auto;height:auto;padding:0}
@media(hover:hover){
 .project .plyr--video>.plyr__controls{opacity:0;transform:translateY(100%);pointer-events:none;transition:opacity .12s ease,transform .12s ease}
 .project .plyr--video:hover>.plyr__controls,.project .plyr--video:focus-within>.plyr__controls{opacity:1;transform:none;pointer-events:auto}
}
@media(prefers-reduced-motion:reduce){.project .plyr--video>.plyr__controls{transition:none}}

.project .plyr video{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}

/* CMS blocks preserve column groupings with consistent spacing. */
.cms-stack{display:grid;width:100%;gap:32px;min-width:0}
.cms-columns{display:grid;width:100%;min-width:0;grid-template-columns:var(--column-layout,1fr 1fr);gap:32px;align-items:start}
.cms-text{line-height:1.7;overflow-wrap:anywhere}.cms-text>p:first-child{margin-top:0}.cms-text>p:last-child{margin-bottom:0}
.cms-text font[size="2"]{font-size:14px}.cms-text font[size="3"]{font-size:16px}.cms-text font[size="4"]{font-size:19px}.cms-text font[size="5"]{font-size:24px}.cms-text font[size="6"]{font-size:32px;line-height:1.25}.cms-text hr,.cms-divider{height:0;border:0;border-top:1px solid currentColor;opacity:.28}.cms-text hr{margin:1.75em 0}.cms-divider{width:100%;margin:0}
.cms-divider.line-black{color:#000;opacity:.55}.cms-divider.line-white{color:#fff;opacity:.7}
.draft-banner{background:#dce9f1;color:#17394d;padding:14px 5%;text-align:center;font-size:14px}.draft-banner a{text-decoration:underline}
@media(max-width:700px){.cms-columns{grid-template-columns:1fr}.cms-stack{gap:24px}}

/* Image blocks can share a wrapping row, at a consistent maximum width. */
.cms-image-row{display:flex;width:100%;flex-wrap:wrap;align-items:flex-start;gap:16px;min-width:0}
.cms-image-row>.cms-image{flex:0 1 auto;width:var(--image-width,100%);max-width:100%;min-width:0}
.project .cms-image img{display:block;width:100%;height:auto;object-fit:contain}

/* Saved visual settings; small screens keep the same hierarchy without overflow. */
.personalized.project-feature{padding-top:var(--page-padding)}
.personalized .project-inner{max-width:var(--content-width)}
.personalized .project-intro{margin-bottom:var(--header-spacing)}
.personalized .project-intro h1{font-family:var(--title-font);font-size:clamp(min(44px,var(--title-size)),var(--title-fluid),var(--title-size));overflow-wrap:anywhere}
.personalized .cms-text{font-family:var(--body-font);font-size:var(--body-size)}
.personalized .project-contribution{font-family:var(--body-font);font-size:var(--contribution-size)}
.personalized .cms-stack,.personalized .cms-columns{gap:var(--content-spacing)}
.personalized .layout-stacked,.personalized .layout-centered,.personalized .single-header{grid-template-columns:minmax(0,1fr);gap:24px}
.personalized .layout-stacked .project-contribution,.personalized .layout-centered .project-contribution{max-width:640px}
.personalized .layout-centered{text-align:center;justify-items:center}
.personalized .layout-centered .project-mark{margin-left:auto;margin-right:auto}
.personalized.hide-captions figcaption{display:none}
.gallery-spacer{height:48px}
@media(max-width:700px){
 .personalized.project-feature{padding-top:min(var(--page-padding),48px)}
 .personalized .project-intro{grid-template-columns:minmax(0,1fr);margin-bottom:min(var(--header-spacing),40px)}
 .personalized .project-intro h1{font-size:clamp(min(32px,var(--title-size)),10vw,var(--title-mobile))}
 .personalized .cms-stack,.personalized .cms-columns{gap:min(var(--content-spacing),32px)}
}

/* Keep the contribution heading and copy flush with the content's right edge. */
.project-intro>.project-contribution{justify-self:end;text-align:right}
/* Align both header blocks at the bottom without lifting the contribution copy. */
.project-intro>.project-contribution{padding-bottom:0}
.project-contribution .eyebrow{margin-bottom:3px}
.cms-aligned{width:100%;max-width:100%;min-width:0}
.cms-aligned>.film-figure,.cms-aligned>.cms-columns,.cms-aligned>.cms-divider{width:100%;max-width:100%}
.page-title-group{display:flex;align-items:center;gap:24px;min-width:0}.page-title-group .project-mark{margin:0;max-width:100px;max-height:100px;object-fit:contain;flex:0 0 auto}.page-title-group h1{min-width:0}.content-panel{width:100%;max-width:100%;min-width:0}@media(max-width:700px){.content-panel{padding:min(var(--panel-padding),24px)!important}.page-title-group{gap:16px}.page-title-group .project-mark{max-width:64px;max-height:64px}}

/* Stacked content columns: keep smaller photos and logo rows balanced on phones. */
@media(max-width:700px){
 .cms-columns .cms-image-row{justify-content:center!important}
 .cms-columns .cms-image-row>.cms-image{max-width:100%}
 .cms-columns .cms-text{overflow-wrap:anywhere}
}

.cms-column-introduction{min-width:0}
@media(max-width:700px){
 .cms-columns.mobile-layout-reverse>.cms-stack{order:var(--mobile-column-order)}
 .cms-columns.mobile-layout-intro>.cms-stack{display:contents}
 .cms-columns.mobile-layout-intro .cms-column-introduction{order:-1;text-align:left;font-size:max(16px,var(--body-size,16px));line-height:1.5}
 .cms-columns.mobile-layout-intro>.cms-stack>.cms-image-row>.cms-image{width:min(100%,260px)}
 .cms-columns.mobile-layout-intro .cms-text{line-height:1.65;font-size:max(16px,var(--body-size,16px))}
}

/* Shared public layout defaults, controlled through CMS appearance settings. */
.personalized .cms-aligned>.cms-text{width:100%;max-width:none}
.personalized .cms-aligned>.cms-text>:not(hr){width:fit-content;max-width:min(100%,var(--reading-width,65ch))}
.personalized .cms-aligned>.cms-text.text-full-width>:not(hr){width:auto;max-width:none}
.cms-aligned[style="text-align:center"]>.cms-text>:not(hr){margin-left:auto;margin-right:auto}
.cms-aligned[style="text-align:right"]>.cms-text>:not(hr){margin-left:auto}
.personalized .cms-text h2{font:600 var(--section-heading-size,26px)/1.3 var(--body-font,Arial,sans-serif);margin:0 0 20px}
.personalized .cms-text h3{font:600 calc(var(--section-heading-size,26px)*.8)/1.35 var(--body-font,Arial,sans-serif);margin:0 0 16px}
.personalized .about-profile>.page-lead{font-size:var(--introduction-size,26px);line-height:1.4;max-width:none;letter-spacing:-.02em;text-wrap:wrap}
.profile-biography>.page-contact-links{margin-top:28px;gap:12px}
.project .film-figure .reel-video,.project .film-figure .plyr:not(.plyr--fullscreen) .plyr__video-wrapper{aspect-ratio:var(--video-ratio,16/9)}
@media(max-width:700px){
 .compact-mobile-header header{padding-top:0;margin-bottom:12px}
 .compact-mobile-header .social{margin-bottom:0;gap:0}
 .compact-mobile-header .logo{width:112px}
 .compact-mobile-header .site-menu{margin-top:2px;gap:0 2px}
 .compact-mobile-header .site-menu>a{padding:8px 6px;min-height:44px}
 .project-intro>.project-contribution{justify-self:stretch;text-align:var(--mobile-contribution-align,left);max-width:none}
 .personalized .about-profile>.page-lead{font-size:min(var(--introduction-size,26px),28px)}
}

/* Biography and contact pages share the site's editable type and surfaces. */
.about-profile{display:grid;gap:clamp(24px,4vw,48px);font-size:var(--body-size,18px);line-height:1.65}
.page-lead{max-width:65ch;font-size:clamp(18px,1.6vw,24px);line-height:1.5}
.page-lead>:first-child,.profile-biography>:first-child,.contact-note>:first-child{margin-top:0}
.about-profile-body{display:grid;grid-template-columns:minmax(160px,220px) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.about-profile-body.without-portrait{grid-template-columns:1fr}
.profile-portrait{margin:0;width:100%;max-width:220px}.profile-portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center;height:auto;border-radius:18px}
.profile-biography,.contact-note{width:100%;max-width:none!important;overflow-wrap:anywhere}
.page-contact-links{display:flex;flex-wrap:wrap;gap:16px 36px;border-top:1px solid currentColor;padding-top:20px}
.page-contact-links a,.contact-email{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;text-decoration:none!important;padding:8px 0}
.page-contact-links a{border-bottom:1px solid currentColor}
.profile-biography>.page-contact-links a{min-width:130px;border:1px solid currentColor;border-radius:999px;padding:8px 18px}
.page-contact-links a:hover,.contact-email:hover{text-decoration:underline!important;text-underline-offset:5px}
.page-contact-links svg,.contact-email svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}
.contact-profile{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,80px);width:100%;max-width:none;font-size:var(--body-size,18px);line-height:1.65}
.contact-intro{display:flex;min-width:0;flex-direction:column}.contact-profile .page-lead{width:100%;max-width:none;font-size:clamp(20px,2.25vw,32px);font-weight:500;line-height:1.35;letter-spacing:-.025em}
.contact-response{margin-top:auto;padding-top:36px;font-size:.8em;line-height:1.7;opacity:.65}.contact-response>:last-child{margin-bottom:0}
.contact-actions{min-width:0;border-left:1px solid currentColor;padding-left:clamp(28px,4vw,64px)}
.contact-email-label{margin:0 0 12px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.55}
.contact-email{justify-self:start;max-width:100%;font-size:clamp(18px,3.5vw,var(--contact-email-size,48px));font-weight:500;line-height:1.3;letter-spacing:-.035em;overflow-wrap:anywhere}
.contact-note{margin-top:clamp(28px,4vw,48px);font-size:.85em;opacity:.72}
.contact-actions .page-contact-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 20px;margin-top:28px}
.contact-actions .page-contact-links a{min-width:0;font-size:.72em;font-weight:700}
.about-profile+.cms-stack:not(:empty),.contact-profile+.cms-stack:not(:empty){margin-top:var(--content-spacing,32px)}
@media(max-width:700px){.about-profile-body{grid-template-columns:minmax(0,1fr);gap:24px}.profile-portrait{width:min(100%,184px);justify-self:center}.about-profile,.contact-profile{font-size:max(16px,var(--body-size,16px));gap:28px}.page-contact-links{gap:12px 24px}.page-contact-links a{flex:1 1 120px}.contact-profile{grid-template-columns:minmax(0,1fr)}.contact-response{margin-top:0;padding-top:20px}.contact-actions{border-top:1px solid currentColor;border-left:0;padding-top:24px;padding-left:0}.contact-email{font-size:clamp(18px,6vw,var(--contact-email-size,28px));gap:12px}.contact-actions .page-contact-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}}
