/* Café photography for the private concept preview. */
.hero-image{background:#d5c5a1}
.hero-image img{mix-blend-mode:normal;object-position:48% 50%}
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.space-photo{position:relative;min-width:0;height:380px;overflow:hidden;background:#c8c2ae;border:1px solid #bec3b2}
.space-photo img{width:100%;height:100%;object-fit:cover}
.space-photo--mural img{object-position:50% 48%}
.space-photo--upstairs img{object-position:50% 50%}
.space-photo figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:17px;display:flex;justify-content:space-between;gap:12px;align-items:center;background:var(--paper);padding:10px 12px;font-size:11px;font-weight:700}
.space-photo figcaption span{font-size:10px;color:var(--quiet);font-weight:400}
.gallery-section{background:var(--paper);padding:94px 0 106px}
.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:38px}
.gallery-heading h2{margin:14px 0 0}
.gallery-heading p{margin:0 0 5px;color:#575348}
/* "The space": five photographs of the room and the frontage (no food or drink close-ups; those live on the menu page).
   Two rows: mural room with a customer | window table room / bench seating under the mural | round table at the window | frontage. */
.photo-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(220px,19vw,340px);gap:var(--tile-gap,14px)}
.gallery-photo{min-width:0;overflow:hidden;background:#eee9dd;border:1px solid var(--tile-line,#dbcfb5);border-radius:var(--radius,3px)}
.gallery-photo img{width:100%;height:100%;object-fit:cover;background:#ddd3bf}
.gallery-photo:nth-child(1),.gallery-photo:nth-child(2),.gallery-photo:nth-child(3){grid-column:span 2}
.gallery-photo:nth-child(1) img{object-position:50% 58%}
.gallery-photo:nth-child(2) img{object-position:50% 55%}
.gallery-photo:nth-child(3) img{object-position:50% 45%}
.gallery-photo:nth-child(4) img{object-position:50% 45%}
.gallery-photo:nth-child(5) img{object-position:50% 40%}
.gallery-photo figcaption{padding:11px 3px 2px;color:var(--quiet);font-size:11px}
@media(max-width:760px){.photo-pair{gap:16px}.space-photo{height:270px}.space-photo figcaption{display:block;left:9px;right:9px;bottom:9px;padding:7px;font-size:10px}.space-photo figcaption span{display:block;font-size:9px}.gallery-heading{display:block;margin-bottom:30px}.gallery-heading p{margin-top:18px}.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:220px;gap:12px}.gallery-photo:nth-child(2),.gallery-photo:nth-child(3){grid-column:auto}}
@media(max-width:430px){.photo-pair{grid-template-columns:1fr}.space-photo{height:260px}.photo-gallery{grid-auto-rows:180px;gap:10px}}
/* Full-width photographic opening, keeping the real cafe as the focal point. */
.hero.wrap{position:relative;isolation:isolate;display:flex;align-items:center;width:100%;max-width:none;min-height:calc(100svh - 120px);padding:80px max(40px,calc((100vw - 1320px)/2));overflow:hidden;color:var(--paper);background:#252c21}
.hero .hero-copy{width:min(680px,60%);z-index:2}
.hero .hero-figure{position:absolute;inset:0;min-height:0;margin:0;z-index:-2;display:block}
.hero .hero-image{height:100%;width:100%;aspect-ratio:auto;border-radius:0}
.hero .hero-image img{height:100%;width:100%;object-fit:cover;object-position:55% 50%;mix-blend-mode:normal}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,24,18,.87) 0%,rgba(16,24,18,.67) 38%,rgba(16,24,18,.16) 75%,rgba(16,24,18,.08) 100%)}
.hero .section-label{color:#f1dcae}.hero .hero-copy>p:not(.hero-service){color:#f1eee5;max-width:460px}.hero h1{font-size:clamp(4.2rem,7.2vw,7.8rem)}
.hero .hero-figure figcaption{display:none}.hero .button{background:var(--cream);border-color:var(--cream);color:var(--ink)}.hero .button:hover{background:#ead4ae;border-color:#ead4ae}.hero .arrow-link{color:var(--paper)}
@media(max-width:760px){.hero.wrap{min-height:calc(100svh - 110px);padding:70px 28px}.hero .hero-copy{width:100%;max-width:560px}.hero .hero-image img{object-position:60% 50%}.hero::after{background:linear-gradient(90deg,rgba(16,24,18,.82),rgba(16,24,18,.4)),linear-gradient(0deg,rgba(16,24,18,.4),transparent)}.hero h1{font-size:clamp(3.7rem,11.8vw,6rem)}.hero .hero-actions{flex-direction:row;align-items:center;gap:22px}.hero .hero-service{font-size:clamp(1.6rem,5vw,2.3rem)}}
@media(max-width:430px){.hero.wrap{min-height:calc(100svh - 140px);padding:58px 20px}.hero .hero-copy>p:not(.hero-service){font-size:14px}.hero .hero-actions{gap:20px}.hero .button{padding:0 14px;gap:18px}.hero .hero-image img{object-position:58% 50%}}
