/* Portfolio additions. Original palette, font files and homepage footage retained. */
*, *::before, *::after { box-sizing: border-box; }
.section-label { font-size:2rem; font-weight:normal; margin:0 0 6rem; text-align:center; }
#message h2.section-label { font-size:2rem; font-weight:normal; margin:0 0 6rem; }
.wrapper-menu { border:0; padding:0; background:transparent; }
.wrapper-menu::before { content:''; position:absolute; inset:-14px; }
.drawer:not(.open) { visibility:hidden; }
.drawer.open { visibility:visible; }
body.menu-open { overflow:hidden; }
body.light .wrapper-menu:not(.open) .line-menu, body.light2 .wrapper-menu:not(.open) .line-menu, body.post-type-archive-fridays_work .wrapper-menu:not(.open) .line-menu, body.single-fridays_work .wrapper-menu:not(.open) .line-menu { background:#000; }
body.post-type-archive-fridays_work header .logo, body.single-fridays_work header .logo { filter:invert(1); }
body.post-type-archive-fridays_work, body.single-fridays_work { background:#fff; }
body.post-type-archive-fridays_work .back, body.single-fridays_work .back { color:#000; }
body.post-type-archive-fridays_work .back::before, body.single-fridays_work .back::before { border-color:#000; }
a:focus-visible, button:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.works-container { width:86%; max-width:1440px; margin:0 auto; }
#ourshop.featured-works { background:#fff; color:#000; padding:12rem 0; }
.works-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:3rem; margin-bottom:6rem; }
.work-eyebrow { font-family:fridays,Arial,sans-serif; font-size:1.3rem; font-weight:bold; letter-spacing:.14em; margin:0 0 2rem; }
.works-heading { font-family:fridays,Arial,sans-serif; font-size:clamp(5rem,7vw,10rem); font-weight:bold; line-height:1.05; letter-spacing:-.04em; margin:0; }
.works-intro { font-size:1.6rem; margin:0 0 .8rem; }
.works-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7rem 3rem; }
.works-grid-featured { grid-template-columns:repeat(3,minmax(0,1fr)); gap:3rem; }
.work-card-link { color:#000; display:block; }
.work-card-link:hover { opacity:1; }
.work-card-media { aspect-ratio:3/2; overflow:hidden; position:relative; background:#eee; }
.work-card-media img { height:100%; object-fit:cover; transition:transform .6s ease; }
.work-card-link:hover img { transform:scale(1.035); }
.work-card-placeholder { display:grid; place-items:center; height:100%; font-family:fridays,sans-serif; font-size:5rem; }
.work-card-caption { padding-top:2rem; }
.work-location { margin:0 0 .8rem; font-family:fridays,Arial,sans-serif; font-size:1.3rem; letter-spacing:.06em; color:#555; }
.work-card h3 { font-family:fridays,Arial,sans-serif; font-size:clamp(2.4rem,2.4vw,3.5rem); line-height:1.2; letter-spacing:-.02em; }
.work-role, .work-summary { margin:1.2rem 0 0; font-size:1.4rem; }
.work-summary { color:#555; }
.works-view-all { margin-top:6rem; text-align:right; }
.works-text-link { color:inherit; border-bottom:1px solid; display:inline-flex; align-items:center; gap:2rem; padding:1.5rem 0; font-family:fridays,Arial,sans-serif; font-size:2.4rem; font-weight:bold; }
.works-text-link small { font-family:"Yu Gothic",sans-serif; font-size:1.2rem; font-weight:normal; }
.works-page { background:#fff; color:#000; padding-top:13rem; }
.works-breadcrumb { display:flex; flex-wrap:wrap; gap:1.4rem; font-size:1.2rem; color:#666; }
.works-breadcrumb a { color:#000; }
.works-page-head { margin:7rem 0 8rem; }
.works-page-head > p:last-child { font-size:1.6rem; margin-top:3rem; line-height:2; }
.work-contact { background:#f2f2ef; padding:8rem 0; margin-top:12rem; }
.work-contact a { display:inline-flex; gap:.3em; align-items:center; color:#000; font-family:fridays,sans-serif; font-weight:bold; font-size:clamp(4.5rem,7vw,9rem); line-height:1.2; letter-spacing:-.04em; }
.work-contact p:last-child { font-size:1.4rem; margin:2rem 0 0; }
.work-detail-head { padding:7rem 0 6rem; }
.work-detail-head h1 { font-family:fridays,Arial,sans-serif; font-size:clamp(4rem,6.8vw,9rem); line-height:1.05; letter-spacing:-.035em; overflow-wrap:anywhere; }
.work-detail-cover { width:100%; height:min(68vw,760px); overflow:hidden; }
.work-detail-cover img { height:100%; object-fit:cover; }
.work-overview { display:grid; grid-template-columns:1fr 1.65fr; gap:8rem; padding:9rem 0; }
.work-overview-label h2 { font-family:fridays,sans-serif; font-size:2.3rem; }
.work-detail-logo { width:22rem; max-height:14rem; object-fit:contain; object-position:left center; margin-top:5rem; }
.work-body { margin-bottom:4rem; font-size:1.7rem; line-height:2; overflow-wrap:anywhere; }
.work-body p:first-child { margin-top:0; }
.work-body a { color:inherit; text-decoration:underline; }
.work-facts { margin:0; font-size:1.4rem; }
.work-facts > div { display:grid; grid-template-columns:10rem 1fr; gap:2rem; border-top:1px solid #ddd; padding:2rem 0; }
.work-facts dt { font-family:fridays,sans-serif; font-size:1.2rem; letter-spacing:.08em; }
.work-facts dd { margin:0; }
.work-external-links { display:flex; flex-wrap:wrap; gap:3rem; margin-top:2rem; }
.work-external-links a { color:inherit; border-bottom:1px solid; padding:.5rem 0; font-family:fridays,sans-serif; }
.work-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem; }
.work-gallery figure { margin:0; }
.work-gallery img { aspect-ratio:3/2; object-fit:cover; }
.work-gallery figure:last-child:nth-child(odd) { grid-column:1/-1; }
.work-gallery figure:last-child:nth-child(odd) img { aspect-ratio:16/9; }
.work-return { text-align:center; margin-top:8rem; }
@media(max-width:767px) {
 .works-container { width:90%; }
 .works-section-head { display:block; margin-bottom:4rem; }
 .works-intro { margin-top:2rem; }
 .works-grid, .works-grid-featured { grid-template-columns:1fr; gap:5rem; }
 #ourshop.featured-works { padding:8rem 0; }
 .work-card h3 { font-size:3.2rem; }
 .works-view-all { margin-top:4rem; text-align:left; }
 .works-page { padding-top:11rem; }
 .works-page-head { margin:5rem 0; }
 .work-detail-head { padding:5rem 0; }
 .work-detail-cover { height:auto; aspect-ratio:4/3; }
 .work-overview { grid-template-columns:1fr; gap:4rem; padding:6rem 0; }
 .work-detail-logo { margin-top:3rem; width:18rem; }
 .work-gallery { grid-template-columns:1fr; gap:2rem; }
 .work-gallery figure:last-child:nth-child(odd) img { aspect-ratio:3/2; }
 .work-contact { margin-top:8rem; padding:6rem 0; }
 .works-text-link { gap:1.5rem; }
 .back { display:none; }
}
@media(prefers-reduced-motion:reduce) {
 *, *::before, *::after { animation-duration:.01ms!important; transition:none!important; scroll-behavior:auto!important; }
 #whoweare p { opacity:1; transform:none; }
}
header { z-index:2001; pointer-events:none; }
header a, header button { pointer-events:auto; }
body.menu-open header .logo { filter:none; }

/* Restaurant-specific editorial recognition, without logo artwork. */
.work-recognition { display:block; padding:4rem 4.5rem; margin-top:7rem; background:#ba0b2f; color:#fff; }
.work-recognition > img { display:block; width:160px; height:auto; aspect-ratio:1; object-fit:contain; filter:none; opacity:1; }
.work-recognition h2 { font-size:clamp(2.2rem,2.5vw,3rem); line-height:1.5; color:inherit; }
.work-recognition p:not(.work-eyebrow) { font-size:1.5rem; line-height:1.9; }
.work-recognition a { color:inherit; font-size:1.3rem; text-decoration:underline; text-underline-offset:4px; }
.work-detail-kasumigaseki .work-detail-logo { width:12rem; max-height:none; }
.work-detail-kasumigaseki .work-gallery { align-items:start; }
.work-detail-kasumigaseki .work-gallery img { height:auto; aspect-ratio:auto; object-fit:contain; }
@media(max-width:767px) { .work-recognition { padding:3rem 2.4rem; margin-top:4rem; } .work-recognition > img { width:144px; } }

.work-contact a > span { font-size:.55em; line-height:1; letter-spacing:0; }

.work-photo-zoom { display:block; cursor:zoom-in; }
.work-photo-zoom:hover { opacity:1; }
.work-detail-cover .work-photo-zoom { height:100%; }
body.photo-viewer-open { overflow:hidden; }
.work-photo-dialog { border:0; padding:5rem 2rem 2rem; margin:0; width:100vw; height:100vh; height:100dvh; max-width:none; max-height:none; background:rgba(0,0,0,.94); color:#fff; }
.work-photo-dialog[open] { display:flex; align-items:center; justify-content:center; }
.work-photo-dialog::backdrop { background:rgba(0,0,0,.8); }
.work-photo-dialog > img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; }

body.home-scroll header .wrapper-menu:not(.open) .line-menu { background:#fff; }
body.home-scroll.menu-on-light header .wrapper-menu:not(.open) .line-menu { background:#000; }

.work-michelin-label { position:absolute; left:0; top:0; z-index:1; display:inline-block; background:#ba0b2f; color:#fff; padding:.65rem 1rem; margin:0; font-family:Arial,sans-serif; font-size:1.2rem; font-weight:700; line-height:1.4; letter-spacing:.04em; }
