/* A portfolio of images, with one entry per restaurant. */
.page-portfolio{--work-paper:#f8f5ed;--work-ink:#302923;--work-red:#7c3028}
.page-portfolio .work-intro{background:var(--work-paper);color:var(--work-ink);padding:64px max(24px,calc((100% - 1320px)/2)) 48px}
.work-intro-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px;border-bottom:1px solid #30292326;padding-bottom:18px}
.work-intro-top p{margin:0;font-size:11px;letter-spacing:.08em}
.work-intro-top>p:last-child{letter-spacing:0;color:#746d63}
.work-intro-body{display:grid;grid-template-columns:1.4fr 1fr;align-items:end;gap:60px}
.page-portfolio .work-intro h1{font:600 clamp(62px,7.5vw,110px)/.95 var(--font-display);letter-spacing:-.06em;color:var(--work-ink);margin:0}
.page-portfolio .work-intro h1 em{display:block;font:italic 400 1.1em/1.02 'Instrument Serif',serif;letter-spacing:-.035em;color:var(--work-red)}
.work-intro-note{max-width:390px;justify-self:end}
.work-intro-note>p{font-size:16px;line-height:1.7;margin:0 0 24px;color:#655d53}
.work-index{display:flex;gap:26px;flex-wrap:wrap}
.work-index a{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--work-ink);min-height:44px;border-bottom:1px solid #30292355;text-decoration:none}
.work-index small{font-size:10px;color:#8a6b58}
.page-portfolio .work-films{background:#29221e;color:#fff8e9;padding:38px 0 44px;overflow:hidden}
.work-section-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 max(24px,calc((100% - 1320px)/2)) 26px}
.page-portfolio .work-section-bar h2{font:500 clamp(26px,3vw,38px)/1.1 var(--font-display);letter-spacing:-.045em;color:inherit;margin:0}
.work-section-bar h2 small{font:400 11px var(--font-body);letter-spacing:0;vertical-align:middle;margin-left:10px;opacity:.65}
.work-film-arrows{display:flex;gap:8px}
.work-film-arrows button{width:46px;height:46px;border-radius:50%;border:1px solid #fff8e955;background:transparent;color:inherit;font-size:22px;cursor:pointer;transition:background .2s}
.work-film-arrows button:hover{background:#fff8e918}
.work-film-arrows button:disabled{opacity:.25;cursor:default}
.page-portfolio .work-films .portfolio-reel-grid{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:max(24px,calc((100vw - 1320px)/2));padding:0 max(24px,calc((100% - 1320px)/2)) 22px;scrollbar-width:thin;scrollbar-color:#c5b4a0 #413831;align-items:flex-start}
.page-portfolio .work-films .portfolio-reel{flex:0 0 clamp(240px,22vw,312px);scroll-snap-align:start}
.page-portfolio .work-films .portfolio-reel .film{display:block;width:100%;border-radius:2px;overflow:hidden;background:#1b1714}
.page-portfolio .work-films .portfolio-reel .film img{display:block;aspect-ratio:9/14;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.page-portfolio .work-films .film:hover img{transform:scale(1.025)}
.page-portfolio .work-films .portfolio-reel figcaption{color:#fff8e9;padding-top:17px}
.page-portfolio .work-films .portfolio-reel h3{color:inherit;font-size:22px}
.page-portfolio .work-films .reel-caption,.page-portfolio .work-films .reel-date,.page-portfolio .work-films .reel-source,.page-portfolio .work-films .reel-client-link,.page-portfolio .work-films .reel-proof{color:inherit}
.page-portfolio .work-films .reel-date{opacity:.65}
.page-portfolio .work-films :focus-visible{outline-color:#fff8e9}
.work-film-notes{margin:18px max(24px,calc((100% - 1320px)/2)) 0;border-top:1px solid #fff8e930;padding-top:16px;max-width:1320px;font-size:11px;line-height:1.7;color:#d8cbbb}
.work-film-notes summary{cursor:pointer;min-height:32px;font-size:12px}
.work-film-notes a{color:inherit;text-decoration:underline}
.page-portfolio .work-galleries{background:var(--work-paper);padding:76px max(24px,calc((100% - 1320px)/2)) 80px;color:var(--work-ink)}
.work-gallery-head{display:flex;justify-content:space-between;gap:36px;align-items:end;margin-bottom:36px}
.page-portfolio .work-gallery-head h2{margin:0;color:var(--work-ink);font:500 clamp(38px,4.5vw,58px)/1.05 var(--font-display);letter-spacing:-.055em}
.work-gallery-head>p{font-size:14px;line-height:1.65;max-width:365px;color:#655d53;margin:0}
.work-gallery-head .eyebrow{font-size:10px;margin:0 0 13px;color:var(--work-red)}
.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px}
.album-card{color:inherit;text-decoration:none;display:block;min-width:0;scroll-margin-top:105px}
.album-cover{display:block;position:relative;overflow:hidden;aspect-ratio:4/5;background:#e3d8c9}
.album-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.album-cover:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#1b110f66);pointer-events:none}
.album-open{position:absolute;z-index:1;bottom:16px;right:16px;display:flex;align-items:center;gap:10px;border:1px solid #fff8e970;background:#fff8e9f2;color:#302923;border-radius:30px;padding:11px 15px;font-size:12px;transition:transform .3s}
.album-card:hover .album-cover img{transform:scale(1.035)}
.album-card:hover .album-open{transform:translateY(-4px)}
.album-caption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:16px}
.page-portfolio .album-caption h3{font:500 clamp(18px,2vw,26px)/1.15 var(--font-display);letter-spacing:-.035em;color:var(--work-ink);margin:0}
.album-caption>span{font-size:11px;white-space:nowrap;color:#75675b}
.album-note{font-size:12px;margin:8px 0 0;color:#75675b}
.album-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;border:0;padding:0;background:var(--work-paper);color:var(--work-ink);overflow:auto;overscroll-behavior:contain}
.album-dialog::backdrop,.album-viewer::backdrop{background:#1b1714e8}
.album-dialog[open]{animation:album-arrive .28s cubic-bezier(.2,.7,.2,1)}
.album-dialog:not([open]),.album-viewer:not([open]){display:none}
.album-toolbar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px max(24px,calc((100% - 1320px)/2));background:#f8f5edf5;border-bottom:1px solid #30292320;backdrop-filter:blur(12px)}
.album-toolbar h2{font:500 clamp(24px,3vw,40px)/1.05 var(--font-display);letter-spacing:-.04em;margin:4px 0;color:inherit}
.album-toolbar p{font-size:11px;margin:0;color:#75675b}
.album-close{display:flex;align-items:center;gap:16px;border:1px solid #30292340;background:none;border-radius:99px;min-height:46px;padding:10px 18px;color:inherit;font:500 13px var(--font-body);cursor:pointer;white-space:nowrap}
.album-close span{font-size:23px;font-weight:400}
.album-description{margin:24px max(24px,calc((100% - 1320px)/2));font-size:14px;line-height:1.7;max-width:760px;color:#75675b}
.album-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:22px;padding:8px max(24px,calc((100% - 1320px)/2)) 56px}
.album-shot{padding:0;min-width:0;background:transparent;border:0;text-align:left;color:inherit;cursor:zoom-in}
.album-shot img{width:100%;height:auto;display:block;background:#e5ddce;border-radius:1px}
.album-shot>span{display:flex;justify-content:space-between;padding-top:9px;font:400 10px var(--font-body);color:#75675b}
.album-viewer{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;border:0;padding:0;background:#211d19;color:#fff8e9;overflow:hidden}
.album-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;animation:album-arrive .2s ease}
.album-viewer .album-toolbar{position:static;background:transparent;border-color:#fff8e922;padding:14px 24px;backdrop-filter:none}
.album-viewer .album-toolbar p{color:inherit;font-size:13px}
.album-viewer .album-close{border-color:#fff8e955}
.album-stage{min-height:0;display:flex;justify-content:center;align-items:center;padding:16px 65px;touch-action:pan-y pinch-zoom}
.album-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.album-viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 24px max(18px,env(safe-area-inset-bottom));font-size:12px;color:#fff8e9b3}
.album-viewer-nav{display:flex;gap:10px}
.album-viewer-nav button{width:48px;height:48px;background:none;border:1px solid #fff8e955;border-radius:50%;color:#fff8e9;font-size:23px;cursor:pointer}
.album-viewer-nav button:disabled{opacity:.25;cursor:default}
.album-viewer :focus-visible{outline-color:#fff8e9}
@keyframes album-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.work-intro-body{grid-template-columns:1.2fr 1fr;gap:30px}.work-intro-note>p{font-size:14px}.album-grid{gap:30px 18px}.album-caption{display:block}.album-caption>span{display:block;margin-top:8px}.album-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .page-portfolio .work-intro{padding:30px 22px 32px}.work-intro-top{margin-bottom:24px;padding-bottom:14px}.work-intro-top p{font-size:9px}.work-intro-top>p:last-child{font-size:10px}
 .work-intro-body{display:block}.page-portfolio .work-intro h1{font-size:clamp(52px,12.5vw,76px)}.work-intro-note{margin-top:24px;max-width:420px}.work-intro-note>p{font-size:13px;margin-bottom:14px}.work-index a{font-size:12px}
 .page-portfolio .work-films{padding:26px 0 30px}.work-section-bar{margin:0 22px 20px}.page-portfolio .work-section-bar h2{font-size:26px}.work-film-arrows button{width:42px;height:42px}
 .page-portfolio .work-films .portfolio-reel-grid{gap:16px;padding-inline:22px;scroll-padding-inline:22px}.page-portfolio .work-films .portfolio-reel{flex-basis:70vw;max-width:330px}.page-portfolio .work-films .portfolio-reel h3{font-size:21px}.work-film-notes{margin-inline:22px}
 .page-portfolio .work-galleries{padding:46px 22px 54px}.work-gallery-head{display:block;margin-bottom:26px}.page-portfolio .work-gallery-head h2{font-size:36px}.work-gallery-head>p{margin-top:15px;font-size:13px}
 .album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.page-portfolio .album-caption h3{font-size:17px}.album-caption{padding-top:12px}.album-caption>span{font-size:10px}.album-note{font-size:10px;line-height:1.5;margin-top:6px}.album-open{bottom:10px;right:10px;padding:8px 10px;font-size:10px;gap:7px}
 .album-toolbar{padding:15px 18px;gap:12px}.album-toolbar h2{font-size:25px}.album-toolbar p{font-size:10px}.album-close{font-size:11px;gap:10px;padding:8px 13px;min-height:44px}.album-description{margin:20px 18px;font-size:12px}.album-photos{gap:18px 12px;padding:4px 18px 30px}.album-shot>span{font-size:9px}
 .album-viewer .album-toolbar{padding:12px 16px}.album-viewer .album-toolbar p{font-size:12px}.album-stage{padding:12px}.album-viewer-bottom{padding-inline:16px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.album-dialog[open],.album-viewer[open]{animation:none}.album-cover img,.album-open,.page-portfolio .work-films .film img{transition:none}}

/* Five reels per row on desktop, with a compact load-more control. */
.page-portfolio .work-films .portfolio-reel-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:42px 22px;overflow:visible;scroll-snap-type:none;padding:0 max(24px,calc((100% - 1320px)/2));align-items:start}
.page-portfolio .work-films .portfolio-reel{margin:0;min-width:0;max-width:none;scroll-margin-top:110px}
.page-portfolio .work-films .portfolio-reel[hidden],.work-reels-more[hidden],.work-reels-more button[hidden]{display:none!important}
.page-portfolio .work-films .portfolio-reel h3{font-size:clamp(17px,1.5vw,22px);line-height:1.18;overflow-wrap:break-word}
.page-portfolio .work-films .reel-proof{flex-wrap:wrap;gap:4px 8px}
.page-portfolio .work-films .reel-proof strong{font-size:28px}
.page-portfolio .work-films .reel-date{font-size:10px;line-height:1.55}
.page-portfolio .work-films .reel-source,.page-portfolio .work-films .reel-client-link{display:flex;width:fit-content;min-height:36px;margin-top:5px;font-size:11px;line-height:1.5}
.page-portfolio .work-films .film .play{width:52px;height:52px;font-size:16px}
.work-reels-more{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 22px 14px;text-align:center}
.work-reels-more p{margin:0;font:400 11px/1.5 var(--font-body);color:#c5b4a0}
.work-reels-more button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:46px;padding:11px 24px;border:1px solid #fff8e966;border-radius:99px;background:transparent;color:#fff8e9;font:500 13px/1.3 var(--font-body);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.work-reels-more button span{font-size:20px;line-height:1}
.work-reels-more button:hover{background:#fff8e9;color:#29221e;border-color:#fff8e9}
.work-reels-more button:focus-visible{outline:2px solid #fff8e9;outline-offset:5px}
@media(max-width:1100px){.page-portfolio .work-films .portfolio-reel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 20px}.page-portfolio .work-films .portfolio-reel h3{font-size:20px}}
@media(max-width:700px){.page-portfolio .work-films .portfolio-reel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px;padding-inline:22px}.page-portfolio .work-films .portfolio-reel h3{font-size:17px}.page-portfolio .work-films .portfolio-reel figcaption{padding-top:13px}.page-portfolio .work-films .film .play{width:44px;height:44px;font-size:14px}.page-portfolio .work-films .reel-proof strong{font-size:25px}.page-portfolio .work-films .reel-date{font-size:9px}.page-portfolio .work-films .reel-source,.page-portfolio .work-films .reel-client-link{font-size:10px;min-height:44px}.work-reels-more{padding-top:26px}}
@media(prefers-reduced-motion:reduce){.work-reels-more button{transition:none}}

/* Keep the new portrait Vimeo films in a frame matching their 9:16 format. */
.page-portfolio .media-dialog:has(iframe[src^="https://player.vimeo.com/"]) {
  width: calc(42.75dvh + 40px);
}
.page-portfolio [data-media-content] iframe[src^="https://player.vimeo.com/"] {
  height: auto;
  aspect-ratio: 9 / 16;
  max-height: 76dvh;
}
